Earlier this week a change was made to the GitHub branching strategy for the MODX core to make the different branches easier to understand. There is no more master or develop, instead there are now 2.x, 2.4.x and 3.x branches to work with.

While in git terms master and develop are fairly standard, with the release cycles we see with MODX they are not very communicative. And to make it more complicated, their meaning changes as new releases are available. 

For example before 2.4 was released, you would target master for fixes in 2.3.x, and develop for new features or improvements targeting 2.4.0. After that release, suddenly master was for 2.4, and develop was for 2.5. 

In the new situation, the meaning of each branch is fixed and the naming is a bit more communicative. 

  • 2.x is for new features and improvements that don't break backwards compatibility, so they will go into the next minor release. 
  • 3.x is for backwards incompatible changes or features, targeting the next major release. 
  • 2.4.x is for bug fixes in the 2.4. When 2.5 is released, a new 2.5.x branch will be available for bug fixes in 2.5. 

These changes have also been added to the Contributing Guidelines and the Contributors Guide in the RTFM.