<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Squash changelog</title>
    <link>https://squash-livid.vercel.app/changelog</link>
    <atom:link href="https://squash-livid.vercel.app/changelog.xml" rel="self" type="application/rss+xml" />
    <description>Every tagged release of Squash, the open-source bug tracker for small teams.</description>
    <language>en</language>
    <lastBuildDate>Thu, 08 Oct 2026 12:00:00 GMT</lastBuildDate>
    <item>
      <title>Squash v2.0.1: Polish from the third design review of 2.0.</title>
      <link>https://squash-livid.vercel.app/changelog#v2.0.1</link>
      <guid isPermaLink="true">https://squash-livid.vercel.app/changelog#v2.0.1</guid>
      <pubDate>Thu, 08 Oct 2026 12:00:00 GMT</pubDate>
      <description>&lt;p&gt;Polish from the third design review of 2.0.&lt;/p&gt;&lt;h3&gt;Changed&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;The full-size screenshot viewer&amp;#39;s controls are dark discs that stay visible over light screenshots; on phones the caption and arrows sit right under the image.&lt;/li&gt;&lt;li&gt;While you&amp;#39;re offline, File is disabled with a &amp;quot;You&amp;#39;re offline&amp;quot; note and your draft is kept (Squash doesn&amp;#39;t queue bugs offline, so it no longer looks like it will).&lt;/li&gt;&lt;li&gt;The bug list is 480px wide from 1280px screens up. Inline code in comments has a visible chip in dark mode and no stray space after it.&lt;/li&gt;&lt;li&gt;Commands in the Claude Code guide wrap instead of scrolling sideways. Copy link is the main action in the invite dialog. The colour swatches have a round focus ring.&lt;/li&gt;&lt;li&gt;Phones get a small workspace preview on the &amp;quot;file your first bug&amp;quot; onboarding step.&lt;/li&gt;&lt;li&gt;Public pages: content is visible by default (a slow scroll observer can never leave a section hidden), small grey labels meet AA contrast even over the paper grain, the wide-screen hero is balanced, and the sign-in example is labelled as demo data.&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Fixed&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;On notched iPhones, toasts no longer float 34px too high (the safe area was counted twice).&lt;/li&gt;&lt;li&gt;A pasted link at the end of a line no longer leaves the line break behind when it moves into the link chip.&lt;/li&gt;&lt;li&gt;A focused pin note in the markup editor is no longer cut off by the layer list.&lt;/li&gt;&lt;li&gt;Footer and sidebar links on public pages are 44px tall on touch screens.&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Squash v2.0.0: A full redesign, &quot;Specimen&quot;: every screen rebuilt around the way a bug is actually examined. Plus markup that stays editable after filing, and proof that a fix landed.</title>
      <link>https://squash-livid.vercel.app/changelog#v2.0.0</link>
      <guid isPermaLink="true">https://squash-livid.vercel.app/changelog#v2.0.0</guid>
      <pubDate>Wed, 07 Oct 2026 12:00:00 GMT</pubDate>
      <description>&lt;p&gt;A full redesign, &amp;quot;Specimen&amp;quot;: every screen rebuilt around the way a bug is actually examined. Plus markup that stays editable after filing, and proof that a fix landed.&lt;/p&gt;&lt;h3&gt;Changed&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;New look across the whole app. IBM Plex Sans and Mono replace Inter; warm paper (light) and darkroom (dark) themes with a single viridian accent; hairline ledgers instead of cards; a subtle paper grain. Every bug opens on a mono &amp;quot;specimen label&amp;quot; (number, severity, who filed it, where and when).&lt;/li&gt;&lt;li&gt;The bug list is a ledger: severity as tally ticks, a compact status menu, an assignee column that shows an empty dashed circle when nobody is assigned (it no longer falls back to the person who filed it), and a resizable list pane (480px default on wide screens).&lt;/li&gt;&lt;li&gt;The detail pane follows the state of the workspace: a skeleton while loading, nothing when a filter matches nothing, and the getting-started guide when the workspace is empty.&lt;/li&gt;&lt;li&gt;The capture bar grows in place instead of covering the list, shows larger removable screenshot thumbnails, moves a pasted link into a chip instead of leaving it twice, and collapses to one row on phones.&lt;/li&gt;&lt;li&gt;Every dialog shares one layout (label, title, close button, actions) and opens with focus on its first field. Destructive confirmations use one filled red button. Overlays blur what is behind them.&lt;/li&gt;&lt;li&gt;Settings is a numbered ledger that saves as you type (no Save buttons), with &amp;quot;Recently deleted&amp;quot; in its own section and an Invite button on the Members page. Sign-in and onboarding are split screens with a live product preview that follows each onboarding step.&lt;/li&gt;&lt;li&gt;One keyboard key style everywhere (one key per cap, ↵ for Enter). On touch screens, keyboard-only hints are hidden and instructions say &amp;quot;tap&amp;quot;.&lt;/li&gt;&lt;li&gt;New marketing home page told in order (what it is, the problem, the product, real numbers computed from the repository, depth, get started) and a new 404 page.&lt;/li&gt;&lt;li&gt;A full public site sharing one nav and footer: Features, Pricing (free, MIT; hosted vs self-hosted), Changelog (built from this file, with an RSS feed at &lt;code&gt;/changelog.xml&lt;/code&gt;), Docs (getting started, capture, markup, keyboard, Claude Code, self-hosting, migrations, security model), FAQ, About, Press kit and a Status page that checks the app, database and live updates from your browser.&lt;/li&gt;&lt;li&gt;Privacy and Terms rewritten to describe exactly what Squash stores, where, and who can see it.&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Added&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Markup that stays live.&lt;/strong&gt; Boxes, arrows, highlights and numbered pins drawn on a screenshot are stored as editable layers, drawn over thumbnails and the full-size viewer, and listed as a &amp;quot;Pins&amp;quot; checklist. Claude Code receives the pinned regions with their notes.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Proof of fix.&lt;/strong&gt; When the Claude Code helper (v7) fixes a bug, Squash records the run: commit, diff size, pull request link, and an &amp;quot;after&amp;quot; screenshot. The bug shows a fix record with a before/after slider. Runs that made no commit are recorded honestly as such.&lt;/li&gt;&lt;li&gt;On phones: a bottom sheet for resolving, a full-width screenshot viewer with tap to zoom, and 44px touch targets throughout (48px list rows).&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Fixed&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;Many accessibility fixes: WCAG 1.4.13 tooltips (hoverable, dismissable with Esc), focus returns to the control that opened a dialog, live-region announcements for attachment errors, and AA contrast on every status and severity colour in both themes.&lt;/li&gt;&lt;li&gt;Offline: the presence indicator hides instead of showing stale &amp;quot;online&amp;quot; teammates.&lt;/li&gt;&lt;li&gt;Toasts sit above the list footer instead of covering &amp;quot;Send to Claude Code&amp;quot;.&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Performance&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;About 7 kB less JavaScript (gzip) from build-time trimming of unused library code. The CI size check now measures the real production bundle, including the Supabase client.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Needs migrations &lt;code&gt;0008_fix_runs.sql&lt;/code&gt; and &lt;code&gt;0009_attachment_annotations.sql&lt;/code&gt;&lt;/strong&gt; (after &lt;code&gt;0001&lt;/code&gt;–&lt;code&gt;0007&lt;/code&gt;; see MAINTAINER.md → Applying migrations to production). Until &lt;code&gt;0008&lt;/code&gt; runs, fix records are simply not shown; until &lt;code&gt;0009&lt;/code&gt; runs, markup is flattened into the screenshot as before, with a pin legend.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Squash v1.7.0: Context on every bug, editable comments, a deletion log you can read, and a Claude Code helper that only talks to your own storage.</title>
      <link>https://squash-livid.vercel.app/changelog#v1.7.0</link>
      <guid isPermaLink="true">https://squash-livid.vercel.app/changelog#v1.7.0</guid>
      <pubDate>Wed, 07 Oct 2026 12:00:00 GMT</pubDate>
      <description>&lt;p&gt;Context on every bug, editable comments, a deletion log you can read, and a Claude Code helper that only talks to your own storage.&lt;/p&gt;&lt;h3&gt;Added&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;Bugs now record where they happened. When you file a bug, Squash notes your browser, OS and window size, and picks up the first link in the description as the page URL (shown as a chip in the capture bar that you can remove before filing). The bug shows this as a compact line under its title, with the URL as a link, and it is included in exports and in what Claude Code receives.&lt;/li&gt;&lt;li&gt;Edit or delete your own comments. Comments show &amp;quot;edited&amp;quot; after a change, and &lt;kbd&gt;Esc&lt;/kbd&gt; cancels an edit.&lt;/li&gt;&lt;li&gt;Workspace settings has a &amp;quot;Recently deleted&amp;quot; section listing the last 50 deleted bugs and feature requests (number, title, who deleted it and when). Deleted bugs are gone for good; only this record stays.&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Fixed&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;A page that crashes now shows a &amp;quot;Something went wrong&amp;quot; screen with Reload, a link back to your workspaces and error details, instead of a blank page. If a new deploy replaces the page&amp;#39;s files, Squash reloads once by itself to pick up the update.&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Security&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;Editing or deleting a comment also updates or clears its text in the activity log, so the old text can&amp;#39;t be read there. Live updates no longer carry the full old row of a comment or activity event.&lt;/li&gt;&lt;li&gt;The Claude Code helper (v6) only downloads screenshots from your own app&amp;#39;s Supabase storage. The install command now records your project&amp;#39;s storage host, and the helper rejects other Supabase projects, other ports and encoded path tricks, including across redirects. Older installs keep the previous rule and print a warning; rerun the install command from the Claude page to update.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Needs migrations &lt;code&gt;0006_comment_edit.sql&lt;/code&gt; and &lt;code&gt;0007_bug_context.sql&lt;/code&gt;.&lt;/strong&gt; Run them after &lt;code&gt;0001&lt;/code&gt;–&lt;code&gt;0005&lt;/code&gt; (see MAINTAINER.md → Applying migrations to production). Until &lt;code&gt;0007&lt;/code&gt; runs, bugs are filed without their context; until &lt;code&gt;0006&lt;/code&gt; runs, editing and deleting comments is refused by the server.&lt;/p&gt;
&lt;h3&gt;Developer&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;code&gt;npm run qa:shots&lt;/code&gt; captures screenshots of every main page at 375, 768, 1280 and 1920 px in light and dark mode, with a contact sheet, for visual review.&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Squash v1.6.0: Trust and hardening: tighter database rules, a safer Claude Code helper, keyboard and screen-reader fixes, list sorting and bulk actions.</title>
      <link>https://squash-livid.vercel.app/changelog#v1.6.0</link>
      <guid isPermaLink="true">https://squash-livid.vercel.app/changelog#v1.6.0</guid>
      <pubDate>Wed, 07 Oct 2026 12:00:00 GMT</pubDate>
      <description>&lt;p&gt;Trust and hardening: tighter database rules, a safer Claude Code helper, keyboard and screen-reader fixes, list sorting and bulk actions.&lt;/p&gt;&lt;h3&gt;Added&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;Sort the list by Newest (default), Oldest, Severity or Recently active from a new Sort chip menu. The choice is kept in the URL as &lt;code&gt;?sort=&lt;/code&gt;, and &lt;kbd&gt;J&lt;/kbd&gt;/&lt;kbd&gt;K&lt;/kbd&gt; follow the order on screen.&lt;/li&gt;&lt;li&gt;Bulk actions. Pick several bugs and resolve, reopen or assign them at once, or send them to Claude Code, from a bar that shows how many are selected. Picks that a filter hides or a teammate deletes drop out of the selection, and a partial failure says how many items failed.&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Security&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;Only the member who filed a bug (or feature request) and the workspace owner can delete it. The detail view hides the delete button from everyone else.&lt;/li&gt;&lt;li&gt;Every deletion is recorded (number, title, kind, who deleted it and when) in a log that workspace members can read and nobody can edit.&lt;/li&gt;&lt;li&gt;Comments are rate limited to 30 per person per minute, like filing bugs, and the server now sets each comment&amp;#39;s time. Claude Code results that hit the limit wait and retry instead of being dropped.&lt;/li&gt;&lt;li&gt;New indexes speed up filtering the list by status and by kind.&lt;/li&gt;&lt;li&gt;The Claude Code helper (v5) only downloads screenshots from Squash&amp;#39;s storage (Supabase, plus any hosts in &lt;code&gt;SQUASH_DOWNLOAD_HOSTS&lt;/code&gt;), including across redirects, stops a download as soon as it passes 15 MiB, runs at most 3 Claude sessions at once and starts at most 20 per 10 minutes (more get a &amp;quot;busy&amp;quot; reply), frees a slot as soon as its Terminal closes, and keeps the prompts, screenshots and run records it writes readable only by you. Rerun the install command from the Claude page to update the helper.&lt;/li&gt;&lt;li&gt;CI now runs CodeQL code scanning and reviews new dependencies on every pull request.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Needs migration &lt;code&gt;0005_hardening.sql&lt;/code&gt;.&lt;/strong&gt; Run it after &lt;code&gt;0001&lt;/code&gt;–&lt;code&gt;0004&lt;/code&gt; (see MAINTAINER.md → Applying migrations to production).&lt;/p&gt;
&lt;h3&gt;Accessibility&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;Every dialog and popover keeps keyboard focus inside while open and returns it to where you were when it closes, without pulling focus back if you clicked elsewhere. Stacked dialogs hand focus back correctly.&lt;/li&gt;&lt;li&gt;A &amp;quot;Skip to content&amp;quot; link is the first stop on every page.&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Changed&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;If the bug list fails to load, it says so and offers Retry instead of showing an empty list. A failed background refresh keeps the list on screen with a small notice.&lt;/li&gt;&lt;li&gt;Faster list updates: rows that didn&amp;#39;t change no longer re-render.&lt;/li&gt;&lt;li&gt;Link previews use an absolute image URL, and the build now emits &lt;code&gt;robots.txt&lt;/code&gt; and &lt;code&gt;sitemap.xml&lt;/code&gt; for your site URL.&lt;/li&gt;&lt;li&gt;CI enforces a bundle-size budget (&lt;code&gt;npm run size&lt;/code&gt;).&lt;/li&gt;&lt;li&gt;MAINTAINER.md documents running every migration in order and the release steps; the README has a roadmap.&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Tests&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;New tests for uploads, storage cleanup, sign-in redirects, realtime status, presence, the invite dialog, workspace settings, joining and the auth callback.&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Squash v1.5.0: A design pass over the whole app and a new landing page.</title>
      <link>https://squash-livid.vercel.app/changelog#v1.5.0</link>
      <guid isPermaLink="true">https://squash-livid.vercel.app/changelog#v1.5.0</guid>
      <pubDate>Wed, 07 Oct 2026 12:00:00 GMT</pubDate>
      <description>&lt;p&gt;A design pass over the whole app and a new landing page.&lt;/p&gt;&lt;h3&gt;Changed&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;The landing page is rebuilt: a larger hero with a framed product shot, one section grid for every feature, a grid of the smaller features, a compact phone section, a tidier FAQ and a full footer. Product screenshots reserve their real size, so they no longer load as empty boxes.&lt;/li&gt;&lt;li&gt;Severity is a labelled control (&amp;quot;Medium&amp;quot;, with a color dot) in the capture bar and the bug detail, with a menu and the &lt;kbd&gt;1&lt;/kbd&gt;–&lt;kbd&gt;4&lt;/kbd&gt; keys, instead of four unlabelled dots.&lt;/li&gt;&lt;li&gt;The capture bar has a real send button with a label and an &lt;kbd&gt;Enter&lt;/kbd&gt; hint, a focus state for the whole composer, and consistent toolbar buttons.&lt;/li&gt;&lt;li&gt;List filters are chip menus instead of native selects. They show the active value, clear with one click, work from the keyboard, and scroll on one line on phones.&lt;/li&gt;&lt;li&gt;List rows keep a fixed column order: Claude status, screenshot count, time, viewers and the owner&amp;#39;s avatar. Tiny thumbnails are gone and the selected row is quieter.&lt;/li&gt;&lt;li&gt;The bug detail uses a centered reading column, a joined Send to Claude button group, section headings, a larger attachment grid, a timeline line for activity and a comment composer with a send button.&lt;/li&gt;&lt;li&gt;The header shows who is online in a clean stack, gives Invite a label, and the profile menu shows your email and opens the keyboard shortcuts.&lt;/li&gt;&lt;li&gt;Buttons, menus, dialogs, toasts, settings and the sign-in pages share one set of surfaces, shadows and states. Disabled buttons are neutral grey instead of a faded accent.&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Fixed&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;The bug detail no longer makes the page scroll sideways. A hidden description field kept its full width.&lt;/li&gt;&lt;li&gt;The join page no longer crashes when the invite lookup returns nothing.&lt;/li&gt;&lt;li&gt;&amp;quot;No matches&amp;quot; and &amp;quot;Clear filters&amp;quot; now take the assignee filter into account.&lt;/li&gt;&lt;li&gt;Resizing the bug title no longer logs ResizeObserver loop errors.&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Squash v1.4.0: Screenshot mark-up, shareable views, a getting-started checklist, and an accessibility pass.</title>
      <link>https://squash-livid.vercel.app/changelog#v1.4.0</link>
      <guid isPermaLink="true">https://squash-livid.vercel.app/changelog#v1.4.0</guid>
      <pubDate>Wed, 07 Oct 2026 12:00:00 GMT</pubDate>
      <description>&lt;p&gt;Screenshot mark-up, shareable views, a getting-started checklist, and an accessibility pass.&lt;/p&gt;&lt;h3&gt;Added&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;Mark up a screenshot before filing it. Click a staged image in the capture bar to draw arrows, boxes and freehand strokes in four colors, switch tools with &lt;kbd&gt;A&lt;/kbd&gt;, &lt;kbd&gt;B&lt;/kbd&gt; and &lt;kbd&gt;P&lt;/kbd&gt;, and undo with &lt;kbd&gt;⌘Z&lt;/kbd&gt;. The marked-up image replaces the original, and very large results are re-encoded to stay under the upload limit.&lt;/li&gt;&lt;li&gt;The list&amp;#39;s tab, filters and search live in the URL, so a filtered view can be bookmarked or pasted to a teammate, and Back and Forward restore it.&lt;/li&gt;&lt;li&gt;A getting-started checklist in new workspaces: file a bug, invite a teammate, connect Claude Code and resolve a bug. It tracks progress on its own and can be dismissed.&lt;/li&gt;&lt;li&gt;&lt;code&gt;npm run a11y&lt;/code&gt; audits every page in both themes with axe-core and fails on serious or critical issues.&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Changed&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;Muted text, avatar initials and inline links now meet WCAG AA contrast in every color scheme. Avatar colors stored before this release are darkened when drawn.&lt;/li&gt;&lt;li&gt;Workspace pages have a main landmark, a page heading for screen readers and a labelled capture section.&lt;/li&gt;&lt;li&gt;The demo checkout screenshot no longer comes pre-annotated, since Squash can now mark it up itself.&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Squash v1.3.0: Assignees, notifications, mention autocomplete, and database tests in CI.</title>
      <link>https://squash-livid.vercel.app/changelog#v1.3.0</link>
      <guid isPermaLink="true">https://squash-livid.vercel.app/changelog#v1.3.0</guid>
      <pubDate>Wed, 07 Oct 2026 12:00:00 GMT</pubDate>
      <description>&lt;p&gt;Assignees, notifications, mention autocomplete, and database tests in CI.&lt;/p&gt;&lt;h3&gt;Added&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;Assign a bug to a teammate. Pick an owner in the detail view or from the command palette, press &lt;kbd&gt;I&lt;/kbd&gt; to take the selected bug yourself or &lt;kbd&gt;A&lt;/kbd&gt; to open the picker, and filter the list by assignee, including &amp;quot;Unassigned&amp;quot; and &amp;quot;Me&amp;quot;. The list shows the owner of each bug, and the activity timeline records every change. Needs migration &lt;code&gt;0004_assignees.sql&lt;/code&gt;: only workspace members can be assigned, and a member who leaves is unassigned from their bugs.&lt;/li&gt;&lt;li&gt;Desktop notifications. While Squash is in a background tab, a teammate filing a bug or assigning one to you raises a notification, and the tab title shows how many arrived. Opt in under Settings → Appearance.&lt;/li&gt;&lt;li&gt;&lt;code&gt;@mention&lt;/code&gt; autocomplete in comments. Type &lt;code&gt;@&lt;/code&gt; to pick a teammate with the arrow keys; names in any script work, and composing with an IME never selects by accident.&lt;/li&gt;&lt;li&gt;&lt;code&gt;npm run test:db&lt;/code&gt; applies every migration twice and runs the RLS suite on in-process Postgres (PGlite), with no Supabase project needed. CI runs it on every push.&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Changed&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;The landing page loads about 60 KB less JavaScript (gzip). The app, settings, the Claude Code guide and the legal pages load when you open them, and the workspace is prefetched as soon as you are signed in.&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Fixed&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;CSV export neutralizes formula prefixes typed with full-width characters and leading tabs, and the Markdown export escapes raw HTML and headings in titles.&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Squash v1.2.0: A design pass across the whole app, plus a command palette, markdown, and export.</title>
      <link>https://squash-livid.vercel.app/changelog#v1.2.0</link>
      <guid isPermaLink="true">https://squash-livid.vercel.app/changelog#v1.2.0</guid>
      <pubDate>Wed, 07 Oct 2026 12:00:00 GMT</pubDate>
      <description>&lt;p&gt;A design pass across the whole app, plus a command palette, markdown, and export.&lt;/p&gt;&lt;h3&gt;Added&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;A command palette on &lt;kbd&gt;⌘K&lt;/kbd&gt; / &lt;kbd&gt;Ctrl+K&lt;/kbd&gt;. Jump to any bug by number or title, switch workspaces, export, change theme, invite teammates or open settings without leaving the keyboard.&lt;/li&gt;&lt;li&gt;Markdown in descriptions and comments: bold, italics, inline code and code blocks, lists, quotes and links, with &lt;code&gt;@name&lt;/code&gt; mentions highlighted. It is rendered as React elements only, and links are limited to http, https and mailto.&lt;/li&gt;&lt;li&gt;Export the bugs you are looking at as CSV or as a Markdown report, from the list toolbar or the command palette. CSV cells that would run as spreadsheet formulas are neutralized.&lt;/li&gt;&lt;/ul&gt;
&lt;ul&gt;&lt;li&gt;A Features tab next to Bugs, so feature requests no longer have to be filed as bugs. The capture bar files into whichever tab is showing, the detail view can move an item between the two, and Claude exports ask Claude to build a feature rather than fix a bug. Needs migration &lt;code&gt;0002_bug_kind.sql&lt;/code&gt;; existing items stay bugs.&lt;/li&gt;&lt;li&gt;Send bugs to Claude Code, one at a time or several at once, with their screenshots and comments. One press opens Claude Code on them in a new terminal, in the project folder chosen for that workspace. The first press walks through a one-command setup that installs a small helper which starts at login. A separate copy button copies a ready-to-paste prompt instead.&lt;/li&gt;&lt;li&gt;Follow Claude from Squash while it works on a bug. The bug shows Claude&amp;#39;s current step, its plan, its latest message and its final summary, and the list marks bugs Claude is working on or waiting on you for. The helper reports progress through Claude Code hooks; rerun the install command to update an existing helper.&lt;/li&gt;&lt;li&gt;A Claude Code helper guide at &lt;code&gt;/claude&lt;/code&gt;: how to install, update and uninstall the helper, what the progress panel shows, troubleshooting, and a live check of whether this computer&amp;#39;s helper is missing, outdated or up to date. Linked from the landing page footer and the Send to Claude setup dialog.&lt;/li&gt;&lt;li&gt;Claude Code now finishes bugs on its own. Sent bugs run unattended; when Claude is done its terminal closes, and Squash marks each bug it fixed as resolved with Claude&amp;#39;s summary as the resolution note, or comments on bugs it could not finish. Rerun the install command to update the helper.&lt;/li&gt;&lt;li&gt;Delete a bug or feature request outright, as an alternative to resolving it. The trash button in the detail view asks for confirmation, then removes the item with its screenshots, comments and activity for everyone. Numbers are not reused. Needs migration &lt;code&gt;0003_bug_delete.sql&lt;/code&gt;.&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Changed&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;A redesigned landing page built around real product screenshots, with a how-it-works section, a self-host section and an FAQ.&lt;/li&gt;&lt;li&gt;Sign-in, onboarding, invite and sign-in callback screens share one layout, with clearer copy and errors shown next to the field they belong to.&lt;/li&gt;&lt;li&gt;Settings are grouped into titled sections with a side menu. Save buttons stay disabled until something changes and confirm when saved, and destructive actions sit in a separate danger zone.&lt;/li&gt;&lt;li&gt;Specific empty states for a new workspace, an empty tab and a search with no matches, with a one-click way to clear filters.&lt;/li&gt;&lt;li&gt;One consistent set of buttons, inputs, menus and focus rings across the app, and semantic colors for severity, status and errors so every color scheme and both themes stay readable.&lt;/li&gt;&lt;li&gt;The Claude Code guide has copy buttons on every command and a plain explanation of what the local helper can access. The privacy and terms pages are easier to read.&lt;/li&gt;&lt;li&gt;The stats popover is wider, so its column headings no longer wrap.&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Fixed&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;Long bug titles wrap instead of being cut off on phones.&lt;/li&gt;&lt;li&gt;Changing the theme from one place now updates every theme control at once.&lt;/li&gt;&lt;li&gt;Keyboard focus is visible on every menu item.&lt;/li&gt;&lt;li&gt;On phones, the bug detail header no longer pushes the Resolve button off the screen. Send to Claude shows just its icon below 640 px.&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Docs&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;A new README with real product screenshots, including the command palette, an animated capture demo, and a GitHub social preview image. &lt;code&gt;npm run screenshots&lt;/code&gt; regenerates them all from the real app running on demo data, with no Supabase project needed.&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Squash v1.1.0</title>
      <link>https://squash-livid.vercel.app/changelog#v1.1.0</link>
      <guid isPermaLink="true">https://squash-livid.vercel.app/changelog#v1.1.0</guid>
      <pubDate>Fri, 02 Oct 2026 12:00:00 GMT</pubDate>
      <description>&lt;h3&gt;Changed&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;Softer dark theme. The background moves from near-black to charcoal, with brighter muted text and borders, and menus, popovers and dialogs now sit on a raised surface so they stand out from the page.&lt;/li&gt;&lt;li&gt;The social preview image matches the new dark theme.&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Added&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;A setup screen in place of a blank page when a build is missing &lt;code&gt;VITE_SUPABASE_URL&lt;/code&gt; or &lt;code&gt;VITE_SUPABASE_ANON_KEY&lt;/code&gt;. It names the missing variables and links the self-host guide.&lt;/li&gt;&lt;li&gt;README with screenshots, a security model overview, shortcut and limit tables, and self-host steps.&lt;/li&gt;&lt;li&gt;Issue templates, a pull request template, a security policy, and Dependabot updates.&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Fixed&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;CONTRIBUTING.md now states the correct CI Node.js version (24).&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Squash v1.0.0: Initial release of Squash.</title>
      <link>https://squash-livid.vercel.app/changelog#v1.0.0</link>
      <guid isPermaLink="true">https://squash-livid.vercel.app/changelog#v1.0.0</guid>
      <pubDate>Fri, 02 Oct 2026 12:00:00 GMT</pubDate>
      <description>&lt;p&gt;Initial release of Squash.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Shared workspaces with Google and magic-link sign-in, invite links, and member management.&lt;/li&gt;&lt;li&gt;Bug capture with pasted screenshots, voice input, severity, and per-workspace bug numbers.&lt;/li&gt;&lt;li&gt;Real-time bugs, comments, activity history, and teammate presence.&lt;/li&gt;&lt;li&gt;Resolution and reopening notes, workspace statistics, and keyboard shortcuts.&lt;/li&gt;&lt;li&gt;Responsive UI, dark mode, and an installable PWA with no offline support or service worker.&lt;/li&gt;&lt;li&gt;Supabase database and storage access policies, Vercel deployment configuration, and CI and release workflows.&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
  </channel>
</rss>
