Release docs: Rewrite ESI onerror="continue"

I found the previous wording confusing and hope this is considered an improvement.

We should make clear that lack of onerror="continue" implies abort only if
the feature flag is set.
parent f2e40b0c
...@@ -50,8 +50,15 @@ Varnish Cache NEXT (2022-03-15) ...@@ -50,8 +50,15 @@ Varnish Cache NEXT (2022-03-15)
promoted to a regular feature or dropped without being considered a promoted to a regular feature or dropped without being considered a
breaking change. breaking change.
* ESI includes now support the ``onerror="continue"`` * ESI includes now support the ``onerror="continue"`` attribute of
attribute if the ``+esi_include_onerror`` feature flag is set. ``<esi:include/>`` tags.
The ``+esi_include_onerror`` feature flag controls if the attribute
is honored: If enabled, failure of an include stops ESI processing
unless the ``onerror="continue"`` attribute was set for it.
The feature flag is off by default, preserving the existing behavior
to continue ESI processing despite include failures.
* The deprecated sub-argument of the ``-l`` option was removed, it is * The deprecated sub-argument of the ``-l`` option was removed, it is
now a shorthand for the ``vsl_space`` parameter only. now a shorthand for the ``vsl_space`` parameter only.
......
...@@ -75,18 +75,24 @@ not affect existing ``-I`` scripts, but if it does, simply add the missing ...@@ -75,18 +75,24 @@ not affect existing ``-I`` scripts, but if it does, simply add the missing
Other changes in varnishd Other changes in varnishd
~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~
The ESI parser now recognizes the ``onerror="continue"`` attribute of the The ESI parser now recognizes the ``onerror="continue"`` attribute of
``<esi:include/>`` XML tag. Other values than "continue" are simply ignored. the ``<esi:include/>`` XML tag.
Continuing has always been Varnish's behavior for ESI sub-requests, so this
behavior is guarded by a new ``+esi_include_onerror`` feature flag. The ``+esi_include_onerror`` feature flag controls if the attribute is
honored: If enabled, failure of an include stops ESI processing unless
It means that by default, the top request will continue processing ESI the ``onerror="continue"`` attribute was set for it.
fragments even if one failed during delivery. The parsing always takes the
attribute, and the feature flag only controls whether to honor it or not. The feature flag is off by default, preserving the existing behavior
to continue ESI processing despite include failures.
This means that the persistence of ESI objects changed and does not tolerate
downgrades. ESI persisted before support for this attribute assumes a lack of Users of persistent storage engines be advised that objects created
such attribute and will abort the delivery if the flag is raised. before the introduction of this change can not carry the
``onerror="continue"`` attribute and, consequently, will be handled as
if it was not present if the ``+esi_include_onerror`` feature flag is
enabled.
Also, as this change is not backwards compatible, downgrades with
persisted storage are not supported across this release.
varnishtest varnishtest
=========== ===========
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment