v1.5.1
Quality of life
2026-07-28
Stop the flicker
Typing in the walkthrough no longer makes the terminal and the side panel blink.
Fixed
- Panels flashed on every keystroke. Each typed character redrew the entire editor, destroying and rebuilding every panel sixty times a second and restarting their entry animation each time. The walkthrough now updates the page in place, so panels and carets keep their identity and only the text that changed is written.
v1.5.0
Foundation
2026-07-28
A session, not a slideshow
The landing page walkthrough was rebuilt from the ground up. It now plays as one continuous editor session where every change on screen is caused by a click that actually happened.
Changed
- Every action is simulated, not animated. Each chapter is a script of clicks, typing and drags. The pointer measures the control on screen before it moves, so it lands on the button, and the button's effect is applied by the press itself. Nothing can happen before the click that causes it.
- One continuous editor. Collaboration, running, the assistant and history all happen in the same editor instead of separate frames. Your edit stays edited, the dev server keeps running and the terminal stays open across the whole video.
- Panels are closed, not cut. Moving on from the preview or the assistant means clicking its close button, so chapters hand over instead of jumping.
- The details line up. The status bar follows the line that was clicked, line numbers shift when the patch lands, and the same people stay online from start to finish.
v1.4.0
Quality of life
2026-07-28
Small things, done properly
The walkthrough loses its voice-over and gains the details that were giving it away: text lands where you would type it, and nothing looks done before it happens.
Removed
- Narration. The voice-over and its sound button are gone. The walkthrough plays silently.
Fixed
- The assistant prompt skipped the input box. It appeared in the chat thread while the box still read "Ask the assistant". The prompt now types into the input, and only on Send does it move into the thread and clear the box.
- Run said Stop before anything ran. The button reads Run until it is clicked.
- The terminal typed into its own output. The command types at the prompt, then the echoed line and server output follow.
- The chat tab was highlighted before the click, above a file tree that had nothing to do with it.
- The caret never moved. The status bar stayed on line 5 after clicking into line 6.
- Captions covered the terminal. They now sit on their own line under the video.
v1.3.0
Quality of life
2026-07-28
It talks, and it clicks
The landing page walkthrough gained a voice-over and a pointer that actually presses, drags and lands before anything reacts.
Added
- Narration. A spoken voice-over runs through what Patchwork is, editing together, running a preview, the built-in assistant and pushing to GitHub. It stays silent until you press the sound button, then follows the timeline as you play, pause or jump chapters.
- A pointer that interacts. The cursor presses and holds, drags a selection across a line of code, and every control it touches shows a hover and a pressed state.
Changed
- The cursor travels. It used to fade out at the end of a chapter and flash into position in the next one. It now runs on one path across the whole video and moves there.
- Nothing happens before the click. Panels, typing, terminal output and diff lines were appearing before the pointer reached the button that causes them. Each one now waits for its click.
v1.2.0
Foundation
2026-07-28
Your projects, on your GitHub
Connect a project to a repository you already own or make a new one, then commit and push straight from the Git panel.
Added
- Connect to an existing repository. The Git panel lists the repositories your connected GitHub account can push to. Pick one and the project remembers the repository and branch.
- Create a repository from the editor. Give it a name, an optional description and a visibility, and Patchwork creates it on your account and connects the project in one step.
- Commit and push. One button saves every open tab, applies your files on top of the connected branch, commits with your message and pushes. Commits are authored with your username and email.
Changed
- Pushing keeps your history. The old push box force pushed a fresh single-commit repository over whatever the remote held. Pushes now build on the branch that is already there, and a remote with commits Patchwork does not have is reported instead of overwritten.
- Git panel. Remote URL, branch and message inputs are gone. The panel now shows the connected repository, its branch, when it was last pushed, and a commit message box.
v1.1.0
Foundation
2026-07-28
See it before you sign up
The landing page now plays a 30 second walkthrough of the real editor, built entirely in the page instead of a recorded clip.
Added
- Hyperframes explainer. A scripted 30 second sequence on the landing page that rebuilds the actual editor chrome — topbar and tabs, the eleven sidebar panels, breadcrumbs, terminal and status bar — then walks through live collaboration, running a preview, the built-in assistant, and commit history.
- Chapter controls. Play, pause, replay, a progress bar, and six labelled chapters you can jump between. It starts on its own when it scrolls into view and holds a still frame until then.
- Guided pointer. An animated cursor moves to each control and shows a click ripple, so it is obvious what is being pressed at every step.
- Reduced motion support. Anyone with reduced motion enabled sees the closing frame as a static poster instead of the animation.
v1.0.9
Quality of life
2026-05-23
The title actually sticks
Closing the race that was reverting AI-generated chat titles back to the first message a split second after they appeared.
Fixed
- AI chat title race condition. The title generator was running and writing a real title, but the streaming run loop was concurrently saving its own in-memory chat object (whose
title still held the first-message slice) on every token update, clobbering the generated title within milliseconds. The runner's save now merges the latest stored title back in once title generation has completed.
v1.0.8
Quality of life
2026-05-23
Chats get their names back
Auto-generated AI chat titles work again — the title call no longer inherits thinking mode and no longer swallows errors silently.
Fixed
- AI chat titles stuck on the first message. Title generation was firing but silently swallowing every error and inheriting the active model's thinking / high-effort flags, so on Opus-class models the call would stall or return only thinking blocks and the chat would keep showing your first message as its title. The title generator now strips thinking and effort, caps output tokens at 256, and logs failures to the console.
v1.0.7
Quality of life
2026-05-23
It knows where it is
The AI now knows which project it's in, remembers what you tell it across chats, and shows friendlier tool labels in the panel.
Added
- Persistent AI memory. The assistant has new
remember, list_memories, and forget tools. Saved memories are injected into every system prompt so preferences, style rules, and project facts carry across chats and sessions. The prompt nudges the model to call remember proactively whenever you express a lasting preference.
- Project identity in the system prompt. The current project name and whether it's a Patchwork extension (detected via
patchwork.json) are now passed into the AI, so the assistant stops guessing what project you're in.
Changed
- Friendlier tool-call labels. Tool cards in the AI panel now show human phrasing like Checking docs, Searching the web, Remembering instead of raw names like
get_patchwork_docs.
Fixed
- "It thinks I'm in Robsets." The old system prompt used Robsets as a hardcoded example project name and never told the model the real one, so the assistant would assume any project was Robsets. The example is gone; the actual project name is now stated directly.
v1.0.6
Quality of life
2026-05-21
Sharper edges
Collaboration ergonomics and AI responsiveness, plus the first formal changelog.
Added
- Follow-user mode. Click any avatar in the online-users row to mirror their active file and viewport. A topbar pill shows who you're following;
Esc, clicking the pill, or interacting with the editor exits.
- Inline AI actions. Right-click any selection in the editor for Explain, Refactor, Fix bugs, or Write tests. Spawns a fresh AI chat with the snippet pre-filled. If no API key is set, the AI Settings modal opens.
- Automatic model fallback on rate limit. After repeated
429 / 5xx failures, the assistant retries once on the next-cheaper model in the same provider instead of giving up.
- Public changelog at
/changelog, plus CHANGELOG.md and a project-level CLAUDE.md codifying the release workflow.
Changed
- AI brevity. System prompt now defaults the assistant to short replies with no preamble or recap. Long answers only when the user explicitly asks.
- AI date awareness. Today's date and the current year are injected into the system prompt every turn, so the model stops searching for "latest updates 2024".
- Patchwork disambiguation. The assistant no longer confuses this project with the unrelated public
getpatchwork Django tracker or patched-codes framework. Those domains are blocklisted for fetches and web search.
v1.0.5
AI & Collab
2026-05-20
Open the gates
AI gets four more providers and three new tools; collab gets selection sync, server-enforced permissions, and account-wide keymaps.
Added
- Multi-provider AI. OpenAI, Google, xAI, and Mistral on top of Anthropic. Provider-aware coaching prompts; custom provider picker, key field, and toggle switch (no native form controls).
- New AI tools.
fetch_url, web_search, and dispatch_subagent for spawning a focused sub-agent that returns a summary.
- AI chat title generation. The assistant auto-titles each chat after the first user message, provider-agnostic.
- AI history drawer. List past chats, continue, delete, with theme-aware active highlight and smooth open/close.
- Live selection broadcasting. Collaborators now see each other's coloured selection highlights, not just cursors.
- Editor keymaps in account settings. Default, Vim, Emacs, Sublime, or VS Code.
- Unread chat badge on the sidebar chat icon.
- Server-enforced limits. Per-account project cap, file-size cap, path validation, rate limiting, and single-session-per-account-per-project.
Changed
- Member permissions are now enforced on the server, not just gated in the UI. Falls back to role defaults when a permission key is missing.
- Cursor and selection survive autosave trim, and the local caret stays anchored when remote edits land at or after it.
- Remote cursors render as a
::before pseudo-element so they paint instantly without a decoration flash.
Fixed
- Rate-limited / 429 / 5xx provider errors auto-retry up to 5 times with exponential backoff instead of failing the turn.
- Thinking-word animation stopped tearing down on every render; chat re-renders throttled to one per animation frame with per-message DOM diffing.
- Trailing-whitespace trim no longer touches the caret line while you're typing.
v1.0.4
Git
2026-05-13
Real projects, real Git
Pull an existing GitHub repo straight into a new project, and stop reinstalling its dependencies on every run.
Added
- GitHub repo import on project create. Paste a URL into the new-project flow and Patchwork clones it into the workspace.
Changed
- Project workdir is persisted across runs.
npm install is stripped server-side when node_modules already exists, so re-running is fast.
- Preview iframe force-reloads on
server-started instead of waiting for a manual refresh.
Fixed
- Terminal output now scrolls properly at the default panel height; the auto-scroll no longer yanks you back to the bottom while you're reading.
- Git binary resolved via absolute path so clone/push work in restricted environments.
v1.0.3
Extensions
2026-05-06
Extend everything
Extensions get permissions, settings, enable/disable, and four first-party extensions. Plus member permissions, file visibility, password reset, and 2FA.
Added
- Extension settings system. Extensions can declare configurable fields rendered in a settings modal at install time.
- Extension permissions system. Manifest declares scopes; user must confirm on install.
- Enable / disable extensions without uninstalling. Image icons supported.
- First-party extensions: Vanta Black theme, Pomodoro Timer, Git Diff Viewer, Strip Comments.
- Member permissions and file visibility. Owner-configurable per-member toggles; hide specific files or folders from chosen members.
- Remappable shortcuts and a custom editor context menu.
- Custom find / replace widget styled to match Patchwork; replaces Monaco's built-in.
- Forgot password and password reset via Resend.
- Email-based 2FA alongside TOTP.
- Public project explorer with likes, comments, and forks.
- Multi-selection in the file tree.
- Break reminder. Nudge after 1hr of activity with a 15-min grace period; toggle in settings.
- Rate limiting on auth endpoints.
Changed
- Hardcoded dark backgrounds replaced with CSS variables so theme extensions actually theme everything.
- Marketplace search bar stretches to fill the sidebar width; extension cards have more breathing room with a hover lift.
- Sticky scroll background syncs with theme variables instead of using a fixed colour.
- Permission and emoji icons replaced with inline SVGs.
Fixed
- Extension uninstall destroys the iframe immediately instead of requiring a reload.
- Password reset link now points to a working route; reset uses
?reset= to avoid conflicting with OAuth ?token=.
- Reply form on the project explorer no longer hidden by
display:flex overriding the hidden attribute.
v1.0.2
Extensions
2026-05-05
Patchwork is hackable
The extension system lands.
Added
- Extension SDK and runtime. A documented JavaScript API for reading project files, listening to editor events, adding UI, and sending AI prompts.
- Marketplace for browsing, installing, configuring, and publishing extensions, plus a developer docs page at
/extensions-docs.
- Extensions sidebar panel with Installed and Marketplace tabs.
- Platform owner badge on user profiles.
Changed
- Disabled browser autocomplete on inputs across the app for a cleaner look.
v1.0.1
Editor
2026-04-26
A real IDE in a tab
The editor goes from "works" to "feels like VS Code in the browser." The AI agent gets file tools and a shell.
Added
- AI file tools. Claude can read, write, create, and delete files with auto-accept or manual approval, rewind, and live usage tracking.
- AI shell access via a
run_command tool.
- AI history drawer with continue / delete / new-chat.
- VS-Code-style editor pack. Split editor, problems panel, outline, global find & replace, file history, unsaved-dot on tabs, resizable terminal, copy path, diff viewer, file-tree reveal, session restore, rulers, regex/case search, TODO highlighting, bookmarks, Prettier format, git status in tree, env vars manager, ANSI terminal colors, search history, ESLint, color preview, file templates, auto-save on blur, tab scroll arrows.
- @mentions in code comments. Autocomplete inside
// comments, decorated lines, file-tree indicator dot, fast-save on new mention.
- Editor settings panel. Sidebar tab visibility, font family, font size, with custom-styled checkboxes, sliders, and selects.
- Image previews when opening image files.
- Preview iframe proxied through
/preview/:projectId, with URL bar for multi-page nav.
- Run-as-fallback file picker when project type can't be detected.
- Live MD preview, binary viewer, task runner (editor prefs slice).
- Double-click rename and visual commit-diff modal with revert-to-commit.
- Default AI model switched to Sonnet for faster responses.
Fixed
- Cursor decorations cleared when a user switches files so stale cursors don't haunt other files.
- Preview HTML mutation handles gzip / br / deflate properly; framework dev servers (Vite, etc.) load through the proxy with HMR intact.
- Keyboard-shortcut conflicts resolved:
Ctrl+/ toggles comment, Ctrl+Shift+? opens shortcuts, Ctrl+Alt+F runs Prettier.
v1.0.0
Foundation
2026-04-25
Patchwork, day one
The first version. A collaborative code editor running in the browser with the bones of everything that came after.
Added
- Monaco-powered editor with the custom Patchwork dark theme and JWT-backed auth.
- Realtime collaboration. Live cursors with hovering name labels, file-tree presence dots, broadcast on file open, autosave with 1-second debounce, single-session per account.
- Claude AI assistant in the editor with a side panel, resizable sidebar, and switchable models (Opus 4.7, Sonnet 4.6, Haiku 4.5).
- Project chat with line references, autocomplete for file and line refs, and a resizable sidebar.
- Account-based snippets with editor autocomplete via
/alias.
- Invite by link or code. Login prompt on invite link when logged out.
- Landing page, legal pages (Privacy, Terms), favicon, and the Patchwork visual identity.
- Vite build + Cloudflare Pages deployment with Bearer-token auth and a same-origin API proxy.