From dridi at varni.sh Tue Nov 13 09:08:43 2018 From: dridi at varni.sh (Dridi Boukelmoune) Date: Tue, 13 Nov 2018 10:08:43 +0100 Subject: Varnish Cache 6.0.2 LTS released Message-ID: 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