This is an automated email from the ASF dual-hosted git repository.
cmcfarlen pushed a commit to branch 10.0.x
in repository https://gitbox.apache.org/repos/asf/trafficserver.git
The following commit(s) were added to refs/heads/10.0.x by this push:
new 2b7fb24adf Update release-notes from master branch
2b7fb24adf is described below
commit 2b7fb24adfcb106b14ebe42af66e90d5d3cd55f8
Author: Chris McFarlen <[email protected]>
AuthorDate: Tue Aug 20 17:05:16 2024 -0500
Update release-notes from master branch
---
doc/release-notes/upgrading.en.rst | 184 ++++++++++++++++++++++++++++++++-----
doc/release-notes/whats-new.en.rst | 72 +++++++++++++--
2 files changed, 226 insertions(+), 30 deletions(-)
diff --git a/doc/release-notes/upgrading.en.rst
b/doc/release-notes/upgrading.en.rst
index cba3b3d419..902f12dbc7 100644
--- a/doc/release-notes/upgrading.en.rst
+++ b/doc/release-notes/upgrading.en.rst
@@ -23,36 +23,110 @@ Upgrading to ATS v10.x
======================
.. toctree::
- :maxdepth: 1
-Deprecated or Removed Features
-------------------------------
+Feature Changes
+---------------
+
+Removed and Deprecated Features
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The following features, configurations and plugins are either removed or
deprecated in this
version of ATS. Deprecated features should be avoided, with the expectation
that they will be
removed in the next major release of ATS.
+* Removed Features
+ * HostDB no longer supports persistent storage for DNS resolution
+ * Removed support for the MMH crypto hash function
+
+ * Traffic Manager is no longer part of |TS|. Administrative tools now
interact with |TS| directly by using the :ref:`jsonrpc-node`.
+
+ * traffic_ctl ``server``
+
+ As a part of the above feature removal the ``backtrace``, ``restart``,
``start``, ``status`` options are no longer available in this |TS| version.
+
+* Deprecated Features
+
+ * Next Protocol Negotiation (NPN) support has been deprecated from ATS and
will be removed in the next major release.
+
+* Removed Libraries
+
+ * mgmt_c - Client library for traffic_manager
+
+Changes to Features
+~~~~~~~~~~~~~~~~~~~
+The following features have been changed in this version of ATS.
+
+* Remap ACLs
+
+ Changed in-line ACLs to match before activated ACL rules.
+ For details refer to: https://github.com/apache/trafficserver/pull/11033
and :ref:`acl-filters`.
+
+* Administrative API (RPC)
+
+ Moved away from the binary serialization mechanism used to comunicate
between |TS| and the tools to a JSON-RPC text based protocol. Underlying
+ Unix Domain Socket protocol remains the same. Check :ref:`jsonrpc-protocol`
for more details.
+
+* Other changes
+
+ * It is now a fatal error when ATS cannot bind or listen to a configured port
+ * Propagate socket options specified in
:ts:cv:`proxy.config.net.sock_option_flag_in` to newly accepted connections
+ * HostDB internals were restructured, this should (externally) be backwards
compatible.
+ In any case you can check :ref:`developer-doc-hostdb` for more details.
+
+API Changes
+-----------
+The following APIs have changed, either in semantics, interfaces, or both.
+
+* Changed TS API
+
+ * TSHttpTxnAborted
+ * TSMimeHdrPrint
+ * Enum values for hooks and events have been changed (ABI incompatible
change)
+ * TSSslSecretGet
+
+* New TS API
+
+ * TSContScheduleOnEntirePool
+ * TSContScheduleEveryOnEntirePool
+
* Removed TS API
- * TSHttpTxnArgSet
- * TSHttpTxnArgGet
+ * TSContSchedule
* TSHttpSsnArgSet
* TSHttpSsnArgGet
- * TSVConnArgSet
- * TSVConnArgGet
- * TSHttpTxnArgIndexReserve
- * TSHttpTxnArgIndexNameLookup
- * TSHttpTxnArgIndexLookup
* TSHttpSsnArgIndexReserve
* TSHttpSsnArgIndexNameLookup
* TSHttpSsnArgIndexLookup
+ * TSHttpTxnArgSet
+ * TSHttpTxnArgGet
+ * TSHttpTxnArgIndexReserve
+ * TSHttpTxnArgIndexNameLookup
+ * TSHttpTxnArgIndexLookup
+ * TSHttpTxnClientPacketTosSet
+ * TSHttpTxnServerPacketTosSet
+ * TSMgmtConfigIntSet
+ * TSUrlHttpParamsGet
+ * TSUrlHttpParamsSet
+ * TSVConnArgSet
+ * TSVConnArgGet
* TSVConnArgIndexReserve
* TSVConnArgIndexNameLookup
* TSVConnArgIndexLookup
+ * TSRecordType::TS_RECORDTYPE_CLUSTER
+ * TSRecordType::TS_RECORDTYPE_LOCAL
+* Removed INK UDP API
-API Changes
------------
-The following APIs have changed, either in semantics, interfaces, or both.
+ * INKUDPBind
+ * INKUDPSendTo
+ * INKUDPRecvFrom
+ * INKUDPConnFdGet
+ * INKUDPPacketCreate
+ * INKUDPPacketBufferBlockGet
+ * INKUDPPacketFromAddressGet
+ * INKUDPPacketFromPortGet
+ * INKUDPPacketConnGet
+ * INKUDPPacketDestroy
+ * INKUDPPacketGet
Cache
@@ -60,14 +134,14 @@ Cache
The cache in this releases of ATS is compatible with previous versions of ATS.
You would not expect
to lose your cache, or have to reinitialize the cache when upgrading.
-Configuration changes
+Configuration Changes
---------------------
The following incompatible changes to the configurations have been made in
this version of ATS.
The ``records.config`` file has been renamed to :file:`records.yaml` and now
it is structured in YAML format.
Check :ref:`rec-config-to-yaml` and :file:`records.yaml` for more details.
-The records.yaml entry
proxy.config.http.connect_attempts_max_retries_dead_server has been renamed to
proxy.config.http.connect_attempts_max_retries_down_server.
+The following :file:`records.yaml` changes have been made:
- The records.yaml entry ``proxy.config.http.down_server.abort_threshold`` has
been removed.
- The records.yaml entry
``proxy.config.http.connect_attempts_max_retries_dead_server`` has been renamed
to :ts:cv:`proxy.config.http.connect_attempts_max_retries_down_server`.
@@ -80,11 +154,10 @@ The records.yaml entry
proxy.config.http.connect_attempts_max_retries_dead_serve
have been removed.
- The default value for records.yaml entry
``proxy.config.ssl.client.verify.server.policy`` has been changed
from ``PERMISSIVE`` to ``STRICT``.
+- All ``proxy.config.ssl.TLSv*`` and ``proxy.config.ssl.client.TLSv*`` have
been deprecated. Use
+ ``proxy.config.ssl.server.version.min/max`` and
``proxy.config.ssl.client.version.min/max`` instead.
- The records.yaml entry ``proxy.config.http.keepalive_internal_vc`` has been
removed. This entry
was previously undocumented.
-- The records.yaml entries
``proxy.config.http.parent_proxy.connect_attempts_timeout`` and
- ``proxy.config.http.post_connect_attempts_timeout`` were previously
referenced in default config
- files, but they did not have any effect. These have been removed from
default configs files.
- The default values for :ts:cv:`proxy.config.http.request_header_max_size`,
:ts:cv:`proxy.config.http.response_header_max_size`, and
:ts:cv:`proxy.config.http.header_field_max_size` have been changed to 32KB.
- The records.yaml entry :ts:cv:`proxy.config.http.server_ports` now also
accepts the
@@ -113,27 +186,90 @@ The following changes have been made to the
:file:`sni.yaml` file:
- ``disable_h2`` has been removed. Use ``http2`` with :code:`off` instead.
- The ``ip_allow`` key can now take a reference to a file containing the ip
allow rules
+- ``valid_tls_versions_in`` has been deprecated. Use
``valid_tls_version_min_in`` and ``valid_tls_version_max_in`` instead.
-The records.yaml entry proxy.config.http.parent_proxy.connect_attempts_timeout
and proxy.config.http.post_connect_attempts_timeout
-have been removed. Instead use proxy.config.http.connect_attempts_timeout to
control all connection to origin timeouts.
Plugins
-------
+Removed Plugins
+~~~~~~~~~~~~~~~
+The following plugins have been removed from the ATS source code in this
version of ATS:
+
+ * mysql_remap - Dynamic remapping of URLs using data from a MySQL database.
+ * acme
+ * cache_key_genid
+ * fast_cgi
+
+Changes to Features
+~~~~~~~~~~~~~~~~~~~
+The following plugins have been changed in this version of ATS.
+
+* regex_remap - matrix-parameters parameter has been removed. The string that
follows a semicolon is now included in path.
+* header_rewrite - MATRIX part specifier has been removed. The string that
follows a semicolon is now included in PATH part.
+* rate_limit - Few changes were made on this plugin:
+
+ * A ``YAML`` based configuration, reloadable even as global plugin.
+ * SNI aliases
+ * The IP reputation objects are now shareable for many SNIs.
+
+ for more details, please check :ref:`admin-plugins-rate-limit`.
+
Lua Plugin
~~~~~~~~~~
-The following Http config constants have been renamed:
+* The following Http config constants have been renamed:
TS_LUA_CONFIG_HTTP_CONNECT_ATTEMPTS_MAX_RETRIES_DEAD_SERVER has been renamed
to TS_LUA_CONFIG_HTTP_CONNECT_ATTEMPTS_MAX_RETRIES_DOWN_SERVER.
TS_LUA_CONFIG_HTTP_CONNECT_DEAD_POLICY has been renamed to
TS_LUA_CONFIG_HTTP_CONNECT_DOWN_POLICY.
+* The following functions have been removed:
+
+ * ts.http.client_packet_tos_set
+ * ts.http.server_packet_tos_set
+ * ts.client_request.get_uri_params
+ * ts.client_request.set_uri_params
+ * ts.server_request.get_uri_params
+ * ts.server_request.set_uri_params
+
+
Metrics
-------------------
+-------
+
+- The HTTP connection metric proxy.process.http.dead_server.no_requests has
been renamed to proxy.process.http.down_server.no_requests.
+- The network metric ``proxy.process.net.calls_to_readfromnet_afterpoll`` has
been removed
+- The network metric ``proxy.process.net.calls_to_writetonet_afterpoll`` has
been removed
+- New cache metrics ``proxy.process.cache.stripes`` and
+ ``proxy.process.cache.volume_X.stripes`` that counts cache stripes
+- All metric names that ended in ``_stat`` have had that suffix dropped and no
+ longer end with ``_stat``
+- The metric ``proxy.node.cache.contents.num_doc`` was removed
+- The metric ``proxy.node.config.reconfigure_required`` was renamed to
+ ``proxy.process.proxy.reconfigure_required``
+- The metric ``proxy.node.config.reconfigure_time`` was renamed to
+ ``proxy.process.proxy.reconfigure_time``
+- The metric ``proxy.node.config.restart_required.proxy`` was renamed to
+ ``proxy.process.proxy.restart_required``
+- The metric ``proxy.node.restarts.proxy.cache_ready_time`` was renamed to
+ ``proxy.process.proxy.cache_ready_time``
+- The metric ``proxy.node.restarts.proxy.stop_time`` was renamed to
+ ``proxy.process.proxy.start_time``
+- The following traffic_manager metrics have been removed:
+ - proxy.node.hostname_FQ
+ - proxy.node.hostname
+ - proxy.node.proxy_running
+ - proxy.node.restarts.proxy.restart_count
+ - proxy.node.restarts.proxy.start_time
+ - proxy.node.http.parent_proxy_total_response_bytes
-The HTTP connection metric proxy.process.http.dead_server.no_requests has been
renamed to proxy.process.http.down_server.no_requests.
Logging
-------------------
+-------
The ``cqtx`` log field has been removed, but can be replaced by ``cqhm pqu
cqpv``.
+
+The ``cqhv`` log field has been removed.
+
+The ``cpu``, ``cquc``, ``cqup``, and ``cqus`` log fields have new names,
``pqu``, ``pquc``, ``pqup``, and ``pqus``. The old names have been deprecated.
+
+The ``chi`` log field now represents the IP address of the previous hop if
:ref:`Proxy Protocol <proxy-protocol>` is used.
diff --git a/doc/release-notes/whats-new.en.rst
b/doc/release-notes/whats-new.en.rst
index ddaa869acc..1567f5141f 100644
--- a/doc/release-notes/whats-new.en.rst
+++ b/doc/release-notes/whats-new.en.rst
@@ -31,15 +31,38 @@ total of <z> contributors have participated in this
development cycle.
New Features
------------
+* JSON-RPC based interface for administrative API
+
+ |TS| now exposes a JSON-RPC node to interact with external tools. Check
:ref:`developer-guide-jsonrpc` for more details.
+
+* traffic_ctl has a new command ``monitor`` to show a continuously updating
list of metrics
+
+* :file:`ip_allow.yaml` and :file:`remap.config` now support named IP ranges
via IP
+ Categories. See the ``ip_categories`` key definition in :file:`ip_allow.yaml`
+ for information about their use and definitions.
+
+* :file:`sni.yaml` ``fqdn:tunnel_route``, beside the already supported match
group
+ number, configuration now also supports the destination port using a
variable specification
+ either for the incoming connection port or the port that was specified by the
+ incoming Proxy Protocol payload. Check :file:`sni.yaml` for more information.
+
+* The records.yaml entry :ts:cv:`proxy.config.system_clock` was added to
control the underlying
+ system clock that ATS uses for internal timing
New or modified Configurations
------------------------------
-Combined Connect Timeouts
-^^^^^^^^^^^^^^^^^^^^^^^^^
+ip_allow.yaml and remap.config ACL actions
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-The configuration settings :ts:cv:
`proxy.config.http.parent_proxy.connect_attempts_timeout` and :ts:cv:
`proxy.config.http.post_connect_attempts_timeout` have been removed.
-All connect timeouts are controlled by :ts:cv:
`proxy.config.http.connect_attempts_timeout`.
+There are two new sets of actions for HTTP request method filtering introduced
in |TS| 10.x:
+
+- Both :file:`ip_allow.yaml` and :file:`remap.config` now support the
``set_allow`` and ``set_deny`` actions. These
+ actions both behave like ``allow`` and ``deny`` did for
:file:`ip_allow.yaml` pre |TS| 10.x.
+- In addition, :file:`remap.config` now supports ``add_allow`` and
``add_deny`` actions. These behave like ``allow``
+ and ``deny`` actions did for :file:`remap.config` ACLs pre |TS| 10.x.
+
+The details about the motivation and behavior of these actions are documented
in :ref:`acl-filters`.
Logging and Metrics
-------------------
@@ -47,11 +70,27 @@ Logging and Metrics
Plugins
-------
-Switch to C++17
+* authproxy - ``--forward-header-prefix`` parameter has been added
+* prefetch - Cmcd-Request header support has been added
+* xdebug - ``--enable`` option to selectively enable features has been added
+* system_stats - Stats about memory have been added
+* slice plugin - This plugin was promoted to stable.
+
+JSON-RPC
+^^^^^^^^
+
+ Remote clients, like :ref:`traffic_ctl_jsonrpc` have now bi-directional
access to the plugin space. For more details check :ref:`jsonrpc_development`.
+
+Replaced autotools build system with cmake
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+See :ref:`admin-installing` for more information
+
+Switch to C++20
^^^^^^^^^^^^^^^
Plugins are now required to be compiled as C++ code, rather than straight C.
-The API is tested with C++17, so code compatible with this version is
preferred.
+The API is tested with C++20, so code compatible with this version is
preferred.
``TSDebug`` and related functions are removed. Debug tracing should now be
done
using cpp:func:`Dbg` and related functions, as in |TS| core code.
@@ -64,3 +103,24 @@ Symbols With INKUDP Prefix
^^^^^^^^^^^^^^^^^^^^^^^^^^
In the plugin API, all types and functions starting with the prefix INKUDP are
removed.
+
+New plugin hook for request sink transformation
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+A new hook, ``TS_HTTP_REQUEST_CLIENT_HOOK``, has been added. This provides the
analoguas functionality of
+``TS_HTTP_RESPONSE_CLIENT_HOOK``, for request bodies.
+
+HTTP/2
+^^^^^^
+
+* Support for HTTP/2 on origin server connections has been added. This is
disabled by default. For more details check
:ts:cv:`proxy.config.ssl.client.alpn_protocols`
+* Support for CONNECT method has been added.
+* Window size control has been improved. For more details check
:ts:cv:`proxy.config.http2.flow_control.policy_in`
+
+HTTP UI Removed
+^^^^^^^^^^^^^^^
+
+The stats and cache inspector pages were unmaintained and removed in this
+release.
+
+