Changed
- Breaking: Normalize exception types (#428) (@Blacksmoke16)
- Breaking: The
ATHR::Interface.configuration
macro is no longer scoped to the resolver namespace (#425) (@Blacksmoke16) - Breaking: Rename
ATHR::RequestBody::Extract
toATHA::MapRequestBody
(#425) (@Blacksmoke16) - Breaking: Rename
ATHR::Time::Format
toATHA::MapTime
(#425) (@Blacksmoke16) - Update minimum
crystal
version to~> 1.14.0
(#433) (@Blacksmoke16) - Refactor auto redirection logic to be more robust (#436, #480) (@Blacksmoke16)
- Refactor
ATHR::RequestBody
to raise more accurate deserialization errors (#490) (@Blacksmoke16)
Added
- Add support for Proxies & Load Balancers (#440, #444) (@Blacksmoke16)
- Add new
trusted_host
bundle scheme property to allow setting trusted hostnames (#474) (@Blacksmoke16) - Add support for deserializing
application/x-www-form-urlencoded
bodies viaATHA::MapRequestBody
(#477) (@Blacksmoke16) - Add
ATHA::MapQueryString
to map a request's query string into a DTO type (#477) (@Blacksmoke16) - Add
ATH::Exception.from_status
helper method (#426) (@Blacksmoke16) - Add
ATHA::MapQueryParameter
for handling query parameters (#426) (@Blacksmoke16) - Add
#validation_groups
and#accept_formats
annotation properties toATHA::MapRequestBody
(#486) (@Blacksmoke16) - Add
#validation_groups
annotation property toATHA::MapQueryString
(#486) (@Blacksmoke16) - Add
ATH::Request#port
andATH::Response#redirect?
methods (#436) (@Blacksmoke16) - Add
#host
,#scheme
,#secure?
, and#from_trusted_proxy?
methods toATH::Request
(#440) (@Blacksmoke16) - Add
ATH::Request#content_type_format
to return the request format's name from itscontent-type
header (#477) (@Blacksmoke16) - Add
ATH::IPUtils
module (#440) (@Blacksmoke16) - Add
.unquote
,.split
, and.combine
methodsATH::HeaderUtils
(#440) (@Blacksmoke16) - Add request matchers for headers and query parameters (#491) (@Blacksmoke16)
Removed
- Breaking: Remove
ATHA::QueryParam
(#426) (@Blacksmoke16) - Breaking: Remove
ATHA::RequestParam
(#426) (@Blacksmoke16) - Breaking: Remove
ATH::Exception::InvalidParameter
(#426) (@Blacksmoke16) - Breaking: Remove everything within
ATH::Params
namespace (#426) (@Blacksmoke16) - Breaking: Remove
ATH::Action#params
(#426) (@Blacksmoke16) - Breaking: Remove
ATH::Listeners::ParamFetcher
(#426) (@Blacksmoke16)
Fixed
- Fix query parameters being dropped when redirecting to a trailing/non-trailing slash endpoint (#436) (@Blacksmoke16)
- Fix auto redirection with non-standard ports (#480) (@Blacksmoke16)
- Fix
multipart/form-data
not being mapped to theform
format (#441) (@Blacksmoke16) - Fix being unable to provide the path of an
ARTA::Route
annotation on a class as a positional argument (#482) (@Blacksmoke16) - Fix error when attempting to use
ATH::Controller#redirect_view
andATH::Controller#route_redirect_view
(#498) (@Blacksmoke16) - Fix error when attempting to use
ATH::Spec::APITestCase#unlink
(#498) (@Blacksmoke16)