Where Development Happens

Introduction

This page attempts to explain where development should happen, whether that be on a clone or forked repository; and within there on master or a Maintenance Branch or Feature Branch.

Version Definitions

We use the version designations of: Major.Minor.Trivial (e.g. 0.9.5). See Semantic Versioning for a full description of the Ikasan EIP versioning.

Maintenance Branch (Trivial Version releases, e.g. 0.9.5)

  • After a Major or Minor release has occurred then a maintenance branch is created. That maintenance branch (e.g. 0.9.x) will have a regular release every 2 weeks that encompasses the fixes for that branch up to that point.
  • This is until there is a vote that the branch will no longer be maintained.

Major/Minor version releases (e.g. 0.10.0)

  • For Major or Minor versions that we simply release when the feature goal(s) of that release are met..
  • Work for this is typically done on the Master and on Feature Branches

Feature Branches

  • Certain features can be risky and/or maybe de-prioritised, so we don't want to blindly just develop on Master for new features. So for each Major or Minor release, the community discusses what features go into that release and also discusses which of those features should be developed in their own feature branch so that they do not interfere with Master.
  • Feature Branches can be merged back into Master if and when ready.