Skip to content

Commit 81e3344

Browse files
committed
chore: make sure releases.md renders okay
1 parent cd81d0a commit 81e3344

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

docs/devs/releases.md

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ As of January 2020, *fMRIPrep* has adopted a Calendar Versioning scheme, and wit
66
This conversation started as a [Google Doc](https://docs.google.com/document/d/1hapyg61FRKZ2DqikVYKvckwQqnbobFQnnZoZi_WCDfo/edit?usp=sharing).
77

88
## Principles
9-
The basic release form is `YY.MINOR.PATCH`, so the first minor release of 2020 is 20.0.0, and the first minor release of 2021 will be 21.0.0, whatever the final minor release of 2020 is. A series of releases share a "YY.MINOR." prefix, which we refer to as the "YY.MINOR.x series". For example, the 20.0.x series contains version 20.0.0, 20.0.1, and any other releases needed.
9+
The basic release form is `YY.MINOR.PATCH`, so the first minor release of 2020 is 20.0.0, and the first minor release of 2021 will be 21.0.0, whatever the final minor release of 2020 is. A series of releases share a `YY.MINOR.` prefix, which we refer to as the `YY.MINOR.x` series. For example, the 20.0.x series contains version 20.0.0, 20.0.1, and any other releases needed.
1010

1111
### Feature releases
1212
Minor releases are considered *feature* releases. Because there is no concept of a "major" release (just a calendar year rollover), most changes to the code base will result in a new feature release. Changes targeting a new feature release should target the master branch. Feature releases may be released as often as is deemed appropriate.
@@ -15,6 +15,7 @@ Minor releases are considered *feature* releases. Because there is no concept of
1515
Patch releases are considered bug-fix releases. Each minor release triggers the creation of a new maint/<YY>.<MINOR>.x branch, and changes targeting a bug-fix release should target this branch. A "minor release series" is the initial feature release and the bug-fix releases that share the minor release prefix. Bug-fix releases may be released on minimal notice to other developers.
1616

1717
These releases must satisfy four conditions:
18+
1819
1. Resolving one or more bugs. These mostly include failures of *fMRIPrep* to complete or producing invalid derivatives (e.g., a NIfTI file of all zeroes).
1920
1. Derivatives compatibility. If a subject may be successfully run on 20.0.n, then the imaging derivatives should be identical if rerun with 20.0.(n+1), modulo rounding errors and the effects of nondeterministic algorithms. The changes between successful runs of 20.0.n and 20.0.(n+1) should not be larger than the changes between two successful runs of 20.0.n. Cosmetic changes to reports are acceptable, while differing fields of view or data types in a NIfTI file would not be.
2021
1. API compatibility. Workflow-generating functions, workflow input- and outputnode fields must not change. As an end-user application, this may seem overly strict, but the odds of introducing a bug are much higher in these cases.
@@ -93,16 +94,17 @@ Support windows of greater than a year have a much higher potential to run into
9394
Additional tasks required of an LTS manager:
9495

9596
* Tracking possible breaking changes and broken URLs in upstream projects outside of the nipreps ecosystem.
96-
* Neurodebian dependencies (AFNI, FSL, Convert3D, Connectome WB)
97-
* FreeSurfer
98-
* ANTs
99-
* NodeJS - BIDS-validator, SVGO
100-
* Pandoc
101-
* ICA-AROMA
102-
* Miniconda
103-
* Python minor series end-of-life
104-
* numpy, scipy, pandas, nipype, nibabel, matplotlib
97+
* Neurodebian dependencies (AFNI, FSL, Convert3D, Connectome WB)
98+
* FreeSurfer
99+
* ANTs
100+
* NodeJS - BIDS-validator, SVGO
101+
* Pandoc
102+
* ICA-AROMA
103+
* Miniconda
104+
* Python minor series end-of-life
105+
* numpy, scipy, pandas, nipype, nibabel, matplotlib
106+
105107
* Backporting fixes from other maintained series.
106-
* If a bug is identified as existing within the LTS series and can be fixed without breaking API or derivative compatibility.
108+
* If a bug is identified as existing within the LTS series and can be fixed without breaking API or derivative compatibility.
107109

108110
As many dependencies as possible should be pinned to specific versions relevant to the environment they are installed in. Packages (Debian `.deb` files, conda packages, Python wheels) should be archived in case of a loss of the external packages.

0 commit comments

Comments
 (0)