Varnish Cache 6.0.2 LTS released

Dridi Boukelmoune dridi at varni.sh
Tue Nov 13 09:08:43 UTC 2018


Dear Varnish community,

We are happy to announce the release of Varnish 6.0.2, and it can be
found here:

https://varnish-cache.org/_downloads/varnish-6.0.2.tgz

For this release we have a special announcement that takes us back to
the 6.0.0 release from March. We had prepared a set of packaging
simplifications and more importantly unification of services across all
supported Linux platforms. These changes did not make it in the
official 6.0.0 packages despite what the release notes said. Now we
are pushing these changes to the 6.0 series as part of 6.0.2, and to
avoid breaking users setups with a simple upgrade, we are pushing the
packages to a new official repository:

https://packagecloud.io/varnishcache/varnish60lts

For official Linux packages, all our supported platforms for Varnish
6.0 are based on systemd, and setting up your services with the new
packages is just a regular systemd operation. Please refer to the
upgrade guide from the release notes to learn more:

https://varnish-cache.org/docs/6.0/whats-new/upgrading-6.0.html#packaging-changes

As the name of the new repository implies Varnish 6.0 is a Long Term
Support release, and the new recommended version. At some point
Varnish 4.1, the previous LTS, will reach its end of life. If you are
still using Varnish 4.1, you should still be able to migrate to 6.0
without touching your VCL. Most breaking changes require an explicit
bump of the VCL version and in our experience so far upgrading is very
straightforward.

But there's more! Starting with 6.0 we at Varnish Software decided to
change our approach to stable branches maintenance. We realized that
relying on bug reports to make our decisions on what is eligible to
back ports is not comprehensive enough. Some bugs are found and fixed
before they are reported by users, and sometimes more patches land
after a bug is fixed to polish things up. Instead, we are taking a more
systematic approach of reviewing all patches to lower the risk of missing
bug fixes.

That approach means more work for us, because we (fortunately)
produce more commits than we get bug reports. In the 4.1 and past
series, we also back-ported new features when it made sense. For
all those reasons, we sometimes end up with partial bug fixes applied
out of order, making the process challenging at times. Sometimes
forcing us to review more patches, defeating the purpose of relying on
bug reports. With our systematic review of all commits, we can apply
more of them, most of the time in order, resulting in less divergence
and conflicts to resolve.

This process has proven to be successful for both 6.0.1 and 6.0.2 so
we will likely keep it running. The rules for back-port eligibility are now
clearer, and bug fixes or new features can be backported as long as
they don't change the ABI for libvarnishapi consumers or "$ABI vrt"
VMODs. However 6.0.2 does break the VRT ABI in the traditional
sense. In order to effectively fix a bug we decided to break two symbols
that are meant for the VCL compiler, symbols that VMODs should
never touch:

https://github.com/varnishcache/varnish-cache/issues/2800

We will "break" more of those functions once we identify them all, but
that only means they will stop bothering us in the future. We decided
to change the ABI for VMODs and allow non-breaking changes, so we
will revisit some patches that were left out even though they don't break
starting with the 6.0.3 release. We also reserve the right not to back-port
a feature that meets those requirements to 6.0 when we think we don't
have enough operational feedback, but again we may revisit them later
in the maintenance process.

In summary, if you get Varnish Cache from our official package
repositories, you will need to make the transition. If you are not
using official packages this release should equate to business as
usual, but you may want to give a try to varnishreload from our
official packages:

https://github.com/varnishcache/pkg-varnish-cache/blob/weekly/systemd/varnishreload

It's a script meant to be integrated with service managers for simple
VCL reload schemes. It is portable to non-Linux systems, so feel free
to file a bug report if you find something even if you aren't running
official packages.

We are very excited by the progress made with our new LTS branch,
and we hope you will be too.

Best,

Dridi Boukelmoune
Varnish Software


More information about the varnish-announce mailing list