[master] dbff3e425 changes: Collect noteworthy changes since 6.6.0
Dridi Boukelmoune
dridi.boukelmoune at gmail.com
Wed Sep 1 10:50:07 UTC 2021
commit dbff3e425003c2d4813bb6ec5a65eafee1db9919
Author: Dridi Boukelmoune <dridi.boukelmoune at gmail.com>
Date: Wed Sep 1 12:46:27 2021 +0200
changes: Collect noteworthy changes since 6.6.0
diff --git a/doc/changes.rst b/doc/changes.rst
index f18804a3c..c290a644c 100644
--- a/doc/changes.rst
+++ b/doc/changes.rst
@@ -32,32 +32,140 @@ individual releases. These documents are updated as part of the
release process.
================================
-Varnish Cache 7.x.x (2021-09-15)
+Varnish Cache 7.0.0 (2021-09-15)
================================
-* The minimum ``session_workspace`` is now 384 bytes
+* Added convenience ``vrt_null_strands`` and ``vrt_null_blob`` constants.
-* The default workdir (the default ``-n`` argument) is now ``/var/run``
- instead of ``${prefix}/var``.
- (Packages usually configure this to match local customs.)
+* New VCL flag syntax ``foo <name> +bar -baz { ... }``, starting with ACL
+ flags ``log``, ``pedantic`` and ``table``.
+
+* ACLs no longer produce VSL ``VCL_acl`` records by default, this must be
+ explicitly enabled with ``acl <name> +log { ... }``.
+
+* ACLs can be compiled into a table format, which runs a little bit
+ slower, but compiles much faster for large ACLs.
+
+* ACLs default to ``pedantic`` which is now a per-ACL feature flag.
+
+* New ``glob`` flag for VCL ``include`` (3193_).
+
+* The maximum number of headers for a request or a response in ``varnishtest``
+ was increased to 64.
+
+* The backend lock class from struct backend was moved to struct director and
+ renamed accordingly.
+
+* New ``%{sec,msec,usec,msec_frac,usec_frac}t`` formats in ``varnishncsa``.
+
+* ``vstrerror()`` was renamed to ``VAS_errtxt()``.
+
+* New ``varnishncsa -j`` option to format for JSON (3595_).
+
+* To skip a test in the *presence* of a feature instead of it absence, a new
+ ``feature !<name>`` syntax was added to ``varnishtest``.
+
+* Accept-Ranges headers are no longer generated for passed objects,
+ but must either come from the backend or be created in ``vcl_deliver{}``
+ (3251_).
+
+* The busyobj ``do_pass`` flag is gone in favor of ``uncacheable``.
+
+* The objcore flag ABANDON was renamed to CANCEL.
* 'Scientific Notation' numbers like 6.62607004e-34 are no longer
supported in VCL. (The preparation of RFC8941 made it clear that
there are neither reason nor any need to support scientific notation
in context of HTTP headers.
-* Accept-Ranges headers are no longer generated for passed objects,
- but must either come from the backend or be created in ``vcl_deliver{}``
+* New ``tunnel`` command in ``varnishtest`` to gain the ability to
+ shape traffic between two peers without having to change their
+ implementation.
-* ACLs no longer produce VSL ``VCL_acl`` records by default, this must be
- explicitly enabled with ``vcl <name> +log { ... }``.
+* Global VCL symbols can be defined after use (3555_).
-* ACLs can be compiled into a table format, which runs a little bit
- slower, but compiles much faster for large ACLs.
+* New ``req.hash_ignore_vary`` flag in VCL.
-* ACLs default to ``pedantic`` which is now a per-ACL feature flag.
+* ``varnishtest`` can register macros backed by functions, which is the case
+ for ``${date}`` and the brand new ``${string,<action>[,<args>...]}`` macro
+ (3627_).
+
+* Migration to pcre2 with extensive changes to the VRE API, parameters renamed
+ to ``pcre2_match_limit`` and ``pcre2_depth_limit``, and the addition of a
+ new ``pcre2_jit_compilation`` parameter. The ``varnishtest`` undocumented
+ feature check ``pcre_jit`` is gone (3635_). This change is transparent at
+ the VRT layer and only affects direct VRE consumers.
+
+* New inverted mode in ``vtc-bisect.sh`` to find the opposite of regressions.
+
+* The default values for ``workspace_client``, ``workspace_backend`` and
+ ``vsl_buffer`` on 64bit systems were increased to respectively 96kB, 96kB
+ and 16kB (3648_).
+
+* The deprecated ``WS_Inside()`` was replaced with ``WS_Allocated()`` and
+ ``WS_Front()`` was removed.
+
+* VCL header names can be quoted, for example ``req.http."valid.name"``.
+
+* Added ``VRT_UnsetHdr()`` and removed ``vrt_magic_string_unset``.
+
+* Removed depcreated ``STRING_LIST`` in favor of ``STRANDS``. All functions
+ that previously took a ``STRING_LIST`` had ``const char *, ...`` arguments,
+ they now take ``const char *, VCL_STRANDS`` arguments. The magic cookie
+ ``vrt_magic_string_end`` is gone and ``VRT_CollectStrands()`` was renamed to
+ ``VRT_STRANDS_string()``.
+
+* The default value for ``thread_pool_stack`` was increased to 80kB for 64bit
+ systems and 64kB for 32bit to accomodate the PCRE2 jit compiler.
+
+* Removed deprecated ``VSB_new()`` and ``VSB_delete()``, which resulted in a
+ major soname bump of libvarnishapi to 3.0.0, instead of the 2.7.0 version
+ initially planned.
+
+* The default workdir (the default ``-n`` argument) is now ``/var/run``
+ instead of ``${prefix}/var`` (3672_). Packages usually configure this to
+ match local customs.
+
+* The minimum ``session_workspace`` is now 384 bytes
+
+* Emit minimal 500 response if ``vcl_synth`` fails (3441_).
+
+* New ``--enable-coverage`` configure flag, and renovated sanitizer setup.
+
+* New feature checks in ``varnishtest``: ``sanitizer``, ``asan``, ``lsan``,
+ ``msan``, ``ubsan`` and ``coverage``.
+
+* New ``--enable-workspace-emulator`` configure flag to swap the worksapce
+ implementation with a sparse one ideal for fuzzing (3644_).
+
+* Strict comparison of items from the HTTP grammar (3650_).
+
+* New request body h2 window handling using a buffer to avoid stalling an
+ entire h2 session until the relevant stream starts consuming DATA frames.
+ As a result the minimum value for ``h2_initial_window_size`` is now 65535B
+ to avoid running out of buffer with a negative window that was simpler to
+ not tolerate, and a new ``h2_rxbuf_storage`` parameter was added (3661_).
+
+* ``SLT_Hit`` now includes streaming progress when relevant.
+
+* The ``http_range_support`` adds consistency checks for pass transactions
+ (3673_).
+
+* New ``VNUM_uint()`` and ``VNUM_hex()`` functions geared at token parsing.
-* ``varnishncsa -j`` will now accept to print fields with control characters.
+.. _3193: https://github.com/varnishcache/varnish-cache/issues/3193
+.. _3251: https://github.com/varnishcache/varnish-cache/issues/3251
+.. _3441: https://github.com/varnishcache/varnish-cache/issues/3441
+.. _3555: https://github.com/varnishcache/varnish-cache/issues/3555
+.. _3595: https://github.com/varnishcache/varnish-cache/issues/3595
+.. _3627: https://github.com/varnishcache/varnish-cache/issues/3627
+.. _3635: https://github.com/varnishcache/varnish-cache/issues/3635
+.. _3644: https://github.com/varnishcache/varnish-cache/issues/3644
+.. _3648: https://github.com/varnishcache/varnish-cache/issues/3648
+.. _3650: https://github.com/varnishcache/varnish-cache/issues/3650
+.. _3661: https://github.com/varnishcache/varnish-cache/issues/3661
+.. _3672: https://github.com/varnishcache/varnish-cache/issues/3672
+.. _3673: https://github.com/varnishcache/varnish-cache/issues/3673
================================
Varnish Cache 6.6.0 (2021-03-15)
More information about the varnish-commit
mailing list