# AeX402 v0.13.10

> Released 2026-08-08

Housekeeping that makes [v0.13.9](/releases/v0.13.9/RELEASE_NOTES.md) stick.

## The zero stays zero

44 places where a missing field or an unexpected type from JSON was a **panic**
are now errors. Finding them cost a day; keeping them gone is a grep, and a
release can no longer be built if one comes back.

The check allows a `.?` whose type is already proven by an enclosing switch,
via an inline marker — a gate you can satisfy honestly rather than one you
disable. Exactly one such case exists in the codebase and it is marked.

## The daemon survives its own corrupt state

`aex402-daemon` read its state file with the same unchecked access. A truncated
or hand-edited file panicked it on the first bad key, killing a long-running
process and taking every healthy entry with it.

Verified by actually corrupting a file rather than reading the diff: fed it a
missing key, a wrong type and a non-object. It starts cleanly where it
previously died on load, skipping what it cannot read.

---

Install or upgrade:

```sh
curl -fsSL https://aex402.com/install.sh | sh
```

Downloads and checksums for all six platforms are at
<https://aex402.com/releases/v0.13.10/>. The manifest is signed with an offline
key and the installer refuses anything it cannot verify.
