Version 2.0～3.0
=================

Version2.0～3.0までのリリースノートです。

## :package: 2.8.0

:fontawesome-solid-calendar: `2021-04-18`

??? info "`$DATETIME`マクロを追加しました"

    * 任意のフォーマットでqueryに現在時刻からの相対時間を指定できます
    * [reqs2reqs/replace]の`queries`、[AccessPoint]の`overwrite`で利用できます
    * 詳細は各ページの`queries`、`overwrite`に対する注釈をご覧下さい

!!! note "ドキュメント内で失われていたYAMLのシンタックスカラーを復元しました"

## :package: 2.7.0

:fontawesome-solid-calendar: `2020-11-29`

!!! danger "jumeaux viewerで起動するサーバのデフォルトポート番号を5500に変更しました"

    v2.6.0以前はデフォルト8000でしたが、`jumeaux server`のデフォルトポート8000とバッティングするため

??? hint "Challengeの各フローにかかる時間をログへ出力できるようにしました"

    * HTTPリクエストの結果取得後フローについて追加しました
        * HTTPリクエストにかかる時間はリクエスト結果ログを参照してください
    * `-vv`または`-vvv`オプションを指定したときに出力されます
    * 現在時刻の差分から計算しているため、小さな時間差の場合は`0.0ms`のように表示されます
        * ボトルネック測定用途を想定しているので1/1000以上の精度は気にしていません
    
    `出力例`
    ```
    [1 / 2] --------------------------------------------------------------------------------
    [1 / 2]  1. /same-1.json
    [1 / 2] --------------------------------------------------------------------------------
    [1 / 2] One   URL:   http://localhost:8000/api/one/same-1.json?
    [1 / 2] Other URL:   http://localhost:8000/api/other/same-1.json?
    [1 / 2] One:   200 / 2.02s / 107b / application/json
    [1 / 2] Other: 200 / 2.03s / 107b / application/json
    [1 / 2] ⏰ One   res2res:   0.0ms
    [1 / 2] ⏰ Other   res2res:   0.0ms
    [1 / 2] ⏰ One   res2dict:   0.0ms
    [1 / 2] ⏰ Other   res2dict:   0.0ms
    [1 / 2] ⏰ Diff diagnosis:   0.0ms
    [1 / 2] ⏰ Judgement:   0.0ms
    [1 / 2] O (200 - 200) <2.02s - 2.03s> {HttpMethod.GET} /same-1.json
    [1 / 2] ⏰ Store criterion:   3.003ms
    [1 / 2] ⏰ Did challenge:   1.079ms
    ```

??? bug "[viewer]のサイズに関する不具合を修正しました"

    * フキダシの横幅がウィンドウサイズの横幅を超えたときスクロールできない不具合を修正
    * ウィンドウをリサイズしたとき、Diff Editorがリサイズされない不具合を修正
    * フキダシや最終更新日時のサイズ/レイアウトを調整

## :package: 2.6.0

:fontawesome-solid-calendar: `2020-11-24`

??? info "Notifierに`slack@v2`を追加しました ([notifier])"

    * 新しいIncoming Webhook URLに対応しました
    * Block KitのリッチなUI表現が可能になりました
    * 任意のスレッドに対して通知できるようになりました
    * 詳しくは[notifier]をご覧ください

??? info "Windowsのサポートを開始しました"

    * マルチプロセス非対応である点を除けばすべての機能を使用できます

??? hint "Jumeauxドキュメントの検索ロジックを変更しました"

    * ドキュメントビルダーのバージョンアップおよびindex作成方法を変更しています
    * 期待する検索結果が表示されない場合は、単語に分解してスペース区切りにしてみてください

??? note "試験的にPython3.9をサポート開始しました"

    * 動作実績があまりないため正式サポートではありません
    * 不具合などありましたら報告いただけると助かります🙇‍♀

??? note "[開発者向け]Windowsでのe2eテストをサポートしました"

    * batsで行っていたe2eテストをpytestでリプレイスしました
    * それによりWindowsでもテストが可能になりました


## :package: 2.5.0

:fontawesome-solid-calendar: `2020-09-01`

??? info "POSTリクエストでrawが指定できるようになりました ([log2reqs/json])([log2reqs/yaml])"

    * `raw`に文字列を指定することでcontent-typeを指定せずPOSTできます
    * 詳しくは各アドオンページの具体例をご覧下さい

## :package: 2.4.1

:fontawesome-solid-calendar: `2020-06-01`

??? info "Reportに`notifiers`を追加しました"

    * 実行時に指定した`notifiers`がそのままReportに追加されます
    * この変更により『retry時にnotifiersが空になり[final/notify]でエラーになる』問題が解消しました
    * 詳しくは[report]の仕様をご覧ください

## :package: 2.4.0

:fontawesome-solid-calendar: `2020-05-28`

??? info "通知の条件を設定できるようにしました ([final/notify])"

    * Notifyに追加された`when`プロパティで通知条件を指定できます
    * 詳しくは各アドオンページのConfig/Definitionsをご覧下さい

## :package: 2.3.0

:fontawesome-solid-calendar: `2020-05-21`

??? note "開発に関する仕組みのリプレイス"

    * [owcli]を使用して全体の設計を一新しました
    * Pipenvの代わりに[Poetry]を使うようにしました
    * [mypy]に対応しました

[owcli]: https://github.com/tadashi-aikawa/owcli
[Poetry]: https://python-poetry.org/
[mypy]: http://mypy-lang.org/


## :package: 2.2.0

:fontawesome-solid-calendar: `2019-09-03`

??? info "レスポンスがArrayのケースをサポートするようにしました"

    * リクエストに対するレスポンスのrootがDictではなくArrayの場合でも動作するようにしました
    * 具体例は[root_arrayのtemplate]をご覧下さい

[root_arrayのtemplate]: https://github.com/tadashi-aikawa/jumeaux/tree/master/jumeaux/sample/template/root_array


## :package: 2.1.0

:fontawesome-solid-calendar: `2019-08-05`

??? info "接続先ごとにリクエストヘッダを指定できるようにしました"

    * [AccessPoint]に`headers`を追加しました
    * `headers`に指定したリクエストヘッダがリクエスト時に追加されます
    * [Request]で同じヘッダが指定された場合はそちらが優先されます
    
!!! note "実行時にJumeauxアイコンのAAをコンソールへ表示するようにしました"


## :package: 2.0.0

:fontawesome-solid-calendar: `2019-07-24`

??? info "POSTに対応しました ([log2reqs/csv])([log2reqs/json])([log2reqs/yaml])"

    * [log2reqs/csv], [log2reqs/json], [log2reqs/yaml]で`HttpMethod`にPOSTを指定できます
    * [log2reqs/json], [log2reqs/yaml] は以下の`content-type`に対応しています
          * `x-www-form-urlencoded` -> `form`に指定
          * `application/json` -> `json`に指定
          * 詳しくは[Request]の定義をご覧ください
    * 個々のテスト結果[Trial]にも`method`,`form`,`json`が返却されます

!!! danger "既存のカラムの定義が変わりました ([log2reqs/csv])"

    * 2列目以降の定義が変わりました
    * POST対応の影響です

??? info "一部アドオンの条件式をjinja2フォーマットに対応しました ([reqs2reqs/filter])([reqs2reqs/replace])([res2res/json_sort])"

    * `when`が使えるようになりました
    * 詳しくは各アドオンページのConfig/Definitionsをご覧下さい
    * 具体的な移行例として以下のコミット差分もご覧下さい
        * https://github.com/tadashi-aikawa/jumeaux/commit/31a14e6dbb7df3617385408123f29f347cd73d2a#diff-2346c7cfe14382431d76ab97aabaceb0R25

!!! danger "一部アドオンの条件スキーマを削除しました ([reqs2reqs/filter])([reqs2reqs/replace])([res2res/json_sort])"

    * 条件式をjinja2フォーマットに変更した影響です

!!! danger "以下のアドオンを削除しました"

    * judgement/ignore_properties
        * [judgement/ignore]を使ってください
    * final/slack
        * [final/notify]を使ってください
    * store_criterion/general
        * [store_criterion/free]を使ってください

??? danger "configからdefault_encodingを削除しました ([res2res/json_sort])"

    * 以前のバージョンアップ時に仕様書からは削除済みです

[report]: ../getstarted/report.md
[viewer]: ../getstarted/quickstart.md#gui

[request]:  ../models/request.md
[trial]: ../models/trial.md
[AccessPoint]: ../models/access-point.md
[notifier]: ../models/notifier.md

[log2reqs/csv]: ../addons/log2reqs.md#csv
[log2reqs/json]: ../addons/log2reqs.md#json
[log2reqs/yaml]: ../addons/log2reqs.md#yaml
[reqs2reqs/filter]: ../addons/reqs2reqs.md#filter
[reqs2reqs/replace]: ../addons/reqs2reqs.md#replace
[res2res/json_sort]: ../addons/res2res.md#json_sort
[judgement/ignore]: ../addons/judgement.md#ignore
[store_criterion/free]: ../addons/store_criterion.md#free
[final/notify]: ../addons/final.md#notify
