Releases: vapor/routing-kit
4.9.1 - Remove unnecessary `mutating` behavior from `Parameters.getCatchall()`
What's Changed
Remove unnecessary mutating
behavior from Parameters.getCatchall()
by @gwynne in #130
Parameters.getCatchall()
has historically beenmutating
, in order to delay the removal of percent encoding from matched catchall values until it is called for the first time. This was an unnecessary optimization which just adds confusion to the behavior of the API and makes it harder to use. We now remove the percent encoding immediately whensetCatchall()
is called instead.Additional changes:
- Minimum Swift version updated to 5.8
set(_:to:)
now falls back to the original value if removing percent encoding fails, matching the existing behavior of the catchall logic. This should have no impact in real systems, as an invalid input of this kind should never reach the routing logic.(N.B.: While it is an API break for a previously non-
mutating
method to becomemutating
, the reverse is not the case, so this is a patch-level change.)
This patch was released by @gwynne
Full Changelog: 4.9.0...4.9.1
4.9.0 - Conform PathComponent to Hashable and Equatable
What's Changed
Conform PathComponent to Hashable and Equatable by @marius-se in #129
Conforms
PathComponent
to Equatable. Related to this PR
New Contributor
- @marius-se made their first contribution in #129 🎉
This patch was released by @gwynne
Full Changelog: 4.8.2...4.9.0
4.8.2 - Initial Sendable Work
What's Changed
Initial Sendable Work by @0xTim in #128
Conform
Parameters
,PathComponent
andConfigurationOption
toSendable
.
This patch was released by @0xTim
Full Changelog: 4.8.1...4.8.2
4.8.1 - Improve multiply-defined route error message
What's Changed
Improve multiply-defined route error message by @gwynne in #127
The log message that appears when a route with the same path and method has been specified more than once is now more understandable.
This patch was released by @gwynne
Full Changelog: 4.8.0...4.8.1
4.8.0 - Use a Logger instead of `print()`
Make Parameters.allNames more compatible
This patch was authored and released by @gwynne.
Apparently, the use of some Collection<String>
is broken with some versions of Swift on macOS. This fix specifies an explicit concrete type instead, which is not API-breaking.
Add missing platform specifiers
This patch was authored and released by @gwynne.
Match Vapor's support
Make set of found parameter names from a route more easily accessible
4.6.0
Pass a `Logger` to `Parameters`
This patch was authored by @BennyDeBock and released by @0xTim.
Adds SwiftLog as a dependency.
Adds a Logger
to Parameters
and a new initialiser to pass in your own Logger
. This allows errors to be logged out.