[master] 0338875b0 doc/changes.rst: Document all relevant changes (I hope) since 7.6.1
Nils Goroll
nils.goroll at uplex.de
Wed Mar 12 16:59:06 UTC 2025
commit 0338875b06ce8120a34ed6bb6860a37d30eb29c8
Author: Nils Goroll <nils.goroll at uplex.de>
Date: Wed Mar 12 17:10:46 2025 +0100
doc/changes.rst: Document all relevant changes (I hope) since 7.6.1
diff --git a/doc/changes.rst b/doc/changes.rst
index 0df080469..115f39104 100644
--- a/doc/changes.rst
+++ b/doc/changes.rst
@@ -41,6 +41,15 @@ Varnish Cache NEXT (2025-03-15)
.. PLEASE keep this roughly in commit order as shown by git-log / tig
(new to old)
+.. _4281: https://github.com/varnishcache/varnish-cache/issues/4281
+
+* For http/2, normal client behavior like timeouts or closed connection was
+ logged with a ``SessError`` tag and ``ENHANCE_YOUR_CALM`` in additional
+ ``Debug`` log records. This behavior was misleading and has been corrected
+ (`4281`_).
+
+.. _4282: https://github.com/varnishcache/varnish-cache/issues/4282
+
* (Add a prominent note to announcement) Timestamps for http/2 requests have
been corrected and made similar to how they are taken for http/1.
@@ -57,16 +66,117 @@ Varnish Cache NEXT (2025-03-15)
NOTE that after upgrading Varnish-Cache, processing and response times for
http/2 will now be reported as worse than before the upgrade, potentially
*much* worse. This is **NOT** a performance regression, but rather due to the
- corrected timestamps, which arguably were wrong for http/2.
+ corrected timestamps, which arguably were wrong for http/2. (`4282`_)
+
+.. _4283: https://github.com/varnishcache/varnish-cache/issues/4283
+
+* For http/2, an issue has been fixed where stream errors could indirectly cause
+ connection errors. (`4283`_)
+
+* http/2 error detail reporting in ``Debug`` log records has been clarified:
+ Connection errors are now prefixed with ``H2CE_``, and stream errors with
+ ``H2SE_``, respectively.
-.. MISSING commits
+* http/2 ``BogoHeader`` log records now contain the first offending byte value
+ in hex.
+
+* ``varnishtest`` can now send arbitrary http/2 settings frames and arbitrary
+ PROXY2 tlvs.
+
+* Pressing the ``0`` key in ``varnishstat`` interactive (curses) mode now resets
+ averages.
+
+* ``varnishtest`` has been changed to always set a ``VARNISH_DEFAULT_N``
+ environment variable to ensure that ``varnish`` invoked from ``varnishtest``
+ always has a valid workdir.
+
+.. _4276: https://github.com/varnishcache/varnish-cache/issues/4276
+
+* An issue has been fixed which could cause a crash when ``varnishd`` receives
+ an invalid ``Content-Range`` header from a backend. (`4276`_)
* The ``hitmiss`` and ``hitpass`` handling indicators have been added to the
``Varnish:handling`` format of ``varnishncsa``.
-* The scope of VCL variables `req.is_hitmiss` and `req.is_hitpass` is now restricted
- to `vcl_miss, vcl_deliver, vcl_pass, vcl_synth` and `vcl_pass, vcl_deliver, vcl_synth`
- respectively.
+* All bitfield parameters (like ``feature`` or ``vsl_mask``) now support the
+ special values ``all`` and ``none``.
+
+ The output format of ``varnishadm param.show`` has been adjusted accordingly.
+
+* Behavior of the VCL ``include`` statement with the ``+glob`` option has been
+ clarified to not search directories in ``vcl_path``.
+
+* The ``linux`` jail gained control of transparent huge pages (THP) settings:
+ The ``transparent_hugepage`` suboption can be set to ``ignore`` to do nothing,
+ ``enable`` to enable THP (actually, disable the disable), ``disable`` to
+ disable THP or ``try-disable`` to try do disable, but not emit an error if
+ disabling fails. ``try-disable`` is the default.
+
+.. _4273: https://github.com/varnishcache/varnish-cache/issues/4273
+
+* Error handling from the jail subsystem has been streamlined to avoid some
+ confusing and/or contradictory error messages as well as turn assertion
+ failures into error messages (`4273`_)
+
+* ``miniobj.h``: Helper macros ``SIZEOF_FLEX_OBJ()`` and ``ALLOC_FLEX_OBJ()``
+ have been added to facilitate use of structs with flexible array members.
+
+.. _3963: https://github.com/varnishcache/varnish-cache/issues/3963
+
+* Validation of the ``PROXY2`` ``PP2_TYPE_AUTHORITY`` TLV sent with ``.via``
+ backends has been corrected: IP addresses are no longer accepted as an
+ authority and port numbers are automatically removed. (`3963`_)
+
+.. _3757: https://github.com/varnishcache/varnish-cache/issues/3757
+
+* Handling of curses errors in the interactive mode of ``varnishstat``,
+ ``varnishtop`` and ``varnishhist`` has been streamlined and one wrong
+ assertion has been fixed. (`3757`_)
+
+.. not mentioning #4260 because it was introduced within this release cycle with
+ 818ca099105e3ebe1d96fb8deaa91aed6ff1280e
+
+.. _4228: https://github.com/varnishcache/varnish-cache/issues/4228
+
+* The ``Content-Length`` header is now consistently removed after ``unset
+ bereq.body`` on the backend side. (`4228`_)
+
+.. _2735: https://github.com/varnishcache/varnish-cache/issues/2735
+
+* The new ``http_req_overflow_status`` parameter now allows to optionally send a
+ response with a status between ``400`` and ``499`` (inclusive) if a request
+ exceeds ``http_req_size``. The default of ``0`` keeps the existing behavior
+ to just close the connection in this case. (`2735`_)
+
+.. _4142: https://github.com/varnishcache/varnish-cache/pull/4142
+.. _4259: https://github.com/varnishcache/varnish-cache/pull/4259
+
+* Internal handling of iterations on directors (like the cli command
+ ``backend.list`` command) has been improved to better interoperate with
+ concurrent director creation and destruction operations, avoiding most
+ deadlocks in this area (`4142`_, some cases remain for now, see `4259`_).
+
+.. _4253: https://github.com/varnishcache/varnish-cache/pull/4253
+
+* The new ``ban_any_variant`` parameter allows to configure the maximum number
+ of possibly non matching variants evaluated against the ban list during
+ lookup. The default value of 10000 avoids excessive time spent for ban checks
+ during lookups, which could cause noticeable delays for cases with a very high
+ number of bans and/or variants (in the 1000s).
+
+ Setting ``ban_any_variant`` to ``0`` changes the behavior of the lookup-time
+ ban check to only consider matching objects for tests against the ban list,
+ which can be considered a bugfix, depending on the exact interpretation of the
+ semantics of ban expressions with regards to variants. ``0`` will become the
+ new default in a future release of Varnish-Cache. (`4253`_)
+
+.. _3528: https://github.com/varnishcache/varnish-cache/pull/3528
+
+* ``varnishncsa`` now handles headers unset and changed from VCL more
+ consistently: request headers are logged as they were received from the client
+ and as they were sent to the backend, while response headers are logged as
+ they were sent to the client and as they were received from the backend
+ (`3528`_)
* Two fields have been added to the VMOD data registered with varnish-cache:
@@ -77,7 +187,7 @@ Varnish Cache NEXT (2025-03-15)
- ``version`` is intended as a more user friendly identifier as to which
version of a vmod a binary represents.
- Panics and the ``debug.vmod`` CLI command output now contain these
+ The panic output and the ``debug.vmod`` CLI command output now contain these
identifiers.
Where supported by the compiler and linker, the ``vcs`` identifier is also
@@ -104,10 +214,44 @@ Varnish Cache NEXT (2025-03-15)
an attempt is made to extract ``PACKAGE_STRING`` from an automake
``Makefile``, otherwise ``NOVERSION`` is used as the version identifier.
+* Connection pools are now cleaned up asynchronously.
+
+.. _4233: https://github.com/varnishcache/varnish-cache/pull/4233
+
+* A concurrency issue in the backend connection queuing feature as configured
+ through the ``backend_wait_*`` parameters and ``wait_*`` backend attributes
+ has been fixed which could lead to under-utilization of the allowed number of
+ backend connections. (`4233`_)
+
+* An edge case in director handling has been fixed which could lead to premature
+ retirement of backends during assignments.
+
+* A new facility has been added allowing transport delivery functions to
+ disembark the worker thread which had been handling a request's VCL code
+ during delivery by returning ``VTR_D_DISEMBARK`` from the ``vtr_deliver_f``
+ function.
+
+ This will enable future optimizations to make transport protocol code more
+ efficient.
+
+ To enable this facility, a new request processing step ``finish`` has been
+ added once delivery is complete.
+
+* VCL now supports ``unset req.grace`` and ``unset req.ttl`` to reset the
+ respective variables to the "no effect" value, which is also the default.
+
* The scope of VCL variables ``req.is_hitmiss`` and ``req.is_hitpass`` is now
restricted to ``vcl_miss, vcl_deliver, vcl_pass, vcl_synth`` and ``vcl_pass,
vcl_deliver, vcl_synth`` respectively.
+.. _4201: https://github.com/varnishcache/varnish-cache/issues/4201
+
+* The backend ``happy`` VSC bitfield is now set to all ones for backends with no
+ configured probe. (`4201`_)
+
+* The acceptor code has been refactored for basic support of pluggable
+ acceptors.
+
================================
Varnish Cache 7.6.1 (2024-11-08)
================================
More information about the varnish-commit
mailing list