tools: passkey-dev can put an entryway in front of the PDS
Add a dist profile and a cross-build script for the CLI binaries
Release 0.15.0-rc.5
Gate atproto-lexicon's resolver behind a resolve feature
atproto-space: verify space tokens as JWS, not as atproto signatures
Name every service handle domain on the signup form
Bound a client assertion's age, not the window its exp declares
Let atproto-pds-admin create and disable invite codes
Key a new account's signing_key row by TID, not the millisecond
Stop logging a space consumer's non-identity client_id host at ERROR
Require the http feature in atproto-pds, as sqlite already is
Correct the HTTP client fallback comments in atproto-pds
Settle the four provisional Highport decisions
Wire Highport's client to every call site, and prove it
Reserve the handle at Highport when an account migrates in
Move the Highport reservation with the handle on a rename
Release the Highport reservation when an account stops being readable
Reach the Highport repair routine from the admin surface
Reserve the handle at Highport before the genesis operation is submitted
Repair Highport drift with one reconcile pass
Drive the base check against a Highport that answers
Fake Highport and a fake PLC directory, from in-memory state
Count Highport calls, and make the label space unable to grow
Call Highport: the client, its token, and what its refusals mean
Configure Highport domain delegation
Enforce service handle constraints at signup
Split PLC genesis into prepare and commit
Bound the PLC directory HTTP clients with a timeout
Answer space.getBlob BlobNotFound with 400
Ping a quiet Jetstream connection and drop a dead one
Accept the account's own service auth on uploadBlob
Speak MCP 2026-07-28, and carry blobs as tools and resources
Honour the response_mode a client asks for
Let the caller name the directory lexicon authorities resolve against
Merge branch 'main' into worktree-account-migration-review
Teach the validator what a permissioned URI is