Skip to content

Development

Muammar El Khatib edited this page Dec 25, 2016 · 8 revisions

Git branches

Below you will find some guidelines to contribute to the development of this application. To start, the structure of the git repository is as follows:

  • master branch is used for delivering pre-releases (for testing purposes) and stable releases.
  • devel branch is used for active development.
  • debian branch is used for everything related to debian packaging. Normally, this branch will be up to date with respect to master.
  • gh-pages branch contains all files needed by the http://mkchromecast.com website.
  • pyinstaller was used for create a macOS app, but this will not be used anymore.

Note: some tags such as video will be soon merged into devel.

For fixing bugs related to stable releases, the development should be done either directly on master or merged from another branch (this one can be named as you like). If the bug is very important, a new MINOR version should be released.

Very new features that can break devel should be developed in a different branch (for instance, the current video branch). Of course, this later branch has to be always mergeable with devel.

Tags and versioning

mkchromecast versions follow the semantic:

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

e.g.: MAYOR.MINOR.PATCH -> 1.0.1. In the past, some versions with four digits were released, but now it is not accepted.

To make a release, a tag following the aforementioned semantic is also needed in github. For debian packaging, the tags have the following structure debian/MAYOR.MINOR.PATCH-REVISION.

Clone this wiki locally