<?xml version="1.0" encoding="utf-8" standalone="no"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><subtitle>The latest blog posts from the Netty project web site.</subtitle>
<id>http://netty.io/</id>
<title>Netty project</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<link href="http://netty.io/news/index.atom" rel="self" type="application/atom+xml"/>
<link href="http://netty.io/" rel="alternate" type="text/html"/>
<entry>
<id>http://netty.io/news/2026/03/24/4-2-12-Final.html</id>
<title>Netty 4.2.12.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2026-03-24T00:00:00+00:00</published>
<link href="http://netty.io/news/2026/03/24/4-2-12-Final.html" rel="alternate" type="text/html"/>
<author>
<name>chrisvest</name>
</author>
<summary>
We are happy to announce the release of netty 4.2.12.Final. This is a bug-fix release that fixes a regression introduced in 4.2.11.Final.

We strongly recommend upgrading to this version to get the security fixes included in 4.2.11.Final.

The security fixes are:


CVE-2026-33871 rated high. This is an HTTP/2 CONTINUATION frame flood Denial of Service vulnerability.
CVE-2026-33870 rated high. This is an HTTP/1.1 Request Smuggling vulnerability in chunked encoding parsing.



The regerssion fix is:


Revert "Eliminate redundant bounds checks in CompositeByteBuf accessors" (#16550)



For more details please see the complete release notes: https://github.com/netty/netty/releases/tag/netty-4.2.12.Final

Thank You

Every idea and bug-report counts, and so we thought it is worth mentioning those who...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty 4.2.12.Final. This is a bug-fix release that fixes a regression introduced in 4.2.11.Final.&lt;/p&gt;

&lt;p&gt;We strongly recommend upgrading to this version to get the security fixes included in 4.2.11.Final.&lt;/p&gt;

&lt;p&gt;The security fixes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/netty/netty/security/advisories/GHSA-w9fj-cfpg-grvv"&gt;CVE-2026-33871&lt;/a&gt; rated &lt;em&gt;high&lt;/em&gt;. This is an HTTP/2 CONTINUATION frame flood Denial of Service vulnerability.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/netty/netty/security/advisories/GHSA-pwqr-wmgm-9rr8"&gt;CVE-2026-33870&lt;/a&gt; rated &lt;em&gt;high&lt;/em&gt;. This is an HTTP/1.1 Request Smuggling vulnerability in chunked encoding parsing.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;The regerssion fix is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Revert "Eliminate redundant bounds checks in CompositeByteBuf accessors" (&lt;a href="https://github.com/netty/netty/pull/16550"&gt;#16550&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details please see the complete release notes: https://github.com/netty/netty/releases/tag/netty-4.2.12.Final&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2026/03/24/4-2-11-Final.html</id>
<title>Netty 4.2.11.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2026-03-24T00:00:00+00:00</published>
<link href="http://netty.io/news/2026/03/24/4-2-11-Final.html" rel="alternate" type="text/html"/>
<author>
<name>chrisvest</name>
</author>
<summary>
We are happy to announce the release of netty 4.2.11.Final. This is a bug-fix and security-fix release.

The security fixes are:


CVE-2026-33871 rated high. This is an HTTP/2 CONTINUATION frame flood Denial of Service vulnerability.
CVE-2026-33870 rated high. This is an HTTP/1.1 Request Smuggling vulnerability in chunked encoding parsing.



The most important changes are:


Avoid allocation in HttpObjectEncoder.addEncodedLengthHex method (#16241)
Fix high-order bit aliasing in HttpUtil.validateToken (#16279)
Fix HttpObjectAggregator leaving connection stuck after 413 with AUTO_READ=false (#16401)
Fix UnsupportedOperationException in readTrailingHeaders (#16412)
Allocate less in QueryStringDecoder.addParam for typical use case (#16527)
HTTP2: Correctly account for padding when decompress (#16264)
HTTP2: Pass the correct number of arguments when logging goaway (#16392)
HTTP2: Ensure...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty 4.2.11.Final. This is a bug-fix and security-fix release.&lt;/p&gt;

&lt;p&gt;The security fixes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/netty/netty/security/advisories/GHSA-w9fj-cfpg-grvv"&gt;CVE-2026-33871&lt;/a&gt; rated &lt;em&gt;high&lt;/em&gt;. This is an HTTP/2 CONTINUATION frame flood Denial of Service vulnerability.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/netty/netty/security/advisories/GHSA-pwqr-wmgm-9rr8"&gt;CVE-2026-33870&lt;/a&gt; rated &lt;em&gt;high&lt;/em&gt;. This is an HTTP/1.1 Request Smuggling vulnerability in chunked encoding parsing.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Avoid allocation in &lt;code&gt;HttpObjectEncoder.addEncodedLengthHex&lt;/code&gt; method (&lt;a href="https://github.com/netty/netty/pull/16241"&gt;#16241&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix high-order bit aliasing in &lt;code&gt;HttpUtil.validateToken&lt;/code&gt; (&lt;a href="https://github.com/netty/netty/pull/16279"&gt;#16279&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix &lt;code&gt;HttpObjectAggregator&lt;/code&gt; leaving connection stuck after 413 with AUTO_READ=false (&lt;a href="https://github.com/netty/netty/pull/16401"&gt;#16401&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix &lt;code&gt;UnsupportedOperationException&lt;/code&gt; in readTrailingHeaders (&lt;a href="https://github.com/netty/netty/pull/16412"&gt;#16412&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Allocate less in &lt;code&gt;QueryStringDecoder.addParam&lt;/code&gt; for typical use case (&lt;a href="https://github.com/netty/netty/pull/16527"&gt;#16527&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;HTTP2: Correctly account for padding when decompress (&lt;a href="https://github.com/netty/netty/pull/16264"&gt;#16264&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;HTTP2: Pass the correct number of arguments when logging goaway (&lt;a href="https://github.com/netty/netty/pull/16392"&gt;#16392&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;HTTP2: Ensure preface is flushed in all cases  (&lt;a href="https://github.com/netty/netty/pull/16407"&gt;#16407&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Limit the number of Continuation frames per HTTP2 Headers (&lt;a href="https://github.com/netty/netty/pull/16536"&gt;#16536&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;HTTP3: Allow to support non-standard HTTP3 settings (&lt;a href="https://github.com/netty/netty/pull/16171"&gt;#16171&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fire the &lt;code&gt;QuicChannel&lt;/code&gt; datagram extension event before the channel becomes active (&lt;a href="https://github.com/netty/netty/pull/16425"&gt;#16425&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Support &lt;code&gt;QuicheQuicSslEngine&lt;/code&gt; hostname identification algorithm. (&lt;a href="https://github.com/netty/netty/pull/16426"&gt;#16426&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Expose &lt;code&gt;QuicSslContextBuilder::sni&lt;/code&gt; (&lt;a href="https://github.com/netty/netty/pull/16178"&gt;#16178&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Allow to set destination connection id when creating a client side &lt;code&gt;QuicheChannel&lt;/code&gt; (&lt;a href="https://github.com/netty/netty/pull/16286"&gt;#16286&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add javadoc to clarify responsibility of the user when generating the remote connection id (&lt;a href="https://github.com/netty/netty/pull/16293"&gt;#16293&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Allocate one large segment and slice for each &lt;code&gt;MsgHdrMemory&lt;/code&gt; (&lt;a href="https://github.com/netty/netty/pull/16234"&gt;#16234&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Improve multi-byte access performance when UNALIGNED availability is unknown (&lt;a href="https://github.com/netty/netty/pull/16207"&gt;#16207&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;fix: the precedence of &lt;code&gt;+&lt;/code&gt; is higher than &lt;code&gt;&amp;gt;&amp;gt;&lt;/code&gt; (&lt;a href="https://github.com/netty/netty/pull/16312"&gt;#16312&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;AdaptiveByteBufAllocator: make sure &lt;code&gt;byteBuf.capacity()&lt;/code&gt; not greater than &lt;code&gt;byteBuf.maxCapacity()&lt;/code&gt; (&lt;a href="https://github.com/netty/netty/pull/16309"&gt;#16309&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;AdaptivePoolingAllocator: call &lt;code&gt;unreserveMatchingBuddy(...)&lt;/code&gt; if &lt;code&gt;byteBuf&lt;/code&gt; initialization failed (&lt;a href="https://github.com/netty/netty/pull/16327"&gt;#16327&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Recycler should not use thread locals unless they get cleaned up (&lt;a href="https://github.com/netty/netty/pull/16315"&gt;#16315&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Make unpooled buffers avoid shared arenas (&lt;a href="https://github.com/netty/netty/pull/16443"&gt;#16443&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;AdaptivePoolingAllocator: remove &lt;code&gt;ensureAccessible()&lt;/code&gt; call in &lt;code&gt;capacity(int)&lt;/code&gt; method (&lt;a href="https://github.com/netty/netty/pull/16473"&gt;#16473&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Log value of &lt;code&gt;io.netty.ignoreExpensiveClean&lt;/code&gt; property during initialization (&lt;a href="https://github.com/netty/netty/pull/16479"&gt;#16479&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;AbstractByteBuf._internalNioBuffer()&lt;/code&gt; might throw exception (&lt;a href="https://github.com/netty/netty/pull/16423"&gt;#16423&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Eliminate redundant bounds checks in &lt;code&gt;CompositeByteBuf&lt;/code&gt; accessors (&lt;a href="https://github.com/netty/netty/pull/16525"&gt;#16525&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Avoid unpooled allocator in &lt;code&gt;CloseWebSocketFrame&lt;/code&gt; (&lt;a href="https://github.com/netty/netty/pull/16486"&gt;#16486&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix client_max_window_bits parameter handling in per message-deflate extension (&lt;a href="https://github.com/netty/netty/pull/16424"&gt;#16424&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;LocalChannel: Remove dependency on &lt;code&gt;SingleThreadEventExecutor&lt;/code&gt; (&lt;a href="https://github.com/netty/netty/pull/16393"&gt;#16393&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Local transport: shutdown hook should call closeNow to be consistent (&lt;a href="https://github.com/netty/netty/pull/16406"&gt;#16406&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Remove unnecessary array access in &lt;code&gt;DefaultAttributeMap.orderedCopyOnInsert&lt;/code&gt; (&lt;a href="https://github.com/netty/netty/pull/16386"&gt;#16386&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;QUIC: Correctly handle selection of alpn protos (&lt;a href="https://github.com/netty/netty/pull/16484"&gt;#16484&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;QUIC: Correctly handle malloc errors during ssl context creation (&lt;a href="https://github.com/netty/netty/pull/16483"&gt;#16483&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;QUIC: Don'l leak memory when context is detroyed (&lt;a href="https://github.com/netty/netty/pull/16481"&gt;#16481&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Quic: Fix global reference leak (&lt;a href="https://github.com/netty/netty/pull/16480"&gt;#16480&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Swap conditions to avoid native (&lt;a href="https://github.com/netty/netty/pull/16389"&gt;#16389&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Support boringssl &lt;code&gt;SSLCredential&lt;/code&gt; API (&lt;a href="https://github.com/netty/netty/pull/15919"&gt;#15919&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Decrease Long allocations and &lt;code&gt;map.put&lt;/code&gt; calls in &lt;code&gt;ReferenceCountedOpenSllEngine&lt;/code&gt; in &lt;code&gt;handshake(&lt;/code&gt;) method (&lt;a href="https://github.com/netty/netty/pull/16242"&gt;#16242&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Avoid unnecessary &lt;code&gt;SSL.getVersion()&lt;/code&gt; call and string allocation in &lt;code&gt;ReferenceCountedOpenSslEngine&lt;/code&gt; (&lt;a href="https://github.com/netty/netty/pull/16278"&gt;#16278&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Don't assume &lt;code&gt;CertificateFactory&lt;/code&gt; is thread-safe (&lt;a href="https://github.com/netty/netty/pull/16350"&gt;#16350&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Make &lt;code&gt;RefCntOpenSslContext.deallocate&lt;/code&gt; more robust (&lt;a href="https://github.com/netty/netty/pull/16253"&gt;#16253&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;OpenSSL: Don't leak &lt;code&gt;OpenSslKeyManagerProvider&lt;/code&gt; on exception (&lt;a href="https://github.com/netty/netty/pull/16337"&gt;#16337&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Kqueue: Correctly handle registrations (&lt;a href="https://github.com/netty/netty/pull/16439"&gt;#16439&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Kqueue: Correctly use &lt;code&gt;KqueueIoOps.data()&lt;/code&gt; when update change list (&lt;a href="https://github.com/netty/netty/pull/16440"&gt;#16440&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Kqueue: Fix undefined behaviour when &lt;code&gt;GetStringUTFChars&lt;/code&gt; fails and &lt;code&gt;SO_ACCEPTFILTER&lt;/code&gt; is supported (&lt;a href="https://github.com/netty/netty/pull/16441"&gt;#16441&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Kqueue: Possible overflow when using &lt;code&gt;netty_kqueue_bsdsocket_setAcceptFilter(...)&lt;/code&gt; (&lt;a href="https://github.com/netty/netty/pull/16451"&gt;#16451&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix Incorrect nanos-to-millis conversion in &lt;code&gt;epoll_wait&lt;/code&gt; EINTR retry loop (&lt;a href="https://github.com/netty/netty/pull/16245"&gt;#16245&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Epoll: Fix excessive CPU usage when Channel is only registered but no… (&lt;a href="https://github.com/netty/netty/pull/16250"&gt;#16250&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Epoll: Add null checks for safety reasons (&lt;a href="https://github.com/netty/netty/pull/16454"&gt;#16454&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Epoll: Use correct value to initialize mmsghdr.msg_namelen (&lt;a href="https://github.com/netty/netty/pull/16460"&gt;#16460&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Epoll: Fix support for &lt;code&gt;IP_RECVORIGDSTADDR&lt;/code&gt; (&lt;a href="https://github.com/netty/netty/pull/16461"&gt;#16461&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Epoll / IoUring: &lt;code&gt;setTcpMg5Sig(...)&lt;/code&gt; might overflow (&lt;a href="https://github.com/netty/netty/pull/16511"&gt;#16511&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Only complete deregistration promise once we received all completions (&lt;a href="https://github.com/netty/netty/pull/16330"&gt;#16330&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Don't use RDHUP for non stream Channel implementations (&lt;a href="https://github.com/netty/netty/pull/16345"&gt;#16345&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Fix buffer leak in DatagramChannel implementation when &lt;code&gt;recv&lt;/code&gt; operation fails (&lt;a href="https://github.com/netty/netty/pull/16359"&gt;#16359&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Reduce unnecessary &lt;code&gt;io_uring_enter&lt;/code&gt; syscalls on non-blocking path (&lt;a href="https://github.com/netty/netty/pull/16259"&gt;#16259&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Fix io_uring &lt;code&gt;writev&lt;/code&gt; infinite loop on kernels without &lt;code&gt;SENDMSG_ZC&lt;/code&gt; support (&lt;a href="https://github.com/netty/netty/pull/16438"&gt;#16438&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Correctly unregister native functions on &lt;code&gt;OnLoad&lt;/code&gt; failure (&lt;a href="https://github.com/netty/netty/pull/16487"&gt;#16487&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Correctly handle the case when malloc fails during probe (&lt;a href="https://github.com/netty/netty/pull/16501"&gt;#16501&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Correctly unload native stuff (&lt;a href="https://github.com/netty/netty/pull/16502"&gt;#16502&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Use correct errno value in exception (&lt;a href="https://github.com/netty/netty/pull/16500"&gt;#16500&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Use more correct bitmask check (&lt;a href="https://github.com/netty/netty/pull/16507"&gt;#16507&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Correctly handle return value of &lt;code&gt;sys_io_uring_register(...)&lt;/code&gt; while (&lt;a href="https://github.com/netty/netty/pull/16508"&gt;#16508&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Add &lt;code&gt;NULL&lt;/code&gt; check for &lt;code&gt;GetStringUTFChars(...)&lt;/code&gt; (&lt;a href="https://github.com/netty/netty/pull/16509"&gt;#16509&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Native transports: Fix possible fd leak when &lt;code&gt;fcntl&lt;/code&gt; fails. (&lt;a href="https://github.com/netty/netty/pull/16442"&gt;#16442&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Native transports: Fix undefined behaviour when &lt;code&gt;GetStringUTFChars&lt;/code&gt; fails while open FD (&lt;a href="https://github.com/netty/netty/pull/16450"&gt;#16450&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Replace &lt;code&gt;ClosedChannelException&lt;/code&gt; with &lt;code&gt;StacklessClosedChannelException&lt;/code&gt; (&lt;a href="https://github.com/netty/netty/pull/16506"&gt;#16506&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Enforce &lt;code&gt;io.netty.maxDirectMemory&lt;/code&gt; accounting on all Java versions (&lt;a href="https://github.com/netty/netty/pull/16489"&gt;#16489&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;JdkZlibDecoder: accumulate decompressed output before firing channelRead (&lt;a href="https://github.com/netty/netty/pull/16510"&gt;#16510&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details please see the complete release notes: https://github.com/netty/netty/releases/tag/netty-4.2.11.Final&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/isolated"&gt;@isolated&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vietj"&gt;@vietj&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ZeroErrors"&gt;@ZeroErrors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/m1ngyuan"&gt;@m1ngyuan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/doom369"&gt;@doom369&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/cuiweixie"&gt;@cuiweixie&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/furkanvarol"&gt;@furkanvarol&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/adwsingh"&gt;@adwsingh&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/franz1981"&gt;@franz1981&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jmcrawford45"&gt;@jmcrawford45&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/laosijikaichele"&gt;@laosijikaichele&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/Munoon"&gt;@Munoon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/dreamlike-ocean"&gt;@dreamlike-ocean&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/Songdoeon"&gt;@Songdoeon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/j-bahr"&gt;@j-bahr&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/nikitanagar08"&gt;@nikitanagar08&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2026/03/24/4-1-132-Final.html</id>
<title>Netty 4.1.132.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2026-03-24T00:00:00+00:00</published>
<link href="http://netty.io/news/2026/03/24/4-1-132-Final.html" rel="alternate" type="text/html"/>
<author>
<name>chrisvest</name>
</author>
<summary>
We are happy to announce the release of netty 4.1.132.Final. This is a bug-fix and security-fix release.

The security fixes are:


CVE-2026-33871 rated high. This is an HTTP/2 CONTINUATION frame flood Denial of Service vulnerability.
CVE-2026-33870 rated high. This is an HTTP/1.1 Request Smuggling vulnerability in chunked encoding parsing.



The most important changes are:


Fix Incorrect nanos-to-millis conversion in epoll_wait EINTR retry loop (#16248)
Make RefCntOpenSslContext.deallocate more robust (#16257)
HTTP2: Correctly account for padding when decompress (#16265)
Fix high-order bit aliasing in HttpUtil.validateToken (#16303)
fix: the precedence of + is higher than &gt;&gt; (#16316)
AdaptiveByteBufAllocator: make sure byteBuf.capacity() not greater than byteBuf.maxCapacity() (#16320)
AdaptivePoolingAllocator: call unreserveMatchingBuddy(...) if byteBuf initialization failed (#16331)
Don't...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty 4.1.132.Final. This is a bug-fix and security-fix release.&lt;/p&gt;

&lt;p&gt;The security fixes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/netty/netty/security/advisories/GHSA-w9fj-cfpg-grvv"&gt;CVE-2026-33871&lt;/a&gt; rated &lt;em&gt;high&lt;/em&gt;. This is an HTTP/2 CONTINUATION frame flood Denial of Service vulnerability.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/netty/netty/security/advisories/GHSA-pwqr-wmgm-9rr8"&gt;CVE-2026-33870&lt;/a&gt; rated &lt;em&gt;high&lt;/em&gt;. This is an HTTP/1.1 Request Smuggling vulnerability in chunked encoding parsing.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix Incorrect nanos-to-millis conversion in epoll_wait EINTR retry loop (&lt;a href="https://github.com/netty/netty/pull/16248"&gt;#16248&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Make RefCntOpenSslContext.deallocate more robust (&lt;a href="https://github.com/netty/netty/pull/16257"&gt;#16257&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;HTTP2: Correctly account for padding when decompress (&lt;a href="https://github.com/netty/netty/pull/16265"&gt;#16265&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix high-order bit aliasing in HttpUtil.validateToken (&lt;a href="https://github.com/netty/netty/pull/16303"&gt;#16303&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;fix: the precedence of &lt;code&gt;+&lt;/code&gt; is higher than &lt;code&gt;&amp;gt;&amp;gt;&lt;/code&gt; (&lt;a href="https://github.com/netty/netty/pull/16316"&gt;#16316&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;AdaptiveByteBufAllocator: make sure &lt;code&gt;byteBuf.capacity()&lt;/code&gt; not greater than &lt;code&gt;byteBuf.maxCapacity()&lt;/code&gt; (&lt;a href="https://github.com/netty/netty/pull/16320"&gt;#16320&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;AdaptivePoolingAllocator: call &lt;code&gt;unreserveMatchingBuddy(...)&lt;/code&gt; if &lt;code&gt;byteBuf&lt;/code&gt; initialization failed (&lt;a href="https://github.com/netty/netty/pull/16331"&gt;#16331&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Don't assume CertificateFactory is thread-safe (&lt;a href="https://github.com/netty/netty/pull/16364"&gt;#16364&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix HttpObjectAggregator leaving connection stuck after 413 with AUTO_READ=false (&lt;a href="https://github.com/netty/netty/pull/16280"&gt;#16280&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;HTTP2: Ensure preface is flushed in all cases  (&lt;a href="https://github.com/netty/netty/pull/16432"&gt;#16432&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix UnsupportedOperationException in readTrailingHeaders (&lt;a href="https://github.com/netty/netty/pull/16437"&gt;#16437&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix client_max_window_bits parameter handling in permessage-deflate extension (&lt;a href="https://github.com/netty/netty/pull/16435"&gt;#16435&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Native transports: Fix possible fd leak when fcntl fails. (&lt;a href="https://github.com/netty/netty/pull/16446"&gt;#16446&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Kqueue: Fix undefined behaviour when GetStringUTFChars fails and SO_ACCEPTFILTER is supported (&lt;a href="https://github.com/netty/netty/pull/16448"&gt;#16448&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Kqueue: Possible overflow when using netty_kqueue_bsdsocket_setAcceptFilter(...) (&lt;a href="https://github.com/netty/netty/pull/16459"&gt;#16459&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Native transports: Fix undefined behaviour when GetStringUTFChars fails while open FD (&lt;a href="https://github.com/netty/netty/pull/16456"&gt;#16456&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Epoll: Add null checks for safety reasons (&lt;a href="https://github.com/netty/netty/pull/16463"&gt;#16463&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Epoll: Use correct value to initialize mmsghdr.msg_namelen (&lt;a href="https://github.com/netty/netty/pull/16467"&gt;#16467&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Epoll: Fix support for IP_RECVORIGDSTADDR (&lt;a href="https://github.com/netty/netty/pull/16468"&gt;#16468&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;AdaptivePoolingAllocator: remove &lt;code&gt;ensureAccessible()&lt;/code&gt; call in &lt;code&gt;capacity(int)&lt;/code&gt; method (&lt;a href="https://github.com/netty/netty/pull/16475"&gt;#16475&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Epoll: setTcpMg5Sig(...) might overflow (&lt;a href="https://github.com/netty/netty/pull/16520"&gt;#16520&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;JdkZlibDecoder: accumulate decompressed output before firing channelRead (&lt;a href="https://github.com/netty/netty/pull/16532"&gt;#16532&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Limit the number of Continuation frames per HTTP2 Headers (&lt;a href="https://github.com/netty/netty/pull/13969"&gt;#13969&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Stricter HTTP/1.1 chunk extension parsing (&lt;a href="https://github.com/netty/netty/pull/16537"&gt;#16537&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details please see the complete release notes: https://github.com/netty/netty/releases/tag/netty-4.1.132.Final&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/isolated"&gt;@isolated&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/samlandfried"&gt;@samlandfried&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2026/02/17/quic-0-0-75-Final.html</id>
<title>Netty/Incubator/Codec/Quic 0.0.75.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2026-02-17T00:00:00+00:00</published>
<link href="http://netty.io/news/2026/02/17/quic-0-0-75-Final.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty-incubator-codec-quic 0.0.75.Final. This is a bug-fix release but also add some new advanced features.

The most important changes are:


Upgrade quiche version to get fix for bug that can cause packet drops (#831)
Include correct license informations for BoringSSL (#824)
Update jni-util version to clarify licensing (#825)
Implement Quic stream reset frame application protocol error code propagation (#842)
Add support for quiche_config_discover_pmtu (#839)
Fix codec-native-quic Bundle-SymbolicNames (#834)
Add missing return which could lead to double notification of a promise and so unexpected exception (#845)
Fix incorrect assert when handling id to channel mappings (#844)
Correctly return all TransportParameters (#843)
Allow to set destination...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty-incubator-codec-quic 0.0.75.Final. This is a bug-fix release but also add some new advanced features.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Upgrade quiche version to get fix for bug that can cause packet drops (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/831"&gt;#831&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Include correct license informations for BoringSSL (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/824"&gt;#824&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Update jni-util version to clarify licensing (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/825"&gt;#825&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Implement Quic stream reset frame application protocol error code propagation (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/842"&gt;#842&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add support for quiche_config_discover_pmtu (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/839"&gt;#839&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix codec-native-quic Bundle-SymbolicNames (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/834"&gt;#834&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add missing return which could lead to double notification of a promise and so unexpected exception (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/845"&gt;#845&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix incorrect assert when handling id to channel mappings (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/844"&gt;#844&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Correctly return all TransportParameters (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/843"&gt;#843&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Allow to set destination connection id when creating a client side QuicChannel (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/833"&gt;#833&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details related to this release see our &lt;a href="https://github.com/netty/netty-incubator-codec-quic/issues?q=is%3Aclosed+milestone%3A0.0.75.Final"&gt;bug-tracker&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For more details about this codec in general please read our &lt;a href="https://netty.io/news/2020/12/09/quic-0-0-1-Final.html"&gt;initial announcement&lt;/a&gt;.&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/Micro66"&gt;@Micro66&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/rovarga"&gt;@rovarga&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2026/02/06/4-1-131-Final.html</id>
<title>Netty 4.1.131.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2026-02-06T00:00:00+00:00</published>
<link href="http://netty.io/news/2026/02/06/4-1-131-Final.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty 4.1.131.Final. This is a bug-fix release.

The most important changes are:


NioDatagramChannel.block(...) does not early return on failure (#16044)
Support for AWS Libcrypto (AWS-LC) netty-tcnative build (#16081)
codec-dns: Decompress MX RDATA exchange domain names during DNS record decoding (#16127)
Buddy allocation for large buffers in adaptive allocator (#16132)
SslHandler: Only resume on EventLoop if EventLoop is not shutting down already (#16149)
Wrap ECONNREFUSED in PortUnreachableException for UDP (#16150)
Bump com.ning:compress-lzf (4.1) (#16159)
Fix adaptive allocator bug from not noticing failed allocation (#16202)
Avoid loosing original read exception (#16204)
Backport multiple adaptive allocator changes (#16219)
For more details please visit our bug tracker



Thank You

Every...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty 4.1.131.Final. This is a bug-fix release.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;NioDatagramChannel.block(...) does not early return on failure (&lt;a href="https://github.com/netty/netty/pull/16044"&gt;#16044&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Support for AWS Libcrypto (AWS-LC) netty-tcnative build (&lt;a href="https://github.com/netty/netty/pull/16081"&gt;#16081&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;codec-dns: Decompress MX RDATA exchange domain names during DNS record decoding (&lt;a href="https://github.com/netty/netty/pull/16127"&gt;#16127&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Buddy allocation for large buffers in adaptive allocator (&lt;a href="https://github.com/netty/netty/pull/16132"&gt;#16132&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;SslHandler: Only resume on EventLoop if EventLoop is not shutting down already (&lt;a href="https://github.com/netty/netty/pull/16149"&gt;#16149&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Wrap ECONNREFUSED in PortUnreachableException for UDP (&lt;a href="https://github.com/netty/netty/pull/16150"&gt;#16150&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Bump com.ning:compress-lzf (4.1) (&lt;a href="https://github.com/netty/netty/pull/16159"&gt;#16159&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix adaptive allocator bug from not noticing failed allocation (&lt;a href="https://github.com/netty/netty/pull/16202"&gt;#16202&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Avoid loosing original read exception (&lt;a href="https://github.com/netty/netty/pull/16204"&gt;#16204&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Backport multiple adaptive allocator changes (&lt;a href="https://github.com/netty/netty/pull/16219"&gt;#16219&lt;/a&gt;)
For more details please visit our &lt;a href="https://github.com/netty/netty/issues?q=milestone%3A4.1.131.Final+is%3Aclosed"&gt;bug tracker&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/franz1981"&gt;@franz1981&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/geedo0"&gt;@geedo0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/idelpivnitskiy"&gt;@idelpivnitskiy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/yawkat"&gt;@yawkat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2026/02/05/4-2-10.html</id>
<title>Netty 4.2.10.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2026-02-05T00:00:00+00:00</published>
<link href="http://netty.io/news/2026/02/05/4-2-10.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty 4.2.10.Final, which is our first release this year. This is a bug-fix release which also fixes a regression introduced by 4.2.9.Final so please consider upgrading as soon as possible.

The most important changes are:


Reimplement IORING_OP_SENDMSG_ZC (#16130)
codec-dns: Decompress MX RDATA exchange domain names during DNS record decoding (#16040)
Buddy allocation for large buffers in adaptive allocator (#16053)
Improve adaptive allocator thread local performance (#15741)
Avoid UnsupportedOperationException in CompositeeByteBuf when noUnsafe is true (#16097)
NioDatagramChannel.block(...) does not early return on failure (#16044)
Set default maxFieldSectionSize to 16MB (#16088)
io_uring: submit send over write for sockets (#16095)
Limit QUIC stream and field...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty 4.2.10.Final, which is our first release this year. This is a bug-fix release which also fixes a regression introduced by 4.2.9.Final so please consider upgrading as soon as possible.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reimplement IORING_OP_SENDMSG_ZC (&lt;a href="https://github.com/netty/netty/pull/16130"&gt;#16130&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;codec-dns: Decompress MX RDATA exchange domain names during DNS record decoding (&lt;a href="https://github.com/netty/netty/pull/16040"&gt;#16040&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Buddy allocation for large buffers in adaptive allocator (&lt;a href="https://github.com/netty/netty/pull/16053"&gt;#16053&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Improve adaptive allocator thread local performance (&lt;a href="https://github.com/netty/netty/pull/15741"&gt;#15741&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Avoid UnsupportedOperationException in CompositeeByteBuf when noUnsafe is true (&lt;a href="https://github.com/netty/netty/pull/16097"&gt;#16097&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;NioDatagramChannel.block(...) does not early return on failure (&lt;a href="https://github.com/netty/netty/pull/16044"&gt;#16044&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Set default maxFieldSectionSize to 16MB (&lt;a href="https://github.com/netty/netty/pull/16088"&gt;#16088&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;io_uring: submit send over write for sockets (&lt;a href="https://github.com/netty/netty/pull/16095"&gt;#16095&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Limit QUIC stream and field section sizes to protocol max (&lt;a href="https://github.com/netty/netty/pull/16117"&gt;#16117&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Avoid non-portable malloc-of-zero behavior (&lt;a href="https://github.com/netty/netty/pull/16055"&gt;#16055&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Make AdaptiveByteBuf.setBytes faster (&lt;a href="https://github.com/netty/netty/pull/15736"&gt;#15736&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;allocation free AdaptiveByteBuf::setBytes(byte[]) (&lt;a href="https://github.com/netty/netty/pull/16058"&gt;#16058&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;fix: prevent DGC init failure if IpMulticastAll cannot be set (&lt;a href="https://github.com/netty/netty/pull/16104"&gt;#16104&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Improve chunk picking for the large-size buddy allocator (&lt;a href="https://github.com/netty/netty/pull/16179"&gt;#16179&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix adaptive allocator bug from not noticing failed allocation (&lt;a href="https://github.com/netty/netty/pull/16200"&gt;#16200&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Avoid loosing original read exception (&lt;a href="https://github.com/netty/netty/pull/16199"&gt;#16199&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix possible ClassCastException when using ReadOnlyAbstractByteBuf (&lt;a href="https://github.com/netty/netty/pull/16188"&gt;#16188&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Update to Quiche 0.24.8 (&lt;a href="https://github.com/netty/netty/pull/16182"&gt;#16182&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix incorrect assert when handling id to channel mappings (&lt;a href="https://github.com/netty/netty/pull/16163"&gt;#16163&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Correctly return all TransportParameters (&lt;a href="https://github.com/netty/netty/pull/16162"&gt;#16162&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Reduce allocations on DefaultHeaders::containsValue (&lt;a href="https://github.com/netty/netty/pull/15843"&gt;#15843&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;SslHandler: Only resume on EventLoop if EventLoop is not shutting down already (&lt;a href="https://github.com/netty/netty/pull/16144"&gt;#16144&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Wrap ECONNREFUSED in PortUnreachableException for UDP (&lt;a href="https://github.com/netty/netty/pull/16131"&gt;#16131&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Ensure ChannelPromise that are used by ChannelOutboundHandler will always complete in the assumed thread (&lt;a href="https://github.com/netty/netty/pull/16052"&gt;#16052&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details please visit our &lt;a href="https://github.com/netty/netty/issues?q=milestone%3A4.2.10.Final+is%3Aclosed"&gt;bug tracker&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/andyhedges"&gt;@andyhedges&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/awmcc90"&gt;@awmcc90&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/bryce-anderson"&gt;@bryce-anderson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/derklaro"&gt;@derklaro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/doom369"&gt;@doom369&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/dreamlike-ocean"&gt;@dreamlike-ocean&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/franz1981"&gt;@franz1981&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/GaoSSR"&gt;@GaoSSR&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/hyperxpro"&gt;@hyperxpro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/idelpivnitskiy"&gt;@idelpivnitskiy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/laosijikaichele"&gt;@laosijikaichele&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mauricelam"&gt;@mauricelam&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/sanjomo"&gt;@sanjomo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/tomdcc"&gt;@tomdcc&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ultraviolet-jordan"&gt;@ultraviolet-jordan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/violetagg"&gt;@violetagg&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/yawkat"&gt;@yawkat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2025/12/15/4-2-9.html</id>
<title>Netty 4.2.9.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2025-12-15T00:00:00+00:00</published>
<link href="http://netty.io/news/2025/12/15/4-2-9.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty 4.2.9.Final. This is a bug-fix release which also fixes a regression introduced by 4.2.8.Final so please consider upgrading as soon as possible.

The most important changes are:


Fix HTTP startline validation (#16022)
Fix MpscIntQueue bug (#16023) (#16023)



For more details please visit our bug 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


@chrisvest
@faenil
@franz1981
@normanmaurer
@yawkat...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty 4.2.9.Final. This is a bug-fix release which also fixes a regression introduced by 4.2.8.Final so please consider upgrading as soon as possible.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix HTTP startline validation (&lt;a href="https://github.com/netty/netty/pull/16022"&gt;#16022&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix MpscIntQueue bug (#16023) (&lt;a href="https://github.com/netty/netty/pull/16023"&gt;#16023&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details please visit our &lt;a href="https://github.com/netty/netty/issues?q=milestone%3A4.2.9.Final+is%3Aclosed"&gt;bug tracker&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/faenil"&gt;@faenil&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/franz1981"&gt;@franz1981&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/yawkat"&gt;@yawkat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2025/12/15/4-1-130-Final.html</id>
<title>Netty 4.1.130.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2025-12-15T00:00:00+00:00</published>
<link href="http://netty.io/news/2025/12/15/4-1-130-Final.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty 4.1.130.Final. This is a bug-fix release which also fixes a regression introduced by 4.1.129.Final so please consider upgrading as soon as possible.

The most important changes are:


Fix HTTP startline validation (#16024)
Fix MpscIntQueue bug (#16027)



For more details please visit our bug 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.


@chrisvest
@faenil
@franz1981
@normanmaurer
@yawkat...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty 4.1.130.Final. This is a bug-fix release which also fixes a regression introduced by 4.1.129.Final so please consider upgrading as soon as possible.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix HTTP startline validation (&lt;a href="https://github.com/netty/netty/pull/16024"&gt;#16024&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix MpscIntQueue bug (&lt;a href="https://github.com/netty/netty/pull/16027"&gt;#16027&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details please visit our &lt;a href="https://github.com/netty/netty/issues?q=milestone%3A4.1.130.Final+is%3Aclosed"&gt;bug tracker&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/faenil"&gt;@faenil&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/franz1981"&gt;@franz1981&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/yawkat"&gt;@yawkat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2025/12/11/4-2-8.html</id>
<title>Netty 4.2.8.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2025-12-11T00:00:00+00:00</published>
<link href="http://netty.io/news/2025/12/11/4-2-8.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty 4.2.8.Final. This is a bug-fix release but also contains CVE-2025-67735

The most important changes are:


Correct codec-native-quic Fragment-Host (#16015)
Fix - Http3FrameCodec decode fail during unknown settings (#15998)
Discard the following HttpContent for preflight request (#15941)
Prevent ManualEventLoop to block on a racy task submission (#15937)
Fix race condition in NonStickyEventExecutorGroup causing incorrect inEventLoop() result (#15933)
Fix 15908 - Ignore unknown Http3Setting Identifier in Http3SettingsFrame (#15909)
Close Channel and fail bootstrap when setting a ChannelOption causes an error (#15896)
Ensure Arena.ofShared() is usable before assuming that we can use Arenas on JDK25 (#15877)
io_uring: Fix Unix domain socket support for abstract...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty 4.2.8.Final. This is a bug-fix release but also contains &lt;a href="https://github.com/netty/netty/security/advisories/GHSA-84h7-rjj3-6jx4"&gt;CVE-2025-67735&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Correct codec-native-quic Fragment-Host (&lt;a href="https://github.com/netty/netty/pull/16015"&gt;#16015&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix - Http3FrameCodec decode fail during unknown settings (&lt;a href="https://github.com/netty/netty/pull/15998"&gt;#15998&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Discard the following HttpContent for preflight request (&lt;a href="https://github.com/netty/netty/pull/15941"&gt;#15941&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Prevent ManualEventLoop to block on a racy task submission (&lt;a href="https://github.com/netty/netty/pull/15937"&gt;#15937&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix race condition in NonStickyEventExecutorGroup causing incorrect inEventLoop() result (&lt;a href="https://github.com/netty/netty/pull/15933"&gt;#15933&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix 15908 - Ignore unknown Http3Setting Identifier in Http3SettingsFrame (&lt;a href="https://github.com/netty/netty/pull/15909"&gt;#15909&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Close Channel and fail bootstrap when setting a ChannelOption causes an error (&lt;a href="https://github.com/netty/netty/pull/15896"&gt;#15896&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Ensure Arena.ofShared() is usable before assuming that we can use Arenas on JDK25 (&lt;a href="https://github.com/netty/netty/pull/15877"&gt;#15877&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;io_uring: Fix Unix domain socket support for abstract namespace sockets (&lt;a href="https://github.com/netty/netty/pull/15876"&gt;#15876&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix Zstd compression for large data (&lt;a href="https://github.com/netty/netty/pull/15861"&gt;#15861&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix ZstdEncoder not producing data when source is smaller than block size (&lt;a href="https://github.com/netty/netty/pull/15859"&gt;#15859&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Make big endian ASCII hashcode consistent with little endian (&lt;a href="https://github.com/netty/netty/pull/15847"&gt;#15847&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Implement Quic stream reset frame application protocol error code propagation (&lt;a href="https://github.com/netty/netty/pull/15845"&gt;#15845&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Backward Compatible - Http3SettingsFrame abstraction (&lt;a href="https://github.com/netty/netty/pull/15835"&gt;#15835&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix reentrancy bug in ByteToMessageDecoder (&lt;a href="https://github.com/netty/netty/pull/15833"&gt;#15833&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add close tracing to retain calls (&lt;a href="https://github.com/netty/netty/pull/15832"&gt;#15832&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Enable X25519MLKEM768 by default for BoringSSL/AWS-LC (&lt;a href="https://github.com/netty/netty/pull/15830"&gt;#15830&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add 32k and 64k size classes to adaptive allocator (&lt;a href="https://github.com/netty/netty/pull/15799"&gt;#15799&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Handle invalid content length in continue request (&lt;a href="https://github.com/netty/netty/pull/15794"&gt;#15794&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Correct HTTP/2 padding length check (&lt;a href="https://github.com/netty/netty/pull/15793"&gt;#15793&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Make org.bouncycastle.jce.provider.BouncyCastleProvider optional by deferring initialization (&lt;a href="https://github.com/netty/netty/pull/15788"&gt;#15788&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Expose the list of supported io_uring features (&lt;a href="https://github.com/netty/netty/pull/15785"&gt;#15785&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Use IORING_SETUP_CQE_MIXED by default if possible (&lt;a href="https://github.com/netty/netty/pull/15780"&gt;#15780&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add :protocol pseudo-header support for Extended CONNECT (RFC 9220) (&lt;a href="https://github.com/netty/netty/pull/15771"&gt;#15771&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Prevent allocation loops when LeakPresenceDetector ResourceScope is closed (&lt;a href="https://github.com/netty/netty/pull/15768"&gt;#15768&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix AutoScalingEventExecutorChooser scale down when executor is not started (&lt;a href="https://github.com/netty/netty/pull/15766"&gt;#15766&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add support for IP_MULTICAST_ALL to EpollDatagramChannel and IOUringDatagramChannel (netty 4.2) (&lt;a href="https://github.com/netty/netty/pull/15755"&gt;#15755&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details please visit our &lt;a href="https://github.com/netty/netty/issues?q=milestone%3A4.2.8.Final+is%3Aclosed"&gt;bug tracker&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/adamdickmeiss"&gt;@adamdickmeiss&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/CLFutureX"&gt;@CLFutureX&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/doom369"&gt;@doom369&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/faenil"&gt;@faenil&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/franz1981"&gt;@franz1981&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/danfaer"&gt;@danfaer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/He-Pin"&gt;@He-Pin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/huangxiaopingRD"&gt;@huangxiaopingRD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/idelpivnitskiy"&gt;@idelpivnitskiy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/j-bahr"&gt;@j-bahr&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/leonchen83"&gt;@leonchen83&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/leonard84"&gt;@leonard84&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/lycoris106"&gt;@lycoris106&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mahoestar"&gt;@mahoestar&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/m1ngyuan"&gt;@m1ngyuan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/msqr"&gt;@msqr&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/qnnn"&gt;@qnnn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/rovarga"&gt;@rovarga&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/sanjomo"&gt;@sanjomo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/sephiroth-j"&gt;@sephiroth-j&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/skyguard1"&gt;@skyguard1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/violetagg"&gt;@violetagg&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/yawkat"&gt;@yawkat&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/yuzawa-san"&gt;@yuzawa-san&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/zakkak"&gt;@zakkak&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ZeroErrors"&gt;@ZeroErrors&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2025/12/11/4-1-129-Final.html</id>
<title>Netty 4.1.129.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2025-12-11T00:00:00+00:00</published>
<link href="http://netty.io/news/2025/12/11/4-1-129-Final.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty 4.1.129.Final. This is a bug-fix release but also contains CVE-2025-67735.

The most important changes are:


RLF injection vulnerability in io.netty.handler.codec.http.HttpRequestEncoder (CVE-2025-67735)
Update lz4-java version to 1.10.1 (#15981)
Close Channel and fail bootstrap when setting a ChannelOption causes an error (#15970)
Discard the following HttpContent for preflight request (#15962)
Fix race condition in NonStickyEventExecutorGroup causing incorrect inEventLoop() results (#15927)
Fix Zstd compression for large data (#15900)
Fix ZstdEncoder not producing data when source is smaller than block (#15894)
Make big endian ASCII hashcode consistent with little endian (#15846)
Fix reentrancy bug in ByteToMessageDecoder (#15834)
Add 32k and 64k size classes to adaptive allocator...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty 4.1.129.Final. This is a bug-fix release but also contains &lt;a href="https://github.com/netty/netty/security/advisories/GHSA-84h7-rjj3-6jx4"&gt;CVE-2025-67735&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;RLF injection vulnerability in io.netty.handler.codec.http.HttpRequestEncoder (&lt;a href="https://github.com/netty/netty/security/advisories/GHSA-84h7-rjj3-6jx4"&gt;CVE-2025-67735&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Update lz4-java version to 1.10.1 (&lt;a href="https://github.com/netty/netty/pull/15981"&gt;#15981&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Close Channel and fail bootstrap when setting a ChannelOption causes an error (&lt;a href="https://github.com/netty/netty/pull/15970"&gt;#15970&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Discard the following HttpContent for preflight request (&lt;a href="https://github.com/netty/netty/pull/15962"&gt;#15962&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix race condition in NonStickyEventExecutorGroup causing incorrect inEventLoop() results (&lt;a href="https://github.com/netty/netty/pull/15927"&gt;#15927&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix Zstd compression for large data (&lt;a href="https://github.com/netty/netty/pull/15900"&gt;#15900&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix ZstdEncoder not producing data when source is smaller than block (&lt;a href="https://github.com/netty/netty/pull/15894"&gt;#15894&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Make big endian ASCII hashcode consistent with little endian (&lt;a href="https://github.com/netty/netty/pull/15846"&gt;#15846&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix reentrancy bug in ByteToMessageDecoder (&lt;a href="https://github.com/netty/netty/pull/15834"&gt;#15834&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add 32k and 64k size classes to adaptive allocator (&lt;a href="https://github.com/netty/netty/pull/15800"&gt;#15800&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Re-enable reflective field accesses in native images (&lt;a href="https://github.com/netty/netty/pull/15774"&gt;#15774&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Correct HTTP/2 padding length check (&lt;a href="https://github.com/netty/netty/pull/15795"&gt;#15795&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details please visit our &lt;a href="https://github.com/netty/netty/issues?q=milestone%3A4.1.129.Final+is%3Aclosed"&gt;bug tracker&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/franz1981"&gt;@franz1981&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/danfaer"&gt;@danfaer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/He-Pin"&gt;@He-Pin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/idelpivnitskiy"&gt;@idelpivnitskiy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/leonard84"&gt;@leonard84&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/qnnn"&gt;@qnnn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/rovarga"&gt;@rovarga&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/sephiroth-j"&gt;@sephiroth-j&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/skyguard1"&gt;@skyguard1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/violetagg"&gt;@violetagg&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/yawkat"&gt;@yawkat&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/zakkak"&gt;@zakkak&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2025/10/15/4-2-7.html</id>
<title>Netty 4.2.7.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2025-10-15T00:00:00+00:00</published>
<link href="http://netty.io/news/2025/10/15/4-2-7.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty 4.2.7.Final. This is a bug-fix release but also contains some new features. Beside this it also fixes CVE-2025-59419 which might affect you if you make use
of our SMTP implementation.

The most important changes are:


SMTP Command Injection Vulnerability Allowing Email Forgery (CVE-2025-59419)
Faster leak detector implementation for tests (#15622)
Expose metrics from AutoScalingEventExecutorChooserFactory (#15624)
Teach the BoringSSL implementation to use a java.security.Signature for keys that cannot be obtained directly (#15626)
Drop unknown frame on missing stream in first packet (#15646)
IoUring: Add support IntegerUnixChannelOption and RawUnixChannelOption (#15706)
IoUring: Don't delay close operation if we still wait for the second...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty 4.2.7.Final. This is a bug-fix release but also contains some new features. Beside this it also fixes &lt;a href="https://github.com/netty/netty/security/advisories/GHSA-jq43-27x9-3v86"&gt;CVE-2025-59419&lt;/a&gt; which might affect you if you make use
of our SMTP implementation.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SMTP Command Injection Vulnerability Allowing Email Forgery (&lt;a href="https://github.com/netty/netty/security/advisories/GHSA-jq43-27x9-3v86"&gt;CVE-2025-59419&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Faster leak detector implementation for tests (&lt;a href="https://github.com/netty/netty/pull/15622"&gt;#15622&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Expose metrics from AutoScalingEventExecutorChooserFactory (&lt;a href="https://github.com/netty/netty/pull/15624"&gt;#15624&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Teach the BoringSSL implementation to use a java.security.Signature for keys that cannot be obtained directly (&lt;a href="https://github.com/netty/netty/pull/15626"&gt;#15626&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Drop unknown frame on missing stream in first packet (&lt;a href="https://github.com/netty/netty/pull/15646"&gt;#15646&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Add support IntegerUnixChannelOption and RawUnixChannelOption (&lt;a href="https://github.com/netty/netty/pull/15706"&gt;#15706&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Don't delay close operation if we still wait for the second notification when using zero copy (&lt;a href="https://github.com/netty/netty/pull/15709"&gt;#15709&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Only free resourcees once we are sure no more events are handled by the handle (&lt;a href="https://github.com/netty/netty/pull/15710"&gt;#15710&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix Snappy compression bug (&lt;a href="https://github.com/netty/netty/pull/15712"&gt;#15712&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Allow CertificateBuilder to specify Provider instance to use (&lt;a href="https://github.com/netty/netty/pull/15722"&gt;#15722&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix aligned off-heap zeroing (&lt;a href="https://github.com/netty/netty/pull/15740"&gt;#15740&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;buffer: Fix JFR deadlock during ReturnChunkEvent initialization (&lt;a href="https://github.com/netty/netty/pull/15740"&gt;#15740&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix concurrent chunk data write bug in adaptive allocator (&lt;a href="https://github.com/netty/netty/pull/15652"&gt;#15652&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;OpenSSL: Allow to configure named groups via SSLParameters on Java20+ (&lt;a href="https://github.com/netty/netty/pull/15660"&gt;#15660&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Move polymorphic VarHandle calls to separate class to avoid Android verification error (&lt;a href="https://github.com/netty/netty/pull/15661"&gt;#15661&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Kqueue: Ensure classes can be loaded even if native lib is not on the classpath or platform not supported (&lt;a href="https://github.com/netty/netty/pull/15669"&gt;#15669&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;buffer: centralize VarHandle byte[] access in VarHandleByteBufferAccess (&lt;a href="https://github.com/netty/netty/pull/15670"&gt;#15670&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Epoll: Ensure classes can be loaded even if native lib is not on the classpath or platform not supported (&lt;a href="https://github.com/netty/netty/pull/15671"&gt;#15671&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Ensure classes can be loaded even if native lib is not on the classpath or platform not supported (&lt;a href="https://github.com/netty/netty/pull/15672"&gt;#15672&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Update jni-util version to clarify licensing (&lt;a href="https://github.com/netty/netty/pull/15687"&gt;#15687&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Always correctly handle IORING_CQE_F_MORE flag when using zero copy send (&lt;a href="https://github.com/netty/netty/pull/15692"&gt;#15692&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Fix debug log message which shows which features are supported (&lt;a href="https://github.com/netty/netty/pull/15693"&gt;#15693&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details please visit our &lt;a href="https://github.com/netty/netty/issues?q=milestone%3A4.2.7.Final+is%3Aclosed"&gt;bug tracker&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;Special notes&lt;/h1&gt;

&lt;h2&gt;Faster leak detector implementation for tests&lt;/h2&gt;

&lt;p&gt;If you are using paranoid leak detection for unit testing, consider trying LeakPresenceDetector for more efficient leak detection. See (&lt;a href="https://github.com/netty/netty/pull/15622"&gt;#15622&lt;/a&gt;) for more details.&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/ajith211"&gt;@ajith211&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/bryce-anderson"&gt;@bryce-anderson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/dreamlike-ocean"&gt;@dreamlike-ocean&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/franz1981"&gt;@franz1981&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/georgebanasios"&gt;@georgebanasios&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/idelpivnitskiy"&gt;@idelpivnitskiy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ihrasko"&gt;@ihrasko&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/justinas-dabravolskas"&gt;@justinas-dabravolskas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/leonchen83"&gt;@leonchen83&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mateczagany"&gt;@mateczagany&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/matthew-js-porter"&gt;@matthew-js-porter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/netudima"&gt;@netudima&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/reta"&gt;@reta&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/yawkat"&gt;@yawkat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2025/10/14/4-1-128-Final.html</id>
<title>Netty 4.1.128.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2025-10-14T00:00:00+00:00</published>
<link href="http://netty.io/news/2025/10/14/4-1-128-Final.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty 4.1.128.Final. This is a bug-fix release but also contains CVE-2025-59419 which might affect you if you make use
of our SMTP implementation.

The most important changes are:


SMTP Command Injection Vulnerability Allowing Email Forgery (CVE-2025-59419)
Drop unknown frame on missing stream in first packet (#15647)
Precompute segments offsets and use them as segment's identity (#15656)
Empty chunks cannot be used while allocating from the shared queue (#15659)
Only register chunk sizes in adaptive allocator (#15663)
Fix concurrent chunk data write bug in adaptive allocator (#15664)
Update jni-util version to clarify licensing (#15689)
Fix Snappy compression bug (#15715)
Fix aligned off-heap zeroing (#15744)



For...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty 4.1.128.Final. This is a bug-fix release but also contains &lt;a href="https://github.com/netty/netty/security/advisories/GHSA-jq43-27x9-3v86"&gt;CVE-2025-59419&lt;/a&gt; which might affect you if you make use
of our SMTP implementation.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SMTP Command Injection Vulnerability Allowing Email Forgery (&lt;a href="https://github.com/netty/netty/security/advisories/GHSA-jq43-27x9-3v86"&gt;CVE-2025-59419&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Drop unknown frame on missing stream in first packet (&lt;a href="https://github.com/netty/netty/pull/15647"&gt;#15647&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Precompute segments offsets and use them as segment's identity (&lt;a href="https://github.com/netty/netty/pull/15656"&gt;#15656&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Empty chunks cannot be used while allocating from the shared queue (&lt;a href="https://github.com/netty/netty/pull/15659"&gt;#15659&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Only register chunk sizes in adaptive allocator (&lt;a href="https://github.com/netty/netty/pull/15663"&gt;#15663&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix concurrent chunk data write bug in adaptive allocator (&lt;a href="https://github.com/netty/netty/pull/15664"&gt;#15664&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Update jni-util version to clarify licensing (&lt;a href="https://github.com/netty/netty/pull/15689"&gt;#15689&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix Snappy compression bug (&lt;a href="https://github.com/netty/netty/pull/15715"&gt;#15715&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix aligned off-heap zeroing (&lt;a href="https://github.com/netty/netty/pull/15744"&gt;#15744&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details please visit our &lt;a href="https://github.com/netty/netty/issues?q=milestone%3A4.1.127.Final+is%3Aclosed"&gt;bug tracker&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/franz1981"&gt;@franz1981&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/idelpivnitskiy"&gt;@idelpivnitskiy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/yawkat"&gt;@yawkat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2025/09/08/4-2-6.html</id>
<title>Netty 4.2.6.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2025-09-08T00:00:00+00:00</published>
<link href="http://netty.io/news/2025/09/08/4-2-6.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty 4.2.6.Final. This is a bug-fix release which fixes a regression introduced by 4.2.5.Final that might affect you if you use BouncyCastle.
We decided to do a quick follow-up release here so people that depend on it can still get the fixes for CVE-2025-58057 and CVE-2025-58056 that were part of 4.2.5.Final.

The most important changes are:


BouncyCastleAlpnSslUtils needs to use the correct SSLEngine class as otherwise it will fail to init static fields. (#15630)
IoUring: Allow to create IoHandlerFactory that supports changing the Thread and so supports AutoScalingEventExecutorChooserFactory. (#15608)



For more details please visit our bug tracker

Thank...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty 4.2.6.Final. This is a bug-fix release which fixes a regression introduced by 4.2.5.Final that might affect you if you use BouncyCastle.
We decided to do a quick follow-up release here so people that depend on it can still get the fixes for &lt;a href="https://github.com/netty/netty/security/advisories/GHSA-3p8m-j85q-pgmj"&gt;CVE-2025-58057&lt;/a&gt; and &lt;a href="https://github.com/netty/netty/security/advisories/GHSA-fghv-69vj-qj49"&gt;CVE-2025-58056&lt;/a&gt; that were part of 4.2.5.Final.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;BouncyCastleAlpnSslUtils needs to use the correct SSLEngine class as otherwise it will fail to init static fields. (&lt;a href="https://github.com/netty/netty/pull/15630"&gt;#15630&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Allow to create IoHandlerFactory that supports changing the Thread and so supports AutoScalingEventExecutorChooserFactory. (&lt;a href="https://github.com/netty/netty/pull/15608"&gt;#15608&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details please visit our &lt;a href="https://github.com/netty/netty/issues?q=milestone%3A4.2.6.Final+is%3Aclosed"&gt;bug tracker&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission
* &lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;
* &lt;a href="https://github.com/dreamlike-ocean"&gt;@dreamlike-ocean&lt;/a&gt;
* &lt;a href="https://github.com/georgebanasios"&gt;@georgebanasios&lt;/a&gt;
* &lt;a href="https://github.com/jponge"&gt;@jponge&lt;/a&gt;
* &lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;
* &lt;a href="https://github.com/sberyozkin"&gt;@sberyozkin&lt;/a&gt;
* &lt;a href="https://github.com/yawkat"&gt;@yawkat&lt;/a&gt;&lt;/p&gt;

</content>
</entry>
<entry>
<id>http://netty.io/news/2025/09/08/4-1-127-Final.html</id>
<title>Netty 4.1.127.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2025-09-08T00:00:00+00:00</published>
<link href="http://netty.io/news/2025/09/08/4-1-127-Final.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty 4.1.127.Final. This is a bug-fix release which fixes a regression introduced by 4.1.126.Final that might affect you if you use BouncyCastle.
We decided to do a quick follow-up release here so people that depend on it can still get the fixes for CVE-2025-58057 and CVE-2025-58056 that were part of 4.1.125.Final.

The most important changes are:


BouncyCastleAlpnSslUtils needs to use the correct SSLEngine class as otherwise it will fail to init static fields. (#15628)



For more details please visit our bug tracker

Thank You

Every idea and bug-report counts, and so we thought it is worth mentioning those...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty 4.1.127.Final. This is a bug-fix release which fixes a regression introduced by 4.1.126.Final that might affect you if you use BouncyCastle.
We decided to do a quick follow-up release here so people that depend on it can still get the fixes for &lt;a href="https://github.com/netty/netty/security/advisories/GHSA-3p8m-j85q-pgmj"&gt;CVE-2025-58057&lt;/a&gt; and &lt;a href="https://github.com/netty/netty/security/advisories/GHSA-fghv-69vj-qj49"&gt;CVE-2025-58056&lt;/a&gt; that were part of 4.1.125.Final.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;BouncyCastleAlpnSslUtils needs to use the correct SSLEngine class as otherwise it will fail to init static fields. (&lt;a href="https://github.com/netty/netty/pull/15628"&gt;#15628&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details please visit our &lt;a href="https://github.com/netty/netty/issues?q=milestone%3A4.1.127.Final+is%3Aclosed"&gt;bug tracker&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jponge"&gt;@jponge&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/sberyozkin"&gt;@sberyozkin&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2025/09/03/4-2-5.html</id>
<title>Netty 4.2.5.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2025-09-03T00:00:00+00:00</published>
<link href="http://netty.io/news/2025/09/03/4-2-5.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty 4.2.5.Final. This is a bug-fix release which also contains a 2 security fixes, CVE-2025-58057 and CVE-2025-58056.

The most important changes are:


Decompression codecs vulnerable to DoS via zip bomb style attack (CVE-2025-58057)
Request smuggling due to incorrect parsing of chunk extensions (CVE-2025-58056)
Only register chunk sizes in adaptive allocator (#15575)
Always load BouncyCastle classes with the Netty classloader (#15569)
Update to quiche 0.24.5 (#15556)
Clean up netty-buffer Import-Package (#15562)
Don't try to handle incomplete upgrade request (#15581)
SubmissionQueue::toString should iterate from the head (#15586)
Implement automatic scaling for EventLoopGroup threads (#15524)
Drop unknown frame on missing stream (#15592)
IoUring: Reduce redundant system calls...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty 4.2.5.Final. This is a bug-fix release which also contains a 2 security fixes, &lt;a href="https://github.com/netty/netty/security/advisories/GHSA-3p8m-j85q-pgmj"&gt;CVE-2025-58057&lt;/a&gt; and &lt;a href="https://github.com/netty/netty/security/advisories/GHSA-fghv-69vj-qj49"&gt;CVE-2025-58056&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Decompression codecs vulnerable to DoS via zip bomb style attack (&lt;a href="https://github.com/netty/netty/security/advisories/GHSA-3p8m-j85q-pgmj"&gt;CVE-2025-58057&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Request smuggling due to incorrect parsing of chunk extensions (&lt;a href="https://github.com/netty/netty/security/advisories/GHSA-fghv-69vj-qj49"&gt;CVE-2025-58056&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Only register chunk sizes in adaptive allocator (&lt;a href="https://github.com/netty/netty/pull/15575"&gt;#15575&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Always load BouncyCastle classes with the Netty classloader (&lt;a href="https://github.com/netty/netty/pull/15569"&gt;#15569&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Update to quiche 0.24.5 (&lt;a href="https://github.com/netty/netty/pull/15556"&gt;#15556&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Clean up netty-buffer Import-Package (&lt;a href="https://github.com/netty/netty/pull/15562"&gt;#15562&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Don't try to handle incomplete upgrade request (&lt;a href="https://github.com/netty/netty/pull/15581"&gt;#15581&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;SubmissionQueue::toString should iterate from the head (&lt;a href="https://github.com/netty/netty/pull/15586"&gt;#15586&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Implement automatic scaling for EventLoopGroup threads (&lt;a href="https://github.com/netty/netty/pull/15524"&gt;#15524&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Drop unknown frame on missing stream (&lt;a href="https://github.com/netty/netty/pull/15592"&gt;#15592&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Reduce redundant system calls (&lt;a href="https://github.com/netty/netty/pull/15591"&gt;#15591&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Always correctly handle result for zero copy (&lt;a href="https://github.com/netty/netty/pull/15600"&gt;#15600&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix IllegalReferenceCountException on invalid upgrade response (&lt;a href="https://github.com/netty/netty/pull/15602"&gt;#15602&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details please visit our &lt;a href="https://github.com/netty/netty/issues?q=milestone%3A4.2.5.Final+is%3Aclosed"&gt;bug tracker&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission
* &lt;a href="https://github.com/brucelwl"&gt;@brucelwl&lt;/a&gt;
* &lt;a href="https://github.com/bryce-anderson"&gt;@bryce-anderson&lt;/a&gt;
* &lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;
* &lt;a href="https://github.com/doom369"&gt;@doom369&lt;/a&gt;
* &lt;a href="https://github.com/dreamlike-ocean"&gt;@dreamlike-ocean&lt;/a&gt;
* &lt;a href="https://github.com/franz1981"&gt;@franz1981&lt;/a&gt;
* &lt;a href="https://github.com/georgebanasios"&gt;@georgebanasios&lt;/a&gt;
* &lt;a href="https://github.com/He-Pin"&gt;@He-Pin&lt;/a&gt;
* &lt;a href="https://github.com/isaacrivriv"&gt;@isaacrivriv&lt;/a&gt;
* &lt;a href="https://github.com/linking12"&gt;@linking12&lt;/a&gt;
* &lt;a href="https://github.com/m1ngyuan"&gt;@m1ngyuan&lt;/a&gt;
* &lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;
* &lt;a href="https://github.com/rovarga"&gt;@rovarga&lt;/a&gt;
* &lt;a href="https://github.com/scotthraban"&gt;@scotthraban&lt;/a&gt;
* &lt;a href="https://github.com/vietj"&gt;@vietj&lt;/a&gt;
* &lt;a href="https://github.com/violetagg"&gt;@violetagg&lt;/a&gt;
* &lt;a href="https://github.com/yawkat"&gt;@yawkat&lt;/a&gt;&lt;/p&gt;

</content>
</entry>
<entry>
<id>http://netty.io/news/2025/09/03/4-1-126-Final.html</id>
<title>Netty 4.1.126.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2025-09-03T00:00:00+00:00</published>
<link href="http://netty.io/news/2025/09/03/4-1-126-Final.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty 4.1.126.Final. This is a bug-fix release which also contains a 2 security fixes, CVE-2025-58057 and CVE-2025-58056.

The most important changes are:


Decompression codecs vulnerable to DoS via zip bomb style attack (CVE-2025-58057)
Request smuggling due to incorrect parsing of chunk extensions (CVE-2025-58056)
Fix IllegalReferenceCountException on invalid upgrade response (#15606)
Drop unknown frame on missing stream (#15595)
Don't try to handle incomplete upgrade request (#15585)
Make org.graalvm.nativeimage:svm optional in netty-common (#15558)



For more details please visit our bug 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...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty 4.1.126.Final. This is a bug-fix release which also contains a 2 security fixes, &lt;a href="https://github.com/netty/netty/security/advisories/GHSA-3p8m-j85q-pgmj"&gt;CVE-2025-58057&lt;/a&gt; and &lt;a href="https://github.com/netty/netty/security/advisories/GHSA-fghv-69vj-qj49"&gt;CVE-2025-58056&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Decompression codecs vulnerable to DoS via zip bomb style attack (&lt;a href="https://github.com/netty/netty/security/advisories/GHSA-3p8m-j85q-pgmj"&gt;CVE-2025-58057&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Request smuggling due to incorrect parsing of chunk extensions (&lt;a href="https://github.com/netty/netty/security/advisories/GHSA-fghv-69vj-qj49"&gt;CVE-2025-58056&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix IllegalReferenceCountException on invalid upgrade response (&lt;a href="https://github.com/netty/netty/pull/15606"&gt;#15606&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Drop unknown frame on missing stream (&lt;a href="https://github.com/netty/netty/pull/15595"&gt;#15595&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Don't try to handle incomplete upgrade request (&lt;a href="https://github.com/netty/netty/pull/15585"&gt;#15585&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Make org.graalvm.nativeimage:svm optional in netty-common (&lt;a href="https://github.com/netty/netty/pull/15558"&gt;#15558&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details please visit our &lt;a href="https://github.com/netty/netty/issues?q=milestone%3A4.1.125.Final+is%3Aclosed"&gt;bug tracker&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/bryce-anderson"&gt;@bryce-anderson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/franz1981"&gt;@franz1981&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/gemmellr"&gt;@gemmellr&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/isaacrivriv"&gt;@isaacrivriv&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/JLLeitschuh"&gt;@JLLeitschuh&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/rovarga"&gt;@rovarga&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vietj"&gt;@vietj&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/yawkat"&gt;@yawkat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2025/08/18/quic-0-0-74-Final.html</id>
<title>Netty/Incubator/Codec/Quic 0.0.74.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2025-08-18T00:00:00+00:00</published>
<link href="http://netty.io/news/2025/08/18/quic-0-0-74-Final.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty-incubator-codec-quic 0.0.73.Final. This is a bug-fix release but also upgrades its quiche version to fix CVE-2025-7054. Because of this we highly recommend to upgrade as soon as possible.

The most important changes are:


Correctly map GENERIC to UNKNOWN when using BoringSSL (#816)
Update to quiche 0.24.5 (#815)
Update netty dependency (#817)



For more details related to this release see our bug-tracker.

For more details about this codec in general please read our initial announcement.

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.


@m1ngyuan 
@normanmaurer
@vazh2100...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty-incubator-codec-quic 0.0.73.Final. This is a bug-fix release but also upgrades its quiche version to fix &lt;a href="https://www.cve.org/CVERecord?id=CVE-2025-7054"&gt;CVE-2025-7054&lt;/a&gt;. Because of this we highly recommend to upgrade as soon as possible.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Correctly map GENERIC to UNKNOWN when using BoringSSL (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/816"&gt;#816&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Update to quiche 0.24.5 (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/815"&gt;#815&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Update netty dependency (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/817"&gt;#817&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details related to this release see our &lt;a href="https://github.com/netty/netty-incubator-codec-quic/issues?q=is%3Aclosed+milestone%3A0.0.74.Final"&gt;bug-tracker&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For more details about this codec in general please read our &lt;a href="https://netty.io/news/2020/12/09/quic-0-0-1-Final.html"&gt;initial announcement&lt;/a&gt;.&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/m1ngyuan"&gt;@m1ngyuan &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vazh2100"&gt;@vazh2100&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2025/08/15/ohttp-0-0-19-Final.html</id>
<title>Netty/Incubator/Codec/OHTTP 0.0.19.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2025-08-15T00:00:00+00:00</published>
<link href="http://netty.io/news/2025/08/15/ohttp-0-0-19-Final.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty-incubator-codec-ohttp 0.0.19.Final. This is a bug-fix release.

The most important changes are:


Release buffer when serialization throws exception (#104)
Update to latest netty release (#106)



For more details related to this release see our bug-tracker....
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty-incubator-codec-ohttp 0.0.19.Final. This is a bug-fix release.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Release buffer when serialization throws exception (&lt;a href="https://github.com/netty/netty-incubator-codec-ohttp/pull/104"&gt;#104&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Update to latest netty release (&lt;a href="https://github.com/netty/netty-incubator-codec-ohttp/pull/106"&gt;#106&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details related to this release see our &lt;a href="https://github.com/netty/netty-incubator-codec-ohttp/milestone/19?closed=1"&gt;bug-tracker&lt;/a&gt;.&lt;/p&gt;

</content>
</entry>
<entry>
<id>http://netty.io/news/2025/08/13/4-2-4.html</id>
<title>Netty 4.2.4.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2025-08-13T00:00:00+00:00</published>
<link href="http://netty.io/news/2025/08/13/4-2-4.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty 4.2.4.Final. This is a bug-fix release which also contains a fix for a CVE-2025-55163.

The most important changes are:


MadeYouReset HTTP/2 DDoS vulnerability (CVE-2025-55163)
Add support for SOCKS5 private authentication methods (RFC#1928) (#15470)
IoUring: Add support for IORING_OP_SEND_ZC (#15491)
JFR profile and JFR reader for the allocation simulator (#15497)
Add namespace to our JFR events (#15500)
Fix NPE and AssertionErrors when many tasks are scheduled and cancelled (#15501)
IoUring: Detect completion queue overflow (#15505)
Fix JFR event names in the flight recorder profile (#15506)
Add close-tracking to our leak detector (#15512)
ByteBufOutputStream.writeBytes should only write lower-order bytes (#15514)
HTTP2: Http2ConnectionHandler should always use...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty 4.2.4.Final. This is a bug-fix release which also contains a fix for a &lt;a href="https://github.com/netty/netty/security/advisories/GHSA-prj3-ccx8-p6x4"&gt;CVE-2025-55163&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;MadeYouReset HTTP/2 DDoS vulnerability (&lt;a href="https://github.com/netty/netty/security/advisories/GHSA-prj3-ccx8-p6x4"&gt;CVE-2025-55163&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add support for SOCKS5 private authentication methods (RFC#1928) (&lt;a href="https://github.com/netty/netty/pull/15470"&gt;#15470&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Add support for IORING_OP_SEND_ZC (&lt;a href="https://github.com/netty/netty/pull/15491"&gt;#15491&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;JFR profile and JFR reader for the allocation simulator (&lt;a href="https://github.com/netty/netty/pull/15497"&gt;#15497&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add namespace to our JFR events (&lt;a href="https://github.com/netty/netty/pull/15500"&gt;#15500&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix NPE and AssertionErrors when many tasks are scheduled and cancelled (&lt;a href="https://github.com/netty/netty/pull/15501"&gt;#15501&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Detect completion queue overflow (&lt;a href="https://github.com/netty/netty/pull/15505"&gt;#15505&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix JFR event names in the flight recorder profile (&lt;a href="https://github.com/netty/netty/pull/15506"&gt;#15506&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add close-tracking to our leak detector (&lt;a href="https://github.com/netty/netty/pull/15512"&gt;#15512&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;ByteBufOutputStream.writeBytes should only write lower-order bytes (&lt;a href="https://github.com/netty/netty/pull/15514"&gt;#15514&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;HTTP2: Http2ConnectionHandler should always use Http2ConnectionEncoder (&lt;a href="https://github.com/netty/netty/pull/15516"&gt;#15516&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add CompositeByteBuf.componentSlice() to return correctly indexed view (&lt;a href="https://github.com/netty/netty/pull/15519"&gt;#15519&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Use optional dependency for svm (&lt;a href="https://github.com/netty/netty/pull/15521"&gt;#15521&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Epoll: Correctly handle UDP packets with source port of 0. (&lt;a href="https://github.com/netty/netty/pull/15528"&gt;#15528&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;FastThreadLocal: Optimize fallback check for virtual threads to O(1) (&lt;a href="https://github.com/netty/netty/pull/15532"&gt;#15532&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix netty-common OSGi Import-Package header (&lt;a href="https://github.com/netty/netty/pull/15540"&gt;#15540&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Correctly handle channel.config().setAutoRead(false) (&lt;a href="https://github.com/netty/netty/pull/15541"&gt;#15541&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Submit and process completions in a loop to ensure timely processing. (&lt;a href="https://github.com/netty/netty/pull/15544"&gt;#15544&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;MqttConnectPayload.toString() includes password (&lt;a href="https://github.com/netty/netty/pull/15548"&gt;#15548&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details please visit our &lt;a href="https://github.com/netty/netty/issues?q=milestone%3A4.2.4.Final+is%3Aclosed"&gt;bug tracker&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission
* &lt;a href="https://github.com/bryce-anderson"&gt;@bryce-anderson&lt;/a&gt;
* &lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;
* &lt;a href="https://github.com/d-william"&gt;@d-william&lt;/a&gt;
* &lt;a href="https://github.com/dreamlike-ocean"&gt;@dreamlike-ocean&lt;/a&gt;
* &lt;a href="https://github.com/franz1981"&gt;@franz1981&lt;/a&gt;
* &lt;a href="https://github.com/galbarnahum"&gt;@galbarnahum&lt;/a&gt;
* &lt;a href="https://github.com/georgebanasios"&gt;@georgebanasios&lt;/a&gt;
* &lt;a href="https://github.com/He-Pin"&gt;@He-Pin&lt;/a&gt;
* &lt;a href="https://github.com/jbertram"&gt;@jbertram&lt;/a&gt;
* &lt;a href="https://github.com/laosijikaichele"&gt;@laosijikaichele&lt;/a&gt;
* &lt;a href="https://github.com/linking12"&gt;@linking12&lt;/a&gt;
* &lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;
* &lt;a href="https://github.com/rovarga"&gt;@rovarga&lt;/a&gt;
* &lt;a href="https://github.com/sergiitk"&gt;@sergiitk&lt;/a&gt;
* &lt;a href="https://github.com/sunil-solace"&gt;@sunil-solace&lt;/a&gt;
* &lt;a href="https://github.com/vietj"&gt;@vietj&lt;/a&gt;
* &lt;a href="https://github.com/violetagg"&gt;@violetagg&lt;/a&gt;
* &lt;a href="https://github.com/yawkat"&gt;@yawkat&lt;/a&gt;&lt;/p&gt;

</content>
</entry>
<entry>
<id>http://netty.io/news/2025/08/13/4-1-124-Final.html</id>
<title>Netty 4.1.124.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2025-08-13T00:00:00+00:00</published>
<link href="http://netty.io/news/2025/08/13/4-1-124-Final.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty 4.1.124.Final. This is a bug-fix release which also contains a fix for a CVE-2025-55163.

The most important changes are:


MadeYouReset HTTP/2 DDoS vulnerability (CVE-2025-55163)
Fix NPE and AssertionErrors when many tasks are scheduled and cancelled (#15499)
HTTP2: Http2ConnectionHandler should always use Http2ConnectionEncoder (#15518)
Epoll: Correctly handle UDP packets with source port of 0 (#15537)
Fix netty-common OSGi Import-Package header (#15546)
MqttConnectPayload.toString() includes password (#15554)



For more details please visit our bug 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.


@bryce-anderson
@chrisvest
@d-william
@franz1981
@galbarnahum
@jbertram
@normanmaurer
@rovarga
@vietj
@violetagg
@yawkat...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty 4.1.124.Final. This is a bug-fix release which also contains a fix for a &lt;a href="https://github.com/netty/netty/security/advisories/GHSA-prj3-ccx8-p6x4"&gt;CVE-2025-55163&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;MadeYouReset HTTP/2 DDoS vulnerability (&lt;a href="https://github.com/netty/netty/security/advisories/GHSA-prj3-ccx8-p6x4"&gt;CVE-2025-55163&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix NPE and AssertionErrors when many tasks are scheduled and cancelled (&lt;a href="https://github.com/netty/netty/pull/15499"&gt;#15499&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;HTTP2: Http2ConnectionHandler should always use Http2ConnectionEncoder (&lt;a href="https://github.com/netty/netty/pull/15518"&gt;#15518&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Epoll: Correctly handle UDP packets with source port of 0 (&lt;a href="https://github.com/netty/netty/pull/15537"&gt;#15537&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix netty-common OSGi Import-Package header (&lt;a href="https://github.com/netty/netty/pull/15546"&gt;#15546&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;MqttConnectPayload.toString() includes password (&lt;a href="https://github.com/netty/netty/pull/15554"&gt;#15554&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details please visit our &lt;a href="https://github.com/netty/netty/issues?q=milestone%3A4.1.124.Final+is%3Aclosed"&gt;bug tracker&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/bryce-anderson"&gt;@bryce-anderson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/d-william"&gt;@d-william&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/franz1981"&gt;@franz1981&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/galbarnahum"&gt;@galbarnahum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jbertram"&gt;@jbertram&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/rovarga"&gt;@rovarga&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vietj"&gt;@vietj&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/violetagg"&gt;@violetagg&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/yawkat"&gt;@yawkat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2025/07/16/4-1-123-Final.html</id>
<title>Netty 4.1.123.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2025-07-16T00:00:00+00:00</published>
<link href="http://netty.io/news/2025/07/16/4-1-123-Final.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty 4.1.123.Final. This is a bug-fix release but also contains various performance enhancements in the AdaptiveByteBufAllocator.

The most important changes are:


Fix chunk reuse bug in adaptive allocator (#15428)
More accurate adaptive memory usage accounting (#15425)
Introduce size-classes for the adaptive allocator (#15414)
Reduce magazine proliferation eagerness (#15422)
Fix concurrent ByteBuffer access issue in AdaptiveByteBuf.getBytes (#15410)
Fix possible buffer corruption caused by incorrect setCharSequence(...) implementation (#15393)
AdaptiveByteBuf: Fix AdaptiveByteBuf.maxFastWritableBytes() to take writerIndex() into account (#15376)
Optimize capacity bumping for adaptive ByteBufs (#15368)
AbstractDnsRecord: equals() and hashCode() to ignore name field's case (#15330)
Backport Unsafe guards (#15346)
Guard recomputed offset access with hasUnsafe (#15357)
HTTP2: Always...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty 4.1.123.Final. This is a bug-fix release but also contains various performance enhancements in the &lt;code&gt;AdaptiveByteBufAllocator&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix chunk reuse bug in adaptive allocator (&lt;a href="https://github.com/netty/netty/issues/15428"&gt;#15428&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;More accurate adaptive memory usage accounting (&lt;a href="https://github.com/netty/netty/issues/15425"&gt;#15425&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Introduce size-classes for the adaptive allocator (&lt;a href="https://github.com/netty/netty/issues/15414"&gt;#15414&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Reduce magazine proliferation eagerness (&lt;a href="https://github.com/netty/netty/issues/15422"&gt;#15422&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix concurrent ByteBuffer access issue in AdaptiveByteBuf.getBytes (&lt;a href="https://github.com/netty/netty/issues/15410"&gt;#15410&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix possible buffer corruption caused by incorrect setCharSequence(...) implementation (&lt;a href="https://github.com/netty/netty/issues/15393"&gt;#15393&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;AdaptiveByteBuf: Fix AdaptiveByteBuf.maxFastWritableBytes() to take writerIndex() into account (&lt;a href="https://github.com/netty/netty/issues/15376"&gt;#15376&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Optimize capacity bumping for adaptive ByteBufs (&lt;a href="https://github.com/netty/netty/issues/15368"&gt;#15368&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;AbstractDnsRecord: equals() and hashCode() to ignore name field's case (&lt;a href="https://github.com/netty/netty/issues/15330"&gt;#15330&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Backport Unsafe guards (&lt;a href="https://github.com/netty/netty/issues/15346"&gt;#15346&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Guard recomputed offset access with hasUnsafe (&lt;a href="https://github.com/netty/netty/issues/15357"&gt;#15357&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;HTTP2: Always produce a RST frame on stream exception (&lt;a href="https://github.com/netty/netty/issues/15355"&gt;#15355&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Correct what artifacts included in netty-bom (&lt;a href="https://github.com/netty/netty/issues/15308"&gt;#15308&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details please visit our &lt;a href="https://github.com/netty/netty/issues?q=milestone%3A4.1.123.Final+is%3Aclosed"&gt;bug tracker&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Special note&lt;/h2&gt;

&lt;h2&gt;AdaptiveByteBufAllocator improvements&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;AdaptiveByteBufAllocator&lt;/code&gt; did see a lot of changes this release to not only fixing bugs but also decrease it's memory overhead dramatically. To ensure we don't regress in the future and also allow others to better understand the characteristics we also added an allocation pattern simulator. For some more details about the improvements please refer to &lt;a href="https://github.com/netty/netty/pull/15429"&gt;#15429&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/doom369"&gt;@doom369&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/franz1981"&gt;@franz1981&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/laosijikaichele"&gt;@laosijikaichele&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/nmck257"&gt;@nmck257&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/rgrnwd"&gt;@rgrnwd&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vietj"&gt;@vietj&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/violetagg"&gt;@violetagg&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/yawkat"&gt;@yawkat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2025/07/15/4-2-3.html</id>
<title>Netty 4.2.3.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2025-07-15T00:00:00+00:00</published>
<link href="http://netty.io/news/2025/07/15/4-2-3.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty 4.2.3.Final. We put a lot of work into this release so please ensure to read on for all the changes / bugfixes / performance improvements.

The most important changes are:


IoUring: Correctly refetch completions that were produced because of inline submissions (#15480)
IoUring: Explicit set CQSIZE by default and use a much saner default for submission ring (#15477)
IoUring: Allow to configure what allocation strategy the buffer ring (#15469)
IoUring: Add IoUringBufferRingConfig.Builder (#15453)
Add property to turn off pinned memory tracker in PoolChunk (#15436)
Add JFR events for PooledByteBufAllocator (#15433)
More accurate adaptive memory usage accounting (#15423)
Fix chunk reuse...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty 4.2.3.Final. We put a lot of work into this release so please ensure to read on for all the changes / bugfixes / performance improvements.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;IoUring: Correctly refetch completions that were produced because of inline submissions (&lt;a href="https://github.com/netty/netty/pull/15480"&gt;#15480&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Explicit set CQSIZE by default and use a much saner default for submission ring (&lt;a href="https://github.com/netty/netty/pull/15477"&gt;#15477&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Allow to configure what allocation strategy the buffer ring (&lt;a href="https://github.com/netty/netty/pull/15469"&gt;#15469&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Add IoUringBufferRingConfig.Builder (&lt;a href="https://github.com/netty/netty/pull/15453"&gt;#15453&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add property to turn off pinned memory tracker in PoolChunk (&lt;a href="https://github.com/netty/netty/pull/15436"&gt;#15436&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add JFR events for PooledByteBufAllocator (&lt;a href="https://github.com/netty/netty/pull/15433"&gt;#15433&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;More accurate adaptive memory usage accounting (&lt;a href="https://github.com/netty/netty/pull/15423"&gt;#15423&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix chunk reuse bug in adaptive allocator (&lt;a href="https://github.com/netty/netty/pull/15424"&gt;#15424&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Reduce magazine proliferation eagerness (&lt;a href="https://github.com/netty/netty/pull/15421"&gt;#15421&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Introduce size-classes for the adaptive allocator (&lt;a href="https://github.com/netty/netty/pull/15399"&gt;#15399&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix concurrent ByteBuffer access issue in AdaptiveByteBuf.getBytes (&lt;a href="https://github.com/netty/netty/pull/15402"&gt;#15402&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add malloc/free based Cleaner/CleanableDirectBuffer (&lt;a href="https://github.com/netty/netty/pull/15366"&gt;#15366&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Adaptive: Fix possible buffer corruption caused by incorrect setCharSequence(...) implementation (&lt;a href="https://github.com/netty/netty/pull/15391"&gt;#15391&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;direct buffer preference should not depend on unsafe presence (&lt;a href="https://github.com/netty/netty/pull/15381"&gt;#15381&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;AdaptiveByteBuf: Fix AdaptiveByteBuf.maxFastWritableBytes() to take writerIndex into account (&lt;a href="https://github.com/netty/netty/pull/15373"&gt;#15373&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;JFR event support (&lt;a href="https://github.com/netty/netty/pull/15369"&gt;#15369&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix bug in capacity(int) for the adaptive allocator (&lt;a href="https://github.com/netty/netty/pull/15367"&gt;#15367&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Disable CleanerJava25 at build time for GraalVM &amp;lt;25 (&lt;a href="https://github.com/netty/netty/pull/15325"&gt;#15325&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Only use MemorySegments on Java 25+ (&lt;a href="https://github.com/netty/netty/pull/15338"&gt;#15338&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;AbstractDnsRecord: equals() and hashCode() to ignore name field's case (&lt;a href="https://github.com/netty/netty/pull/15329"&gt;#15329&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Guard recomputed offset access with hasUnsafe (&lt;a href="https://github.com/netty/netty/pull/15354"&gt;#15354&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;HTTP2: Always produce a RST frame on stream exception (&lt;a href="https://github.com/netty/netty/pull/15352"&gt;#15352&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Add the ability to allocate the buffers for the buffering in bulk (&lt;a href="https://github.com/netty/netty/pull/15457"&gt;#15457&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Improved bound checks (&lt;a href="https://github.com/netty/netty/pull/15452"&gt;#15452&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details please visit our &lt;a href="https://github.com/netty/netty/issues?q=milestone%3A4.2.3.Final+is%3Aclosed"&gt;bug tracker&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;Special notes&lt;/h1&gt;

&lt;h2&gt;AdaptiveByteBufAllocator improvements&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;AdaptiveByteBufAllocator&lt;/code&gt; did see a lot of changes this release to not only fixing bugs but also decrease it's memory overhead dramatically. To ensure we don't regress in the future and also allow others to better understand the characteristics we also added an allocation pattern simulator. For some more details about the improvements please refer to &lt;a href="https://github.com/netty/netty/pull/15429"&gt;#15429&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;IoUring improvements&lt;/h2&gt;

&lt;p&gt;We continue to improve our io_uring based thransport as it is relative new. The improvements include adding new features but also just improve the performance in general. Beside this we also changed a few defaults to better reflect usual workloads. For more details on all the changes please refer to the changes listed above that are prefixed with &lt;code&gt;IoUring&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;JFR event support&lt;/h2&gt;

&lt;p&gt;We finally added JFR event support and added usafe of it for the &lt;code&gt;AdaptiveByteBufAllocator&lt;/code&gt; and &lt;code&gt;PooledByteBufAllocator&lt;/code&gt;. This allows to better understand the allocation pattern and memory usage of each of the allocators.
We plan to add more and more support to other internals soon.&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/Allan-QLB"&gt;@Allan-QLB&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/derklaro"&gt;@derklaro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/doom369"&gt;@doom369&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/dreamlike-ocean"&gt;@dreamlike-ocean&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/d-william"&gt;@d-william&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/franz1981"&gt;@franz1981&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/He-Pin"&gt;@He-Pin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/laosijikaichele"&gt;@laosijikaichele&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/Munoon"&gt;@Munoon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/Osndok"&gt;@Osndok&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/rgrnwd"&gt;@rgrnwd&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/sh-cho"&gt;@sh-cho&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/skmcgrail"&gt;@skmcgrail&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vietj"&gt;@vietj&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/violetagg"&gt;@violetagg&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/yawkat"&gt;@yawkat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2025/06/18/quic-0-0-73-Final.html</id>
<title>Netty/Incubator/Codec/Quic 0.0.73.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2025-06-18T00:00:00+00:00</published>
<link href="http://netty.io/news/2025/06/18/quic-0-0-73-Final.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty-incubator-codec-quic 0.0.73.Final. This is a bug-fix release but also upgrades its quiche version to fix CVE-2025-4820 and CVE-2025-4821. Because of this we highly recommend  to upgrade as soon as possible.

The most important changes are:


Cleanup code to make stacktrace less confusing (#796)
Update to latest boringssl sha (#794)
Fix crash in Quiche when calling isClosed on freed connections (#798)
Fix incorrect handling of stream capacity greater than 232 (#806)
Obtain correct cipher to generate the authentication method (#809)
Update to netty 4.1.122.Final (#810)
Update to quiche 0.24.4 (#811)



For more details related to this release see our bug-tracker.

For more...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty-incubator-codec-quic 0.0.73.Final. This is a bug-fix release but also upgrades its quiche version to fix &lt;a href="https://github.com/cloudflare/quiche/security/advisories/GHSA-2v9p-3p3h-w56j"&gt;CVE-2025-4820&lt;/a&gt; and &lt;a href="https://github.com/cloudflare/quiche/security/advisories/GHSA-6m38-4r9r-5c4m"&gt;CVE-2025-4821&lt;/a&gt;. Because of this we highly recommend  to upgrade as soon as possible.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cleanup code to make stacktrace less confusing (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/796"&gt;#796&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Update to latest boringssl sha (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/794"&gt;#794&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix crash in Quiche when calling isClosed on freed connections (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/798"&gt;#798&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix incorrect handling of stream capacity greater than 2&lt;sup&gt;32&lt;/sup&gt; (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/806"&gt;#806&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Obtain correct cipher to generate the authentication method (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/809"&gt;#809&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Update to netty 4.1.122.Final (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/810"&gt;#810&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Update to quiche 0.24.4 (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/811"&gt;#811&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details related to this release see our &lt;a href="https://github.com/netty/netty-incubator-codec-quic/issues?q=is%3Aclosed+milestone%3A0.0.73.Final"&gt;bug-tracker&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For more details about this codec in general please read our &lt;a href="https://netty.io/news/2020/12/09/quic-0-0-1-Final.html"&gt;initial announcement&lt;/a&gt;.&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/h-khalili"&gt;@h-khalili&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2025/06/05/4-2-2.html</id>
<title>Netty 4.2.2.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2025-06-05T00:00:00+00:00</published>
<link href="http://netty.io/news/2025/06/05/4-2-2.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty 4.2.2.Final. This is our second  release for the 4.2 release train, including bug-fixes, performance enhancement and new features.

The most important changes are:


Graduate HTTP/3 from incubator (#15048)
Allows manually running tasks with timeout (in ns) (#15124)
Port over fix for crash in QUIC codec (in ns) (#15130)
Fix concurrent ByteBuf write access bug in adaptive allocator (#15131)
IoUring: Allow users to explicit enable RECVSEND_BUNDLE support (#15135)
Make EmbeddedChannel ticker configurable (#15141)
IoUring: Don't depend on the fact that ByteBuf.memoryAddress() works (#15142)
Always correctly calculate the memory address of the ByteBuf even if sun.misc.Unsafe is not usable (#15143)
Upgrade lz4...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty 4.2.2.Final. This is our second  release for the 4.2 release train, including bug-fixes, performance enhancement and new features.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Graduate HTTP/3 from incubator (&lt;a href="https://github.com/netty/netty/pull/15048"&gt;#15048&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Allows manually running tasks with timeout (in ns) (&lt;a href="https://github.com/netty/netty/pull/15124"&gt;#15124&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Port over fix for crash in QUIC codec (in ns) (&lt;a href="https://github.com/netty/netty/pull/15130"&gt;#15130&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix concurrent ByteBuf write access bug in adaptive allocator (&lt;a href="https://github.com/netty/netty/pull/15131"&gt;#15131&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Allow users to explicit enable RECVSEND_BUNDLE support (&lt;a href="https://github.com/netty/netty/pull/15135"&gt;#15135&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Make EmbeddedChannel ticker configurable (&lt;a href="https://github.com/netty/netty/pull/15141"&gt;#15141&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Don't depend on the fact that ByteBuf.memoryAddress() works (&lt;a href="https://github.com/netty/netty/pull/15142"&gt;#15142&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Always correctly calculate the memory address of the ByteBuf even if sun.misc.Unsafe is not usable (&lt;a href="https://github.com/netty/netty/pull/15143"&gt;#15143&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Upgrade lz4 dependencies as the old version did not correctly handle ByteBuffer that have an arrayOffset &amp;gt; 0 (&lt;a href="https://github.com/netty/netty/pull/15146"&gt;#15146&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Kqueue: Fix registration failure when fd is reused (&lt;a href="https://github.com/netty/netty/pull/15150"&gt;#15150&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix incorrect assignment of SingleThreadIoEventLoop constructor (&lt;a href="https://github.com/netty/netty/pull/15155"&gt;#15155&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix signing keys with ML-DSA in CertificateBuilder (&lt;a href="https://github.com/netty/netty/pull/15156"&gt;#15156&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Optimize ByteBuf.setCharSequence for adaptive allocator (&lt;a href="https://github.com/netty/netty/pull/15165"&gt;#15165&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Providing Unix Domain Socket Support for IoUring (&lt;a href="https://github.com/netty/netty/pull/15210"&gt;#15210&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Ensure OpenSsl.availableJavaCipherSuites does not contain null value (&lt;a href="https://github.com/netty/netty/pull/15215"&gt;#15215&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Make JdkZlibEncoder accept Deflater.DEFAULT_COMPRESSION as level (&lt;a href="https://github.com/netty/netty/pull/15217"&gt;#15217&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add API to wrap virtual thread task for FastThreadLocal support (&lt;a href="https://github.com/netty/netty/pull/15222"&gt;#15222&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Introduce ByteBuf.readString method (&lt;a href="https://github.com/netty/netty/pull/15224"&gt;#15224&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add support for creating direct ByteBuffers from MemorySegments (&lt;a href="https://github.com/netty/netty/pull/15231"&gt;#15231&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Always prefer direct buffers for pooled allocators if not explicit disabled (&lt;a href="https://github.com/netty/netty/pull/15232"&gt;#15232&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Update to netty-tcnative 2.0.72.Final (&lt;a href="https://github.com/netty/netty/pull/15240"&gt;#15240&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring:properly handle ERRNO_ECANCELED_NEGATIVE in splice (&lt;a href="https://github.com/netty/netty/pull/15250"&gt;#15250&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix netty-buffer OSGi metadata (&lt;a href="https://github.com/netty/netty/pull/15274"&gt;#15274&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Kqueue: Delay removal from registration map to fix noisy warnings (&lt;a href="https://github.com/netty/netty/pull/15279"&gt;#15279&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;StreamBufferingEncoder doesn't work when settings auto-ack is disabled (&lt;a href="https://github.com/netty/netty/pull/15301"&gt;#15301&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add SETTINGS_ENABLE_CONNECT_PROTOCOL to the default HTTP/2 settings (&lt;a href="https://github.com/netty/netty/pull/15312"&gt;#15312&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details please visit our &lt;a href="https://github.com/netty/netty/issues?q=milestone%3A4.2.2.Final+is%3Aclosed"&gt;bug tracker&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/andilem"&gt;@andilem&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/asolntsev"&gt;@asolntsev&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/daschl"&gt;@daschl&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/doom369"&gt;@doom369&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/dreamlike-ocean"&gt;@dreamlike-ocean&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/franz1981"&gt;@franz1981&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/gabor-farkas"&gt;@gabor-farkas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/He-Pin"&gt;@He-Pin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/huskar-t"&gt;@huskar-t&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/idelpivnitskiy"&gt;@idelpivnitskiy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/laosijikaichele"&gt;@laosijikaichele&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/m1ngyuan"&gt;@m1ngyuan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/Munoon"&gt;@Munoon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/NathanChan"&gt;@NathanChan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/rovarga"&gt;@rovarga&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/schiemon"&gt;@schiemon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/wendigo"&gt;@wendigo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/violetagg"&gt;@violetagg&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/yawkat"&gt;@yawkat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2025/06/03/4-1-122-Final.html</id>
<title>Netty 4.1.122.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2025-06-03T00:00:00+00:00</published>
<link href="http://netty.io/news/2025/06/03/4-1-122-Final.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty 4.1.122.Final. This is a bug-fix release.

The most important changes are:


DirContextUtils.addNameServer(...) should just catch Exception internally (#15108)
Make public API specify explicit maxAllocation to prevent OOM (#15122)
Fix concurrent ByteBuf write access bug in adaptive allocator (#15132)
Fix transport-native-kqueue Bundle-SymbolicNames (#15075)
Fix resolver-dns-native-macos Bundle-SymbolicNames (#15076)
Always correctly calculate the memory address of the ByteBuf even if sun.misc.Unsafe is not usable (#15144)
Upgrade lz4 dependencies as the old version did not correctly handle ByteBuffer that have an arrayOffset &gt; 0 (#15147)
Optimize ByteBuf.setCharSequence for adaptive allocator (#15170)
Kqueue: Fix registration failure when fd is reused (#15162)
Make JdkZlibEncoder accept Deflater.DEFAULT_COMPRESSION as level...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty 4.1.122.Final. This is a bug-fix release.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DirContextUtils.addNameServer(...) should just catch Exception internally (&lt;a href="https://github.com/netty/netty/issues/15108"&gt;#15108&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Make public API specify explicit maxAllocation to prevent OOM (&lt;a href="https://github.com/netty/netty/pull/15122"&gt;#15122&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix concurrent ByteBuf write access bug in adaptive allocator (&lt;a href="https://github.com/netty/netty/pull/15132"&gt;#15132&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix transport-native-kqueue Bundle-SymbolicNames (&lt;a href="https://github.com/netty/netty/pull/15075"&gt;#15075&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix resolver-dns-native-macos Bundle-SymbolicNames (&lt;a href="https://github.com/netty/netty/pull/15076"&gt;#15076&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Always correctly calculate the memory address of the ByteBuf even if sun.misc.Unsafe is not usable (&lt;a href="https://github.com/netty/netty/pull/15144"&gt;#15144&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Upgrade lz4 dependencies as the old version did not correctly handle ByteBuffer that have an arrayOffset &amp;gt; 0 (&lt;a href="https://github.com/netty/netty/pull/15147"&gt;#15147&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Optimize ByteBuf.setCharSequence for adaptive allocator (&lt;a href="https://github.com/netty/netty/pull/15170"&gt;#15170&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Kqueue: Fix registration failure when fd is reused (&lt;a href="https://github.com/netty/netty/pull/15162"&gt;#15162&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Make JdkZlibEncoder accept Deflater.DEFAULT_COMPRESSION as level (&lt;a href="https://github.com/netty/netty/pull/15220"&gt;#15220&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Ensure OpenSsl.availableJavaCipherSuites does not contain null values (&lt;a href="https://github.com/netty/netty/pull/15219"&gt;#15219&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Always prefer direct buffers for pooled allocators if not explicit disabled (&lt;a href="https://github.com/netty/netty/pull/15245"&gt;#15245&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Update to netty-tcnative 2.0.72.Final (&lt;a href="https://github.com/netty/netty/pull/15248"&gt;#15248&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Re-enable sun.misc.Unsafe by default on Java 24+ (&lt;a href="https://github.com/netty/netty/pull/15296"&gt;#15296&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Kqueue: Delay removal from registration map to fix noisy warnings  (&lt;a href="https://github.com/netty/netty/pull/15293"&gt;#15293&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details please visit our &lt;a href="https://github.com/netty/netty/issues?q=milestone%3A4.1.122.Final+is%3Aclosed"&gt;bug tracker&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Special note&lt;/h2&gt;

&lt;p&gt;We decided to enable &lt;code&gt;sun.misc.Unsafe&lt;/code&gt; by default again when using JDK24+ (when possible) as disabling it by default on this java versions did come with quite a performance regression.
For more details see (&lt;a href="https://github.com/netty/netty/pull/15296"&gt;#15296&lt;/a&gt;). Be aware that this is only needed for 4.1.x, in 4.2.x we are able to fix this in another way that does not require the usage of &lt;code&gt;sun.misc.Unsafe&lt;/code&gt;.&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/daschl"&gt;@daschl&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/DeviLab"&gt;@DeviLab&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/doom369"&gt;@doom369&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/idelpivnitskiy"&gt;@idelpivnitskiy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/leonchen83"&gt;@leonchen83&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/rovarga"&gt;@rovarga&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/violetagg"&gt;@violetagg&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2025/05/06/4-2-1.html</id>
<title>Netty 4.2.1.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2025-05-06T00:00:00+00:00</published>
<link href="http://netty.io/news/2025/05/06/4-2-1.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty 4.2.1.Final. This is our first bug-fix release for the 4.2 release train.

The most important changes are:


Add necessary native-image configuration files (#14928)
Graduate the QUIC codec from incubator to Netty Core (#14979)
IoUring: Share IovArray to reduce jitter and allocations (#14996)
Optionally depend on bctls-jdk15on, take 2 (#14998)
Fix the issue where pendingTimeouts may be incorrect in the HashedWheelTimer (#15000)
SSL: Clear native error if named group is not supported (#15001)
ManualIoEventLoop: Correctly calculate delayNanos and deadlineNanos (#15002)
Make public API specify explicit maxAllocation to prevent OOM (#15005)
fix: Crash early on custom native workdir failure (#15009)
Add support for ML-KEM...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty 4.2.1.Final. This is our first bug-fix release for the 4.2 release train.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add necessary native-image configuration files (&lt;a href="https://github.com/netty/netty/issues/14928"&gt;#14928&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Graduate the QUIC codec from incubator to Netty Core (&lt;a href="https://github.com/netty/netty/pull/14979"&gt;#14979&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Share IovArray to reduce jitter and allocations (&lt;a href="https://github.com/netty/netty/pull/14996"&gt;#14996&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Optionally depend on bctls-jdk15on, take 2 (&lt;a href="https://github.com/netty/netty/pull/14998"&gt;#14998&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix the issue where pendingTimeouts may be incorrect in the HashedWheelTimer (&lt;a href="https://github.com/netty/netty/pull/15000"&gt;#15000&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;SSL: Clear native error if named group is not supported (&lt;a href="https://github.com/netty/netty/pull/15001"&gt;#15001&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;ManualIoEventLoop: Correctly calculate delayNanos and deadlineNanos (&lt;a href="https://github.com/netty/netty/pull/15002"&gt;#15002&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Make public API specify explicit maxAllocation to prevent OOM (&lt;a href="https://github.com/netty/netty/pull/15005"&gt;#15005&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;fix: Crash early on custom native workdir failure (&lt;a href="https://github.com/netty/netty/pull/15009"&gt;#15009&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add support for ML-KEM in CertificateBuilder (&lt;a href="https://github.com/netty/netty/pull/15012"&gt;#15012&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Correct computation for suboptimal chunk retirement probability (&lt;a href="https://github.com/netty/netty/pull/15015"&gt;#15015&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;fix: WebSocketClientCompressionHandler shouldn't claim window bits support when jzlib is not available (&lt;a href="https://github.com/netty/netty/pull/15018"&gt;#15018&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add  "unpadded" support to Base64 encoder/decoder (&lt;a href="https://github.com/netty/netty/pull/15030"&gt;#15030&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix bug in method AdaptivePoolingAllocator.allocateWithoutLock(...) (&lt;a href="https://github.com/netty/netty/pull/15031"&gt;#15031&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix a Bytebuf leak in TcpDnsQueryDecoder (&lt;a href="https://github.com/netty/netty/pull/15033"&gt;#15033&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add ticker to ManualIoEventLoop (&lt;a href="https://github.com/netty/netty/pull/15043"&gt;#15043&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Ensure that the buffer group is properly set before channel::read (&lt;a href="https://github.com/netty/netty/pull/15054"&gt;#15054&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix transport-native-epoll Bundle-SymbolicNames (&lt;a href="https://github.com/netty/netty/pull/15059"&gt;#15059&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;ManualIoEventLoop.run(-1) should be handled like runNow() (&lt;a href="https://github.com/netty/netty/pull/15064"&gt;#15064&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix transport-native-kqueue Bundle-SymbolicNames (&lt;a href="https://github.com/netty/netty/pull/15065"&gt;#15065&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix transport-native-io_uring Bundle-SymbolicNames (&lt;a href="https://github.com/netty/netty/pull/15066"&gt;#15066&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix resolver-dns-native-macos Bundle-SymbolicNames (&lt;a href="https://github.com/netty/netty/pull/15067"&gt;#15067&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix init order of PlatformDependent0 fields (&lt;a href="https://github.com/netty/netty/pull/15077"&gt;#15077&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Rename native lib so incubator version and new version can co-exists (&lt;a href="https://github.com/netty/netty/pull/15098"&gt;#15098&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Update to netty-tcnative 2.0.71.Final (&lt;a href="https://github.com/netty/netty/pull/15103"&gt;#15103&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Disable support for RECVSEND_BUNDLE for now (&lt;a href="https://github.com/netty/netty/pull/15104"&gt;#15104&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;DirContextUtils.addNameServer(...) should just catch Exception internally (&lt;a href="https://github.com/netty/netty/pull/15105"&gt;#15105&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Use keytool from java.home (&lt;a href="https://github.com/netty/netty/pull/15121"&gt;#15121&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details please visit our &lt;a href="https://github.com/netty/netty/issues?q=milestone%3A4.2.1.Final+is%3Aclosed"&gt;bug tracker&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/asolntsev"&gt;@asolntsev&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/chiangzeon"&gt;@chiangzeon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/DeviLab"&gt;@DeviLab&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/dreamlike-ocean"&gt;@dreamlike-ocean&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ikhoon"&gt;@ikhoon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/iTitus"&gt;@iTitus&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/j-bahr"&gt;@j-bahr&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/l2063610646"&gt;@l2063610646&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/laosijikaichele"&gt;@laosijikaichele&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/rovarga"&gt;@rovarga&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/slandelle"&gt;@slandelle&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/Spasi"&gt;@Spasi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/violetagg"&gt;@violetagg&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/yawkat"&gt;@yawkat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2025/04/25/quic-0-0-72-Final.html</id>
<title>Netty/Incubator/Codec/Quic 0.0.72.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2025-04-25T00:00:00+00:00</published>
<link href="http://netty.io/news/2025/04/25/quic-0-0-72-Final.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty-incubator-codec-quic 0.0.72.Final. This is a bug-fix release.

The most important changes are:


Update to netty 4.1.121.Final (#792)
Correctly detect supported namedGroups during initialization (#791)
CEnsure we don't directly close the stream if we receive a STOP_SENDING frame as there might be data that was not read / processed yet. (#790)



For more details related to this release see our bug-tracker.

For more details about this codec in general please read our initial announcement.

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.


@chrisvest
@normanmaurer...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty-incubator-codec-quic 0.0.72.Final. This is a bug-fix release.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Update to netty 4.1.121.Final (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/792"&gt;#792&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Correctly detect supported namedGroups during initialization (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/791"&gt;#791&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;CEnsure we don't directly close the stream if we receive a STOP_SENDING frame as there might be data that was not read / processed yet. (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/790"&gt;#790&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details related to this release see our &lt;a href="https://github.com/netty/netty-incubator-codec-quic/issues?q=is%3Aclosed+milestone%3A0.0.72.Final"&gt;bug-tracker&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For more details about this codec in general please read our &lt;a href="https://netty.io/news/2020/12/09/quic-0-0-1-Final.html"&gt;initial announcement&lt;/a&gt;.&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2025/04/24/4-1-121-Final.html</id>
<title>Netty 4.1.121.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2025-04-24T00:00:00+00:00</published>
<link href="http://netty.io/news/2025/04/24/4-1-121-Final.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty 4.1.121.Final. We did a quick followup release as something went wrong during our release of 4.1.120.Final yesterday and so required a different GLIBC version as expected when using our native transport.

The most important changes are:


Epoll.isAvailable() returns false on Ubuntu 20.04/22.04 arch amd64 (#15073)
Fix transport-native-epoll Bundle-SymbolicNames (#15068)



For more details please visit our bug 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.


@normanmaurer
@rovarga
@violetagg...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty 4.1.121.Final. We did a quick followup release as something went wrong during our release of 4.1.120.Final yesterday and so required a different GLIBC version as expected when using our native transport.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Epoll.isAvailable() returns false on Ubuntu 20.04/22.04 arch amd64 (&lt;a href="https://github.com/netty/netty/issues/15073"&gt;#15073&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix transport-native-epoll Bundle-SymbolicNames (&lt;a href="https://github.com/netty/netty/pull/15068"&gt;#15068&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details please visit our &lt;a href="https://github.com/netty/netty/issues?q=milestone%3A4.1.121.Final+is%3Aclosed"&gt;bug tracker&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/rovarga"&gt;@rovarga&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/violetagg"&gt;@violetagg&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2025/04/23/4-1-120-Final.html</id>
<title>Netty 4.1.120.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2025-04-23T00:00:00+00:00</published>
<link href="http://netty.io/news/2025/04/23/4-1-120-Final.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty 4.1.120.Final. This is a bug-fix release.

The most important changes are:


Fix flawed termination condition check in HttpPostRequestEncoder#encodeNextChunkUrlEncoded(int) for current InterfaceHttpData (#14799)
Exposed decoderEnforceMaxConsecutiveEmptyDataFrames and decoderEnforceMaxRstFramesPerWindow (#14892)
ThreadExecutorMap must restore old EventExecutor (#14899)
Make Recycler virtual thread friendly (#14892)
Disable sun.misc.Unsafe by default on Java 24+ (#14943)
Adaptive: Correctly enforce leak detection when using AdaptiveByteBufAllocator (#14949)
Add suppressed exception to original cause when calling Future.sync* (#14985)
Add SETTINGS_ENABLE_CONNECT_PROTOCOL to the default HTTP/2 settings (#14995)
Correct computation for suboptimal chunk retirement probability (#15014)
Fix bug in method AdaptivePoolingAllocator.allocateWithoutLock(...) (#15032)
Fix a Bytebuf leak in TcpDnsQueryDecoder (#15035)
SSL: Clear native error if named group is not...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty 4.1.120.Final. This is a bug-fix release.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix flawed termination condition check in HttpPostRequestEncoder#encodeNextChunkUrlEncoded(int) for current InterfaceHttpData (&lt;a href="https://github.com/netty/netty/pull/14799"&gt;#14799&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Exposed decoderEnforceMaxConsecutiveEmptyDataFrames and decoderEnforceMaxRstFramesPerWindow (&lt;a href="https://github.com/netty/netty/pull/14892"&gt;#14892&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;ThreadExecutorMap must restore old EventExecutor (&lt;a href="https://github.com/netty/netty/pull/14899"&gt;#14899&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Make Recycler virtual thread friendly (&lt;a href="https://github.com/netty/netty/pull/14892"&gt;#14892&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Disable sun.misc.Unsafe by default on Java 24+ (&lt;a href="https://github.com/netty/netty/pull/14943"&gt;#14943&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Adaptive: Correctly enforce leak detection when using AdaptiveByteBufAllocator (&lt;a href="https://github.com/netty/netty/pull/14949"&gt;#14949&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add suppressed exception to original cause when calling Future.sync* (&lt;a href="https://github.com/netty/netty/pull/14985"&gt;#14985&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add SETTINGS_ENABLE_CONNECT_PROTOCOL to the default HTTP/2 settings (&lt;a href="https://github.com/netty/netty/pull/14995"&gt;#14995&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Correct computation for suboptimal chunk retirement probability (&lt;a href="https://github.com/netty/netty/pull/15014"&gt;#15014&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix bug in method AdaptivePoolingAllocator.allocateWithoutLock(...) (&lt;a href="https://github.com/netty/netty/pull/15032"&gt;#15032&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix a Bytebuf leak in TcpDnsQueryDecoder (&lt;a href="https://github.com/netty/netty/pull/15035"&gt;#15035&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;SSL: Clear native error if named group is not supported (&lt;a href="https://github.com/netty/netty/pull/15038"&gt;#15038&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;WebSocketClientCompressionHandler shouldn't claim window bits support when jzlib is not available (&lt;a href="https://github.com/netty/netty/pull/15039"&gt;#15039&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix the assignment error of maxQoS parameter in ConnAck Properties (&lt;a href="https://github.com/netty/netty/pull/15040"&gt;#15040&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details please visit our &lt;a href="https://github.com/netty/netty/issues?q=milestone%3A4.1.120.Final+is%3Aclosed"&gt;bug tracker&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/bryce-anderson"&gt;@bryce-anderson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/franz1981"&gt;@franz1981&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/gagaradio"&gt;@gagaradio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/He-Pin"&gt;@He-Pin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/idelpivnitskiy"&gt;@idelpivnitskiy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/isaacrivriv"&gt;@isaacrivriv&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/l2063610646"&gt;@l2063610646&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/laosijikaichele"&gt;@laosijikaichele&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ramtech123"&gt;@ramtech123&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/trnguyencflt"&gt;@trnguyencflt&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/violetagg"&gt;@violetagg&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/xxDark"&gt;@xxDark&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/yawkat"&gt;@yawkat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2025/04/03/4-2-0.html</id>
<title>Netty 4.2.0.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2025-04-03T00:00:00+00:00</published>
<link href="http://netty.io/news/2025/04/03/4-2-0.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
After a lot of work and many contributions from our OSS community we are thrilled to finally announce the release of netty 4.2.0.Final! Everyone using netty 4.1.x should be able to upgrade to 4.2.0.Final without any API breakage. The only new requirement is JDK8 or later (and JDK9+ for io_uring) and a more recent GLIBC version when using our native transports.

With the release of netty 4.2.0.Final we will also start to only merge bug-fixes into 4.1, new features will only be merged to 4.2 and main branches. While 4.1.x releases will only receive bug-fixes we will still support it 4.1.x...
</summary>
<content type="html">
&lt;p&gt;After a lot of work and many contributions from our OSS community we are thrilled to finally announce the release of netty 4.2.0.Final! Everyone using netty 4.1.x should be able to upgrade to 4.2.0.Final without any API breakage. The only new requirement is JDK8 or later (and JDK9+ for io_uring) and a more recent GLIBC version when using our native transports.&lt;/p&gt;

&lt;p&gt;With the release of netty 4.2.0.Final we will also start to only merge bug-fixes into 4.1, new features will only be merged to 4.2 and main branches. While 4.1.x releases will only receive bug-fixes we will still support it 4.1.x for the time beeing, so projects can take their time to upgrade to 4.2.0.Final. That said as the upgrade should be painless we advice people to do so rather sooner than later.&lt;/p&gt;

&lt;p&gt;Please refer to our &lt;a href="https://github.com/netty/netty/wiki/Netty-4.2-Migration-Guide"&gt;Migration Guide&lt;/a&gt; for all the details related to upgrades. This document also contains sections highling some best practices related to new features introduced in 4.2.&lt;/p&gt;

&lt;p&gt;Netty 4.2.0.Final will come with some exciting new features that you can learn more about detail in our &lt;a href="https://github.com/netty/netty/wiki/Netty-4.2-Migration-Guide"&gt;Migration Guide&lt;/a&gt;.&lt;/p&gt;

&lt;h1&gt;New Features&lt;/h1&gt;

&lt;p&gt;This section highlights some of the most exciting features for the end-user.&lt;/p&gt;

&lt;h2&gt;AdaptiveByteBufAllocator&lt;/h2&gt;

&lt;p&gt;In Netty 4.1.x the adaptive memory allocator was experimental. We have now made it the new default instead of the pooled allocator.&lt;/p&gt;

&lt;p&gt;We believe that most workloads will observe reduced memory usage, with performance that is on par or slightly better than the pooled allocator. The adaptive allocator automatically tunes itself to perform well for the observed workload. It was also designed from the start to work well with virtual threads.&lt;/p&gt;

&lt;h2&gt;MultiThreadIoEventLoopGroup&lt;/h2&gt;

&lt;p&gt;In previous versions of netty the &lt;code&gt;EventLoopGroup&lt;/code&gt; implementation was tightly coupled to the respective &lt;code&gt;Channel&lt;/code&gt; implementation. This made it very hard to extend existing &lt;code&gt;EventLoopGroup&lt;/code&gt;s to add functionality like instrumentation (especially because you might want to use different transports based on the platform you are running on).&lt;/p&gt;

&lt;p&gt;This has changed in 4.2.0, here you will use one &lt;code&gt;EventLoopGroup&lt;/code&gt; implementation (&lt;code&gt;MultiThreadIoEventLoopGroup&lt;/code&gt;) for all transports. This allows for easier customization of it (think of it like &lt;code&gt;ThreadPoolExecutor&lt;/code&gt; that can be extended and customized). To make this possible we extracted the whole IO handling / multiplexing to another class that is injected into the &lt;code&gt;MultiThreadIoEventLoopGroup&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;pre&gt;&lt;code class="java"&gt;new EpollEventLoopGroup();
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;becomes&lt;/p&gt;

&lt;pre&gt;&lt;code class="java"&gt;new MultiThreadIoEventLoopGroup(EpollIoHandler.newFactory();
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Other transports follow the same pattern.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;MultiThreadIoEventLoopGroup&lt;/code&gt; and &lt;code&gt;SingleThreadIoEventLoop&lt;/code&gt; provide various methods that can be overridden by the user and so provide the ability to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;get a count of registered &lt;code&gt;Channel&lt;/code&gt;s / &lt;code&gt;IoHandle&lt;/code&gt;s&lt;/li&gt;
&lt;li&gt;understand how long the io processing vs task processing took&lt;/li&gt;
&lt;li&gt;how many &lt;code&gt;Channel&lt;/code&gt;s / &lt;code&gt;IoHandle&lt;/code&gt;s were processed per loop run&lt;/li&gt;
&lt;li&gt;customize / decorate &lt;code&gt;Promise&lt;/code&gt;, &lt;code&gt;Future&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Furthermore, it is now possible to register other things than &lt;code&gt;Channel&lt;/code&gt;s, which provides a lot of possibilites to re-use netty components and also add support for other &lt;code&gt;IoHandle&lt;/code&gt; implementations which does not exists as of today. For example, this could be used to implement file IO with io_uring. For a proof of concept see &lt;a href="https://github.com/netty/netty/pull/14432"&gt;#14432&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;io_uring support&lt;/h2&gt;

&lt;p&gt;In Netty 4.2.0.Final we have graduated the io_uring transport from incubator, to a fully supported first-class transport module.&lt;/p&gt;

&lt;p&gt;As part of this work, we have made numerous refactorings to the Netty transport internals that render the incubator version entirely incompatible. The good news is that netty-transport-native-io_uring is a much superior implementation thanks to these refactorings.&lt;/p&gt;

&lt;p&gt;Integrators are encouraged to stop using the incubator module, and instead move to Netty 4.2.0.Final for its superior io_uring integration. Doing so will unfortunately require code changes. Please refer to the &lt;a href="https://github.com/netty/netty/wiki/Netty-4.2-Migration-Guide"&gt;Migration Guide&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;With the integration of io_uring into 4.2.0.Final we also will not continue to ship io_uring support for 4.1 (as part of the incubator project).
Special thanks to &lt;a href="https://github.com/axboe"&gt;@axboe&lt;/a&gt; for all the feedback and help and quickly reacting to feedback that caused changes to io_uring itself.&lt;/p&gt;

&lt;h2&gt;ManualIoEventLoop&lt;/h2&gt;

&lt;p&gt;In the past people often asked if it would be possible to "drive" the &lt;code&gt;EventLoop&lt;/code&gt; manual, which basically means to own the &lt;code&gt;Thread&lt;/code&gt; that drives the &lt;code&gt;EventLoop&lt;/code&gt; itself and decide by themselves when io / tasks are processed. This was not possible in netty 4.1 due of the tight coupling of &lt;code&gt;EventLoopGroup&lt;/code&gt;s and &lt;code&gt;Channel&lt;/code&gt;s. As this is not the case anymore with 4.2.0 we did revisit this feature request and were able to provide an implementation which does exactly what people have asked for.&lt;/p&gt;

&lt;p&gt;An example of its usage would be:&lt;/p&gt;

&lt;pre&gt;&lt;code class="java"&gt;    Thread currentThread = Thread.currentThread();
    ManualIoEventLoop eventLoop = new ManualIoEventLoop(currentThread, NioIoHandler.newFactory());
    ServerBootstrap bootstrap = new ServerBootstrap();
    Channel channel = bootstrap.channel(NioServerSocketChannel.class)
            .handler(serverHandler).bind(0);
    while (!eventLoop.isTerminated()) {
        doSomeworkOtherWork();
        eventLoop.runNow();
    }
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;code&gt;ManualIoEventLoop&lt;/code&gt; exposed various methods which allows to either run everything that is ready yet, or block until there is something ready. Please refer to the javadocs for more details.
That said this is an advanced feature and should only be used if there is a good use-case for it as care needs to be taked to process IO / tasks in a timely manner.&lt;/p&gt;

&lt;h2&gt;General changes&lt;/h2&gt;

&lt;p&gt;The most important changes in this release (compared to the previous release candidate) are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add suppressed exception to original cause when calling Future.sync* (&lt;a href="https://github.com/netty/netty/pull/14898"&gt;#14898&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Guard against possible crash when resources are accessed after closure (&lt;a href="https://github.com/netty/netty/pull/14904"&gt;#14904&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Correctly calculate ioPrio when using multishot accept (&lt;a href="https://github.com/netty/netty/pull/14907"&gt;#14907&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Correctly handle late removal of registration for multishot completions (&lt;a href="https://github.com/netty/netty/pull/14913"&gt;#14913&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Use correct native jni types in function definition (&lt;a href="https://github.com/netty/netty/pull/14914"&gt;#14914&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Expand buffer ring on the fly (&lt;a href="https://github.com/netty/netty/pull/14916"&gt;#14916&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Fix AssertionError caused by racing cancellation and completion (&lt;a href="https://github.com/netty/netty/pull/14921"&gt;#14921&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix channel de-registering executor cache clear bug (&lt;a href="https://github.com/netty/netty/pull/14924"&gt;#14924&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix allocateUninitializedArray invocation via MH (&lt;a href="https://github.com/netty/netty/pull/14931"&gt;#14931&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Ensure close completes before closing the eventloop group (&lt;a href="https://github.com/netty/netty/pull/14933"&gt;#14933&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Ensure we guard against segfaults in all cases (&lt;a href="https://github.com/netty/netty/pull/14938"&gt;#14938&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Adaptive: Correctly enforce leak detection when using AdaptiveByteBufAllocator (&lt;a href="https://github.com/netty/netty/pull/14946"&gt;#14946&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Allow to use io_uring without sun.misc.Unsafe (&lt;a href="https://github.com/netty/netty/pull/14962"&gt;#14962&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Correctly memset struct io_uring (&lt;a href="https://github.com/netty/netty/pull/14968"&gt;#14968&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Build Netty 4.2 on CentOS 7 (&lt;a href="https://github.com/netty/netty/pull/14973"&gt;#14973&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Disable sun.misc.Unsafe by default on Java 24+ (&lt;a href="https://github.com/netty/netty/pull/14975"&gt;#14975&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Allow delayed set of owningThread in ManualIoEventLoop (&lt;a href="https://github.com/netty/netty/pull/14976"&gt;#14976&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix support for DH_anon and ECDH_anon authentication methods (&lt;a href="https://github.com/netty/netty/pull/14977"&gt;#14977&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;HTTP2: Allow to manually manage window update frames when using Http2StreamChannel (&lt;a href="https://github.com/netty/netty/pull/14980"&gt;#14980&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix timeout when auto read is disabled late in io_uring (&lt;a href="https://github.com/netty/netty/pull/14989"&gt;#14989&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For all the changes please vision our &lt;a href="https://github.com/netty/netty/issues?q=is%3Aclosed+milestone%3A4.2.0.Final"&gt;issue-tracker&lt;/a&gt;.&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/axboe"&gt;@axboe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/bryce-anderson"&gt;@bryce-anderson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/dreamlike-ocean"&gt;@dreamlike-ocean&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/franz1981"&gt;@franz1981&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/He-Pin"&gt;@He-Pin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mkurz"&gt;@mkurz&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/Spasi"&gt;@Spasi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vietj"&gt;@vietj&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/yawkat"&gt;@yawkat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Beside this we also would like to thank everyone who took the time to test all the alpha, beta and release-canidates of netty 4.2.0. Without the feedback it would have been impossible to complete this release.&lt;/p&gt;

</content>
</entry>
<entry>
<id>http://netty.io/news/2025/04/01/http3-0-0-29-Final.html</id>
<title>Netty/Incubator/Codec/HTTP3 0.0.29.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2025-04-01T00:00:00+00:00</published>
<link href="http://netty.io/news/2025/04/01/http3-0-0-29-Final.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty-incubator-codec-http3 0.0.29.Final. This release update its netty-incubator-codec-quic version to 0.0.71.Final which includes a CVE fix so we recommend everyone to upgrade.
Beside this it also contains various other bugfies.

The most important changes are:


Add getter for Http3ErrorCode.code (#297)
Let header validator find host header field when :authority pseudo-header field is missing (#324)
Update to netty 4.1.118.Final (#325)
Update to netty-incubator-codec-quic 0.0.71.Final (#327)



For more details related to this release see our bug-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.


@naokiiwakami
@normanmaurer
@SaltedReed...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty-incubator-codec-http3 0.0.29.Final. This release update its netty-incubator-codec-quic version to 0.0.71.Final which includes a CVE fix so we recommend everyone to upgrade.
Beside this it also contains various other bugfies.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add getter for Http3ErrorCode.code (&lt;a href="https://github.com/netty/netty-incubator-codec-http3/issues/297"&gt;#297&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Let header validator find host header field when :authority pseudo-header field is missing (&lt;a href="https://github.com/netty/netty-incubator-codec-http3/issues/324"&gt;#324&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Update to netty 4.1.118.Final (&lt;a href="https://github.com/netty/netty-incubator-codec-http3/issues/325"&gt;#325&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Update to netty-incubator-codec-quic 0.0.71.Final (&lt;a href="https://github.com/netty/netty-incubator-codec-http3/issues/327"&gt;#327&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details related to this release see our &lt;a href="https://github.com/netty/netty-incubator-codec-http3/milestone/26?closed=1"&gt;bug-tracker&lt;/a&gt;.&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/naokiiwakami"&gt;@naokiiwakami&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/SaltedReed"&gt;@SaltedReed&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2025/03/28/quic-0-0-71-Final.html</id>
<title>Netty/Incubator/Codec/Quic 0.0.71.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2025-03-28T00:00:00+00:00</published>
<link href="http://netty.io/news/2025/03/28/quic-0-0-71-Final.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty-incubator-codec-quic 0.0.71.Final. This release fixes (CVE-2025-29908) and so you should consider upgrading as soon as possible.

The most important changes are:


QUIC hash collision DoS attack (#CVE-2025-29908)
Update to netty 4.1.118.Final (#776)
Support cancellation of various outbound operations (#779)



For more details related to this release see our bug-tracker.

For more details about this codec in general please read our initial announcement.

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.


@bryce-anderson
@chrisvest
@kb-1000
@normanmaurer
@yawkat...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty-incubator-codec-quic 0.0.71.Final. This release fixes (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/security/advisories/GHSA-hqqc-jr88-p6x2"&gt;CVE-2025-29908&lt;/a&gt;) and so you should consider upgrading as soon as possible.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;QUIC hash collision DoS attack (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/security/advisories/GHSA-hqqc-jr88-p6x2"&gt;#CVE-2025-29908&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Update to netty 4.1.118.Final (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/776"&gt;#776&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Support cancellation of various outbound operations (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/779"&gt;#779&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details related to this release see our &lt;a href="https://github.com/netty/netty-incubator-codec-quic/issues?q=is%3Aclosed+milestone%3A0.0.71.Final"&gt;bug-tracker&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For more details about this codec in general please read our &lt;a href="https://netty.io/news/2020/12/09/quic-0-0-1-Final.html"&gt;initial announcement&lt;/a&gt;.&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/bryce-anderson"&gt;@bryce-anderson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/kb-1000"&gt;@kb-1000&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/yawkat"&gt;@yawkat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2025/03/21/ohttp-0-0-18-Final.html</id>
<title>Netty/Incubator/Codec/OHTTP 0.0.18.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2025-03-21T00:00:00+00:00</published>
<link href="http://netty.io/news/2025/03/21/ohttp-0-0-18-Final.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty-incubator-codec-ohttp 0.0.18.Final. This release is a bug-fix release.

The most important changes are:


Use BoringSSL master branch (#90)
Add method to export AEAD param (#95)
Update to netty 4.1.118.Final (#96)
Allow to specific the maximum chunk size that is enforced by the OHttpVersionChunkDraft (#97)



For more details related to this release see our bug-tracker....
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty-incubator-codec-ohttp 0.0.18.Final. This release is a bug-fix release.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use BoringSSL master branch (&lt;a href="https://github.com/netty/netty-incubator-codec-ohttp/pull/90"&gt;#90&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add method to export AEAD param (&lt;a href="https://github.com/netty/netty-incubator-codec-ohttp/pull/95"&gt;#95&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Update to netty 4.1.118.Final (&lt;a href="https://github.com/netty/netty-incubator-codec-ohttp/pull/96"&gt;#96&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Allow to specific the maximum chunk size that is enforced by the OHttpVersionChunkDraft (&lt;a href="https://github.com/netty/netty-incubator-codec-ohttp/pull/97"&gt;#97&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details related to this release see our &lt;a href="https://github.com/netty/netty-incubator-codec-ohttp/milestone/18?closed=1"&gt;bug-tracker&lt;/a&gt;.&lt;/p&gt;

</content>
</entry>
<entry>
<id>http://netty.io/news/2025/03/07/4-2-0-RC4.html</id>
<title>Netty 4.2.0.RC4 released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2025-03-07T00:00:00+00:00</published>
<link href="http://netty.io/news/2025/03/07/4-2-0-RC4.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of the third release candidate for the upcoming netty version 4.2.0. Everyone using netty 4.1.x should be able to upgrade to 4.2.0.RC4 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 candidate and so shouldn't be considered for production usage yet.

Netty 4.2.0 will come...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of the third release candidate for the upcoming netty version 4.2.0. Everyone using netty 4.1.x should be able to upgrade to 4.2.0.RC4 without any API breakage. The only new requirement is JDK8 or later.&lt;/p&gt;

&lt;p&gt;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 candidate and so &lt;strong&gt;shouldn't&lt;/strong&gt; be considered for production usage yet.&lt;/p&gt;

&lt;p&gt;Netty 4.2.0 will come with some exciting new features that you can learn more about in the announcement of &lt;a href="https://netty.io/news/2024/06/12/4-2-0-Alpha1.html"&gt;netty 4.2.0.Alpha1&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The most important changes in this release are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;IoUring: Support for IORING_SETUP_CQSIZE  (&lt;a href="https://github.com/netty/netty/pull/14793"&gt;#14793&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Remove pkitesting from netty-all (&lt;a href="https://github.com/netty/netty/pull/14798"&gt;#14798&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Use buffer ring for all reads when configured. (&lt;a href="https://github.com/netty/netty/pull/14804"&gt;#14804&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Add code to support multishot in general and use ACCEPT_MULTISHOT (&lt;a href="https://github.com/netty/netty/pull/14807"&gt;#14807&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Add support for IORING_RECV_MULTISHOT (&lt;a href="https://github.com/netty/netty/pull/14818"&gt;#14818&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Fix IoBufferRing implementation (&lt;a href="https://github.com/netty/netty/pull/14827"&gt;#14827&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix NPE when upgrade message fails to aggregate (&lt;a href="https://github.com/netty/netty/pull/14831"&gt;#14831&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Bump BlockHound version to 1.0.11.RELEASE (&lt;a href="https://github.com/netty/netty/pull/14834"&gt;#14834&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;SslHandler: Fix possible NPE when executor is used for delegating (&lt;a href="https://github.com/netty/netty/pull/14833"&gt;#14833&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Fix rearm logic (&lt;a href="https://github.com/netty/netty/pull/14836"&gt;#14836&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Refill buffer ring more eagerly (&lt;a href="https://github.com/netty/netty/pull/14842"&gt;#14842&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Convenient API for specifying SNI hostname (&lt;a href="https://github.com/netty/netty/pull/14849"&gt;#14849&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Use IORING_POLL_ADD_MULTI when possible (&lt;a href="https://github.com/netty/netty/pull/14845"&gt;#14845&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add QueryStringDecoder option to leave '+' alone (&lt;a href="https://github.com/netty/netty/pull/14857"&gt;#14857&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Correctly handle pollIn notifications if there is no read pending (&lt;a href="https://github.com/netty/netty/pull/14859"&gt;#14859&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Select buffer ring once (&lt;a href="https://github.com/netty/netty/pull/14858"&gt;#14858&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Correctly cancel pollin and read when ChannelConfig.setAutoRead(false) (&lt;a href="https://github.com/netty/netty/pull/14860"&gt;#14860&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Use initialized BouncyCastle providers when available (&lt;a href="https://github.com/netty/netty/pull/14862"&gt;#14862&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Retry buffer ring based ready directly once we receive a ENOBUFS (&lt;a href="https://github.com/netty/netty/pull/14866"&gt;#14866&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Add support for recv bundles (&lt;a href="https://github.com/netty/netty/pull/14840"&gt;#14840&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Correctly retrieves the cqe capacity (&lt;a href="https://github.com/netty/netty/pull/14871"&gt;#14871&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix flawed termination condition check in HttpPostRequestEncoder (&lt;a href="https://github.com/netty/netty/pull/14870"&gt;#14870&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Guard against corrupted state when we fail to allocate for the buffer ring (&lt;a href="https://github.com/netty/netty/pull/14869"&gt;#14869&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Correctly drain all IO events before shutdown the EventLoop and so not accepted any more tasks to be scheduled. (&lt;a href="https://github.com/netty/netty/pull/14877"&gt;#14877&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Guard against reading to fast when using a buffer ring (&lt;a href="https://github.com/netty/netty/pull/14873"&gt;#14873&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Allow to specify parent IoEventLoopGroup when constructing ManualIoEventLoop (&lt;a href="https://github.com/netty/netty/pull/14889"&gt;#14889&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Fix IoUringBufferRing (&lt;a href="https://github.com/netty/netty/pull/14890"&gt;#14890&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;ThreadExecutorMap.currentExecutor() should work when using a ManualIoEventLoop (&lt;a href="https://github.com/netty/netty/pull/14888"&gt;#14888&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Optimize CompletionBuffer.processOneNow(...) (&lt;a href="https://github.com/netty/netty/pull/14894"&gt;#14894&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Exposed decoderEnforceMaxConsecutiveEmptyDataFrames and decoderEnforceMaxRstFramesPerWindow for 4.2 (&lt;a href="https://github.com/netty/netty/pull/14897"&gt;#14897&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Correctly calculate ioPrio / recvFlags when using multishot recv (&lt;a href="https://github.com/netty/netty/pull/14896"&gt;#14896&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;ThreadExecutorMap must restore old EventExecutor (&lt;a href="https://github.com/netty/netty/pull/14895"&gt;#14895&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For all the changes please vision our &lt;a href="https://github.com/netty/netty/issues?q=is%3Aclosed+milestone%3A4.2.0.RC4"&gt;issue-tracker&lt;/a&gt;.&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/bryce-anderson"&gt;@bryce-anderson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/dreamlike-ocean"&gt;@dreamlike-ocean&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/franz1981"&gt;@franz1981&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/He-Pin"&gt;@He-Pin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/isaacrivriv"&gt;@isaacrivriv&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/LinShunKang"&gt;@LinShunKang&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/violetagg"&gt;@violetagg&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/yawkat"&gt;@yawkat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Beside this we also would like to thank everyone who took the time to test 4.2.0.* so far.&lt;/p&gt;

</content>
</entry>
<entry>
<id>http://netty.io/news/2025/02/26/4-1-119-Final.html</id>
<title>Netty 4.1.119.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2025-02-26T00:00:00+00:00</published>
<link href="http://netty.io/news/2025/02/26/4-1-119-Final.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty 4.1.119.Final. This is a bug-fix release.

The most important changes are:


Replace SSL assertion with explicit record length check (#14810)
Fix NPE when upgrade message fails to aggregate
(#14816)
SslHandler: Fix possible NPE when executor is used for delegating (#14830)
Consistently add channel info in HTTP/2 logs (#14829)
Add QueryStringDecoder option to leave '+' alone (#14850)
Use initialized BouncyCastle providers when available (#14855)



For more details please visit our bug 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.


@bryce-anderson
@chrisvest
@franz1981
@He-Pin
@idelpivnitskiy
@michalvavrik
@normanmaurer
@violetagg
@yawkat...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty 4.1.119.Final. This is a bug-fix release.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Replace SSL assertion with explicit record length check (&lt;a href="https://github.com/netty/netty/pull/14810"&gt;#14810&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix NPE when upgrade message fails to aggregate
(&lt;a href="https://github.com/netty/netty/pull/14816"&gt;#14816&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;SslHandler: Fix possible NPE when executor is used for delegating (&lt;a href="https://github.com/netty/netty/pull/14830"&gt;#14830&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Consistently add channel info in HTTP/2 logs (&lt;a href="https://github.com/netty/netty/pull/14829"&gt;#14829&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add QueryStringDecoder option to leave '+' alone (&lt;a href="https://github.com/netty/netty/pull/14850"&gt;#14850&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Use initialized BouncyCastle providers when available (&lt;a href="https://github.com/netty/netty/pull/14855"&gt;#14855&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details please visit our &lt;a href="https://github.com/netty/netty/issues?q=milestone%3A4.1.119.Final+is%3Aclosed"&gt;bug tracker&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/bryce-anderson"&gt;@bryce-anderson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/franz1981"&gt;@franz1981&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/He-Pin"&gt;@He-Pin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/idelpivnitskiy"&gt;@idelpivnitskiy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/michalvavrik"&gt;@michalvavrik&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/violetagg"&gt;@violetagg&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/yawkat"&gt;@yawkat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2025/02/11/4-2-0-RC3.html</id>
<title>Netty 4.2.0.RC3 released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2025-02-11T00:00:00+00:00</published>
<link href="http://netty.io/news/2025/02/11/4-2-0-RC3.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of the third 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.RC3 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...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of the third 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.RC3 without any API breakage. The only new requirement is JDK8 or later.&lt;/p&gt;

&lt;p&gt;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 &lt;strong&gt;shouldn't&lt;/strong&gt; be considered for production usage yet.&lt;/p&gt;

&lt;p&gt;Netty 4.2.0 will come with some exciting new features that you can learn more about in the announcement of &lt;a href="https://netty.io/news/2024/06/12/4-2-0-Alpha1.html"&gt;netty 4.2.0.Alpha1&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The most important changes in this release are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;IoUring: try to enable IORING_SETUP_SUBMIT_ALL when supported by the running system (&lt;a href="https://github.com/netty/netty/pull/14677"&gt;#14677&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Create ring with IORING_SETUP_SINGLE_ISSUER and IORING_SETUP_DEFER_TASKRUN to reduce overhead (&lt;a href="https://github.com/netty/netty/pull/14699"&gt;#14699&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Only execute write related completion inline (&lt;a href="https://github.com/netty/netty/pull/14704"&gt;#14704&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Fix SubmissionQueue.addTimeout(...) and SubmissionQueue.addLinkTimeout(...) (&lt;a href="https://github.com/netty/netty/pull/14712"&gt;#14712&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoHandler: Introduce IoExecutor and pass it to IoHandlerFactory.newHandler(...) (&lt;a href="https://github.com/netty/netty/pull/14701"&gt;#14701&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Use IORING_REGISTER_RING_FDS when possible (&lt;a href="https://github.com/netty/netty/pull/14709"&gt;#14709&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Log what features are supported (&lt;a href="https://github.com/netty/netty/pull/14719"&gt;#14719&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Correctly handle submissions if the kernel does not support IORING_SETUP_SUBMIT_ALL (&lt;a href="https://github.com/netty/netty/pull/14718"&gt;#14718&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Rename IoUringIoHandlerConfiguration to IoUringIoHandlerConfig (&lt;a href="https://github.com/netty/netty/pull/14726"&gt;#14726&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add a property to control default endpoint verification (&lt;a href="https://github.com/netty/netty/pull/14731"&gt;#14731&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Allocate bytebuf without magazine lock when threads get collisions (&lt;a href="https://github.com/netty/netty/pull/14729"&gt;#14729&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Upgrade protobuf 3.16.3 -&amp;gt; 3.25.5 (&lt;a href="https://github.com/netty/netty/pull/14736"&gt;#14736&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Make StreamBufferingEncoder not send header frame with priority by default (&lt;a href="https://github.com/netty/netty/pull/14735"&gt;#14735&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IOUring: Add supported for provided buffers (&lt;a href="https://github.com/netty/netty/pull/14690"&gt;#14690&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Notify event loop termination future of unexpected exceptions (&lt;a href="https://github.com/netty/netty/pull/14737"&gt;#14737&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoRegistration: Remove usage of Future from external API and allow for wrapping (&lt;a href="https://github.com/netty/netty/pull/14744"&gt;#14744&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Rename IoExecutor to ThreadAwareExecutor and move to concurrent package (&lt;a href="https://github.com/netty/netty/pull/14747"&gt;#14747&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add support for generating ML-DSA certs with CertificateBuilder (&lt;a href="https://github.com/netty/netty/pull/14741"&gt;#14741&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix AccessControlException in GlobalEventExecutor (&lt;a href="https://github.com/netty/netty/pull/14754"&gt;#14754&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix possible buffer leak when stream can't be mapped (&lt;a href="https://github.com/netty/netty/pull/14755"&gt;#14755&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Preserve optionality of dependencies in netty-all (&lt;a href="https://github.com/netty/netty/pull/14751"&gt;#14751&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoEventLoop*: Move default methods to IoEventLoopGroup (&lt;a href="https://github.com/netty/netty/pull/14764"&gt;#14764&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Remove IoUringChannelOption.IOSQE_ASYNC (&lt;a href="https://github.com/netty/netty/pull/14765"&gt;#14765&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Remove IoUringChannelOption.POLL_FIRST (&lt;a href="https://github.com/netty/netty/pull/14763"&gt;#14763&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Handle read errors because of no space in the buffer ring as no op (&lt;a href="https://github.com/netty/netty/pull/14767"&gt;#14767&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Use IORING_RECVSEND_POLL_FIRST even when using buffer ring. (&lt;a href="https://github.com/netty/netty/pull/14766"&gt;#14766&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Revert new constructor of DefaultPromise (&lt;a href="https://github.com/netty/netty/pull/14771"&gt;#14771&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: IoUringBufferRing group ids should allow value of 0 (&lt;a href="https://github.com/netty/netty/pull/14776"&gt;#14776&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Reduce pipeline stack depth and improve performance (&lt;a href="https://github.com/netty/netty/pull/14705"&gt;#14705&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Introduce ManualIoEventLoop that allows the user to keep control over the EventLoop processing (&lt;a href="https://github.com/netty/netty/pull/14749"&gt;#14749&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Add support for Incremental provided buffer consumption (&lt;a href="https://github.com/netty/netty/pull/14783"&gt;#14783&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;AdaptivePoolingAllocator: Round chunk sizes up to MIN_CHUNK_SIZE units and reduce chunk release frequency (&lt;a href="https://github.com/netty/netty/pull/14781"&gt;#14781&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Make buffer ring selection more flexible (&lt;a href="https://github.com/netty/netty/pull/14786"&gt;#14786&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Improve our implementation of the IoUringBufferRing (&lt;a href="https://github.com/netty/netty/pull/14788"&gt;#14788&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Lazy fill IoBufferRing (&lt;a href="https://github.com/netty/netty/pull/14789"&gt;#14789&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Upgrade netty-tcnative to 2.0.70.Final (&lt;a href="https://github.com/netty/netty/pull/14792"&gt;#14792&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For all the changes please vision our &lt;a href="https://github.com/netty/netty/milestone/304?closed=1"&gt;issue-tracker&lt;/a&gt;.&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/bryce-anderson"&gt;@bryce-anderson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/dreamlike-ocean"&gt;@dreamlike-ocean&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/franz1981"&gt;@franz1981&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/He-Pin"&gt;@He-Pin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vad0"&gt;@vad0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/yawkat"&gt;@yawkat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Beside this we also would like to thank everyone who took the time to test 4.2.0.* so far.&lt;/p&gt;

</content>
</entry>
<entry>
<id>http://netty.io/news/2025/02/10/4-1-118-Final.html</id>
<title>Netty 4.1.118.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2025-02-10T00:00:00+00:00</published>
<link href="http://netty.io/news/2025/02/10/4-1-118-Final.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty 4.1.118.Final. This is a bug-fix release but also fixes a (critical CVE) in our SSL implementation. Please upgrade as soon as possible if you use our native SSL implementation.

The most important changes are:


SslHandler doesn't correctly validate packets which can lead to native crash when using native SSLEngine (CVE-2025-24970)
Denial of Service attack on windows app using Netty, again (CVE-2025-25193)
Upgrade netty-tcnative to 2.0.70.Final (#14790)
Fix recycling in CodecOutputList (#14706)
Allocate bytebuf without magazine lock when threads get collisions (#14594)
Make StreamBufferingEncoder not send header frame with priority by default (#14732)
Notify event loop termination future of unexpected...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty 4.1.118.Final. This is a bug-fix release but also fixes a (&lt;a href="https://github.com/netty/netty/security/advisories/GHSA-4g8c-wm8x-jfhw"&gt;&lt;strong&gt;critical CVE&lt;/strong&gt;&lt;/a&gt;) in our SSL implementation. Please upgrade as soon as possible if you use our native SSL implementation.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SslHandler doesn't correctly validate packets which can lead to native crash when using native SSLEngine (&lt;a href="https://github.com/netty/netty/security/advisories/GHSA-4g8c-wm8x-jfhw"&gt;CVE-2025-24970&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Denial of Service attack on windows app using Netty, again (&lt;a href="https://github.com/netty/netty/security/advisories/GHSA-389x-839f-4rhx"&gt;CVE-2025-25193&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Upgrade netty-tcnative to 2.0.70.Final (&lt;a href="https://github.com/netty/netty/pull/14790"&gt;#14790&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix recycling in CodecOutputList (&lt;a href="https://github.com/netty/netty/pull/14706"&gt;#14706&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Allocate bytebuf without magazine lock when threads get collisions (&lt;a href="https://github.com/netty/netty/pull/14594"&gt;#14594&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Make StreamBufferingEncoder not send header frame with priority by default (&lt;a href="https://github.com/netty/netty/pull/14732"&gt;#14732&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Notify event loop termination future of unexpected exceptions (&lt;a href="https://github.com/netty/netty/pull/14734"&gt;#14734&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;KQueueEventLoop leaks memory on shutdown (&lt;a href="https://github.com/netty/netty/pull/14745"&gt;#14745&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix AccessControlException in GlobalEventExecutor (&lt;a href="https://github.com/netty/netty/pull/14743"&gt;#14743&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix possible buffer leak when stream can't be mapped (&lt;a href="https://github.com/netty/netty/pull/14746"&gt;#14746&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;AdaptivePoolingAllocator: Round chunk sizes up to MIN_CHUNK_SIZE units and reduce chunk release frequency (&lt;a href="https://github.com/netty/netty/pull/14763"&gt;#14763&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details please visit our &lt;a href="https://github.com/netty/netty/issues?q=milestone%3A4.1.118.Final+is%3Aclosed"&gt;bug tracker&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/adwsingh"&gt;@adwsingh&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/Akshay-Sundarraj"&gt;@Akshay-Sundarraj&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/bryce-anderson"&gt;@bryce-anderson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ejona86"&gt;@ejona86&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/franz1981"&gt;@franz1981&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/He-Pin"&gt;@He-Pin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/idelpivnitskiy"&gt;@idelpivnitskiy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ivanangelov"&gt;@ivanangelov&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/johnou"&gt;@johnou&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/laosijikaichele"&gt;@laosijikaichele&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/reta"&gt;@reta&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vietj"&gt;@vietj&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vio-lin"&gt;@vio-lin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/yawkat"&gt;@yawkat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2025/01/20/4-2-0-RC2.html</id>
<title>Netty 4.2.0.RC2 released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2025-01-20T00:00:00+00:00</published>
<link href="http://netty.io/news/2025/01/20/4-2-0-RC2.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of the second 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...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of the second 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.&lt;/p&gt;

&lt;p&gt;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 &lt;strong&gt;shouldn't&lt;/strong&gt; be considered for production usage yet.&lt;/p&gt;

&lt;p&gt;Netty 4.2.0 will come with some exciting new features that you can learn more about in the announcement of &lt;a href="https://netty.io/news/2024/06/12/4-2-0-Alpha1.html"&gt;netty 4.2.0.Alpha1&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The most important changes in this release are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;IoUring: IoUringRegistration.cancel() didn't remove registration when called only once (&lt;a href="https://github.com/netty/netty/pull/14536"&gt;#14536&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Use IORING_RECVSEND_POLL_FIRST when we are sure there is no more data on the socket (&lt;a href="https://github.com/netty/netty/pull/14552"&gt;#14552&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Spdy: Add UnknownFrame parsing support for SpdyFrameCodec (&lt;a href="https://github.com/netty/netty/pull/14561"&gt;#14561&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Adaptive: Correctly restore allocatedBytes value on failure (&lt;a href="https://github.com/netty/netty/pull/14577"&gt;#14577&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add BlockHound exceptions for AdaptivePoolingAllocator (&lt;a href="https://github.com/netty/netty/pull/14564"&gt;#14564&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Adapt: Only add Chunk to central Queue if unused (&lt;a href="https://github.com/netty/netty/pull/14580"&gt;#14580&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Adapt: Don't fail when we run on a host with 1 core (&lt;a href="https://github.com/netty/netty/pull/14582"&gt;#14582&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Timer: Add callback users can override to cleanup on cancellation (&lt;a href="https://github.com/netty/netty/pull/14571"&gt;#14571&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Adapt: Ensure Chunks from the central Queue are re-used even if there are Magazine local cached Chunks (&lt;a href="https://github.com/netty/netty/pull/14581"&gt;#14581&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Allow PcapWriteHandler to output PCAP files larger than 2GB (&lt;a href="https://github.com/netty/netty/pull/14587"&gt;#14587&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Allow to configure if POLLIN should be used or not (&lt;a href="https://github.com/netty/netty/pull/14605"&gt;#14605&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Limit the task run per EventLoop tick via a timeout (&lt;a href="https://github.com/netty/netty/pull/14557"&gt;#14557&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Make use of IORING_CQE_F_SOCK_NONEMPTY and IORING_ACCEPT_DONT_WAIT (&lt;a href="https://github.com/netty/netty/pull/14610"&gt;#14610&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Also make use of IORING_RECVSEND_POLL_FIRST for accept (&lt;a href="https://github.com/netty/netty/pull/14617"&gt;#14617&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Support BouncyCastle FIPS for reading PEM files (&lt;a href="https://github.com/netty/netty/pull/14620"&gt;#14620&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix classloader leaks in GlobalEventExecutor (&lt;a href="https://github.com/netty/netty/pull/14622"&gt;#14622&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Dns: Correctly encode DnsPtrRecord (&lt;a href="https://github.com/netty/netty/pull/14630"&gt;#14630&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;FWD: Make DefaultResourceLeak more resilient against OOM (&lt;a href="https://github.com/netty/netty/pull/14638"&gt;#14638&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;SslHandler: Ensure buffers are never leaked when wrap(...) produce SSLException (&lt;a href="https://github.com/netty/netty/pull/14651"&gt;#14651&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Provides Brotli settings without com.aayushatharva.brotli4j dependency (&lt;a href="https://github.com/netty/netty/pull/14655"&gt;#14655&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;OpenSslSession: Add support to defensively check for peer certs (&lt;a href="https://github.com/netty/netty/pull/14653"&gt;#14653&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Adaptive: Only use ThreadLocal if called from FastThreadLocalThread in case of temporary byte[] allocation (&lt;a href="https://github.com/netty/netty/pull/14625"&gt;#14625&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Correctly handle comments appended to nameserver declarations (&lt;a href="https://github.com/netty/netty/pull/14663"&gt;#14663&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Add IoUringChannelOption.IOSQE_ASYNC (&lt;a href="https://github.com/netty/netty/pull/14633"&gt;#14633&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Release IovArray on submit failure (&lt;a href="https://github.com/netty/netty/pull/14667"&gt;#14667&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Correctly handle submission failures when using MsgHdrMemoryArray (&lt;a href="https://github.com/netty/netty/pull/14666"&gt;#14666&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Revert "IoUring: Remove delayed close logic as its not needed (&lt;a href="https://github.com/netty/netty/pull/14665"&gt;#14665&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Keep on reading data until nothing is left to read on a socket (&lt;a href="https://github.com/netty/netty/pull/14668"&gt;#14668&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Log submission failures via tracing level as these are expected (&lt;a href="https://github.com/netty/netty/pull/14671"&gt;#14671&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Use IORING_ACCEPT_POLL_FIRST instead of IORING_RECVSEND_POLL_FIRST (&lt;a href="https://github.com/netty/netty/pull/14669"&gt;#14669&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Add support for IORING_REGISTER_IOWQ_MAX_WORKERS (&lt;a href="https://github.com/netty/netty/pull/14650"&gt;#14650&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Correctly handle IORING_CQE_F_SOCK_NONEMPTY for accepts (&lt;a href="https://github.com/netty/netty/pull/14682"&gt;#14682&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Only use IORING_ACCEPT_POLL_FIRST and IORING_ACCEPT_DONTWAIT if supported by kernel (&lt;a href="https://github.com/netty/netty/pull/14680"&gt;#14680&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Check if IORING_RECVSEND_POLL_FIRST is supported before using it (&lt;a href="https://github.com/netty/netty/pull/14683"&gt;#14683&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Force submit and instantly running completions when Channel becomes unwritable (&lt;a href="https://github.com/netty/netty/pull/14693"&gt;#14693&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Submit after completion queue was processed (&lt;a href="https://github.com/netty/netty/pull/14696"&gt;#14696&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For all the changes please vision our &lt;a href="https://github.com/netty/netty/milestone/302?closed=1"&gt;issue-tracker&lt;/a&gt;.&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/bryce-anderson"&gt;@bryce-anderson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/dreamlike-ocean"&gt;@dreamlike-ocean&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/franz1981"&gt;@franz1981&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/He-Pin"&gt;@He-Pin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/hyperxpro"&gt;@hyperxpro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/kolstae"&gt;@kolstae&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/yawkat"&gt;@yawkat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Beside this we also would like to thank everyone who took the time to test 4.2.0.* so far.&lt;/p&gt;

</content>
</entry>
<entry>
<id>http://netty.io/news/2025/01/14/4-1-117-Final.html</id>
<title>Netty 4.1.117.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2025-01-14T00:00:00+00:00</published>
<link href="http://netty.io/news/2025/01/14/4-1-117-Final.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty 4.1.117.Final. This is a bug-fix release.

The most important changes are:


Fix classloader leaks in GlobalEventExecuto (#14616)
Support BouncyCastle FIPS for reading PEM files (#14618)
Dns: Correctly encode DnsPtrRecord (#14628)
Provides Brotli settings without com.aayushatharva.brotli4j dependency (#14629)
Make DefaultResourceLeak more resilient against OOM (#14642)
OpenSslSession: Add support to defensively check for peer certs (#14641)
Reentrant close in EmbeddedChannel (#14642)
SslHandler: Ensure buffers are never leaked when wrap(...) produce SSLException (#14647)
Adaptive: Only use ThreadLocal if called from FastThreadLocalThread in case of temporary byte[] allocation (#14656)
Correcly handle comments appended to nameserver declarations (#14658)



For more details please visit our bug tracker

Thank You

Every idea...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty 4.1.117.Final. This is a bug-fix release.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix classloader leaks in GlobalEventExecuto (&lt;a href="https://github.com/netty/netty/pull/14616"&gt;#14616&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Support BouncyCastle FIPS for reading PEM files (&lt;a href="https://github.com/netty/netty/pull/14618"&gt;#14618&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Dns: Correctly encode DnsPtrRecord (&lt;a href="https://github.com/netty/netty/pull/14628"&gt;#14628&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Provides Brotli settings without com.aayushatharva.brotli4j dependency (&lt;a href="https://github.com/netty/netty/pull/14629"&gt;#14629&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Make DefaultResourceLeak more resilient against OOM (&lt;a href="https://github.com/netty/netty/pull/14642"&gt;#14642&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;OpenSslSession: Add support to defensively check for peer certs (&lt;a href="https://github.com/netty/netty/pull/14641"&gt;#14641&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Reentrant close in EmbeddedChannel (&lt;a href="https://github.com/netty/netty/pull/14642"&gt;#14642&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;SslHandler: Ensure buffers are never leaked when wrap(...) produce SSLException (&lt;a href="https://github.com/netty/netty/pull/14647"&gt;#14647&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Adaptive: Only use ThreadLocal if called from FastThreadLocalThread in case of temporary byte[] allocation (&lt;a href="https://github.com/netty/netty/pull/14656"&gt;#14656&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Correcly handle comments appended to nameserver declarations (&lt;a href="https://github.com/netty/netty/pull/14658"&gt;#14658&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details please visit our &lt;a href="https://github.com/netty/netty/issues?q=milestone%3A4.1.117.Final+is%3Aclosed"&gt;bug tracker&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/bryce-anderson"&gt;@bryce-anderson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/CGQAQ"&gt;@CGQAQ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/daschl"&gt;@daschl&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/devromik"&gt;@devromik&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/FelixMarxIBM"&gt;@FelixMarxIBM&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/franz1981"&gt;@franz1981&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/He-Pin"&gt;@He-Pin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/hyperxpro"&gt;@hyperxpro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/idelpivnitskiy"&gt;@idelpivnitskiy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jwojcie"&gt;@jwojcie&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/laosijikaichele"&gt;@laosijikaichele&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ninja-"&gt;@ninja-&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/raccoonback"&gt;@raccoonback&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/Tiller"&gt;@Tiller&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/yawkat"&gt;@yawkat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2024/12/27/io_uring_0-0-26-Final.html</id>
<title>Netty/Incubator/Transport/io_uring 0.0.26.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2024-12-27T00:00:00+00:00</published>
<link href="http://netty.io/news/2024/12/27/io_uring_0-0-26-Final.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of Netty/Incubator/Transport/io_uring 0.0.26.Final.
This release is a bug fix release.

The most important changes are:


Catch completion handler errors (#244)
Update to netty 4.1.116.Final (#262)



For more details please visit our bug 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.


@chrisvest
@normanmaurer...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of Netty/Incubator/Transport/io_uring 0.0.26.Final.
This release is a bug fix release.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Catch completion handler errors (&lt;a href="https://github.com/netty/netty-incubator-transport-io_uring/pull/244"&gt;#244&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Update to netty 4.1.116.Final (&lt;a href="https://github.com/netty/netty-incubator-transport-io_uring/pull/262"&gt;#262&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details please visit our &lt;a href="https://github.com/netty/netty-incubator-transport-io_uring/issues?q=is%3Aclosed+milestone%3A0.0.26.Final"&gt;bug tracker&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2024/12/23/quic-0-0-70-Final.html</id>
<title>Netty/Incubator/Codec/Quic 0.0.70.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2024-12-23T00:00:00+00:00</published>
<link href="http://netty.io/news/2024/12/23/quic-0-0-70-Final.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty-incubator-codec-quic 0.0.70.Final. While containing bug-fixes it also comes with two new features that might come in handy for more advanced use cases.

The most important changes are:


Ensure native library is loaded before making calls in the static block (#760)
Allow the QuicConnectionIdGenerator also take the source connection id into account (#766)
New BoringSSL context option - SSL_CTX_set1_sigalgs (#765)



For more details related to this release see our bug-tracker.

For more details about this codec in general please read our initial announcement.

Thank You

Every idea and bug-report counts, and so we thought it is worth mentioning those who helped...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty-incubator-codec-quic 0.0.70.Final. While containing bug-fixes it also comes with two new features that might come in handy for more advanced use cases.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ensure native library is loaded before making calls in the static block (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/760"&gt;#760&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Allow the QuicConnectionIdGenerator also take the source connection id into account (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/766"&gt;#766&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New BoringSSL context option - SSL_CTX_set1_sigalgs (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/765"&gt;#765&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details related to this release see our &lt;a href="https://github.com/netty/netty-incubator-codec-quic/milestone/68?closed=1"&gt;bug-tracker&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For more details about this codec in general please read our &lt;a href="https://netty.io/news/2020/12/09/quic-0-0-1-Final.html"&gt;initial announcement&lt;/a&gt;.&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/jaymansfield"&gt;@jaymansfield&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/varokas"&gt;@varokas&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2024/12/17/4-1-116-Final.html</id>
<title>Netty 4.1.116.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2024-12-17T00:00:00+00:00</published>
<link href="http://netty.io/news/2024/12/17/4-1-116-Final.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty 4.1.116.Final. This is a bug-fix release.

The most important changes are:


PcapWriteHandler no longer ignores writePcapGlobalHeader (#14477)
Allow PcapWriteHandler to output PCAP files larger than 2GB (#14478)
Fix bugs in BoundedInputStream (#14480)
AdaptiveByteBufAllocator will not use threadlocal magazine if FastThreadLocalThread.willCleanupFastThreadLocals() returns false (#14486)
Fix HTTP header validation bug (#14492)
Add range check for AdaptivePoolingAllocator.CENTRAL_QUEUE_CAPACITY and MAGAZINE_BUFFER_QUEUE_CAPACITY (#14493)
Fix possible race condition in method AdaptivePoolingAllocator.offerToQueue(...) (#14495)
Make sure the sentinel Magazine.MAGAZINE_FREED not be replaced (#14502)
Decrease usedMemory of magazine when the chunk get deallocate (#14508)
Only try to use Zstd and Brotli if we can load the native libs. (#14519)
AdaptiveByteBufAllocator: Correctly manage used...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty 4.1.116.Final. This is a bug-fix release.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PcapWriteHandler no longer ignores writePcapGlobalHeader (&lt;a href="https://github.com/netty/netty/pull/14477"&gt;#14477&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Allow PcapWriteHandler to output PCAP files larger than 2GB (&lt;a href="https://github.com/netty/netty/pull/14478"&gt;#14478&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix bugs in BoundedInputStream (&lt;a href="https://github.com/netty/netty/pull/14480"&gt;#14480&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;AdaptiveByteBufAllocator will not use threadlocal magazine if FastThreadLocalThread.willCleanupFastThreadLocals() returns false (&lt;a href="https://github.com/netty/netty/pull/14486"&gt;#14486&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix HTTP header validation bug (&lt;a href="https://github.com/netty/netty/pull/14492"&gt;#14492&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add range check for AdaptivePoolingAllocator.CENTRAL_QUEUE_CAPACITY and MAGAZINE_BUFFER_QUEUE_CAPACITY (&lt;a href="https://github.com/netty/netty/pull/14493"&gt;#14493&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix possible race condition in method AdaptivePoolingAllocator.offerToQueue(...) (&lt;a href="https://github.com/netty/netty/pull/14495"&gt;#14495&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Make sure the sentinel Magazine.MAGAZINE_FREED not be replaced (&lt;a href="https://github.com/netty/netty/pull/14502"&gt;#14502&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Decrease usedMemory of magazine when the chunk get deallocate (&lt;a href="https://github.com/netty/netty/pull/14508"&gt;#14508&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Only try to use Zstd and Brotli if we can load the native libs. (&lt;a href="https://github.com/netty/netty/pull/14519"&gt;#14519&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;AdaptiveByteBufAllocator: Correctly manage used memory strategy in all cases (&lt;a href="https://github.com/netty/netty/pull/14524"&gt;#14524&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Bump BlockHound version to 1.0.10.RELEASE (&lt;a href="https://github.com/netty/netty/pull/14558"&gt;#14558&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add details to TooLongFrameException message (&lt;a href="https://github.com/netty/netty/pull/14562"&gt;#14562&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Adapt: Only add Chunk to central Queue if unused (&lt;a href="https://github.com/netty/netty/pull/14583"&gt;#14583&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Adapt: Don't fail when we run on a host with 1 core (&lt;a href="https://github.com/netty/netty/pull/14584"&gt;#14584&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Adapt: Ensure Chunks from the central Queue are re-used even if there are Magazine local cached Chunks (&lt;a href="https://github.com/netty/netty/pull/14586"&gt;#14586&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details please visit our &lt;a href="https://github.com/netty/netty/issues?q=milestone%3A4.1.116.Final+is%3Aclosed"&gt;bug tracker&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/Amossys-PGR"&gt;@Amossys-PGR&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BradleyJ-SAIC"&gt;@BradleyJ-SAIC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/bryce-anderson"&gt;@bryce-anderson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/franz1981"&gt;@franz1981&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/He-Pin"&gt;@He-Pin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/hyperxpro"&gt;@hyperxpro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/idelpivnitskiy"&gt;@idelpivnitskiy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jammyMarse"&gt;@jammyMarse&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/laosijikaichele"&gt;@laosijikaichele&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/linking12"&gt;@linking12&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/scarytom"&gt;@scarytom&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/violetagg"&gt;@violetagg&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2024/12/11/4-2-0-RC1.html</id>
<title>Netty 4.2.0.RC1 released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2024-12-11T00:00:00+00:00</published>
<link href="http://netty.io/news/2024/12/11/4-2-0-RC1.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
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...
</summary>
<content type="html">
&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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 &lt;strong&gt;shouldn't&lt;/strong&gt; be considered for production usage yet.&lt;/p&gt;

&lt;p&gt;Netty 4.2.0 will come with some exciting new features that you can learn more about in the announcement of &lt;a href="https://netty.io/news/2024/06/12/4-2-0-Alpha1.html"&gt;netty 4.2.0.Alpha1&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The most important changes in this release are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add a module for generating X.509 certificates for testing (&lt;a href="https://github.com/netty/netty/pull/14263"&gt;#14263&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Include details on why it was not possible to configure accepted issuers in the SSLException (&lt;a href="https://github.com/netty/netty/pull/14438"&gt;#14438&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Verify default named groups before using them with native SSL implementation (&lt;a href="https://github.com/netty/netty/pull/14441"&gt;#14441&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Correctly detect if KeyManager is not supported by OpenSSL version (&lt;a href="https://github.com/netty/netty/pull/14442"&gt;#14442&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Allow to set used named groups per OpenSslContext (&lt;a href="https://github.com/netty/netty/pull/14443"&gt;#14443&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Preserve ordering of default named groups during conversation (&lt;a href="https://github.com/netty/netty/pull/14449"&gt;#14449&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Specialize Adaptive's allocator Recycler based on magazine's owner (&lt;a href="https://github.com/netty/netty/pull/14454"&gt;#14454&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;PcapWriteHandler no longer ignores writePcapGlobalHeader (&lt;a href="https://github.com/netty/netty/pull/14484"&gt;#14484&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Add FileRegion support (&lt;a href="https://github.com/netty/netty/pull/14487"&gt;#14487&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;AdaptiveByteBufAllocator will not use threadlocal magazine if &lt;code&gt;FastThreadLocalThread.willCleanupFastThreadLocals()&lt;/code&gt; returns false (&lt;a href="https://github.com/netty/netty/pull/14490"&gt;#14490&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add range check for AdaptivePoolingAllocator.CENTRAL_QUEUE_CAPACITY and MAGAZINE_BUFFER_QUEUE_CAPACITY (&lt;a href="https://github.com/netty/netty/pull/14497"&gt;#14497&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix HTTP header validation bug (&lt;a href="https://github.com/netty/netty/pull/14500"&gt;#14500&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Make sure the sentinel Magazine.MAGAZINE_FREED not be replaced (&lt;a href="https://github.com/netty/netty/pull/14503"&gt;#14503&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Narrow the lock scope of &lt;code&gt;AdaptivePoolingAllocator.magazineExpandLock&lt;/code&gt; (&lt;a href="https://github.com/netty/netty/pull/14504"&gt;#14504&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Fix AssertionError when closing IoUringServerChannel twice (&lt;a href="https://github.com/netty/netty/pull/14506"&gt;#14506&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Correcly handle double closure and always cancel submitted IO ops on deregistration (&lt;a href="https://github.com/netty/netty/pull/14510"&gt;#14510&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;fix: Don't make MqttPublishMessage ensure payload accessibility (&lt;a href="https://github.com/netty/netty/pull/14512"&gt;#14512&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Decrease usedMemory of magazine when the chunk get deallocated or moved to central queue (&lt;a href="https://github.com/netty/netty/pull/14515"&gt;#14515&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;AdaptiveByteBufAllocator: Correctly manage used memory strategy in all cases (&lt;a href="https://github.com/netty/netty/pull/14516"&gt;#14516&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Use StandardCompressionOptions in all constructors of &lt;code&gt;HttpContentCompressor&lt;/code&gt; (&lt;a href="https://github.com/netty/netty/pull/14517"&gt;#14517&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Only try to use Zstd and Brotli if we can load the native libs. (&lt;a href="https://github.com/netty/netty/pull/14520"&gt;#14520&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Refactor IoUringIoOps to better match the underlying io_uring_sqe (&lt;a href="https://github.com/netty/netty/pull/14521"&gt;#14521&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Ensure buffers don't leak if submission fails (&lt;a href="https://github.com/netty/netty/pull/14525"&gt;#14525&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Correct update internal state for cancelled operations (&lt;a href="https://github.com/netty/netty/pull/14529"&gt;#14529&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Correctly handle cancelletion of close and connect (&lt;a href="https://github.com/netty/netty/pull/14531"&gt;#14531&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Always cancel all ops on deregistration / close (&lt;a href="https://github.com/netty/netty/pull/14537"&gt;#14537&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Deprecate ChannelPipeline.add*(EventExecutorGroup....) methods (&lt;a href="https://github.com/netty/netty/pull/14538"&gt;#14538&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: IoUringHandler must not manually cancel IoUringHandle on teardown (&lt;a href="https://github.com/netty/netty/pull/14539"&gt;#14539&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Implement 'inEventLoop' for UnorderedThreadPoolEventExecutor and deprecate it (&lt;a href="https://github.com/netty/netty/pull/14544"&gt;#14544&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Correctly handle accept submit failures (&lt;a href="https://github.com/netty/netty/pull/14547"&gt;#14547&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IoUring: Make static methods of IoUringIoOps package-private (&lt;a href="https://github.com/netty/netty/pull/14551"&gt;#14551&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For all the changes please vision our &lt;a href="https://github.com/netty/netty/milestone/302?closed=1"&gt;issue-tracker&lt;/a&gt;.&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BradleyJ-SAIC"&gt;@BradleyJ-SAIC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/bryce-anderson"&gt;@bryce-anderson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/dreamlike-ocean"&gt;@dreamlike-ocean&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/franz1981"&gt;@franz1981&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/He-Pin"&gt;@He-Pin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/laosijikaichele"&gt;@laosijikaichele&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/slandelle"&gt;@slandelle&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/yawkat"&gt;@yawkat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Beside this we also would like to thank everyone who took the time to test 4.2.0.* so far.&lt;/p&gt;

</content>
</entry>
<entry>
<id>http://netty.io/news/2024/11/13/quic-0-0-69-Final.html</id>
<title>Netty/Incubator/Codec/Quic 0.0.69.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2024-11-13T00:00:00+00:00</published>
<link href="http://netty.io/news/2024/11/13/quic-0-0-69-Final.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty-incubator-codec-quic 0.0.69.Final.

The most important changes are:


Use BoringSSL master branch
(#752)
Allow to configure used named groups via -Djdk.tls.namedGroup (#754)
Allow to configure groups via BoringSSLContextOption (#755)
Upgrade to netty 4.1.115.Final (#757)



For more details related to this release see our bug-tracker.

For more details about this codec in general please read our initial announcement.

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.


@ianopolous
@normanmaurer...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty-incubator-codec-quic 0.0.69.Final.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use BoringSSL master branch
(&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/752"&gt;#752&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Allow to configure used named groups via -Djdk.tls.namedGroup (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/754"&gt;#754&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Allow to configure groups via BoringSSLContextOption (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/755"&gt;#755&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Upgrade to netty 4.1.115.Final (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/757"&gt;#757&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details related to this release see our &lt;a href="https://github.com/netty/netty-incubator-codec-quic/milestone/66?closed=1"&gt;bug-tracker&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For more details about this codec in general please read our &lt;a href="https://netty.io/news/2020/12/09/quic-0-0-1-Final.html"&gt;initial announcement&lt;/a&gt;.&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/ianopolous"&gt;@ianopolous&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2024/11/12/4-1-115-Final.html</id>
<title>Netty 4.1.115.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2024-11-12T00:00:00+00:00</published>
<link href="http://netty.io/news/2024/11/12/4-1-115-Final.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty 4.1.115.Final. This is a bug-fix release but also include a fix for (CVE-2024-47535) which we rate as very low as the attacker needs to have access to the local filesystem with the right permissions.

The most important changes are:


Allow MessageToMessageDecoder to take care of reading more data when needed (#14372)
Fix SSL session resumption with ClientAuth.OPTIONAL and add tests with session tickets
(#14404)
Fix incorrect cast in NioDomainSocketChannel.parent() (#14409)
Fix bug where SslHandler may stall after TLSv1.3 handshake with delegate tasks (#14411)
AdaptiveByteBufAllocator: Make pooling of AdaptiveByteBuf magazine local (#14414)
Specialize Adaptive's allocator Recycler based on magazine's owner...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty 4.1.115.Final. This is a bug-fix release but also include a fix for (&lt;a href="https://github.com/netty/netty/security/advisories/GHSA-xq3w-v528-46rv"&gt;CVE-2024-47535&lt;/a&gt;) which we rate as very low as the attacker needs to have access to the local filesystem with the right permissions.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Allow MessageToMessageDecoder to take care of reading more data when needed (&lt;a href="https://github.com/netty/netty/pull/14372"&gt;#14372&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix SSL session resumption with ClientAuth.OPTIONAL and add tests with session tickets
(&lt;a href="https://github.com/netty/netty/pull/14404"&gt;#14404&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix incorrect cast in NioDomainSocketChannel.parent() (&lt;a href="https://github.com/netty/netty/pull/14409"&gt;#14409&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix bug where SslHandler may stall after TLSv1.3 handshake with delegate tasks (&lt;a href="https://github.com/netty/netty/pull/14411"&gt;#14411&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;AdaptiveByteBufAllocator: Make pooling of AdaptiveByteBuf magazine local (&lt;a href="https://github.com/netty/netty/pull/14414"&gt;#14414&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Specialize Adaptive's allocator Recycler based on magazine's owner (&lt;a href="https://github.com/netty/netty/pull/14421"&gt;#14421&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix epoll_wait retry loop (&lt;a href="https://github.com/netty/netty/pull/14425"&gt;#14425&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Log / include the correct error during handshake failure (&lt;a href="https://github.com/netty/netty/pull/14428"&gt;#14428&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Convey autoAckPing in http2 decoder constructor chain (&lt;a href="https://github.com/netty/netty/pull/14429"&gt;#14429&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Allow to set used named groups per OpenSslContext (&lt;a href="https://github.com/netty/netty/pull/14433"&gt;#14433&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Verify default named groups before using them with native SSL implementation (&lt;a href="https://github.com/netty/netty/pull/14434"&gt;#14434&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Include details on why it was not possible to configure accepted issuers in the SSLException (&lt;a href="https://github.com/netty/netty/pull/14435"&gt;#14435&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Correctly detect if KeyManager is not supported by OpenSSL version (&lt;a href="https://github.com/netty/netty/pull/14437"&gt;#14437&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Preserve ordering of default named groups during conversation (&lt;a href="https://github.com/netty/netty/pull/14447"&gt;#14447&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Denial of Service attack on windows app using netty (&lt;a href="https://github.com/netty/netty/security/advisories/GHSA-xq3w-v528-46rv"&gt;CVE-2024-47535&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details please visit our &lt;a href="https://github.com/netty/netty/issues?q=milestone%3A4.1.115.Final+is%3Aclosed"&gt;bug tracker&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/Amossys-PGR"&gt;@Amossys-PGR&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/bryce-anderson"&gt;@bryce-anderson&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/dsidorov"&gt;@dsidorov&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/franz1981"&gt;@franz1981&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/idelpivnitskiy"&gt;@idelpivnitskiy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/laosijikaichele"&gt;@laosijikaichele&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vietj"&gt;@vietj&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/violetagg"&gt;@violetagg&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/werkt"&gt;@werkt&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/yawkat"&gt;@yawkat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2024/11/04/4-2-0-Beta1.html</id>
<title>Netty 4.2.0.Beta1 released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2024-11-04T00:00:00+00:00</published>
<link href="http://netty.io/news/2024/11/04/4-2-0-Beta1.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of the first beta 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 alpha release and so shouldn't be considered for production usage.

Netty 4.2.0 will come with some...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of the first beta 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.&lt;/p&gt;

&lt;p&gt;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 &lt;strong&gt;shouldn't&lt;/strong&gt; be considered for production usage.&lt;/p&gt;

&lt;p&gt;Netty 4.2.0 will come with some exciting new features that you can learn more about in the announcement of &lt;a href="https://netty.io/news/2024/06/12/4-2-0-Alpha1.html"&gt;netty 4.2.0.Alpha1&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The most important changes in this release are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix SSL session resumption with ClientAuth.OPTIONAL and add tests with session tickets (&lt;a href="https://github.com/netty/netty/pull/14404"&gt;#14404&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix incorrect cast in NioDomainSocketChannel.parent() (&lt;a href="https://github.com/netty/netty/pull/14409"&gt;#14409&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix bug where SslHandler may stall after TLSv1.3 handshake with delegate tasks (&lt;a href="https://github.com/netty/netty/pull/14411"&gt;#14411&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Log / include the correct error during handshake failure (&lt;a href="https://github.com/netty/netty/pull/14428"&gt;#14428&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Update to netty-tcnative 2.0.69.Final (&lt;a href="https://github.com/netty/netty/pull/14422"&gt;#14422&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix epoll_wait retry loop (&lt;a href="https://github.com/netty/netty/pull/14425"&gt;#14425&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Allow MessageToMessageDecoder to take care of reading more data when needed (&lt;a href="https://github.com/netty/netty/pull/14372"&gt;#14372&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/bryce-anderson"&gt;@bryce-anderson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/dsidorov"&gt;@dsidorov&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/franz1981"&gt;@franz1981&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/laosijikaichele"&gt;@laosijikaichele&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/yawkat"&gt;@yawkat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Beside this we also would like to thank everyone who took the time to test 4.2.0.Alpha* so far.&lt;/p&gt;

</content>
</entry>
<entry>
<id>http://netty.io/news/2024/10/11/ohttp-0-0-17-Final.html</id>
<title>Netty/Incubator/Codec/OHTTP 0.0.17.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2024-10-11T00:00:00+00:00</published>
<link href="http://netty.io/news/2024/10/11/ohttp-0-0-17-Final.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty-incubator-codec-ohttp 0.0.17.Final. This release is a bug-fix release.

The most important changes are:


Ensure we will call read() if nothing was decoded and AUTO_READ is not used (#88)



For more details related to this release see our bug-tracker....
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty-incubator-codec-ohttp 0.0.17.Final. This release is a bug-fix release.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ensure we will call read() if nothing was decoded and AUTO_READ is not used (&lt;a href="https://github.com/netty/netty-incubator-codec-ohttp/pull/88"&gt;#88&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details related to this release see our &lt;a href="https://github.com/netty/netty-incubator-codec-ohttp/issues?q=is%3Aclosed+milestone%3A0.0.17.Final"&gt;bug-tracker&lt;/a&gt;.&lt;/p&gt;

</content>
</entry>
<entry>
<id>http://netty.io/news/2024/10/09/4-2-0-Alpha5.html</id>
<title>Netty 4.2.0.Alpha5 released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2024-10-09T00:00:00+00:00</published>
<link href="http://netty.io/news/2024/10/09/4-2-0-Alpha5.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
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...
</summary>
<content type="html">
&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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 &lt;strong&gt;shouldn't&lt;/strong&gt; be considered for production usage.&lt;/p&gt;

&lt;p&gt;Netty 4.2.0 will come with some exciting new features that you can learn more about in the announcement of &lt;a href="https://netty.io/news/2024/06/12/4-2-0-Alpha1.html"&gt;netty 4.2.0.Alpha1&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The most important changes in this release are:&lt;/p&gt;

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


&lt;p&gt;For more details please visit our &lt;a href="https://github.com/netty/netty/milestone/299?closed=1"&gt;bug tracker&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;Important&lt;/h1&gt;

&lt;p&gt;This release changes the default &lt;code&gt;ByteBufAllocator&lt;/code&gt; from &lt;code&gt;PooledByteBufAllocator&lt;/code&gt; to &lt;code&gt;AdaptiveByteBufAllocator&lt;/code&gt;. This should reduce memory overhead in general. If you want to use &lt;code&gt;PooledByteBufAllocator&lt;/code&gt; you should explicit enable it.&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/bryce-anderson"&gt;@bryce-anderson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/CLFutureX"&gt;@CLFutureX&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/dpy1123"&gt;@dpy1123&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/fadhilkurnia"&gt;@fadhilkurnia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/franz1981"&gt;@franz1981&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/freeyob"&gt;@freeyob&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/He-Pin"&gt;@He-Pin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/idelpivnitskiy"&gt;@idelpivnitskiy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/isaacrivriv"&gt;@isaacrivriv&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/linking12"&gt;@linking12&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/lsc1943"&gt;@lsc1943&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/Munoon"&gt;@Munoon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vietj"&gt;@vietj&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ww8912188"&gt;@ww8912188&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Beside this we also would like to thank everyone who took the time to test 4.2.0.Alpha* so far.&lt;/p&gt;

</content>
</entry>
<entry>
<id>http://netty.io/news/2024/10/01/4-1-114-Final.html</id>
<title>Netty 4.1.114.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2024-10-01T00:00:00+00:00</published>
<link href="http://netty.io/news/2024/10/01/4-1-114-Final.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty 4.1.114.Final. This is a bug-fix release.

The most important changes are:


Validate HTTP Method (#14280)
Release AdaptiveByteBuf when ownership could not be transfered. (#14285)
Make arenas reuse their last chunk more aggressively (#14291)
Only add Magazine to Set if we can ensure its removed again (#14292)
Ensure Chunk will not leak if init of AdaptiveByteBuf fails for whatever reason (#14295)
Correctly release one-off allocated chunks (#14302)
Ensure pooled memory is released when AdaptivePoolingAllocator is GC'ed (#14304)
Slices / duplicates of AdaptiveByteBuf must not escape the rootParent (#14310)
Fix sizeBucket bug in AdaptivePoolingAllocator (#14311)
AdaptiveByteBufAllocator: More strict reference counting for chunks (#14322)
Ensure we...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty 4.1.114.Final. This is a bug-fix release.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Validate HTTP Method (&lt;a href="https://github.com/netty/netty/pull/14280"&gt;#14280&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Release AdaptiveByteBuf when ownership could not be transfered. (&lt;a href="https://github.com/netty/netty/pull/14285"&gt;#14285&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Make arenas reuse their last chunk more aggressively (&lt;a href="https://github.com/netty/netty/pull/14291"&gt;#14291&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Only add Magazine to Set if we can ensure its removed again (&lt;a href="https://github.com/netty/netty/pull/14292"&gt;#14292&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Ensure Chunk will not leak if init of AdaptiveByteBuf fails for whatever reason (&lt;a href="https://github.com/netty/netty/pull/14295"&gt;#14295&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Correctly release one-off allocated chunks (&lt;a href="https://github.com/netty/netty/pull/14302"&gt;#14302&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Ensure pooled memory is released when AdaptivePoolingAllocator is GC'ed (&lt;a href="https://github.com/netty/netty/pull/14304"&gt;#14304&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Slices / duplicates of AdaptiveByteBuf must not escape the rootParent (&lt;a href="https://github.com/netty/netty/pull/14310"&gt;#14310&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix sizeBucket bug in AdaptivePoolingAllocator (&lt;a href="https://github.com/netty/netty/pull/14311"&gt;#14311&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;AdaptiveByteBufAllocator: More strict reference counting for chunks (&lt;a href="https://github.com/netty/netty/pull/14322"&gt;#14322&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Ensure we not store the DnsQueryContext for later removal when we couldnt obtain a query id
(&lt;a href="https://github.com/netty/netty/pull/14326"&gt;#14326&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Reduce memory fragmentation (&lt;a href="https://github.com/netty/netty/pull/14333"&gt;#14333&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Properly free magazine chunks and avoid orphaned magazines (&lt;a href="https://github.com/netty/netty/pull/14334"&gt;#14334&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Magazines must be freed under the expand lock (&lt;a href="https://github.com/netty/netty/pull/14336"&gt;#14336&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Release message before failing promise when multiple requests are written while upgrade is in progress. (&lt;a href="https://github.com/netty/netty/pull/14342"&gt;#14342&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Allow to reuse more then one session per host / port mapping (&lt;a href="https://github.com/netty/netty/pull/14356"&gt;#14356&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Ensure writes will not fail when triggered after receiving UpgradeEvent.UPGRADE_SUCCESSFUL (&lt;a href="https://github.com/netty/netty/pull/14362"&gt;#14362&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Refactor DnsNameResolver to be able to use different strategies when it comes to creating Channels for queries. (&lt;a href="https://github.com/netty/netty/pull/14374"&gt;#14374&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;DnsNameResolver: allow users to skip bind() during bootstrap (&lt;a href="https://github.com/netty/netty/pull/14375"&gt;#14375&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;DnsResolverBuilder methods should make it clear that these are for DatagramChannel (&lt;a href="https://github.com/netty/netty/pull/14379"&gt;#14379&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details please visit our &lt;a href="https://github.com/netty/netty/issues?q=milestone%3A4.1.114.Final+is%3Aclosed"&gt;bug tracker&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/bryce-anderson"&gt;@bryce-anderson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/chrisvest"&gt;@chrisvest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/CLFutureX"&gt;@CLFutureX&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/dpy1123"&gt;@dpy1123&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/fadhilkurnia"&gt;@fadhilkurnia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/franz1981"&gt;@franz1981&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/freeyob"&gt;@freeyob&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/He-Pin"&gt;@He-Pin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/idelpivnitskiy"&gt;@idelpivnitskiy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/isaacrivriv"&gt;@isaacrivriv&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/linking12"&gt;@linking12&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/lsc1943"&gt;@lsc1943&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/Munoon"&gt;@Munoon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ww8912188"&gt;@ww8912188&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
<entry>
<id>http://netty.io/news/2024/09/24/quic-0-0-68-Final.html</id>
<title>Netty/Incubator/Codec/Quic 0.0.68.Final released</title>
<updated>2026-03-25T19:22:27+00:00</updated>
<published>2024-09-24T00:00:00+00:00</published>
<link href="http://netty.io/news/2024/09/24/quic-0-0-68-Final.html" rel="alternate" type="text/html"/>
<author>
<name>normanmaurer</name>
</author>
<summary>
We are happy to announce the release of netty-incubator-codec-quic 0.0.68.Final. This is a bug-fix release.

The most important changes are:


WritabilityChanged event is triggered with wrong capacity #748
(#748)
Upgrade to netty 4.1.113.Final (#746)



For more details related to this release see our bug-tracker.

For more details about this codec in general please read our initial announcement.

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.


@mstyura
@normanmaurer
@thomdev...
</summary>
<content type="html">
&lt;p&gt;We are happy to announce the release of netty-incubator-codec-quic 0.0.68.Final. This is a bug-fix release.&lt;/p&gt;

&lt;p&gt;The most important changes are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;WritabilityChanged event is triggered with wrong capacity #748
(&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/748"&gt;#748&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Upgrade to netty 4.1.113.Final (&lt;a href="https://github.com/netty/netty-incubator-codec-quic/pull/746"&gt;#746&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For more details related to this release see our &lt;a href="https://github.com/netty/netty-incubator-codec-quic/milestone/66?closed=1"&gt;bug-tracker&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For more details about this codec in general please read our &lt;a href="https://netty.io/news/2020/12/09/quic-0-0-1-Final.html"&gt;initial announcement&lt;/a&gt;.&lt;/p&gt;

&lt;h1&gt;Thank You&lt;/h1&gt;

&lt;p&gt;Every idea and bug-report counts, and so we thought it is worth mentioning those who helped in this area.&lt;/p&gt;

&lt;p&gt;Please report an unintended omission.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/mstyura"&gt;@mstyura&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/normanmaurer"&gt;@normanmaurer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/thomdev"&gt;@thomdev&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


</content>
</entry>
</feed>