tc_runtime 0.1.0

no_std CPU feature detection and capability proof tokens for x86 and AArch64.
Documentation
# Changelog

All notable changes to `tc_runtime` are documented in this file.

## 0.1.0 - 2026-09-06

Initial release.

### Added

- CPU capability detection for x86 and x86_64: AES-NI, AVX2, BMI1 in
  64-bit mode, BMI2, PCLMULQDQ at 128/256/512-bit widths, SSE2, SSE4.1,
  and SSSE3. AVX-family probes check the required operating-system state.
- AArch64 capability detection for AES/PMULL, DIT, NEON, SHA-1/SHA-256,
  SHA-3/SHA-512, and SM3/SM4.
- Private-constructor, copyable proof tokens with `detect()` and
  `is_enabled()` methods. Capability types are available on every target;
  unsupported architectures return `None` and `false`, respectively.
- Bouncy Castle-compatible x86 aliases and capability groupings.
- Dependency-free, `no_std` default builds. The optional `aarch64-detect`
  feature uses `cpufeatures` for runtime probing on Linux, Android, and Apple
  platforms. Without runtime probing, AArch64 uses compile-time capabilities.
- Per-capability Cargo disable features and cached `TC_DISABLE_*`
  environment-variable overrides with the optional `std` feature.
- Caller-facing API documentation and executable examples covering token
  passing, portable fallback, capability aliases, and token construction
  restrictions.
- Native CI on Linux x64, i686 and ARM64, macOS ARM64, and Windows ARM64,
  with Rust 1.85 regression checks, portable target checks, and compile-time
  feature-floor tests that record a coverage note when a runner lacks the
  hardware. x86 detection is cross-checked against the standard library's
  independent detector.

### Compatibility

- Requires Rust 1.85 or later and uses Rust edition 2024.
- AArch64 Windows and bare-metal targets rely on compile-time capabilities.
- Capability tokens do not enable compiler target features. A DIT token
  reports support but does not set `PSTATE.DIT`.
- Licensed under MIT OR Apache-2.0; both license texts are included in the
  published package.