Skip to content

chore: v0.59.0 - #278

Merged
fylorn merged 1 commit into
mainfrom
chore/v0.59.0
Oct 3, 2026
Merged

fylorn merged 1 commit into
mainfrom
chore/v0.59.0

Conversation

@fylorn

@fylorn fylorn commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

Release for #276 and #277.

  • Bump the workspace version to 0.59.0 (Cargo.toml, and the 19 workspace crates in Cargo.lock).
  • Add release-notes/0.59.0.md: an opening paragraph, the upgrade notes, and one section each for plugin files, saving, the default plugins and Windows.
  • CONTROL_API_VERSION (35) and the request store SCHEMA (25) are already at their release values on main. This PR does not change them.

Rebased onto #277 (20cd800).

Upgrade notes in brief

  • Protocol 34 → 35. No Lite release includes 0.58.0; Lite 2026.10.0 (core 0.57.1, protocol 31) does not connect to 0.59.0. sudo twcore upgrade --version 0.57.1 --restart switches a server back.
  • Schema unchanged (25), so the history is kept from 0.58.0. From 0.57.x, 0.58.0's upgrade notes still apply (history cleared once, security.hidden_text / security.output_limit refused).
  • The manifest has to be plain data, declared as export const manifest = { … }. It holds on_error, match (now the scope the plugin runs with) and settings value (replacing default).
  • Config entries hold only id, file, sha256, enabled. 0.58.0's on_error, scope and settings are ignored and dropped on the next write of the plugins section; their values are not carried over. rewrite and confirmed are reserved ids.
  • Plugins installed by 0.58.0:
    • The default plugins are replaced on first start, and one that was on is turned off (its 0.58.0 file cannot be compiled, so its permissions count as unknown). Checked against a_default_installed_by_0_58_is_updated_and_loses_its_old_fields.
    • A user plugin with default in its settings no longer loads, and while on it refuses what it covers. A 0.58.0 manifest cannot set on_error, since 0.58.0 refused the field.
  • Endpoints, types and the confirmation rule are listed against v0.58.0, including the relaxation for plugins without reply.tool_calls and the new guard on PUT/PATCH /config and rollback.
  • Message codes come from diffing every msg! (code, arguments, sentence) between v0.58.0 and main: two new, two removed, and one new sentence (control.plugin.needs_confirmation, same plugin argument).
  • Windows: twcore.exe no longer needs the Visual C++ Redistributable; the C runtime is linked statically (Link the VC runtime statically into twcore.exe #277, .cargo/config.toml, checked by the release workflow's import-table step).

Checks

  • python3 scripts/release_notes_test.py
  • cargo fmt --all -- --check, and the same for crates/tw-plugin/guest
  • cargo clippy --workspace --all-targets -- -D warnings
  • env -u HTTP_PROXY -u HTTPS_PROXY cargo test --workspace: 2638 passed, 0 failed, 7 ignored

All runs used RUSTFLAGS="-D warnings".

🤖 Generated with Claude Code

Release for #276 and #277.

- Bump the workspace version to 0.59.0
- release-notes/0.59.0.md

The control-plane protocol (35) and the request store schema (25) are
already at their release values on main and do not change here.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@fylorn
fylorn merged commit f2144b3 into main Oct 3, 2026
5 checks passed
@fylorn
fylorn deleted the chore/v0.59.0 branch October 3, 2026 08:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant