-
-
Notifications
You must be signed in to change notification settings - Fork 629
Release Cycle
HAP-NodeJS follows Semantic Versioning.
For every major
or minor
version a new beta is started on the beta
branch.
You may also want to have a look at the CONTRIBUTING page.
We use GitHub projects to track planned features and changes.
Every major
or minor
version bump will get its own project named according to
the planned version number ('vmajor.minor.patch'
while patch
will always have a value of 0
).
The projects page must contain only one open project, which describes an upcoming release.
The open project represents what currently is worked on at the beta
branch.
Any version project will have the following columns:
-
backlog
: The backlog describes the whole catalog of planned features for HAP-NodeJS.
Any card must be move to thetodo
column, if it was decided that the feature will be included in the current release.
Cards must not be moved to any other column. -
todo
: This column describes any features planned for the current release described by the project.
Cards in this column must be move into thein progress
column, if the task is actively worked on. A card may also be moved directly todone
if the feature was fast to implement.
If it was decided, that one of the features originally planned for the current release will be shipped in a later version, the associated card must be move topostponed
. -
in progress
: Any feature currently in this column is actively worked on.
If work for a card was finished, it must be moved into thedone
column. If work on the feature was cancelled the card must be move back into thetodo
column. -
done
: Any feature in this column was successfully incorporated into the current beta release.
Cards in this column can't be moved anywhere. -
postponed
: Any card in this column was postponed to be shipped in a later release. A card in this column may be moved back to thetodo
column if decisions are reverted.
A project can be considered finished, when both the todo
and the in progress
column is empty.
When the associated release is published to the public the project must be closed.
To create a new project for the next scheduled release follow the following steps:
- Copy the last finished version project (this is the basis for the new project).
- Name the project accordingly to the scheduled version number.
- All cards in the
done
column need to be deleted. - Any card in the
postponed
column will be moved back into thebacklog
column. - Start planning features for the next release by moving cards from the
backlog
into thetodo
column.
If you want to add features to the backlog
or the current todo
feel free to open an issue.
HAP-NodeJS's git workflow consist of two branches:
-
master
: The master branch is considered stable in any state. Onlypatch
changes are pushed directly onto the master branch.npm version
tagged commits will get released to the public. -
beta
: The beta branch is used to prepare the current release. It may not be stable all the time. Every commit pushed onto the beta branch is release as an incremental beta release.
Once development for the planned release is finished and once the beta branch became stable it gets merge into themaster
branch and will be release under the planned version.
If a feature requires to be worked on over a longer time period, consider creating a designated
feature branch to increase the stability of the beta
branch.
Any pull request containing major
or minor
changes MUST only use the beta
branch as base branch.
Only pull requests containing patch
changes MAY use the master
branch as base branch.