Releases: vapor/multipart-kit
4.7.0 - Conform URL to MutipartPartConvertible
What's Changed
Conform URL to MutipartPartConvertible by @gwynne in #97
This allows decoding
URL
s directly withFormDataDecoder
.
Reviewers
Thanks to the reviewers for their help:
This patch was released by @gwynne
Full Changelog: 4.6.1...4.7.0
4.6.1 - Remove no longer needed `@preconcurrency` attribute
What's Changed
Remove no longer needed @preconcurrency
attribute by @gwynne in #96
swift-collections
has since been updated to make the attribute unnecessary.
This patch was released by @gwynne
Full Changelog: 4.6.0...4.6.1
4.6.0 - Add Sendable Conformances
What's Changed
Add Sendable Conformances by @0xTim in #90
Add Sendable annotations to remove warning when building with complete concurrency checking.
Bumps the minimum supported Swift version to 5.7
This patch was released by @0xTim
Full Changelog: 4.5.4...4.6.0
Fix recursion loop in decoding of a `SingleValueContainer`
Add platform specifiers
This patch was authored and released by @gwynne.
Match Vapor's support
Depend on Swift Collections
This patch was authored by @ahmdyasser and released by @0xTim.
Removes the vended copy of Swift Collections and adds it as a dependency.
Resolves #82
Remove platform requirements
Add `FormDataDecoder.decode` with `ByteBuffer` parameter
This patch was authored by @adam-fowler and released by @0xTim.
Add FormDataDecoder.decode
with ByteBuffer
parameter and use this function in the other decode
functions. This avoids unnecessary conversions from ByteBuffer to [UInt8] and back.
Add FormDataDecoder.decode
with ByteBuffer
parameter
Resolves #75
Support Indexed Arrays
This patch was authored and released by @siemensikkema.
Supports indexed array elements when decoding and encoding form data (fixes #67, replaces #69).
Indicating that a value belongs to an array can now be done by appending [0]
, [1]
, etc. to the name, as an alternative to the already supported []
. This allows for representing nested data inside elements in an array.
For instance, let matrix: [[Int]] = [[42,21]]
can now be represented using part names matrix[0][0]
and matrix[0][1]
. Without indexed array elements there is no way to distinguish the above from [[42],[21]]
.
Note:
FormDataEncoder
now also includes indexes for array types in its output.
Credits go to @chocoford for identifying the issue, the test cases and the initial PR!
Redesign FormDataEncoder and FormDataDecoder
This patch was authored and released by @siemensikkema.
Redesign FormDataEncoder and FormDataDecoder to better align with Codable's intended behavior.
- Support decoding top level optionals (fixes #68)
- Adds a
userInfo
property toFormDataDecoder
andFormDataEncoder
- More correct handling of "superDecoder" and "superEncoder"
- When nesting depth is exceeded we first fail when we’re actually trying to grab data from beyond the nesting limit
- Add some missing API docs