Netty 4.2.0.RC1 released
We are happy to announce the release of the first release canidate for the upcoming netty version 4.2.0. Everyone using netty 4.1.x should be able to upgrade to 4.2.0.Alpha4 without any API breakage. The only new requirement is JDK8 or later.
We encourage users of netty 4.1.x to try out this alpha release and so provide feedback if any breakage is noticed. This will help us to be aware of any problems early in the release cycle. That said, be aware that this is only an release canidate and so shouldn't be considered for production usage yet.
Netty 4.2.0 will come with some exciting new features that you can learn more about in the announcement of netty 4.2.0.Alpha1.
The most important changes in this release are:
- Add a module for generating X.509 certificates for testing (#14263)
- Include details on why it was not possible to configure accepted issuers in the SSLException (#14438)
- Verify default named groups before using them with native SSL implementation (#14441)
- Correctly detect if KeyManager is not supported by OpenSSL version (#14442)
- Allow to set used named groups per OpenSslContext (#14443)
- Preserve ordering of default named groups during conversation (#14449)
- Specialize Adaptive's allocator Recycler based on magazine's owner (#14454)
- PcapWriteHandler no longer ignores writePcapGlobalHeader (#14484)
- IoUring: Add FileRegion support (#14487)
- AdaptiveByteBufAllocator will not use threadlocal magazine if
FastThreadLocalThread.willCleanupFastThreadLocals()
returns false (#14490) - Add range check for AdaptivePoolingAllocator.CENTRAL_QUEUE_CAPACITY and MAGAZINE_BUFFER_QUEUE_CAPACITY (#14497)
- Fix HTTP header validation bug (#14500)
- Make sure the sentinel Magazine.MAGAZINE_FREED not be replaced (#14503)
- Narrow the lock scope of
AdaptivePoolingAllocator.magazineExpandLock
(#14504) - IoUring: Fix AssertionError when closing IoUringServerChannel twice (#14506)
- IoUring: Correcly handle double closure and always cancel submitted IO ops on deregistration (#14510)
- fix: Don't make MqttPublishMessage ensure payload accessibility (#14512)
- Decrease usedMemory of magazine when the chunk get deallocated or moved to central queue (#14515)
- AdaptiveByteBufAllocator: Correctly manage used memory strategy in all cases (#14516)
- Use StandardCompressionOptions in all constructors of
HttpContentCompressor
(#14517) - Only try to use Zstd and Brotli if we can load the native libs. (#14520)
- IoUring: Refactor IoUringIoOps to better match the underlying io_uring_sqe (#14521)
- IoUring: Ensure buffers don't leak if submission fails (#14525)
- IoUring: Correct update internal state for cancelled operations (#14529)
- IoUring: Correctly handle cancelletion of close and connect (#14531)
- IoUring: Always cancel all ops on deregistration / close (#14537)
- Deprecate ChannelPipeline.add*(EventExecutorGroup....) methods (#14538)
- IoUring: IoUringHandler must not manually cancel IoUringHandle on teardown (#14539)
- Implement 'inEventLoop' for UnorderedThreadPoolEventExecutor and deprecate it (#14544)
- IoUring: Correctly handle accept submit failures (#14547)
- IoUring: Make static methods of IoUringIoOps package-private (#14551)
For all the changes please vision our issue-tracker.
Thank You
Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.
Please report an unintended omission.
- @BradleyJ-SAIC
- @bryce-anderson
- @chrisvest
- @dreamlike-ocean
- @franz1981
- @He-Pin
- @laosijikaichele
- @normanmaurer
- @slandelle
- @yawkat
Beside this we also would like to thank everyone who took the time to test 4.2.0.* so far.