Netty 5.0.0.Alpha4 released
We are happy to announce the forth Alpha release of the upcoming netty 5.0.0. This release removes a lot of code-duplication and API cleanup. Besides this it also adds support for Unix Domain Sockets when using the JDK NIO implementation.
We plan to continue to release often while in Alpha* to allow people to provide feedback easily and get changes in a frequent manner.
These are the major changes since Alpha 3:
- Allow to create all SocketChannel and DatagramChannel implementations with a ProtocolFamily. The ProtocolFamily influence for example if Unix Domain Sockets should be used. This also allowed to remove the Domain*Channel implementations and make things "consistent".
- Rename ChannelOption.RECVBUF_ALLOCATOR to RECVBUFFER_ALLOCATOR.
- Support Unix Domain Socket implementations of the JDK
- Change EventLoop / IoHandler to take and IoHandle for registration to allow registering other things then Channel to an EventLoop in the future.
- Cleanup RecvBufferAllocator
- Fix disconnect() implementation on our native implementation for macOS.
- Replace synchronized with java Locks for better support of Loom.
For more details on all the changes that went into this release please check our issue tracker.
To make it easier to experiment with netty 5 while still use 4.1 at the same time, we have put Netty 5 into its own
io.netty5 package. This allows to have both version co-exist at the same time. As this a new major version we also started to introduce breaking changes where it makes sense. These changes were mostly motivation by lessons learned during the life-time of netty 4.1.x. We really hope you enjoy these changes and if not provide feedback in what we should address :)
We will soon start to change the default branch of netty to main and so be more strict about changes that will be accepted for 4.1. While this might sound like a "limitation" it will help to keep the possibility of a regression to a minimum for 4.1. Important bugfixes will of course still be ported to 4.1 as well. With all this said we don't plan to stop supporting 4.1.x any time soon. Both versions will be supported in parallel for now.
To help users to try the next major version of netty we started to write down all the "required" things to do in terms of migrating netty 4.1.x code to 5.0.0. The migration guide can be found on our website.