Skip to content

Releases: vapor/multipart-kit

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

Fix regression that broke falling back to Codable

11 Jun 15:23
c9ea040
Compare
Choose a tag to compare
This patch was authored and released by @siemensikkema.

Fixes regression that broke falling back to Codable for types not conforming to MultipartPartConvertible (#66, fixes #65)

Note: this removes conformance of UUID to MultipartPartConvertible introduced in 4.2.0 because it is no longer needed.

Add support for encoding/decoding UUIDs

11 Jun 08:14
70025fc
Compare
Choose a tag to compare
This patch was authored and released by @siemensikkema.

Add support for encoding and decoding UUIDs (#64)

Support nested multipart encoding

09 Jun 11:16
8c666b7
Compare
Choose a tag to compare
This patch was authored and released by @siemensikkema.

Add encoding and decoding support for nested objects (#57)

In order to avoid overflows by malicious actors there is a maximum nesting depth associated with FormDataDecoder. It defaults to 8 but is configurable in the initializer like so: FormDataEncoder(nestingDepth: 8).

This update also deprecates MultipartError.

Fix: MultipartParser cannot decode Non-ASCII header correctly

12 May 06:57
2376b49
Compare
Choose a tag to compare
This patch was authored by @t-ae and released by @siemensikkema.

Fix the bug that MultipartParser cannot decode headers that contains non-ASCII characters correctly.

Optimize and simplify parser

26 Apr 13:40
4fcc81d
Compare
Choose a tag to compare
This patch was authored by @siemensikkema and released by @0xTim.

Use more efficient parsing of multipart bodies to improve performance to near the level of the old C parser (~8% slower). Resolves #58 and replaces #59. Thanks to @edwellbrook for the initial test case and @weissi for help on parser performance 🙏🏻

Rewrite multipart parser in Swift

14 Apr 21:01
08588dc
Compare
Choose a tag to compare
This patch was authored and released by @siemensikkema.

Rewrites parser in Swift and removes dependency on C library.

This also fixes an existing parsing bug where a nested multipart body would see its boundaries stripped of the "\r\n--" prefix. (replaces #56)

MultipartKit 4.0.0

21 Jan 14:05
73706f1
Compare
Choose a tag to compare

With this release, MultipartKit is again extracted from Vapor itself so it can be used independently.

Docs:
https://docs.vapor.codes/4.0/content/
https://api.vapor.codes/multipart-kit/master/MultipartKit/

BUG FIX: Multipart/form-data crashed if data was missing

21 Jan 11:13
445e32f
Compare
Choose a tag to compare
This patch was authored by @JaapWijnen and released by @siemensikkema.

Fix a crash in FormDataDecoderContext when the offset doesn't exist when parsing multipart form data ( vapor/vapor#2548 )

Fix date formatter availability in iOS

10 Jul 18:10
fb216c5
Compare
Choose a tag to compare

Adds iOS 10.0 to availability check for using ISO8601DateFormatter (#48).