<feed xmlns='http://www.w3.org/2005/Atom'>
<title>unit.git/auto, branch 1.35.0</title>
<subtitle>Universal Web Application Server</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/'/>
<entry>
<title>java: Update classgraph to the latest version</title>
<updated>2025-08-20T17:42:01+00:00</updated>
<author>
<name>Andrew Clayton</name>
<email>a.clayton@nginx.com</email>
</author>
<published>2025-08-20T14:25:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=eec23cd1fdc96b96582673a993861f484cec4517'/>
<id>eec23cd1fdc96b96582673a993861f484cec4517</id>
<content type='text'>
Signed-off-by: Andrew Clayton &lt;a.clayton@nginx.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Andrew Clayton &lt;a.clayton@nginx.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>java: update third-party components to their recent versions</title>
<updated>2025-08-19T00:06:38+00:00</updated>
<author>
<name>Sergey A. Osokin</name>
<email>osa@FreeBSD.org.ru</email>
</author>
<published>2025-02-10T16:15:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=9f29628f01636abf5a0eaf2a97898267f6b39fa7'/>
<id>9f29628f01636abf5a0eaf2a97898267f6b39fa7</id>
<content type='text'>
Co-authored-by: Andrew Clayton &lt;a.clayton@nginx.com&gt;
Signed-off-by: Andrew Clayton &lt;a.clayton@nginx.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: Andrew Clayton &lt;a.clayton@nginx.com&gt;
Signed-off-by: Andrew Clayton &lt;a.clayton@nginx.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>njs: Update for version 0.9.0 API changes</title>
<updated>2025-05-08T21:07:18+00:00</updated>
<author>
<name>Andrew Clayton</name>
<email>a.clayton@nginx.com</email>
</author>
<published>2025-05-08T19:03:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=7e1f4a7f7505139411818bdc03ee710a54c98488'/>
<id>7e1f4a7f7505139411818bdc03ee710a54c98488</id>
<content type='text'>
This bumps the minimum required version of njs to 0.9.0

Cc: Sergey A. Osokin &lt;sergey.osokin@nginx.com&gt;
Signed-off-by: Andrew Clayton &lt;a.clayton@nginx.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This bumps the minimum required version of njs to 0.9.0

Cc: Sergey A. Osokin &lt;sergey.osokin@nginx.com&gt;
Signed-off-by: Andrew Clayton &lt;a.clayton@nginx.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>auto/compression: Error out if requested library not found</title>
<updated>2025-05-07T15:33:32+00:00</updated>
<author>
<name>Andrew Clayton</name>
<email>a.clayton@nginx.com</email>
</author>
<published>2025-05-01T23:10:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=68ae5b526541c15beb14868e2b1d7e23dec1ac43'/>
<id>68ae5b526541c15beb14868e2b1d7e23dec1ac43</id>
<content type='text'>
You asked for a specific compression library, be clear when it isn't
found.

Signed-off-by: Andrew Clayton &lt;a.clayton@nginx.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
You asked for a specific compression library, be clear when it isn't
found.

Signed-off-by: Andrew Clayton &lt;a.clayton@nginx.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>auto/modules/wasm: Remove an unneeded compiler option</title>
<updated>2025-05-01T19:35:45+00:00</updated>
<author>
<name>Andrew Clayton</name>
<email>a.clayton@nginx.com</email>
</author>
<published>2025-05-01T19:35:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=414d258c48afbf7cf2136ab169ab53564e1591d9'/>
<id>414d258c48afbf7cf2136ab169ab53564e1591d9</id>
<content type='text'>
-Wno-missing-field-initializers was needed for GCC 4.8 / RHEL 7 etc to
avoid warnings with {} empty initialisers.

We haven't needed to support that compiler for sometime.

Signed-off-by: Andrew Clayton &lt;a.clayton@nginx.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
-Wno-missing-field-initializers was needed for GCC 4.8 / RHEL 7 etc to
avoid warnings with {} empty initialisers.

We haven't needed to support that compiler for sometime.

Signed-off-by: Andrew Clayton &lt;a.clayton@nginx.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>http: Wire up HTTP compression to the build system</title>
<updated>2025-04-14T17:11:53+00:00</updated>
<author>
<name>Andrew Clayton</name>
<email>a.clayton@nginx.com</email>
</author>
<published>2024-11-20T16:47:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=c9b2ecd28407538d3ef0b48bba944440695196ed'/>
<id>c9b2ecd28407538d3ef0b48bba944440695196ed</id>
<content type='text'>
This allows to actually build unit with support for zlib, zstd and
brotli compression.

Any or all can be specified. E.g.

  $ ./configure --zlib ...

  $ ./configure --zlib --zstd --brotli ...

During configure you will see if support for the requested compressions
has been found and what version of the library is being used.

E.g.

  ...
  checking for zlib ... found
   + zlib version: 1.3.1.zlib-ng
  checking for zstd ... found
   + zstd version: 1.5.6
  checking for brotli ... found
   + brotli version: 1.1.0
  ...
  Unit configuration summary:
  ...
    zlib support: .............. YES
    zstd support: .............. YES
    brotli support: ............ YES
  ...

Co-authored-by: Alejandro Colomar &lt;alx@kernel.org&gt;
Signed-off-by: Alejandro Colomar &lt;alx@kernel.org&gt;
Signed-off-by: Andrew Clayton &lt;a.clayton@nginx.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows to actually build unit with support for zlib, zstd and
brotli compression.

Any or all can be specified. E.g.

  $ ./configure --zlib ...

  $ ./configure --zlib --zstd --brotli ...

During configure you will see if support for the requested compressions
has been found and what version of the library is being used.

E.g.

  ...
  checking for zlib ... found
   + zlib version: 1.3.1.zlib-ng
  checking for zstd ... found
   + zstd version: 1.5.6
  checking for brotli ... found
   + brotli version: 1.1.0
  ...
  Unit configuration summary:
  ...
    zlib support: .............. YES
    zstd support: .............. YES
    brotli support: ............ YES
  ...

Co-authored-by: Alejandro Colomar &lt;alx@kernel.org&gt;
Signed-off-by: Alejandro Colomar &lt;alx@kernel.org&gt;
Signed-off-by: Andrew Clayton &lt;a.clayton@nginx.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>auto/cc: gcc: Don't disable -Wunterminated-string-initialization</title>
<updated>2025-03-20T15:28:33+00:00</updated>
<author>
<name>Andrew Clayton</name>
<email>a.clayton@nginx.com</email>
</author>
<published>2025-03-18T05:44:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=ec1608b4cc1e9926e2da9f5591e883e4d42cc2fc'/>
<id>ec1608b4cc1e9926e2da9f5591e883e4d42cc2fc</id>
<content type='text'>
Now that we are able to use the "nonstring" variable attribute to quell
this warning, we no longer need to disable it.

The good thing is there was never a released version of GCC where the
warning couldn't be quelled by the attribute.

Fixes: 150378224 ("Fix build with GCC 15")
Cc: Alejandro Colomar &lt;alx@kernel.org&gt;
Reviewed-by: Alejandro Colomar &lt;alx@kernel.org&gt;
Signed-off-by: Andrew Clayton &lt;a.clayton@nginx.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now that we are able to use the "nonstring" variable attribute to quell
this warning, we no longer need to disable it.

The good thing is there was never a released version of GCC where the
warning couldn't be quelled by the attribute.

Fixes: 150378224 ("Fix build with GCC 15")
Cc: Alejandro Colomar &lt;alx@kernel.org&gt;
Reviewed-by: Alejandro Colomar &lt;alx@kernel.org&gt;
Signed-off-by: Andrew Clayton &lt;a.clayton@nginx.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>auto/clang: Add a NXT_NONSTRING macro</title>
<updated>2025-03-19T17:53:00+00:00</updated>
<author>
<name>Andrew Clayton</name>
<email>a.clayton@nginx.com</email>
</author>
<published>2025-03-18T04:50:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=764ad73fc7e3cbbe48b259159340e063f7d7b082'/>
<id>764ad73fc7e3cbbe48b259159340e063f7d7b082</id>
<content type='text'>
This is a wrapper around __attribute__ ((__nonstring__)). Traditionally
this was used to mark char array variables that intentionally lacked a
terminating NUL byte, this would then cause warning to either be quelled
or emitted for various memory/string functions.

GCC 15 introduced a new warning, Wunterminated-string-initialization,
which will always warn on things like

  static const char hex[16] = "0123456789ABCDEF";

However this is very much intentionally not NUL terminated.

When the Wunterminated-string-initialization patch went in, the
"nonstriong" attribute didn't quell this warning, however a patch has
since gone in (prior to the GCC 15 release) to enable this attribute to
quell this warning.

In Unit we disabled this new warning with an eye to being able to
re-enable it again, this patch is the first in a series to do just that.

So the above example would become

  static const char hex[16] NXT_NONSTRING = "0123456789ABCDEF";

Link: &lt;https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=44c9403ed1833ae71a59e84f9e37af3182be0df5&gt;
Link: &lt;https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=622968990beee7499e951590258363545b4a3b57&gt;
Link: &lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117178#c21&gt;
Cc: Alejandro Colomar &lt;alx@kernel.org&gt;
Reviewed-by: Alejandro Colomar &lt;alx@kernel.org&gt;
Signed-off-by: Andrew Clayton &lt;a.clayton@nginx.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a wrapper around __attribute__ ((__nonstring__)). Traditionally
this was used to mark char array variables that intentionally lacked a
terminating NUL byte, this would then cause warning to either be quelled
or emitted for various memory/string functions.

GCC 15 introduced a new warning, Wunterminated-string-initialization,
which will always warn on things like

  static const char hex[16] = "0123456789ABCDEF";

However this is very much intentionally not NUL terminated.

When the Wunterminated-string-initialization patch went in, the
"nonstriong" attribute didn't quell this warning, however a patch has
since gone in (prior to the GCC 15 release) to enable this attribute to
quell this warning.

In Unit we disabled this new warning with an eye to being able to
re-enable it again, this patch is the first in a series to do just that.

So the above example would become

  static const char hex[16] NXT_NONSTRING = "0123456789ABCDEF";

Link: &lt;https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=44c9403ed1833ae71a59e84f9e37af3182be0df5&gt;
Link: &lt;https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=622968990beee7499e951590258363545b4a3b57&gt;
Link: &lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117178#c21&gt;
Cc: Alejandro Colomar &lt;alx@kernel.org&gt;
Reviewed-by: Alejandro Colomar &lt;alx@kernel.org&gt;
Signed-off-by: Andrew Clayton &lt;a.clayton@nginx.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix build with GCC 15</title>
<updated>2025-02-03T18:51:59+00:00</updated>
<author>
<name>Andrew Clayton</name>
<email>a.clayton@nginx.com</email>
</author>
<published>2025-01-27T16:14:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=150378224f1d8b4e58765ce586c27f2fd36e47f0'/>
<id>150378224f1d8b4e58765ce586c27f2fd36e47f0</id>
<content type='text'>
The upcoming GCC 15 release introduces a new compiler warning,
Wunterminated-string-initialization.

This is intended to catch things like

  static const u_char  hex[16] = "0123456789ABCDEF";

Where we are creating a character array from a string literal, but the
specified size is not enough for the terminating NUL byte.

In the above example that is intended as it is used as a lookup table
and only the individual indices are accessed.

As it happens, Unit uses the above idiom in a few places, triggering
this warning (which we treat as an error by default).

While I don't like disabling compiler warnings, lets just disable this
one temporarily, as there is a patch in the works to make the
"nonstring" variable attribute quell this warning.

We just disable this on GCC as this isn't in Clang and we don't need to
worry about older compilers as GCC silently ignores unknown -Wno-*
options.

Link: &lt;https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=44c9403ed1833ae71a59e84f9e37af3182be0df5&gt;
Link: &lt;https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Common-Variable-Attributes.html&gt;
Link: &lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117178#c21&gt;
Cc: Alejandro Colomar &lt;alx@kernel.org&gt;
Reviewed-by: Alejandro Colomar &lt;alx@kernel.org&gt;
Signed-off-by: Andrew Clayton &lt;a.clayton@nginx.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The upcoming GCC 15 release introduces a new compiler warning,
Wunterminated-string-initialization.

This is intended to catch things like

  static const u_char  hex[16] = "0123456789ABCDEF";

Where we are creating a character array from a string literal, but the
specified size is not enough for the terminating NUL byte.

In the above example that is intended as it is used as a lookup table
and only the individual indices are accessed.

As it happens, Unit uses the above idiom in a few places, triggering
this warning (which we treat as an error by default).

While I don't like disabling compiler warnings, lets just disable this
one temporarily, as there is a patch in the works to make the
"nonstring" variable attribute quell this warning.

We just disable this on GCC as this isn't in Clang and we don't need to
worry about older compilers as GCC silently ignores unknown -Wno-*
options.

Link: &lt;https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=44c9403ed1833ae71a59e84f9e37af3182be0df5&gt;
Link: &lt;https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Common-Variable-Attributes.html&gt;
Link: &lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117178#c21&gt;
Cc: Alejandro Colomar &lt;alx@kernel.org&gt;
Reviewed-by: Alejandro Colomar &lt;alx@kernel.org&gt;
Signed-off-by: Andrew Clayton &lt;a.clayton@nginx.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>auto/make: Fix various issues with building OTEL</title>
<updated>2025-01-10T04:16:09+00:00</updated>
<author>
<name>Andrew Clayton</name>
<email>a.clayton@nginx.com</email>
</author>
<published>2025-01-09T03:55:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=d0dbba3b9f2f6a2e0e0d6e9862a4c6c1ab603242'/>
<id>d0dbba3b9f2f6a2e0e0d6e9862a4c6c1ab603242</id>
<content type='text'>
There were at least a couple of issues with building OTEL support.

It only worked with GNU make due to the use of ifeq, even gmake had some
issues.

Debug builds were broken due to trying to pass --debug to cargo which is
the default and isn't a valid option.

This 'fixes' things by doing 'release' builds of OTEL by default.

Passing D=1 to make will generate 'debug' builds but this as previously
with D= etc, only works with GNU make.

We make use of the '--emit link=' rustc option to place the libotel.a
static library into build/lib

This is good, it consolidates the static libraries into one place and it
simplifies the build scripts.

While we're at it pretty print the cargo command by default.

Fixes: 9d3dcb800 ("otel: add build tooling to include otel code")
Link: &lt;https://github.com/nginx/unit/pull/1520#issuecomment-2556265063&gt;
Signed-off-by: Andrew Clayton &lt;a.clayton@nginx.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There were at least a couple of issues with building OTEL support.

It only worked with GNU make due to the use of ifeq, even gmake had some
issues.

Debug builds were broken due to trying to pass --debug to cargo which is
the default and isn't a valid option.

This 'fixes' things by doing 'release' builds of OTEL by default.

Passing D=1 to make will generate 'debug' builds but this as previously
with D= etc, only works with GNU make.

We make use of the '--emit link=' rustc option to place the libotel.a
static library into build/lib

This is good, it consolidates the static libraries into one place and it
simplifies the build scripts.

While we're at it pretty print the cargo command by default.

Fixes: 9d3dcb800 ("otel: add build tooling to include otel code")
Link: &lt;https://github.com/nginx/unit/pull/1520#issuecomment-2556265063&gt;
Signed-off-by: Andrew Clayton &lt;a.clayton@nginx.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
