Release
Versioning Strategy
Vortex uses Semantic Versioning for releases: MAJOR.MINOR.PATCH
Semantic version (MAJOR.MINOR.PATCH)
- MAJOR: Breaking changes that require migration or significant updates
- MINOR: New features, backward compatible
- PATCH: Bug fixes, backward compatible
Version examples
1.0.0- First major release1.1.0- New features added1.1.1- Bug fix release2.0.0- Breaking changes
Version numbering guidelines
When creating a new release, determine the version based on the changes:
-
Bump MAJOR when making incompatible breaking changes:
- Removing features or configuration options
- Changing default behavior that breaks existing workflows
- Updating to new major versions of services or dependencies that require migration
-
Bump MINOR when adding functionality in a backward compatible manner:
- Adding new optional features
- Adding new scripts or commands
- Enhancing existing features without breaking changes
-
Bump PATCH when making backward compatible bug fixes:
- Fixing bugs or errors
- Security patches
- Documentation updates
- Minor improvements that don't change functionality
Branch strategy
main- Current stable release branch (always the latest major version)project/X.x- Development branch for the next major version (e.g.,project/2.x)X.x- Maintenance branches for older major versions (e.g.,1.xafter2.xis released)
When a new major version is ready:
- The next major version development in
project/X.xis merged intomain - The previous major version code is preserved in its own
X.xbranch for maintenance
note
Vortex uses GitHub Flow with the main branch always containing the latest major version.
Consumer projects created from Vortex should continue to use Git Flow.
Release Process
Follow the steps below to release a new version of the Vortex:
- Run renovate bot locally to update all dependencies outside of the schedule:
renovate --schedule= --force-cli=true drevops/vortex
- Update container images to the latest versions and check that
@seelinks are working. - Update PHP version in
composer.jsonforconfig.platform. - Update PHP version in
phpcs.xmlfortestVersion. - Update PHP version in
phpstan.neonforphpVersion. Runphp -r "echo PHP_VERSION_ID . PHP_EOL;"in the container to get the current PHP version. - Increment minor version of all packages in
composer.json. Runcomposer update -W && composer bump. - Update minor version of dependencies in theme's
package.json. - Increment the cache version in
.circleci/config.ymland.github/workflows/build-test-deploy.yml. - Updated documentation with
cd .vortex && ahoy update-docs. - Update installer video with
cd .vortex && ahoy update-installer-video. - Create new release notes using release template:
## [VERSION] — [SHORT TITLE]
[Very short summary, 1–3 sentences. E.g. “This release updates the base template to Drupal X.Y, improves the installer UX, and expands documentation for local dev.”]
---
## 🔍 Highlights
- [1–3 top-level items that matter most to users]
- [Optional: link to detailed docs if relevant]
---
## 💥 Breaking changes
- [Describe any breaking changes and upgrade steps]
- [If none] None.
---
## What's new since [PREVIOUS_VERSION]
### 🌀 Template
- ✨ **New**
- [New features or major additions in the project template]
- 🛠 **Changed**
- [Improvements, refactors, behaviour changes (but not fully breaking)]
- 🐞 **Fixed**
- [Bug fixes]
- ⬆️ **Updated**
- [Dependency bumps, version updates, etc.]
---
### 🎛 Installer
- ✨ **New**
- [New installer options, flows, flags]
- 🛠 **Changed**
- [Improved UX, default choices, messages]
- 🐞 **Fixed**
- [Installer bugs, edge cases]
---
### 📖 Documentation
- ✨ **New**
- [New pages, guides, sections]
- 🛠 **Changed**
- [Rewrites, restructuring, clarifications]
- 🐞 **Fixed**
- [Typos, incorrect examples, broken links]
---
## 📋 Release checklist
- [ ] Updated all dependencies outside of the schedule
- [ ] Updated container images to the latest versions and checked that `@see` links
- [ ] Updated PHP version in `composer.json` for `config.platform`.
- [ ] Updated PHP version in `phpcs.xml` for `testVersion`.
- [ ] Updated PHP version in `phpstan.neon` for `phpVersion`.
- [ ] Updated minor version of all packages in `composer.json`.
- [ ] Updated minor version of dependencies in theme's `package.json`.
- [ ] Update `drevops/ci-runner` to the latest version in `.circleci/config.yml` and `.github/workflows/build-test-deploy.yml`.
- [ ] Incremented the cache version in `.circleci/config.yml` and `.github/workflows/build-test-deploy.yml`.
- [ ] Updated documentation.
---
**Full Changelog**: https://github.com/drevops/vortex/compare/[PREVIOUS_VERSION]...[NEW_VERSION]
@AlexSkrypnyk, @renovate[bot] and [renovate[bot]](https://github.com/apps/renovate)