Commit Graph
14 Commits
Author SHA1 Message Date
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