Versioning and branching models

This file explains the versioning and branching models of this project.

Versioning

The versioning is inspired by Semantic Versioning:

Given a version number MAJOR.MINOR.PATCH, increment the:

  1. MAJOR version when you make incompatible API changes
  2. MINOR version when you add functionality in a backwards-compatible manner
  3. PATCH version when you make backwards-compatible bug fixes

Public API

Classes and methods marked with the @api tag are considered to be the public API of this project.

Branching Model

The branching is inspired by @jbenet simple git branching model:

  1. master must always be deployable.
  2. all changes are made through feature branches (pull-request + merge)
  3. rebase to avoid/resolve conflicts; merge in to master