# Changelog
## [2.3.1] (2021-12-17)
### Changed
* `Ewebmachine.Plug.Send.call` now threads the `conn` struct to keep the updates instead of reusing the original one.
* `Ewebmachine.Builder.Handles.add.add_handlers/2`: internal changes to satisfy dialyzer.
## v2.2
* Code janitoring wrt elixir versions: supports 1.3 - 1.6
* Validated against Cowboy 1 & 2
## v2.1.5
* Fix
* Compilation with Plulg > 1.5 (https://github.com/kbrw/ewebmachine/issues/38)
## v2.1.4
* Feature: allow to name resources modules
## v2.1.3
* Bug fixes
* make it compatible with elixir 1.4 without warnings
* fix related regression
## v2.0.9
* Bug fixes
* Plug version spec and plug update to 1.0
## v2.0.8
* Bug fixes
* `accept_helper` is used in non terminal decision, so halt conn in case of 415 (else in some case, 415 became 200)
## v2.0.7
* Bug fixes
* All headers must be lower case to respect Plug.conn convention, updated tests
* add PATCH to default known methods, currently no other support, so to use PATCH
- set Accept-Patch in `option` with accepted media types,
- set handler for these types in `content-types-accepted`
- implement `resources_exists` to convert `PATCH` method to `PUT` if the resource exists
## v2.0.6
* Bug fixes
* Debug call log size were O(n^2), make it O(n) removing `conn.private` from
the log
## v2.0.5
* Enhancements
* `{:halt,code}` works in more cases because it now `throws` the `conn` to
break the decision flow.
* Make it possible to use `Ewebmachine.Plug.Debug` not at the routing root,
with relative assets. Thanks to @yrashk.
* Make it possible to use a fuzzy `content_types_accepted` media type.
Thanks again to @yrashk.
* little changes to allow to chain ewebmachine handler definitions and run
* 2 nice plugs to handle errors after a run : `ErrorAsException` and `ErrorAsForward`
* A macro to set common plug pipeline use cases : `resources_plugs`
* Change Logging from a simple Agent to ETS
* add this CHANGELOG
* Bug fixes
* Bug in create path relative handling, use Conn.full_path to use the
`script_name` and the `path_info`
## v2.0.4
* Bug fixes
* Avoid module name collision with resource module function changing the
naming scheme.
## v2.0.3
* Bug fixes
* `Ewebmachine.Plug.Run` should run only if the `:machine_init` option has
been set.
## v2.0.2
* Enhancements
* Add `:default_plugs` option to `Ewebmachine.Builder.Resources`.
## v2.0.1
* Bug fixes
* Makes `{:halt,code}` management works correctly, add test.
## v2.0.1
* Bug fixes
* Makes `{:halt,code}` management works correctly.
[2.3.1]: https://github.com/kbrw/ewebmachine/compare/v2.3.0...v2.3.1