Skip to content

Releases: vapor/multipart-kit

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).

Fix MultipartParser off-by-one error

05 Mar 19:31
a7e0db5
Compare
Choose a tag to compare

Fixes an issue in MultipartParser causing byte counting to be off-by-one (#45, #44).

MultipartKit 4.0.0 Beta 2

09 Dec 14:34
b41a49b
Compare
Choose a tag to compare
Pre-release
  • Enabled test discovery on Linux (#42)

Multipart 3.1.1

29 Oct 20:05
f063180
Compare
Choose a tag to compare

Makes Date.useISO8601ForMultipart public so the behaviour can be changed.

Multipart 3.1.0

23 Oct 01:25
b1992ef
Compare
Choose a tag to compare
  • Date now serializes as ISO8601 to multipart data. (#38)

If you rely on the old behavior of Date serializing as Double, you can disable this adding this line to your configure.swift file.

Date.useISO8601ForMultipart = false

MultipartKit 4.0.0 Beta 1

24 Oct 18:59
Compare
Choose a tag to compare
Pre-release

This library has been renamed to MultipartKit and rewritten on top of François Colas's streaming C multipart parser. This means its now possible to stream in large, multipart-encoded file uploads using very little system memory. Note that the form-data variant Encoder and Decoder still require the entire multipart payload to be in memory.

For some usage examples, check out the tests folder: https://github.com/vapor/multipart-kit/blob/master/Tests/MultipartKitTests/MultipartKitTests.swift