-
Notifications
You must be signed in to change notification settings - Fork 6
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
Add a PLEP on release schedule #43
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
@@ -0,0 +1,97 @@ | ||||||||||||||||||||||||||||
========================================================= | ||||||||||||||||||||||||||||
PLEP-0009 – Release schedule and long-term support policy | ||||||||||||||||||||||||||||
========================================================= | ||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
+-------------------+---------------------------------------------+ | ||||||||||||||||||||||||||||
| PLEP | number | | ||||||||||||||||||||||||||||
+===================+=============================================+ | ||||||||||||||||||||||||||||
| author(s) | Nicholas A. Murphy | | ||||||||||||||||||||||||||||
+-------------------+---------------------------------------------+ | ||||||||||||||||||||||||||||
| contact email | [email protected] | | ||||||||||||||||||||||||||||
+-------------------+---------------------------------------------+ | ||||||||||||||||||||||||||||
| date created | *YYYY-MM-DD* | | ||||||||||||||||||||||||||||
+-------------------+---------------------------------------------+ | ||||||||||||||||||||||||||||
| date last revised | *YYYY-MM-DD* | | ||||||||||||||||||||||||||||
+-------------------+---------------------------------------------+ | ||||||||||||||||||||||||||||
| type | process | | ||||||||||||||||||||||||||||
+-------------------+---------------------------------------------+ | ||||||||||||||||||||||||||||
| status | discussion | | ||||||||||||||||||||||||||||
+-------------------+---------------------------------------------+ | ||||||||||||||||||||||||||||
| DOI | | | ||||||||||||||||||||||||||||
| | | | ||||||||||||||||||||||||||||
+-------------------+---------------------------------------------+ | ||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
Abstract | ||||||||||||||||||||||||||||
======== | ||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
This PLEP describes the nominal release schedule and long-term support | ||||||||||||||||||||||||||||
(LTS) policy for PlasmaPy. | ||||||||||||||||||||||||||||
Comment on lines
+27
to
+28
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
Detailed Description | ||||||||||||||||||||||||||||
==================== | ||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
Release schedule | ||||||||||||||||||||||||||||
---------------- | ||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
Feature releases of PlasmaPy will be scheduled for January, May, and | ||||||||||||||||||||||||||||
September of each year, and maintained with backwards compatible bug | ||||||||||||||||||||||||||||
fixes and documentation improvements until the next feature release. | ||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
Python support policy | ||||||||||||||||||||||||||||
--------------------- | ||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
For consistency with NumPy Enhancement Proposal 29, each feature | ||||||||||||||||||||||||||||
release will be compatible with minor versions of Python released in | ||||||||||||||||||||||||||||
the prior 42 months and minor versions of NumPy released in the prior | ||||||||||||||||||||||||||||
24 months. Because Python minor releases occur each October, the May | ||||||||||||||||||||||||||||
release of PlasmaPy will drop support of the oldest-supported version | ||||||||||||||||||||||||||||
of Python. For example, the May 2025 release of Python will drop | ||||||||||||||||||||||||||||
compatibility with Python 3.10 and require Python 3.11 or newer. | ||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
Long-term support policy | ||||||||||||||||||||||||||||
------------------------ | ||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
If there is sufficient funding for the development and maintenance of | ||||||||||||||||||||||||||||
PlasmaPy, then the first release in even-numbered years will be an LTS | ||||||||||||||||||||||||||||
release that will be maintained with bugfixes and documentation | ||||||||||||||||||||||||||||
improvements for two years. | ||||||||||||||||||||||||||||
Comment on lines
+51
to
+57
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
Implementation | ||||||||||||||||||||||||||||
============== | ||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
To implement this PLEP, it will be necessary to implement | ||||||||||||||||||||||||||||
infrastructure for performing backports for LTS releases. For example, | ||||||||||||||||||||||||||||
when a pull request for Astropy is labeled as appropriate for a | ||||||||||||||||||||||||||||
backport, then a GitHub tool will automatically create a pull request | ||||||||||||||||||||||||||||
to the appropriate branches. This infrastructure will reduce the | ||||||||||||||||||||||||||||
effort needed to perform backports and minor releases. | ||||||||||||||||||||||||||||
Comment on lines
+62
to
+67
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We should probably delay a decision on an LTS policy until we have better infrastructure in place to do backports. I want to look into how Astropy and other packages have backports set up too. |
||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
Alternatives | ||||||||||||||||||||||||||||
============ | ||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
Feature release cadence | ||||||||||||||||||||||||||||
----------------------- | ||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
This PLEP specifies a feature release cadence of four months. | ||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
* A less frequent release schedule would reduce the amount of effort | ||||||||||||||||||||||||||||
by developers, but would delay new features being made available to | ||||||||||||||||||||||||||||
new users. Too much time between releases would also increase the | ||||||||||||||||||||||||||||
risk that developers would forget how to perform the releases. | ||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
* A more frequent release schedule would enable features to become | ||||||||||||||||||||||||||||
available to users more quickly, but with the tradeoffs of | ||||||||||||||||||||||||||||
additional work overhead for each release, less stability for | ||||||||||||||||||||||||||||
users, and more difficulty keeping track of citations. | ||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
A release cadence of four months balances these tradeoffs. | ||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Need to add a section that addresses the alternative of having LTS releases. |
||||||||||||||||||||||||||||
Decision Rationale | ||||||||||||||||||||||||||||
================== | ||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
*Summarize the discussion on this PLEP and describe the reasoning | ||||||||||||||||||||||||||||
behind the decision, if necessary.* | ||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
*Not all PLEPs require all of these sections, and occasionally | ||||||||||||||||||||||||||||
additional sections may be necessary. Emphasized text should be | ||||||||||||||||||||||||||||
deleted.* |
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.