diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index d9a5fbfbf..76ceea105 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -2,7 +2,7 @@ Thank you for helping improve CDT++. -CDT++ v1.0.0-rc2 is the release candidate for the final C++23 release, v1.0.0, after which this repository will be +CDT++ v1.0.0-rc3 is the release candidate for the final C++23 release, v1.0.0, after which this repository will be archived. The project is maintained as a scientific reference implementation and regression oracle for [causal-triangulations](https://github.com/acgetchell/causal-triangulations), its supported Rust successor. The diff --git a/CHANGELOG.md b/CHANGELOG.md index 631d42cd5..1e5637d20 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,8 +5,94 @@ All notable changes to CDT++ are documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.0.0-rc3] - 2026-07-28 + +### Added + +- Restore optional parallel insertion and removal [`d4dabbe`](https://github.com/acgetchell/CDT-plusplus/commit/d4dabbe2fc24a2b98864ae1cd5ca720432dc9418) + +- Add value-oriented move-run orchestration [`abfa888`](https://github.com/acgetchell/CDT-plusplus/commit/abfa888b33ace3c63efa85e475391be3691ba011) + +- [**breaking**] Add invariant-bearing move preparation [`e2f7d70`](https://github.com/acgetchell/CDT-plusplus/commit/e2f7d70ae819d3f9e3ae8eeda83080d22fa4da5d) + +- [**breaking**] Modernize the CGAL 6.2 integration boundary [`ae7a39b`](https://github.com/acgetchell/CDT-plusplus/commit/ae7a39b74dcf9ba9a45a40810e9de033204f3f3e) + +- [**breaking**] Finalize parallel triangulation support [`862637a`](https://github.com/acgetchell/CDT-plusplus/commit/862637ae0be485f36816a346f3c7ede560371a82) + +- [**breaking**] Publish deterministic C++ oracle fixtures [`ec53dfa`](https://github.com/acgetchell/CDT-plusplus/commit/ec53dfaf3307e7a862ebc0994827a2b4974f52a7) + +### Changed + +- [**breaking**] Normalize public declarations under cdt [`a02a732`](https://github.com/acgetchell/CDT-plusplus/commit/a02a732267a02860c705dc32f94284f544d02888) + +- Make MoveAlways replay checks deterministic [`d7fa637`](https://github.com/acgetchell/CDT-plusplus/commit/d7fa637abf03d9afb892d48f7119feb8c3580fb5) + +- Own move-run callbacks by value [`f59c06f`](https://github.com/acgetchell/CDT-plusplus/commit/f59c06f159cd1b688108e2c3f77afb0cd1d186db) + +- Make seeded replay fixtures cross-platform [`3c322ee`](https://github.com/acgetchell/CDT-plusplus/commit/3c322ee242a1d3b2e4d475196950d2dd6ad35c4c) + +- Make producer path assertion cross-platform [`390adf3`](https://github.com/acgetchell/CDT-plusplus/commit/390adf3bd7b34d310d9092e8cb4305ce397f3b90) + +### Fixed + +- Generate GCC 16 reports with LCOV 2.5 [`324a2aa`](https://github.com/acgetchell/CDT-plusplus/commit/324a2aa82a8cfa646827229b959981ec7258fa2d) + +- Install LCOV documentation dependencies [`42fd262`](https://github.com/acgetchell/CDT-plusplus/commit/42fd2629aa71931b4184fd1fdc72ae5daabf7665) + +- Support pkgx-backed IDE environments [`3ce8780`](https://github.com/acgetchell/CDT-plusplus/commit/3ce8780e082760572740b0695606188e9d40ef3e) + +- Retain function data during LCOV capture [`898a453`](https://github.com/acgetchell/CDT-plusplus/commit/898a4538bf47e87d656ecf447be0c6ada07b5a8e) + +- Bound GCC branch inconsistencies [`c7d6a35`](https://github.com/acgetchell/CDT-plusplus/commit/c7d6a353d4684a0ecf7024c946d06cedce3fd05a) + +- Keep oneTBB out of ThreadSanitizer [`35b241e`](https://github.com/acgetchell/CDT-plusplus/commit/35b241e6a3358fd818febf1a748092a019301163) + +- Harden parallel build and provenance [`6ef7dd6`](https://github.com/acgetchell/CDT-plusplus/commit/6ef7dd62c1d1a71bb834611a4a89a15a47f7de57) + +- Resolve pkgx certificate bundles before vcpkg [`a123ab8`](https://github.com/acgetchell/CDT-plusplus/commit/a123ab88ceb0a07f3d7165a30f718285e33c3f17) + +- Restore CodeQL extraction and bound parallel builds [`56f13cd`](https://github.com/acgetchell/CDT-plusplus/commit/56f13cdcf5bd602e59921a3c3af635f611899d4f) + +- Require fresh fixture provenance [`6972970`](https://github.com/acgetchell/CDT-plusplus/commit/6972970c77248c3700661b8293f602f58a1deed1) + +- Stabilize cross-platform validation [`b0c3169`](https://github.com/acgetchell/CDT-plusplus/commit/b0c3169b90111da99731459155490ffc5ed50544) + +- Stabilize Windows and Semgrep validation [`b282c0b`](https://github.com/acgetchell/CDT-plusplus/commit/b282c0bc126f9d0fcc8bddc248ddd149d1144b4b) + +- Stabilize cached builds and action policy validation [`930238a`](https://github.com/acgetchell/CDT-plusplus/commit/930238ab99aff4dfc90d3834a8eefe99f1c57966) + +- Enforce action policy on nested paths [`745d402`](https://github.com/acgetchell/CDT-plusplus/commit/745d4029b5fb5258ae69617b2d393df7169bccd1) + +- Enforce action policy on shorthand steps [`406a482`](https://github.com/acgetchell/CDT-plusplus/commit/406a4827230459efe2026395dde11dab8cf7889c) + +### Maintenance + +- Suppress ShellCheck for Zsh path expansion [`189cc0d`](https://github.com/acgetchell/CDT-plusplus/commit/189cc0d33529ef2a9fcde0e3e02479b134a7e881) + +- Bump actions/checkout from 7.0.0 to 7.0.1 [`397e0b4`](https://github.com/acgetchell/CDT-plusplus/commit/397e0b40ccc514edb187420451206f4d0f27b21a) + +- Bump taiki-e/install-action from 2.83.2 to 2.83.4 [`30c83fd`](https://github.com/acgetchell/CDT-plusplus/commit/30c83fd98861b777e7071522beccab1192911275) + +- Bump github/codeql-action/init from 4.37.0 to 4.37.1 [`fd04186`](https://github.com/acgetchell/CDT-plusplus/commit/fd04186063ddd0504ba66e6cf5c10a3497895b4a) + +- Bump github/codeql-action/analyze from 4.37.0 to 4.37.1 [`16d8fcd`](https://github.com/acgetchell/CDT-plusplus/commit/16d8fcd2f98b8f139a60d8de0072958b4eaccc10) + +- Enforce pkgx-first pinned toolchains [`f01fca6`](https://github.com/acgetchell/CDT-plusplus/commit/f01fca697d36f7c9a49c5665fb4b7adee78e868d) + +- Streamline and harden supported build workflows [`e29f69a`](https://github.com/acgetchell/CDT-plusplus/commit/e29f69a676bc7c10c12afbea4791fa70e9298de9) + +### Performance + +- [**breaking**] Avoid rebuilding caches during move validation [`f574f0f`](https://github.com/acgetchell/CDT-plusplus/commit/f574f0f381d202fcdc3cbaf78a815af983a1815d) + ## [1.0.0-rc2] - 2026-07-22 +### Fixed + +- Verify Zenodo delivery for the current tag [`05a6e97`](https://github.com/acgetchell/CDT-plusplus/commit/05a6e97dff1243015a8e2237190defb1683b9ef3) + +## [1.0.0-rc1] - 2026-07-22 + ### Added - Persist verifiable stochastic run provenance [`ce90551`](https://github.com/acgetchell/CDT-plusplus/commit/ce90551ff28368235844b8fe0b068c050f529ab1) @@ -37,4 +123,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Update docs/RELEASING.md [`26196da`](https://github.com/acgetchell/CDT-plusplus/commit/26196daa76b1094ea9364a20b3618ef61a5c4185) -[1.0.0-rc2]: https://github.com/acgetchell/CDT-plusplus/compare/0.1.8...v1.0.0-rc2 +[1.0.0-rc3]: https://github.com/acgetchell/CDT-plusplus/compare/v1.0.0-rc2...v1.0.0-rc3 +[1.0.0-rc2]: https://github.com/acgetchell/CDT-plusplus/compare/v1.0.0-rc1...v1.0.0-rc2 +[1.0.0-rc1]: https://github.com/acgetchell/CDT-plusplus/compare/0.1.8...v1.0.0-rc1 diff --git a/CITATION.cff b/CITATION.cff index f1f75e689..dfa5120bd 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -11,8 +11,8 @@ authors: given-names: "Adam" email: "adam@adamgetchell.org" orcid: "https://orcid.org/0000-0002-0797-0021" -version: "1.0.0-rc2" -date-released: "2026-07-22" +version: "1.0.0-rc3" +date-released: "2026-07-28" repository-code: "https://github.com/acgetchell/CDT-plusplus" url: "https://github.com/acgetchell/CDT-plusplus" license: BSD-3-Clause diff --git a/CMakeLists.txt b/CMakeLists.txt index c35ab2bd2..5be266b0c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -31,7 +31,7 @@ set(CMAKE_CXX_SCAN_FOR_MODULES OFF) # CMake project versions are numeric, so keep the release-candidate suffix in # the product version used by executables and release metadata. -set(CDT_VERSION_SUFFIX "-rc2") +set(CDT_VERSION_SUFFIX "-rc3") set(CDT_VERSION "${PROJECT_VERSION}${CDT_VERSION_SUFFIX}") set(CDT_SOURCE_REVISION "unknown") find_package(Git QUIET) diff --git a/README.md b/README.md index 71d8375d1..786adb096 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ ## Maintenance status -CDT++ v1.0.0-rc2 is the release candidate for the final C++23 release, v1.0.0, after which this repository will be +CDT++ v1.0.0-rc3 is the release candidate for the final C++23 release, v1.0.0, after which this repository will be archived. It is maintained as an independent scientific reference and regression oracle for [causal-triangulations](https://github.com/acgetchell/causal-triangulations), the supported Rust successor. New C++ @@ -243,7 +243,7 @@ replayable stress contract. ## Setup This project uses [CMake]+[Ninja] to build C++23 sources and [vcpkg] manifest mode to manage C++ libraries. macOS with -AppleClang is the primary v1.0.0-rc2 validation target; the remaining compiler and platform matrix will be recorded as +AppleClang is the primary v1.0.0-rc3 validation target; the remaining compiler and platform matrix will be recorded as it is verified. ### Prerequisites @@ -503,7 +503,7 @@ branch. If CDT++ contributes to published work, cite the software using [`CITATION.cff`](CITATION.cff) and cite the scientific methods relevant to the work from [`REFERENCES.md`](REFERENCES.md). The software citation records the -current declared release, `1.0.0-rc2`. Advance its version and release date +current declared release, `1.0.0-rc3`. Advance its version and release date together with the CMake, vcpkg, Python-tooling, Doxygen, and CLI metadata for subsequent releases. diff --git a/REFERENCES.md b/REFERENCES.md index 68aab4fc0..dfe3777c5 100644 --- a/REFERENCES.md +++ b/REFERENCES.md @@ -10,7 +10,7 @@ Quick citation for the current declared release: ```text Adam Getchell. 2026. CDT-plusplus: Causal Dynamical Triangulations in C++. -Version 1.0.0-rc2. GitHub. https://github.com/acgetchell/CDT-plusplus +Version 1.0.0-rc3. GitHub. https://github.com/acgetchell/CDT-plusplus ``` The sections below are grouped by scientific domain. Cite the entries relevant diff --git a/docs/Doxyfile b/docs/Doxyfile index dbfc87712..4d3560763 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -38,7 +38,7 @@ PROJECT_NAME = "CDT++" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 1.0.0-rc2 +PROJECT_NUMBER = 1.0.0-rc3 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/docs/RELEASING.md b/docs/RELEASING.md index bbe908eb9..b4ce441dd 100644 --- a/docs/RELEASING.md +++ b/docs/RELEASING.md @@ -19,7 +19,7 @@ made; the rest of the workflow is identical: ```bash # The Git tag has a leading v; metadata versions do not. # For the stable release, use TAG=v1.0.0. -TAG=v1.0.0-rc2 +TAG=v1.0.0-rc3 VERSION="${TAG#v}" RELEASE_FLAGS=() @@ -28,8 +28,8 @@ if [[ "$VERSION" == *-rc* ]]; then fi ``` -A release-candidate tag such as `v1.0.0-rc2` uses `1.0.0-rc2` for product, -vcpkg, Doxygen, and citation metadata, and the PEP 440 spelling `1.0.0rc2` for +A release-candidate tag such as `v1.0.0-rc3` uses `1.0.0-rc3` for product, +vcpkg, Doxygen, and citation metadata, and the PEP 440 spelling `1.0.0rc3` for Python metadata. A stable tag such as `v1.0.0` uses `1.0.0` everywhere else. The changelog workflow requires the pinned `git-cliff` version declared by the @@ -70,8 +70,9 @@ Edit the following synchronized metadata: - `CITATION.cff`: `version` and `date-released`. - `README.md`, `REFERENCES.md`, and `.github/CONTRIBUTING.md`: active release references and release-facing prose. +- `docs/RELEASING.md`: current release command examples. -For `v1.0.0-rc2`, synchronize the versions in the repository before generating +For `v1.0.0-rc3`, synchronize the versions in the repository before generating the changelog. Set `CITATION.cff`'s `date-released` to the actual release date and review the other fields rather than rewriting unchanged metadata: @@ -85,7 +86,8 @@ ${EDITOR:-vi} \ CITATION.cff \ README.md \ REFERENCES.md \ - .github/CONTRIBUTING.md + .github/CONTRIBUTING.md \ + docs/RELEASING.md uv lock just changelog-unreleased "$TAG" @@ -130,7 +132,8 @@ git add \ CHANGELOG.md \ README.md \ REFERENCES.md \ - .github/CONTRIBUTING.md + .github/CONTRIBUTING.md \ + docs/RELEASING.md git diff --cached --check git diff --cached --stat @@ -164,7 +167,7 @@ Return to `main`, update it to the merge commit, and repeat the release gates against the exact commit that will be tagged: ```bash -TAG=v1.0.0-rc2 +TAG=v1.0.0-rc3 git switch main git pull --ff-only @@ -222,7 +225,7 @@ Stop if this preflight fails. Enabling Zenodo after publication does not reliably import an earlier GitHub release. ```bash -TAG=v1.0.0-rc2 +TAG=v1.0.0-rc3 RELEASE_FLAGS=(--prerelease) gh release create "$TAG" \ diff --git a/pyproject.toml b/pyproject.toml index ac27ef572..cb9fb12f6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "cdt-plusplus-scripts" -# PEP 440 spelling of the CDT++ v1.0.0-rc2 release. -version = "1.0.0rc2" +# PEP 440 spelling of the CDT++ v1.0.0-rc3 release. +version = "1.0.0rc3" description = "Python support and experiment scripts for CDT++" requires-python = ">=3.12,<3.13" dependencies = [] diff --git a/uv.lock b/uv.lock index e431efb34..28158dd51 100644 --- a/uv.lock +++ b/uv.lock @@ -75,7 +75,7 @@ wheels = [ [[package]] name = "cdt-plusplus-scripts" -version = "1.0.0rc2" +version = "1.0.0rc3" source = { editable = "." } [package.dev-dependencies] diff --git a/vcpkg.json b/vcpkg.json index 19315a2e8..062679daa 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -1,6 +1,6 @@ { "name": "cdt-plusplus", - "version": "1.0.0-rc2", + "version": "1.0.0-rc3", "builtin-baseline": "4e82e29f14eac2b3422f18f72c7524d04f19924e", "dependencies": [ "boost-compat",