You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For a PATCH-release, only some of the steps below are necessary. Commits are typically added to the main branch and cherry-picked to the release branch. That ensures that the main branch is fixed
and the PATCH itself is still compatible with all projects consuming a specific version of |FOURC|.
Check whether all changes that should be part of the release are merged into the main-branch.
Draft the release notes and post them as a comment to this issue (See notes below on release notes)
Update the version number in the VERSION file in the repo. The version scheme is YYYY.MINOR.PATCH, where YYYY is the year of the release, MINOR is the number of the release in the year starting at 1, and PATCH is the patch number. PATCH is typically 0 and incremented on demand. Typically, this step only involves removing the -dev suffix from the version.
Pick a commit from main-branch where all nightly tests have passed and the above points are satisfied. Commit: <insert the commit sha>
Create a new branch from the commit chosen in the previous step. The branch should be named release/vYYYY.MINOR.x. Note, since all patches are maintained on this branch, the name does not contain the respective patch number.
Create a new release on GitHub. The tag name should be vYYYY.MINOR.PATCH and the release title should be 4C version vYYYY.MINOR.PATCH. Tick 'Set as latest release' and 'Create a discussion for this release'
Upload the 4C_metadata.yaml, 4C_schema.json and 4C_schema_completion.json to the release. You can download them as artifact from the nightly pipeline.
Update the tags of all Docker images, e.g., 4c and 4c-dependencies-ubuntu24.04. Add the tag YYYY.MINOR.PATCH to the images, and latest if it is the latest release. You can run the script ./utilities/tag_images_for_release.sh.
Prepare the next release in the VERSION file in the repo by incrementing the number of the release, resetting the patch number to 0, and adding the suffix -dev.
Release notes
The release notes might contain a summary of the changes since the last release or a description of the fixed bugs in a PATCH release.
We do not yet have an automated way to collect the changelog. So, this requires some manual work. You can get a draft of the release notes from GitHub (Releases -> Draft a new release -> Generate release notes).
Steps for a new 4C release
Note
For a PATCH-release, only some of the steps below are necessary. Commits are typically added to the
mainbranch and cherry-picked to the release branch. That ensures that the main branch is fixedand the PATCH itself is still compatible with all projects consuming a specific version of |FOURC|.
main-branch.VERSIONfile in the repo. The version scheme isYYYY.MINOR.PATCH, whereYYYYis the year of the release,MINORis the number of the release in the year starting at1, andPATCHis the patch number.PATCHis typically0and incremented on demand. Typically, this step only involves removing the-devsuffix from the version.main-branch where all nightly tests have passed and the above points are satisfied. Commit:<insert the commit sha>release/vYYYY.MINOR.x. Note, since all patches are maintained on this branch, the name does not contain the respective patch number.vYYYY.MINOR.PATCHand the release title should be4C version vYYYY.MINOR.PATCH. Tick 'Set as latest release' and 'Create a discussion for this release'4C_metadata.yaml,4C_schema.jsonand4C_schema_completion.jsonto the release. You can download them as artifact from the nightly pipeline.4cand4c-dependencies-ubuntu24.04. Add the tagYYYY.MINOR.PATCHto the images, andlatestif it is the latest release. You can run the script./utilities/tag_images_for_release.sh.VERSIONfile in the repo by incrementing the number of the release, resetting the patch number to0, and adding the suffix-dev.Release notes
The release notes might contain a summary of the changes since the last release or a description of the fixed bugs in a PATCH release.
We do not yet have an automated way to collect the changelog. So, this requires some manual work. You can get a draft of the release notes from GitHub (Releases -> Draft a new release -> Generate release notes).
Changelog template
What's Changed
Breaking Changes
Major changes
Dependency changes
Miscellaneous
Particle::PDNeighborPairs::communicate_bond_list()by @vovannikov in [Particle] Reduce complexity ofParticle::PDNeighborPairs::communicate_bond_list()#2063get_commusage in reduced_lung by @rjoussen in Fixget_commusage in reduced_lung #2119post_output()by @rjoussen in Removepost_output()#2125Contributors
List of all contributors who authored, committed, reviewed, or commented on accepted pull requests for this release.
Authors / Committers:
@amgebauer @maxiludwig @bgoderbauer @c-p-schmidt @engstlerL @rjoussen @lauraengelhardt @lkoeglmeier @dharinib98 @davidrudlstorfer @LaSi5002 @jeremylt @dragos-ana @ppraegla @georghammerl @tuchpaul @vovannikov @isteinbrecher @reginabuehler @bennoschoenstein @ischeider @maxfirmbach @PhilipOesterlePekrun @vryy
Reviewers:
@davidrudlstorfer @c-p-schmidt @bgoderbauer @ischeider @lkoeglmeier @dragos-ana @rjoussen @maxfirmbach @lauraengelhardt @tuchpaul @mayrmt @isteinbrecher @amgebauer @jeremylt @ppraegla @slfuchs @georghammerl @maxiludwig @engstlerL @vovannikov @mairehenke @knarfnitram @bennoschoenstein @m-frey @dharinib98 @sebproell @PhilipOesterlePekrun
New Contributors
Thanks to first-time contributors to 4C!
Full Changelog: v2026.2.0...v2026.3.0