mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-10-06 10:48:12 +02:00
docs(release): curate stable notes for v2026.916.0 (#13522)
## Thinking Path > - Paperclip is the open source app people use to manage AI agents for work > - The release system publishes canary, nightly, beta, and stable channels; a stable promotion publishes its release notes as the GitHub Release body > - At beta publish time the workflow auto-drafts a raw commit-log skeleton on this branch (`releases/beta/v2026.916.0-beta.0.md`) for humans to edit > - The skeleton is a 1,800-line commit dump; stable `v2026.916.0` cannot ship user-facing notes in that form > - This pull request replaces the skeleton with the curated changelog for the `v2026.916.0` promotion: overview, breaking changes, highlights, fixes, upgrade guide, and contributor credits for the 483-commit range since `v2026.831.1` > - The benefit is that the stable promotion reads finished, accurate notes from master and publishes them as the release body ## Linked Issues or Issue Description Refs #13403, #13247, #13248, #13268, #13256, #13038, #13299 — the headline features this changelog describes. The notes-drafting flow itself (skeleton branch at beta publish, stable promotion reading the file from master, post-ship canonicalization) is the standing release process; this PR is the curation step it expects. ## What Changed - Replaced the auto-drafted skeleton in `releases/beta/v2026.916.0-beta.0.md` with the curated release notes for stable `v2026.916.0` (promoted from beta `2026.916.0-beta.0`, source `dffc2b3ca`) - Also removes the orphaned `releases/beta/v2026.915.0-beta.0.md`: that beta's promotion was abandoned before publishing, and this changelog supersedes it - Sections: overview, Breaking Changes (5), Highlights (Connections train leads), Improvements, Fixes, Upgrade Guide (migrations `0231`–`0279`, new env vars, removed API surface), Contributors ## Verification - Every PR link and claim was checked against the actual commit range `dbf052577..667c79ded` (the same range the skeleton header names) - Migration list enumerated from `git log --diff-filter=A` over that range; only `0231` and `0236` discard data, called out as such - New environment variables verified in code (`server/src/config.ts`): announcement flags (default on), split Sentry DSNs with legacy fallback, token-broker allowed hosts, cwd `.env` opt-out - Contributor list built from commit authors plus co-author trailers; core maintainers excluded per release-notes convention - Docs-only change: no code paths, no tests to add ## Risks - Low risk: documentation only. The stable promotion reads this file from master at dispatch time; if wording needs a follow-up after merge, the promotion pins the master revision it resolved, so edits must land before the stable dispatch - The file is renamed to `releases/v2026.916.0.md` by the post-ship canonicalization step, as with previous promotions ## Model Used Claude Fable 5 (`claude-fable-5`), extended thinking with tool use (Claude Code). The commit-range analysis and draft were produced by a subagent on the same model and human-review-style checked against the range before commit. ## Checklist - [x] I have included a thinking path that traces from project context to this change - [x] I have specified the model used (with version and capability details) - [x] I have checked ROADMAP.md and confirmed this PR does not duplicate planned core work - [x] I have searched GitHub for duplicate or related PRs and linked them above - [x] I have either (a) linked existing issues with `Fixes: #` / `Closes #` / `Refs #` OR (b) described the issue in-PR following the relevant issue template - [x] I have not referenced internal/instance-local Paperclip issues or links (only public GitHub `#NNN` / `github.com/paperclipai/paperclip` URLs) - [x] My branch name describes the change (e.g. `docs/...`, `fix/...`) and contains no internal Paperclip ticket id or instance-derived details - [x] I have run tests locally and they pass - [x] I have added or updated tests where applicable - [x] I have updated relevant documentation to reflect my changes - [x] I have considered and documented any risks above - [x] All Paperclip CI gates are green - [x] Greptile is 5/5 with no open P2s, recommendations, or follow-ups - [x] I will address all Greptile and reviewer comments before requesting merge --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This commit is contained in:
1 parent
18989a9e73
commit
de9ac61fb5
1 file changed
+8
-6
@@ -1,8 +1,8 @@
|
||||
# Paperclip v2026.915.0
|
||||
# Paperclip v2026.916.0
|
||||
|
||||
> Released: 2026-09-15
|
||||
> Released: 2026-09-16
|
||||
|
||||
Paperclip v2026.915.0 carries 483 commits, promoted from `2026.915.0-beta.0` published the same day. The headline is the Connections train: AI runtime credentials — Claude and Codex subscriptions, API keys, shared accounts — now live in Connections under the same grants and permission boundaries as every other account, follow the responsible person through hiring and task execution, and can be connected or repaired inline from the task that needs them. Around it: agents get their own email addresses through AgentMail, experimental chat connectors bring Slack, Discord, Telegram, Microsoft Teams, and (via Photon) iMessage conversations into tasks, GitHub access becomes durable per-person identities instead of one shared token, announcements arrive as native in-app cards, and the experimental Paperclip Runner grew from last release's groundwork into a complete execution engine — with the gate now open by default on self-hosted installs for explicitly configured agents.
|
||||
Paperclip v2026.916.0 carries 503 commits, promoted from `2026.916.0-beta.0` published the same day. The headline is the Connections train: AI runtime credentials — Claude and Codex subscriptions, API keys, shared accounts — now live in Connections under the same grants and permission boundaries as every other account, follow the responsible person through hiring and task execution, and can be connected or repaired inline from the task that needs them. Around it: agents get their own email addresses through AgentMail, experimental chat connectors bring Slack, Discord, Telegram, Microsoft Teams, and (via Photon) iMessage conversations into tasks, GitHub access becomes durable per-person identities instead of one shared token, announcements arrive as native in-app cards, and the experimental Paperclip Runner grew from last release's groundwork into a complete execution engine — with the gate now open by default on self-hosted installs for explicitly configured agents.
|
||||
|
||||
## Breaking Changes
|
||||
|
||||
@@ -27,7 +27,7 @@ Paperclip v2026.915.0 carries 483 commits, promoted from `2026.915.0-beta.0` pub
|
||||
- **Model and provider updates** — Claude Fable 5.1 is selectable in the Claude adapter with both direct Anthropic and Bedrock inference-profile IDs ([#12730](https://github.com/paperclipai/paperclip/pull/12730)); Codex gains GPT-6 Astra with its model-specific controls ([#12851](https://github.com/paperclipai/paperclip/pull/12851)); unset Claude models resolve to Opus 5 everywhere, with the default visible in agent configuration ([#13055](https://github.com/paperclipai/paperclip/pull/13055)). Grok joins the sandbox device-login panel with a private, company-scoped credential home, curated into remote subscription runs and refreshed credentials copied back to the host ([#12469](https://github.com/paperclipai/paperclip/pull/12469), [#12618](https://github.com/paperclipai/paperclip/pull/12618), [#12696](https://github.com/paperclipai/paperclip/pull/12696)). Each Codex account gets its own home and path secret, and an agent can bind to a Codex login other than the company default ([#12709](https://github.com/paperclipai/paperclip/pull/12709), [#13067](https://github.com/paperclipai/paperclip/pull/13067)).
|
||||
- **The native Paperclip Runner now does the whole job — and self-hosted installs get the gate open by default** — Last release's groundwork became a complete experimental execution engine behind the `enableNativeRunner` flag, which now defaults to **on for self-hosted instances** (cloud-managed instances keep it off) ([#13068](https://github.com/paperclipai/paperclip/pull/13068)): native Codex execution and a Claude ACPX runtime plus a qualified OpenCode runtime ([#12616](https://github.com/paperclipai/paperclip/pull/12616), [#12590](https://github.com/paperclipai/paperclip/pull/12590), [#12588](https://github.com/paperclipai/paperclip/pull/12588), [#12691](https://github.com/paperclipai/paperclip/pull/12691)), managed provider backends ([#12699](https://github.com/paperclipai/paperclip/pull/12699)), a remote execution substrate with secure transport ([#12638](https://github.com/paperclipai/paperclip/pull/12638), [#12639](https://github.com/paperclipai/paperclip/pull/12639)), administration and observability ([#12641](https://github.com/paperclipai/paperclip/pull/12641)), and native turns projected into task chat ([#12617](https://github.com/paperclipai/paperclip/pull/12617)). The control is one unified flag that gates every setup path ([#12656](https://github.com/paperclipai/paperclip/pull/12656), [#12666](https://github.com/paperclipai/paperclip/pull/12666)). The open default only unlocks the gate: explicitly configured local Codex, OpenCode, and qualified ACPX agents can use the runner, onboarding stays on legacy adapters, nothing switches automatically, and turning `enableNativeRunner` off in experimental settings closes it again.
|
||||
- **Controls for operators** — A managed experimental flag, `enableIsolatedWorkspacesByDefault`, makes every project without its own policy use isolated per-task git worktrees, so a fleet default no longer means editing each project by hand ([#13444](https://github.com/paperclipai/paperclip/pull/13444)). New standard-trust agents can hire other agents by default — low-trust agents keep the disabled default ([#12814](https://github.com/paperclipai/paperclip/pull/12814)). Sentry monitoring splits into `SENTRY_DSN_FRONTEND` and `SENTRY_DSN_BACKEND` with the old `SENTRY_DSN` still working as a fallback ([#12678](https://github.com/paperclipai/paperclip/pull/12678)). The experimental settings page sheds dead controls and groups developer tools ([#12681](https://github.com/paperclipai/paperclip/pull/12681)), and `PAPERCLIP_HIDDEN_SETTINGS` is honored in the production switcher menu too ([#12788](https://github.com/paperclipai/paperclip/pull/12788)).
|
||||
- **The task surface, refreshed** — A streamlined navigation foundation with refined task and workspace surfaces, consistent hover/popover/spacing behavior, and compact dashboard and Live-runs cards you can actually scan ([#12746](https://github.com/paperclipai/paperclip/pull/12746), [#12747](https://github.com/paperclipai/paperclip/pull/12747), [#12748](https://github.com/paperclipai/paperclip/pull/12748), [#12854](https://github.com/paperclipai/paperclip/pull/12854), [#12793](https://github.com/paperclipai/paperclip/pull/12793), [#13269](https://github.com/paperclipai/paperclip/pull/13269)). Work products get rich cards and a run-artifact inventory on the task Artifacts tab ([#12717](https://github.com/paperclipai/paperclip/pull/12717)), a `viewer=full` document deep link opens the maximized side pane straight from an external notification ([#12812](https://github.com/paperclipai/paperclip/pull/12812)), the composer gains a Stop control with simplified task controls, status badges, and inline blocker removal ([#13104](https://github.com/paperclipai/paperclip/pull/13104), [#13097](https://github.com/paperclipai/paperclip/pull/13097)), single-choice questions advance on selection ([#13234](https://github.com/paperclipai/paperclip/pull/13234)), runner activity condenses into rolling per-group summaries ([#13255](https://github.com/paperclipai/paperclip/pull/13255), [#13274](https://github.com/paperclipai/paperclip/pull/13274)), tasks created from a task are shown by project ([#13241](https://github.com/paperclipai/paperclip/pull/13241)), long task chats stay responsive during streaming ([#13229](https://github.com/paperclipai/paperclip/pull/13229), [#13228](https://github.com/paperclipai/paperclip/pull/13228)), and mobile gets real entity-picker sheets, full-width task trees, and spacing passes ([#13343](https://github.com/paperclipai/paperclip/pull/13343), [#13250](https://github.com/paperclipai/paperclip/pull/13250), [#13304](https://github.com/paperclipai/paperclip/pull/13304), [#13122](https://github.com/paperclipai/paperclip/pull/13122)).
|
||||
- **The task surface, refreshed** — A streamlined navigation foundation with refined task and workspace surfaces, consistent hover/popover/spacing behavior, and compact dashboard and Live-runs cards you can actually scan ([#12746](https://github.com/paperclipai/paperclip/pull/12746), [#12747](https://github.com/paperclipai/paperclip/pull/12747), [#12748](https://github.com/paperclipai/paperclip/pull/12748), [#12854](https://github.com/paperclipai/paperclip/pull/12854), [#12793](https://github.com/paperclipai/paperclip/pull/12793), [#13269](https://github.com/paperclipai/paperclip/pull/13269)). Work products get rich cards and a run-artifact inventory on the task Artifacts tab ([#12717](https://github.com/paperclipai/paperclip/pull/12717)), a `viewer=full` document deep link opens the maximized side pane straight from an external notification ([#12812](https://github.com/paperclipai/paperclip/pull/12812)), the composer gains a Stop control with simplified task controls, status badges, and inline blocker removal ([#13104](https://github.com/paperclipai/paperclip/pull/13104), [#13097](https://github.com/paperclipai/paperclip/pull/13097)), single-choice questions advance on selection ([#13234](https://github.com/paperclipai/paperclip/pull/13234)), runner activity condenses into rolling per-group summaries shared across live and saved views ([#13255](https://github.com/paperclipai/paperclip/pull/13255), [#13274](https://github.com/paperclipai/paperclip/pull/13274), [#13421](https://github.com/paperclipai/paperclip/pull/13421)), tasks created from a task are shown by project ([#13241](https://github.com/paperclipai/paperclip/pull/13241)), long task chats stay responsive during streaming ([#13229](https://github.com/paperclipai/paperclip/pull/13229), [#13228](https://github.com/paperclipai/paperclip/pull/13228)), and mobile gets real entity-picker sheets, full-width task trees, and spacing passes ([#13343](https://github.com/paperclipai/paperclip/pull/13343), [#13250](https://github.com/paperclipai/paperclip/pull/13250), [#13304](https://github.com/paperclipai/paperclip/pull/13304), [#13122](https://github.com/paperclipai/paperclip/pull/13122)).
|
||||
- **Task search that finds the task** — Full and quick search unify around PostgreSQL term coverage with explicit relevance bands and conservative typo recovery, judged against a scored corpus. ([#13335](https://github.com/paperclipai/paperclip/pull/13335))
|
||||
- **Try it without touching your data** — A foreground-only `test-drive` CLI command boots an isolated instance with its own data directory and a provider-backed CEO, with reuse safeguards and restored credential inputs ([#12894](https://github.com/paperclipai/paperclip/pull/12894), [#12898](https://github.com/paperclipai/paperclip/pull/12898)); server startup no longer opens a browser unless explicitly asked ([#12435](https://github.com/paperclipai/paperclip/pull/12435)).
|
||||
- **Sandbox runs got faster and sturdier** — Warm Daytona workspaces persist across turns with the host workspace staying the durability boundary ([#12904](https://github.com/paperclipai/paperclip/pull/12904), [#12901](https://github.com/paperclipai/paperclip/pull/12901)), the HTTP/2 sandbox bridge carries binary bodies and attachment routes ([#12923](https://github.com/paperclipai/paperclip/pull/12923)), selected skills stage into remote Claude ACP runs ([#13196](https://github.com/paperclipai/paperclip/pull/13196)), and a lost sandbox control channel fails the turn fast instead of hanging it ([#13158](https://github.com/paperclipai/paperclip/pull/13158)).
|
||||
@@ -36,8 +36,10 @@ Paperclip v2026.915.0 carries 483 commits, promoted from `2026.915.0-beta.0` pub
|
||||
|
||||
- **Server security and correctness** — Privileged server boundaries are hardened ([#12776](https://github.com/paperclipai/paperclip/pull/12776)), project goal ids are validated to exist and belong to the company ([#12779](https://github.com/paperclipai/paperclip/pull/12779)), `listComments` no longer 500s on a non-UUID `afterCommentId` ([#8695](https://github.com/paperclipai/paperclip/pull/8695), @Maxxsong7), and the Docker quickstart passes `PAPERCLIP_ALLOWED_HOSTNAMES` through ([#6846](https://github.com/paperclipai/paperclip/pull/6846), @rsclafani).
|
||||
- **The database pool heals instead of wedging** — Idle connections are reaped, the pool is named and ended on shutdown — closing the restart-loop that piled up backends until PostgreSQL refused every boot ([#12956](https://github.com/paperclipai/paperclip/pull/12956), @stubbi) — and a query whose socket write failed on a recycled pooled connection is replayed instead of failing the request ([#13417](https://github.com/paperclipai/paperclip/pull/13417)).
|
||||
- **Onboarding connect step shows its work** — Provider sign-in during onboarding now shows verification progress and confirms the subscription before moving on, instead of appearing to hang ([#13499](https://github.com/paperclipai/paperclip/pull/13499)), and a stale or expired Claude credentials file on the machine is skipped when reading the token instead of breaking sign-in ([#13505](https://github.com/paperclipai/paperclip/pull/13505)).
|
||||
- **More connections reliability** — Personal MCP authentication discovery is unblocked ([#13497](https://github.com/paperclipai/paperclip/pull/13497)), and one OpenAI or xAI subscription connection supports concurrent agent runs, matching the Anthropic fix in this release ([#13452](https://github.com/paperclipai/paperclip/pull/13452)).
|
||||
- **Recovery and wakes** — Hidden issues are excluded from stranded recovery and continuation wakes ([#5648](https://github.com/paperclipai/paperclip/pull/5648), @im0xMagnus), blocked wakes wait without spawning repeated runs ([#13236](https://github.com/paperclipai/paperclip/pull/13236)), stale continuation wakes are rejected ([#13173](https://github.com/paperclipai/paperclip/pull/13173)), messages you sent while a run was stopping are saved and delivered after recovery instead of vanishing ([#13327](https://github.com/paperclipai/paperclip/pull/13327), [#13270](https://github.com/paperclipai/paperclip/pull/13270), [#13405](https://github.com/paperclipai/paperclip/pull/13405)), user messages can continue a stopped native task ([#13239](https://github.com/paperclipai/paperclip/pull/13239)), retry-exhaustion events no longer exhaust attention-feed memory ([#13451](https://github.com/paperclipai/paperclip/pull/13451)), starting runs survive overlapping deployments ([#13285](https://github.com/paperclipai/paperclip/pull/13285)), and run polling and workspace inspection amplification are reduced ([#13174](https://github.com/paperclipai/paperclip/pull/13174)).
|
||||
- **Sandboxes and workspaces** — A stuck sandbox plugin blocks runs visibly and errored bundled plugins re-enable at boot ([#12957](https://github.com/paperclipai/paperclip/pull/12957), @stubbi), stalled sandbox startup cancels without waiting out setup ([#13352](https://github.com/paperclipai/paperclip/pull/13352)), workspace setup recovers and retries ([#13353](https://github.com/paperclipai/paperclip/pull/13353)), legacy Daytona startup failures recover from the task and inbox ([#13272](https://github.com/paperclipai/paperclip/pull/13272)), all of a project's repositories are provisioned for local and sandbox tasks ([#13442](https://github.com/paperclipai/paperclip/pull/13442)), and run-event payloads preserve NUL characters ([#13325](https://github.com/paperclipai/paperclip/pull/13325)).
|
||||
- **Sandboxes and workspaces** — A stuck sandbox plugin blocks runs visibly and errored bundled plugins re-enable at boot ([#12957](https://github.com/paperclipai/paperclip/pull/12957), @stubbi), stalled sandbox startup cancels without waiting out setup ([#13352](https://github.com/paperclipai/paperclip/pull/13352)), workspace setup recovers and retries ([#13353](https://github.com/paperclipai/paperclip/pull/13353)), legacy Daytona startup failures recover from the task and inbox ([#13272](https://github.com/paperclipai/paperclip/pull/13272)), all of a project's repositories are provisioned for local and sandbox tasks ([#13442](https://github.com/paperclipai/paperclip/pull/13442)), transient workspace bootstrap scans recover instead of failing the run ([#13481](https://github.com/paperclipai/paperclip/pull/13481)), sandbox files publish on both legacy and native runners ([#13493](https://github.com/paperclipai/paperclip/pull/13493)), and run-event payloads preserve NUL characters ([#13325](https://github.com/paperclipai/paperclip/pull/13325)).
|
||||
- **The web app** — The service worker is stamped with a per-build id so deploys actually reach parked tabs ([#12725](https://github.com/paperclipai/paperclip/pull/12725)), workspace-ready notices render as compact system notices instead of agent bubbles ([#12716](https://github.com/paperclipai/paperclip/pull/12716)), feed cards are fully clickable ([#13294](https://github.com/paperclipai/paperclip/pull/13294)), the task-page archive shortcut is back ([#13253](https://github.com/paperclipai/paperclip/pull/13253)), agent instructions no longer save falsely ([#12502](https://github.com/paperclipai/paperclip/pull/12502)), company navigation is limited to accessible memberships ([#13039](https://github.com/paperclipai/paperclip/pull/13039)), Recent Tasks stops echoing storage feedback across tabs ([#13402](https://github.com/paperclipai/paperclip/pull/13402)), and plan-to-auto transitions only happen on plan confirmation ([#12695](https://github.com/paperclipai/paperclip/pull/12695)).
|
||||
- **Adapters** — The qualifier-less Claude usage-limit message is detected in quota classification ([#12475](https://github.com/paperclipai/paperclip/pull/12475)), Codex sign-in and the environment test agree on which credential a run uses ([#13064](https://github.com/paperclipai/paperclip/pull/13064)), Codex startup trust, history reads, and resume usage are corrected ([#13110](https://github.com/paperclipai/paperclip/pull/13110)), Grok stages its environment test from a host directory and survives an absent workspace ([#13416](https://github.com/paperclipai/paperclip/pull/13416)), and unintended engine fallback is prevented while preserving usable runtime defaults ([#13105](https://github.com/paperclipai/paperclip/pull/13105)).
|
||||
|
||||
@@ -55,6 +57,6 @@ Paperclip v2026.915.0 carries 483 commits, promoted from `2026.915.0-beta.0` pub
|
||||
|
||||
## Contributors
|
||||
|
||||
This release has 483 commits from 15 contributors. Thank you to everyone who contributed to this release!
|
||||
This release has 503 commits from 15 contributors. Thank you to everyone who contributed to this release!
|
||||
|
||||
@aaymeloglu, @glovario, @im0xMagnus, @lorenzozane, @Maxxsong7, @melbinjp, @rsclafani, @stubbi, @zannis
|
||||
Reference in new issue
Block a user