Skip to content

Latest commit

 

History

History
29 lines (21 loc) · 1.46 KB

versions.md

File metadata and controls

29 lines (21 loc) · 1.46 KB

Versions

This document specifies the conventions by which versions of the In-N-Out specifications are named.

The current version of this specification is 1.0.0.

Semantic Versioning

The In-N-Out specifications use Semantic Versioning, as described by semver.org.

In short, versions are in the form MAJOR.MINOR.PATCH, where:

  • changes to MAJOR are backwards-incompatible
  • changes to MINOR are backwards-compatible but add new functionality
  • changes to PATCH are backwards-compatible and add no new functionality (e.g. bugfixes)

Git Tags

This Git repository, the canonical version of which can be found at https://gitlab.com/Team6479/in-n-out/specs, shall be contain a tag for each version.

Implementation Versions

Implementations may use any desired scheme for their own versions and are not bound to use the ones defined here.

Use of Versions

Versions are used in multiple places as defined by these specifications. For instance, there is an endpoint that returns the current version. Additionally, Moments contain a field for the version. The URLs of endpoints actually change with each major version (hence /api/v1).

Where the version is referenced by these specifications, the specification version, NOT the implementation version, must be used.

For example, say version 0.4.2 of a particular Server implements version 1.0.0 of these specifications. When a client calls /api/v1/version, the Server must return 1.0.0, not 0.4.2.