Skip to content

v0.6

Compare
Choose a tag to compare
@snarfed snarfed released this 24 Jun 19:06
· 51 commits to main since this release
05981da

Breaking changes:

  • datastore_storage:
    • DatastoreStorage: add new required ndb_client kwarg to constructor, used to get new context in lexrpc websocket subscription handlers that run server methods like subscribeRepos in separate threads (snarfed/lexrpc#8).
    • DatastoreStorage.read_blocks_by_seq: if the ndb context gets closed while we're still running, log a warning and return. (This can happen in eg flask_server if the websocket client disconnects early.)
    • AtpRemoteBlob: if the blob URL doesn't return the Content-Type header, infer type from the URL, or fall back to application/octet-stream (bridgy-fed#1073).
  • did:
    • Cache resolve_plc, resolve_web, and resolve_handle for 6h, up to 5000 total results per call.
  • storage: rename Storage.read_commits_by_seq to read_events_by_seq for new account tombstone support.
  • xrpc_sync: rename send_new_commits to send_events, ditto.
  • xrpc_repo: stop requiring auth for read methods: getRecord, listRecords, describeRepo.

Non-breaking changes:

  • did:
    • Add HANDLE_RE regexp for handle validation.
  • storage:
    • Add new Storage.tombstone_repo method, implemented in MemoryStorage and DatastoreStorage. Used to delete accounts. (bridgy-fed#783)
    • Add new Storage.load_repos method, implemented in MemoryStorage and DatastoreStorage. Used for com.atproto.sync.listRepos.
  • util:
    • service_jwt: add optional aud kwarg.
  • xrpc_sync:
    • subscribeRepos:
      • Add support for non-commit events, starting with account tombstones.
      • Add ROLLBACK_WINDOW environment variable to limit size of rollback window. Defaults to no limit.
      • For commits with create or update operations, always include the record block, even if it already existed in the repo beforehand (snarfed/bridgy-fed#1016).
      • Bug fix, populate the time each commit was created in time instead of the current time (snarfed/bridgy-fed#1015).
    • Start serving getRepo queries with the since parameter. since still isn't actually implemented, but we now serve the entire repo instead of returning an error.
    • Implement getRepoStatus method.
    • Implement listRepos method.
    • getRepo bug fix: include the repo head commit block.
  • xrpc_repo:
  • xrpc_*: return RepoNotFound and RepoDeactivated errors when appropriate (snarfed/bridgy-fed#1083).