The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.
A single document that defines a single feature. Ex: Keyring interface.
The collection of all specification documents contained within this repository.
We follow Semantic Versioning.
Given a version number MAJOR.MINOR.PATCH, increment the:
- MAJOR version when you make incompatible API changes,
- MINOR version when you add functionality in a backwards compatible manner, and
- PATCH version when you make backwards compatible bug fixes.
Versions with MAJOR version 0 (0.MINOR.PATCH) are beta releases. Beta releases MAY introduce MAJOR changes in a MINOR version increment.
The overall specification, defined as the collection of all specification documents, is not versioned.
Each specification document MUST define its version. This version only applies to the contents of that document.
Each specification document MUST contain a changelog that records the changes made to each version of the document.
Each specification document SHOULD maintain a listing of implementations that have been known to comply with a version of that specification document. Each implementation listing MUST identify the language as well as provide a link to a file in the implementation that states what version of the specification document it implements.
NOTE: The presence of a reference to an implementation does not imply that every listed implementation complies with the current version of the specification document that contains that reference.