Skip navigation

Netty 4.2.0.Alpha5 released

We are happy to announce the release of the fifth alpha for the upcoming netty version 4.2.0. This will be the last alpha release. 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 alpha release and so shouldn't be considered for production usage.

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:

  • Only add Magazine to Set if we can ensure its removed again (#14286)
  • Ensure Chunk will not leak if init of AdaptiveByteBuf fails for whatever reason (#14288)
  • Correctly release one-off allocated chunks (#14298)
  • Ensure pooled memory is released when AdaptivePoolingAllocator is GC'ed (#14300)
  • Slices / duplicates of AdaptiveByteBuf must not escape the rootParent (#14301)
  • Fix sizeBucket bug in AdaptivePoolingAllocator (#14306)
  • Switch to AdaptiveByteBufAllocator by default (#14271)
  • AdaptiveByteBufAllocator: More strict reference counting for chunks (#14323)
  • AdaptiveByteBufAllocator: Reduce memory fragmentation (#14341)
  • Allow to reuse more then one session per host / port mapping (#14360)
  • Ensure writes will not fail when triggered after receiving UpgradeEvent.UPGRADE_SUCCESSFUL (#14363)
  • Refactor DnsNameResolver to be able to use different strategies when it comes to creating Channels for queries (#14382)
  • Make netty-codec 4.2 Maven artifact behave like 4.1 regarding its dependencies (#14386)
  • Add assert and restore reference count when releasing Chunks (#14391)
  • Ensure freeResourcesNow(...) can only be called once and so guard against undefined behavior (#14390)
  • Fix possible assert error if read is triggered before registration is complete or after deregister completes (#14395)

For more details please visit our bug tracker

Important

This release changes the default ByteBufAllocator from PooledByteBufAllocator to AdaptiveByteBufAllocator. This should reduce memory overhead in general. If you want to use PooledByteBufAllocator you should explicit enable it.

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.

Beside this we also would like to thank everyone who took the time to test 4.2.0.Alpha* so far.