shared-state 0.1.3

Concurrent state utilities: readiness gates, TTL caches, shared counters, type aliases
Documentation
# Changelog

All notable changes to this project are documented here. Format: [Keep a
Changelog](https://keepachangelog.com/) — versions follow [semver](https://semver.org).

## [Unreleased]

## [0.1.2] - 2026-10-05

### Fixed

- `TtlCache` is re-exported from the crate root. It was fully implemented
  behind `pub mod ttl` but `lib.rs` re-exported only `ReadyGate`, so the
  obvious `use shared_state::TtlCache` failed with an unresolved import that
  pointed nowhere near the real path (`shared_state::ttl::TtlCache`). Found by
  the estate-integration `systems_substrate` suite.

## [0.1.1] - 2026-09-12

### Added

- `TtlCache::take_fresh` — single-use consume primitive: removes an entry
  only if it has not expired, dropping expired entries as absent. Built
  for one-time-token stores (first consumer: oauth-toolkit's CSRF store,
  replacing a hand-rolled TTL map).
- `tests/config_matrix.rs` — behavior-observable test per public knob
  (`set_ready`, `set_not_ready`, `with_value`, TTL), per the estate
  config-matrix standard.

## [0.1.0] - 2026-08-31

### Added
- Concurrent state utilities — readiness gates, TTL caches, shared counters.
- Published to crates.io (2026-08-31).