Latest Pre-release in branch 1.19 (Mainline)
1.19.10
Released 13 Apr 2021
(5 years ago)
SoftwareNGINX OSS
Version1.19 (Mainline)
Status
End of life
Initial release1.19.0
26 May 2020
(6 years ago)
Latest release1.19.10
13 Apr 2021
(5 years ago)
End of security fixes25 May 2021
(Ended 5 years ago)
Release noteshttps://nginx.org/en/CHANGES
Source codehttps://github.com/nginx/nginx/tree/release-1.19.0
Documentationhttps://nginx.org/en/docs/
NGINX OSS 1.19 (Mainline) ReleasesView full list

What Is New in NGINX 1.19

NGINX 1.19 introduces several key updates focused on HTTP/2 performance, enhanced logging, and core improvements. The main additions include a new directive for HTTP/2 max concurrent streams and more detailed SSL handshake logging.

Category Changes
New Features HTTP/2 max concurrent streams setting, detailed SSL handshake logging
Improvements HTTP/2 performance, SSL session handling, proxy module reliability
Bug Fixes Fixes for HTTP/2, memory management, and the stream module

How did HTTP/2 performance get better?

The standout feature is the new http2_max_concurrent_streams directive. This gives you direct control over how many concurrent streams are allowed within a single HTTP/2 connection, which is crucial for tuning how you handle multiplexing.

In practice, this lets you prevent a single client from monopolizing connection resources. You can now fine-tune the balance between connection efficiency and fairness for all users, which matters a lot for serving many concurrent requests.

What's new for troubleshooting SSL?

Debugging tricky SSL handshake failures got easier. The SSL module now provides more detailed logging for handshake errors, moving beyond just a generic "SSL_do_handshake() failed" message.

You'll get more context directly in your error logs, which cuts down the time needed to pinpoint issues like incompatible ciphers or certificate problems. This is a straightforward but highly practical change for anyone managing TLS termination.

Were there any important bug fixes?

Yes, several fixes address stability. A fix was made for a bug where a worker process might terminate prematurely due to a timing issue when using the aio_write directive with certain thread pools.

Another fix resolved an issue in the stream module where a peer connection might not be closed properly under some conditions. These are the kinds of deep, systemic fixes that improve overall reliability in long-running, high-load environments.

FAQ

What does the http2_max_concurrent_streams directive actually do?
It sets the maximum number of concurrent HTTP/2 streams allowed per connection. This allows you to control the level of multiplexing and prevent a single client from opening an excessive number of streams, which helps with resource allocation and fairness.

How does the new SSL logging help me?
It provides more specific error messages when an SSL handshake fails. Instead of a generic failure log, you get more details about the cause, which significantly speeds up debugging certificate or cipher suite issues.

Is there a performance impact from the AIO write fix?
The fix itself prevents a potential crash; it doesn't directly change performance characteristics. It ensures stability when using asynchronous I/O with thread pools, preventing worker processes from exiting unexpectedly.

Should I be concerned about the stream module fix?
If you use the stream module for TCP/UDP proxying, this fix ensures connections to upstream peers are closed correctly. It resolves a leak that could occur under specific conditions, making your proxy more robust.

Are there any new features for load balancing?
This particular release (1.19) does not introduce new load-balancing algorithms or directives. The core changes are focused on HTTP/2, SSL, and underlying stability fixes.

Releases In Branch 1.19 (Mainline)

VersionRelease date
1.19.1013 Apr 2021
(5 years ago)
1.19.926 May 2020
(6 years ago)
1.19.826 May 2020
(6 years ago)
1.19.726 May 2020
(6 years ago)
1.19.626 May 2020
(6 years ago)
1.19.526 May 2020
(6 years ago)
1.19.426 May 2020
(6 years ago)
1.19.326 May 2020
(6 years ago)
1.19.226 May 2020
(6 years ago)
1.19.126 May 2020
(6 years ago)
1.19.026 May 2020
(6 years ago)