mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-11-04 19:28:46 +01:00
docs(release): prepare v2026.1103.0 stable notes before publish (#18842)
<!-- Write all pull request text in Simplified Technical English (ASD-STE100): short sentences, one instruction per sentence, simple approved vocabulary, and the active voice. --> ## Thinking Path > - Paperclip is the open source app people use to manage AI agents for work. > - Each stable release publishes curated release notes as its GitHub Release body. > - The stable release workflow reads `releases/beta/v2026.1023.0-beta.0.md` from master when it starts. It publishes that exact revision. > - The beta notes have a guessed version and date (v2026.1026.0, 2026-10-26). That version did not ship. > - An audit of the notes against the commit range also found a wrong contributor count and three missing fixes for self-hosted users. > - This pull request corrects the notes before the stable release starts. > - The benefit is that the v2026.1103.0 release page shows the correct version, date, counts, and fixes. ## Linked Issues or Issue Description Refs #17388 (the curated notes for the `2026.1023.0-beta.0` soak). **Problem** The stable notes for the promotion of `2026.1023.0-beta.0` show v2026.1026.0 and the date 2026-10-26. `scripts/release.sh stable --print-version --date 2026-11-03` on master gives `2026.1103.0`. The notes also have a contributor count that does not match the release convention, and they do not include three user-facing fixes. **Expected result** The notes show `# Paperclip v2026.1103.0` and `> Released: 2026-11-03`. The counts and the cited fixes match the range `v2026.1023.0..d69631b01b9c658f80bf8bed389863dce82643e1`. **Impact** The stable workflow publishes these notes as the GitHub Release body. If this pull request does not merge before the release starts, the release page shows the incorrect version and date. ## What Changed - Set the H1 to `# Paperclip v2026.1103.0`, the release line to `> Released: 2026-11-03`, and the version in the intro paragraph. - Changed the contributor count from 26 to 27. `git shortlog -sn v2026.1023.0..d69631b` without `github-actions[bot]` gives 27 authors. This is the same rule as the v2026.1023.0 and v2026.1012.0 notes, which count `dependabot[bot]`. The list of 21 credited handles does not change. - Added three fixes that self-hosted users can see and that the notes did not cite: - #16357: when you stop a queued run before it starts, its saved follow-up stays saved and does not run (Runs, recovery, and Retry). - #17259: if a sandbox has a preinstalled Claude CLI that is too old for the selected model, setup installs the required version privately (Adapters and CLI). - #16494: the Slack eyes reaction also works in direct messages (Slack highlight). - No other text changes. The diff is 7 lines in one file. ## Verification - `git rev-list --count v2026.1023.0..d69631b01b9c658f80bf8bed389863dce82643e1` = 515. This matches the notes. - All 255 cited PR numbers are in that range. Eight squash commits in the range have no `(#N)` suffix. The commits-to-pulls API maps them to #16356, #16976, #16441, #16403, #16404, #16401, #14180, and #16215. - Of the 260 PRs in the range that the notes do not cite, the audit found them to be tests, CI, refactors, docs, performance internals, or follow-up fixes to features that this release adds and the notes already describe. Six are Paperclip Cloud-only (#16953, #16907, #16876, #16254, #16033, #16259), and the notes do not include them. One is a hidden, default-off pilot (#16984). - The migrations in the range are `0334`–`0374` (41 files). This matches the Upgrade Guide. The defaults for the new environment variables in `server/src/config.ts` and `server/src/sentry-run-failure-policy.ts` match the Upgrade Guide. - The handles @lucktastic and @MindSyncHub come from the commit author records. - The file on this branch has blob `ef11a77a4b267b9f8d459900ba7b43098841c410`, which is identical to the locally checked edit. ## Risks - Low risk. This is a change to documentation only, in one file. - After this pull request merges, the stable workflow publishes the merged revision as the release body. If the release starts after 2026-11-03 UTC, the workflow uses `stable_date=2026-11-03` so that the version stays the same as the header. ## Model Used - Claude Opus 5.5 (`claude-opus-5-5`) through Claude Code, with tool use (shell, git, GitHub API). Used for the notes audit and the edits. ## 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 - [ ] I have run tests locally and they pass (documentation only; no tests apply) - [ ] I have added or updated tests where applicable (not applicable) - [x] I have updated relevant documentation to reflect my changes - [x] I have considered and documented any risks above - [ ] All Paperclip CI gates are green - [ ] Greptile is 5/5 with no open P2s, recommendations, or follow-ups - [x] I will address all Greptile and reviewer comments before requesting merge 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
a00109aa35
commit
ccee3e4493
1 file changed
+7
-7
@@ -1,8 +1,8 @@
|
||||
# Paperclip v2026.1026.0
|
||||
# Paperclip v2026.1103.0
|
||||
|
||||
> Released: 2026-10-26
|
||||
> Released: 2026-11-03
|
||||
|
||||
Paperclip v2026.1026.0 carries 515 commits, promoted from `2026.1023.0-beta.0`. The headline is that the Paperclip Runner is now the default for new agents: new Claude, Codex, OpenCode, and Pi agents start on the native Runner on qualified macOS and Linux hosts, existing agents get a one-click "Upgrade runner" action, and GitHub Copilot joins as a native harness. Around that: project repositories that automatically become skill sources, model-backed prompt injection prevention, agent observability to Braintrust or any OTLP endpoint, a unified Google Workspace connection, bulk edits on the Agents roster, workspaces that compact and expire themselves with encrypted restore points, and Grok Bot and Muse as experimental Runner providers. Underneath, server restarts report ready sooner, the Docker image boots from a precompiled bundle, task pages load faster, and more background services stop polling the database.
|
||||
Paperclip v2026.1103.0 carries 515 commits, promoted from `2026.1023.0-beta.0`. The headline is that the Paperclip Runner is now the default for new agents: new Claude, Codex, OpenCode, and Pi agents start on the native Runner on qualified macOS and Linux hosts, existing agents get a one-click "Upgrade runner" action, and GitHub Copilot joins as a native harness. Around that: project repositories that automatically become skill sources, model-backed prompt injection prevention, agent observability to Braintrust or any OTLP endpoint, a unified Google Workspace connection, bulk edits on the Agents roster, workspaces that compact and expire themselves with encrypted restore points, and Grok Bot and Muse as experimental Runner providers. Underneath, server restarts report ready sooner, the Docker image boots from a precompiled bundle, task pages load faster, and more background services stop polling the database.
|
||||
|
||||
## Breaking Changes
|
||||
|
||||
@@ -24,7 +24,7 @@ Paperclip v2026.1026.0 carries 515 commits, promoted from `2026.1023.0-beta.0`.
|
||||
- **Bulk edits on the Agents roster** — Select rows and filter by harness to change the AI connection, the default model, or both for many agents at once, with a preview and retry for failed updates; the roster's status selector is removed and paused agents show a badge instead of dimming ([#17215](https://github.com/paperclipai/paperclip/pull/17215)). The agent Overview shows who created an agent in companies with more than one person ([#16055](https://github.com/paperclipai/paperclip/pull/16055)).
|
||||
- **Grok Bot and Muse, both experimental** — Grok Bot lets you invite an existing Grok Bot as an agent that receives assignments through a webhook routine and works through a dedicated agent-OAuth MCP connection, with guided setup, pairing codes, progress, questions, documents, and files flowing back into the task, and Stop and recovery controls; provider spending is not reported ([#16219](https://github.com/paperclipai/paperclip/pull/16219), [#16338](https://github.com/paperclipai/paperclip/pull/16338), [#16274](https://github.com/paperclipai/paperclip/pull/16274), [#16305](https://github.com/paperclipai/paperclip/pull/16305)). Muse pairs a personal Meta Muse through a wake-only receiver and Vault-backed OAuth with a ten-minute single-use ticket, with readiness, credential expiry, and disconnect controls in the invite dialog ([#16444](https://github.com/paperclipai/paperclip/pull/16444), [#16447](https://github.com/paperclipai/paperclip/pull/16447), [#16448](https://github.com/paperclipai/paperclip/pull/16448), [#16450](https://github.com/paperclipai/paperclip/pull/16450)).
|
||||
- **Talk to an agent with Speko** — A Speko entry in the Apps catalog connects a Speko persona to an existing agent so you can talk to it by browser voice or phone from a task, with transcripts, call controls, inbound-line settings, phone callbacks, and call entries in Activity; shown while the **Chat connectors** experimental setting is on ([#15728](https://github.com/paperclipai/paperclip/pull/15728)).
|
||||
- **Slack bots, refined** — Slack connection Settings are simplified around "Open Slack configuration" and a "Send test message" row, with "Use your own app" under Advanced ([#15679](https://github.com/paperclipai/paperclip/pull/15679)); plain direct messages always start or continue work even when **Require at-mention** is on for channel threads ([#16151](https://github.com/paperclipai/paperclip/pull/16151)); and the eyes reaction appears as soon as a mention is accepted ([#16491](https://github.com/paperclipai/paperclip/pull/16491)).
|
||||
- **Slack bots, refined** — Slack connection Settings are simplified around "Open Slack configuration" and a "Send test message" row, with "Use your own app" under Advanced ([#15679](https://github.com/paperclipai/paperclip/pull/15679)); plain direct messages always start or continue work even when **Require at-mention** is on for channel threads ([#16151](https://github.com/paperclipai/paperclip/pull/16151)); and the eyes reaction appears as soon as a mention is accepted, including in direct messages ([#16491](https://github.com/paperclipai/paperclip/pull/16491), [#16494](https://github.com/paperclipai/paperclip/pull/16494)).
|
||||
- **A sturdier GitHub review bot** — The bot keeps one main PR comment updated across pushes, ignores messages addressed to other bots, and marks stopped work accurately ([#16901](https://github.com/paperclipai/paperclip/pull/16901)); summary comments are headed with the bot's display name so several bots on one PR are distinguishable ([#16212](https://github.com/paperclipai/paperclip/pull/16212)); publication retries through GitHub 503/429 with bounded backoff and survives restarts without duplicate comments or checks ([#16284](https://github.com/paperclipai/paperclip/pull/16284), [#16883](https://github.com/paperclipai/paperclip/pull/16883)); GitHub bot tools get the gateway's 60-second maximum so `submit_review` no longer times out ([#16275](https://github.com/paperclipai/paperclip/pull/16275)); and settings show a "Reconnect GitHub" notice with reconnect-the-saved-App as the first option ([#16856](https://github.com/paperclipai/paperclip/pull/16856)).
|
||||
- **More apps in the catalog** — Daytona, with personal or shared API-key credentials and 274 generated actions for sandboxes, snapshots, volumes, files, Git, and commands ([#16483](https://github.com/paperclipai/paperclip/pull/16483)); Unikraft Cloud, with actions generated from its OpenAPI specs and a per-connection default metro ([#17139](https://github.com/paperclipai/paperclip/pull/17139)); and Ditto ([#16472](https://github.com/paperclipai/paperclip/pull/16472)). A provider card with several connections collapses them behind an "N connections" row ([#16097](https://github.com/paperclipai/paperclip/pull/16097)).
|
||||
- **Agent commentary in Audit** — The complaints and suggestions agents file about their tooling now have a home: Audit gains a Commentary tab with agent and type filters, text search, paging, and shareable links ([#16884](https://github.com/paperclipai/paperclip/pull/16884)), readable by every human role through a new `commentary:view` permission ([#16903](https://github.com/paperclipai/paperclip/pull/16903)).
|
||||
@@ -32,11 +32,11 @@ Paperclip v2026.1026.0 carries 515 commits, promoted from `2026.1023.0-beta.0`.
|
||||
## Fixes
|
||||
|
||||
- **Workspaces and sandboxes** — A remote sandbox whose run failed before export, whose lease was cleaned up with unexported work, or whose task was cancelled before reconstruction is kept with its files behind an explicit repair decision instead of being deleted by cleanup ([#16397](https://github.com/paperclipai/paperclip/pull/16397), [#16583](https://github.com/paperclipai/paperclip/pull/16583), [#16700](https://github.com/paperclipai/paperclip/pull/16700)); a task whose sandbox was destroyed before export offers a board-only "Continue from saved sources" action ([#16690](https://github.com/paperclipai/paperclip/pull/16690)); files left in a stopped run's sandbox are recovered automatically and saved follow-ups delivered once ([#16906](https://github.com/paperclipai/paperclip/pull/16906)); a shutdown-time workspace export keeps its ownership through the finalizer drain ([#16843](https://github.com/paperclipai/paperclip/pull/16843)); a long copy-back no longer loses its lock to PostgreSQL's idle-transaction timeout ([#16340](https://github.com/paperclipai/paperclip/pull/16340), [#16956](https://github.com/paperclipai/paperclip/pull/16956)); resuming a stopped reusable sandbox honors the environment's startup timeout instead of a fixed 60 seconds ([#16802](https://github.com/paperclipai/paperclip/pull/16802)); a single timed-out health check no longer replaces a remote Runner ([#16835](https://github.com/paperclipai/paperclip/pull/16835)); runs on repositories with thousands of historical workspaces no longer sit in "preparing" for hours ([#16372](https://github.com/paperclipai/paperclip/pull/16372), [#16334](https://github.com/paperclipai/paperclip/pull/16334), [#16342](https://github.com/paperclipai/paperclip/pull/16342), [#16963](https://github.com/paperclipai/paperclip/pull/16963)); a shared checkout no longer stays blocked by a reader whose identity is gone ([#16928](https://github.com/paperclipai/paperclip/pull/16928)) and a workspace blocked by another task's restricted worktree gets a clear configuration notice instead of an opaque 403 ([#16545](https://github.com/paperclipai/paperclip/pull/16545), [#16895](https://github.com/paperclipai/paperclip/pull/16895)); a child task inheriting a busy shared workspace waits instead of failing with a misleading secrets error ([#16371](https://github.com/paperclipai/paperclip/pull/16371)); and creating a task with the isolation selector hidden no longer fails setup ([#16220](https://github.com/paperclipai/paperclip/pull/16220)).
|
||||
- **Runs, recovery, and Retry** — Tasks held behind a retained-workspace or failed-run hold get one reliable task-level Retry that preserves files, settles accepted results, or starts an independent workspace ([#16965](https://github.com/paperclipai/paperclip/pull/16965), [#17053](https://github.com/paperclipai/paperclip/pull/17053), [#16894](https://github.com/paperclipai/paperclip/pull/16894), [#16104](https://github.com/paperclipai/paperclip/pull/16104)); Stop prevents automatic continuation until you resume ([#17105](https://github.com/paperclipai/paperclip/pull/17105), [#14180](https://github.com/paperclipai/paperclip/pull/14180)); a server restart no longer strands native runs on permanent holds, repeats saved completions, or overwrites operator stops set in the meantime ([#16349](https://github.com/paperclipai/paperclip/pull/16349), [#16962](https://github.com/paperclipai/paperclip/pull/16962), [#16403](https://github.com/paperclipai/paperclip/pull/16403), [#15824](https://github.com/paperclipai/paperclip/pull/15824)); legacy runs killed or lease-lost before dispatch are retried instead of settled as failed ([#16355](https://github.com/paperclipai/paperclip/pull/16355), [#16358](https://github.com/paperclipai/paperclip/pull/16358)), a slow completion no longer fails a live controller ([#16622](https://github.com/paperclipai/paperclip/pull/16622)), and slow unrelated queries no longer cost legacy runs their lease ([#17032](https://github.com/paperclipai/paperclip/pull/17032)); a normal comment on an in-progress task no longer cancels its running retry ([#16855](https://github.com/paperclipai/paperclip/pull/16855)); messages for paused agents or for an agent other than the task owner are delivered once instead of being failed or deferred forever ([#16679](https://github.com/paperclipai/paperclip/pull/16679), [#16673](https://github.com/paperclipai/paperclip/pull/16673)); an agent stuck marked "running" is repaired after a five-minute grace period ([#16791](https://github.com/paperclipai/paperclip/pull/16791)); a Claude (ACP) run with a stalled tool call fails after 30 minutes instead of running to the four-hour timeout, and MCP calls get a 15-minute timeout ([#16671](https://github.com/paperclipai/paperclip/pull/16671), [#16360](https://github.com/paperclipai/paperclip/pull/16360)); a max-turns exhaustion is no longer misclassified as a missing model ([#13885](https://github.com/paperclipai/paperclip/pull/13885)); and a Codex "model at capacity" reply is retried as transient ([#16407](https://github.com/paperclipai/paperclip/pull/16407)).
|
||||
- **Runs, recovery, and Retry** — Tasks held behind a retained-workspace or failed-run hold get one reliable task-level Retry that preserves files, settles accepted results, or starts an independent workspace ([#16965](https://github.com/paperclipai/paperclip/pull/16965), [#17053](https://github.com/paperclipai/paperclip/pull/17053), [#16894](https://github.com/paperclipai/paperclip/pull/16894), [#16104](https://github.com/paperclipai/paperclip/pull/16104)); Stop prevents automatic continuation until you resume ([#17105](https://github.com/paperclipai/paperclip/pull/17105), [#14180](https://github.com/paperclipai/paperclip/pull/14180)); a server restart no longer strands native runs on permanent holds, repeats saved completions, or overwrites operator stops set in the meantime ([#16349](https://github.com/paperclipai/paperclip/pull/16349), [#16962](https://github.com/paperclipai/paperclip/pull/16962), [#16403](https://github.com/paperclipai/paperclip/pull/16403), [#15824](https://github.com/paperclipai/paperclip/pull/15824)); legacy runs killed or lease-lost before dispatch are retried instead of settled as failed ([#16355](https://github.com/paperclipai/paperclip/pull/16355), [#16358](https://github.com/paperclipai/paperclip/pull/16358)), a slow completion no longer fails a live controller ([#16622](https://github.com/paperclipai/paperclip/pull/16622)), and slow unrelated queries no longer cost legacy runs their lease ([#17032](https://github.com/paperclipai/paperclip/pull/17032)); a normal comment on an in-progress task no longer cancels its running retry ([#16855](https://github.com/paperclipai/paperclip/pull/16855)), and stopping a queued run before it starts keeps its saved follow-up instead of running it anyway ([#16357](https://github.com/paperclipai/paperclip/pull/16357)); messages for paused agents or for an agent other than the task owner are delivered once instead of being failed or deferred forever ([#16679](https://github.com/paperclipai/paperclip/pull/16679), [#16673](https://github.com/paperclipai/paperclip/pull/16673)); an agent stuck marked "running" is repaired after a five-minute grace period ([#16791](https://github.com/paperclipai/paperclip/pull/16791)); a Claude (ACP) run with a stalled tool call fails after 30 minutes instead of running to the four-hour timeout, and MCP calls get a 15-minute timeout ([#16671](https://github.com/paperclipai/paperclip/pull/16671), [#16360](https://github.com/paperclipai/paperclip/pull/16360)); a max-turns exhaustion is no longer misclassified as a missing model ([#13885](https://github.com/paperclipai/paperclip/pull/13885)); and a Codex "model at capacity" reply is retried as transient ([#16407](https://github.com/paperclipai/paperclip/pull/16407)).
|
||||
- **Chat and task UI** — Dismissing a request above the composer clears the badge, survives reload, and no longer blocks Retry ([#17218](https://github.com/paperclipai/paperclip/pull/17218)); a message to a Runner agent no longer briefly swaps its avatar for a generic "Working" row ([#16989](https://github.com/paperclipai/paperclip/pull/16989)); a consumed follow-up leaves the pending queue ([#16317](https://github.com/paperclipai/paperclip/pull/16317)); the final reply of a worktree task is no longer replaced by the "workspace ready" notice ([#16400](https://github.com/paperclipai/paperclip/pull/16400)); a file attached before the first Agent Chat message survives task creation ([#16896](https://github.com/paperclipai/paperclip/pull/16896)); task toasts in a multi-user company appear only for people involved in the task ([#16153](https://github.com/paperclipai/paperclip/pull/16153)); loading a task list no longer adds unrelated finished tasks to your inbox ([#16063](https://github.com/paperclipai/paperclip/pull/16063)); replies default to the latest agent that assigned you the task ([#15594](https://github.com/paperclipai/paperclip/pull/15594)); side panel tabs keep a steady width ([#17068](https://github.com/paperclipai/paperclip/pull/17068), [#14949](https://github.com/paperclipai/paperclip/pull/14949)); Markdown editors no longer show unsaved changes on load ([#13915](https://github.com/paperclipai/paperclip/pull/13915)); and a Slack task that yields to a scheduled continuation returns its result to the original thread ([#17045](https://github.com/paperclipai/paperclip/pull/17045)).
|
||||
- **Costs and budgets** — A budget at its warning threshold renders as a warning instead of a false "AGENT HARD STOP" banner ([#16201](https://github.com/paperclipai/paperclip/pull/16201)), and budget checks no longer scale with the number of unrelated idle agents in the company ([#17046](https://github.com/paperclipai/paperclip/pull/17046)).
|
||||
- **Connections and MCP** — One failed remote MCP call no longer makes every sibling tool on that connection unavailable ([#16890](https://github.com/paperclipai/paperclip/pull/16890)); a provider 403 on one chat operation no longer disables the whole Slack, GitHub, or Discord connection ([#16847](https://github.com/paperclipai/paperclip/pull/16847), [#16138](https://github.com/paperclipai/paperclip/pull/16138)); GitHub and Slack channel tools stay available on later runs of the same task ([#16806](https://github.com/paperclipai/paperclip/pull/16806)); several GitHub review-thread replies each get their own follow-up run ([#17054](https://github.com/paperclipai/paperclip/pull/17054)) and identical tool descriptors are listed once ([#16281](https://github.com/paperclipai/paperclip/pull/16281)); a large MCP catalog refresh no longer lists a tool twice or deadlocks with an OAuth callback ([#16602](https://github.com/paperclipai/paperclip/pull/16602)); assigned tool results over about 500 KB return a bounded reference and a `read_tool_result` tool instead of hanging ([#16980](https://github.com/paperclipai/paperclip/pull/16980)); legacy Codex shell commands can see explicitly assigned service secrets ([#17216](https://github.com/paperclipai/paperclip/pull/17216)); native-runner `call_api` follows the route's own permissions without an extra denylist ([#16040](https://github.com/paperclipai/paperclip/pull/16040)); and sandboxed agents can read run history, attachments, skill files, and recovery records and send the bridge token as `X-API-Key` ([#16575](https://github.com/paperclipai/paperclip/pull/16575), [#16892](https://github.com/paperclipai/paperclip/pull/16892), [#12785](https://github.com/paperclipai/paperclip/pull/12785)).
|
||||
- **Adapters and CLI** — An unlimited Claude run no longer fails its CLI probe after one second ([#15329](https://github.com/paperclipai/paperclip/pull/15329)); concurrent remote Claude runs of one agent no longer break each other's skill staging ([#17061](https://github.com/paperclipai/paperclip/pull/17061)); an isolated Claude task with assigned MCP tools starts ([#17149](https://github.com/paperclipai/paperclip/pull/17149)); a Claude (ACP) server install no longer fails because the ACP bridge was missing from the server package ([#15912](https://github.com/paperclipai/paperclip/pull/15912)); a Runner OpenCode turn survives oversized SSE events ([#16401](https://github.com/paperclipai/paperclip/pull/16401)) and uses the run's managed GitHub credentials in shell commands ([#16488](https://github.com/paperclipai/paperclip/pull/16488)); Hermes calls back at the adapter's configured API URL ([#9425](https://github.com/paperclipai/paperclip/pull/9425)); `pi_local` run logs are about 150× smaller ([#10249](https://github.com/paperclipai/paperclip/pull/10249)); `paperclipai install` and `update` work with npm 12 and Node 26 ([#14000](https://github.com/paperclipai/paperclip/pull/14000)); `paperclipai service install` no longer writes a service that crash-loops on a missing managed shim ([#13985](https://github.com/paperclipai/paperclip/pull/13985)); and the CLI browser login honors rate-limit `Retry-After` headers ([#16482](https://github.com/paperclipai/paperclip/pull/16482)).
|
||||
- **Adapters and CLI** — An unlimited Claude run no longer fails its CLI probe after one second ([#15329](https://github.com/paperclipai/paperclip/pull/15329)); concurrent remote Claude runs of one agent no longer break each other's skill staging ([#17061](https://github.com/paperclipai/paperclip/pull/17061)); an isolated Claude task with assigned MCP tools starts ([#17149](https://github.com/paperclipai/paperclip/pull/17149)); a sandbox whose preinstalled Claude CLI is older than the selected model needs gets the required version installed privately during setup instead of failing the version check ([#17259](https://github.com/paperclipai/paperclip/pull/17259)); a Claude (ACP) server install no longer fails because the ACP bridge was missing from the server package ([#15912](https://github.com/paperclipai/paperclip/pull/15912)); a Runner OpenCode turn survives oversized SSE events ([#16401](https://github.com/paperclipai/paperclip/pull/16401)) and uses the run's managed GitHub credentials in shell commands ([#16488](https://github.com/paperclipai/paperclip/pull/16488)); Hermes calls back at the adapter's configured API URL ([#9425](https://github.com/paperclipai/paperclip/pull/9425)); `pi_local` run logs are about 150× smaller ([#10249](https://github.com/paperclipai/paperclip/pull/10249)); `paperclipai install` and `update` work with npm 12 and Node 26 ([#14000](https://github.com/paperclipai/paperclip/pull/14000)); `paperclipai service install` no longer writes a service that crash-loops on a missing managed shim ([#13985](https://github.com/paperclipai/paperclip/pull/13985)); and the CLI browser login honors rate-limit `Retry-After` headers ([#16482](https://github.com/paperclipai/paperclip/pull/16482)).
|
||||
- **Server and Docker** — Startup no longer fails on legacy `SQL_ASCII` databases ([#16958](https://github.com/paperclipai/paperclip/pull/16958)) or crashes on a scheme-less `publicBaseUrl` ([#13727](https://github.com/paperclipai/paperclip/pull/13727)); a server behind a reverse proxy with slow PTR lookups no longer stops responding for minutes after upgrading ([#16333](https://github.com/paperclipai/paperclip/pull/16333), [#16335](https://github.com/paperclipai/paperclip/pull/16335)); one dropped pooled connection no longer fails permission checks, workspace readiness, or the reaper ([#16857](https://github.com/paperclipai/paperclip/pull/16857), [#16859](https://github.com/paperclipai/paperclip/pull/16859)); Docker boots with many files on the data volume or a non-default `USER_UID`/`USER_GID` no longer walk the whole volume ([#15992](https://github.com/paperclipai/paperclip/pull/15992), [#16475](https://github.com/paperclipai/paperclip/pull/16475)); both shipped Compose files forward `PAPERCLIP_TOOL_ACTION_SIGNING_SECRET` ([#15202](https://github.com/paperclipai/paperclip/pull/15202)); a Stop that outlasts sync-back returns a retryable 409 instead of a 500 ([#16032](https://github.com/paperclipai/paperclip/pull/16032)); concurrent task title edits no longer 500 ([#13898](https://github.com/paperclipai/paperclip/pull/13898)); one malformed comment ID no longer blocks a task's queued wakes ([#13912](https://github.com/paperclipai/paperclip/pull/13912)); watchdog wakes deliver the operator's instructions ([#13771](https://github.com/paperclipai/paperclip/pull/13771)); the child-task cap counts only open children ([#11542](https://github.com/paperclipai/paperclip/pull/11542)); a plain-heartbeat agent can comment on tasks again ([#12621](https://github.com/paperclipai/paperclip/pull/12621)); a human handoff from a legacy run no longer gets cancelled by a slow restore ([#16082](https://github.com/paperclipai/paperclip/pull/16082)); and feedback exports keep public identifiers readable while still masking real tokens ([#16168](https://github.com/paperclipai/paperclip/pull/16168)).
|
||||
|
||||
## Improvements
|
||||
@@ -69,6 +69,6 @@ Paperclip v2026.1026.0 carries 515 commits, promoted from `2026.1023.0-beta.0`.
|
||||
|
||||
## Contributors
|
||||
|
||||
This release has 515 commits from 26 contributors. Thank you to everyone who contributed to this release!
|
||||
This release has 515 commits from 27 contributors. Thank you to everyone who contributed to this release!
|
||||
|
||||
@aashish254, @aronprins, @dylanroy, @harjothkhara, @lorenzozanee, @lucktastic, @MindSyncHub, @naeemakhtar110, @phorel, @Prompt-Surfer, @raviy06, @Sergio-LPA, @serhiq, @simberthon, @SkilLab-Tech, @superbiche, @TaoXieSZ, @tiangao88, @Waseemilyas, @xiehuanyi, @youngjk
|
||||
Reference in new issue
Block a user