Repository navigation
Releases: weburz/burzblog
Release list
BurzBlog 2.1.0
BurzBlog 2.1.0 adds what a blog needs beyond writing: tags and SEO fields, uploads, feeds, search, roles, two-factor sign-in and a richer content API. It also adds safer upgrades and a container image you can deploy on Coolify. Nothing breaks: 2.0.0 data upgrades in place, and a backup is taken first.
Highlights
- Blog metadata. Tags, an author, SEO title, description and canonical URL, plus featured posts and display labels for tags.
- Images and PDFs. Upload from the editor or the Media page. Files are checked by their contents, deduplicated and served from
/media/. - Feeds and a sitemap. RSS, Atom, JSON Feed and
sitemap.xmlfor your website to serve. - Search that reads the posts. Full-text search over titles, bodies and tags, ignoring case and accents.
- Renamed posts keep their address. An old slug redirects to the new one, and your website gets the list.
- Content API for websites. Read published posts, tags, redirects and feeds with a read-only build token. Responses include custom frontmatter (
extra),featured, cover sizes and tag labels. Within a major version, it only ever changes additively. - Accounts. Admin and author roles, an append-only audit log, two-factor sign-in with a QR code and recovery codes, and first-run setup in the browser.
- Safer upgrades. The database backs itself up before upgrading.
burzblog upgradedownloads, verifies and swaps in a new release. An optional notice tells admins when one is available. - Terminal.
burzblog diff,status,importandredirects, and an installer:curl -fsSL https://burzblog.weburz.com/install.sh | sh.
Install
On Linux or macOS:
curl -fsSL https://burzblog.weburz.com/install.sh | shOr download the file for your computer below, make it executable and put it on your PATH:
| Computer | File |
|---|---|
| Linux (Intel/AMD) | burzblog-v2.1.0-linux-amd64 |
| Linux ARM 64-bit, Raspberry Pi 4/5 | burzblog-v2.1.0-linux-arm64 |
| Raspberry Pi with a 32-bit OS | burzblog-v2.1.0-linux-arm |
| macOS (Apple silicon) | burzblog-v2.1.0-darwin-arm64 |
| macOS (Intel) | burzblog-v2.1.0-darwin-amd64 |
| Windows | burzblog-v2.1.0-windows-amd64.exe |
Check a download with sha256sum -c SHA256SUMS-v2.1.0 --ignore-missing.
Container: ghcr.io/weburz/burzblog:2.1.0, also tagged 2.1, 2 and latest, for linux/amd64 and linux/arm64. For Coolify, paste deploy/coolify.yaml into a Docker Compose Empty resource. See https://burzblog.weburz.com/docs/containers.html.
Upgrading from 2.0.0
Replace the binary (from now on, burzblog upgrade does this for you) and restart. On its first start, 2.1.0 copies the database to <data>/backups/ and then upgrades it. Existing accounts become admins. Details are in CHANGELOG.md and https://burzblog.weburz.com/docs/self-hosting.html#upgrades.
Verification
task go:checkandtask releasepass on the tagged commit.- GitHub CI (
goandweb, including Playwright E2E) and CodeQL pass on the release pull request. - The image workflow builds this exact commit, runs the full gates and the container smoke test, then publishes.
BurzBlog 2.0.0
BurzBlog is now one program. It's the server, the browser editor and a terminal tool for writing in your own editor. Posts are Markdown in a single SQLite file, and it's small enough to run on a Raspberry Pi.
Highlights
- Two ways to write. The browser has a split editor with live preview, formatting tools, focus mode, a Ctrl+K command palette and dark mode. From a terminal,
burzblog edit <post>opens it in VS Code, Vim or any editor. - Nothing is overwritten silently. Every save is versioned, conflicting edits are refused and compared side by side, history says what each save changed, and there's Undo after Unpublish or Archive.
- Scheduled publishing. Pick a date and time and the post publishes itself.
- Your website. Static sites (for example Nuxt Content on Vercel) download published posts at build time with a read-only build token. BurzBlog can trigger a rebuild when you publish.
- Backups. One download holds every post, drafts and archived included.
- Scripts and AI agents.
--jsonoutput, documented exit codes and stdin input for the terminal tool. - Security. It was reviewed independently before release. Previews are bounded, sign-in floods are shed, and the client refuses redirects. See the changelog for details.
Install the terminal tool
Download the file for your computer below, make it executable and put it on your PATH:
| Computer | File |
|---|---|
| Linux (Intel/AMD) | burzblog-v2.0.0-linux-amd64 |
| Linux ARM 64-bit, Raspberry Pi 4/5 | burzblog-v2.0.0-linux-arm64 |
| Raspberry Pi with a 32-bit OS | burzblog-v2.0.0-linux-arm |
| macOS (Apple silicon) | burzblog-v2.0.0-darwin-arm64 |
| macOS (Intel) | burzblog-v2.0.0-darwin-amd64 |
| Windows | burzblog-v2.0.0-windows-amd64.exe |
chmod +x burzblog-v2.0.0-linux-amd64
sudo mv burzblog-v2.0.0-linux-amd64 /usr/local/bin/burzblog
burzblog login https://your-blog-addressCheck a download with sha256sum -c SHA256SUMS-v2.0.0 --ignore-missing. The same file runs the server (burzblog serve); see docs/self-hosting.md.
Upgrading from 1.0.0
This is a breaking release. Content now lives in the database instead of files. Bring existing posts in with burzblog push <slug>.md. Full details are in CHANGELOG.md.
Verification
task check: Go race tests pass in all 7 packages, 141 Vitest unit tests pass, and Playwright reports 12 passed and 2 skipped.task docker:check: the container smoke test passes all 10 checks.