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:
masteris the most current stable and tested version of JUCE. You can rely on
masterfor building and releasing software to your customers.
masteronly changes if there is a new stable release or a critical hotfix.
developis the bleeding-edge tip of JUCE. You can use
developat your own risk to check out new features and improvements in advance, and get quick fixes.
developis always ahead of
masteror equal to
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
Releases are defined by selecting a commit on
developthat the JUCE team unanimously agrees to be stable, fast-forwarding
masterto this commit, and tagging it with a version number.
Hotfixes are committed to
masteris merged into
(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
masterare 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