Skip navigation

Netty 4.0.52.Final and 4.1.16.Final released

I'm happy to announce the latest bug-fix releases for our 4.0.x and 4.1.x series after another 5 weeks of development. These releases contains bug-fixes, performance enhancements and feature so we encourage everyone to upgrade.

The most important changes for 4.0.52.Final and 4.1.16.Final are:

  • Correctly not write any body when 1xx, 204 or 304 is used as response status code (#7209)
  • Fix assertion error when closing / shutdown native channel and SO_LINGER is set (#7225)
  • Reduce performance overhead of ResourceLeakDetector (#7217)
  • fix Log4J2Logger-FQCN in PatternLayout (%F:%L)%c.%M (#7185)
  • Enable PooledByteBufAllocator to work, even without a cache (#7195)
  • Only load native transport if running architecture match the compiled (#7163)
  • HttpObjectEncoder buffer size estimation (#7161)
  • AutoClose behavior may infinite loop (#7153)

The most important changes for 4.1.16.Final only are:

  • Adapt Http2ServerDowngrader to work with clients (#7233)
  • Match Http2ClientUpgradeCodec to the new upgrade policy (#7227)
  • Fix NPE in InboundHttp2ToHttpAdapter (#7215)
  • Check on wrong CONNECT packet with password but without username (#7206)
  • Correctly update writability state of Http2StreamChannel created by Http2MultiplexCodec (#7181)
  • Fix NPE when using Http2ServerUpgradeCodec with Http2FrameCodec and Http2MultiplexCodec (#7184)
  • Not add inboundStreamHandler for outbound streams created by Http2MultiplexCodec (#7180)
  • Fix reference count issue when using Http2FrameCodec / Http2MultiplexCodec with HttpServerUpgradeHandler (#7176)
  • Fix StompSubframeDecoder.redHeaders no any notification when parsed line that contains multiple colon (#7160)
  • DefaultSocks5CommandRequest incorrectly rejects SOCKS5 commands with dstPort=0 (#7157)

For the details and all changes, please browse our issue tracker for 4.0.52.Final and 4.1.16.Final.

All changes that are in 4.0.52.Final are also included in 4.1.16.Final. All changes only have milestone 4.1.16.Final do not affect 4.0.52.Final.

As always, please let us know if you find any issues. We love feedback!

Native library naming

This releases changed the naming scheme of the native .so and .dynlib files that are includes in the native jars to also include the architecture on which these were compiled. This was done as part of (#7163) to ensure we not load the native transport libs when used on architectures that are not supported. If you use any rules to shade these libs you may need to adjust these to take also the architecture into account.

Http2ServerDowngrader renamed to Http2StreamFrameToHttpObjectCodec

Http2ServerDowngrader was renamed to Http2StreamFrameToHttpObjectCodec as it now allows to be used for client and server side. Please do the needed changes if you use this class.

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.