Commit Graph
17 Commits
Author SHA1 Message Date
45ac4e945d docs(release): stable notes for the 2026.1006.0-beta.0 soak (v2026.1009.0) (#15388)
## Thinking Path

> - Paperclip is the open source app people use to manage AI agents for
work
> - The release process promotes a soaked beta to stable. The stable
GitHub Release body comes from `releases/beta/v<beta-version>.md` on
`master`
> - The `draft_stable_notes` job pushed a commit-log skeleton to this
branch when `2026.1006.0-beta.0` published today (workflow run
37516507660)
> - The skeleton is grouped commit subjects. It is not in release-notes
voice and it does not tell a self-hoster what to do before an upgrade
> - This pull request replaces the skeleton with curated notes. Each
claim traces to a pull request in `v2026.1005.0..22a3ea34`
> - The benefit is that the earliest stable promotion (v2026.1009.0)
finds finished notes on `master` on time

## Linked Issues or Issue Description

**Issue type**

Missing content

**Where is the issue?**

`releases/beta/v2026.1006.0-beta.0.md` — the stable-notes file for the
`2026.1006.0-beta.0` soak. It exists only on this machine-owned branch
and only as the auto-generated skeleton.

**What's wrong?**

The stable promotion reads this file from `master` and publishes it as
the GitHub Release body. Until this branch merges, the stable preflight
has no notes to resolve. The skeleton lists raw commit subjects with
nested PR summaries. It does not call out the two changes that need
operator action before the upgrade.

**Suggested fix**

Merge the curated notes so the notes invariant holds for the
v2026.1009.0 promotion. Correct the `> Released:` date in a follow-up if
the promotion date slips.

## What Changed

- Replaced the skeleton in `releases/beta/v2026.1006.0-beta.0.md` with
curated stable notes for v2026.1009.0 in the same layout as
`releases/v2026.1005.0.md`: overview, Breaking Changes, Highlights,
Fixes, Improvements, Upgrade Guide, Contributors
- Breaking Changes lists the SQLite restore-lock protocol change
(#14869) and stricter stored tool-grant enforcement (#14915)
- Upgrade Guide enumerates migrations `0294` through `0305`, the three
new default-off experimental settings, the
`PAPERCLIP_CONNECTION_INSTRUCTIONS_FILE` contract for custom adapters,
and the harness pin moves
- Release and CI internals, smoke specs, and canary tooling are left
out. Features already described in the v2026.1005.0 notes are not
repeated

## Verification

- Beta publish is complete: npm dist-tag `beta` is `2026.1006.0-beta.0`,
tag `beta/v2026.1006.0-beta.0` points at
`22a3ea3414e9039a538fbb0374b3cfa7fc4371eb`, and the `publish_beta`,
`smoke_beta`, and `draft_stable_notes` jobs in run 37516507660 all
succeeded
- `git rev-list --count
v2026.1005.0..22a3ea3414e9039a538fbb0374b3cfa7fc4371eb` returns 130,
which matches the overview and Contributors section
- `git shortlog -sn --no-merges` over the same range shows 8 human
authors after the two bot accounts are excluded
- `./scripts/release.sh stable --date 2026-10-09 --print-version`
returns `2026.1009.0`
- Every `#NNNN` link in the file resolves to a pull request inside the
range. Migration numbers, setting keys, env var names, and defaults were
checked in the code on the source commit, not in commit subjects
- The file contains no internal ticket ids or instance-local links

## Risks

- Low risk: a single markdown file, no source changes. If the promotion
date slips past 2026-10-09, the `> Released:` line and H1 need a
one-line update before the stable dispatch. The beta-keyed filename
makes that re-date harmless

## Model Used

- Claude (Anthropic), model ID `claude-fable-5-1` (Claude Fable 5.1),
extended thinking enabled, tool use via Claude Code

## 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
- [ ] 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: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: devinfoley <139239+devinfoley@users.noreply.github.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 15:35:36 -07:00
Devin Foleyandgithub-actions[bot] 7be51f30e1 docs(release): canonicalize stable notes for v2026.1005.0 (#15357)
## Thinking Path

> - Paperclip is the open source app people use to manage AI agents for
work
> - The release process keeps stable notes under a beta-keyed path
during the soak and renames them to the versioned path after the stable
ships
> - Stable v2026.1005.0 is published. The `canonicalize_stable_notes`
job pushed the rename branch but it does not open a pull request
> - Until the rename merges, `releases/v2026.1005.0.md` does not exist
on master and the announcement links do not resolve
> - This pull request merges the workflow's rename commit. It is a pure
rename with no content changes
> - The benefit is that the repository returns to the canonical
release-notes layout and the notes link in the announcements resolves

## Linked Issues or Issue Description

**Issue type**

Missing content

**Where is the issue?**

`releases/` — the stable notes for v2026.1005.0 still live at the
beta-keyed path `releases/beta/v2026.1002.0-beta.0.md`.

**What's wrong?**

The `canonicalize_stable_notes` job in the stable release run pushed
branch `release-notes/v2026.1005.0-canonicalize` with the rename, but it
does not open a pull request. The versioned path
`releases/v2026.1005.0.md` does not exist on master until this merges.

**Suggested fix**

Merge the workflow's rename commit. The notes were already corrected
before the stable dispatch in #15251, so no content change is needed
here.

## What Changed

- Renamed `releases/beta/v2026.1002.0-beta.0.md` to
`releases/v2026.1005.0.md` (workflow commit `ecc10236`, authored by
`github-actions[bot]`)
- No content changed. This is a pure rename. The file already carries
the correct header, commit count, and Contributors section from #14928
and #15251

## Verification

- The compare view for this branch against master shows one commit and
one file with status `renamed`, zero line changes
- The GitHub Release body for v2026.1005.0 is identical to this file
(one trailing newline differs)
- `git rev-list --count v2026.1001.0..v2026.1005.0` returns 179, which
matches the Contributors section
- After merge,
https://github.com/paperclipai/paperclip/blob/master/releases/v2026.1005.0.md
returns 200

## Risks

- Low risk: a documentation-only rename with no content changes.

## Model Used

- Claude (Anthropic), model ID `claude-fable-5-1` (Claude Fable 5.1),
extended thinking enabled, tool use via Claude Code

## 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
- [ ] 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

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-10-06 11:10:54 -07:00
e9d64ec1be docs(release): add two missed user-facing changes to the v2026.1005.0 notes (#15251)
<!-- Write all pull request text in Simplified Technical English
(ASD-STE100). -->

## Thinking Path

> - Paperclip is the open source app people use to manage AI agents for
work.
> - The release pipeline promotes a soaked beta to stable. The stable
job publishes `releases/beta/v<beta-version>.md` from `master` as the
GitHub Release body, pinned at dispatch time.
> - Beta `2026.1002.0-beta.0` (source
`467125fafb47a8520856504fecc48d6e32055db1`, 179 commits after
v2026.1001.0) has soaked for more than three days. The stable version
for 2026-10-05 is `v2026.1005.0`.
> - The curated notes from #14928 already carry the correct header,
date, commit count, migration range, environment defaults, and
Contributors section.
> - A pre-dispatch audit of every in-range PR found two self-hosted
user-facing changes that the notes do not cite.
> - This pull request adds those two items before the stable dispatch,
so the public release page is complete.
> - The benefit is that users of external chat and the native runner can
see what changed for them.

## Linked Issues or Issue Description

**Issue type**

Docs: release notes.

**Where is the issue?**

`releases/beta/v2026.1002.0-beta.0.md` on `master`.

**What's wrong?**

Two user-facing changes in `git log
v2026.1001.0..467125fafb47a8520856504fecc48d6e32055db1` are missing from
the notes:

- #13818: Slack- and Discord-origin tasks that lose their review path
now recover with their message bindings intact.
- #13852: native agents get a governed `hire_agent` action with a closed
runtime inheritance allowlist.

Paperclip Cloud tenant changes (#13791, #13922, #14407) stay out of
these notes. The maintainer asked for this, and it matches the curation
in #14928.

**Suggested fix**

Add one clause for each item in the matching section. Change nothing
else.

## What Changed

- Fixes → Scheduler and recovery: added the external-chat review
recovery fix
([#13818](https://github.com/paperclipai/paperclip/pull/13818)).
- Improvements: added the native `hire_agent` action
([#13852](https://github.com/paperclipai/paperclip/pull/13852)).
- No other lines changed. The header `# Paperclip v2026.1005.0`, `>
Released: 2026-10-05`, the 179-commit count, and the Contributors
section were already correct.
- The second commit removes a Paperclip Cloud sentence that the first
commit added. The net diff is the two clauses above.

## Verification

- Docs only. `scripts/release.sh stable --print-version --date
2026-10-05` on `master` prints `2026.1005.0`, which matches the header.
- `git rev-list --count
v2026.1001.0..467125fafb47a8520856504fecc48d6e32055db1` is 179, which
matches the notes.
- All 133 PR numbers cited before this change are in that range. The two
PR numbers added here are also in that range.
- The remaining 40 uncited in-range PRs are CI, tests, evals, lockfile
refreshes, release-notes bookkeeping, a dev-mode-only fix, an internal
prompt-context refactor, and Paperclip Cloud changes.
- Migrations `0284`–`0293` match `packages/db/src/migrations` in the
range. Environment defaults were read from `runner-api-rollout.ts`,
`runner-api-response-limits.ts`, `git-workspace-sync.ts`, and
`workspace-manifest.ts` at the beta source.
- `git shortlog -sn` over the range gives 7 contributors (excluding
`github-actions[bot]`); the external handles are `@MrBlackTongue` and
`@gentslava`.

## Risks

Low. Documentation only. This must merge before the stable dispatch,
because the stable job pins the `master` revision of this file at
dispatch time.

## Model Used

Anthropic Claude Fable 5.1 (`claude-fable-5-1`) via Claude Code, with
tool use and code execution.

## 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 (docs only; no tests apply)
- [x] I have added or updated tests where applicable (none apply)
- [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 (re-running on the second commit)
- [ ] Greptile is 5/5 with no open P2s, recommendations, or follow-ups
(first commit passed with zero threads; re-running)
- [x] I will address all Greptile and reviewer comments before
requesting merge

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: devinfoley <139239+devinfoley@users.noreply.github.com>
Co-authored-by: Paperclip <noreply@paperclip.ing>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 13:57:57 -07:00
806af230b6 docs(release): curate stable notes for the 2026.1002.0-beta.0 promotion (#14928)
## Thinking Path

> - Paperclip is the open source app people use to manage AI agents for
work.
> - The release pipeline publishes a beta, waits three days, and then
promotes it to stable.
> - The stable promotion reads `releases/beta/v<beta-version>.md` from
`master` and publishes it as the GitHub Release body.
> - Beta `2026.1002.0-beta.0` (source `467125fa`, 179 commits after
v2026.1001.0) is published and its soak has started. The planned stable
is around 2026-10-05.
> - The beta publish job pushed an auto-generated scaffold. The scaffold
lists raw commit subjects and PR bodies. It is not in release-notes
voice.
> - This pull request replaces the scaffold with curated stable notes.
> - The benefit is that the stable release ships with readable notes
that tell self-hosters what changed and what they must do.

## Linked Issues or Issue Description

**Issue type**

Docs: release notes.

**Where is the issue?**

`releases/beta/v2026.1002.0-beta.0.md` on branch
`release-notes/v2026.1002.0-beta.0`.

**What's wrong?**

The file is the auto-generated scaffold from the beta publish job. It
lists 170+ raw entries with no grouping, no breaking-changes section,
and no upgrade guide.

**Suggested fix**

Rewrite the file in the standard release-notes structure. The notes are
planned as `v2026.1005.0`. **If the promotion date moves past
2026-10-05, change the title and the Released date before you dispatch
stable.**

## What Changed

- Rewrote `releases/beta/v2026.1002.0-beta.0.md` into the standard
structure: overview, Breaking Changes, Highlights, Fixes, Improvements,
Upgrade Guide, and Contributors.
- Breaking Changes: operator UI snippet settings removed
([#13789](https://github.com/paperclipai/paperclip/pull/13789));
keyboard-shortcut settings and `/api/auth/preferences` removed
([#14141](https://github.com/paperclipai/paperclip/pull/14141),
[#14643](https://github.com/paperclipai/paperclip/pull/14643)); agent
@-mentions no longer start a run
([#14577](https://github.com/paperclipai/paperclip/pull/14577)).
- Highlights: Grok Build on the native runner, persistent agent files,
skills synced from GitHub, Browser Use Cloud, one-screen connector
setup, two-way Slack, Agent Chat navigation and handoffs, per-message
model and effort picker, governed API tools on by default.
- Upgrade Guide: migrations `0284`–`0293` with one-phrase descriptions,
new default for `PAPERCLIP_RUNNER_API_TOOLS_ENABLED`, and the new
optional variables `PAPERCLIP_RUNNER_API_COMPANY_CAPTURE_MAX_BYTES`,
`PAPERCLIP_WORKSPACE_GIT_SNAPSHOT_TIMEOUT_MS`, and
`PAPERCLIP_WORKSPACE_MANIFEST_MIN_FREE_BYTES` with their defaults.
- Removed release-infra noise: CI-only PRs, eval and test-only PRs,
lockfile refreshes, release-notes bookkeeping commits, and
cloud-control-plane-only changes.

## Verification

- Docs only. Each PR number and commit SHA in the notes is in `git log
v2026.1001.0..467125fafb47a8520856504fecc48d6e32055db1`.
- Migration range `0284`–`0293` checked against the
`packages/db/src/migrations` diff for that range.
- Environment variable defaults checked in the code, not in commit
subjects.
- Contributor count and external handles computed from `git shortlog`
over the same range.

## Risks

Low. Documentation only. The stable preflight only requires that the
file exists on `master`. The content can change during the soak.

## Model Used

Anthropic Claude Fable 5.1 (`claude-fable-5-1`) via Claude Code, with
tool use and code execution.

## 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 (docs only; no tests apply)
- [x] I have added or updated tests where applicable (none apply)
- [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 (pending on this fresh PR)
- [ ] Greptile is 5/5 with no open P2s, recommendations, or follow-ups
(pending)
- [x] I will address all Greptile and reviewer comments before
requesting merge

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: devinfoley <139239+devinfoley@users.noreply.github.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-02 12:39:47 -07:00
Devin Foleyandgithub-actions[bot] 261c24ccf9 docs(release): canonicalize stable notes for v2026.1001.0 (#14890)
## Thinking Path

> - Paperclip is the open source app people use to manage AI agents for
work
> - The release process keeps stable notes under a beta-keyed path
during the soak and renames them to the versioned path after the stable
ships
> - Stable v2026.1001.0 is published. The `canonicalize_stable_notes`
job pushed the rename branch but it does not open a pull request
> - The published notes also have no Contributors section. The previous
stable notes (v2026.916.0) have one
> - This pull request moves the notes to `releases/v2026.1001.0.md` and
adds the Contributors section
> - The benefit is that the repository returns to the canonical
release-notes layout and the external contributors get credit

## Linked Issues or Issue Description

**Issue type**

Missing content

**Where is the issue?**

`releases/` — the stable notes for v2026.1001.0 still live at the
beta-keyed path `releases/beta/v2026.921.0-beta.1.md`, and they have no
Contributors section.

**What's wrong?**

The `canonicalize_stable_notes` job in the stable release run pushed
branch `release-notes/v2026.1001.0-canonicalize` with the rename, but it
does not open a pull request. The notes also do not credit the three
external contributors in the release range.

**Suggested fix**

Merge the workflow's rename commit, plus one commit that appends a `##
Contributors` section in the same format as `releases/v2026.916.0.md`.

## What Changed

- Renamed `releases/beta/v2026.921.0-beta.1.md` to
`releases/v2026.1001.0.md` (workflow commit, no content changes)
- Appended a `## Contributors` section: 77 commits from 8 contributors,
with credits to @austinpilz, @hawikk, and @mouse-value-add
- No other content changed. The notes above the new section match the
published GitHub Release body for v2026.1001.0

## Verification

- `git log --follow releases/v2026.1001.0.md` shows the rename commit
followed by one commit that only appends the Contributors section
- `git rev-list --count v2026.916.1..v2026.1001.0` returns 77
- The author list of that range, minus maintainers and bots, is
@austinpilz, @hawikk, and @mouse-value-add
- The GitHub Release body for v2026.1001.0 is identical to this file
without the Contributors section

## Risks

- Low risk: a documentation-only rename plus one appended section.

## Model Used

- Claude (Anthropic), model ID `claude-fable-5-1` (Claude Fable 5.1),
extended thinking enabled, tool use via Claude Code

## 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
- [ ] 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

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-10-01 20:31:32 -07:00
5207c78f21 docs(release): align 2026.921.0-beta.1 stable notes header with v2026.1001.0 (#14882)
## Thinking Path

> - Paperclip is the open source app people use to manage AI agents for
work
> - Releases are published by `release.yml`. A stable release promotes a
soaked beta, and the stable notes live on master in
`releases/beta/v<beta>.md` until the promotion runs.
> - The curated notes for `2026.921.0-beta.1` have the title `Paperclip
v2026.924.0` and the date `2026-09-24`. That stable did not ship. No
`v2026.924.0` tag or release exists.
> - The next promotion of this beta uses `stable_date=2026-10-01`.
`scripts/release.sh stable --print-version --date 2026-10-01` resolves
to `2026.1001.0`.
> - `publish_stable` reads this file verbatim and uses it as the GitHub
Release body. `canonicalize_stable_notes` copies it to
`releases/v2026.1001.0.md`. Nothing rewrites the header.
> - This pull request updates the title, the release date, and the intro
sentence to `v2026.1001.0` and `2026-10-01`.
> - The benefit is a GitHub Release page and a canonical notes file that
show the correct version and date.

## Linked Issues or Issue Description

**Describe the documentation problem**

The stable notes file `releases/beta/v2026.921.0-beta.1.md` names a
stable version and release date that do not match the version the
release workflow will publish.

**Where is the problem**

`releases/beta/v2026.921.0-beta.1.md`, lines 1, 3, and 5.

**Proposed fix**

Change `v2026.924.0` to `v2026.1001.0` and `2026-09-24` to `2026-10-01`
in the three places that name the version or date. Change nothing else
in the file.

## What Changed

- Title: `# Paperclip v2026.924.0` → `# Paperclip v2026.1001.0`
- Release date: `> Released: 2026-09-24` → `> Released: 2026-10-01`
- Intro sentence: `Paperclip v2026.924.0 carries 77 commits` →
`Paperclip v2026.1001.0 carries 77 commits`

## Verification

- `git diff master --stat` shows one file with 3 insertions and 3
deletions.
- `grep -n '924' releases/beta/v2026.921.0-beta.1.md` returns no lines.
- `git show master:scripts/release.sh > /tmp/r.sh && bash /tmp/r.sh
stable --print-version --date 2026-10-01` prints `2026.1001.0`.
- The rest of the file is byte-identical to master.

## Risks

- Low risk. This is a documentation-only change to a release notes file.
No code or workflow changes.
- If the stable promotion is dispatched with a different `stable_date`,
the header must be updated again to match.

## Model Used

- Claude Fable 5.1 (model ID `claude-fable-5-1`), run as a Paperclip
agent through the Claude Agent SDK, with tool use (shell, git, GitHub
CLI). No extended thinking mode was configured beyond the default.

## 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
- [ ] I have added or updated tests where applicable (not applicable:
documentation-only change)
- [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: Bender (Fable) <noreply@paperclip.ing>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-01 17:28:00 -07:00
Devin Foleyandgithub-actions[bot] 3c70b3d008 docs(release): curate stable notes for the 2026.921.0-beta.1 promotion (#13785)
## Thinking Path

> - The stable promotion reads `releases/beta/v<beta-version>.md` from
`master` and publishes it as the GitHub Release body.
> - Beta `2026.921.0-beta.1` (source `8f8a0ab7`, 77 commits since
v2026.916.0) just published and starts its 3-day soak, headed for a
stable around 2026-09-24.
> - This PR rewrites the auto-generated draft into release voice during
the soak, per the release checklist.

## Linked Issues or Issue Description

Notes for the stable to be promoted from
[`2026.921.0-beta.1`](https://github.com/paperclipai/paperclip/releases)
— planned as `v2026.924.0`. **If the promotion date slips past
2026-09-24, bump the title and Released date before dispatching
stable.**

## What Changed

- Rewrote `releases/beta/v2026.921.0-beta.1.md` from the 77-entry
scaffold into the standard release-notes structure: overview, Breaking
Changes (legacy Composio broker retirement
[#13758](https://github.com/paperclipai/paperclip/pull/13758); full-auto
execution defaults
[#13686](https://github.com/paperclipai/paperclip/pull/13686)/[#13693](https://github.com/paperclipai/paperclip/pull/13693)),
Highlights, grouped Fixes, Improvements, and an Upgrade Guide
(migrations `0280`–`0283`, `enableMcpAggregators` flag).
- Folded out release-infra noise: CI-only PRs, test-only PRs,
release-notes bookkeeping commits, and the hide/restore Google-connector
pair
([#13551](https://github.com/paperclipai/paperclip/pull/13551)/[#13552](https://github.com/paperclipai/paperclip/pull/13552),
net zero).
- Noted that the composer fix
([#13562](https://github.com/paperclipai/paperclip/pull/13562)) already
shipped early as stable 2026.916.1.

## Verification

- Docs-only; every PR number cited was cross-checked against `git log
dffc2b3ca..8f8a0ab7e`.
- Migration range `0280`–`0283` verified against
`packages/db/src/migrations` diff and attributed per commit.

## Risks

None — documentation only. Content can be edited freely during the soak;
the stable preflight only requires the file to exist on `master`.

## Model Used

Anthropic Claude Fable 5 (`claude-fable-5`) via Claude Code, with tool
use and code execution.

## 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
- [x] My branch name describes the change and contains no internal
Paperclip ticket id or instance-derived details
- [x] I have run tests locally and they pass (docs-only; no tests apply)
- [x] I have added or updated tests where applicable (none apply)
- [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 (pending on this fresh PR)
- [ ] Greptile is 5/5 with no open P2s, recommendations, or follow-ups
(pending)
- [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>
2026-09-21 19:58:45 -07:00
Devin Foleyandgithub-actions[bot] cf2742ac48 docs(release): canonicalize v2026.916.1 release notes (#13774)
## Thinking Path

> - Stable `2026.916.1` just published from beta `2026.921.0-beta.0`;
its curated notes live at `releases/beta/v2026.921.0-beta.0.md` on
`master`.
> - The release workflow's `canonicalize_stable_notes` job pushed this
branch, which `git mv`s them to the canonical stable path.
> - Merging restores the canonical `releases/` layout, matching every
prior stable.

## Linked Issues or Issue Description

Follow-up to the
[v2026.916.1](https://github.com/paperclipai/paperclip/releases/tag/v2026.916.1)
stable release; notes were curated in
[#13766](https://github.com/paperclipai/paperclip/pull/13766).

## What Changed

- `git mv releases/beta/v2026.921.0-beta.0.md releases/v2026.916.1.md`
(workflow-generated, content unchanged).

## Verification

- Rename only; the GitHub Release body was already published from this
content.

## Risks

None — documentation layout only.

## Model Used

Anthropic Claude Fable 5 (`claude-fable-5`) via Claude Code, with tool
use and code execution.

## 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
- [x] My branch name describes the change and contains no internal
Paperclip ticket id or instance-derived details
- [x] I have run tests locally and they pass (rename-only; no tests
apply)
- [x] I have added or updated tests where applicable (none apply)
- [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 (pending on this fresh PR)
- [ ] Greptile is 5/5 with no open P2s, recommendations, or follow-ups
(pending)
- [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>
2026-09-21 19:52:58 -07:00
Devin Foleyandgithub-actions[bot] 8f8a0ab7ef docs(release): curate stable notes for v2026.916.1 (#13766)
## Thinking Path

> - Paperclip publishes stable releases from curated notes: the stable
promotion reads `releases/beta/v<beta-version>.md` from `master` and
publishes it as the GitHub Release body.
> - Beta `2026.921.0-beta.0` was just published from a candidate branch
carrying the 2026.916.0 source plus the cherry-picked composer fix
#13562, headed for patch stable `2026.916.1`.
> - Its `draft_stable_notes` job pushed the auto-generated scaffold;
this PR rewrites it into release-notes voice so the stable promotion's
preflight finds curated notes.

## Linked Issues or Issue Description

Notes for the upcoming `2026.916.1` patch stable. The fix being shipped
is [#13562](https://github.com/paperclipai/paperclip/pull/13562) (fixes
#13561, the desktop chat composer send button starting out disabled).

## What Changed

- Rewrote `releases/beta/v2026.921.0-beta.0.md` from the auto-generated
commit list into the patch-release format used by
`releases/v2026.831.1.md`: what the patch is, the user-facing composer
fix, the rode-along document-conflict classification repair, and an
upgrade guide (no migrations, no configuration changes).

## Verification

- Docs-only change; no code paths affected.
- Format matches the prior patch release notes
(`releases/v2026.831.1.md`).
- The stable promotion will resolve this file from `master` for beta
`2026.921.0-beta.0` and canonicalize it to `releases/v2026.916.1.md`
after publishing.

## Risks

None — documentation only. If the wording needs adjusting during review,
the stable dispatch simply waits until this is merged.

## Model Used

Anthropic Claude Fable 5 (`claude-fable-5`) via Claude Code, with tool
use and code execution.

## 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 and contains no internal
Paperclip ticket id or instance-derived details
- [x] I have run tests locally and they pass (docs-only; no tests apply)
- [x] I have added or updated tests where applicable (none apply)
- [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 (pending on this fresh PR)
- [ ] Greptile is 5/5 with no open P2s, recommendations, or follow-ups
(pending)
- [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>
2026-09-21 13:40:22 -07:00
Devin Foleyandgithub-actions[bot] c49336acdf docs(release): canonicalize v2026.916.0 release notes (#13548)
## Thinking Path

> - Paperclip is the open source app people use to manage AI agents for
work
> - Stable v2026.916.0 shipped today; its release notes were maintained
during the beta window at `releases/beta/v2026.916.0-beta.0.md`
> - The release workflow's canonicalize step renames the file to its
canonical stable path once the promotion completes, pushing the rename
to a branch for a human-opened pull request (bot-opened PRs trigger no
CI)
> - This pull request is that rename:
`releases/beta/v2026.916.0-beta.0.md` → `releases/v2026.916.0.md`
> - The benefit is that the published GitHub Release body and the
in-repo notes file agree on the canonical path

## Linked Issues or Issue Description

Routine post-release canonicalization for the `v2026.916.0` stable,
generated by the release workflow's `canonicalize_stable_notes` job (run
35126040769). Content is byte-identical to the notes published on the
GitHub Release.

**What happened?** Stable promotion completed; the notes file needs its
canonical name.
**Expected behavior** `releases/v2026.916.0.md` exists on master
matching the published release body.
**Steps to reproduce** n/a — mechanical rename.

## What Changed

- Rename `releases/beta/v2026.916.0-beta.0.md` to
`releases/v2026.916.0.md` (no content change)

## Verification

- Diff is a pure rename; content matches the published GitHub Release
body for v2026.916.0

## Risks

- None — docs-only rename.

## Model Used

None for the change itself (generated by the release workflow); PR
opened via Claude Fable 5 (`claude-fable-5`, Claude Code).

## 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>
2026-09-16 11:32:21 -07:00
Devin Foleyandgithub-actions[bot] de9ac61fb5 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>
2026-09-16 10:03:01 -07:00
Devin Foleyandgithub-actions[bot] 081006bee4 docs(release): curate stable notes for v2026.915.0 (#13487)
## 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.915.0-beta.0.md`) for
humans to edit
> - The skeleton is a 1,800-line commit dump; stable `v2026.915.0`
cannot ship user-facing notes in that form
> - This pull request replaces the skeleton with the curated changelog
for the `v2026.915.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.915.0-beta.0.md` with the curated release notes for
stable `v2026.915.0` (promoted from beta `2026.915.0-beta.0`, source
`667c79ded`)
- 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.915.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>
2026-09-15 11:31:44 -07:00
Devin Foley 0b00029672 docs(release): canonicalize stable notes for v2026.831.0 (#12708)
## Thinking Path

> - Paperclip is the open source app people use to manage AI agents for
work
> - The release process drafts stable notes under a beta-keyed path
during the soak and renames them to the versioned path after the stable
ships
> - Stable v2026.831.0 published, but its release run failed at the tag
push (workflows-permission error), so the automated canonicalize job
never ran
> - The canonical layout requires the notes at `releases/v2026.831.0.md`
> - This pull request performs the rename the skipped job would have
pushed
> - The benefit is that the repository returns to the canonical
release-notes layout

## Linked Issues or Issue Description

**Issue type**

Missing content

**Where is the issue?**

`releases/` — the stable notes for v2026.831.0 still live at the
beta-keyed path `releases/beta/v2026.828.0-beta.0.md`.

**What's wrong?**

The stable release run failed at the tag push, so the
`canonicalize_stable_notes` job was skipped and the rename branch was
never pushed. The published GitHub Release points at content that should
live at `releases/v2026.831.0.md`.

**Suggested fix**

`git mv releases/beta/v2026.828.0-beta.0.md releases/v2026.831.0.md`,
exactly as the workflow's canonicalize job does.

## What Changed

- Renamed `releases/beta/v2026.828.0-beta.0.md` to
`releases/v2026.831.0.md` (pure rename, no content changes)

## Verification

- `git show --stat` reports a 100% rename with no content delta
- The file matches the published GitHub Release body for v2026.831.0

## Risks

- Low risk: a pure file rename restoring the canonical layout.

## Model Used

- Claude (Anthropic), model ID `claude-fable-5` (Claude Fable 5),
extended thinking enabled, tool use via Claude Code

## 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
- [ ] 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
2026-09-01 18:13:02 -07:00
Devin Foleyandgithub-actions[bot] b5fd13e09f docs(release): stable notes for the 2026.828.0-beta.0 soak (v2026.831.0) (#12610)
## Thinking Path

> - Paperclip is the open source app people use to manage AI agents for
work
> - The release process promotes a soaked beta to stable; the stable's
GitHub Release body comes from `releases/beta/v<beta-version>.md` on
`master`
> - The `draft_stable_notes` job seeded this file as a raw commit-log
skeleton when `2026.828.0-beta.0` published
> - The stable preflight fails without the merged file, and the skeleton
is not fit to publish as release notes
> - This pull request rewrites the skeleton into finished stable notes
for the v2026.831.0 promotion
> - The benefit is that the stable release ships with accurate,
readable, user-facing notes on time

## Linked Issues or Issue Description

**Issue type**

Missing content

**Where is the issue?**

`releases/beta/v2026.828.0-beta.0.md` — the drafted stable-notes
skeleton for the `2026.828.0-beta.0` soak.

**What's wrong?**

The file holds the auto-generated skeleton (grouped commit subjects with
nested PR summaries). The stable promotion publishes this file verbatim
as the GitHub Release body, so it must be rewritten into release-notes
voice before the stable dispatch.

**Suggested fix**

Rewrite the skeleton at full stable depth per
`.agents/skills/release-changelog/SKILL.md`: verified breaking changes
with upgrade paths, delta-aware highlights, grouped improvements and
fixes with inline PR attribution, an upgrade guide covering migrations
and new environment variables, and a contributors section.

## What Changed

- Rewrote `releases/beta/v2026.828.0-beta.0.md` from the generated
skeleton into finished notes titled `# Paperclip v2026.831.0`
- Six breaking changes, led by the Node.js 24.11.0 minimum; each has an
upgrade path
- Five highlights: runtime skill delivery to agents, the Kimi Code
adapter, operator settings-visibility controls, the HTTP/2 sandbox
callback bridge, and the shortened onboarding arc
- Upgrade guide covers migrations `0223`–`0230` (each attributed from
its SQL) and the new `PAPERCLIP_HIDDEN_SETTINGS`,
`PAPERCLIP_SETTING_DEFAULTS`, `SENTRY_DSN`, and
`PAPERCLIP_WORKSPACE_REAPER_COOLDOWN_DAYS` variables
- Entries already shipped to stable users in v2026.824.1 are noted as
such instead of re-announced
- Contributors section lists 7 verified community handles; core
maintainers and bots are excluded per the canonical list

## Verification

- Range verified as `664052f8e..dbf052577` (baseline v2026.824.1
merge-base to the `beta/v2026.828.0-beta.0` source commit); every entry
traces to a commit in that range
- Stable version confirmed with `./scripts/release.sh stable --date
2026-08-31 --print-version` → `2026.831.0`
- Migration list confirmed with `git diff --name-only
664052f8e..dbf052577 -- packages/db/src/migrations/` and each file's SQL
read at the source commit
- Environment variable names confirmed against
`docs/deploy/environment-variables.md` and source at `dbf052577`
- Contributor handles confirmed via `gh pr view <n> --json author` for
each attributed community PR

## Risks

- Low risk: a single markdown file; no source changes. The main risk is
a factual error in the notes — mitigated by verifying each claim against
the source commit rather than commit messages alone. If the promotion
date slips past 2026-08-31 UTC, the title needs a re-date (the
beta-keyed filename makes this harmless).

## Model Used

- Claude (Anthropic), model ID `claude-fable-5` (Claude Fable 5),
extended thinking enabled, tool use (git/GitHub CLI research against the
release range) via Claude Code

## 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
- [ ] 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

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-31 19:17:10 -07:00
Devin Foleyandgithub-actions[bot] fa40a1b8d5 docs(release): canonicalize stable notes for v2026.824.0 (#12139)
## Thinking Path

> - Paperclip is the open source app people use to manage AI agents for
work
> - Stable notes are drafted beta-keyed during the soak and published
verbatim as the GitHub Release
> - After the stable ships, the canonicalize job moves the file to its
durable home, releases/vYYYY.MDD.P.md
> - v2026.824.0 just shipped from the master-side beta notes, and the
job pushed this rename branch
> - This pull request lands that rename, keeping the stable-notes record
complete at the canonical path
> - The benefit is one canonical notes location per stable, with the
pinned shipped content

## Linked Issues or Issue Description

**What existing behavior does this improve?**

The `releases/` record on master after the v2026.824.0 promotion.

**Current behavior**

The shipped notes live at `releases/beta/v2026.818.0-beta.1.md`;
`releases/v2026.824.0.md` does not exist.

**Proposed behavior**

The file moves to `releases/v2026.824.0.md`, content pinned to the
revision the release read (machine-generated by the
`canonicalize_stable_notes` job).

**Reason and benefit**

The durable stable-notes invariant holds: every shipped stable has its
notes at `releases/vYYYY.MDD.P.md`.

## What Changed

- `git mv`-equivalent rename of the beta-keyed notes to
`releases/v2026.824.0.md`, exactly as the release published them.

## Verification

- Branch pushed by the release run's `canonicalize_stable_notes` job
(run 32806191945) from the preflight-pinned notes revision; the GitHub
Release v2026.824.0 body matches this content.

## Risks

- None; docs-only rename.

## Model Used

Claude Fable 5 (Claude Code) — PR opened for the machine-pushed branch;
a GITHUB_TOKEN-created PR would not run required checks.

## Pre-submission 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

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-24 21:37:17 -07:00
Devin Foley ae9711da48 docs(release): re-date the 2026.818.0-beta.1 stable notes to v2026.824.0 (#12113)
## Thinking Path

> - Paperclip is the open source app people use to manage AI agents for
work
> - Stable versions date the promotion, and the promotion reads its
notes from master
> - The merged notes for beta 2026.818.0-beta.1 assumed an Aug 21
promotion; the beta soaked longer
> - This pull request re-dates the header to today's resolved version,
v2026.824.0
> - The benefit is a GitHub Release whose title, date, and body agree

## Linked Issues or Issue Description

**What existing behavior does this improve?**

The stable notes header for the promotion happening today.

**Current behavior**

`releases/beta/v2026.818.0-beta.1.md` is titled `# Paperclip
v2026.821.0`, `> Released: 2026-08-21`.

**Proposed behavior**

`# Paperclip v2026.824.0`, `> Released: 2026-08-24` — matching
`./scripts/release.sh stable --date 2026-08-24 --print-version`.

**Reason and benefit**

The file publishes verbatim as the GitHub Release body; the header
should match the version actually minted.

## What Changed

- Three header/intro lines re-dated. Nothing else.

## Verification

- `./scripts/release.sh stable --date 2026-08-24 --print-version` →
`2026.824.0`.

## Risks

- None; docs-only.

## Model Used

Claude Fable 5 (Claude Code)

## Pre-submission 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
2026-08-24 20:42:25 -07:00
Devin Foleyandgithub-actions[bot] ffaac1d7f9 docs(release): stable notes for the 2026.818.0-beta.1 soak (v2026.821.0) (#11661)
## Thinking Path

> - Paperclip is the open source app people use to manage AI agents for
work
> - The release channels promote a soaked beta to stable, and the
promotion reads the stable's release notes from
`releases/beta/v<beta-version>.md` on master
> - Beta `2026.818.0-beta.1` is soaking now, and the release workflow
auto-drafted its notes skeleton on this branch at publish time
> - This pull request rewrites that skeleton into the finished changelog
for the upcoming stable
> - The stable preflight fails without this file on master, so this PR
must merge before promotion day
> - The benefit is release notes reviewed during the soak instead of
written at the gate

## Linked Issues or Issue Description

**What existing behavior does this improve?**

The release-notes flow for the upcoming stable (planned `v2026.821.0`,
promoting beta `2026.818.0-beta.1`, source `664052f8e`).

**Current behavior**

The branch holds the machine-generated skeleton: grouped commit subjects
for the 172-commit range from v2026.817.0's content baseline
(`8f7b8b3fd`).

**Proposed behavior**

The finished changelog in the established release voice: verified
Breaking Changes, Highlights, Improvements, Fixes, an Upgrade Guide
covering migrations 0212–0222 and the new environment variables, and a
verified community contributor list.

**Reason and benefit**

Notes get real review during the soak; the promotion just reads the
merged file.

## What Changed

- Rewrite `releases/beta/v2026.818.0-beta.1.md` from skeleton to
finished notes. Headline themes: chat-style tasks as the default
experience, Tailscale HTTPS managed runtime exposure, sandbox capability
contract with live output streaming, in-product Claude/Codex sign-in,
chunked resumable company imports, and the completed release-channel
automation.
- Five verified breaking/behavior changes, including the
`enableTaskChatRedesign` → `enableClassicTaskInterface` toggle inversion
and migration `0218`'s conservative resolver-policy remap.
- Contributors: 172 commits from 32 non-bot authors; 22 verified
community handles listed (founders/core excluded per the canonical list;
4 authors omitted as unverifiable rather than guessed).

## Verification

- Every cited PR number resolves to a commit subject in the range.
- No internal ticket identifiers.
- Handles verified via noreply emails, co-author trailers, or `gh api
users/<name>`.
- The version/date header says the planned promotion (`v2026.821.0`,
2026-08-21); if promotion slips, only that header needs a touch-up — the
beta-keyed filename is date-independent.

## Risks

- Docs-only. If a newer beta supersedes `2026.818.0-beta.1` before
promotion, this file stays as history and the new beta gets its own
draft.

## Model Used

Claude Fable 5 (Claude Code)

## Pre-submission 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

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-18 16:40:32 -07:00