# 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_std` verified, not assumed.** A new CI job builds the crate against `thumbv7em-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 `std` feature on, you get every reading type and the [`Clock`](../API.md#clock) trait. With `std` off, you get the [`VERSION`](../API.md#version) constant — 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_std` build job using `thumbv7em-none-eabihf` plus a host `--no-default-features` check.
- `src/lib.rs`: feature-flag section in the crate-level documentation.
- `README.md`: a `no_std` installation snippet alongside the standard one.
- `docs/API.md`: a Feature Flags subsection under Installation.
### Changed
- `docs/PERFORMANCE.md`: baseline commands use a generic `main` name; the REPS-mandated 5% regression gate is called out explicitly.
- README "Lean & Correct" bullets call out `#![forbid(unsafe_code)]` and confirm the bare-metal `no_std` build path is verified, not aspirational.
- Cross-doc navigation: `docs/API.md` and `docs/GUIDELINES.md` now link to `docs/PERFORMANCE.md` for 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
```toml
[dependencies]
clock-lib = "0.5"
```
For `no_std` consumers:
```toml
[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.