Releases: bluesky-social/bsky
Releases · bluesky-social/bsky
Release list
@bsky/sdk@1.1.2
Patch Changes
- #42
ea67f45Thanks @estrattonbailey! - SetupdatedAtwhen updating interests viasetInterestsPref
@bsky/sdk@1.1.1
Patch Changes
- #40
feff3bfThanks @estrattonbailey! - Remove themaxGraphemesandmaxLengthconstraints from video alt text, matching image alt text validation.
@bsky/sdk@1.1.0
@bsky/sdk@1.0.1
@bsky/sdk@1.0.0
Major Changes
-
#1
c3f0c47Thanks @devinivy! - The Bluesky SDK, built on@atproto/lex. The package provides:- Typed actions for common Bluesky operations — posts, likes, reposts, follows, profile upserts, graph mutes/blocks, notifications, and the full preferences suite — invoked via
client.call(action, input)on a lexClient. /lexicons— generated schemas and types for theapp.bsky,com.atproto, andchat.bskynamespaces, importable by namespace root./moderation— the moderation engine (moderatePost,moderateProfile, label handling, mute words) for interpreting labels and preferences into UI decisions./richtext—RichTextwith facet detection and handle resolution (including the one-stepRichText.resolve()), sanitization, and unicode utilities./utils— age assurance helpers,ClientHandleResolver, muted-word and nux utilities.api.*constants with Bluesky-operated service addresses (AppView, chat, moderation).
Note: this package supersedes the Bluesky portions of
@atproto/api(Agent classes are not carried over — a lexClientfills that role). Seeskills/upgrade-from-atproto-apifor migration guidance. - Typed actions for common Bluesky operations — posts, likes, reposts, follows, profile upserts, graph mutes/blocks, notifications, and the full preferences suite — invoked via
@bsky/jetstream@1.0.0
Major Changes
-
#21
c27aa4cThanks @devinivy! - Client library for Jetstream, a friendly way to consume data published to AT Protocol. The package provides:Jetstreamwith three consumption modes:live()streams the network in realtime,replay()continuously streams full network history, andsnapshot()streams network history up to the current moment.- Typed events by default: records arrive as lex data, validated against schemas when collections are given as lexicon schema filters.
raw: trueyields wire-faithful events instead (parsed JSON from the live stream, DAG-CBOR bytes from snapshots, with lazily computed CIDs). isCreate(),isUpdate(),isDelete(), andisPut()narrow an event to a commit with that operation, and to one collection's records when given a lexicon — the same narrowing$isTypeOf()performs.- Filtering by
collections(exact NSIDs orns.*wildcards),dids, andkinds, applied consistently across all three modes. LexIndexer— register per-collection put/delete handlers plus identity, account, and sync handlers, with record validation and per-record ordered concurrency.JetstreamRunner— drive a consumer such asLexIndexerthrough any mode with durable cursor tracking: progress persists through aCursorStoreand resumes where it left off.- Resilience built in: the live stream reconnects and resumes from its cursor, snapshot downloads retry with backoff and resume mid-file, and interrupted snapshots re-plan without re-delivering.
apiKeyoption for hosts that require auth — sent on snapshot downloads and the live websocket handshake alike.- Works in Node.js (>= 22.15) and the browser, with
@atproto/lexas a peer dependency. Live streaming is fully browser-capable; snapshot and replay needdecompressorandsha256options supplied in the browser, where the platform lacks zstd and synchronous hashing. JetstreamV1— a live-only client for hosts still speaking the original Jetstream wire protocol.