|
4 | 4 |
|
5 | 5 | ## 3.0.0 |
6 | 6 |
|
7 | | -### Changed |
| 7 | +### openapi_first |
| 8 | + |
| 9 | +#### Changed |
8 | 10 | - Breaking: Trailing slashes are no longer ignored in dynamic paths. See [#403](https://github.com/ahx/openapi_first/issues/403). |
9 | 11 | Before this change `GET /things/24/` matched `/things/{id}:`, but it no longer does. |
10 | 12 | - Breaking: Failure type `:response_not_found` was split into two more specific types `:response_content_type_not_found` and `:response_status_not_found`. This should be mostly internal stuff. So if your custom error response used `response_not_found`, you will have to adapt. |
11 | | -- `OpenapiFirst::Test.app` now returns an instance of `OpenapiFirst::Test::App`, instead of `Rack::Builer` and delegates methods other than `#call` to the original app. This wrapper adds validated requests, responses to the rack env at `env[OpenapiFirst::Test::REQUEST]`, `env[OpenapiFirst::Test::RESPONSE]`. This makes it possible to test Rails engines. Thanks to Josh! See [#410](https://github.com/ahx/openapi_first/issues/410). |
12 | | -- `OpenapiFirst::Test` now falls back to using globally registered OADs if nothing was registered inside `OpenapiFirst::Test.setup`. |
13 | 13 | - Deprecated configuration fields `request_validation_raise_error` and `response_validation_raise_error`. Please pass the `raise_error:` option to the middlewares directly. |
14 | | -- 401er and 500er status are okay to not be described. |
15 | 14 |
|
16 | | -### Added |
17 | | -- The Coverage feature in `OpenapiFirst::Test` now supports parallel tests via a DRB client/sever. Thanks to Richard! See [#394](https://github.com/ahx/openapi_first/issues/394). |
18 | | -- Added `OpenapiFirst::Test` Configuration options which are useful when adopting OpenAPI: |
19 | | - - `ignore_unknown_response_status = true` to make API coverage no longer complain about undefined response statuses it sees during a test run. |
20 | | - - `minimum_coverage=` is no longer deprecated. This is useful when gradually adopting OpenAPI |
21 | | -- `ignored_unknown_status=` to overwrite the whole list of ignored unknown status at once |
| 15 | +#### Added |
22 | 16 | - Added support to register OADs globally via: |
23 | 17 | ```ruby |
24 | 18 | OpenapiFirst.configure { |config| config.register('openapi.yaml') } |
25 | 19 | ``` |
26 | 20 | This makes the `spec` argument in middlewares optional and removes the necessity to load the OAD in the same place where you use the middlewares and adds a cache for parsed OADs. |
27 | 21 |
|
28 | | -### Removed |
| 22 | +#### Removed |
29 | 23 | - Removed deprecated methods which produced a warning since 2.0.0. |
30 | | -- Removed internally used `Test::Coverage.current_run, .plans, .install, .uninstall`. If you are using these, use `OpenapiFirst::Test.setup` instead. |
31 | 24 | - Removed `OpenapiFirst::Configuration#clone`. Use `#child` instead. |
32 | 25 | - It's no longer supported to remove locally added hooks during runtime. |
33 | 26 |
|
34 | | -### Fixed |
| 27 | +#### Fixed |
35 | 28 | - Update dependency `openapi_parameters` to >= 0.7.0, because that version supports unpacking parameters the use `style: deepObject` with `explode: true`. |
36 | 29 | - Make `OpenapiFirst::Test.setup` more robust by adding `OpenapiFirst::Configuration#child` so it does not matter if you load our OAD before callig `OpenapiFirst::Test.setup`. |
37 | 30 |
|
| 31 | +### openapi_first/test |
| 32 | + |
| 33 | +#### Changed |
| 34 | +- `OpenapiFirst::Test.app` now returns an instance of `OpenapiFirst::Test::App`, instead of `Rack::Builer` and delegates methods other than `#call` to the original app. This wrapper adds validated requests, responses to the rack env at `env[OpenapiFirst::Test::REQUEST]`, `env[OpenapiFirst::Test::RESPONSE]`. This makes it possible to test Rails engines. Thanks to Josh! See [#410](https://github.com/ahx/openapi_first/issues/410). |
| 35 | +- `OpenapiFirst::Test` now falls back to using globally registered OADs if nothing was registered inside `OpenapiFirst::Test.setup`. |
| 36 | +- 401er and 500er status are okay to not be described. |
| 37 | + |
| 38 | +#### Added |
| 39 | +- The Coverage feature in `OpenapiFirst::Test` now supports parallel tests via a DRB client/sever. Thanks to Richard! See [#394](https://github.com/ahx/openapi_first/issues/394). |
| 40 | +- Added `OpenapiFirst::Test` Configuration options which are useful when adopting OpenAPI: |
| 41 | + - `ignore_unknown_response_status = true` to make API coverage no longer complain about undefined response statuses it sees during a test run. |
| 42 | + - `minimum_coverage=` is no longer deprecated. This is useful when gradually adopting OpenAPI |
| 43 | +- `ignored_unknown_status=` to overwrite the whole list of ignored unknown status at once |
| 44 | + |
| 45 | +#### Removed |
| 46 | +- Removed internally used `Test::Coverage.current_run, .plans, .install, .uninstall`. If you are using these, use `OpenapiFirst::Test.setup` instead. |
| 47 | + |
| 48 | +#### Fixed |
| 49 | +- Make `OpenapiFirst::Test.setup` more robust by adding `OpenapiFirst::Configuration#child` so it does not matter if you load our OAD before callig `OpenapiFirst::Test.setup`. |
| 50 | + |
38 | 51 | ## 2.11.1 |
39 | 52 |
|
40 | 53 | - OpenapiFirst can now route requests correctly for paths like `/stuffs` and `/stuffs{format}` (https://github.com/ahx/openapi_first/issues/386) |
|
0 commit comments