paperclip v2026.817.0

v2026.817.0
Added 6
  • Release channels: canary, nightly, beta, and stable with progressive promotion gates
  • Decisions workflow allowing agents to propose multi-option actions for human approval with auditable execution
  • Full-fidelity company Import/Export replacing Cloud Sync with content-addressed blob verification and durable async imports
  • Managed CLI install lifecycle with self-updating service, side-by-side updates, and rollback state across Linux, macOS, containers, and WSL
  • Chat-style task view for the user interface
  • Durable decision queues with prioritized feed and reversible retention in Decisions desk
Changed 3
  • Docker :latest tag now points to stable releases instead of tracking every master merge
  • Standard-trust agents can now write to company-visible issues with comments, updates, child-task creation, and assignment based on visibility rules
  • Archived projects are excluded from the default project list route
Removed 2
  • Experimental Cloud Sync host-to-host transport
  • Sync-state tables via migration 0196

From paperclip

Paperclip v2026.817.0

Released: 2026-08-17

Paperclip v2026.817.0 is the first stable release since 2026.722.0 — and the first stable ever published through the new canary → nightly → beta → stable release channels. This exact build shipped as a canary, was smoke-tested and promoted to nightly, soaked as 2026.811.0-beta.0, and only then was promoted to stable. It carries 311 commits spanning a first-class Decisions workflow, full-fidelity company Import/Export, a managed CLI install lifecycle, a chat-style task view, and a long list of fixes and performance work.

Breaking Changes

None of these require action for a typical install, but read through before upgrading:

  • Docker :latest now means stable. Previously :latest tracked every master merge. If you relied on that behavior, switch to :canary (or :nightly for a smoke-gated daily). Stable images also get :YYYY.MDD.P version tags and every image gets :sha-<short-sha> for exact pinning. (#11006)
  • Experimental Cloud Sync is removed. The host-to-host sync transport (previously flag-gated) is gone; company Import/Export is the single supported data-movement path. Migration 0196 drops the old sync-state tables. Your company data is untouched — only the experimental transport's own bookkeeping is removed. (#10507)
  • Standard-trust agents can write to company-visible issues. Comments, issue updates, child-task creation, and assignment now follow one default-open rule based on issue visibility, instead of per-channel ownership grants. Company, user, trust-scope, and run-lifecycle controls still apply, and cross-issue side effects are contained and attributed. (#10804, #10837)
  • Archived projects are excluded from the default project list route. Pass the explicit filter to include them. (#10146)
Highlights
  • Release channels: canary → nightly → beta → stable — Paperclip now ships on four channels. canary publishes on every merge to master; nightly republishes the newest green canary once a night, but only after the full release smoke suite (real Docker container, browser-driven onboarding) passes against the exact published artifact; beta is a maintainer-promoted nightly behind an approval gate, re-smoked after publish; and every stable must first soak as a beta for at least 3 days. Install with npx paperclipai@latest (stable), @beta, @nightly, or @canary, or pull ghcr.io/paperclipai/paperclip:latest / :beta / :nightly / :canary. Docker :latest now means stable — see Breaking Changes above. Full details in doc/CHANNELS.md. (#11006, #11008)
  • Decisions: a first-class propose/decide workflow — Agents can now propose multi-option actions instead of performing them, and humans decide from a governed, auditable surface. Decisions v1 adds the propose mode itself (typed options and inputs, stale-target detection, audited effect execution), durable decision queues with a prioritized, decide-now-ranked attention feed, and a Decisions desk with triage controls, an aging shelf, and reversible retention. Completed-target decisions retire automatically and link back to their targets. (#10010, #10651, #10672, #10785, #10474, #10892)
  • Full-fidelity company Import/Export replaces Cloud Sync — The experimental host-to-host Cloud Sync transport is gone; Import/Export is now the single way to move a company between instances (self-hosted ↔ cloud, or plain backups), with no reachability or cross-instance auth requirements. Bundles (schemaVersion 6) now carry labels, blockers, issue documents, work products, monitors, and every attachment as content-addressed sha256 blobs verified before a single row is written. Imports run as durable async jobs with batched inserts and an integrity guard, packages upload as compressed zips, and the upload cap is now 1 GB and operator-configurable via PAPERCLIP_IMPORT_ZIP_MAX_BYTES. (#10507, #10523, #10531, #10538, #11184)
  • Managed install, update, and service lifecycle in the CLI — The paperclipai CLI can now install Paperclip as a durable, self-updating service instead of an ephemeral npx process: managed install with a per-user payload store and stable command shim, side-by-side updates with pre-update backups and retained rollback state, plus service, uninstall, doctor, and bootstrap-installer support across Linux, macOS, containers, and WSL. Managed updates preserve your env files and extensions. (#10045, #10980, #11005)
  • One Activity page for "who changed what" — The basic Activity list and the separate Audit page merged into a single rich Activity page built on the audit feed: full history, filters, a scope toggle for all actors vs. agent actions only, and a per-agent audit tab on agent detail. Privileged controls are hidden from members without the audit permission, and cross-task agent writes now come with attribution, audit receipts, and actionable denial messages. (#10838, #10831, #9744, #10843)
Improvements
  • Multi-project workspace sync, on by default — Runs that reference multiple projects now sync every referenced project into the workspace by default, with per-project authorization resolved at run prep and partial-sync warnings surfaced on the run. @-mentioned projects are also staged into remote sandboxes over the confined transport. (#10473, #10469, #10380, #10564)
  • Shared workspace concurrency controls — Issue runs on a shared workspace are serialized with bounded busy deferrals, and the concurrency limit is configurable from the workspace policy editor. (#10699, #10759, #10771)
  • Human-approved secret proposals — Agents that encounter credentials during work can hand them into Paperclip as inert proposals; nothing becomes a live secret or binding until an authorized human reviews and approves. Secret details also gained write-through editing of external values and deep links. (#9934, #10196)
  • Agent-to-agent governance surfaces — Issue-thread interactions support governed agent addressees, so one agent can explicitly address another for a response, with server-side authorization, withdrawal, and terminal-issue expiry. Agents can resolve review confirmations under explicit review verdict policies, review rounds are capped with exhausted reviews escalated to the responsible human, delegation cycles back to an open ancestor's creator are refused, and assignment to paused agents is refused (with warnings when an escalation path routes to a paused manager). (#10252, #10251, #10939, #10931, #10650, #10658, #10648, #10657)
  • Task-scoped egress grants for confined runs — On Kubernetes confinement, tasks that legitimately need GitHub or package registries can request narrow, issue-scoped egress grants that become run-label-selected network policies, instead of the operator enabling broad namespace-wide egress. Denied requests explain the governing policy and how to request a grant. (#10155)
  • Cache-adjusted run cost — Adapters can report the provider-billed cost after prompt-cache discounts, so cache-heavy runs stop being priced wrong in the cost ledger. (#10349)
  • Routines: activity-gated run policy — Routines can gate advanced runs on recent activity, exposed through both the editor and the API, and the routines list groups by folder name. (#10225, #9438, #10201)
  • Model catalog updates — Claude Opus 5 and Claude Sonnet 5 join the Claude adapter's static model fallback, and GPT-5.6 model metadata is resolved at source for Codex. Cheap model profiles are now disabled by default for new agents: an adapter's cheap profile requires an explicit operator opt-in at agent creation, and Codex's cheap profile no longer defaults to a hardcoded model (existing agents are unchanged). (#10327, #10280, #9780, #10019)
  • Daytona sandbox improvements — Agent output streams live from Daytona sandboxes (no more host output polling), sessions are persistent with plain command dispatch, and an advisory bwrap wrapper with capability probes hardens execution; app-home ownership is ensured before the privilege drop. (#11049, #10941, #10541, #10554, #10805, #10530)
  • Quieter, clearer system messaging — Recovery notices are structured and humanized into compact rows with evidence on demand, recovery updates are quieter overall, recovery and blocked-notice copy is rewritten in plain language, and workspace-ready comments render as compact system notices. (#11075, #10542, #10065, #10636)
  • UI quality of life — Task chat composer drafts persist across navigation, task lists gained recency separators, copy and feedback actions returned to the agent bubble footer, the task identifier shows in the task-detail breadcrumb, and page loads got animated paperclip loaders. Task priority controls are hidden from the UI (the data model, API, and search DSL are fully intact). (#11076, #10454, #11025, #10933, #10456, #11024)
  • Per-user document stars — Star documents for yourself without affecting anyone else. (#9952)
  • Faster steady-state server — Steady-state DB hot paths in the dashboard, attention, and productivity sweeps were cut down, attention feed queries run in parallel instead of strictly sequential (a big win when Postgres is network-attached), and new indexes cover the recovery-sweep lookups. (#10992, #10795, #10969)
  • Faster sandbox startup — Sandbox run startup sheds round trips across the board: git-workspace staging coalesces into one confined sync, dead start round trips are folded, the two bridge setups run in parallel, the started sandbox handle is cached per lease, remote script writes skip on content-hash match, staging happens once per remote session, and exec wrappers drop nvm sourcing with an opt-in no-profile fast path. (#10488, #10485, #10334, #10335, #10377, #10089, #10443, #10352)
  • Snappier UI navigation — Issue detail navigation is warmed ahead of the click. (#10416)
  • Observability — Sandbox startup and execution now emit granular OpenTelemetry spans (provider round trips, pack/transfer, cache-hit flags, per-step timing attribution), and manual spans export correctly. (#10758, #10764, #10999, #10204, #10565)
Experimental

These ship behind experimental settings toggles.

  • Chat-style task view — An opt-in "Chat-Style Tasks" experiment turns the issue detail page into a conversation: the thread leads, the composer stays at the bottom, live tool activity folds into compact summaries, and properties/plan/artifacts move into header tabs. A second iteration added a rich-text composer with attachment chips, live-turn narration, and a mobile layout. (#10606, #10707)
  • Apps and Connections — Notion connects through MCP OAuth with PKCE and dynamic client registration — no manual OAuth credential setup — and companies can hold multiple connections to the same provider, with explicit review decisions for quarantined actions. (#11009, #11060, #11040)
  • Status cards — An experimental status card view compiles a single-prompt, agent-generated status update, joining summary-mentioned issues to the watched set. (#10101, #10202, #10205)
  • Simplified English interactions — An experimental flag renders agent interactions in Simplified English, with an optional /simplified-english skill in the catalog. (#10934, #10410)
Fixes
  • Real version numbers everywhere — Published Docker images now stamp the real build version instead of the package.json placeholder, bake in the build commit, and expose the running commit on the unauthenticated health response — so --version, the UI, and /health finally agree on what you're running. (#10257, #10566, #10563)
  • Config preservation — Managed config repair preserves extensions and guards invalid repairs, managed environment drift survives boot, and skill sync / package import no longer silently replace an operator's skill selections — replacement now requires an explicit merge mode. (#11005, #10979, #10978)
  • Inbox correctness — Tasks completed by human users archive properly, passive issue views stay out of Mine, archived-by-you items stay archived, inbox re-sorts defer to attention boundaries so items stop jumping mid-read, empty search sections hide, and external object summaries no longer leak into the inbox. (#10668, #10581, #10623, #10700, #10020)
  • Workspace resilience — Execution workspaces whose recorded branch no longer exists self-heal, isolated workspace provisioning self-heals when the base CLI is broken, sandbox git copy-back bundles against the merge-base so diverged or reset workspaces still import, delivered workspaces are recognized and terminal worktrees reaped, and isolated setup defers until runtime start. (#10578, #10574, #10601, #10908, #10653)
  • Codex adapter reliability — Mid-turn harness crashes are classified structurally as retriable infrastructure errors, silent active builds are preserved, control-plane access is preserved in sandbox runs, sandbox runs can use the sandbox image's own Codex login, and a duplicate --skip-git-repo-check flag injection is gone. (#10210, #10153, #10152, #10582, #10595)
  • Plugin runtime fixes — Plugin agent session turns and replies deliver reliably, freshly-started plugin workers receive their stored config, and proactive worker-to-host calls resolve a company scope. (#10137, #10092, #10103)
  • Backup retention respects calendar months — Monthly backup pruning now uses calendar-month boundaries instead of a fixed 30-day approximation, so it no longer deletes valid month-end backups early. Isolated worktree dev instances also stop scheduling their own redundant backup streams. (#3718, #10520)
  • Server hardening — Company-export YAML renders iteratively to stop a stack overflow on large companies, PAPERCLIP_DECISION_SIGNING_SECRET is no longer required at startup (a secure persisted instance key is used when absent), duplicate built-in agents are prevented and self-healed, routine checkout conflicts return 409, and due timer intervals are claimed atomically. (#10854, #10594, #10223, #3790, #10584)
  • UI paper cuts — White-on-white text on light-mode chat bubbles, the Live badge and Working shimmer surviving task teardown, blockquotes the markdown editor escaped as \>, clipboard copy over plain HTTP, plans not showing in the Plan pane, agent detail lingering after termination, and the full selected timeline window not loading are all fixed. (#10952, #10985, #10466, #10875, #10930, #10451, #9576)
Upgrade Guide
  • Migrations: this release adds 28 database migrations (0184 through 0211) covering Decisions, status cards, document memberships, interaction governance, and new indexes. Migrations run automatically on startup — no manual action required. Note that 0196 drops the tables belonging to the removed experimental Cloud Sync transport (see Breaking Changes).
  • New optional environment variables (all have sensible defaults; set only if you need them):
    • PAPERCLIP_IMPORT_ZIP_MAX_BYTES — company import zip upload cap (default 1 GB). (#11184)
    • DATABASE_PREPARED_STATEMENTS, DATABASE_POOL_MAX, DATABASE_IDLE_TIMEOUT_SECONDS, DATABASE_CONNECT_TIMEOUT_SECONDS — DB client tuning; set DATABASE_PREPARED_STATEMENTS=false when connecting through a transaction-mode pooler (pgbouncer, Supavisor, Neon pooled hosts). (#10795)
    • RUN_LOG_S3_INFLIGHT_MIRROR_SECONDS — opt-in throttled mirroring of in-flight run logs to S3 with a graceful-shutdown flush; unset means no change. (#10512)
    • PAPERCLIP_DECISION_SIGNING_SECRET — optional override for decision signing; when absent, a secure persisted instance key is used automatically. (#10594)
  • Docker users: decide which channel you want. If you tracked :latest for master builds, that lane is now :canary; :latest only moves on stable releases from here on.
  • Downgrading across channels (e.g. nightly back to stable) can mean running an older schema than your data was created with — treat a downgrade like a restore and back up your data directory first.
Contributors

This release has 311 commits from 17 contributors. Thank you to everyone who contributed to this release!

@bluzername, @LeonSGP43, @myaji35, @noahrasheta, @samrusani, @santhiprakash, @scokeepa, @sparkeros

View original

Upgraded? How did it go?

Discussion