Skip to content
Alexander Pilz edited this page May 31, 2022 · 6 revisions

Defined in https://github.com/Patternslib/Patterns/issues/1012

Better Patternslib Release Handling

  • The patterns website should always contain the latest stable patterns release, to… (4.2.4 is way too old).
  • Problem: We currently don't know what stable means.

Proposed Solution

  • New releases by default are development releases, marked as such with an alpha indicator, e.g. 8.1.0a1, 8.1.0a2 etc.
  • Once a release is stable enough to make it worthwhile to test it in-depth for production use, we declare a feature freeze. Henceforward only bug fixes are made. These stabilization releases are marked as beta, e.g. 8.1.0b1, 8.1.0b2 etc.
  • Only when all stakeholders agree the last beta is production ready, is it marked as a production release. All stakeholders here means: development + design + management. A production release is defined as not having an alpha or beta suffix number. The production release is done by re-releasing the latest beta with only a version bump, without any code changes. This then becomes 8.1.0.
  • When a new production release is made, the download button on the Patternslib website should be updated to point to this latest production release.

parallel work

Any invasive work or new feature work that needs to happen while a freeze is ongoing, should start a new version number alpha sequence. For example if we're stabilizing 8.1.0b7 and some new feature work needs to start, that would start on a branch and get released, from that branch, as 8.2.0a1, without main branch merge. The master merge only happens after the 8.1.0 series production release has been released. Alternatively, when you need parallel branches, the production preparation goes on a branch and main is used for ongoing development. As long as the production release sequence is not disrupted with development changes, either is fine.

Clone this wiki locally