Updates

Accounts and sign-in 0.16.0, the patch notes.

What changed in Accounts and sign-in 0.16.0, released 25 October 2026.

Patch notes

Accounts and sign-in 0.16.0

  • POST /identity/native/repo/network/state: what the open network's switch shows for the caller's page (available, on, handle, did, and why it cannot join: no-page or no-handle), 120 a minute per account; while the network is switched off it answers only {"available": false} (ADR-0061, amendment of 2026-10-24).
  • The console's boards for agents (`console-board`) read the time before as the console now does: at the finest step kept for it, a range only an hour inside each step's keeping, every breakdown at its window's step, and the time before's counts weighed to the time the window's own points hold. A 30-day board's time before is no longer refused, and a board no longer counts a whole last point, or a coarser time's whole points, against the window.
  • A developer token with the new cloud:tasks scope may be exchanged for a cloud workspace token (POST /identity/native/access-token with Authorization: Bearer alyd_... and {"audience": "alelyon-workspace"}), so alelyon-cli runs the person's cloud tasks; refused from a browser, logged in the token's log, never offered to apps.
  • Articles written with marks (ADR-0062). POST /identity/native/pages/post and draft-save take `format`: `marks` for an article written with headings, bold and italic, lists, quotes, code, links with words and dividers, or `plain` (the default). A post's and a draft's replies carry `format`. A draft carries it to the post it makes, and an edit keeps it. It applies to an article only: a post asking for marks is refused (`invalid-text`), and any other value is refused (`invalid-request`). Every article written before reads as plain, as it always did. MCP's `pages_post` takes `format` too.
  • `hosted_post_marks` (one row per article written with marks) goes with an account's deletion, as `hosted_post_via` does.
  • An article holds up to 10 photos (ADR-0062's amendment); a post still holds 4. `post` and `draft-save` refuse more with `invalid-text`, as before. A post's `media` says each photo's `position` (0 first), by which an article's text places it: `![caption](photo:N)` alone on a line is position N - 1. A photo held back leaves its place empty.
  • Pages takes a long article whole. The routes that carry an article (POST /identity/native/pages/post, edit and draft-save) take a request body of up to 256 KiB. Before, every route had a 16 KiB limit, so an article of more than about 16,000 characters was refused as "not understood", although the limit is 20,000. 256 KiB holds the longest article even when a program writes every character as an escaped surrogate pair (12 bytes). Every other route keeps 16 KiB. For the same reason the MCP server takes a message of up to 272 KiB (it was 64 KiB), so an agent's pages_post or pages_edit can carry the longest article too.
  • Text of several lines (a post, an article, an about or a note) keeps its tabs. A Windows (CR LF) or old Mac (CR) line break is stored as a newline and counts as one character. Before, pasted code and text written on Windows were refused ("text may not carry control characters"), and a CR LF counted twice toward the limit. Every other control character is still refused, and a one-line field (a title, a name) still refuses a tab.
  • A page on the open network now also carries its profile, posts and plain reposts in the collections Bluesky's app reads (app.bsky.actor.profile, app.bsky.feed.post, app.bsky.feed.repost), within that app's limits: 300 characters (a longer post goes as its opening and its address on Pages; an article, a poll or a job opening adds a link card), at most four photos of at most 1,000,000 bytes, and facets for links, mentions of people on the network and hashtags. A reply, quote or repost names only a post on the network. Follows, likes and votes are never records (ADR-0061, amendment). GET /xrpc/com.atproto.sync.getBlob redirects to the media domain for a photo a repository names, and listBlobs lists them. A photo a moderator holds is no longer named in any record, Alelyon's own included.
  • The open network's event stream (ADR-0061, amendment of 2026-10-24): GET /xrpc/com.atproto.sync.subscribeRepos, a WebSocket relays follow, from ?cursor= when given (FutureCursor for one ahead of the stream; #info OutdatedCursor for one older than the 72 hours kept). Each new commit of a page on the network is a #commit (sync 1.1: ops with what each record was, since, prevData, and blocks with which a relay can undo the ops to the tree before), written in the transaction that keeps the commit; a change of more than 200 records goes as #sync. Joining says #identity, #account and #sync; leaving and a suspension say #account (deactivated, suspended); a new username sends the directory an update and says #identity. Deleting an account deletes its events, says #account deleted, and owes the directory a tombstone, which the upkeep sends (hosted_repo_departures until then). The upkeep (NetworkStore.tend) runs every 15 seconds. The front's certificate questions from loopback no longer count against the public limit. hosted_repo_events and hosted_repo_stream go with account deletion (ADR-0047 rows); hosted_repo_departures is kept until sent.
  • Projects on the account: an Alelyon signed in to the account saves its projects there (name, description and a summary of the scan: languages, stack, license, how many files; never a path, a git remote, a command or code), and a project can be shared: the owner invites a friend, or makes it public and open to join so the owner's friends can join it. Only the owner changes, invites to, removes from or deletes a project; a member leaves. Deleting the account deletes its projects, everyone's places in them and its places in other people's.
  • deploy the identity service at the version's commit (the boards' reads only; no migration).
  • deploy the identity service at the version's commit, after a data-disk snapshot; no setting changes.
  • The store makes `hosted_post_marks` on start (additive). No route changes for older clients, which send no `format` and get plain articles.
  • On its first start the store rebuilds `hosted_post_media` and `hosted_draft_media` once, so that they take places 0-9 (they took 0-3): SQLite's documented table rebuild, in one transaction, with foreign keys checked after. It logs `pages: <table> rebuilt to hold an article's ten photos` for each. Older clients ignore `position`.
  • No migration and no client change; deploy the identity service as usual.
  • nothing beyond ADR-0061's switch, which stays off until the event stream and the switch's Privacy and Terms wording have landed. No migration.

Every older version of Accounts and sign-in is on its page in the archive, and every product's in the patch notes archive. The newest versions, plans, maintenance and patches are on Updates.

Get access

The app, an account, a person.

One Windows build for everyone, an account on this website if you want one, and a person to ask.

The app

Run Alelyon on your own computer.

There is one Windows build, the same for everyone. Without an account, everything in it runs locally.

  • Local-first Windows interface
  • Open Alelyon toolkit and source, with no account
The build is not being served yetOpen source toolkit
An account

Create an account, or log in.

One Alelyon account works in the app, in Friends and on this website. Make one or sign in on the account page. Signed in, you get:

  • A profile with your display name and username
  • Friends and messages, in the app and on the web
  • Your page, and the choice whether your public posts may train AI

Hosted model chat comes only with a paid plan.

A person

Ask, and a person reads it.

It opens a pre-addressed message in your own mail client — nothing is collected by this website.

Nothing about access waits on a person. This address is for questions, problems, deletion requests, and anything a page cannot answer. It is read by a person, so no response time is promised.

Do not include credentials, account numbers, API keys, or position data in the message.