-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Closed
Labels
Description
Release Major or Minor Preparation Guide
Step 1: Housekeeping on GitHub
- Merge Relevant Pull Requests: Merge all applicable pull requests or assign any outstanding issues to the next release cycle.
Step 2: Code and Documentation Updates
- Create Release Branch: Create a new release branch named
release/<version-name-with-patch-placeholder>
(e.g.,release/2.2
) from therelease/2.1
branch. This branch will serve as the foundation for upcoming patch releases and facilitate versioned updates. - From the release branch (e.g.,
release/2.2
), create a new temporary branch for the version (e.g.,release-prep/2.2.0
). - Update version references in the documentation and code. Refer to this PR for an example. The easiest way is to start with a search & replace on the previous version. Version Updates Checklist:
- Update
OrchardCore.Commons.props
: Set<VersionPrefix></VersionPrefix>
to the new version you're preparing for release. - Update Module Versions: Modify
src/OrchardCore/OrchardCore.Abstractions/Modules/Manifest/ManifestConstants.cs
to reflect the new version. - Release Notes: Finalize the release notes in the documentation, including:
- Highlights and goals of the release.
- Prerequisites for running the new version.
- Upgrade steps and any breaking changes.
- Update Documentation Navigation: Add the release notes page to
mkdocs.yml
navigation and remove it fromnot_in_nav
. - Version Mentions: Update all references to the new version throughout the documentation, including:
- Status in the root README
- CLI templates and commands.
- Relevant guides, such as the Creating a new decoupled CMS Website guide.
- Update
- Create a version PR titled
Release <version number
(e.g.,Release 2.0.0) from the version branch (e.g.,
release/2.2) into the release branch (e.g.,
release/2.2`) - In GitHub, manually run the
Preview - CI
workflow on your branch (NOTmain
). This will release a new preview version on Cloudsmith for testing. - Set the release date for the day we ship in the
2.2.0.md
file and update the release notes
Step 3: Translation Updates
Not needed for v2.2
Step 4: Validation
- Check Functionality: Update
OrchardCore.Samples
to the latest preview version generated in the previous step (just change theOrchardCoreVersion
property in the rootDirectory.Build.props
file). Ensure the samples work as expected. - Test Guides: Test the following guides with NuGet packages from the Cloudsmith feed:
- Re-certify for Red Hat: If a new major version of Red Hat Enterprise Linux is released (e.g., v10 after v9), re-certify Orchard Core. Refer to:
- Orchard's Red Hat Ecosystem Catalog profile for the last certified version.
- Red Hat Customer Portal for the latest version details.
- Certification guide for certification steps.
- If everything looks good and all checks pass, merge the version PR.
Step 5: Creating the New Release
- Navigate to the GitHub Releases page.
- In the "Choose a tag" menu, enter the new version number (e.g.,
v2.0.0
) and select "+ Create tag: v... on publish." - Change the target branch from
main
to your release branch (e.g.,release/2.2
). - Enter the version number in the Title field (e.g.,
2.2.0
). - Click Generate release notes to automatically create release notes based on the changes.
- Add a link to the release notes on the docs site:
Check out the full release notes [here](https://docs.orchardcore.net/en/latest/releases/2.2.0/).
- Ensure the "Set as the latest release" checkbox is checked, then click Publish release.
Step 6: Aligning Branches
Do not merge 2.2 into main
Step 7: Post-Release Tasks
Nothing for 2.2
Step 8: Publicizing the Release
- Post about the release on X (formerly Twitter) via the Orchard Core X (Twitter) repo.
- Post in the Orchard Core LinkedIn group.
- Post to the Orchard Core Facebook page.
- Send a message to the
#announcements
channel on Discord.