Skip to main content

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 release
  • 1.1.0 - New features added
  • 1.1.1 - Bug fix release
  • 2.0.0 - Breaking changes

Version numbering guidelines

When creating a new release, determine the version based on the changes:

  1. 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
  2. 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
  3. 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.x after 2.x is released)

When a new major version is ready:

  1. The next major version development in project/X.x is merged into main
  2. The previous major version code is preserved in its own X.x branch 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:

  1. Run renovate bot locally to update all dependencies outside of the schedule:
renovate --schedule= --force-cli=true drevops/vortex
  1. Update container images to the latest versions and check that @see links are working.
  2. Update PHP version in composer.json for config.platform.
  3. Update PHP version in phpcs.xml for testVersion.
  4. Update PHP version in phpstan.neon for phpVersion. Run php -r "echo PHP_VERSION_ID . PHP_EOL;" in the container to get the current PHP version.
  5. Increment minor version of all packages in composer.json. Run composer update -W && composer bump.
  6. Update minor version of dependencies in theme's package.json.
  7. Increment the cache version in .circleci/config.yml and .github/workflows/build-test-deploy.yml.
  8. Updated documentation with cd .vortex && ahoy update-docs.
  9. Update installer video with cd .vortex && ahoy update-installer-video.
  10. 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)