Skip to content

Commit

Permalink
Merge pull request #267 from franklin-feingold/master
Browse files Browse the repository at this point in the history
[ENH] adding release guidelines
  • Loading branch information
sappelhoff authored Jul 25, 2019
2 parents 745c484 + a1d06c4 commit 6377301
Showing 1 changed file with 40 additions and 0 deletions.
40 changes: 40 additions & 0 deletions Release_Guideline.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Release Guidelines

This document captures guidelines to follow when considering a new release of the BIDS specification.

## Background
BIDS has generally followed a semantic versioning (semver) approach.
The canonical semver text can be found at https://semver.org/, and an adaptation to documents can be found at https://semverdoc.org/.
A specification falls somewhere between these two, as documentation does not require
backwards compatibility, while software has notions of bugs and features which do not
map to the reasons for updating a specification.

In both cases, edition numbers are specified as MAJOR.MINOR.PATCH, and the difference is in the rules for incrementing each edition number.

In BIDS, we have considered a major release version (the next being 2.0.0) to indicate
backwards-incompatible changes, while minor and patch releases must be backwards compatible.

## Guidelines

Once a decision for a release has been established, the rules of [decision-making](DECISION-MAKING.md)
govern the mechanism of doing the release, *i.e.*, waiting 5 business days and obtaining
the approval of at least one maintainer before merging.

### Minor (1.X.0) releases

A minor release should be made when a BEP (BIDS Extension Proposal) has been merged into the
specification.
The BIDS Maintainers have discretion to identify other cases justifying a minor release.

### Patch (1.X.Y) releases

Patch releases will generally be more frequent, and indicate less significant changes to the specification.
The following is a non-exhaustive set of justifications for a patch release:

- A modality field has changed and the [bids-validator](https://github.com/bids-standard/bids-validator) has been updated to reflect this change.
- Links or information in the specification are no longer accurate, *e.g.* if a BEP document is added or moved
- The rendering of the [specification](https://bids-specification.readthedocs.io/en/stable/) has changed
- A metadata field or file type is added at the request of a curator attempting to release BIDS-compliant data

Ultimately, all releases are a matter of maintainer discretion, but patch release frequency should
balance community needs for stability and responsiveness.

0 comments on commit 6377301

Please sign in to comment.