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, interfaces and traits, with their public attributes, constants and methods defined in the root of the project namespace (Memio\PhpPrinter) 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