Skip to content

Releases: vapor/multipart-kit

4.7.0 - Conform URL to MutipartPartConvertible

23 May 20:39
a31236f
Compare
Choose a tag to compare

What's Changed

Conform URL to MutipartPartConvertible by @gwynne in #97

This allows decoding URLs directly with FormDataDecoder.

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

19 May 18:28
3c9558f
Compare
Choose a tag to compare

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

18 Dec 15:52
12ee56f
Compare
Choose a tag to compare

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`

13 Apr 15:37
1adfd69
Compare
Choose a tag to compare
This patch was authored by @dkolas and released by @0xTim.

Fixes an issue where the Decodable object is expecting a single part, but receives a set of keys causing the FormDataDecoder to get stuck in an infinite loop and eventually crash. This changes the behaviour to throw an error in this case

Add platform specifiers

21 Mar 22:18
3a31859
Compare
Choose a tag to compare
This patch was authored and released by @gwynne.

Match Vapor's support

Depend on Swift Collections

15 May 16:50
0d55c35
Compare
Choose a tag to compare
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

27 Oct 14:17
2dd9368
Compare
Choose a tag to compare
This patch was authored and released by @0xTim.

Remove the platform requirements as they're not needed and it allows MultipartKit to be used on more platforms.

Resolves #77

Add `FormDataDecoder.decode` with `ByteBuffer` parameter

02 Oct 10:15
82f2556
Compare
Choose a tag to compare
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

19 Sep 13:12
30f5343
Compare
Choose a tag to compare
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

19 Sep 12:31
df545a1
Compare
Choose a tag to compare
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 to FormDataDecoder and FormDataEncoder
  • 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