commons/ledger.md
disqualifier 912c37f99f fix: state slug uses underscore + ascii-fold to match the proxy region- contract
addr.geo.fetch_location produced a hyphen slug with no unicode fold (new-york / québec), but the live proxy region- token the original utils.py fed expects underscore + ascii-fold (new_york / quebec). a multi-word state silently routed to an unrecognized region with no error. added _state_slug (NFKD ascii-fold, lowercase, spaces->underscore) and routed _parse_reverse through it. bump to v0.2.2.

Signed-off-by: disqualifier <dev@disqualifier.me>
2026-06-29 03:18:13 -04:00

29 lines
1.2 KiB
Markdown

# commons — ledger
## v0.2.2
- **fidelity fix (HIGH):** `addr.geo.fetch_location` state slug now uses an underscore
separator and an NFKD ascii-fold, matching the original `utils.py` contract the live
proxy `region-` token depends on (`New York` → `new_york`, `Québec``quebec`). The
rewrite had produced a hyphen slug with no fold (`new-york`), which silently routed
multi-word states to an unrecognized region. Added `_state_slug`; routed
`_parse_reverse` through it.
## v0.2.1
- floor `retry`/`aretry` `attempts` at 1 (was: `attempts=0` silently returned None).
- retry log uses total `attempts` as the denominator (was `attempts-1``retry 1/2`).
- geo lookups forward the per-request `timeout` to `session.get` on the injected-session
path (was honored only on the owned-session path).
## v0.2.0
- added the `retry` module: `retry` (sync) + `aretry` (async), call-form or decorator,
exponential backoff with optional full jitter, `on=` narrowing, `give_up` early-stop,
fail-loud re-raise of the last exception.
## v0.1.0
- initial: timing (unix deltas + tz Clock), paths (dotted deep_get/set), masking
(card/cvv/token display), addr (ip utils + geo behind the `[addr]` extra).