What's Changed
SemVer Minor
- Add new protocol for ChannelHandler to get buffered bytes in the channel handler by @johnnzhou in #2918
- Add WebSocketFrame.reservedBits OptionSet by @adam-fowler in #2971
- Add ByteBuffer methods getUTF8ValidatedString and readUTF8ValidatedString by @adam-fowler in #2973
- EventLoopFuture.waitSpinningRunLoop() by @weissi in #2985
SemVer Patch
- EmbeddedEventLoop/Channel: check correct thread by @weissi in #2951
- Fix
NIOAsyncSequenceProducer
watermark strategy. by @FranzBusch in #2952 - BaseSocketChannel flushNow IONotificationState changes by @rnro in #2954
- Fix leaking technique by @asdf-bro in #2963
- Use Swift 6.0 docs pipeline by @rnro in #2966
- Remove sendable checking from NIOLock and NIOLockedValueBox by @glbrntt in #2968
- Close channel during upgrade, if client closes input by @adam-fowler in #2756
- Use condition variable in NIOThreadPool by @glbrntt in #2964
- Better handle ECONNRESET on connected datagram sockets. by @Lukasa in #2979
- Only toggle production state when above/below watermark by @glbrntt in #2996
- Prevent crash in Happy Eyeballs Resolver by @Lukasa in #3003
Other Changes
- Fix broken swift format link by @ali-ahsan-ali in #2948
- Correct allocation test script by @PeterAdams-A in #2956
- Remove unused dockerfiles and allocation limit scripts by @PeterAdams-A in #2957
- Improve docs around running act for formatting by @glbrntt in #2965
- Fix SemVer major label check by @FranzBusch in #2970
- unify scheduled and main yamls by @rnro in #2972
- remove unused Swift 6 language mode workflow by @rnro in #2976
- Swift 6ify NIOHTTP1Server demo by @weissi in #2974
- Add netstat -s to nio-diagnose by @Lukasa in #2977
- tests: Remove asserts on the value of local Vsock CID by @simonjbeaumont in #2975
- Add back alloc limits script with JSON mode by @Lukasa in #2987
Full Changelog: 2.76.1...2.77.0