<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nginx.git/src/core, branch release-1.30.0</title>
<subtitle>nginx</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/'/>
<entry>
<title>Stable branch</title>
<updated>2026-04-14T13:10:11+00:00</updated>
<author>
<name>Sergey Kandaurov</name>
<email>pluknet@nginx.com</email>
</author>
<published>2026-04-14T09:25:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=bc4f7d78e1f3b275e74fa870516a97bca8f9bf28'/>
<id>bc4f7d78e1f3b275e74fa870516a97bca8f9bf28</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Removed CLOCK_MONOTONIC_FAST support.</title>
<updated>2026-04-03T18:57:21+00:00</updated>
<author>
<name>Eugene Grebenschikov</name>
<email>e.grebenshchikov@f5.com</email>
</author>
<published>2026-04-01T18:03:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=2ff1a969f3040f27ac2610e9840a4e802bcc39cc'/>
<id>2ff1a969f3040f27ac2610e9840a4e802bcc39cc</id>
<content type='text'>
CLOCK_MONOTONIC_FAST, like CLOCK_MONOTONIC_COARSE, has low accuracy. It
shows noticeable timing variation for short intervals, which is visible
in metrics like $upstream_response_time for fast upstream responses.
This change complements the work started in commit f29d7ade5.
In addition to the reasons described in f29d7ade5, the performance of
CLOCK_MONOTONIC is good enough on modern hardware when using a TSC
timecounter. This is especially true when it is accessed through a
shared page, as implemented in FreeBSD 10.0 (see git commits
869fd80fd449 and aea810386d8e for details).

Co-authored-by: Sergey Kandaurov &lt;pluknet@nginx.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
CLOCK_MONOTONIC_FAST, like CLOCK_MONOTONIC_COARSE, has low accuracy. It
shows noticeable timing variation for short intervals, which is visible
in metrics like $upstream_response_time for fast upstream responses.
This change complements the work started in commit f29d7ade5.
In addition to the reasons described in f29d7ade5, the performance of
CLOCK_MONOTONIC is good enough on modern hardware when using a TSC
timecounter. This is especially true when it is accessed through a
shared page, as implemented in FreeBSD 10.0 (see git commits
869fd80fd449 and aea810386d8e for details).

Co-authored-by: Sergey Kandaurov &lt;pluknet@nginx.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Version bump.</title>
<updated>2026-03-31T08:32:19+00:00</updated>
<author>
<name>Sergey Kandaurov</name>
<email>pluknet@nginx.com</email>
</author>
<published>2026-03-30T15:26:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=390767e6ec87e4957a1da6ba631790ff7e54fd3e'/>
<id>390767e6ec87e4957a1da6ba631790ff7e54fd3e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Added COMPAT section to ngx_log_t.</title>
<updated>2026-03-23T16:38:11+00:00</updated>
<author>
<name>Dmitry Plotnikov</name>
<email>d.plotnikov@f5.com</email>
</author>
<published>2026-03-19T21:20:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=c6c77e887545d17ddef495c4efa768477541576a'/>
<id>c6c77e887545d17ddef495c4efa768477541576a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>The "multipath" parameter of the "listen" directive.</title>
<updated>2026-03-18T21:13:51+00:00</updated>
<author>
<name>Sergey Kandaurov</name>
<email>pluknet@nginx.com</email>
</author>
<published>2025-10-16T15:22:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=920dc099c130e0ea23eb36becd157a95901aa5a2'/>
<id>920dc099c130e0ea23eb36becd157a95901aa5a2</id>
<content type='text'>
When configured, it enables Multipath TCP support on a listen socket.
As of now it works on Linux starting with Linux 5.6 and glibc 2.32,
where it is enabled with an IPPROTO_MPTCP socket(2) protocol.

To avoid EADDRINUSE errors in bind() and listen() when transitioning
between sockets with different protocols, SO_REUSEPORT is set on both
sockets.  See f7f1607bf for potential implications.

Based on previous work by Maxime Dourov and Anthony Doeraene.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When configured, it enables Multipath TCP support on a listen socket.
As of now it works on Linux starting with Linux 5.6 and glibc 2.32,
where it is enabled with an IPPROTO_MPTCP socket(2) protocol.

To avoid EADDRINUSE errors in bind() and listen() when transitioning
between sockets with different protocols, SO_REUSEPORT is set on both
sockets.  See f7f1607bf for potential implications.

Based on previous work by Maxime Dourov and Anthony Doeraene.
</pre>
</div>
</content>
</entry>
<entry>
<title>Version bump.</title>
<updated>2026-03-11T15:32:17+00:00</updated>
<author>
<name>Roman Arutyunyan</name>
<email>arut@nginx.com</email>
</author>
<published>2026-03-11T15:28:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=60d0329a20d17e278f4837a5ab18eb8083db8b3f'/>
<id>60d0329a20d17e278f4837a5ab18eb8083db8b3f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Resolver: fixed off-by-one read in ngx_resolver_copy().</title>
<updated>2026-02-23T18:12:32+00:00</updated>
<author>
<name>Roman Arutyunyan</name>
<email>arut@nginx.com</email>
</author>
<published>2026-02-23T14:29:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=edb4d2ffa746ba30bcae90e9527d5512b3de2c5b'/>
<id>edb4d2ffa746ba30bcae90e9527d5512b3de2c5b</id>
<content type='text'>
It is believed to be harmless, see a similar change 077a890a76ff.

Reported-by: geeknik &lt;geeknik@protonmail.ch&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It is believed to be harmless, see a similar change 077a890a76ff.

Reported-by: geeknik &lt;geeknik@protonmail.ch&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Version bump.</title>
<updated>2026-02-11T14:56:27+00:00</updated>
<author>
<name>Roman Arutyunyan</name>
<email>arut@nginx.com</email>
</author>
<published>2026-02-11T14:54:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=d662a5cc469b64d9423ccae0a400ca34d11c3764'/>
<id>d662a5cc469b64d9423ccae0a400ca34d11c3764</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Output chain: clear the last_buf flag unless inherited.</title>
<updated>2026-01-29T10:52:41+00:00</updated>
<author>
<name>Sergey Kandaurov</name>
<email>pluknet@nginx.com</email>
</author>
<published>2025-12-24T21:21:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=3afd85e4b5cbb0c49608b04e06ea7b5ef97b3308'/>
<id>3afd85e4b5cbb0c49608b04e06ea7b5ef97b3308</id>
<content type='text'>
For instance, the last_buf flag is used in the http proxy module when
creating HTTP/2 requests to indicate the output is closed.  The flag
is inherited in ngx_output_chain() to a destination buffer when reading
the buffered request body.  Then it is used in the proxy output filter
to mark the last HTTP/2 DATA frame with END_STREAM.

The problem happens when reusing the destination buffer, such as to
re-read the buffered request body on next upstream, because this buffer
may contain a dirty last_buf value, which breaks sending HTTP/2 request
body in multiple output filter calls.

The flush and last_in_chain flags are cleared for consistency.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For instance, the last_buf flag is used in the http proxy module when
creating HTTP/2 requests to indicate the output is closed.  The flag
is inherited in ngx_output_chain() to a destination buffer when reading
the buffered request body.  Then it is used in the proxy output filter
to mark the last HTTP/2 DATA frame with END_STREAM.

The problem happens when reusing the destination buffer, such as to
re-read the buffered request body on next upstream, because this buffer
may contain a dirty last_buf value, which breaks sending HTTP/2 request
body in multiple output filter calls.

The flush and last_in_chain flags are cleared for consistency.
</pre>
</div>
</content>
</entry>
<entry>
<title>Version bump.</title>
<updated>2025-12-16T21:22:33+00:00</updated>
<author>
<name>Aleksei Bavshin</name>
<email>a.bavshin@nginx.com</email>
</author>
<published>2025-12-16T21:18:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=5c2947d844895198cae0d0c54217c07de8955a01'/>
<id>5c2947d844895198cae0d0c54217c07de8955a01</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
