Latest in branch 1.10 (Stable)
1.10.3
Released 31 Jan 2017
(9 years ago)
SoftwareNGINX OSS
Version1.10 (Stable)
Status
End of life
Initial release1.10.0
26 Apr 2016
(10 years ago)
Latest release1.10.3
31 Jan 2017
(9 years ago)
End of security fixes12 Apr 2017
(Ended 9 years, 1 month ago)
Release noteshttps://nginx.org/en/CHANGES
Source codehttps://github.com/nginx/nginx/tree/release-1.10.0
Documentationhttps://nginx.org/en/docs/
NGINX OSS 1.10 (Stable) ReleasesView full list

What Is New in NGINX 1.10

Category Key Changes
New Features Dynamic modules support, TCP/UDP load balancing enhancements, stream module logging
Core Improvements HTTP/2 performance enhancements, better SSL/TLS handling, improved hash tables
Bug Fixes Memory leak fixes, resolver issues, various core and module-specific corrections

What are the major new features in NGINX 1.10?

The headline feature is dynamic module loading. You can now compile modules as shared objects and load them dynamically in the nginx.conf with the new load_module directive. This is a game-changer for production systems where you need to add functionality without a full recompile and restart.

The stream module for TCP/UDP load balancing got significant upgrades. It now supports logging to syslog and the ability to set log formats, which was a long-requested feature for debugging complex proxy setups.

How did HTTP/2 performance improve?

This release tackled head-of-line blocking in HTTP/2 by implementing a more efficient priority handling model. In practice, this means better multiplexing of streams and improved page load times for modern websites serving many assets.

They also optimized the memory usage for HTTP/2 connections, reducing the overhead per connection. This matters because it allows you to handle more concurrent HTTP/2 connections on the same hardware.

What core enhancements should I be aware of?

SSL/TLS session resumption saw improvements, particularly for tickets and shared memory zones. This reduces the computational cost of repeated TLS handshakes with the same clients.

The core hash tables used for server names and map directives were optimized for faster lookups. You will see the most benefit in configurations with a large number of server names or complex map rules.

Were there any critical bug fixes?

Yes, a memory leak in the resolver code when using specific configurations was patched. This was a crucial fix for long-running processes to prevent gradual memory exhaustion.

Several fixes addressed edge cases in the HTTP/2 implementation to improve protocol compliance and stability. A number of other minor bugs across various modules were also resolved to increase overall reliability.

FAQ

How do I use the new dynamic modules?
Compile a module with --add-dynamic-module instead of --add-module. Then, in your nginx.conf, use load_module /path/to/module.so; to load it at runtime.

Does dynamic module support mean I can install modules like Apache?
Not exactly. The modules still need to be compiled from source against the exact same NGINX version. It eliminates the need to restart the main binary, but you are not installing pre-compiled packages from a repository.

What's the main benefit of stream module logging?
Before 1.10, debugging TCP or UDP load balancing was difficult. Now you can use access_log and error_log directives within the stream {} context to see exactly what's happening with your proxied connections.

Should I upgrade to 1.10 for the HTTP/2 improvements alone?
If you are serving a significant amount of traffic over HTTP/2, the priority handling fix can lead to noticeable performance gains, especially for content-rich sites. For basic setups, the difference might be less dramatic.

Are there any breaking changes in this release?
No major breaking changes were introduced in 1.10. It is a feature and improvement release that maintains full configuration compatibility with previous 1.x versions.

Releases In Branch 1.10 (Stable)

VersionRelease date
1.10.331 Jan 2017
(9 years ago)
1.10.226 Apr 2016
(10 years ago)
1.10.126 Apr 2016
(10 years ago)
1.10.026 Apr 2016
(10 years ago)