Pre-1.0
What changed and when is the changelog; what exists to compose is the capability catalog; what will not change is accepted limits; and getting help is where to raise the rest.
The docs carry no version in the URL while that is true. At 1.0 this tree is frozen as the first archived version.
What ships
The shipping capabilities, each with its own tables, routes, error domain and audit actions. The catalog lists every one.
A CLI where every command takes --json, with one deliberate exception.
A control-plane seam that is present and denying until you connect something.
What is not built, and is on the list
| State | |
|---|---|
| Lakehouse | No package. pithy add lakehouse does not work. The page is a plan, written down so you can decide whether to wait |
| Audit retention and pruning | Not implemented. No sweep, no age limit, no delete route — the trail grows without bound |
| Audit tamper-evidence | A hash chain over the rows. Deferred |
| Audit in its own database | Defaults to the shared app database today |
| A generated reference | No OpenAPI document, no generated error catalog. Every reference page is hand-written |
| Minting R2 access-key pairs | Cloudflare exposes no API for it, so provisioning writes the pair you supply |
| Images and Stream credentials | The permission catalog carries no keys for them |
| Store-API reconciliation for testers | Google exposes no opt-in count, so the number stays an estimate |
What is deliberately not planned
Real-time action netcode. A fixed high-rate tick loop never hibernates, which is the exact cost the multiplayer design avoids. Use Photon.
Rooms, chat, presence, broadcast. Cloudflare ships PartyServer and maintains it. Use that.
A Postgres adapter. It is Cloudflare-only, and it will stay that way. Is Pithy for you? says so at greater length.
An SDK per client platform. There is an HTTP API and a token model built for native clients; there is no Swift, Kotlin, Unity or Godot package.
A registerable email template. The runtime forbids compiling one where it runs, and two other reasons are on the page.
Locales
en is complete. es is an unreviewed first pass, and its files say so in their own heads.
Licensing
MIT throughout, with one exception: @pithy-sh/audit ships under FSL-1.1-MIT — free for any purpose except a competing product, converting to MIT two years after each release.
The control-plane seam is MIT and never gated. It is the code that runs in your Worker, and restricting it would make you can build your own client untrue.
Where the limits are written down
Accepted limits records the races that cannot be closed — because a limit nobody recorded reads as a limit nobody saw.
Compatibility records the Node floor and the compatibility date, and why moving one is not an upgrade.
Dated claims
Anything about a price or a competitor carries an as-of date, because both change and neither is ours to control.