v0.5.0 — Bare-Metal Ready
Pre-release
Pre-release
v0.5.0 — Bare-Metal Ready
clock-lib already claimed no_std support; this release proves it. The crate now compiles cleanly against a bare-metal embedded target on every CI run, with the feature split documented in Cargo.toml, the crate-level docs, the README, and the API reference. The library is ready for a 1.0 cut.
Highlights
no_stdverified, not assumed. A new CI job builds the crate againstthumbv7em-none-eabihf(Cortex-M4 with FPU) and against the host target with--no-default-features. Both must pass before a merge.- Feature surface, written down. With the default
stdfeature on, you get every reading type and theClocktrait. Withstdoff, you get theVERSIONconstant — the readings themselves require an OS clock and are honestly gated. - Doc polish. Every documentation page now cross-links to every other (Home / API / Performance / Guidelines). The lib.rs crate docs explain the feature flags inline. The performance doc references the REPS regression gate.
What's New
Added
- CI:
no_stdbuild job usingthumbv7em-none-eabihfplus a host--no-default-featurescheck. src/lib.rs: feature-flag section in the crate-level documentation.README.md: ano_stdinstallation snippet alongside the standard one.docs/API.md: a Feature Flags subsection under Installation.
Changed
docs/PERFORMANCE.md: baseline commands use a genericmainname; the REPS-mandated 5% regression gate is called out explicitly.- README "Lean & Correct" bullets call out
#![forbid(unsafe_code)]and confirm the bare-metalno_stdbuild path is verified, not aspirational. - Cross-doc navigation:
docs/API.mdanddocs/GUIDELINES.mdnow link todocs/PERFORMANCE.mdfor symmetric navigation across the four core docs.
Compatibility
- MSRV: Rust 1.85 (unchanged)
- Edition: 2024 (unchanged)
- Public API: unchanged from 0.4.x — no code changes required.
Upgrading From 0.4.x
[dependencies]
clock-lib = "0.5"For no_std consumers:
[dependencies]
clock-lib = { version = "0.5", default-features = false }What's Next
- 1.0.0 — stable API. A soak period to confirm no regressions, then publish. The public surface is feature-complete; 1.0 is a stability promise, not a feature drop.
Full Changelog: v0.4.0...v0.5.0