# @platform-modules/util

## 0.4.0

### Minor Changes

- fd62ea1: Add the framework-neutral shared realtime browser client, make the React package a binding over that client, and add typed config, structured logger, transport-neutral error reporter, and atomic-store idempotency utility capabilities.

## 0.3.0

### Minor Changes

- a708afa: Publish `http-cache-headers` leaf (`cacheHeaders`, `etagFrom`, `notModified`, `CacheHeaderError`) under `./http-cache-headers` subpath. #86 shipped no changeset; registry 0.2.0 predates the leaf.

## 0.2.0

### Minor Changes

- 7d474ec: Add the `./memo` seam: a bounded LRU `memoize` with a stable, key-order-insensitive default key — the R3 hard-floor fix for unbounded request-keyed native memoization. `i18n` formatter/plural caches migrate onto it (swap-survival, no public API change).

## 0.1.0

### Minor Changes

- c80eaad: Add `hmacSign`/`hmacVerify` to `@platform-modules/util/crypto` — HMAC-SHA-256 over Web-Crypto, URL-safe base64 signatures, constant-time verify via `timingSafeEqual`. Fail-closed: signing throws on an empty secret, verify returns false (never throws). Backs signed time-trap tokens (forms anti-spam) and any signed-token need.
- 324de71: Add Wave-2 CMS capability leaves (zero-dep, web-standard): `@platform-modules/util/health` (`HealthCheck`/`HealthResult` contract + `aggregateHealth` — settled, never-throws availability floor, worst-status rollup; a _thrown_ check is scrubbed to a generic `detail:'check failed'` so a host-composed probe cannot leak a provider secret — info-disclosure floor), `@platform-modules/util/maintenance` (`maintenanceGuard` pure verdict with a non-negotiable `admin`/`owner` operator-escape hard floor), and the root `errorCopy`/`DEFAULT_ERROR_COPY` host-overridable error-page copy map (always resolves, 500 fallback).

## 0.0.1

### Patch Changes

- d72b1ba: Initial publish — first versioned release.
