We are planning to ship our very first release of Octopus Server with long-term support (LTS) in Q4 2018. This post explains our plans for Octopus Server in an LTS world, and how you will benefit. We also explore some of the background to this decision and some of the mechanics we'll use behind the scenes.
We think a lot of self-hosted customers will want to predominantly use Octopus Server releases with long-term support, but if you use self-hosted and want to keep right up to date with everything we're doing, you can keep enjoying that cake too!
- Introducing the Octopus Server LTS Program
- The Power to Choose
- Wrapping Up
Introducing the Octopus Server LTS Program
We will ship a new release of Octopus Server with six months of long-term support on a three month cadence. This means there will be two current LTS releases at any point in time.
Each LTS release will roll up all the features and bug fixes we've stabilized during that three month period. A release of Octopus Server with long-term support will:
- Get critical bug fixes and security patches for up to six months.
- Not get new features, minor enhancements, nor minor bug fixes - these will roll up into the next LTS release.
When it comes to deciding what to include or exclude from a patch we will use this rule of thumb:
Installing a patch should be safer than not installing that patch.
You should use the same rule of thumb when deciding whether to install a patch onto your Octopus Server.
We will announce each new LTS release of Octopus Server in a blog post with the
LTS tag, clearly stating which releases are still covered by long-term support, and releases where long-term support has expired.
Each release of Octopus Server will clearly indicate if it is an LTS release on the downloads page and inside the product itself.
The Power to Choose
We realize not every customer is the same. We want to make it really easy for anyone to answer this question: What is the best release of Octopus Server to install?
We want to give you the power to choose, along with simple guidance to help make an informed choice.
Introducing the Fast and Slow Lanes
Under the covers, we plan to keep working the same way we have for the last several years: shipping bug fixes and minor enhancements with a quick turnaround and working closely with our customers to design and test new features. What we are adding is a special release cadence, where the release is based on the most stable version at that point in time with some additional quality assurance, complete with the offer of six months long-term support.
Internally we think about this as two "release lanes":
- The fast lane is exactly what we do today. We ship new features when they are ready, usually every 4-6 weeks, and ship bug fixes and minor enhancements into patches every few days.
- The slow lane is where we will stabilize and ship releases with long-term support, along with any patches containing critical bug fixes and security patches for up to six months.
Octopus Cloud is in the Fast Lane
Octopus Cloud customers will be using releases from the fast lane: we make the choice for you. You will get the latest and greatest features as soon as they are ready, along with the quickest turnaround time on bug fixes and small enhancements.
Self-hosted: The Power to Choose
Self-hosted customers can decide for themselves. We recommend choosing a lane and sticking with it, but you can switch lanes when it suits your situation.
Choose the slow lane releases with long-term support if this sounds like your scenario:
- "We prefer stability over having the latest features."
- "We upgrade Octopus about every three months."
- "We evaluate Octopus in a test environment before upgrading our production installation."
You should choose the fast lane releases if this sounds like your scenario:
- "We want the latest and greatest features and really fast turnaround on small enhancements and bug fixes."
- "We want to engage closely with the Octopus team, so we can help them build the best automation tooling in the world!"
I've covered the broad details of our long-term support program, and I'll answer some common questions here. If you have any questions at all, please feel free to ask in the comments!
How Do You Choose What to Include in an LTS Patch?
We will use this rule of thumb: Installing a patch should be safer than not installing that patch. We will include something in an LTS patch when, for example:
- We discover a security vulnerability which will result in us raising a CVE report.
- We discover a show-stopping bug where there is no viable workaround.
- We discover an issue which is only present in a current LTS release.
- We discover something which just makes good business sense to patch.
We will not:
- Ship hundreds of LTS patches - we want stability and a high signal to noise ratio.
- Ship new features in LTS patches.
- Ship breaking changes in LTS patches.
Can We Move Between the Slow and Fast Lanes?
Yes, you can switch lanes in a controlled fashion. "Accelerating" to a fast lane release will result in you running a higher version of Octopus Server - it's just a normal upgrade. If you would like to "decelerate" back to the slow lane releases with long-term support, just wait until the next LTS release is shipped and upgrade to that release.
Will You Maintain the Monthly Cadence for Fast Lane Releases?
We currently ship releases on an approximate monthly cadence. We think a predictable cadence is more important for customers using the slow lane releases with long-term support - it will help them plan their upgrades.
- In the slow lane we will aim to ship LTS releases on a strict three month cadence.
- In the fast lane we will aim to ship new releases on a monthly cadence, however, sometimes we may decide to ship a fast lane release earlier, or take some extra time to harden a fast lane release before shipping it.
If you prefer a more predictable cadence choose the slow lane releases with long-term support.
Will You Change Your Versioning Strategy?
Not really, no. We will pick the next release number for each release of Octopus Server just like we do today with some extra context:
- We will add
LTSto some part of the version for releases which come with long-term support.
Let's imagine a possible future based on our current plans. Please don't bet the farm on these exact dates, version numbers, nor features lists - this is just an example to help you imagine how our release history might look after a while, and how these will map to your scenario.
2018.7shipped in July 2018 primarily with support for workers - see release notes.
2018.8shipped in September 2018 with support for multiple packages in steps and Kubernetes support in alpha - see release notes.
2018.9ships in late September 2018 with the Kubernetes support in full release.
2018.10 LTSships in early October 2018 based on the most reputable release of
2018.9(including Kubernetes support, excluding Spaces because that comes in
2018.11). This release comes with six months of long-term support.
2018.11ships in late October as the first installment of Spaces.
2018.12ships in late November with battle hardened Spaces and other good things.
2019.1 LTSships in January 2019 as the next release with six months of long-term support rolling up all the good things we did since
- At this point in time both
2019.1 LTSwill be covered by long-term support.
- Notice the version numbers are not really the important part - it's the
LTScomponent and the offer of support which really matters.
- At this point in time both
2019.2ships in late January 2019 with more good things.
2019.3ships in February 2019 with, you guessed it, even more good things.
2019.4ships in March 2019...
2019.5 LTSships in April 2019 as the next release with six months of long-term support, rolling up all the good things we did since
- At this point in time we will discontinue support for
2018.10 LTS, with
2019.5 LTSbecoming the two current releases covered by long-term support.
- At this point in time we will discontinue support for
One thing you might notice in this imagined future: there were three fast lane releases between
2019.1 LTS and
2019.5 LTS. We plan to ship fast lane releases at our discretion, and we plan to ship a new LTS release on a three month cadence. The most important part is to choose the releases from the best lane for you, and don't pay too much attention to the version number attached.
Hopefully this imagined future helps clarify our plans.
We are introducing long-term support (LTS) for Octopus, and you can bank on it.
If you have any concerns or questions, please reach out in the comments below!