v0.3.0
Precision & Overflow (#TIME-11)
- Added
Time::MINconstant (alias forEPOCH) - Added documentation about value range:
Time<S>covers ~584 years from epoch (Time<Gps>up to year 2554) - Added
test_time_max_behaviorto verify overflow handling - Added
clippy::arithmetic_overflowlint to CI
Benchmarks (#TIME-12)
- Added
benches/arithmetic_bench.rs– proves zero-cost abstractions:Time<Gps> + Duration: 512 ps (rawu64 + u64: 517 ps)Time<Gps> - Duration: 512 ps (rawu64 - u64: 518 ps)
- Added
benches/convert_bench.rs:GPS → TAI: ~0.8 nsGPS → Galileo: ~0.8 nsGPS → BeiDou: ~0.9 nsGPS → UTC(with leap seconds): ~9.5 ns (< 10 ns target)GLONASS → UTC(constant shift): ~0.8 nsGLONASS → GPS(via UTC + LS): ~22.4 ns
- Uses
criterionwith HTML reports
Full no_std Compatibility (#TIME-10)
- All types are
Copy– no allocations anywhere defmt::Formatimplementation behinddefmtfeature flag- Fixed
LeapSeconds::builtin()– now uses static instance instead ofconst fn - Cross-compilation tests for embedded targets:
thumbv7em-none-eabihf(STM32F4/F7, nRF52)thumbv7em-none-eabi(Cortex-M4/M7)riscv32imac-unknown-none-elf(ESP32-C3, GD32VF103)
- Added
.cargo/config.tomlwith embedded optimization settings - Added
tests/no_std_compact.rs– verifies noDrop,Copysemantics, 8-byte alignment, no allocations
CI & Project Infrastructure
- Added
.github/workflows/embedded.yml– cross-compilation checks - Added
.github/workflows/semantic-pull-request.yml– validates PR titles (feat:,fix:, etc.) - Added
.github/pull_request_template.md– structured checklist - Added
.github/ISSUE_TEMPLATE/enhancement.yml– enhancement request template - Added
CODEOWNERS– automatic reviewer assignment - Updated
justfilewith new commands (check-no-std,ci, etc.) - Updated
Cargo.tomlwithdefmtfeature, docs.rs metadata
Fixed
leap.rs:LeapSeconds::builtin()now works inno_std(static instance, notconst fn)time.rs: removedconstfromas_seconds_f64(no_std compatibility)time.rs: fixed typo "Дипазон значений" → "Диапазон значений"
Full Changelog
See CHANGELOG.md