Changelog
What shipped, dated
Every line below is running in the product right now. Plans and half-built work stay out of here until they depart.
4 releases · 38 lines shipped · since
- v0.5 v v 0 0 . . 5 5
Feeds post for you, reposts bring back what worked
- Auto-repost: a rule that sends a post that worked a second time, chosen from the engagement already collected. Every rule states what it will refuse to do: how far back it looks, how much a post must have earned, how long before the same one may go again, and how many times ever. Those are the numbers that decide whether it is recycling or repetition
- Link an existing dev.to or Hashnode article so its numbers appear in your analytics, alongside Bluesky and Mastodon
- Keep my plan: a cancellation scheduled for the end of the period can be undone from the billing page, without going back through the payment portal
- A feed that stops working now emails you once, after it has failed for three hours, instead of quietly producing no posts
- Free plans carry a small Postauto mark in the corner of images they attach. Your uploaded file is never changed, the composer shows the marked version before you send, and nothing is added to a video or an animation
- Feeds, Reposts, Webhooks and API keys can be reached from the command palette by name
- RSS autopost: watch a feed and turn what it publishes into posts. Choose the channels, write the post text with the item's title, link, summary and author, and pick whether new items arrive as drafts, are queued into your posting times, or go straight out
- Adding a feed checks it first and shows the three most recent items exactly as they would be posted, because the common mistake is copying the blog's address rather than its feed's
- Nothing already in a feed is posted when you add it. A blog with ten years of archive contributes nothing until it publishes something new
- A feed that stops working says why on its own row, instead of quietly producing no posts
- Free plans add one line to Discord, Telegram and Slack posts saying they were made with Postauto. Nothing is added to any other network, the composer shows it before you send, and it is counted against the character limit like any other text
- Paid plans can turn that line off in Settings, Appearance
- v0.4 v v 0 0 . . 4 4
Signatures, and a long list of things that were quietly wrong
- Per-channel signatures: a sign-off written once on a channel and appended to every post sent there, shown in the composer preview and counted against the network's character limit so it can never be the reason a post is refused at departure
- The character limit is now enforced on every door. The app's own API accepted an over-length post and let it fail when it departed; only the public API and MCP were checking
- Two posts queued to the next gate inside the same minute were given the same departure time
- "Post now" on a scheduled post cleared its departure time before publishing, so a failed publish lost the schedule
- "Use shared message" discarded a channel's custom text with no way back; it is undoable now
- Publish and Retry reported success without reading the result, so a post every network rejected still turned the button green
- Late in the evening the departure picker proposed a time that had already passed
- On the night the clocks go forward, the week grid drew two cells for the same moment
- UTC could not be selected as a timezone, though it is what the product defaults to
- A failed background refresh replaced the whole screen, including a half-written draft
- Paying for a plan showed "Payment complete" above the plan you had before, while Stripe's confirmation was still in flight
- Stored credentials are now bound to the row they belong to, so a blob moved between accounts fails to decrypt rather than publishing as someone else, and the encryption key can be rotated without breaking already-published media links
- v0.3 v v 0 0 . . 3 3
Twenty networks, annual billing, and a publisher that keeps its promises
- Eight more networks: Reddit, Slack, Nostr, Lemmy, Dev.to, Hashnode, WordPress and Tumblr, taking the roster to twenty
- Annual billing, a plan status and renewal line, invoice history read live from Stripe, and a card-update route when a payment fails
- Re-authorisation warnings a week and a day before a channel's token expires, instead of finding out from a failed post
- A post's networks go out together rather than one after another, so a post to ten channels no longer costs the sum of ten networks' latency
- Rate limits are read from where each network actually reports them, and a wait longer than the retry ladder no longer fails the post permanently
- Aurora: a violet and cyan identity across the site and the app, in both themes
- Cloudflare Access is enforced at the origin, and every rate limit meters a bucket the caller cannot choose
- v0.1 v v 0 0 . . 1 1
First public release
- Network integrations across social, chat and blogging channels, each with its own publishing adapter and its own character and media limits
- One composer with per-network text overrides and per-target character limits
- Departures board: scheduled, published, partial, and failed statuses with per-target errors
- Scheduler with atomic claiming: every due post departs exactly once, on time, in UTC
- Social credentials encrypted with AES-256-GCM before they reach the database
- Stripe billing with three plans: Free, Pro, and Business, limits stated up front
- Dark by default, with a full light theme and a toggle that remembers the choice
Next departure
The next line here could be yours to notice
Connect one real account on the free plan and send one real post. The board tells you what shipped better than this page does.