<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:bloom="https://runbloom.app/xml-namespaces/bloom" xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle" version="2.0">
    <channel>
        <title>Bloom</title>
        <description>Updates for Bloom</description>
        <language>en</language>
        <link>https://downloads.runbloom.app/appcast.xml</link>
        <item>
            <title>1.10.0</title>
            <link>https://github.com/spatie/bloom/releases/tag/v1.10.0</link>
            <pubDate>Thu, 10 Sep 2026 10:27:54 +0000</pubDate>
            <sparkle:version>1288</sparkle:version>
            <sparkle:shortVersionString>1.10.0</sparkle:shortVersionString>
            <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
            <description>&lt;ul dir="auto"&gt;
&lt;li&gt;Chats can now discover and read other chats in the same workspace through MCP, including long conversations, without switching tabs.&lt;/li&gt;
&lt;li&gt;Asking an agent to “add a pane” or “split pane in this chat” now opens a new chat to the right of the conversation receiving the request. Clearer tool descriptions distinguish panes from separate tabs, and changing focus cannot redirect the split.&lt;/li&gt;
&lt;li&gt;Improved the source editor with remembered file positions, Back and Forward navigation, file and line links, workspace and diff search, symbol navigation, and Go to Definition through installed language servers.&lt;/li&gt;
&lt;li&gt;Added editing commands, better highlighting for mixed-language files, and a way to add selected code to a chat draft. Unsaved edits are preserved when files change on disk, with a comparison before resolving conflicts.&lt;/li&gt;
&lt;/ul&gt;</description>
            <enclosure url="https://downloads.runbloom.app/Bloom-1.10.0.zip" length="20404600" type="application/octet-stream" sparkle:edSignature="YoE8bHL8VtpHyKKMgQVnQEWhjC7ljgO2UJ6QPYLbRuRsKxLuBqVYvdM5Vwtz4/LD52JmL1b2iGM7rOwFN08DAQ==" />
            <bloom:diskImage url="https://downloads.runbloom.app/Bloom-1.10.0.dmg" length="23127342" type="application/x-apple-diskimage" />
        </item>
        <item>
            <title>1.9.1</title>
            <link>https://github.com/spatie/bloom/releases/tag/v1.9.1</link>
            <pubDate>Wed, 09 Sep 2026 22:51:28 +0000</pubDate>
            <sparkle:version>1286</sparkle:version>
            <sparkle:shortVersionString>1.9.1</sparkle:shortVersionString>
            <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
            <description>&lt;ul dir="auto"&gt;
&lt;li&gt;Fixed clicking a file in the inspector landing on the wrong diff as other diffs load or the layout changes. The selected file now stays in place until you scroll or interact with the diff.&lt;/li&gt;
&lt;li&gt;Fixed a crash when viewing diffs containing differently encoded versions of the same Unicode text, such as accented characters.&lt;/li&gt;
&lt;/ul&gt;</description>
            <enclosure url="https://downloads.runbloom.app/Bloom-1.9.1.zip" length="20075442" type="application/octet-stream" sparkle:edSignature="3ZXuvjb853nFXTw1jYIzCztOchAaoEk/0r0k9Q0OVfyicgRQN+BjMkRcTBwUKutn5+N2hI2HTWXNHe8fvRwRAQ==" />
            <bloom:diskImage url="https://downloads.runbloom.app/Bloom-1.9.1.dmg" length="22751879" type="application/x-apple-diskimage" />
        </item>
        <item>
            <title>1.9.0</title>
            <link>https://github.com/spatie/bloom/releases/tag/v1.9.0</link>
            <pubDate>Wed, 09 Sep 2026 18:51:33 +0000</pubDate>
            <sparkle:version>1284</sparkle:version>
            <sparkle:shortVersionString>1.9.0</sparkle:shortVersionString>
            <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
            <description>&lt;ul dir="auto"&gt;
&lt;li&gt;Ask a side question with &lt;code class="notranslate"&gt;/btw&lt;/code&gt; while the main agent keeps working. The floating conversation starts with context from your main chat, supports follow-ups, and can be kept as a regular chat tab.&lt;/li&gt;
&lt;li&gt;Select an area in the built-in browser, add a comment, and send the screenshot feedback to your agent without leaving the page. Comments can be edited or removed, and attachment previews show the screenshot and its comment.&lt;/li&gt;
&lt;li&gt;Assistant messages now have subtle dividers to make conversations easier to scan.&lt;/li&gt;
&lt;li&gt;Fixed copying Codex answers, including answers in saved conversations.&lt;/li&gt;
&lt;li&gt;Fixed project reordering when other projects are hidden.&lt;/li&gt;
&lt;/ul&gt;</description>
            <enclosure url="https://downloads.runbloom.app/Bloom-1.9.0.zip" length="20064341" type="application/octet-stream" sparkle:edSignature="+wpQEGvQ6sfYUXGrUeU2gxuMytkx5zHl25pG0uQmC3uCgogV33Ht6ekV41oUKUo+SlMTTmZOZswn8DXV8Ox3Cg==" />
            <bloom:diskImage url="https://downloads.runbloom.app/Bloom-1.9.0.dmg" length="22731315" type="application/x-apple-diskimage" />
        </item>
        <item>
            <title>1.8.1</title>
            <link>https://github.com/spatie/bloom/releases/tag/v1.8.1</link>
            <pubDate>Wed, 09 Sep 2026 15:29:27 +0000</pubDate>
            <sparkle:version>1280</sparkle:version>
            <sparkle:shortVersionString>1.8.1</sparkle:shortVersionString>
            <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
            <description>&lt;ul dir="auto"&gt;
&lt;li&gt;Request pull request creation, pushes, merges and conflict fixes while an agent is working. Bloom delivers these through the agent's existing message queue or mid-turn delivery.&lt;/li&gt;
&lt;li&gt;Find projects more easily in the New Workspace menu, with visible projects first, hidden projects in a separate group, and each group sorted alphabetically.&lt;/li&gt;
&lt;li&gt;See newly saved run scripts immediately in Workspace &amp;gt; Run, without switching workspaces. Changes to shared home settings also refresh affected projects.&lt;/li&gt;
&lt;li&gt;Remove the duplicate Merge command from the Workspace menu. Merging remains available in the pull request panel.&lt;/li&gt;
&lt;/ul&gt;</description>
            <enclosure url="https://downloads.runbloom.app/Bloom-1.8.1.zip" length="19786192" type="application/octet-stream" sparkle:edSignature="iMf9zO4RVLnOnqP0C/P4s60C+xHHuUhJ4xma/CGDQKTidYynfgvIsAB4xcVuGghkFVyTdxbJ0LJcHgQDhUhkDA==" />
            <bloom:diskImage url="https://downloads.runbloom.app/Bloom-1.8.1.dmg" length="22395260" type="application/x-apple-diskimage" />
        </item>
        <item>
            <title>1.8.0</title>
            <link>https://github.com/spatie/bloom/releases/tag/v1.8.0</link>
            <pubDate>Wed, 09 Sep 2026 13:29:30 +0000</pubDate>
            <sparkle:version>1277</sparkle:version>
            <sparkle:shortVersionString>1.8.0</sparkle:shortVersionString>
            <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
            <description>&lt;ul dir="auto"&gt;
&lt;li&gt;Preview websites at phone, tablet, laptop and desktop sizes inside Bloom's browser pane.&lt;/li&gt;
&lt;li&gt;Enter custom dimensions, save sizes for the tab, rotate the viewport or drag its edges with resize cursors.&lt;/li&gt;
&lt;li&gt;Choose Fit to see a larger viewport inside the pane, or 100% to inspect it at actual size.&lt;/li&gt;
&lt;li&gt;Open the size controls without changing the page, and restore the full browser pane with one click. The page stays loaded and preview settings survive reloads and tab switches.&lt;/li&gt;
&lt;/ul&gt;</description>
            <enclosure url="https://downloads.runbloom.app/Bloom-1.8.0.zip" length="19776947" type="application/octet-stream" sparkle:edSignature="aL9+w4kt8cK7HynAywlpVXA26O4tb0Klyo57CANJMX3fR11BThqsEdXenJHGQheev8RpE1d7nGHtLXlL7YzeDA==" />
            <bloom:diskImage url="https://downloads.runbloom.app/Bloom-1.8.0.dmg" length="22387105" type="application/x-apple-diskimage" />
        </item>
        <item>
            <title>1.7.0</title>
            <link>https://github.com/spatie/bloom/releases/tag/v1.7.0</link>
            <pubDate>Wed, 09 Sep 2026 10:28:45 +0000</pubDate>
            <sparkle:version>1276</sparkle:version>
            <sparkle:shortVersionString>1.7.0</sparkle:shortVersionString>
            <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
            <description>&lt;ul dir="auto"&gt;
&lt;li&gt;Press Cmd+P to search files in the current workspace and open them in Bloom.&lt;/li&gt;
&lt;li&gt;Type &lt;code class="notranslate"&gt;/close&lt;/code&gt; to archive the current chat and replace it with a fresh one using the same model settings, keeping its tab position and split pane.&lt;/li&gt;
&lt;li&gt;Ask Bloom now uses Bloom's own tools by default when you ask it to create or manage projects and workspaces.&lt;/li&gt;
&lt;li&gt;Sign in to agents from an embedded terminal in Bloom, with retry, cancellation and a command you can copy. Claude sign-in now uses the correct authentication command.&lt;/li&gt;
&lt;/ul&gt;</description>
            <enclosure url="https://downloads.runbloom.app/Bloom-1.7.0.zip" length="19692001" type="application/octet-stream" sparkle:edSignature="vxBPzW+k9iD7rgSQjj3cGecsfkdwAdtawU7lO+LEth/ZeqhjVDCvnfIEmfRzoiBvYaiSaWLqc0sse7pHWwCMAA==" />
            <bloom:diskImage url="https://downloads.runbloom.app/Bloom-1.7.0.dmg" length="22306943" type="application/x-apple-diskimage" />
        </item>
        <item>
            <title>1.6.0</title>
            <link>https://github.com/spatie/bloom/releases/tag/v1.6.0</link>
            <pubDate>Wed, 09 Sep 2026 08:33:27 +0000</pubDate>
            <sparkle:version>1269</sparkle:version>
            <sparkle:shortVersionString>1.6.0</sparkle:shortVersionString>
            <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
            <description>&lt;p dir="auto"&gt;Bloom 1.6.0 adds continuous file review, more flexible project setup, and persistent Ask Bloom conversation tabs.&lt;/p&gt;
&lt;ul dir="auto"&gt;
&lt;li&gt;Review every changed file in one view. All files is now the first and default review mode, with files ordered exactly like the expanded tree and root files after folders.&lt;/li&gt;
&lt;li&gt;Keep filenames visible while scrolling, with the inspector selection following the file at the top. Collapse individual files and jump to a file from the tree.&lt;/li&gt;
&lt;li&gt;Wrap long lines consistently in unified and side-by-side diffs. Reduce layout work during scrolling while preserving text selection, keyboard comments, and correct comment targets after refreshes.&lt;/li&gt;
&lt;li&gt;Simplify review controls: use the All files / Selected file picker, put Edit file first in the file menu, and remove the duplicate review button and Share the diff action.&lt;/li&gt;
&lt;li&gt;Complete project names and paths automatically, choose project search folders, and set the working directory used by Ask Bloom.&lt;/li&gt;
&lt;li&gt;Keep multiple Ask Bloom conversations in tabs. Switching tabs keeps agents running; closing a tab archives that conversation.&lt;/li&gt;
&lt;li&gt;Configure where a project's browser opens, including Herd or Valet addresses and URLs supplied by setup scripts.&lt;/li&gt;
&lt;li&gt;Open an existing branch directly from the New Workspace screen.&lt;/li&gt;
&lt;li&gt;Let a workspace's own agent request that workspace's archive after its turn finishes, subject to the existing safety checks.&lt;/li&gt;
&lt;li&gt;Preserve input focus across background windows and let newer clicks override queued terminal focus requests.&lt;/li&gt;
&lt;li&gt;Keep workspace tools connected when agent runners are reused.&lt;/li&gt;
&lt;li&gt;Close the update window correctly when installation is postponed.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 dir="auto"&gt;What's Changed&lt;/h2&gt;
&lt;ul dir="auto"&gt;
&lt;li&gt;Reduce delays when opening diff comments by &lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/freekmurze/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/freekmurze"&gt;@freekmurze&lt;/a&gt; in &lt;a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5388998710" data-permission-text="Title is private" data-url="https://github.com/spatie/bloom/issues/165" data-hovercard-type="pull_request" data-hovercard-url="/spatie/bloom/pull/165/hovercard" href="https://github.com/spatie/bloom/pull/165"&gt;#165&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Let a workspace's own agent ask for its workspace to be archived by &lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/freekmurze/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/freekmurze"&gt;@freekmurze&lt;/a&gt; in &lt;a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5390731018" data-permission-text="Title is private" data-url="https://github.com/spatie/bloom/issues/167" data-hovercard-type="pull_request" data-hovercard-url="/spatie/bloom/pull/167/hovercard" href="https://github.com/spatie/bloom/pull/167"&gt;#167&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Make opening existing branches easier to discover by &lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/freekmurze/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/freekmurze"&gt;@freekmurze&lt;/a&gt; in &lt;a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5390841888" data-permission-text="Title is private" data-url="https://github.com/spatie/bloom/issues/168" data-hovercard-type="pull_request" data-hovercard-url="/spatie/bloom/pull/168/hovercard" href="https://github.com/spatie/bloom/pull/168"&gt;#168&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Add project autocomplete and Ask Bloom tabs by &lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/freekmurze/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/freekmurze"&gt;@freekmurze&lt;/a&gt; in &lt;a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5391003185" data-permission-text="Title is private" data-url="https://github.com/spatie/bloom/issues/169" data-hovercard-type="pull_request" data-hovercard-url="/spatie/bloom/pull/169/hovercard" href="https://github.com/spatie/bloom/pull/169"&gt;#169&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Make all-files review faster and easier to navigate by &lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/freekmurze/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/freekmurze"&gt;@freekmurze&lt;/a&gt; in &lt;a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5391569428" data-permission-text="Title is private" data-url="https://github.com/spatie/bloom/issues/170" data-hovercard-type="pull_request" data-hovercard-url="/spatie/bloom/pull/170/hovercard" href="https://github.com/spatie/bloom/pull/170"&gt;#170&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Let a project say where its browser pane opens by &lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tdrayson/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tdrayson"&gt;@tdrayson&lt;/a&gt; in &lt;a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5389374583" data-permission-text="Title is private" data-url="https://github.com/spatie/bloom/issues/166" data-hovercard-type="pull_request" data-hovercard-url="/spatie/bloom/pull/166/hovercard" href="https://github.com/spatie/bloom/pull/166"&gt;#166&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Smooth all-file review scrolling and preserve input focus by &lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/freekmurze/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/freekmurze"&gt;@freekmurze&lt;/a&gt; in &lt;a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5395670753" data-permission-text="Title is private" data-url="https://github.com/spatie/bloom/issues/171" data-hovercard-type="pull_request" data-hovercard-url="/spatie/bloom/pull/171/hovercard" href="https://github.com/spatie/bloom/pull/171"&gt;#171&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Close update window when installation is postponed by &lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/freekmurze/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/freekmurze"&gt;@freekmurze&lt;/a&gt; in &lt;a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5396547146" data-permission-text="Title is private" data-url="https://github.com/spatie/bloom/issues/172" data-hovercard-type="pull_request" data-hovercard-url="/spatie/bloom/pull/172/hovercard" href="https://github.com/spatie/bloom/pull/172"&gt;#172&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Default reviews to all files in tree order by &lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/freekmurze/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/freekmurze"&gt;@freekmurze&lt;/a&gt; in &lt;a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5396708128" data-permission-text="Title is private" data-url="https://github.com/spatie/bloom/issues/173" data-hovercard-type="pull_request" data-hovercard-url="/spatie/bloom/pull/173/hovercard" href="https://github.com/spatie/bloom/pull/173"&gt;#173&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Put editing first and remove diff sharing from file menus by &lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/freekmurze/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/freekmurze"&gt;@freekmurze&lt;/a&gt; in &lt;a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5396836623" data-permission-text="Title is private" data-url="https://github.com/spatie/bloom/issues/174" data-hovercard-type="pull_request" data-hovercard-url="/spatie/bloom/pull/174/hovercard" href="https://github.com/spatie/bloom/pull/174"&gt;#174&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 dir="auto"&gt;New Contributors&lt;/h2&gt;
&lt;ul dir="auto"&gt;
&lt;li&gt;&lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tdrayson/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tdrayson"&gt;@tdrayson&lt;/a&gt; made their first contribution in &lt;a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5389374583" data-permission-text="Title is private" data-url="https://github.com/spatie/bloom/issues/166" data-hovercard-type="pull_request" data-hovercard-url="/spatie/bloom/pull/166/hovercard" href="https://github.com/spatie/bloom/pull/166"&gt;#166&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p dir="auto"&gt;&lt;strong&gt;Full Changelog&lt;/strong&gt;: &lt;a class="commit-link" href="https://github.com/spatie/bloom/compare/v1.5.2...v1.6.0"&gt;&lt;tt&gt;v1.5.2...v1.6.0&lt;/tt&gt;&lt;/a&gt;&lt;/p&gt;</description>
            <enclosure url="https://downloads.runbloom.app/Bloom-1.6.0.zip" length="19630158" type="application/octet-stream" sparkle:edSignature="U4bhChENA+fgggiZS5CjHPfEqe4EyfIDMJvNstsPpMaBUMioHzaDvFfdkq5ja8gYiWx/3oES/PBVM15MGMYCDw==" />
            <bloom:diskImage url="https://downloads.runbloom.app/Bloom-1.6.0.dmg" length="22235389" type="application/x-apple-diskimage" />
        </item>
        <item>
            <title>1.5.2</title>
            <link>https://github.com/spatie/bloom/releases/tag/v1.5.2</link>
            <pubDate>Tue, 08 Sep 2026 14:03:28 +0000</pubDate>
            <sparkle:version>1257</sparkle:version>
            <sparkle:shortVersionString>1.5.2</sparkle:shortVersionString>
            <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
            <description>&lt;p dir="auto"&gt;Fix workspace archiving when Git no longer recognizes the workspace folder.&lt;/p&gt;
&lt;ul dir="auto"&gt;
&lt;li&gt;Move the workspace to Archived while keeping its folder, branch and Git metadata.&lt;/li&gt;
&lt;li&gt;Skip the archive script for unrecognized folders and show where the files remain.&lt;/li&gt;
&lt;li&gt;Restore these workspaces into a new folder without disturbing the retained files or another active checkout.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 dir="auto"&gt;What's Changed&lt;/h2&gt;
&lt;ul dir="auto"&gt;
&lt;li&gt;Allow archiving workspaces with unrecognized folders by &lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/freekmurze/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/freekmurze"&gt;@freekmurze&lt;/a&gt; in &lt;a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5387353908" data-permission-text="Title is private" data-url="https://github.com/spatie/bloom/issues/164" data-hovercard-type="pull_request" data-hovercard-url="/spatie/bloom/pull/164/hovercard" href="https://github.com/spatie/bloom/pull/164"&gt;#164&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p dir="auto"&gt;&lt;strong&gt;Full Changelog&lt;/strong&gt;: &lt;a class="commit-link" href="https://github.com/spatie/bloom/compare/v1.5.1...v1.5.2"&gt;&lt;tt&gt;v1.5.1...v1.5.2&lt;/tt&gt;&lt;/a&gt;&lt;/p&gt;</description>
            <enclosure url="https://downloads.runbloom.app/Bloom-1.5.2.zip" length="19346149" type="application/octet-stream" sparkle:edSignature="aRWLBcOs6RcmRkMadr7aqc7d7hEhEZ3dxRk0rDgcfxGqGPh8oCAEhv4SFgehFgG9ix/JCyZIirk42Ps1xaIMDw==" />
            <bloom:diskImage url="https://downloads.runbloom.app/Bloom-1.5.2.dmg" length="21908581" type="application/x-apple-diskimage" />
        </item>
        <item>
            <title>1.5.1</title>
            <link>https://github.com/spatie/bloom/releases/tag/v1.5.1</link>
            <pubDate>Tue, 08 Sep 2026 12:52:58 +0000</pubDate>
            <sparkle:version>1256</sparkle:version>
            <sparkle:shortVersionString>1.5.1</sparkle:shortVersionString>
            <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
            <description>&lt;ul dir="auto"&gt;
&lt;li&gt;Fix a crash when clicking “See what Bloom needs” on the welcome screen, while keeping the window sized correctly between setup screens.&lt;/li&gt;
&lt;li&gt;Restore the configured implementation permissions after approving a plan, including when resuming a session. Review the plan and its permissions together before choosing to implement, keep planning, or give feedback.&lt;/li&gt;
&lt;/ul&gt;
&lt;p dir="auto"&gt;Thanks to &lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ruudk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ruudk"&gt;@ruudk&lt;/a&gt; for reporting the welcome screen crash in &lt;a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5386187697" data-permission-text="Title is private" data-url="https://github.com/spatie/bloom/issues/159" data-hovercard-type="issue" data-hovercard-url="/spatie/bloom/issues/159/hovercard" href="https://github.com/spatie/bloom/issues/159"&gt;#159&lt;/a&gt;.&lt;/p&gt;</description>
            <enclosure url="https://downloads.runbloom.app/Bloom-1.5.1.zip" length="19339104" type="application/octet-stream" sparkle:edSignature="RiI7x35xtEpyu7M0hBG+24kn28/FSt9kV6Z+14Rc5GLSx/SoXnl3l0ffRaYb8HIfGRmbXPhg4eQpinPd5wcNBQ==" />
            <bloom:diskImage url="https://downloads.runbloom.app/Bloom-1.5.1.dmg" length="21899986" type="application/x-apple-diskimage" />
        </item>
        <item>
            <title>1.5.0</title>
            <link>https://github.com/spatie/bloom/releases/tag/v1.5.0</link>
            <pubDate>Tue, 08 Sep 2026 10:23:54 +0000</pubDate>
            <sparkle:version>1252</sparkle:version>
            <sparkle:shortVersionString>1.5.0</sparkle:shortVersionString>
            <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
            <description>&lt;p dir="auto"&gt;Bloom 1.5.0 adds reviewed-file tracking, Markdown notes and faster workspace navigation.&lt;/p&gt;
&lt;ul dir="auto"&gt;
&lt;li&gt;Mark changed files as Viewed with the file-header toggle or Option+V. Review progress is remembered per workspace, and a file becomes unviewed when it changes again.&lt;/li&gt;
&lt;li&gt;Drag across gutter lines to comment on a range, and choose which chat receives your review comments.&lt;/li&gt;
&lt;li&gt;Write notes with live Markdown styling, formatting buttons, source mode and native undo. The notes layout and caret alignment are improved.&lt;/li&gt;
&lt;li&gt;Workspace clicks highlight the sidebar row before loading the conversation. Returning to long chats reuses conversation indexes, including after background agent updates.&lt;/li&gt;
&lt;li&gt;Returning to Changes reuses prepared diffs. Switching between workspaces viewing the same filename no longer carries over the previous diff's state.&lt;/li&gt;
&lt;li&gt;Restore and polish the compact tab design, with system typography and stable busy indicators.&lt;/li&gt;
&lt;li&gt;Make diff and editor controls clearer, add immediate hover hints, move Share to the overflow menu, and improve PhpStorm detection.&lt;/li&gt;
&lt;li&gt;Keep the pull-request button stable during refresh and allow an empty Changes tab to open normally.&lt;/li&gt;
&lt;li&gt;Show chat tables with smaller text and wrapping cells, and give the first Ask Bloom message more space above it.&lt;/li&gt;
&lt;li&gt;Navigate Home immediately when archiving a workspace. Add an owner MCP archive tool that keeps the branch and history and refuses unsafe work.&lt;/li&gt;
&lt;li&gt;Open the correct conversation when switching an existing chat to a model from another backend, while keeping the original conversation.&lt;/li&gt;
&lt;li&gt;Fix welcome-window positioning, inactive-button contrast and a crash in text-zoom availability updates.&lt;/li&gt;
&lt;li&gt;Add native crash reporting through Flare, with a Send crash reports switch in General settings. Preference changes take effect after restarting.&lt;/li&gt;
&lt;/ul&gt;</description>
            <enclosure url="https://downloads.runbloom.app/Bloom-1.5.0.zip" length="19301017" type="application/octet-stream" sparkle:edSignature="NJHXRoMu0NZT0qFaOT0cIBDMhGUeV6BdNf5b2luPA7zQxyiiursjoIfMQ9YUzpmcI85tszNG4/qzqs+VucNeDw==" />
            <bloom:diskImage url="https://downloads.runbloom.app/Bloom-1.5.0.dmg" length="21855356" type="application/x-apple-diskimage" />
        </item>
        <item>
            <title>1.4.1</title>
            <link>https://github.com/spatie/bloom/releases/tag/v1.4.1</link>
            <pubDate>Tue, 08 Sep 2026 05:47:15 +0000</pubDate>
            <sparkle:version>1229</sparkle:version>
            <sparkle:shortVersionString>1.4.1</sparkle:shortVersionString>
            <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
            <description>&lt;p dir="auto"&gt;Bloom 1.4.1 fixes the appearance of archive confirmations.&lt;/p&gt;
&lt;ul dir="auto"&gt;
&lt;li&gt;Confirmation popovers now show readable text and Cancel buttons when opened from a selected sidebar row, in both light and dark mode.&lt;/li&gt;
&lt;li&gt;Archive buttons use the standard system accent colour.&lt;/li&gt;
&lt;/ul&gt;
&lt;p dir="auto"&gt;&lt;strong&gt;Full Changelog&lt;/strong&gt;: &lt;a class="commit-link" href="https://github.com/spatie/bloom/compare/v1.4.0...v1.4.1"&gt;&lt;tt&gt;v1.4.0...v1.4.1&lt;/tt&gt;&lt;/a&gt;&lt;/p&gt;</description>
            <enclosure url="https://downloads.runbloom.app/Bloom-1.4.1.zip" length="18276076" type="application/octet-stream" sparkle:edSignature="us2JvKlgKBMUvGgqixqg0RCbqVQ5+m/lTC9IoMhTSA5eLTIVipKTU7qgPij1R5T9tDse1to0N8JKiepJgb7WCw==" />
            <bloom:diskImage url="https://downloads.runbloom.app/Bloom-1.4.1.dmg" length="20723002" type="application/x-apple-diskimage" />
        </item>
        <item>
            <title>1.4.0</title>
            <link>https://github.com/spatie/bloom/releases/tag/v1.4.0</link>
            <pubDate>Mon, 07 Sep 2026 23:49:33 +0000</pubDate>
            <sparkle:version>1228</sparkle:version>
            <sparkle:shortVersionString>1.4.0</sparkle:shortVersionString>
            <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
            <description>&lt;p dir="auto"&gt;Bloom 1.4.0 brings a lighter Mac interface, a more compact chat editor, and smoother navigation.&lt;/p&gt;
&lt;ul dir="auto"&gt;
&lt;li&gt;The chat editor now floats on a glass surface, stays centred at the conversation width, and grows from one line to ten before scrolling internally.&lt;/li&gt;
&lt;li&gt;File drops from Finder and CleanShot work across the editor, including screenshot data and promised files. Attachment close buttons appear smoothly on hover.&lt;/li&gt;
&lt;li&gt;Previous-message and Jump to newest shortcuts use matching glass capsules, clearer icons, and hand cursors. Jump to newest fades and moves subtly when it appears or disappears.&lt;/li&gt;
&lt;li&gt;Workspace additions and removals, including archiving and restoring, animate in the sidebar. Motion respects Reduce Motion.&lt;/li&gt;
&lt;li&gt;Workspace tabs have more breathing room beside the sidebar and activity indicators.&lt;/li&gt;
&lt;li&gt;Settings are organised into focused panes with sidebar navigation, and remember the selected pane.&lt;/li&gt;
&lt;li&gt;Merge and archive confirmations use native popovers anchored to the controls that opened them, including sidebar archive actions.&lt;/li&gt;
&lt;li&gt;The workflow prompt list has clearer grouping and selection styling.&lt;/li&gt;
&lt;li&gt;Completed actions fold around commands that are still running, keeping active work visible.&lt;/li&gt;
&lt;li&gt;Fixed the pull-request header sometimes remaining visible at startup while the inspector was closed, and removed a duplicate branch tooltip.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 dir="auto"&gt;What's Changed&lt;/h2&gt;
&lt;ul dir="auto"&gt;
&lt;li&gt;Animate attachment pill close buttons on hover by &lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/freekmurze/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/freekmurze"&gt;@freekmurze&lt;/a&gt; in &lt;a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5379578691" data-permission-text="Title is private" data-url="https://github.com/spatie/bloom/issues/151" data-hovercard-type="pull_request" data-hovercard-url="/spatie/bloom/pull/151/hovercard" href="https://github.com/spatie/bloom/pull/151"&gt;#151&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fix action grouping and duplicate branch tooltip by &lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/freekmurze/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/freekmurze"&gt;@freekmurze&lt;/a&gt; in &lt;a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5379588106" data-permission-text="Title is private" data-url="https://github.com/spatie/bloom/issues/152" data-hovercard-type="pull_request" data-hovercard-url="/spatie/bloom/pull/152/hovercard" href="https://github.com/spatie/bloom/pull/152"&gt;#152&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Give the tab activity indicator more breathing room by &lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/freekmurze/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/freekmurze"&gt;@freekmurze&lt;/a&gt; in &lt;a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5379619812" data-permission-text="Title is private" data-url="https://github.com/spatie/bloom/issues/153" data-hovercard-type="pull_request" data-hovercard-url="/spatie/bloom/pull/153/hovercard" href="https://github.com/spatie/bloom/pull/153"&gt;#153&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use native popovers for merge and archive confirmations by &lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/freekmurze/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/freekmurze"&gt;@freekmurze&lt;/a&gt; in &lt;a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5379676318" data-permission-text="Title is private" data-url="https://github.com/spatie/bloom/issues/154" data-hovercard-type="pull_request" data-hovercard-url="/spatie/bloom/pull/154/hovercard" href="https://github.com/spatie/bloom/pull/154"&gt;#154&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Remove usage reports section from README by &lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/freekmurze/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/freekmurze"&gt;@freekmurze&lt;/a&gt; in &lt;a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5379713744" data-permission-text="Title is private" data-url="https://github.com/spatie/bloom/issues/155" data-hovercard-type="pull_request" data-hovercard-url="/spatie/bloom/pull/155/hovercard" href="https://github.com/spatie/bloom/pull/155"&gt;#155&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Anchor archive confirmations to their source controls by &lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/freekmurze/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/freekmurze"&gt;@freekmurze&lt;/a&gt; in &lt;a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5379987956" data-permission-text="Title is private" data-url="https://github.com/spatie/bloom/issues/156" data-hovercard-type="pull_request" data-hovercard-url="/spatie/bloom/pull/156/hovercard" href="https://github.com/spatie/bloom/pull/156"&gt;#156&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p dir="auto"&gt;&lt;strong&gt;Full Changelog&lt;/strong&gt;: &lt;a class="commit-link" href="https://github.com/spatie/bloom/compare/v1.3.0...v1.4.0"&gt;&lt;tt&gt;v1.3.0...v1.4.0&lt;/tt&gt;&lt;/a&gt;&lt;/p&gt;</description>
            <enclosure url="https://downloads.runbloom.app/Bloom-1.4.0.zip" length="18275450" type="application/octet-stream" sparkle:edSignature="F4L1Yce6PpowKswKFdxuFQhLeIcKKbmyqUUeWl2an8ABRWDY96ebzDK7OH5pmIJc9BHKTjP/G7N90uNRNwm2Bg==" />
            <bloom:diskImage url="https://downloads.runbloom.app/Bloom-1.4.0.dmg" length="20723207" type="application/x-apple-diskimage" />
        </item>
        <item>
            <title>1.3.0</title>
            <link>https://github.com/spatie/bloom/releases/tag/v1.3.0</link>
            <pubDate>Mon, 07 Sep 2026 17:13:11 +0000</pubDate>
            <sparkle:version>1211</sparkle:version>
            <sparkle:shortVersionString>1.3.0</sparkle:shortVersionString>
            <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
            <description>&lt;h2 dir="auto"&gt;Workspace setup, on your terms&lt;/h2&gt;
&lt;ul dir="auto"&gt;
&lt;li&gt;A new &lt;strong&gt;Run setup script&lt;/strong&gt; checkbox lets you skip setup when creating a workspace. It is enabled by default and applies only to that workspace; project settings stay unchanged and you can still run setup manually later.&lt;/li&gt;
&lt;li&gt;Actions such as fixing merge conflicts, creating a pull request and pushing changes take the chat to the message they send, including when the chat pane was not visible.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 dir="auto"&gt;More reliable conversations&lt;/h2&gt;
&lt;ul dir="auto"&gt;
&lt;li&gt;
&lt;p dir="auto"&gt;Image and video filenames now have a compact circular menu with &lt;strong&gt;Open&lt;/strong&gt; and &lt;strong&gt;Download&lt;/strong&gt;. Hover over an image, file or skill and press Space for native Quick Look, including attachments, inline file chips and inspector files.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p dir="auto"&gt;Overlapping send requests no longer claim the same queued message twice. Failed sends stay queued for an explicit retry.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p dir="auto"&gt;Drafts are preserved when a message cannot be queued, without overwriting newer text in the composer.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p dir="auto"&gt;Starting a fresh Ask Bloom conversation saves the replacement, settings and draft together. If saving fails, the old conversation stays open.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p dir="auto"&gt;Stop is honoured while Codex is connecting or starting a turn. Late responses from a stopped turn no longer end a newer turn or clear its approval details.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 dir="auto"&gt;Safety and code quality&lt;/h2&gt;
&lt;ul dir="auto"&gt;
&lt;li&gt;Existing bridge connections respect token rotation and workspace-session retirement.&lt;/li&gt;
&lt;li&gt;Setup-file copying and local-page loading use symlink-aware path checks. Copy preview and execution share the same matching logic.&lt;/li&gt;
&lt;li&gt;Database handling preserves embedded-NUL text and empty blobs, avoids unsafe numeric conversions, and refuses unsupported schema versions before repair.&lt;/li&gt;
&lt;li&gt;Packaged apps include Bloom and dependency licence notices. Contributor documentation explains the architecture, isolated dev builds and verified release process.&lt;/li&gt;
&lt;/ul&gt;
&lt;p dir="auto"&gt;Includes all changes from Bloom 1.2.0, including the final message-bubble tail adjustment.&lt;/p&gt;
&lt;h2 dir="auto"&gt;What's Changed&lt;/h2&gt;
&lt;ul dir="auto"&gt;
&lt;li&gt;Fix explicit chat scrolling and offer optional workspace setup by &lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/freekmurze/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/freekmurze"&gt;@freekmurze&lt;/a&gt; in &lt;a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5375827713" data-permission-text="Title is private" data-url="https://github.com/spatie/bloom/issues/148" data-hovercard-type="pull_request" data-hovercard-url="/spatie/bloom/pull/148/hovercard" href="https://github.com/spatie/bloom/pull/148"&gt;#148&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Harden conversation persistence and workspace boundaries by &lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/freekmurze/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/freekmurze"&gt;@freekmurze&lt;/a&gt; in &lt;a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5376955433" data-permission-text="Title is private" data-url="https://github.com/spatie/bloom/issues/149" data-hovercard-type="pull_request" data-hovercard-url="/spatie/bloom/pull/149/hovercard" href="https://github.com/spatie/bloom/pull/149"&gt;#149&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Add compact media actions and shared hover Quick Look by &lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/freekmurze/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/freekmurze"&gt;@freekmurze&lt;/a&gt; in &lt;a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5377311176" data-permission-text="Title is private" data-url="https://github.com/spatie/bloom/issues/150" data-hovercard-type="pull_request" data-hovercard-url="/spatie/bloom/pull/150/hovercard" href="https://github.com/spatie/bloom/pull/150"&gt;#150&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p dir="auto"&gt;&lt;strong&gt;Full Changelog&lt;/strong&gt;: &lt;a class="commit-link" href="https://github.com/spatie/bloom/compare/v1.2.0...v1.3.0"&gt;&lt;tt&gt;v1.2.0...v1.3.0&lt;/tt&gt;&lt;/a&gt;&lt;/p&gt;</description>
            <enclosure url="https://downloads.runbloom.app/Bloom-1.3.0.zip" length="18131241" type="application/octet-stream" sparkle:edSignature="gg+j8GzG7A8Ijv/i1neqTUfJBFYM3niInf7T68tQxLW4NdJgU8oe/aYKNxwYx2cTUiqLeA8Cb4bpaBb9CTpFCA==" />
            <bloom:diskImage url="https://downloads.runbloom.app/Bloom-1.3.0.dmg" length="20569244" type="application/x-apple-diskimage" />
        </item>
        <item>
            <title>1.2.0</title>
            <link>https://github.com/spatie/bloom/releases/tag/v1.2.0</link>
            <pubDate>Mon, 07 Sep 2026 14:11:58 +0000</pubDate>
            <sparkle:version>1208</sparkle:version>
            <sparkle:shortVersionString>1.2.0</sparkle:shortVersionString>
            <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
            <description>&lt;h2 dir="auto"&gt;Better Codex conversations&lt;/h2&gt;
&lt;ul dir="auto"&gt;
&lt;li&gt;Codex subagents appear in Bloom's shared activity list with their own live output panes.&lt;/li&gt;
&lt;li&gt;Child output and completion events stay separate from the parent chat. The activity line stays visible while subagents are still working, and output refresh resumes when a child starts another turn.&lt;/li&gt;
&lt;li&gt;Codex can present interactive question cards with choices, free-text answers and secret fields. Questions closed by the agent no longer linger.&lt;/li&gt;
&lt;li&gt;Child approvals retain the correct command or file details, and refusal explanations go back to the child that asked.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 dir="auto"&gt;A fresh chat and calmer controls&lt;/h2&gt;
&lt;ul dir="auto"&gt;
&lt;li&gt;Use &lt;code class="notranslate"&gt;/clear&lt;/code&gt; to start a fresh chat with your chosen model settings. Previous conversations remain available.&lt;/li&gt;
&lt;li&gt;Sent-message text is optically centred inside its bubble, including single-line messages and custom font settings.&lt;/li&gt;
&lt;li&gt;Outgoing and queued messages share a small curved tail, inspired by macOS Messages.&lt;/li&gt;
&lt;li&gt;The title bar matches inactive tabs, while the selected tab remains distinct.&lt;/li&gt;
&lt;li&gt;Empty-state actions such as Try again use compact, neutral native buttons instead of filled controls resembling chat bubbles.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 dir="auto"&gt;Help and welcome&lt;/h2&gt;
&lt;ul dir="auto"&gt;
&lt;li&gt;Bloom Help opens the current support page instead of the retired documentation.&lt;/li&gt;
&lt;li&gt;Welcome to Bloom restarts the welcome wizard from the beginning.&lt;/li&gt;
&lt;/ul&gt;
&lt;p dir="auto"&gt;Older saved transcripts are preserved as recorded; previously mixed parent and child output is not rewritten.&lt;/p&gt;
&lt;h2 dir="auto"&gt;What's Changed&lt;/h2&gt;
&lt;ul dir="auto"&gt;
&lt;li&gt;Improve Codex subagents, question cards and native chat polish by &lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/freekmurze/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/freekmurze"&gt;@freekmurze&lt;/a&gt; in &lt;a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5375340327" data-permission-text="Title is private" data-url="https://github.com/spatie/bloom/issues/147" data-hovercard-type="pull_request" data-hovercard-url="/spatie/bloom/pull/147/hovercard" href="https://github.com/spatie/bloom/pull/147"&gt;#147&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p dir="auto"&gt;&lt;strong&gt;Full Changelog&lt;/strong&gt;: &lt;a class="commit-link" href="https://github.com/spatie/bloom/compare/v1.1.3...v1.2.0"&gt;&lt;tt&gt;v1.1.3...v1.2.0&lt;/tt&gt;&lt;/a&gt;&lt;/p&gt;</description>
            <enclosure url="https://downloads.runbloom.app/Bloom-1.2.0.zip" length="18045642" type="application/octet-stream" sparkle:edSignature="//P0bW8e4J+F9dJCo10CYzfKh9iEf7lHO3zEPv5c/w/jDq3O/ELjTlOjvAySsGTvi5bM+yxGO+qQh4zQGK0nAQ==" />
            <bloom:diskImage url="https://downloads.runbloom.app/Bloom-1.2.0.dmg" length="20475204" type="application/x-apple-diskimage" />
        </item>
        <item>
            <title>1.1.3</title>
            <link>https://github.com/spatie/bloom/releases/tag/v1.1.3</link>
            <pubDate>Mon, 07 Sep 2026 12:30:48 +0000</pubDate>
            <sparkle:version>1207</sparkle:version>
            <sparkle:shortVersionString>1.1.3</sparkle:shortVersionString>
            <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
            <description>&lt;h2 dir="auto"&gt;Improvements&lt;/h2&gt;
&lt;ul dir="auto"&gt;
&lt;li&gt;Sent messages arrive with a subtle lift and fade. New AI message blocks fade in once, without replaying the effect for every streaming update. Reduce Motion is respected.&lt;/li&gt;
&lt;li&gt;Streaming chat text does less repeated Markdown parsing, reducing main-thread rendering work in long responses.&lt;/li&gt;
&lt;li&gt;Daily usage reports include coarse setup metrics, with clearer documentation and the existing opt-out in Settings.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 dir="auto"&gt;Fixes&lt;/h2&gt;
&lt;ul dir="auto"&gt;
&lt;li&gt;Refused workspace archives keep the current chat and draft in place, avoiding a transient Home view teardown associated with the reported macOS 27 archive crash. Worktree safety checks remain in place.&lt;/li&gt;
&lt;li&gt;The Merge button keeps readable text and icons in the title bar.&lt;/li&gt;
&lt;li&gt;New diff comments focus the empty editor immediately.&lt;/li&gt;
&lt;li&gt;Cmd+Delete stays with the focused terminal instead of opening Archive Workspace.&lt;/li&gt;
&lt;li&gt;Settings sign-in uses the detected agent executable, quotes its arguments correctly and reports Terminal handoff errors.&lt;/li&gt;
&lt;li&gt;Branch names refresh after an external rename without overwriting unrelated workspace changes.&lt;/li&gt;
&lt;/ul&gt;
&lt;p dir="auto"&gt;SwiftTerm remains the terminal renderer.&lt;/p&gt;
&lt;h2 dir="auto"&gt;What's Changed&lt;/h2&gt;
&lt;ul dir="auto"&gt;
&lt;li&gt;Smooth chat streaming and fix archive, focus, terminal and merge controls by &lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/freekmurze/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/freekmurze"&gt;@freekmurze&lt;/a&gt; in &lt;a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5374015022" data-permission-text="Title is private" data-url="https://github.com/spatie/bloom/issues/146" data-hovercard-type="pull_request" data-hovercard-url="/spatie/bloom/pull/146/hovercard" href="https://github.com/spatie/bloom/pull/146"&gt;#146&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p dir="auto"&gt;&lt;strong&gt;Full Changelog&lt;/strong&gt;: &lt;a class="commit-link" href="https://github.com/spatie/bloom/compare/v1.1.2...v1.1.3"&gt;&lt;tt&gt;v1.1.2...v1.1.3&lt;/tt&gt;&lt;/a&gt;&lt;/p&gt;</description>
            <enclosure url="https://downloads.runbloom.app/Bloom-1.1.3.zip" length="17982194" type="application/octet-stream" sparkle:edSignature="tkO91izn/YWVeDOFkhFkqc7jm+rh1J+MtL8IjjJF8rNS6sLzsphoKrrm3Ns8iIm2vwm3QBcTMOVlKZT6SSkhCw==" />
            <bloom:diskImage url="https://downloads.runbloom.app/Bloom-1.1.3.dmg" length="20391146" type="application/x-apple-diskimage" />
        </item>
        <item>
            <title>1.1.2</title>
            <link>https://github.com/spatie/bloom/releases/tag/v1.1.2</link>
            <pubDate>Mon, 07 Sep 2026 10:30:19 +0000</pubDate>
            <sparkle:version>1205</sparkle:version>
            <sparkle:shortVersionString>1.1.2</sparkle:shortVersionString>
            <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
            <description>&lt;h2 dir="auto"&gt;Improvements&lt;/h2&gt;
&lt;ul dir="auto"&gt;
&lt;li&gt;Numbered and bulleted lists have clearer item spacing and paragraph-style line heights, while checklists stay compact.&lt;/li&gt;
&lt;li&gt;New chat defaults use larger text with balanced line spacing, without changing your saved font preferences.&lt;/li&gt;
&lt;li&gt;The sidebar and title bar use native macOS backgrounds, while chat content stays on a plain reading surface.&lt;/li&gt;
&lt;li&gt;Turn separators are quieter, with a little more space between the end of a conversation and the message editor.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 dir="auto"&gt;Fixes&lt;/h2&gt;
&lt;ul dir="auto"&gt;
&lt;li&gt;Fixed chat content disappearing, developing gaps or becoming unreachable when resizing the message editor or window.&lt;/li&gt;
&lt;li&gt;Resizing keeps your reading position, including when you are at the end of a conversation.&lt;/li&gt;
&lt;li&gt;Binary-file notices and other diff empty states are centred in the available pane.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 dir="auto"&gt;What's Changed&lt;/h2&gt;
&lt;ul dir="auto"&gt;
&lt;li&gt;Fix transcript gaps during resize and reduce layout work by &lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/freekmurze/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/freekmurze"&gt;@freekmurze&lt;/a&gt; in &lt;a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5371444480" data-permission-text="Title is private" data-url="https://github.com/spatie/bloom/issues/144" data-hovercard-type="pull_request" data-hovercard-url="/spatie/bloom/pull/144/hovercard" href="https://github.com/spatie/bloom/pull/144"&gt;#144&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Polish chat typography, native chrome and empty-state layout by &lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/freekmurze/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/freekmurze"&gt;@freekmurze&lt;/a&gt; in &lt;a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5372556026" data-permission-text="Title is private" data-url="https://github.com/spatie/bloom/issues/145" data-hovercard-type="pull_request" data-hovercard-url="/spatie/bloom/pull/145/hovercard" href="https://github.com/spatie/bloom/pull/145"&gt;#145&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p dir="auto"&gt;&lt;strong&gt;Full Changelog&lt;/strong&gt;: &lt;a class="commit-link" href="https://github.com/spatie/bloom/compare/v1.1.1...v1.1.2"&gt;&lt;tt&gt;v1.1.1...v1.1.2&lt;/tt&gt;&lt;/a&gt;&lt;/p&gt;</description>
            <enclosure url="https://downloads.runbloom.app/Bloom-1.1.2.zip" length="17855868" type="application/octet-stream" sparkle:edSignature="NJRRtRwORp8Z89+G3GYxz3ZDckURCkX+wSFjLge592n+M5bNS3aAwWGRfSyZGWeMy56vb6O+q7dlBujl1zlJDw==" />
            <bloom:diskImage url="https://downloads.runbloom.app/Bloom-1.1.2.dmg" length="20266538" type="application/x-apple-diskimage" />
        </item>
        <item>
            <title>1.1.1</title>
            <link>https://github.com/spatie/bloom/releases/tag/v1.1.1</link>
            <pubDate>Sat, 05 Sep 2026 12:14:56 +0000</pubDate>
            <sparkle:version>1203</sparkle:version>
            <sparkle:shortVersionString>1.1.1</sparkle:shortVersionString>
            <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
            <description>&lt;p dir="auto"&gt;Opening a conversation you have not read for a while no longer freezes Bloom for minutes. The transcript opens around the first unread row rather than at the end, so it lands in the middle of a conversation where almost nothing has been measured, and every row it cannot measure is drawn a hundredth of a point tall. A few hundred points of pane then holds thousands of rows, each of which gets built, and tearing them down again costs more the more there are. A pass that reloads the table no longer also stages rows in and out of it.&lt;/p&gt;
&lt;p dir="auto"&gt;A row nobody has looked at is no longer guessed at from an average. One long row could drag the guess for a whole kind of row up with it, and that guess is then handed to every row of that kind above the reader, so a conversation could believe it was five times longer than it is. The guess is the middle of what has been measured now, and it is capped: nothing the reader has not seen may be given a height taller than the pane it would be drawn in.&lt;/p&gt;
&lt;p dir="auto"&gt;A height measured at one width is no longer taken as evidence about another. A row reports how tall it is from the pass that drew it, and a cell that has not been given its width yet reports the height it has at almost no width, which for a paragraph is many times its real height.&lt;/p&gt;
&lt;p dir="auto"&gt;Those three are the same subject, which is what the transcript believes about how tall its rows are, and they were found together while chasing a transcript that goes blank when the composer is resized. &lt;strong&gt;That one is not fixed.&lt;/strong&gt; It still happens, and this release does not claim otherwise. What this release adds is the means to catch it: when the transcript has rows and none of them is on screen, Bloom now writes what it believes about its own geometry to a file in the temporary directory, and &lt;code class="notranslate"&gt;kill -USR1&lt;/code&gt; on the process writes the same reading on demand. Nothing is written when the transcript is healthy.&lt;/p&gt;
&lt;p dir="auto"&gt;The spinner that says "Reading the conversation" now sits in the middle of the transcript rather than halfway into the composer, and it is the size of the sentence beside it rather than twice its height.&lt;/p&gt;
&lt;p dir="auto"&gt;On GPT-6 Astra: nothing in Bloom had to change, and nothing on screen is different. Bloom reads the model list from the Codex CLI rather than shipping one of its own, so if your Codex is new enough to offer Astra it already appeared at the top of the model menu with its own reasoning levels, before this release as well as after it. What this release adds is a recorded copy of that list and the tests that keep a new generation of model sorting above the one it replaces.&lt;/p&gt;</description>
            <enclosure url="https://downloads.runbloom.app/Bloom-1.1.1.zip" length="17832409" type="application/octet-stream" sparkle:edSignature="np58URHOFsjZzt38wlrJoH8RGbdhXH76GFTRTogxMpOgnUKQCETJbMnNwd0IF7MgpYnX7LmoKcI4o5L7ju/lCA==" />
            <bloom:diskImage url="https://downloads.runbloom.app/Bloom-1.1.1.dmg" length="20237997" type="application/x-apple-diskimage" />
        </item>
        <item>
            <title>1.1.0</title>
            <link>https://github.com/spatie/bloom/releases/tag/v1.1.0</link>
            <pubDate>Fri, 04 Sep 2026 21:09:01 +0000</pubDate>
            <sparkle:version>1187</sparkle:version>
            <sparkle:shortVersionString>1.1.0</sparkle:shortVersionString>
            <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
            <description>&lt;p dir="auto"&gt;Search is a panel now. Press Cmd+K and it opens over the window, centred, with what is waiting on you at the top: the workspaces whose agents have stopped to ask something, then what you last had open. Type to search workspaces, transcripts and commands together, Tab between the scopes, and press Return to open a result at the line that matched. Cmd+Return opens the highlighted row's own menu, so anything you can do to a workspace from the sidebar you can do from here. Typing &lt;code class="notranslate"&gt;&amp;gt;&lt;/code&gt; turns it into the command list, grouped by the menu each command lives in, with its keyboard shortcut printed beside it and the ones with no shortcut saying so.&lt;/p&gt;
&lt;p dir="auto"&gt;The search field has come out of the toolbar, where it was a wide capsule with a shadow that lined up with nothing. A magnifying glass takes its place beside the inspector toggle. Nothing has been lost: the panel still reaches every workspace and the full text of every transcript. What has changed is that searching no longer takes the page away from you. Typing one character into the old field moved you to Home, which is why so few people used it twice.&lt;/p&gt;
&lt;p dir="auto"&gt;The panel looks at your visible, live work by default. Archived workspaces are one chip away, counted even when they are not shown, and hidden projects follow the sidebar's own switch. When a search comes back empty, the card says what it held back and how much, rather than leaving you to guess.&lt;/p&gt;
&lt;p dir="auto"&gt;Bloom no longer dies when an agent process goes away. Writing to a child that had not started, or had just been terminated, could take the whole app down, and pressing Stop was one of the ways in. It had been happening quietly for weeks.&lt;/p&gt;
&lt;p dir="auto"&gt;A message you type while an agent is working now goes straight into the running turn on Claude Code and Codex, instead of waiting for the turn to end.&lt;/p&gt;
&lt;p dir="auto"&gt;Answers you are part way through giving in a question card survive. Ticks and half typed sentences were being wiped whenever the transcript redrew, which during a busy turn was constantly.&lt;/p&gt;
&lt;p dir="auto"&gt;Subagents appear in the sidebar while they are running, not only once they have finished, and their rows fold like everything else. Opening one shows a conversation rather than raw JSON, and the pane no longer repeats the brief back to you as though the agent had said it.&lt;/p&gt;
&lt;p dir="auto"&gt;A failed action folds into the run around it instead of standing alone between two folded groups.&lt;/p&gt;
&lt;p dir="auto"&gt;The transcript no longer goes blank when you drag the composer taller or shorter.&lt;/p&gt;
&lt;p dir="auto"&gt;A branch prefix ending in a slash no longer produces &lt;code class="notranslate"&gt;feature//test&lt;/code&gt;, which git refuses.&lt;/p&gt;</description>
            <enclosure url="https://downloads.runbloom.app/Bloom-1.1.0.zip" length="17779655" type="application/octet-stream" sparkle:edSignature="eOjdfbt1auzUCS16Fs0KFCgzc/bBCY04ESDN1U+/Nef9ueOfeWDyAFgzNGp+hW5pK+4ryIDoZa9nlgpxoYedDg==" />
            <bloom:diskImage url="https://downloads.runbloom.app/Bloom-1.1.0.dmg" length="20180859" type="application/x-apple-diskimage" />
        </item>
        <item>
            <title>1.0.1</title>
            <link>https://github.com/spatie/bloom/releases/tag/v1.0.1</link>
            <pubDate>Thu, 03 Sep 2026 16:39:14 +0000</pubDate>
            <sparkle:version>1144</sparkle:version>
            <sparkle:shortVersionString>1.0.1</sparkle:shortVersionString>
            <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
            <description>&lt;p dir="auto"&gt;Bloom now finds agent CLIs installed by nvm, fnm, mise, asdf, pnpm and other common package managers when it is launched from Finder. Custom executable paths from the Agents settings are also used consistently by onboarding and by Claude Code and Codex sessions.&lt;/p&gt;
&lt;p dir="auto"&gt;The welcome window no longer lets dynamic SwiftUI content resize the window from inside AppKit's active constraint pass. It still follows onboarding content in both directions, but coalesces the resize after layout to avoid the constraint recursion that could crash after onboarding.&lt;/p&gt;</description>
            <enclosure url="https://downloads.runbloom.app/Bloom-1.0.1.zip" length="17443233" type="application/octet-stream" sparkle:edSignature="iJHHupAqHbW+dog1Rs4lIm6pVY9L9yc/DzTV+z2UjGpei3/psrV429XFdf32tbK5HFsVgN1CLfTg3QtYvjEQAQ==" />
            <bloom:diskImage url="https://downloads.runbloom.app/Bloom-1.0.1.dmg" length="19805905" type="application/x-apple-diskimage" />
        </item>
        <item>
            <title>1.0.0</title>
            <link>https://github.com/spatie/bloom/releases/tag/v1.0.0</link>
            <pubDate>Thu, 03 Sep 2026 12:56:42 +0000</pubDate>
            <sparkle:version>1138</sparkle:version>
            <sparkle:shortVersionString>1.0.0</sparkle:shortVersionString>
            <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
            <description>&lt;p dir="auto"&gt;Bloom is open source, and this is its first release under that name.&lt;/p&gt;
&lt;p dir="auto"&gt;You can edit a file directly in its diff. Right click a changed line and Edit These Lines opens a box over the block of additions around it, or over a single context line. Save writes the file and the diff redraws; cancel puts it back.&lt;/p&gt;
&lt;p dir="auto"&gt;The write is guarded three times over, because a workspace is a worktree an agent is working in and a save that clobbered its work would be worse than no feature at all. Opening refuses if the file no longer says at those line numbers what the diff printed. While the box is open, the changed-file poll tells you if the file moved underneath you. And the save itself re-reads the file and compares every byte against the baseline, refusing on a single one that differs, with what you typed still in the box.&lt;/p&gt;
&lt;p dir="auto"&gt;Links in a conversation get the pointing hand. They never had it: the text view removed every tracking area it owned, meaning to remove only its own, and put back one without cursor updates, so no cursor change ever arrived. Not the hand over a link, and not the I-beam over prose either.&lt;/p&gt;
&lt;p dir="auto"&gt;The welcome window remembers that you closed it. It only recorded having been seen when you pressed the button on its last screen, so anybody who read "You are all set" and shut the window met it again on every launch.&lt;/p&gt;
&lt;p dir="auto"&gt;Clicking anywhere in the All files or Changes tabs works, not just on the words. A plain button takes clicks inside its label, and a label is hit where it draws rather than where it is laid out, so the pressable area was the text while the highlight filled the whole tab.&lt;/p&gt;
&lt;p dir="auto"&gt;Bloom repairs its own bridge registration when the app moves. Coupling your own terminal writes an absolute path to a shim inside the bundle, and moving Bloom left every agent started from your terminal talking to a path that was not there any more.&lt;/p&gt;
&lt;p dir="auto"&gt;There is a menu item for starting an Ask Bloom conversation over, which until now was a toolbar glyph you had to be looking at Ask Bloom to find.&lt;/p&gt;
&lt;p dir="auto"&gt;Underneath, a review pass over the whole app: rules that were written twice are written once, four decisions that answered through a default now answer case by case, and three real bugs are fixed, including a split that could store a not-a-number ratio and a folder that could not be listed being read as an empty one by the code that deletes it.&lt;/p&gt;</description>
            <enclosure url="https://downloads.runbloom.app/Bloom-1.0.0.zip" length="17424227" type="application/octet-stream" sparkle:edSignature="XM+x2NmiBKw5NJcwpC3ouaGF8PF9gK551EPfSKD/0F2q7l9pPMmnO1CZFswUi71aM4iCMV+WR6i3F4mL96JfBg==" />
            <bloom:diskImage url="https://downloads.runbloom.app/Bloom-1.0.0.dmg" length="19774261" type="application/x-apple-diskimage" />
        </item>
    </channel>
</rss>
