Skip to content

Commit 998f282

Browse files
authored
Release 23.11 and introduce CalVer (#977)
1 parent 15d067b commit 998f282

File tree

4 files changed

+34
-19
lines changed

4 files changed

+34
-19
lines changed

.github/PULL_REQUEST_TEMPLATE.md

+4
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ detail. Why is this change required? What problem does it solve?-->
1818
- [ ] Adds a test for any bugs fixed. Adds tests for new features.
1919
- [ ] Code is formatted
2020
- [ ] Changes are summarized in CHANGELOG.md
21+
- [ ] Change is breaking (API, behavior, ...)
22+
- [ ] Change is *additionally* added to CHANGELOG.md in the breaking section
23+
- [ ] PR is marked as breaking
24+
- [ ] Short summary API changes at the top of the PR (plus optionally with an automated update/fix script)
2125
- [ ] CI has been triggered on [Darwin](https://re-git.lanl.gov/eap-oss/parthenon/-/pipelines) for performance regression tests.
2226
- [ ] Docs build
2327
- [ ] (@lanl.gov employees) Update copyright on changed files

CHANGELOG.md

+17
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,22 @@
22

33
## Current develop
44

5+
### Added (new features/APIs/variables/...)
6+
7+
### Changed (changing behavior/API/variables/...)
8+
9+
### Fixed (not changing behavior/API/variables/...)
10+
11+
### Infrastructure (changes irrelevant to downstream codes)
12+
13+
### Removed (removing behavior/API/varaibles/...)
14+
15+
### Incompatibilities (i.e. breaking changes)
16+
17+
18+
## Release 23.11
19+
Date: 2023-11-16
20+
521
### Added (new features/APIs/variables/...)
622
- [[PR 962]](https://github.com/parthenon-hpc-lab/parthenon/pull/962) Add support for in-situ histograms/profiles
723
- [[PR 911]](https://github.com/parthenon-hpc-lab/parthenon/pull/911) Add infrastructure for geometric multi-grid
@@ -21,6 +37,7 @@
2137
- [[PR 868]](https://github.com/parthenon-hpc-lab/parthenon/pull/868) Add block-local face, edge, and nodal fields and allow for packing
2238

2339
### Changed (changing behavior/API/variables/...)
40+
- [[PR 977]](https://github.com/parthenon-hpc-lab/parthenon/pull/977) Change to CalVer from SemVer
2441
- [[PR 975]](https://github.com/parthenon-hpc-lab/parthenon/pull/975) Construct staged integrators via arbitrary name
2542
- [[PR 976]](https://github.com/parthenon-hpc-lab/parthenon/pull/976) Move UserWorkBeforeLoop to be after first output
2643
- [[PR 965]](https://github.com/parthenon-hpc-lab/parthenon/pull/965) Allow leading whitespace in input parameters

CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ cmake_minimum_required(VERSION 3.16)
2020
# Imports machine-specific configuration
2121
include(cmake/MachineCfg.cmake)
2222

23-
project(parthenon VERSION 0.8.0 LANGUAGES C CXX)
23+
project(parthenon VERSION 23.11 LANGUAGES C CXX)
2424

2525
if (${CMAKE_VERSION} VERSION_GREATER_EQUAL 3.19.0)
2626
cmake_policy(SET CMP0110 NEW)

CONTRIBUTING.md

+12-18
Original file line numberDiff line numberDiff line change
@@ -39,26 +39,20 @@ Use GitHub labels as appropriate and feel free to directly add/tag people to the
3939

4040
### Summary of Branching Model and Versioning
4141

42-
Two main branches exist:
43-
- `stable` contains the latest "stable" release
44-
- `develop` contains all approved changes since the previous release
42+
Only a single main branch called `develop` exists and all PRs should be merged
43+
into that branch.
44+
Individual versions/releases are tracked by tags.
4545

46-
We aim at creating a new release everyone 4 to 6 weeks.
46+
We aim at creating a new release every 6 months.
4747
The decision on creating a new release is made during the bi-weekly calls.
48-
A release consists of of merging `develop` into `stable` and create a new tag for that version
49-
using a modified [semantic versioning](https://semver.org/) scheme.
50-
Releases will be tagged `v0.MAJOR.MINOR` given the current rapid development.
51-
52-
- MAJOR is incremented for API incompatible changes
53-
- MINOR is incremented for backwards compatible changes and bug fixes
54-
55-
This scheme will be reevaluated once a future version is considered to be the first official stable release.
56-
57-
The main idea behind separating `stable` from `develop` is to allow for more in-depth nightly testing
58-
on the latter.
59-
This specifically applies to downstream codes so that incompatibilities (e.g., due to to an
60-
updated API) are discovered early.
61-
48+
Following steps need to be done for a new release:
49+
50+
- Create a new tag for that version using a modified [calender versioning](https://calver.org/) scheme.
51+
Releases will be tagged `vYY.0M` i.e., short years and zero-padded months.
52+
- Update the version in the main `CMakeLists.txt`.
53+
- Update the `CHANGELOG.md` (i.e., add a release header and create new empty
54+
categories for the "Current develop" section.
55+
- Sent a mail to the mailing list announcing the new release.
6256

6357
### Contributing Code
6458

0 commit comments

Comments
 (0)