Repository navigation
Releases: aneeshsathe/blygger-desktop
Release list
Burrow 0.13.1
Fixed
- Labels render as Blygger Studio 0.48 renders them. The preview now matches studio 0.48.0, which fixed six label bugs that Burrow had copied on purpose from 0.47.0: a label in a generated block is escaped once (not
<), a backtick in a label no longer turns a later link on the line into plain text, a&in a labelled link inside a web address is escaped in the link, a label made of]characters can no longer cut a link short, and choosing a passage in a stub keeps the quote's note (![[id | note]]).
This build isn't notarized by Apple. The easiest way to install it is the
one-line Terminal installer in the README, which Gatekeeper doesn't block.
If you download it in a browser, macOS 15 and later say "Burrow" Not
Opened. Try opening it once, then click Open Anyway in System Settings ›
Privacy & Security, or run
xattr -dr com.apple.quarantine /Applications/Burrow.app.
Windows (x64): unzip Burrow-windows-x64.zip anywhere and run
Burrow\blygger.exe. The build isn't code-signed yet, so SmartScreen asks
the first time: choose More info, then Run anyway. It needs the
Microsoft Edge WebView2 Runtime (part of Windows 11). The Windows build
doesn't update itself yet: download new versions from this page.
Burrow 0.13.0
Changed
- Labelled links need Blygger Studio 0.47. The
[[picker writes labelled links,[[id | label]], which an older studio shows as literal text or a broken link. On an older blyg everything syncs as usual except posts whose text has a labelled link or quote (outside code, generated text included): they wait until the blyg is updated or the labels go. Publishing one offers ⏎ to write the links bare ([[id]]) and publish. Withdraw and pin always go, since they don't send the text. On such a blyg the pickers write the bare form. Burrow says "Your blyg needs updating" once, on connecting or at launch, keeps a status-bar notice with an Update your blyg link, shows the same in About, and a waiting post's pill says why on hover. Burrow reads the version from the blyg'sblyg.jsongenerator. For another server it checks whether search results carry alabel, and when it can't tell, it doesn't hold anything back. The "older than 0.40" limits sheet and its About section are gone, since every blyg that would have seen them now gets this notice. Server requirements. - The
[[and![[pickers write labelled links. A pick writes[[id | label]](a quote,![[id | note]]), studio 0.47's grammar: the label is the link's text on the published page, so editing the words after|renames the link, and a quote's note is only for you. The label is the post's heading, else its title, else a quoted excerpt. Picking a post with no heading labels the link with its title,[[id | Title]], rather than a quoted excerpt (a deliberate difference from the studio). Quote into a thread from Reading writes the labelled form too. The preview renders labels as studio 0.47.0 does. - The
[[and![[pickers lead each row with the post's title again; a link's row adds "links as “…”" when the label differs from the title. - The picker footer says what a pick writes: "⏎ inserts [[… | label]]", "⏎ inserts ![[… | note]] on its own line".
- Hovering "unpublished edits" in the status bar, or the edit mark in Posts, says how to publish (⌘⏎) or discard (⌥⌘Z) them.
- Unpublished edits have their own mark in Posts (
marker.edited): a dot in the theme's edited colour, Δ in Fortress. The published and pinned marks have tooltips. - Fortress's status bar shows your last two weeks of posts as a block-character strip instead of the z-level. Themes naming z-level still load, with a warning.
Added
- Discard changes. A published post with unpublished edits can go back to the version it has published: ⌥⌘Z, Post › Discard Changes…, the toolbar's Discard, or "Discard changes…" on the current version in ⌘Y. A sheet asks first, then "Back to vN as published". The public post doesn't change. The toolbar's Discard button is an eraser.
- Your own posts in Reading and Posts. "Your blyg" is a Reading source: your published posts sit in All, Today and the stream by date, and alone under Your blyg, and they are never unread or counted. A published post in Posts has a row of chips above the text: Reply · new stub (⌥⌘R), Quote into a thread (⌥⌘Q) and Link post · new fragment (⌥⌘L), also in the Post menu. Your own post forks only from ⌘Y, with Fork this pin on a pinned version.
- Windows wording in newer app text. Lineage, the stub bar, the sources pane, Subscriptions, the stream, the notes drawer and About say Windows keys and "this PC" where they said ⌘ or "this Mac".
- Windows: Discard changes has no default key (Ctrl+Alt+Z is AltGr+Z). Use the Post menu or the toolbar.
Fixed
- Fixed a run of spaces in the "still marked unpublished" toast.
This build isn't notarized by Apple. The easiest way to install it is the
one-line Terminal installer in the README, which Gatekeeper doesn't block.
If you download it in a browser, macOS 15 and later say "Burrow" Not
Opened. Try opening it once, then click Open Anyway in System Settings ›
Privacy & Security, or run
xattr -dr com.apple.quarantine /Applications/Burrow.app.
Windows (x64): unzip Burrow-windows-x64.zip anywhere and run
Burrow\blygger.exe. The build isn't code-signed yet, so SmartScreen asks
the first time: choose More info, then Run anyway. It needs the
Microsoft Edge WebView2 Runtime (part of Windows 11). The Windows build
doesn't update itself yet: download new versions from this page.
Burrow 0.12.0
Changed
- Works with a stock blyg. Burrow now runs fully against an unmodified Blygger Studio (0.40 and later, checked against 0.46.1), with no server patches. Reading syncs from the studio's own imported feed (
GET /api/reading/imported, paged by cursor), read marks sync through its read-state routes, and lineage, citations, the full author and disclosed generation sources come with each post. Servers running the older owner-API extensions keep working. Server requirements anddocs/SERVER.mddescribe what's needed. - Sign in with a studio token or the browser. The server owner token from the old extensions is gone from sign-in. Use Sign in with browser, or a token from Studio → More → Client access (allow
reading:stateso read marks sync). If your blyg dropped the old owner token, Burrow opens the sign-in sheet after updating; sign in once and everything queued is sent. - Preview matches the studio 0.46.1 renderer. Embeds are no longer baked into the HTML (the poster still shows), and
[TK],[=]and[/TK]inside code anywhere in a scope are plain text (studio 0.41.1). - "Drew on this". A mention whose relation is
source(a post that used yours as a generation source) shows as "drew on this".
Added
- Publish warns about quotes in generated text. If a TK block's output holds an own-line
![[id]]that its instruction didn't name, the publish sheet says so before you publish: publishing turns it into a quote and notifies that blyg. Preview now shows it as the quote publish will make (decision #60). - Generated text is marked as the publisher's own claim. In the Reader, text a blyg marks as generated gets a tooltip, and the post ends with a short note that the disclosure is the publisher's own and isn't verified.
Fixed
- Reading sync against studio 0.40 and later. Burrow asked for 500 rows a page in the old shape, which a stock studio refuses, so reading never synced there.
- A refused sign-in stops syncing cleanly. When the blyg rejects Burrow's token (for example after a server change), Burrow stops sending and pulling, keeps every queued change, and opens the sign-in sheet with an explanation, instead of retrying.
- Authors and citations come through whole. The full author object is kept, and
citedsurvives on replies (stub_of) and remote references.
This build isn't notarized by Apple. The easiest way to install it is the
one-line Terminal installer in the README, which Gatekeeper doesn't block.
If you download it in a browser, macOS 15 and later say "Burrow" Not
Opened. Try opening it once, then click Open Anyway in System Settings ›
Privacy & Security, or run
xattr -dr com.apple.quarantine /Applications/Burrow.app.
Windows (x64): unzip Burrow-windows-x64.zip anywhere and run
Burrow\blygger.exe. The build isn't code-signed yet, so SmartScreen asks
the first time: choose More info, then Run anyway. It needs the
Microsoft Edge WebView2 Runtime (part of Windows 11). The Windows build
doesn't update itself yet: download new versions from this page.
Burrow 0.11.0
Added
- Turn an extension off. Manage extensions (⇧⌘P › Manage extensions…) has Turn off for any extension that's on, whatever state it's in. It stops the extension and keeps what you allowed, so Turn on brings it back as it was. Forget permissions turns it off and clears what you allowed, so the next Turn on asks again. The consent sheet gains ⌘⌫ turn off, so you can back out the moment you see what an extension asks for.
- Several notes folders. markdown-notes can open any number of folders (Obsidian vaults, say). The Notes tab in the notes drawer has a chip for each folder, plus Add folder… and Remove from Burrow (which only removes the folder from Burrow and never touches your files), and remembers the folder you were in. Settings › Notes folders lists them, and you can add several at once. ⌘K's notes chip searches every folder. In the config they are
vault=for the first andvault-<label>=for each one after. - Reading time and Inspect, two bundled extensions ported from Blygger Studio 0.39, both off until you turn them on. reading-time puts an estimated reading time at the end of each post's byline in the Stream and the Reader ("· 4 min"; hover for the word count), counted the way the studio counts. inspect adds a ⋯ chip to each post you read, with an Inspect sheet showing the record Burrow holds (ids, versions, references, hashes) and its JSON with the bodies left out, with Copy JSON.
- Extensions can add to what you read. Two new slots in the extension protocol, behind the
reading.readpermission: a short marker at the end of each post's byline, and rows in a post's ⋯ sheet. See Extensions. - Import and export subscriptions as OPML. Blyg › Import Subscriptions from OPML… (or Import OPML… on the Subscriptions screen) reads an export from another feed reader, lists its feeds with the ones you already follow marked, and subscribes your blyg to the ones you tick, at a steady pace, filing them in an Imported feeds folder in the Reader, with a summary and Retry for any that fail. Imported feeds stay out of your public blogroll. Blyg › Export Subscriptions as OPML… saves all of them.
blygger +import-opmland+export-opmldo the same from a terminal. - Community extensions. The docs now list extensions other people have made, from
extensions/community.toml; submit yours with a pull request or the issue form. Burrow's maintainers don't review or vouch for them: an extension runs with your user's rights, so read its source and use it at your own risk.
Changed
- The lineage glyph shows counts. Beside the kinds, the glyph shows how many posts a post draws on and how many known here draw on it ("2 · 3"). The ⌘J view and the action ring show the same numbers, by kind. On a blyg that runs the studio's lineage-glyph extension, Burrow uses the blyg's own counts; elsewhere it works them out from what it holds, using the same rules. Opening a post from ⌘J marks it read, as opening it from the list does.
- Read state needs the
reading:statepermission (Blygger Studio 0.39 moved marking posts read and unread there). Burrow now asks for it. After updating, sign in again once (Burrow › Disconnect…, then Sign in with browser, and allow every permission) so read marks sync between your Macs. Until then they're kept on this Mac and wait to be sent, and everything else syncs as usual. Studios before 0.39 are unaffected. - Cross-posting stays beside your work. A cross-post run opens the browser in the usual foldable side pane, not over the whole window, and its Preview and Post sheets sit beside the page so you can see it. Fold the pane mid-run and the run carries on ("macro running · show pane" in the status bar). The pane unfolds itself before Burrow types into the page.
- The tour teaches what's new. After an update, "Show me what's new" starts at the first step for that release (NEW IN 0.11.0), and the tour now walks through extensions, Turn off, notes folders, reading time and inspect, OPML import, ⌘N, ✂ Clip and cross-post, on sample data, without changing your config. It also covers what 0.10.0 added, which its tour skipped.
- markdown-notes no longer assumes
~/Notes. With no folder chosen it asks only to show messages, and the Notes tab offers Choose a folder…, so the consent sheet only ever names folders you picked. A config withvault=works as before.
This build isn't notarized by Apple. The easiest way to install it is the
one-line Terminal installer in the README, which Gatekeeper doesn't block.
If you download it in a browser, macOS 15 and later say "Burrow" Not
Opened. Try opening it once, then click Open Anyway in System Settings ›
Privacy & Security, or run
xattr -dr com.apple.quarantine /Applications/Burrow.app.
Windows (x64): unzip Burrow-windows-x64.zip anywhere and run
Burrow\blygger.exe. The build isn't code-signed yet, so SmartScreen asks
the first time: choose More info, then Run anyway. It needs the
Microsoft Edge WebView2 Runtime (part of Windows 11). The Windows build
doesn't update itself yet: download new versions from this page.
Burrow 0.10.0
Added
- Burrow runs on Windows. A 64-bit Windows build, from the same code, ships with every release as
Burrow-<version>-windows-x64.zip: unzip it and runblygger.exe. Shortcuts use Ctrl where the Mac uses ⌘ (Versions is Ctrl+Shift+Y), a Menu button stands in for the menu bar, posts and the editor show in WebView2, and sign-ins are kept in Windows Credential Manager. It doesn't update itself yet, the browser pane is macOS only, and the build isn't code-signed. See Windows. The port is by Patrick Atwater (@patwater); thank you! - CI checks every change on Windows too (fmt, clippy, tests and a release build).
- Extensions. Burrow can run extensions: separate programs that speak a small JSON-RPC protocol over stdio (BXP, documented in Extensions). Nothing runs until you turn an extension on with
extension = <name>, and the first time it starts a sheet asks for each capability in plain words; what you allow is written to your config asextension-allowlines. An extension never sees your token and has no way to publish, withdraw or delete; reading files or going online is its own promise, which the sheet says. ⇧⌘P opens the Extensions palette (its commands, plus Manage extensions…), andblygger +list-extensionsshows what's installed, on and allowed. - markdown-notes, the first bundled extension, opens a folder of Markdown notes (an Obsidian vault, say) in a Notes tab of the notes drawer: browse, search, open, edit and save a note (its frontmatter is kept as it is, and a note changed on disk is never overwritten), and make new ones. Quote into post or Copy verbatim puts the selection or the whole note in your draft, Save selection to notes goes the other way, and ⌘K's quote picker gains a notes chip. It adds nothing to your notes and works with no blyg connected. Choose the folder in Settings › Markdown notes folder….
- Clip page (✂ Clip in the browser pane, ⇧⌘C): the selection, or the page's main article, becomes a quote in your draft with its title and link.
- cross-post, a second bundled extension, puts a published post on Substack Notes: its opening paragraph and the link, at most 280 characters (
max-chars,template). It runs in the browser pane where you signed in by hand, shows the text to edit and then what the notes box holds, and posts only when you click Post. It's off untilextension = cross-post, needsextension-allow = cross-post browser.automate:https://substack.com, and its recipe was checked against the live site on 2026-10-09.blygger +list-extensionsnow lists each extension's sites and macros, with when the macro was last checked. See Extensions.
Changed
- ⌘N opens a new post (Post › New Post, was New Draft). Instead of putting you in the search, it opens an empty editor with the caret in it, and leaves your search and the list as they were. What you type is a scratch note, saved on this Mac as you go ("New note · saved locally · ⌘D draft · ⌘⏎ publish"); ⌘D makes it a draft and ⌘⏎ publishes it. Leave without typing and nothing is kept.
new-note = draftmakes ⌘N start a draft instead; the omnibar's ⏎-to-create is unchanged. - The preview matches studio 0.36.1 byte for byte. An
[[id]]link to a post that opens with a heading is labelled with that heading, without quotes; other links still show a quoted excerpt. A TK scope at the very start or end of a post shows as a block even with a stray newline or spaces between it and the edge. A link to, or quote of, a post whose blyg gives it a full permalink (a templated blyg) goes to that permalink. The Reader labels links in a post the same way.
This build isn't notarized by Apple. The easiest way to install it is the
one-line Terminal installer in the README, which Gatekeeper doesn't block.
If you download it in a browser, macOS 15 and later say "Burrow" Not
Opened. Try opening it once, then click Open Anyway in System Settings ›
Privacy & Security, or run
xattr -dr com.apple.quarantine /Applications/Burrow.app.
Windows (x64): unzip Burrow-windows-x64.zip anywhere and run
Burrow\blygger.exe. The build isn't code-signed yet, so SmartScreen asks
the first time: choose More info, then Run anyway. It needs the
Microsoft Edge WebView2 Runtime (part of Windows 11). The Windows build
doesn't update itself yet: download new versions from this page.
Burrow 0.9.0
Changed
- Burrow follows blygger-studio 0.32's owner API. The tests check against 0.32.1's
openapi.json, and the end-to-end tests run against a real local studio 0.32.1. - Sign in with browser. On studio 0.28 or later, connecting opens your studio's sign-in in the browser and asks you to allow Burrow (OAuth). Burrow keeps the grant in your Keychain and renews it; after 30 days, or if you revoke it under Client access, it asks you to sign in again. An API token from the studio's Client access page works too, as does a server's own owner token; the password stays for older studios. Studio 0.28 signed every session out, so a password sign-in has to happen once more.
- Reply is the one response action. A stub starts quoting the whole post; in the stub, quote a passage instead shows the post and the passage you select becomes the quote, and further passages go in as their own quotes. "Reply with this" is gone from the selection pill; "Quote in draft" (⇧⌘D) stays, and into a stub of the same post it sets or adds a passage.
- Cheaper, quicker sync. On studio 0.32, Burrow asks the blyg what changed before reading anything, so a pull with nothing new is one small request, and it checks every 15 seconds.
- AI disclosure works on any studio 0.28 or later. Text generated in Burrow is recorded with the post through the studio's own API; the Worker extension for it is only a fallback now.
- Generated text from your blyg's own AI goes straight into the editor.
- The preview matches studio 0.32.2 byte for byte again, including its sanitizer for threads. A TK scope's sources are the posts its instruction names, not ones its output adds, as studio 0.32.2 records them.
- The stock-server notice is shorter. On a current studio, only read state across Macs needs an extension; AI disclosure (0.28), removing deleted images (0.26) and replies and forks (0.18) are upstream now.
Added
- Mark read and unread, several at once. In the Reader, ⌘-click, ⇧-click and ⌘A pick posts; r and u (or the right-click menu) mark them read or unread. Marks sync in batches; unread syncs on a server that supports clearing read state, and otherwise stays on this Mac.
- Subscription names follow their source (studio 0.30). Rename… gives one your own name, and Use the Blyg's Own Name hands it back. Check Now checks one; ⇧⌘R (Blyg › Check All Feeds Now) has your blyg check them all.
- Highlight generated text (studio 0.27): set your blyg's default in its site settings and override it per post from the ⌘G palette (H cycles default, on, off). The preview shows it as the page will.
- A full-text picker for
[[and![[. Every word of your published posts and the blyg posts you read, searched on your Mac, filtered by source and blyg, newest or oldest first. Typing[[now opens it for links too. The blyg's picker typing setting chooses whether you type in the editor or in the picker.
Fixed
- A change the server rate-limits is no longer dropped. Studio 0.28's work budgets answer 429; Burrow waits as asked and sends it then. Typing saves at most every three seconds per post.
- A change your token lacks the access for waits instead of being dropped, and Burrow says which permission it needs.
- Images in drafts show again on studio 0.28 or later, which keeps unpublished uploads private: Burrow reads them as you, from your blyg only.
This build isn't notarized by Apple. The easiest way to install it is the
one-line Terminal installer in the README, which Gatekeeper doesn't block.
If you download it in a browser, macOS 15 and later say "Burrow" Not
Opened. Try opening it once, then click Open Anyway in System Settings ›
Privacy & Security, or run
xattr -dr com.apple.quarantine /Applications/Burrow.app.
Burrow 0.8.2
Fixed
- A long title no longer runs past the hexagon in the lineage view: it fits two lines, broken between words.
This build isn't notarized by Apple. The easiest way to install it is the
one-line Terminal installer in the README, which Gatekeeper doesn't block.
If you download it in a browser, macOS 15 and later say "Burrow" Not
Opened. Try opening it once, then click Open Anyway in System Settings ›
Privacy & Security, or run
xattr -dr com.apple.quarantine /Applications/Burrow.app.
Burrow 0.8.1
Fixed
- The "What's new" card and the lineage view's side panel wrap their text instead of running past the edge.
- The lineage glyph shows in Reader mode too: on each list row and in the open post's header line.
This build isn't notarized by Apple. The easiest way to install it is the
one-line Terminal installer in the README, which Gatekeeper doesn't block.
If you download it in a browser, macOS 15 and later say "Burrow" Not
Opened. Try opening it once, then click Open Anyway in System Settings ›
Privacy & Security, or run
xattr -dr com.apple.quarantine /Applications/Burrow.app.
Burrow 0.8.0
Changed
- Burrow follows blygger-studio 0.26's owner API. Nothing it used changed; the tests now check against 0.26's
openapi.json. - Who a post replies to, or forks, comes with the post from studio 0.18 or later (and from the reading rows of a server with Burrow's extensions that say
lineage: true), so Burrow no longer fetches each post's own document for it. Older servers work as before. - One response per post. A reply that also quotes the post it replies to is listed once, as a reply; a fork outranks both. A reply or quote of a passage says so ("stubbed a passage of this").
- Your own posts count as responses to the posts they quote, reply to or fork.
Added
- Lineage. A glyph beside each post's name in the stream shows which kinds of post it draws on and which draw on it (fork, reply, quote), never how many; it replaces the "↩" marker. ⌘J (Post › Lineage…) opens the post's lineage: what it draws on above, its responses below, walkable one step at a time with ⏎ and ⌫.
- Actions on a ring. Space on the post in the middle of the lineage view opens fork, reply, quote, link post, versions and open in fixed places (the web Studio's layout). A letter previews what the action would make and what it means for the author; ⏎ does it.
- What's new. The first launch after an update opens the tutorial on what changed, with the choice to start at the new parts, take the whole tour, or skip it. The tour teaches lineage and the ring.
This build isn't notarized by Apple. The easiest way to install it is the
one-line Terminal installer in the README, which Gatekeeper doesn't block.
If you download it in a browser, macOS 15 and later say "Burrow" Not
Opened. Try opening it once, then click Open Anyway in System Settings ›
Privacy & Security, or run
xattr -dr com.apple.quarantine /Applications/Burrow.app.
Burrow 0.7.0
Changed
- Burrow follows blygger-studio's documented owner API (studio 0.9 to 0.11). Upstream redesigned
/apias an OpenAPI contract and dropped the old routes, so saves, forks, pins, response settings, subscription pause and resume, mention hiding and site settings now use the new routes (PATCH,POST /api/items {mode},PUT …/versions/:v/pin), and lists are read page by page. Burrow now needs studio 0.9 or later; 0.11 is current. - The reading list loads from
/api/reading/imported; upstream's/api/readingis now a different resource. Permalinks follow your blyg's site URL when it has one. - Sign in with your studio password, so any blygger-studio works. The Connect sheet takes the password you use in your blyg's studio (or, as before, the owner token). The password is kept in your Keychain; Burrow signs in again by itself when the 30-day session ends.
- A stock server is fully usable. Without Burrow's server extensions, the reading list is built from upstream's own routes. The first time Burrow meets such a server it explains what's limited (AI disclosure for text generated in Burrow, read state across Macs, removing deleted images), and the About window lists it too.
- Who a post replies to, or forks, shows in the reader for posts from other blygs: Burrow fetches it from the post's own blyg, a few posts per sync.
- An outdated server gets a clear message, not damage. If your blyg's server is older than studio 0.9, Burrow says so when it starts, keeps a status-bar notice with a How to update link, and pushes nothing until the server is updated. Your edits wait and go up afterwards. The connect sheet names the problem too.
- Changing a draft between fragment and thread keeps the same draft on the server instead of making a new one.
- The tests check every request Burrow sends, and every reply they fake, against upstream's
openapi.json, and the routes upstream lacks against a contract of their own.
Fixed
- A blyg that lives under a path (
https://example.com/blyg) now connects: its API is at the host root, which Burrow used to miss. - A quoted post from another blyg shows its images in your draft's preview. Posts published before studio 0.11 use relative image paths, which used to resolve against your own blyg.
docs/SERVER.mdnow lists only what upstream still lacks: bearer-token sign-in, the reader's reading rows, client-recorded AI provenance, read-state sync and attachment removal.
This build isn't notarized by Apple. The easiest way to install it is the
one-line Terminal installer in the README, which Gatekeeper doesn't block.
If you download it in a browser, macOS 15 and later say "Burrow" Not
Opened. Try opening it once, then click Open Anyway in System Settings ›
Privacy & Security, or run
xattr -dr com.apple.quarantine /Applications/Burrow.app.