Skip to content

chore: release - #2606

Merged
henrypark133 merged 3 commits into
mainfrom
release-plz-2026-04-18T01-01-52Z
Apr 21, 2026
Merged

henrypark133 merged 3 commits into
mainfrom
release-plz-2026-04-18T01-01-52Z

Conversation

@ironclaw-ci

@ironclaw-ci ironclaw-ci Bot commented Apr 18, 2026 •

Copy link
Copy Markdown
Contributor

🤖 New release

  • ironclaw_common: 0.2.0 -> 0.3.0 (⚠ API breaking changes)
  • ironclaw_skills: 0.1.0 -> 0.2.0 (⚠ API breaking changes)
  • ironclaw: 0.25.0 -> 0.26.0

⚠ ironclaw_common breaking changes

--- failure enum_no_repr_variant_discriminant_changed: enum variant had its discriminant change value ---

Description:
The enum's variant had its discriminant value change. This breaks downstream code that used its value via a numeric cast like `as isize`.
        ref: https://doc.rust-lang.org/reference/items/enumerations.html#assigning-discriminant-values
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/enum_no_repr_variant_discriminant_changed.ron

Failed in:
  variant AppEvent::GateRequired 13 -> 10 in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_common/src/event.rs:293
  variant AppEvent::GateResolved 14 -> 11 in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_common/src/event.rs:306
  variant AppEvent::Error 15 -> 12 in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_common/src/event.rs:316
  variant AppEvent::Heartbeat 16 -> 13 in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_common/src/event.rs:322
  variant AppEvent::JobMessage 17 -> 14 in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_common/src/event.rs:326
  variant AppEvent::JobToolUse 18 -> 15 in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_common/src/event.rs:332
  variant AppEvent::JobToolResult 19 -> 16 in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_common/src/event.rs:338
  variant AppEvent::JobStatus 20 -> 17 in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_common/src/event.rs:344
  variant AppEvent::JobResult 21 -> 18 in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_common/src/event.rs:346
  variant AppEvent::ImageGenerated 22 -> 19 in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_common/src/event.rs:357
  variant AppEvent::Suggestions 23 -> 20 in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_common/src/event.rs:368
  variant AppEvent::TurnCost 24 -> 21 in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_common/src/event.rs:376
  variant AppEvent::SkillActivated 25 -> 22 in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_common/src/event.rs:392
  variant AppEvent::ExtensionStatus 26 -> 23 in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_common/src/event.rs:402
  variant AppEvent::ReasoningUpdate 27 -> 24 in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_common/src/event.rs:411
  variant AppEvent::JobReasoning 28 -> 25 in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_common/src/event.rs:420
  variant AppEvent::ThreadStateChanged 29 -> 28 in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_common/src/event.rs:455
  variant AppEvent::ChildThreadSpawned 30 -> 29 in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_common/src/event.rs:465
  variant AppEvent::MissionThreadSpawned 31 -> 30 in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_common/src/event.rs:473
  variant AppEvent::PlanUpdate 32 -> 31 in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_common/src/event.rs:484

--- failure enum_struct_variant_field_added: pub enum struct variant field added ---

Description:
An enum's exhaustive struct variant has a new field, which has to be included when constructing or matching on this variant.
        ref: https://doc.rust-lang.org/reference/attributes/type_system.html#the-non_exhaustive-attribute
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/enum_struct_variant_field_added.ron

Failed in:
  field call_id of variant AppEvent::ToolStarted in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_common/src/event.rs:216
  field call_id of variant AppEvent::ToolCompleted in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_common/src/event.rs:229
  field duration_ms of variant AppEvent::ToolCompleted in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_common/src/event.rs:231
  field call_id of variant AppEvent::ToolResult in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_common/src/event.rs:240
  field extension_name of variant AppEvent::GateRequired in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_common/src/event.rs:300
  field event_id of variant AppEvent::ImageGenerated in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_common/src/event.rs:358
  field feedback of variant AppEvent::SkillActivated in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_common/src/event.rs:397

--- failure enum_variant_added: enum variant added on exhaustive enum ---

Description:
A publicly-visible enum without #[non_exhaustive] has a new variant.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#enum-variant-new
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/enum_variant_added.ron

Failed in:
  variant AppEvent:OnboardingState in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_common/src/event.rs:274
  variant AppEvent:ToolResultFull in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_common/src/event.rs:428
  variant AppEvent:TurnMetrics in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_common/src/event.rs:441

--- failure enum_variant_missing: pub enum variant removed or renamed ---

Description:
A publicly-visible enum has at least one variant that is no longer available under its prior name. It may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/enum_variant_missing.ron

Failed in:
  variant AppEvent::AuthRequired, previously in file /tmp/.tmpeH9sac/ironclaw_common/src/event.rs:114
  variant AppEvent::AuthCompleted, previously in file /tmp/.tmpeH9sac/ironclaw_common/src/event.rs:126
  variant AppEvent::PairingRequired, previously in file /tmp/.tmpeH9sac/ironclaw_common/src/event.rs:134
  variant AppEvent::PairingCompleted, previously in file /tmp/.tmpeH9sac/ironclaw_common/src/event.rs:144

⚠ ironclaw_skills breaking changes

--- failure constructible_struct_adds_field: externally-constructible struct adds field ---

Description:
A pub struct constructible with a struct literal has a new pub field. Existing struct literals must be updated to include the new field.
        ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/constructible_struct_adds_field.ron

Failed in:
  field ActivationCriteria.setup_marker in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_skills/src/types.rs:112
  field ActivationCriteria.setup_marker in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_skills/src/types.rs:112
  field V2SkillMetadata.requires in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_skills/src/v2.rs:167
  field V2SkillMetadata.bundle_path in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_skills/src/v2.rs:188
  field V2SkillMetadata.source_url in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_skills/src/v2.rs:191

--- failure function_parameter_count_changed: pub fn parameter count changed ---

Description:
A publicly-visible function now takes a different number of parameters.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#fn-change-arity
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/function_parameter_count_changed.ron

Failed in:
  ironclaw_skills::selector::prefilter_skills now takes 5 parameters instead of 4, in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_skills/src/selector.rs:157
  ironclaw_skills::prefilter_skills now takes 5 parameters instead of 4, in /tmp/.tmpSbGGKX/ironclaw/crates/ironclaw_skills/src/selector.rs:157
Changelog

ironclaw_common

0.3.0 - 2026-04-21

Added

  • add debug inspector panel for web gateway (#1873)
  • (skills) activation feedback pipeline + install idempotence (#2530)
  • (common) apply ExtensionName newtype to fan-out sites (PR 2/2) (#2617)
  • (common) CredentialName + ExtensionName newtypes (PR 1/2) (#2611)

Fixed

  • (gateway) align historical/live tool call cards and preserve tool call correlation (#2182)
  • image generation with nearai models (#1819)

Other

  • (types) adopt MissionId in router + introduce McpServerName (#2681)
  • (channels) introduce ExternalThreadId newtype at channel boundary (#2685)
  • (events) replace JobResult.status String with JobResultStatus enum (#2678)
  • Fix gateway tool output visibility and timing (#2555)
  • (events) add OnboardingStateDto::pairing_required constructor (#2607)
  • Unify gateway onboarding, auth gates, and pairing flows (#2515)

ironclaw_skills

0.2.0 - 2026-04-21

Added

  • (gateway) add attachment flows, v2 skill install coverage, and e2e stabilization (#2385)
  • (skills) activation feedback pipeline + install idempotence (#2530)
  • (skills) setup-marker lifecycle, chain-loading, and live GitHub workflow test (#2268)
  • discover tool source in working directory during install (#2396)

Other

  • Fix Slack relay OAuth callback state lookup (#2512)

ironclaw

0.26.0 - 2026-04-21

Added

  • (engine-v2) add per-project sandbox with mission lifecycle and cost tracking (#2211) (#2660)
  • (llm) hot-reload provider chain from settings (#2673)
  • (bridge) add workspace-backed project registration and mission result retrieval (#2533) (#2549)
  • (engine) require a tool attempt for explicit user commands and add code execution failure categorization (#2539) (#2483)
  • (gate) persist "always approve" decisions in the v2 engine path (#2428)
  • (memory) add configurable insights interval, session summaries, and reasoning-augmented recall (#2336)
  • (gateway) add attachment flows, document uploads, rich history tool cards, debug inspector, and admin tooling UI (#2385) (#2332) (#2477) (#1873) (#1963)
  • (tui) support multiline drafting and input handling improvements (#2449) (#2462)
  • (skills) add new-project/template resolution, setup-marker lifecycle, working-directory source discovery, and activation feedback pipeline (#2353) (#2268) (#2396) (#2530)
  • (portfolio) complete the portfolio tool, widget, and share-gains flow (#2368)
  • (cli) add logs --grep, profile list, user-facing temperature setting, and local-profile onboarding prompts (#1533) (#2288) (#2275) (#2389)
  • (runtime) default CLI_MODE to TUI and show the commit hash in non-tagged gateway builds (#2329) (#2486)

Fixed

  • (gateway) repair web login, onboarding, pairing, and v2 extension auth resume flows; the web API now uses unified onboarding state events instead of the older auth/pairing event split (#2592) (#2594) (#2515) (#2622)
  • (gateway) fix disappearing messages, stale in-progress state, assistant-thread routing, approval scoping, reconnect history reloads, browser crashers, and chat refresh issues (#2498) (#2517) (#2444) (#2267) (#2415) (#2441) (#2330)
  • (gateway) fix slash autocomplete, attachment rendering, missions navigation, settings search/auth state, active-work pills, tool output timing, and historical/live tool call correlation (#2763) (#2745) (#2518) (#2709) (#2671) (#2555) (#2182)
  • (engine) harden the v2 orchestrator, improve action failure handling, preserve paused auth leases, avoid orphaned approval gates, and prevent runaway or no-op mission execution paths (#1958) (#2326) (#2338) (#2458) (#2531) (#2570) (#2631) (#2347) (#2328) (#2460)
  • (llm) fix image generation and image-detail handling, normalize NEAR AI tool schemas, surface 413s as context-length errors, and remove duplicate reasoning_content fields (#1819) (#2380) (#1940) (#2463) (#2339) (#2493)
  • (security) add inbound secret scanning, redact HTTP credentials in recordings, fail closed on WASM scope fallback, harden approval thread safety, and scan pre-injection channel headers for leaks (#2494) (#2529) (#2465) (#2366) (#1377)
  • (channels) fix active WASM channel restore/status tracking plus Slack, Telegram, and Feishu auth/routing edge cases (#2563) (#2562) (#2420) (#2471) (#2512) (#1540) (#2513) (#1943) (#2652) (#2349) (#2443) (#2454)
  • (cli/setup) improve auth UX, avoid UTF-8 panics, suppress non-CLI listeners under --cli-only, validate strict MCP server names, install the NEAR AI MCP server from env config, and run migrations during onboarding when DATABASE_URL is preset (#2315) (#2008) (#1869) (#2400) (#2181) (#2309)
  • (sandbox/docker) improve Docker and deployment behavior by preferring the Docker socket when available and restoring the staging runtime target for Railway builds (#2467) (#2244)

Other


This PR was generated with release-plz.

Staging promotion batches since v0.21.0

No structured staging promotion merges found since v0.21.0.

Auto-updated from structured staging promotion merge bodies on main.

@github-actions github-actions Bot added scope: docs Documentation scope: dependencies Dependency updates size: S 10-49 changed lines risk: medium Business logic, config, or moderate-risk modules contributor: core 20+ merged PRs labels Apr 18, 2026
ilblackdragon added a commit that referenced this pull request Apr 18, 2026
The e2e assertion at tests/e2e_builtin_tool_coverage.rs:1230 checked for
a lowercase "use the `message` tool ..." substring, but #2515 capitalized
the first word in src/tools/builtin/extension_tools.rs:110. The local
unit test in that file was updated; this e2e test was missed, breaking
CI on main and blocking the release-plz PR (#2606).

Normalize to lowercase before substring match so a future copy-edit
doesn't silently break CI again.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
ilblackdragon added a commit that referenced this pull request Apr 18, 2026
The e2e assertion at tests/e2e_builtin_tool_coverage.rs:1230 checked for
a lowercase "use the `message` tool ..." substring, but #2515 capitalized
the first word in src/tools/builtin/extension_tools.rs:110. The local
unit test in that file was updated; this e2e test was missed, breaking
the Run Tests job on main and blocking release-plz PR #2606.

Normalize to lowercase before substring match so a future copy-edit
doesn't silently break CI again.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
ilblackdragon added a commit that referenced this pull request Apr 18, 2026
* fix(test): case-insensitive assertion in tool_search description

The e2e assertion at tests/e2e_builtin_tool_coverage.rs:1230 checked for
a lowercase "use the `message` tool ..." substring, but #2515 capitalized
the first word in src/tools/builtin/extension_tools.rs:110. The local
unit test in that file was updated; this e2e test was missed, breaking
the Run Tests job on main and blocking release-plz PR #2606.

Normalize to lowercase before substring match so a future copy-edit
doesn't silently break CI again.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* Update tests/e2e_builtin_tool_coverage.rs

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@ilblackdragon ilblackdragon mentioned this pull request Apr 18, 2026
5 of 7 tasks
@ironclaw-ci
ironclaw-ci Bot force-pushed the release-plz-2026-04-18T01-01-52Z branch from e129eb9 to dce27a4 Compare April 21, 2026 03:21
@henrypark133
henrypark133 merged commit d546cf6 into main Apr 21, 2026
28 of 30 checks passed
@henrypark133
henrypark133 deleted the release-plz-2026-04-18T01-01-52Z branch April 21, 2026 05:02
theredspoon pushed a commit to theredspoon/ironclaw that referenced this pull request Jun 21, 2026
…#2608)

* fix(test): case-insensitive assertion in tool_search description

The e2e assertion at tests/e2e_builtin_tool_coverage.rs:1230 checked for
a lowercase "use the `message` tool ..." substring, but nearai#2515 capitalized
the first word in src/tools/builtin/extension_tools.rs:110. The local
unit test in that file was updated; this e2e test was missed, breaking
the Run Tests job on main and blocking release-plz PR nearai#2606.

Normalize to lowercase before substring match so a future copy-edit
doesn't silently break CI again.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* Update tests/e2e_builtin_tool_coverage.rs

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
theredspoon pushed a commit to theredspoon/ironclaw that referenced this pull request Jun 21, 2026
* chore: release

* fix(release): bump ironclaw to v0.26.0

* docs(release): expand v0.26.0 changelog

---------

Co-authored-by: ironclaw-ci[bot] <266877842+ironclaw-ci[bot]@users.noreply.github.com>
Co-authored-by: Henry Park <henrypark133@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

contributor: core 20+ merged PRs risk: medium Business logic, config, or moderate-risk modules scope: dependencies Dependency updates scope: docs Documentation size: S 10-49 changed lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant