publish a changelog entry
A changelog entry is a public post-mortem of what shipped. Visitors see them at /b/<board-slug>/changelog. Subscribers get an email.
draft vs published
Section titled “draft vs published”Entries have one of two statuses:
- draft: saved, not visible to anyone but admins.
- published: visible on the public changelog and to rss readers.
You can move from draft to published and back. Draft works as scratch space.
fields
Section titled “fields”- title: required, up to 200 characters.
- body: rich text via tiptap. Up to 50 000 characters of plain text equivalent.
- version (optional): a tag like
v1.4.0or2026.05. Up to 40 characters. Useful for semver products. - published at: when published, this defaults to “now”. You can backdate or schedule by editing the timestamp.
- slug: auto-derived from the title, unique within the board.
- images: drag and drop into the editor. Spirby presigns uploads to Cloudflare R2. Supported types: png, jpeg, webp, gif.
linked posts
Section titled “linked posts”You can link an entry to up to 200 posts on the same board. The link list is what powers two behaviors:
- auto-shipped flip. When you publish an entry, every post linked to it moves to
shippedstatus (unless it is already shipped or merged). The author gets the standard status-change notification. - shipped-in badge. On a post page, the most recent published entry that links the post shows up as a “shipped in <version or title>” badge.
publish
Section titled “publish”Click publish and pick a published_at timestamp. Spirby:
- Flips the entry’s status to
publishedand stores the timestamp. - Flips every linked post to
shipped. - Enqueues an email broadcast to confirmed subscribers.
- Updates the rss feed at
/b/<board-slug>/changelog/rss.xml.
unpublish
Section titled “unpublish”Unpublishing flips the entry back to draft. The email broadcast is cancelled if it has not started; if it has already gone out, no recall is possible. Write a follow-up entry instead.