Where this release candidate stands, and the questions that come up most.
Is Syndroo released yet?
Not yet. 0.7.0-rc.1 is an unpublished release candidate, and live-account acceptance is still pending. There is no registry install today, so the way to run it is to build it from source.
Which platforms does it publish to?
Five official providers. Bluesky, Threads, LinkedIn and Mastodon publish text; DEV.to publishes articles. A request carries the content once and a targets list that names the providers and, when it matters, the connection and the provider options.
Where do my credentials live?
On your machine, never in the publish request. A connection reads its credentials once, from the environment variable SYNDROO_CREDENTIALS or from a private file you own, and the local credential store keeps them after that. Publishing never re-reads the environment or the file.
What does the dry run actually do?
syndroo publish --input post.json --dry-run --json freezes and validates the request, prints the preview, then exits. It is optional and read-only: no write lock, no credentials resolved, no network request, and no local state.
What gets sent when I publish?
The content is frozen when the request is prepared. Confirming sends exactly that frozen preview, so editing the file afterwards cannot change what goes out — and a later prepare is a new request with its own identity.
Can I prepare and publish in one command?
Yes. syndroo publish --input post.json --yes --json prepares, confirms and executes in one call and prints exactly one final envelope, with no second prepared result and no approval token. Without --yes the same --json call returns the prepared result and sends nothing.
Is there a Syndroo server involved?
The local path talks to platform APIs directly from your machine. For Threads, you can deploy Syndroo's server to your own Cloudflare account, connect an account, and publish manually or from GitHub CI. The SDK remains outside this documentation.
How do I check what a run did?
syndroo status --operation <operationId> --json reports the operation and one delivery per target. A delivery is succeeded, failed with a not-applied disposition, unknown, or not sent when the target never started; an unknown write is never retried automatically.