Releases: apple/swift-nio
Releases · apple/swift-nio
SwiftNIO 2.44.0
SemVer Minor
- Add utilties for reading and writing UUIDs (#2045)
- Implement additional file operation in NonBlockingFileIO (#2244)
- Mark types explicitly non sendable (#2290)
- Replace
NIOSendable
withSendable
(#2291) - Add create directory method (#2296)
- Add support for removing channel options (#2297)
- Move 5.7 beta APIs to NIOCore (#2300)
- Make
NIOWebSocketServerUpgrader
Sendable
(#2304)
SemVer Patch
- Improve diagnostics for deprecated
Lock
. (#2285, patch credit to @ffried) - Add correct C directory function declarations for Android (#2302, patch credit to @buttaface)
- Don't unconditionally remove the HTTPServerUpgradeHandler (#2303)
Other Changes
SwiftNIO 2.42.1
SemVer Patch
- Correctly manage Content-Length on HEAD responses (#2289)
SwiftNIO 2.43.1
SwiftNIO 2.43.0
SwiftNIO 2.42.0
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
AsyncSequence
source (#2230) - Add throwing version of
NIOAsyncSequenceProducer
(#2237) - Conform
NIOTooManyBytesError
toHashable
(#2246) - Functions passed to non-
Sendable
ChannelHandler
s 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
Array
element 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)
SwiftNIO 2.39.1
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 if possible, otherwise update to 2.39.1 as rapidly as possible.
SwiftNIO 2.29.1
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 if possible, otherwise update to 2.39.1, otherwise update to 2.29.1 as rapidly as possible.
SwiftNIO 2.41.1
SemVer Patch
- Fix compilation with Swift 5.5.0 and 5.5.1 (#2234)
SwiftNIO 2.41.0
Highlights
This release fully adopts Sendable
in all libraries. In minimal concurrency checking mode (i.e. without -warn-concurrency
) this should not produce any Sendable
errors in your code as we have used @preconccurency
to give adopters time to comply to the sendability rules. Many conformances are only available in Swift 5.7 though. Note that swift-nio
itself currently does not compile successfully with strict concurrency checking turned on (with -warn-concurrency
).
Please file an issue if your code no longer compiles because of Sendable
errors.
SemVer Minor
- Fully adopt
Sendable
(#2096, #2097, #2098, #2100, #2101, #2102, #2103, #2104, #2107, #2109, #2115, #2135, #2143, #2144, #2145, #2146, #2148, #2149, #2195, #2199, #2202, #2203, #2206, #2208, #2209, #2210, #2211, #2212, #2213, #2214, #2216, #2217, #2218, #2220, #2225, #2229) - NIOCore: replace
mode_t
withCInt
(#2132, patch credit to @compnerd) - Deprecate
NIOAtomics
in favor ofAtomics
(#2204, patch credit to @stevapple) - Define AsyncTestingEventLoop (#2083)
- Add initial support for connected datagram sockets (#2084)
- Throw fatalError when scheduling on shutdown EL if SWIFTNIO_STRICT is set (#2190)
- Provide conversion APIs between TimeAmount and Swift.Duration (#2191)
SemVer Patch
- Repair the build on windows (#2127, #2128, #2129, #2130, #2131, #2133, #2138, #2139, #2140, #2141, #2150, #2151, #2152, #2155, #2156, #2157, #2158, #2163, #2164, #2165, #2166, #2167, #2168, #2170, #2171, #2172, #2173, #2174, #2177, #2179, #2180, #2181, #2182, #2183, #2184, #2188, #2189, #2194, #2215, #2219, patch credit to @compnerd)
- Implement the _failEarlyRangeCheck methods as no-ops (#2161, patch credit to @stepan-ulyanin)
- NIOCore: Implemented all three variants of _failEarlyRangeCheck methods for ByteBufferView (#2226, patch credit to @anishagg17)
- wip: Use clock_gettime for NIODeadline.now() (#2119)
- [docs] Fix docc warning about missing symbol (#2162)
- Add support for translating subnet prefixes to masks (#2169)
- Enhance and rename AsyncTestingEventLoop (#2224)
Other Changes
- Added test for BufferView custom contains function (#2227, patch credit to @anishagg17)
- Move tests of NIOCore types from NIOPosixTests to NIOCoreTests (#2093)
- Reduce the alloc limits for main (#2095)
- Reduce the alloc limits of
1000_tcpconnections
for main (#2116) - NIOPerformanceTester: Add DeadlineNowBenchmark for NIODeadline.now() (#2117)
- Reduce the alloc limits for main (#2118)
- NIOPerformanceTester: Increase operations used in lock benchmarks from 1M to 10M (#2121)
- DatagramChannelTests: Handle receiving datagrams out-of-order in ECN tests (#2123)
- readme: Fix API docs link following NIOCore refactoring (#2126)
- Fix flake AsyncTestingEventLoopTest (#2147)
- Use 5.7 nightlies (#2186)
- Use correct alloc limits for 5.7 (#2193)
SwiftNIO 2.40.0
SemVer Minor
SemVer Patch
- Improve the performance of copying CircularBuffer (#2059)
- Use unbuffered IO for stdout in NIOPerformanceTester (#2072)
- Remove invalid math in ByteBuffer slice slow path (#2075)
- http_parser uses "main" as the main branch (#2078)
- BaseSocket: Remove dead code in BaseSocket.bind(to:) (#2086)
Other Changes
- Fix doc comment formatting in
SingleStepByteToMessageDecoder.swift
(#2076, patch credit to @MaxDesiatov) - Increase runtime of performance tests to O(10 ms) to increase SNR (#2063)
- Update alloc limits for nightly. (#2071)
- update contributors (#2077)
- Script to list transitive dependencies (#2082)
- Fix warnings, that appeared after requiring Swift 5.4 (#2085)