Skip to content
Jeremy Barlow edited this page Mar 27, 2017 · 18 revisions

This document attempts to capture the details of our branching strategy for Puppet Server. This information is up-to-date as of 2017-03-27.

Puppet Server Branches

Puppet Server has 3 branches which align with Puppet Enterprise and Ruby Puppet.

  • master For 5.0.0 (or greater) development (Ruby Puppet future releases >= 5.0.0, exact version TBD)
  • stable For 2.7.x development (Ruby Puppet 4.6.x+, Puppet Agent 1.6.x+, PE 2017.1.x+)
  • 1.x For 1.x development (Ruby Puppet 3.x, PE 3.8.z)

2.x Series

The 2.0 release series is compatible with Puppet 4.x as part of Puppet Collection 1 (PC1). The 2.1.0 and later releases are compatible with Puppet 3.x for remote agents only, and only Puppet 4.x satisfies the package dependency between Puppet Server and Puppet.

The 2.1.0 release included a URL compatibility layer that will allow Puppet 3.x agents to talk to Puppet Server 2.x. For more information, see https://tickets.puppetlabs.com/browse/SERVER-526.

"Normal" branching workflow

Under normal circumstances, the stable branch will be used for bugfix releases off of the last stable "Y" release. PRs should only be targeted at stable if they are intended to go out in a z/bugfix release, and all code merged into the stable branch should be merged up to the master branch at regular intervals.

Most PRs should normally be targeted at the master branch, which is where feature work will be going on for the next X/Y release.

Clone this wiki locally