Hi all,
Thanks a lot from the JUCE team to everyone here who provided feedback after the release of JUCE 4.2. This is extremely valuable to keep growing and improving JUCE. I believe that it’s the greatest strength of JUCE to have this strong, vocal, and active community! Many of you brought up great ideas about how to improve our workflows. One of the most requested details was the desire for having both a stable release branch and an unstable bleeding-edge branch on github (instead of the single “newest tip” that we always had in the past). So we thought about how that would work and came up with something. From now on, there is a master
and a develop
branch on github. master
is now our new stable branch, and develop takes the role of the “newest tip”. Enjoy!
Below are a few details about we’d like those branches to work. Please view this as a first iteration–of course we can adapt and change this to whatever works for everyone. Please provide your feedback and let us know if you spot anything that wouldn’t work for you!
-
There are always exactly two branches on github:
master
anddevelop
. -
master
is the most current stable and tested version of JUCE. You can rely onmaster
for building and releasing software to your customers.master
only changes if there is a new stable release or a critical hotfix. -
develop
is the bleeding-edge tip of JUCE. You can usedevelop
at your own risk to check out new features and improvements in advance, and get quick fixes. -
develop
is always ahead ofmaster
or equal tomaster
. -
New features are tested by us and then pushed to
develop
. The JUCE community can test and integrate those features and provide feedback to the JUCE team. -
Bugfixes, improvements, etc. are also pushed to
develop
. -
Releases are defined by selecting a commit on
develop
that the JUCE team unanimously agrees to be stable, fast-forwardingmaster
to this commit, and tagging it with a version number. -
Hotfixes are committed to
master
. Then,master
is merged intodevelop
.
(Hotfixes are critical fixes that need to be released immediately, such as fixing bugs that compromise the security of our users, or that break a headline JUCE feature for most or all users.)
-
The dowloadable version on juce.com is always equal to
master
. This process is automated. (we didn’t set that up yet but we will asap) -
All breaking changes on
master
are communicated in advance. If non-obvious code changes from our users are necessary, we’ll do our best to provide a migration guide or other documentation as appropriate.
Please let us know what you think!
Edit 26/04/2016: point 8 about hotfixes used to say that develop
is rebased on master
. It turned out that could break people’s local branches, so now we’ll merge master
into develop
instead.