From a654bfb663d3d5adb82e7ea0697d6c360e03ecbf Mon Sep 17 00:00:00 2001 From: "Seth R. Johnson" Date: Thu, 15 Feb 2024 09:53:48 -0500 Subject: [PATCH] Release v0.4.2 (#1111) --- .github/pull_request_template.release.md | 9 ++- doc/appendix/administration.rst | 14 +++-- doc/appendix/release-history/v0.4.rst | 75 ++++++++++++++++++++++++ 3 files changed, 87 insertions(+), 11 deletions(-) diff --git a/.github/pull_request_template.release.md b/.github/pull_request_template.release.md index f5b7c8c391..1cb01f3854 100644 --- a/.github/pull_request_template.release.md +++ b/.github/pull_request_template.release.md @@ -7,12 +7,11 @@ Target: upstream/develop (always!) ## Pre-merge checklist -- [ ] Ensure all CI jobs on develop pass -- [ ] Tag the develop branch with ``vX.Y.Z-rc.N`` where N starts with 1, and increment for every time you return to this step due to new pull requests. -- [ ] Run performance regression tests on Summit, Crusher/Frontier, and an additional machine with debug assertions enabled (e.g., Wildstyle). +- [ ] Ensure all CI jobs on the branch to be released (develop or backports/vX.Y) pass +- [ ] If releasing from develop, tag the develop branch with ``vX.Y.Z-rc.N`` where N starts with 1, and increment for every time you return to this step due to new pull requests. +- [ ] Run performance regression tests on Perlmutter, Frontier, and an additional machine with debug assertions enabled (e.g., Wildstyle). - [ ] Update documentation with release notes from all pull requests newly included in the release. -- [ ] Check for (and delete if found) code marked as "deprecated: to be removed in vX.Y". -- [ ] Ensure the code documentation builds with as few warnings as possible in the `doc` workflow on the CI. +- [ ] For a major release, check for (and delete if found) code marked as "deprecated: to be removed in vX". ## Post-merge checklist diff --git a/doc/appendix/administration.rst b/doc/appendix/administration.rst index 527033bdca..6ce1e34e7a 100644 --- a/doc/appendix/administration.rst +++ b/doc/appendix/administration.rst @@ -283,16 +283,18 @@ or a "backport" branch (minor, patch). The following process must be followed (and may need iteration to converge) for each release. -1. Ensure all CI jobs pass for the target branch. This is automatic +1. Ensure all CI jobs pass for the target branch to be released (develop or + backports/vX.Y). This is automatic for releases from the ``develop`` branch, since every pull request must pass, but should be checked manually for backports. -2. Create a ``release-vX.Y.Z`` branch from the target. -3. Tag the target branch with ``vX.Y.Z-rc.N`` where N starts with 1, and +2. Create a ``release-vX.Y.Z`` branch from *upstream/develop*. +3. If creating a new release from develop, tag the target branch with + ``vX.Y.Z-rc.N`` where N starts with 1, and increment for every time you return to this step due to new pull requests. The tag can be pushed to your fork, or to the main repository if it should - be shared with other team members -4. Run performance regression tests on Summit/Perlmutter (for performance - testing), Crusher/Frontier (for HIP testing), and an additional machine + be shared with other team members. +4. Run performance regression tests on Perlmutter (for performance + testing), Frontier (for HIP testing), and an additional machine with debug assertions enabled (e.g., Wildstyle). 5. [TODO: define high-level validation tests like `geant-val`_ and a test matrix correlating capability areas (code files/directories changed) to diff --git a/doc/appendix/release-history/v0.4.rst b/doc/appendix/release-history/v0.4.rst index 8ea58bb47c..a3f3b48e84 100644 --- a/doc/appendix/release-history/v0.4.rst +++ b/doc/appendix/release-history/v0.4.rst @@ -3,6 +3,81 @@ .. SPDX-License-Identifier: CC-BY-4.0 +.. _release_v0.4.2: + +Version 0.4.2 +============= + +*Released 2024/02/15* + +Version 0.4.2 is a bugfix and minor feature update to Celeritas. + +Key enhancements compared to version 0.4.1 are: + +- Full reproducibility of results in Geant4 multithreaded mode +- A new ``CELER_KILL_OFFLOAD`` environment variable that immediately kills EM tracks to help estimate a maximum offloading speedup +- Support for Geant4-VecGeom conversion of parameterized volumes +- Support for Geant4 11.2 + +Important bug fixes: + +- GCC 14 compatibility +- Support for ROOT-exported GDML booleans + + +New features +------------ + +* Warn and set default threads when OpenMP and Geant4 MT might collide *(@sethrj, #1056)* +* Add environment variable to kill Celeritas-supported tracks in Geant4 *(@amandalund, #1060)* +* Support Geant4-VecGeom conversion of parameterized volumes *(@sethrj, #1071)* +* Save action times on multi-stream CPU celer-sim *(@sethrj, #1065)* +* Automatically calculate number of events in apps *(@amandalund, #1072)* +* Add option to use CLHEP and SI unit systems instead of Gaussian CGS *(@sethrj, #1076)* + +Reviewers: @amandalund *(4)*, @sethrj *(2)*, @esseivaju *(1)*, @sawenzel *(1)* + +Bug fixes +--------- + +* Fix celer-g4 primary generator MT reproducibility *(@amandalund, #1057)* +* Insert SortTrackAction when sorting by particle type *(@esseivaju, #1059)* +* Fix range constexpr *(@sethrj, #1064)* +* Ensure reproducibility when using MT Geant4 with Celeritas offloading *(@amandalund, #1061)* +* Fix conversion of boolean solids when the "left" solid is displaced *(@sethrj, #1069)* +* Use environment variables to control OpenMP behavior in ``celer-sim`` *(@amandalund, #1073)* +* Add support for Geant4@11.2 *(@whokion, #1075)* +* Fix CMake for linking CUDA RDC for executables *(@pcanal, #1102)* + +Reviewers: @sethrj *(6)*, @pcanal *(1)*, @amandalund *(1)* + +Documentation improvements +-------------------------- + +* Include documentation as mandatory CI *(@sethrj, #1053)* +* Remove deprecated code from v0.4 *(@sethrj, #1063)* +* Add additional documentation about fields *(@sethrj, #1066)* +* Update copyrights for 2024 *(@sethrj, #1083)* + +Reviewers: @pcanal *(3)*, @amandalund *(2)* + +Minor internal changes +---------------------- + +* Remove extra constructor templates in device ActionLauncher *(@esseivaju, #1062)* +* Rename ``GenericXsCalculator`` *(@amandalund, #1081)* +* Add algorithm for difference of squares and move ``is_monotonic_increasing()`` to utils *(@amandalund, #1082)* +* Clang-format entire repository *(@sethrj, #1084)* +* Fix link errors in edge cases and restore HIP testing *(@sethrj, #1042)* +* Fix and avoid including algorithms header for ROOT/CLING *(@sethrj, #1087)* +* Fix non-sticky CMake options *(@sethrj, #1098)* +* Add missing include needed in GCC 14 *(@hartsw, #1110)* + +Reviewers: @amandalund *(4)*, @sethrj *(3)*, @pcanal *(1)* + +**Full Changelog**: https://github.com/celeritas-project/celeritas/compare/v0.4.1...v0.4.2 + + .. _release_v0.4.1: Version 0.4.1