All notable changes to CDT++ are documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.0.0 - 2026-08-11
CDT++ 1.0.0 is the final planned feature release of the C++23 spherical 2+1-dimensional reference implementation.
- Compatibility: The supported source boundary is C++23 with the published GCC, Clang, AppleClang, and MSVC matrix. The project does not promise a stable binary ABI or package-registry distribution.
- Scientific corrections: The release completes and independently validates all five 2+1D moves, Metropolis-Hastings proposal ratios and atomic transitions, exact-predicate geometry boundaries, run-owned RNG streams, and causal persistence metadata.
- Supported surface: The default build is headless; CGAL/oneTBB bulk Delaunay operations and the macOS Qt viewer are explicit opt-ins. Historical toroidal and higher-dimensional prototypes are excluded from the supported API.
- Limitations: Seeds replay stochastic inputs, not necessarily fresh cospherical CGAL topology. Resumable checkpoints continue the identical Markov chain only on the recorded producer toolchain; they are restart artifacts rather than portable interchange files. Parallelism does not extend to Pachner moves or concurrent manifold access.
- Migration: Active development and new work move to causal-triangulations. After the v1.0.0 GitHub and Zenodo handoff, CDT++ enters a maintenance-only stabilization window and becomes read-only only when the owner completes the archival gate.
-
[breaking] Modernize Python experiment workflows
def276a -
[breaking] Add offline C++/Rust comparison harness
45b080e -
Restore reproducible archival rendering
2662df9 -
[breaking] Expose reported Metropolis transitions
16d1c76 -
Add initial-state loading and checkpoint resume
e1305d6
-
Expose shared artifact lifecycle helpers
2f3ba57 -
Evaluate Boost alternatives to GMP and MPFR
9a02c39 -
Harden backend evaluation probes
d5c3b71 -
Format transition validation
f183f07 -
Verify unknown moves preserve transition traces
70ab238 -
Expect portable producer paths on Windows
5a32b1d
-
Clean up archival documentation references
703b474 -
Exclude PCG shim from generated reference
7e8734f
-
Serialize Dependabot automation per pull request
7567372 -
Deduplicate CodeRabbit review requests by revision
7f23d53 -
Bind Dependabot auto-merge to reviewed revision
72fc5a1 -
Harden Dependabot review rearming on head updates
5d571c8 -
Authenticate CodeRabbit review requests as maintainer
375c9ea -
Require reviewed Dependabot merges and refresh tooling
7c3a84b -
Restore MPFR builds and fail closed on polling errors
1d2e667 -
Prevent stale vcpkg
9e8d033 -
[breaking] Preserve coincident causal identities
3f72a16 -
Harden persistence and vcpkg pin synchronization
3a66693 -
Canonicalize complete vertex-cell incidence
52f9a58 -
Bound incidence fingerprint canonicalization
307737c -
Harden experiment and repository validation
fb7e5b3 -
Harden cross-platform validation
6b4d012 -
Pin Python for sanitizer bootstrap
9181494 -
Refresh portable Python package checks
96baa21 -
Preserve local runs when Comet mirroring fails
9cadfe7 -
Harden portable harness validation
da7ba14 -
Select the root vcpkg manifest
1c064fd -
Restore vcpkg binary caching
2b27462 -
Track canonical rendering fixture
7078f69 -
Harden archival rendering contract
81d366e -
Harden transition and documentation validation
e955ee6 -
Queue approved Dependabot updates for auto-merge
e63e32f -
Enforce v1.0.0 release gates
94ed107 -
Fail fast and support Dependabot coverage
2107f20 -
Stabilize macOS viewer and coverage gates
deb24ab -
Harden checkpoint resume contracts
17bb7fb -
Enforce exact checkpoint continuation
95754c4 -
Harden repository readiness contracts
2840437 -
Preserve canonical producer paths on Windows
026ba3f -
Harden boundary validation and diagnostics
38be43d -
Preserve complete subprocess diagnostics
94a0c77
-
Gate automatic merges on CodeRabbit review
8124227 -
Automate vcpkg tool pin sync
9631335 -
Stagger Dependabot update schedules
9cf5b9d
1.0.0-rc3 - 2026-07-28
-
Restore optional parallel insertion and removal
d4dabbe -
Add value-oriented move-run orchestration
abfa888 -
[breaking] Add invariant-bearing move preparation
e2f7d70 -
[breaking] Modernize the CGAL 6.2 integration boundary
ae7a39b -
[breaking] Finalize parallel triangulation support
862637a -
[breaking] Publish deterministic C++ oracle fixtures
ec53dfa
-
[breaking] Normalize public declarations under cdt
a02a732 -
Make MoveAlways replay checks deterministic
d7fa637 -
Own move-run callbacks by value
f59c06f -
Make seeded replay fixtures cross-platform
3c322ee -
Make producer path assertion cross-platform
390adf3
-
Generate GCC 16 reports with LCOV 2.5
324a2aa -
Install LCOV documentation dependencies
42fd262 -
Support pkgx-backed IDE environments
3ce8780 -
Retain function data during LCOV capture
898a453 -
Bound GCC branch inconsistencies
c7d6a35 -
Keep oneTBB out of ThreadSanitizer
35b241e -
Harden parallel build and provenance
6ef7dd6 -
Resolve pkgx certificate bundles before vcpkg
a123ab8 -
Restore CodeQL extraction and bound parallel builds
56f13cd -
Require fresh fixture provenance
6972970 -
Stabilize cross-platform validation
b0c3169 -
Stabilize Windows and Semgrep validation
b282c0b -
Stabilize cached builds and action policy validation
930238a -
Enforce action policy on nested paths
745d402 -
Enforce action policy on shorthand steps
406a482
-
Suppress ShellCheck for Zsh path expansion
189cc0d -
Bump actions/checkout from 7.0.0 to 7.0.1
397e0b4 -
Bump taiki-e/install-action from 2.83.2 to 2.83.4
30c83fd -
Bump github/codeql-action/init from 4.37.0 to 4.37.1
fd04186 -
Bump github/codeql-action/analyze from 4.37.0 to 4.37.1
16d8fcd -
Enforce pkgx-first pinned toolchains
f01fca6 -
Streamline and harden supported build workflows
e29f69a -
Update v1.0.0-rc3 release date
e8f45ea
- [breaking] Avoid rebuilding caches during move validation
f574f0f
1.0.0-rc2 - 2026-07-22
- Verify Zenodo delivery for the current tag
05a6e97
1.0.0-rc1 - 2026-07-22
- Persist verifiable stochastic run provenance
ce90551
-
[breaking] Enforce atomic moves and validated runtime state #111
4245ac0 -
[breaking] Make Metropolis transitions reversible and reproducible #112
1d7269c -
Enforce causal ergodic move contracts
bb53988 -
Restore sanitizer and coverage reliability
f4c7df9 -
Harden ergodic move rejection
cec15b5 -
Make runtime configuration header self-contained
cef03b5