These are the highlights of new features or additions to existing features in v5v6.0.x and 56.1.x. For the complete list of all changes see this the JIRA Release Notes.
Table of Contents |
---|
General Changes
- Some changes have been made to the HostDB data structures. The defaults configurations that ships with ATS v6.x still works, but if you have made changes to either of these configurations, you might have to modify them. Specifically, you might have to either reduce the number of entries supported, or, increase the storage size.
Code Block |
---|
CONFIG proxy.config.hostdb.size INT 120000 CONFIG proxy.config.hostdb.storage_size INT 45375488 |
- XML statistics can now be replaced with a Lua implementation instead. See proxy.config.stats.enable_lua below.
- We have added a multi origin hierarchy to parent selection which lets you treat parent proxies as if there were origin servers, or origin servers as if they were parent proxies. See the "parent_is_proxy" option in parent.config.
- Parent selection now also supports failover retries, where you can retry requests against a different parent in case the parent is unavailable or does not have the desired content. See the "parent_retry" option in parent.config.
- There are some better instrumentation for memory debugging, including running with Address Sanitizer, and OpenSSL.
Jira: TS-4207, TS-4115, TS-4287, TS-4197, TS-4212, TS-4297, TS-3863
New configuration options
- Limits proxy.config.http.origin_max_connections_queue limits the number of requests to be queued when the
proxy.config.http.origin_max_connections
is reached. - Two new timeouts are available for WebSockets: proxy.config.httpwebsocket.originno_max_connections_queue
Jira:
TLS
We continue to improve our TLS (HTTPS) features and support. Noteworthy in 5.2.x is:
- activity_timeout and proxy.config.websocket.active_timeout.
- The congestion control algorithm used is now configurable for both incoming, and outbound connections, via proxy.config.net.tcp_congestion_control_in and proxy.config.net.tcp_congestion_control_out.
- In preparation for the new Lua metrics module in v7.0.0, you can enable this feature in v6.2.x with proxy.config.stats.enable_lua.
- An experimental implementation of H2 streams priorities can be enabled with proxy.config.http2.stream_priority_enabled.
- We now provide better control over various H2 (HTTP/2) features, including proxy.config.http2.min_concurrent_streams_in
- SSLv3 is now disabled by default!
- Dynamic TLS record size tuning. According to Ilya, this makes us the first server that is all Green.
- Add forward secrecy support with DHE.
- Add ssl_pre_handshake hook for better plugin access to SSL handling.
- Improved session cache, for better performance and scalability.
- New configuration for OpenSSL session cache, proxy.config.ssl.session_cache.auto_clear.
- http2.max_active_streams_in and proxy.config.http2.active_timeout_in.
- proxy.config.http.transaction_active_timeout_in is now also overridable.
Jira: TS-4341, TS-3922Jira: TS-3153, TS-25034064, TS-24174099, TS-29563535, TS-30804087, TS-3127
traffic_line
- traffic_line -m is now using an unachored regular expression, similar to how diagnostic tracers work.
- traffic_line --backtrace will produce a stack backtrace for all running threads.
traffic_layout
A new command line utility, traffic_layout, is now available. This will show the layout and configuration option for the ATS build tree.
Jira: TS-3041
traffic_via
This is a new command line tool, to parse and decipher the Via: header that Traffic Server can produce. This is useful for debugging e.g. cache results etc.
Jira: TS-3149
traffic_crashlog
This is the helper application around the new crash logging feature. For more information, see the documentation.
4162,
TLS and HTTP/2 (aka H2)
We continue to improve our TLS (HTTPS) features and support. Noteworthy in 6.2.x is:
- HTTP/2 is now much more feature rich, with a slew of bug fixes, configuration options, and performance optimizations. Try it out!
- In particular, we now also have priority support for H2, but it's maybe not production ready for all use cases.
- SPDY has been marked as deprecated, and will be removed for v7.0.0.
Jira: TS-4087, TS-3535, TS-3485, TS-4323, TS-4359, TS-4092
New plugins
- There's a new CPP API plugin for converting image formats to the webp format.
- There's a collapsed forwarding plugin in the experimental tree, this can help mitigate thundering herd issues in some cases.
- The beginning of an ACME (LetsEncrypt) plugin is in the source tree, but it needs more work to be complete. Volunteers are welcome!
Jira: TS-4095, TS-4243, TS-4320Jira: TS-3195
Plugin Improvements
The following plugins have new features and improvements.
header_rewrite
- We now support variable expansion in the set-redirect operator.
- You can now do matching operators on the port.
- have a new operator for time based conditions, NOW().
- There's a new GeoIP operator, GEO()We do not need Boost.
Jira: TS-29552642, TS-3108, TS-3068
stats_over_http
This plugin will now emit JSON numbers.
Jira: TS-3071
background_fetch
- The plugin behavior and activation can now be controlled per remap-rule.
- You an control the behavior based on content type.
Plugin APIs
The following additions were made to the plugin APIs:
- TSMutexDestroy() was added, for symmetry with the TSMutexCreate() API.
- TSTextLogObjectRollingSizeMbSet() was added, it as simply missing.
- TSHttpHdrHostGet() was added.
Jira: TS-1432, TS-3059, TS-3101
cachekey
- The old cache url plugin is now deprecated, in favor of our new, more complete cachekey plugin. Make sure to migrate to it if you use the old plugin!
- We have added support for URI and URI path capture and replacements.
gzip
- The gzip plugin can now function as a remap plugin, simplifying and strengthening configuration management. You can now selectively and efficiently enable gzip support easily per remap rule.
- The gzip plugin has also gone through some major rewrites, improving stability and performance.
geoip_acl
- We now support IPv6 for this plugin
Jira: TS-4284