Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: add release plan [skip ci] #4853

Merged
merged 7 commits into from Jan 28, 2019
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
49 changes: 49 additions & 0 deletions RELEASE_PLAN.md
@@ -0,0 +1,49 @@
## Release Plan

Starting with version `v2.4`, Nuxt will adhere to a formalized release plan (as good as possible).
Also, an end of life for older major versions is defined with this document

### Major versions (3.x -> 4.0)

Nuxt major releases are planned every **6 months**. This depends on a few factors though:

* If there are no breaking changes waiting for a release, no new major version will be published. Instead, another minor one will be released.
* In case of unexpected major updates of important dependencies like Vue, Webpack, and so on, major versions might be released *earlier* than planned.

The goal is to provide a **migration guide** for each major version as well, as escape hatches, so existing code
won't "just break".

### Minor versions (2.1 -> 2.2)

The release cycle for Nuxt.js minor versions is roughly **4 weeks**.

Three of the four weeks will be used for actual **feature implementations** while the last week will be used for
**testing, fixing bugs and thorough audits**.

That also means a *feature freeze* for the next minor version after these three weeks.
Features that aren't ready will be moved to the next cycle. "Waiting" for features
(for a longer time) will be avoided as good as possible to keep releases lean, concise, predictable and digestible.

### Patch releases (2.2.3 -> 2.2.4)

The last patch releases were mostly *bundled* fixes or single *hotfixes*.
In the future, fixes will be released **as soon as possible** after the actual PR/commit so people won't have to switch to `nuxt-edge` for bugfixes. This should improve the stability of Nuxt

Fixes can or will include:

* Updates of dependencies (for various reasons, like a "faulty/buggy" dependency or an newer versions that works better with the Nuxt.js code)
pi0 marked this conversation as resolved.
Show resolved Hide resolved
* Fixes for our code

Bugfixes for upcoming features won't be ported of course.

### Edge Release Channel

After experimenting with `nuxt-edge` releases in the last time, the decisiion to do **nightly releases** for now instead of
releasing a version after *each commit* was made.

## End of Life

Starting with `v2.4`, every major Nuxt.js version will have an **End of Life**.
Previous releases will receive security updates and bugfixes **for one year and two weeks**, counted from the first release on.
As Nuxt majors are approximately released once every 6 months, this will allow developers to "skip one major version" without being stuck with a broken or unsecure Nuxt.js dependency.
The EOL also applies to the documentation.