[master] cbe1ed892 Changelog TLC

Nils Goroll nils.goroll at uplex.de
Tue Sep 12 15:50:07 UTC 2023


commit cbe1ed8921e6c2e3f167a74ec525ff46732b87d3
Author: Nils Goroll <nils.goroll at uplex.de>
Date:   Tue Sep 12 17:47:10 2023 +0200

    Changelog TLC
    
    If you have feedback, additions or corrections, please prodive/commit
    them before next Thursday, September 14, when I will continue to work on
    release documentation unless someone else does it.

diff --git a/doc/changes.rst b/doc/changes.rst
index 1af371255..1d630bffb 100644
--- a/doc/changes.rst
+++ b/doc/changes.rst
@@ -1,8 +1,11 @@
 ..
-	Copyright (c) 2011-2021 Varnish Software AS
+	Copyright (c) 2011-2023 Varnish Software AS
+	Copyright 2016-2023 UPLEX - Nils Goroll Systemoptimierung
 	SPDX-License-Identifier: BSD-2-Clause
 	See LICENSE file for full text of license
 
+.. role:: ref(emphasis)
+
 ===================
 About this document
 ===================
@@ -38,15 +41,116 @@ Varnish Cache NEXT (2023-09-15)
 .. PLEASE keep this roughly in commit order as shown by git-log / tig
    (new to old)
 
-* The ``VSHA256_*`` functions have been added to libvarnishapi.
+* The ``VSB_quote_pfx()`` (and, consequently, ``VSB_quote()``) function
+  no longer produces ``\v`` for a vertical tab. This improves
+  compatibility with JSON.
+
+* The bundled *zlib* has been updated to match *zlib 1.3*.
+
+* The ``VSHA256_*`` functions have been added to libvarnishapi (3946_).
+
+* Tabulation of the ``vcl.list`` CLI output has been modified
+  slightly.
+
+* VCL now supports "protected headers", which can neither be set nor unset.
+
+* The ``Content-Length`` and ``Transfer-Encoding`` headers are now
+  protected. For the common use case of ``unset
+  xxx.http.Content-Length`` to dismiss a body, ``unset xxx.body``
+  should be used.
+
+* Error handling of numeric literals in exponent notation has been
+  improved in the VCL compiler (3971_).
+
+* Finalization of the storage private state of busy objects has been
+  fixed. This bug could trigger a panic when ``vcl_synth {}`` was used
+  to replace the object body and storage was changed from one of the
+  built-in storage engines to a storage engine from an extension (3953_).
+
+* HTTP/2 header field validation is now more strict with respect to
+  allowed characters (3952_).
+
+* A bug has been fixed in the filter handling code which could trigger
+  a panic when ``resp.filters`` was used from ``vcl_synth {}`` (3968_).
+
+* The utility macros ``ALLOC_OBJ_EXTRA()`` and ``ALLOC_FLEX_OBJ()``
+  have been added to ``miniobj.h`` to simplify allocation of objects
+  larger than a struct and such with a flexible array.
+
+* The ``varnishapi`` version has been increased to 3.1 and the
+  functions ``VENC_Encode_Base64()`` and ``VENC_Decode_Base64()`` are
+  now exposed.
 
 * Two bugs in the ban expression parser have been fixed where one of them
   could lead to a panic if a ban expression with an empty header name was
-  issued (3962_)
+  issued (3962_).
+
+* The ``v_cold`` macro has been added to add ``__attribute__((cold))``
+  on compilers supporting it. It is used for ``VRT_fail()`` to mark
+  failure code paths as cold.
+
+* ``varnishtest`` now generates ``User-Agent`` request and ``Server``
+  response headers with the respective client and server name by
+  default. The ``txreq -nouseragent`` and ``txresp -noserver`` options
+  disable addition of these headers.
+
+* Error handling of invalid header names has been improved in the VCL
+  Compiler (3960_).
+
+* A race condition has been fixed in the backend probe code which
+  could trigger a panic with dynamic backends (dyn100_).
+
+* A bug has been fixed in the ESI code which would prevent use of
+  internal status codes >1000 as their modulus 1000 value (3958_).
+
+* The ``varnishd_args_prepend`` and ``varnishd_args_append`` macros
+  have been added to ``varnishtest`` to add arguments to ``varnishd``
+  invocations before and after the defaults.
+
+* A bug has been fixed where ``varnishd`` would hang indefinitely when
+  the worker process would not come up within ``cli_timeout`` (3940_).
+
+* The ``startup_timeout`` parameter now specifically replaces
+  ``cli_timeout`` for the initial startup only (3940_).
+
+* On Linux, ``close_range()`` is now used if available (3905_).
+
+* Error reporting has been improved if the working directory
+  (``varnishd -n`` argument) resides on a file system mounted
+  ``noexec`` (3943_).
+
+* The number of backtrace levels in panic reports has been increased
+  from 10 to 20.
+
+* The ``PTOK()`` macro has been added to ``vas.h`` to simplify error
+  checking of ``pthread_*`` POSIX functions.
+
+* In ``varnishtest``, the basename of the test directory is now
+  available as the ``vtcid`` macro to serve as a unique string across
+  concurrently running tests.
+
+* In ``struct vsmwseg`` and ``struct vsm_fantom``, the ``class``
+  member has been renamed to ``category``.
+
+* ESI ``onerror=abort`` handling has been fixed when ``max_esi_depth``
+  is reached (3938_).
+
+* A spurious *Could not delete 'vcl\_...'* error message has been
+  removed (3925_).
 
 * A bug has been fixed where ``unset bereq.body`` had no effect when
   used with a cached body (3914_)
 
+* ``.vcc`` files of VMODs are now installed to
+  ``/usr/share/varnish/vcc`` (or equivalent) to enable re-use by other
+  tools like code editors.
+
+* The :ref:`vcl-step(7)` manual page has been added to document the
+  VCL state machines.
+
+* ``HSH_Cancel()`` has been moved to ``VDP_Close()`` to enable
+  transports to keep references to objects.
+
 * VCL tracing now needs to be explicitly activated by setting the
   ``req.trace`` or ``bereq.trace`` VCL variables, which are
   initialized from the ``feature +trace`` flag. Only if the trace
@@ -80,20 +184,30 @@ Varnish Cache NEXT (2023-09-15)
   logged under the ``Error`` tag as ``Failed to create object object
   from %s %s``.
 
-* ``varnishtest`` gained the macro ``varnishd_args`` to globally
-  append additional arguments to the ``varnishd`` command line. Macros
-  in this macro's value will be expanded.
-
 * The limit on the size of ``varnishtest`` macros has been raised to
   2KB.
 
 * The newly introduced abstract socket support was incompatible with
   other implementations, this has been fixed (3908_).
 
+.. _3905: https://github.com/varnishcache/varnish-cache/issues/3905
 .. _3908: https://github.com/varnishcache/varnish-cache/pull/3908
 .. _3911: https://github.com/varnishcache/varnish-cache/issues/3911
 .. _3914: https://github.com/varnishcache/varnish-cache/pull/3914
+.. _3925: https://github.com/varnishcache/varnish-cache/issues/3925
+.. _3938: https://github.com/varnishcache/varnish-cache/issues/3938
+.. _3940: https://github.com/varnishcache/varnish-cache/issues/3940
+.. _3943: https://github.com/varnishcache/varnish-cache/issues/3943
+.. _3946: https://github.com/varnishcache/varnish-cache/issues/3946
+.. _3952: https://github.com/varnishcache/varnish-cache/issues/3952
+.. _3953: https://github.com/varnishcache/varnish-cache/issues/3953
+.. _3958: https://github.com/varnishcache/varnish-cache/issues/3958
+.. _3960: https://github.com/varnishcache/varnish-cache/issues/3960
 .. _3962: https://github.com/varnishcache/varnish-cache/issues/3962
+.. _3968: https://github.com/varnishcache/varnish-cache/issues/3968
+.. _3971: https://github.com/varnishcache/varnish-cache/issues/3971
+
+.. _dyn100: https://github.com/nigoroll/libvmod-dynamic/issues/100
 
 ================================
 Varnish Cache 7.3.0 (2023-03-15)


More information about the varnish-commit mailing list