PRAXO-CORE 2.3.5¶
Released: 2026-10-24
This patch tightens scheduler disable semantics. It changes no exported
pkg/... declarations.
Scheduler¶
Disabling a schedule now:
- rejects a callback that has not started yet by rechecking
Enabledwhile holding the engine lock; and - waits for an already-running dispatch to finish before
SetEnabled(false)returns.
Previously, a callback that had passed the enabled check could still dispatch after disable returned. The new behavior makes the test-visible guarantee deterministic under the race detector.
This is an in-process scheduler guarantee. It is not a durable scheduler, lease/fencing system, or exactly-once execution claim.
Verification¶
- Full core tests, vet/build, Linux race/fuzz, staticcheck, and govulncheck.
- The scheduler disable regression test runs 20 times locally and the Linux race job passes in CI.
- Three-platform tests and independent-module checks remain green.
- Exported API is unchanged from 2.3.4.
These checks do not establish production, deployed-peer, or external benchmark validation.
Upgrade¶
go get github.com/axisvela/praxo-core/v2@v2.3.5
Use Go 1.26.10, the tested toolchain. No source migration is required from 2.3.4. Optional adapter versions are unchanged.
Release Tag¶
No signing key was configured for this release environment. The tag is annotated rather than cryptographically signed; checksums and an SBOM are published by the release workflow.