I'm happy to announce the sixth alpha release of the next major version of Netty. Again we made a huge step to beta but felt that we should release a few alpha releases before.
This release includes a bunch of changes and bug-fixes.
The list of most important bug-fixes:
- Set handler in ServerBootstrap was ignored
- AIO Transport not release all resources on shutdown
- WebSocketClientHandshaker broken
- Fix NPE in HashedWheelTimer
We also included a lot of improvements, which are listed here:
- Add support for method-chaining to ByteBuf
- ChannelInboundMessageHandlerAdapter.beginMessageReceived(..) should return boolean
- ChannelInboundMessageHandlerAdapter should check if message is supported before cast it
To give you some idea about what are the gains / needed changes, let me show you these in action.
With method-chaining you can safe some typing and use a fluent-style api:
The adjustment to let ChannelInboundMessageHandlerAdapter.beginMessageReceived(..) return a boolean need some more attention as it breaks the API. So if you have overridden the method before you will need to adjust your code.
The last change that needs to have some extra mention is . This change make it possible to have many different ChannelInboundMessageHandlerAdapter instances in your pipeline that handle different message types. Before this this was not possible as you would have seen a ClassCastException.
This release also brings you one big new feature. We now have support for metrics in Netty. This was contributed by Olaf Berger. The "design" is heavily based onbut allows to also plugin in other implementations. At the moment we ship it as default implementation but you can just plugin your implementation via SPI.
Seefor the pull-request. Documentations about this feature can be found in the .
At the moment only metrics for the HashedWheelTimer are generated, but we will add support to other pieces of Netty over the next weeks. So stay tuned..
Thanks again for all the feedback and help to make Netty 4.0.0 even more awesome. For more details please refer to our. You can grab the download via our or maven as usual.