Skip to content

Releases

v2026.1112.1

Choose a tag to compare

@github-actions github-actions released this 12 Nov 12:33
a9e6aba

What's Changed

  • refactor: name internal error codes and markers wardmote by @tickernelz in #302
  • refactor: name UI globals, sentinels and dev-server routes wardmote by @tickernelz in #303
  • test(plugin-llm-wiki): run the suite in CI and fix stale assertions by @tickernelz in #304
  • refactor: name stored sentinels wardmote with migrations by @tickernelz in #307
  • test: spell retired names as literals so the legacy-name gate counts them by @tickernelz in #308
  • test(plugins): run sandbox-provider and example suites in CI by @tickernelz in #305
  • ci: refresh shard duration manifests from 12 Nov main runs by @tickernelz in #309
  • chore(runner): class external eval corpus paths and rename spec ids by @tickernelz in #310
  • feat(ui): fetch upstream models in custom provider form by @tickernelz in #311
  • fix(server): cap the disk guard GB warning at half the disk by @tickernelz in #306
  • feat(updates): show admins a Wardmote update notice in the web UI by @tickernelz in #313
  • feat(updates): install updates from the web UI with a force or wait choice by @tickernelz in #315
  • feat(updates): install updates automatically when enabled, default off by @tickernelz in #316
  • fix(updates): keep waiting while the update unit still runs by @tickernelz in #317
  • feat(ui): open row editors inside the edited row by @tickernelz in #312
  • fix: point this project's own links at tickernelz/wardmote by @tickernelz in #314

Full Changelog: v2026.1112.0...v2026.1112.1

v2026.1112.0

Choose a tag to compare

@github-actions github-actions released this 12 Nov 04:37
5cc5ec2

What's Changed

  • fix(acpx): name the remaining session cleanup reasons wardmote by @tickernelz in #290
  • test(runner): freeze the clock in two native-session timeout tests by @tickernelz in #292
  • ci: fit a pull request run into 19 parallel lanes by @tickernelz in #289
  • ci: run the browser gates in a pinned GHCR image by @tickernelz in #291
  • fix(retry): keep scheduled retry when retry-now is gated by @tickernelz in #293
  • fix(omp-local): keep per-run values out of the system prompt by @tickernelz in #297
  • fix(server): extend the systemd start timeout until the server is ready by @tickernelz in #288
  • fix(db): write backups to a partial name and rename when complete by @tickernelz in #294
  • fix(cli): migrate retired store marker when home already moved by @tickernelz in #296
  • fix(omp-local): stop rotating sessions on file size by @tickernelz in #298
  • refactor(tools): name the built-in tool provider types wardmote by @tickernelz in #295
  • feat(backup): keep 2 verified backups, guard disk space, expire idle OMP sessions by @tickernelz in #299
  • fix(ui): announce disk space warnings without an alert role by @tickernelz in #301
  • feat(ui): sticky task header actions and a minimizable monitor card by @tickernelz in #300

Full Changelog: v2026.1111.0...v2026.1112.0

v2026.1111.0

Choose a tag to compare

@github-actions github-actions released this 11 Nov 19:17
8b9f9f6

What's Changed

  • refactor: rename X-Paperclip-* headers to X-Wardmote-* by @tickernelz in #220
  • refactor(mcp): rename paperclip* MCP tools to wardmote* by @tickernelz in #222
  • refactor(mcp): rename the MCP server and route to wardmote by @tickernelz in #223
  • fix(omp-local): match the MCP connect warning only on OMP's own lines by @tickernelz in #224
  • refactor(skills): rename bundled paperclip skills to wardmote by @tickernelz in #225
  • feat(rename): rewrite retired names in live agent text on start by @tickernelz in #226
  • feat(cli)!: move the service, shim and home to the Wardmote names by @tickernelz in #227
  • feat(db): rename the embedded Postgres role and database to wardmote by @tickernelz in #228
  • feat: record board decisions under the wardmote channel value by @tickernelz in #229
  • refactor(runner): rename the runner crate and binary to wardmote by @tickernelz in #231
  • feat: store the vault and managed-secret modes under the wardmote name by @tickernelz in #232
  • refactor(runner): name the runner and public MCP tools wardmote_* by @tickernelz in #233
  • feat: name the native runner adapter wardmote_runner by @tickernelz in #234
  • refactor: rename Paperclip-prefixed types and functions to Wardmote by @tickernelz in #236
  • ci(upgrade-path): build this commit while the published release installs by @tickernelz in #235
  • refactor: rename camelCase paperclip keys to wardmote with data migration by @tickernelz in #237
  • refactor: rename Paperclip product prose to Wardmote by @tickernelz in #239
  • refactor: use wardmote example and test hostnames by @tickernelz in #240
  • refactor(ui): rename CSS classes and custom properties to wardmote by @tickernelz in #241
  • refactor: name the company package extension .wardmote.yaml by @tickernelz in #242
  • refactor: rename the run staging directory to .wardmote-runtime by @tickernelz in #243
  • refactor(workspaces): rename project repositories dir to .wardmote-repositories by @tickernelz in #244
  • refactor(ui): rename browser storage keys to the wardmote prefix by @tickernelz in #245
  • refactor(config): move repo-local config dir to .wardmote by @tickernelz in #247
  • refactor(skills): rename bundled helper scripts to wardmote-* by @tickernelz in #246
  • refactor(ui): rename worktree meta tags, build stamps and startup ids by @tickernelz in #248
  • refactor(cli): prefix new dev worktree names with wardmote- by @tickernelz in #249
  • fix(scripts): call the wardmote CLI in worktree provisioning by @tickernelz in #250
  • refactor: rename remaining legacy-named repo paths to wardmote by @tickernelz in #251
  • refactor: move catalog skill and team keys to the wardmote owner by @tickernelz in #252
  • refactor: rename shipped plugin ids to wardmote with data migration by @tickernelz in #253
  • refactor: rename the managed environment marker to wardmote by @tickernelz in #254
  • refactor: rename docker paths, volumes and smoke env to wardmote by @tickernelz in #255
  • refactor: rename protocol schema ids to wardmote by @tickernelz in #256
  • refactor: rename packaged commands to wardmote by @tickernelz in #257
  • feat: rename public MCP scopes and events to wardmote by @tickernelz in #260
  • refactor: name lock keys, session ids and chat state key after Wardmote by @tickernelz in #262
  • feat: stop contacting Paperclip services by default by @tickernelz in #258
  • refactor: name Kubernetes sandbox objects and upload scratch after Wardmote by @tickernelz in #259
  • refactor: name trace spans and transient keys after Wardmote by @tickernelz in #261
  • feat(secrets): name AWS Secrets Manager secrets and tags wardmote by @tickernelz in #263
  • refactor: name temporary directories wardmote by @tickernelz in #264
  • fix(scripts): resolve the home under ~/.wardmote only by @tickernelz in #265
  • refactor: name transient dot files and staging dirs wardmote by @tickernelz in #266
  • fix(runner-e2e): repair the support suites and run them in CI by @tickernelz in #267
  • refactor: name persisted run and lease markers wardmote by @tickernelz in #268
  • perf(server): prefilter created-from-issue runs through indexes by @tickernelz in #275
  • perf(ui): stop re-reading settled run logs and cap log reads by @tickernelz in #270
  • fix(terminal): trust allowed host origins on their own port by @tickernelz in #273
  • feat(server): trim finished run logs to their tail on a schedule by @tickernelz in #274
  • perf(ui): lazy-load route pages to shrink the entry bundle by @tickernelz in #271
  • feat(onboarding): sign in through omp login and manage custom providers by @tickernelz in #276
  • test(runner): keep credential lease candidates off ephemeral ports by @tickernelz in #277
  • docs: describe the product as Wardmote across current docs and skills by @tickernelz in #269
  • refactor: remove the dead Paperclip Cloud OAuth handoff and Cloud/EE/ID docs by @tickernelz in #272
  • refactor: delete code comments that name the old product by @tickernelz in #278
  • feat(openwa): pin OpenWA 0.30.0 by @tickernelz in #279
  • refactor: name log prefixes and run-log markers wardmote by @tickernelz in #280
  • test: rename legacy name in test-only fixtures by @tickernelz in #281
  • refactor: rename deferred wake context key to _wardmoteWakeContext by @tickernelz in #282
  • refactor: rename stored session config keys to __wardmote* by @tickernelz in #283
  • fix(llm-wiki): align managed skill keys and rename distillation tables by @tickernelz in #284
  • fix(home): map stored ~/.paperclip-pro paths after migrate-home by @tickernelz in #285
  • feat(openwa): tree authority, trust markers and owner origin by @tickernelz in #286
  • test(e2e): wait for the Chat entry redirect before leaving the chat by @tickernelz in #287

Full Changelog: v2026.1109.0...v2026.1111.0

v2026.1109.0

Choose a tag to compare

@github-actions github-actions released this 09 Nov 21:02

What's Changed

  • fix(local-browser): ship the extension as Wardmote (name, palette, icon, id) 1.4.0 by @tickernelz in #195
  • fix(db): read the renamed template env through its folded legacy key by @tickernelz in #194
  • ci(release): drop the NPM_PROMOTE_TOKEN fallback from OIDC releases by @tickernelz in #196
  • docs: rewrite README for Wardmote with visuals and verified numbers by @tickernelz in #187
  • ci: wider lane shards, runner Rust cache and CI time budgets by @tickernelz in #181
  • fix(ui): keep Tailwind preflight below vendor stylesheets by @tickernelz in #178
  • ci: split the Runner lane, warm upgrade-path caches, run five short gates in two jobs by @tickernelz in #198
  • refactor(server): drop Paperclip Cloud managed-instance floors by @tickernelz in #188
  • fix: replace leftover Paperclip product text with Wardmote by @tickernelz in #168
  • ci: split the responsive-shell E2E spec by theme and refresh shard manifests by @tickernelz in #199
  • test: drop seven duplicate test copies, give server polls a 10 s window by @tickernelz in #182
  • ci: name the Runner job and E2E config step after Wardmote by @tickernelz in #193
  • refactor(server): remove Cloud runtime identity, warm standby, and control plane hooks by @tickernelz in #197
  • refactor(server): remove the Cloud tenant trusted-header actor by @tickernelz in #201
  • feat(server)!: remove Cloud onboarding seed receiver and its table by @tickernelz in #202
  • fix(cli): add user bin dirs to service process PATH by @tickernelz in #189
  • ci(policy): tighten legacy-name limits after the npm rename by @tickernelz in #185
  • test(e2e): define the responsive-shell tests in their spec files by @tickernelz in #200
  • fix(ci): run server tests outside src/tests in a lane by @tickernelz in #204
  • ci(e2e): split the Playwright lane into five shards by @tickernelz in #206
  • refactor(server)!: remove the managed-cloud configuration mode by @tickernelz in #203
  • refactor(ui)!: remove the Cloud sign-in, invite, and tenant-session branches by @tickernelz in #205
  • ci: refresh the shard duration manifests from the first five-shard run by @tickernelz in #207
  • refactor(runner)!: rename the runner packages off the legacy product name by @tickernelz in #208
  • fix(runner): let test files read the repository test tree by @tickernelz in #209
  • test(runtime): pick fixed-port base outside the ephemeral range by @tickernelz in #213
  • refactor(names): drop the legacy product name from module and test files by @tickernelz in #212
  • refactor(runner)!: move the vendored runtime behind a Wardmote path by @tickernelz in #211
  • fix: retry now from wait banners; schedule fallback retries by retry model cooldown by @tickernelz in #214
  • fix(recovery): do not hold a legacy run cancelled before dispatch by @tickernelz in #217
  • ci(upgrade-path): cache the legacy release download and time each phase by @tickernelz in #210
  • feat(skills)!: move bundled skill keys to the tickernelz/wardmote prefix by @tickernelz in #216
  • refactor(connectors)!: remove the Paperclip Cloud connector broker by @tickernelz in #215
  • feat(env)!: read only WARDMOTE_* environment names by @tickernelz in #218
  • ci: restore cached node_modules and skip the upgrade-path cleanup by @tickernelz in #219
  • feat(openwa): onboard a WhatsApp session from the Connect wizard by @tickernelz in #221

Full Changelog: v2026.1108.2...v2026.1109.0

v2026.1108.2

Choose a tag to compare

@github-actions github-actions released this 08 Nov 20:04
f92c181

What's Changed

  • ci(policy): gate new legacy product names with check:legacy-name by @tickernelz in #183
  • ci: four vitest workers and a Postgres template for server test shards by @tickernelz in #180
  • ci(release): publish tag releases over npm OIDC trusted publishing by @tickernelz in #186
  • fix(ci): repair legacy-name gate after #180 landed on main by @tickernelz in #190

Full Changelog: v2026.1108.1...v2026.1108.2

v2026.1108.1

Choose a tag to compare

@github-actions github-actions released this 08 Nov 15:09
ec0b842

What's Changed

  • chore(repo): point repository URLs at tickernelz/wardmote by @tickernelz in #166
  • fix(ui): mark the active sidebar item with an accent bar by @tickernelz in #170
  • fix(ui): PWA status bar style and update toast on current build by @tickernelz in #167
  • fix(ui): lift inactive tab contrast and 24px targets below 1024 by @tickernelz in #169
  • fix(decisions): fill Decided/Expired history and count open queue items by @tickernelz in #179
  • fix(ui): hide the xterm helper textarea again under the vendor layer by @tickernelz in #176
  • feat(ui): replace paperclip loading and brand marks with Moot by @tickernelz in #171
  • fix(chat): re-run a conversation drain requested while one is finishing by @tickernelz in #173
  • chore(release): publish packages as @tickernelz/wardmote* by @tickernelz in #172

Full Changelog: v2026.1108.0...v2026.1108.1

v2026.1108.0

Choose a tag to compare

@github-actions github-actions released this 08 Nov 03:01

Upgrading from 2026.1105.1 or older

This release publishes 20 packages instead of 31 (the retired adapters are gone). An older installed CLI checks the old 31-package list and stops with "Release 2026.1108.0 is incomplete ... 11 of 31 packages are not published". Run the new CLI once:

npx @tickernelz/paperclip-pro@2026.1108.0 install --version 2026.1108.0 --yes
paperclip-pro service restart --force --expected-version 2026.1108.0

The paperclip-pro command, the service definition and the ~/.paperclip-pro home stay as they are; the new wardmote command is added next to them. Later upgrades work with the normal install command again.

What's Changed

  • feat: Features and Advanced replace Experimental (Wardmote 3) by @tickernelz in #153
  • feat(ui): adopt Ledger v2 tokens, cascade layers and button variants by @tickernelz in #152
  • feat(ui): gate rendered contrast in CI and ship Moot mark and Plex Mono by @tickernelz in #154
  • feat(ui): ship Wardmote PWA with safe offline reading by @tickernelz in #156
  • feat(ui): responsive shell from 360 to 1920 px (Wardmote 4, I-6) by @tickernelz in #157
  • refactor: make OMP the only agent adapter (Wardmote 2) by @tickernelz in #155
  • refactor: remove the AI connection router subsystem by @tickernelz in #159
  • feat(onboarding): three-step OMP onboarding with a version gate (Wardmote 7) by @tickernelz in #160
  • feat: OMP config as six named choices with agent defaults and per-agent setup (ZHA-5110) by @tickernelz in #162
  • test(runner-e2e): set up first-task fixtures through the onboarding API by @tickernelz in #163
  • feat: rename the product to Wardmote with one-release aliases by @tickernelz in #164
  • ci: keep verify green on main when the PR-only upgrade lane skips by @tickernelz in #165

Full Changelog: v2026.1105.1...v2026.1108.0

v2026.1105.1

Choose a tag to compare

@github-actions github-actions released this 05 Nov 07:58

What's Changed

  • fix(local-browser): surface floating dialogs, shadow DOM and frames in snapshots by @tickernelz in #148
  • feat(local-browser): mark the agent's tab in the page and drop the in-app float window by @tickernelz in #149

Full Changelog: v2026.1105.0...v2026.1105.1

v2026.1105.0

Choose a tag to compare

@tickernelz tickernelz released this 05 Nov 05:23

Paperclip v2026.1105.0

OpenWA (WhatsApp) connector changes. Commit 231dcd5, PR #147.

Features

  • Manage the OpenWA gateway from the channel settings. With the channel's OpenWA admin key connected, a board user with connection-management access can now, without the OpenWA dashboard:

    • list, create, start, stop, restart, log out and delete WhatsApp sessions, and edit their settings;
    • connect a session by QR code (reloaded every 3 s until it is ready) or by pairing code;
    • create, revoke and delete OpenWA API keys (a new key is shown once);
    • add, test, pause and delete per-session webhooks and retry failed deliveries;
    • add, enable, disable and remove integration instances and regenerate their secret (shown once).

    Every change is recorded as a config_changed audit entry with redacted before and after snapshots. Stopping, logging out or deleting the agent's own session needs an explicit acknowledgement. Agent tools are unchanged: they still cannot issue keys, QR codes or pairing codes. Still in the OpenWA dashboard: renaming a session (not offered by OpenWA 0.27.1), proxy settings, plugins, templates, automation and gateway-wide settings.

Changes

  • WhatsApp message text is no longer altered. Agent sends, run-output replies, approval messages and chat reads now carry links (including query strings and fragments), tokens and other text exactly as written. Previously links lost ?code= and similar, some became "[link removed]", and credential-shaped text became "[REDACTED]". Markdown conversion and long-message splitting stay. Keeping secrets out of WhatsApp is now the agent's instruction, not a filter. Credential masking remains on gateway administration results and in the audit.

Fixes

  • OpenWA path parameters and session ids may no longer be empty, . or .., so an allowed gateway call cannot reach a parent path.

Upgrade Guide

  • No migrations, no configuration changes. New board route: POST /api/chat-endpoints/:endpointId/openwa/gateway-admin.

v2026.1104.2

Choose a tag to compare

@github-actions github-actions released this 04 Nov 11:38