<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>https://hg.nginx.org/nginx/</link>
    <language>en-us</language>

    <title>nginx Changelog</title>
    <description>nginx Changelog</description>
    <item>
    <title>[default] SSL: support for compressed server certificates with BoringSSL.</title>
    <guid isPermaLink="true">https://hg.nginx.org/nginx/rev/c3be84605871</guid>
    <link>https://hg.nginx.org/nginx/rev/c3be84605871</link>
    <description>
    <![CDATA[
        <table>
            <tr>
                <th style="text-align:left;">changeset</th>
                <td>c3be84605871</td>
            </tr>
            <tr>
                <th style="text-align:left;">branch</th>
                <td>default</td>
            </tr>
            <tr>
                <th style="text-align:left;">bookmark</th>
                <td></td>
            </tr>
            <tr>
                <th style="text-align:left;">tag</th>
                <td>tip</td>
            </tr>
            <tr>
                <th style="text-align:left;vertical-align:top;">user</th>
                <td>&#83;&#101;&#114;&#103;&#101;&#121;&#32;&#75;&#97;&#110;&#100;&#97;&#117;&#114;&#111;&#118;&#32;&#60;&#112;&#108;&#117;&#107;&#110;&#101;&#116;&#64;&#110;&#103;&#105;&#110;&#120;&#46;&#99;&#111;&#109;&#62;</td>
            </tr>
            <tr>
                <th style="text-align:left;vertical-align:top;">description</th>
                <td>SSL: support for compressed server certificates with BoringSSL.<br/>
<br/>
BoringSSL/AWS-LC provide two callbacks for each compression algorithm,<br/>
which may be used to compress and decompress certificates in runtime.<br/>
This change implements compression support with zlib, as enabled with<br/>
the ssl_certificate_compression directive.  Compressed certificates<br/>
are stored in certificate exdata and reused in subsequent connections.<br/>
<br/>
Notably, AWS-LC saves an X509 pointer in SSL connection, which allows<br/>
to use it from SSL_get_certificate() for caching purpose.  In contrast,<br/>
BoringSSL reconstructs X509 on-the-fly, though given that it doesn't<br/>
support multiple certificates, always replacing previously configured<br/>
certificates, we use the last configured one from ssl-&gt;certs, instead.</td>
            </tr>
            <tr>
                <th style="text-align:left;vertical-align:top;">files</th>
                <td>src/event/ngx_event_openssl.c<br />src/event/ngx_event_openssl.h<br /></td>
            </tr>
        </table>
    ]]>
    </description>
    <author>&#83;&#101;&#114;&#103;&#101;&#121;&#32;&#75;&#97;&#110;&#100;&#97;&#117;&#114;&#111;&#118;&#32;&#60;&#112;&#108;&#117;&#107;&#110;&#101;&#116;&#64;&#110;&#103;&#105;&#110;&#120;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Tue, 15 Jul 2025 22:22:53 +0400</pubDate>
</item>
<item>
    <title>SSL: disabled using certificate compression with OCSP stapling.</title>
    <guid isPermaLink="true">https://hg.nginx.org/nginx/rev/0844ed63b6bd</guid>
    <link>https://hg.nginx.org/nginx/rev/0844ed63b6bd</link>
    <description>
    <![CDATA[
        <table>
            <tr>
                <th style="text-align:left;">changeset</th>
                <td>0844ed63b6bd</td>
            </tr>
            <tr>
                <th style="text-align:left;">branch</th>
                <td></td>
            </tr>
            <tr>
                <th style="text-align:left;">bookmark</th>
                <td></td>
            </tr>
            <tr>
                <th style="text-align:left;">tag</th>
                <td></td>
            </tr>
            <tr>
                <th style="text-align:left;vertical-align:top;">user</th>
                <td>&#83;&#101;&#114;&#103;&#101;&#121;&#32;&#75;&#97;&#110;&#100;&#97;&#117;&#114;&#111;&#118;&#32;&#60;&#112;&#108;&#117;&#107;&#110;&#101;&#116;&#64;&#110;&#103;&#105;&#110;&#120;&#46;&#99;&#111;&#109;&#62;</td>
            </tr>
            <tr>
                <th style="text-align:left;vertical-align:top;">description</th>
                <td>SSL: disabled using certificate compression with OCSP stapling.<br/>
<br/>
OCSP response in TLSv1.3 is sent in the Certificate message.  This<br/>
is incompatible with pre-compression of the configured certificates.</td>
            </tr>
            <tr>
                <th style="text-align:left;vertical-align:top;">files</th>
                <td>src/http/modules/ngx_http_ssl_module.c<br />src/stream/ngx_stream_ssl_module.c<br /></td>
            </tr>
        </table>
    ]]>
    </description>
    <author>&#83;&#101;&#114;&#103;&#101;&#121;&#32;&#75;&#97;&#110;&#100;&#97;&#117;&#114;&#111;&#118;&#32;&#60;&#112;&#108;&#117;&#107;&#110;&#101;&#116;&#64;&#110;&#103;&#105;&#110;&#120;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 02 Oct 2025 15:22:24 +0400</pubDate>
</item>
<item>
    <title>Updated OpenSSL and PCRE used for win32 builds.</title>
    <guid isPermaLink="true">https://hg.nginx.org/nginx/rev/46b715093fe3</guid>
    <link>https://hg.nginx.org/nginx/rev/46b715093fe3</link>
    <description>
    <![CDATA[
        <table>
            <tr>
                <th style="text-align:left;">changeset</th>
                <td>46b715093fe3</td>
            </tr>
            <tr>
                <th style="text-align:left;">branch</th>
                <td></td>
            </tr>
            <tr>
                <th style="text-align:left;">bookmark</th>
                <td></td>
            </tr>
            <tr>
                <th style="text-align:left;">tag</th>
                <td></td>
            </tr>
            <tr>
                <th style="text-align:left;vertical-align:top;">user</th>
                <td>&#83;&#101;&#114;&#103;&#101;&#121;&#32;&#75;&#97;&#110;&#100;&#97;&#117;&#114;&#111;&#118;&#32;&#60;&#112;&#108;&#117;&#107;&#110;&#101;&#116;&#64;&#110;&#103;&#105;&#110;&#120;&#46;&#99;&#111;&#109;&#62;</td>
            </tr>
            <tr>
                <th style="text-align:left;vertical-align:top;">description</th>
                <td>Updated OpenSSL and PCRE used for win32 builds.</td>
            </tr>
            <tr>
                <th style="text-align:left;vertical-align:top;">files</th>
                <td>misc/GNUmakefile<br /></td>
            </tr>
        </table>
    ]]>
    </description>
    <author>&#83;&#101;&#114;&#103;&#101;&#121;&#32;&#75;&#97;&#110;&#100;&#97;&#117;&#114;&#111;&#118;&#32;&#60;&#112;&#108;&#117;&#107;&#110;&#101;&#116;&#64;&#110;&#103;&#105;&#110;&#120;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Tue, 07 Oct 2025 22:21:37 +0400</pubDate>
</item>
<item>
    <title>Version bump.</title>
    <guid isPermaLink="true">https://hg.nginx.org/nginx/rev/279676b97237</guid>
    <link>https://hg.nginx.org/nginx/rev/279676b97237</link>
    <description>
    <![CDATA[
        <table>
            <tr>
                <th style="text-align:left;">changeset</th>
                <td>279676b97237</td>
            </tr>
            <tr>
                <th style="text-align:left;">branch</th>
                <td></td>
            </tr>
            <tr>
                <th style="text-align:left;">bookmark</th>
                <td></td>
            </tr>
            <tr>
                <th style="text-align:left;">tag</th>
                <td></td>
            </tr>
            <tr>
                <th style="text-align:left;vertical-align:top;">user</th>
                <td>&#83;&#101;&#114;&#103;&#101;&#121;&#32;&#75;&#97;&#110;&#100;&#97;&#117;&#114;&#111;&#118;&#32;&#60;&#112;&#108;&#117;&#107;&#110;&#101;&#116;&#64;&#110;&#103;&#105;&#110;&#120;&#46;&#99;&#111;&#109;&#62;</td>
            </tr>
            <tr>
                <th style="text-align:left;vertical-align:top;">description</th>
                <td>Version bump.</td>
            </tr>
            <tr>
                <th style="text-align:left;vertical-align:top;">files</th>
                <td>src/core/nginx.h<br /></td>
            </tr>
        </table>
    ]]>
    </description>
    <author>&#83;&#101;&#114;&#103;&#101;&#121;&#32;&#75;&#97;&#110;&#100;&#97;&#117;&#114;&#111;&#118;&#32;&#60;&#112;&#108;&#117;&#107;&#110;&#101;&#116;&#64;&#110;&#103;&#105;&#110;&#120;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Tue, 07 Oct 2025 22:19:01 +0400</pubDate>
</item>
<item>
    <title>nginx-1.29.2-RELEASE</title>
    <guid isPermaLink="true">https://hg.nginx.org/nginx/rev/d2a04c09eb4d</guid>
    <link>https://hg.nginx.org/nginx/rev/d2a04c09eb4d</link>
    <description>
    <![CDATA[
        <table>
            <tr>
                <th style="text-align:left;">changeset</th>
                <td>d2a04c09eb4d</td>
            </tr>
            <tr>
                <th style="text-align:left;">branch</th>
                <td></td>
            </tr>
            <tr>
                <th style="text-align:left;">bookmark</th>
                <td></td>
            </tr>
            <tr>
                <th style="text-align:left;">tag</th>
                <td></td>
            </tr>
            <tr>
                <th style="text-align:left;vertical-align:top;">user</th>
                <td>&#83;&#101;&#114;&#103;&#101;&#121;&#32;&#75;&#97;&#110;&#100;&#97;&#117;&#114;&#111;&#118;&#32;&#60;&#112;&#108;&#117;&#107;&#110;&#101;&#116;&#64;&#110;&#103;&#105;&#110;&#120;&#46;&#99;&#111;&#109;&#62;</td>
            </tr>
            <tr>
                <th style="text-align:left;vertical-align:top;">description</th>
                <td>nginx-1.29.2-RELEASE</td>
            </tr>
            <tr>
                <th style="text-align:left;vertical-align:top;">files</th>
                <td>docs/xml/nginx/changes.xml<br /></td>
            </tr>
        </table>
    ]]>
    </description>
    <author>&#83;&#101;&#114;&#103;&#101;&#121;&#32;&#75;&#97;&#110;&#100;&#97;&#117;&#114;&#111;&#118;&#32;&#60;&#112;&#108;&#117;&#107;&#110;&#101;&#116;&#64;&#110;&#103;&#105;&#110;&#120;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Tue, 07 Oct 2025 16:46:15 +0400</pubDate>
</item>
<item>
    <title>Fixed a typo.</title>
    <guid isPermaLink="true">https://hg.nginx.org/nginx/rev/0d188d92c12d</guid>
    <link>https://hg.nginx.org/nginx/rev/0d188d92c12d</link>
    <description>
    <![CDATA[
        <table>
            <tr>
                <th style="text-align:left;">changeset</th>
                <td>0d188d92c12d</td>
            </tr>
            <tr>
                <th style="text-align:left;">branch</th>
                <td></td>
            </tr>
            <tr>
                <th style="text-align:left;">bookmark</th>
                <td></td>
            </tr>
            <tr>
                <th style="text-align:left;">tag</th>
                <td></td>
            </tr>
            <tr>
                <th style="text-align:left;vertical-align:top;">user</th>
                <td>&#83;&#101;&#114;&#103;&#101;&#121;&#32;&#75;&#97;&#110;&#100;&#97;&#117;&#114;&#111;&#118;&#32;&#60;&#112;&#108;&#117;&#107;&#110;&#101;&#116;&#64;&#110;&#103;&#105;&#110;&#120;&#46;&#99;&#111;&#109;&#62;</td>
            </tr>
            <tr>
                <th style="text-align:left;vertical-align:top;">description</th>
                <td>Fixed a typo.</td>
            </tr>
            <tr>
                <th style="text-align:left;vertical-align:top;">files</th>
                <td>docs/xml/nginx/changes.xml<br /></td>
            </tr>
        </table>
    ]]>
    </description>
    <author>&#83;&#101;&#114;&#103;&#101;&#121;&#32;&#75;&#97;&#110;&#100;&#97;&#117;&#114;&#111;&#118;&#32;&#60;&#112;&#108;&#117;&#107;&#110;&#101;&#116;&#64;&#110;&#103;&#105;&#110;&#120;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Tue, 07 Oct 2025 17:05:09 +0400</pubDate>
</item>
<item>
    <title>SSL: fixed &quot;key values mismatch&quot; with object cache inheritance.</title>
    <guid isPermaLink="true">https://hg.nginx.org/nginx/rev/c97c240aabbe</guid>
    <link>https://hg.nginx.org/nginx/rev/c97c240aabbe</link>
    <description>
    <![CDATA[
        <table>
            <tr>
                <th style="text-align:left;">changeset</th>
                <td>c97c240aabbe</td>
            </tr>
            <tr>
                <th style="text-align:left;">branch</th>
                <td></td>
            </tr>
            <tr>
                <th style="text-align:left;">bookmark</th>
                <td></td>
            </tr>
            <tr>
                <th style="text-align:left;">tag</th>
                <td></td>
            </tr>
            <tr>
                <th style="text-align:left;vertical-align:top;">user</th>
                <td>&#83;&#101;&#114;&#103;&#101;&#121;&#32;&#75;&#97;&#110;&#100;&#97;&#117;&#114;&#111;&#118;&#32;&#60;&#112;&#108;&#117;&#107;&#110;&#101;&#116;&#64;&#110;&#103;&#105;&#110;&#120;&#46;&#99;&#111;&#109;&#62;</td>
            </tr>
            <tr>
                <th style="text-align:left;vertical-align:top;">description</th>
                <td>SSL: fixed &quot;key values mismatch&quot; with object cache inheritance.<br/>
<br/>
In rare cases, it was possible to get into this error state on reload<br/>
with improperly updated file timestamps for certificate and key pairs.<br/>
<br/>
The fix is to retry on X509_R_KEY_VALUES_MISMATCH, similar to 5d5d9adcc.<br/>
Additionally, loading SSL certificate is updated to avoid certificates<br/>
discarded on retry to appear in ssl-&gt;certs and in extra chain.</td>
            </tr>
            <tr>
                <th style="text-align:left;vertical-align:top;">files</th>
                <td>src/event/ngx_event_openssl.c<br />src/event/ngx_event_openssl_cache.c<br /></td>
            </tr>
        </table>
    ]]>
    </description>
    <author>&#83;&#101;&#114;&#103;&#101;&#121;&#32;&#75;&#97;&#110;&#100;&#97;&#117;&#114;&#111;&#118;&#32;&#60;&#112;&#108;&#117;&#107;&#110;&#101;&#116;&#64;&#110;&#103;&#105;&#110;&#120;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 29 May 2025 17:49:48 +0400</pubDate>
</item>
<item>
    <title>Added F5 CLA workflow.</title>
    <guid isPermaLink="true">https://hg.nginx.org/nginx/rev/fd6242dfb464</guid>
    <link>https://hg.nginx.org/nginx/rev/fd6242dfb464</link>
    <description>
    <![CDATA[
        <table>
            <tr>
                <th style="text-align:left;">changeset</th>
                <td>fd6242dfb464</td>
            </tr>
            <tr>
                <th style="text-align:left;">branch</th>
                <td></td>
            </tr>
            <tr>
                <th style="text-align:left;">bookmark</th>
                <td></td>
            </tr>
            <tr>
                <th style="text-align:left;">tag</th>
                <td></td>
            </tr>
            <tr>
                <th style="text-align:left;vertical-align:top;">user</th>
                <td>&#77;&#97;&#114;&#121;&#110;&#97;&#45;&#102;&#53;&#32;&#60;&#56;&#52;&#51;&#51;&#57;&#48;&#49;&#49;&#43;&#77;&#97;&#114;&#121;&#110;&#97;&#45;&#102;&#53;&#64;&#117;&#115;&#101;&#114;&#115;&#46;&#110;&#111;&#114;&#101;&#112;&#108;&#121;&#46;&#103;&#105;&#116;&#104;&#117;&#98;&#46;&#99;&#111;&#109;&#62;</td>
            </tr>
            <tr>
                <th style="text-align:left;vertical-align:top;">description</th>
                <td>Added F5 CLA workflow.</td>
            </tr>
            <tr>
                <th style="text-align:left;vertical-align:top;">files</th>
                <td>.github/workflows/f5_cla.yml<br /></td>
            </tr>
        </table>
    ]]>
    </description>
    <author>&#77;&#97;&#114;&#121;&#110;&#97;&#45;&#102;&#53;&#32;&#60;&#56;&#52;&#51;&#51;&#57;&#48;&#49;&#49;&#43;&#77;&#97;&#114;&#121;&#110;&#97;&#45;&#102;&#53;&#64;&#117;&#115;&#101;&#114;&#115;&#46;&#110;&#111;&#114;&#101;&#112;&#108;&#121;&#46;&#103;&#105;&#116;&#104;&#117;&#98;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 25 Sep 2025 12:51:40 -0700</pubDate>
</item>
<item>
    <title>Mail: xtext encoding (RFC 3461) in XCLIENT LOGIN.</title>
    <guid isPermaLink="true">https://hg.nginx.org/nginx/rev/0954f084ffc0</guid>
    <link>https://hg.nginx.org/nginx/rev/0954f084ffc0</link>
    <description>
    <![CDATA[
        <table>
            <tr>
                <th style="text-align:left;">changeset</th>
                <td>0954f084ffc0</td>
            </tr>
            <tr>
                <th style="text-align:left;">branch</th>
                <td></td>
            </tr>
            <tr>
                <th style="text-align:left;">bookmark</th>
                <td></td>
            </tr>
            <tr>
                <th style="text-align:left;">tag</th>
                <td></td>
            </tr>
            <tr>
                <th style="text-align:left;vertical-align:top;">user</th>
                <td>&#83;&#101;&#114;&#103;&#101;&#121;&#32;&#75;&#97;&#110;&#100;&#97;&#117;&#114;&#111;&#118;&#32;&#60;&#112;&#108;&#117;&#107;&#110;&#101;&#116;&#64;&#110;&#103;&#105;&#110;&#120;&#46;&#99;&#111;&#109;&#62;</td>
            </tr>
            <tr>
                <th style="text-align:left;vertical-align:top;">description</th>
                <td>Mail: xtext encoding (RFC 3461) in XCLIENT LOGIN.<br/>
<br/>
The XCLIENT command uses xtext encoding for attribute values,<br/>
as specified in https://www.postfix.org/XCLIENT_README.html.<br/>
<br/>
Reported by Igor Morgenstern of Aisle Research.</td>
            </tr>
            <tr>
                <th style="text-align:left;vertical-align:top;">files</th>
                <td>src/core/ngx_string.c<br />src/core/ngx_string.h<br />src/mail/ngx_mail_proxy_module.c<br /></td>
            </tr>
        </table>
    ]]>
    </description>
    <author>&#83;&#101;&#114;&#103;&#101;&#121;&#32;&#75;&#97;&#110;&#100;&#97;&#117;&#114;&#111;&#118;&#32;&#60;&#112;&#108;&#117;&#107;&#110;&#101;&#116;&#64;&#110;&#103;&#105;&#110;&#120;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 11 Sep 2025 18:23:10 +0400</pubDate>
</item>
<item>
    <title>Upstream: overflow detection in Cache-Control delta-seconds.</title>
    <guid isPermaLink="true">https://hg.nginx.org/nginx/rev/4f55535cf345</guid>
    <link>https://hg.nginx.org/nginx/rev/4f55535cf345</link>
    <description>
    <![CDATA[
        <table>
            <tr>
                <th style="text-align:left;">changeset</th>
                <td>4f55535cf345</td>
            </tr>
            <tr>
                <th style="text-align:left;">branch</th>
                <td></td>
            </tr>
            <tr>
                <th style="text-align:left;">bookmark</th>
                <td></td>
            </tr>
            <tr>
                <th style="text-align:left;">tag</th>
                <td></td>
            </tr>
            <tr>
                <th style="text-align:left;vertical-align:top;">user</th>
                <td>&#83;&#101;&#114;&#103;&#101;&#121;&#32;&#75;&#97;&#110;&#100;&#97;&#117;&#114;&#111;&#118;&#32;&#60;&#112;&#108;&#117;&#107;&#110;&#101;&#116;&#64;&#110;&#103;&#105;&#110;&#120;&#46;&#99;&#111;&#109;&#62;</td>
            </tr>
            <tr>
                <th style="text-align:left;vertical-align:top;">description</th>
                <td>Upstream: overflow detection in Cache-Control delta-seconds.<br/>
<br/>
Overflowing calculations are now aligned to the greatest positive integer<br/>
as specified in RFC 9111, Section 1.2.2.</td>
            </tr>
            <tr>
                <th style="text-align:left;vertical-align:top;">files</th>
                <td>src/http/ngx_http_upstream.c<br /></td>
            </tr>
        </table>
    ]]>
    </description>
    <author>&#83;&#101;&#114;&#103;&#101;&#121;&#32;&#75;&#97;&#110;&#100;&#97;&#117;&#114;&#111;&#118;&#32;&#60;&#112;&#108;&#117;&#107;&#110;&#101;&#116;&#64;&#110;&#103;&#105;&#110;&#120;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Wed, 10 Sep 2025 18:39:52 +0400</pubDate>
</item>

  </channel>
</rss>