-
Notifications
You must be signed in to change notification settings - Fork 69
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
feature: Adopt a release & PHP / dependency version support policy #173
Open
acoulton
wants to merge
1
commit into
Behat:v3.0
Choose a base branch
from
acoulton:support-policy
base: v3.0
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -70,6 +70,7 @@ and the same. | |
quick_start | ||
user_guide | ||
cookbooks | ||
releases | ||
useful_resources | ||
community | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
Releases & version support | ||
========================== | ||
|
||
Behat follows `Semantic Versioning`_ - breaking changes will only be made in a major release. | ||
|
||
======= ========== ============ ============ ===================================================================== | ||
Major Released Bugfix EOL Security EOL | ||
======= ========== ============ ============ ===================================================================== | ||
`v2.x`_ July 2011 June 2015 June 2015 `Changelog <https://github.com/Behat/Behat/blob/2.5/CHANGES.md>`__ | ||
`v3.x`_ April 2014 *>12 months* *>24 months* `Changelog <https://github.com/Behat/Behat/blob/master/CHANGES.md>`__ | ||
======= ========== ============ ============ ===================================================================== | ||
|
||
Support and release timescales | ||
------------------------------ | ||
|
||
Major versions | ||
~~~~~~~~~~~~~~ | ||
|
||
Each time a new major version is released, the Behat maintainers will set End-of-Life dates for the previous version | ||
series. This will be based on the scale of the breaking changes, the complexity of supporting the older version, and the | ||
likely effort required for users and third-party extensions to upgrade. | ||
|
||
As a minimum, a major version series will receive: | ||
|
||
* Bugfixes for 12 months after the release of the next major. | ||
* Security fixes for 24 months after the release of the next major. | ||
|
||
There is no fixed schedule for releasing new major versions - but we will try to keep them to a frequency that is | ||
manageable for users. | ||
|
||
Minor versions | ||
~~~~~~~~~~~~~~ | ||
|
||
Minor & patch versions will be released whenever there is something to release. These releases do not come with any | ||
specific support timescale, and we expect that users will upgrade to the next minor when it becomes available. | ||
|
||
Bugfixes will usually only be applied to the most recent minor of each supported major version, unless they are | ||
particularly severe or have security implications. This will impact support for End-of-Life PHP & symfony versions - | ||
see below for more details. | ||
|
||
Please bear in mind that this is free software, maintained by volunteers as a gift to users, and the license | ||
specifically explains that it is provided without warranty of any kind. | ||
|
||
|
||
Support for PHP and dependency versions | ||
--------------------------------------- | ||
|
||
Behat only supports current versions of PHP and third-party dependency packages (e.g. symfony components). | ||
|
||
By "current", we mean: | ||
|
||
* PHP versions that are listed as receiving active support or security fixes on the `official php.net version support page`_. | ||
* Symfony versions that are listed as maintained or receiving security fixes on the `official symfony releases page`_. | ||
|
||
Once a PHP or symfony version reaches End of Life we will remove it from our composer.json and CI flows. | ||
|
||
.. note:: | ||
When we drop support for a PHP / dependency version we will highlight this in the CHANGELOG, but we will treat | ||
it as a minor release. Composer will automatically protect users from upgrading to a version that does not support | ||
their environment. Users running Behat as a `.phar` should review the release notes before downloading a new version. | ||
|
||
We will not ship bugfix releases for unsupported PHP / dependency versions, unless: | ||
|
||
* It fixes a security vulnerability within the security support period for a Behat major version. | ||
* An external contributor wishes to take on the work of backporting, including any changes required | ||
to get a green build in CI. | ||
|
||
|
||
.. _`Semantic Versioning`: http://semver.org/ | ||
.. _`official php.net version support page`: https://www.php.net/supported-versions.php | ||
.. _`official symfony releases page`: https://symfony.com/releases | ||
.. _`v2.x`: https://github.com/Behat/Behat/releases?q=v2 | ||
.. _`v3.x`: https://github.com/Behat/Behat/releases?q=v3 |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This may be a bit confusing, some users may read this as "bugfixes ended 12 months after April 2014 and security fixes ended 24 months after April 2014"? Maybe adopt what other tools do which to show which versions are maintained, which are security fixes only, which are end of life and even show future unreleased versions. So we could list version 2.x as end of life for bugs and security, 3.x as maintained and 4.x as unreleased. What do you think?