Security
- This update fixes CVE-2022-3215: Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Response Splitting') . For more details please see the security advisory. Please update to 2.42.0 as rapidly as possible.
SemVer Minor
- Implement a back-pressure aware
AsyncSequencesource (#2230) - Add throwing version of
NIOAsyncSequenceProducer(#2237) - Conform
NIOTooManyBytesErrortoHashable(#2246) - Functions passed to non-
SendableChannelHandlers do not need to conform toSendable(#2249) - Implement a
NIOAsyncWriter(#2251) - Add EventLoopFuture.makeCompletedFuture(withResultOf:) (#2253)
- HTTPResponseStatus should print code and reason (#2257)
- Provide NIOAsyncTestingChannel (#2238)
- NIOConcurrency: add NIOLockedValueBox (#2265)
- rename class Lock to struct NIOLock (#2266)
SemVer Patch
- Small changes for the
NIOAsyncSequenceProducer(#2254) - Call finish once the Source is deinited (#2258)
- Add availability requirements to NIOAsyncSequenceProducer extension (#2236)
- Update HTTP parser to LLHTTP (#2263)
- Add support for newer LLHTTP status codes (#2269)
Other Changes
- Define
Arrayelement type explicitly to fix nightly CI (#2250) - Fix typo in the name of a constant (#2262, patch credit to @heldersrvio)
- Fixup docs for the
NIOAsyncWriter(#2271) - initial adoption of DocC based documentaiton (#2235)
- Update soundness.sh (#2240)
- Validate missing imports in CI (#2245)
- Widen the tolerance on testSystemCallWrapperPerformance in debug mode (#2259)
- helpful error message when compiling without test discovery on >= 5.5 (#2264)
- address additional NIOLockedValueBox review comments (#2270)