Skip to content

Releases: bringfire/Rook

Rook v1.5.13

Choose a tag to compare

@bringfire bringfire released this 15 Jun 13:40

What's Changed

Full Changelog: v1.5.12...v1.5.13

Rook v1.5.12

Choose a tag to compare

@bringfire bringfire released this 13 Jun 15:08
946f1df

Highlights

  • Installer process-conflict handling (#237 / #240): upgrading Rook with a live agent session now shows a clear, plain-English dialog instead of a charmap traceback.
  • Bundled Python runtime hardening: BOM-tolerant manifest read + BOM-less write (release-tooling fix), and a fail-closed wheelhouse staleness guard.

Known issues (targeted for 1.5.13)

  • #247 — Grasshopper definitions do not auto-solve under Rhino.Inside.Revit (the GH document loads with Enabled=false, so the safe-solve policy defers recompute). Standalone Rhino is unaffected. Workaround: toggle the GH solver / force a recompute.
  • #246 — gh_edit may return "GH callback request timed out" on the first solve of an LLM/Chirp cascade even though the edit fully succeeded (synchronous cross-boundary solve). The canvas is correct; re-snapshot to confirm.

What's Changed

  • fix: artifact store corruption recovery + delete-while-streamed (#241) by @bringfire in #242
  • fix: installer process conflict handling and chat manifests (#237, #240) by @bringfire in #244
  • release: bump versions to 1.5.12 by @bringfire in #245
  • build: fail-closed guard for stale bundled Python wheelhouse by @bringfire in #248
  • fix: BOM-tolerant runtime-manifest read + BOM-less write (release blocker) by @bringfire in #249

Full Changelog: v1.5.11...v1.5.12

Rook v1.5.11

Choose a tag to compare

@bringfire bringfire released this 11 Jun 17:43

What's Changed

  • [codex] RookBIM Phase 1 live evidence loop by @bringfire in #198
  • Add RookBIM runtime category resolution by @bringfire in #199
  • Add gh_update_script agent edit API by @bringfire in #200
  • [codex] Native dispatcher command-active policy by @bringfire in #194
  • [codex] add Rook ecosystem architecture roadmap by @bringfire in #201
  • [codex] Phase 1 runtime capability discovery by @bringfire in #202
  • [codex] Stabilize companion load during recent-file startup by @bringfire in #203
  • [codex] Add Phase 2 Slice 1 route diagnostics by @bringfire in #204
  • [codex] Add Phase 2A vision and viewport diagnostics by @bringfire in #205
  • [codex] Add Phase 2B block mutation proxy diagnostics by @bringfire in #206
  • Phase 2C RookBIM diagnostics by @bringfire in #207
  • fix(gh): prevent Rhino crash when updating a GH script while the solver is locked by @bringfire in #208
  • P1: read-only Rhino sessions + liveness (rhino_sessions, rhino_session_capabilities) by @bringfire in #209
  • P2: structured bridge-failure diagnosis (call_rhino failures -> agent-consumable envelopes) by @bringfire in #210
  • P3: explicit session-targeted mutation (canonical session routing selector) by @bringfire in #211
  • P4: owned Workbench session launch (rhino_workbench_launch / list / close) by @bringfire in #212
  • P5: persistent owned-session registry (durable ownership + adopt-on-restart) by @bringfire in #213
  • docs(rooksplat): add Slice 1 mesh2splat design and plan by @bringfire in #214
  • test: stabilize non-live pytest collection (retire hand-built ignore lists) by @bringfire in #216
  • docs: tool-result-surface contract (durable home for the P6 lesson) by @bringfire in #219
  • Router P6 Slice 1: durable artifact perception by @bringfire in #217
  • Tool surface cleanup (#218): blessed call_tool parser + formatter contract pin + p3–p6 harness migration by @bringfire in #220
  • Rhino launch hardening (#222): split launch primitives + structured LaunchOutcome (Phase 1) by @bringfire in #223
  • P7 Slice 1: merge-contract registry — record + validate fan-in intent by @bringfire in #224
  • P7 Slice 2: declared-target state machine — declare + promote a master before it exists by @bringfire in #225
  • P7 Slice 3: planned merge contracts — record future fan-in, activate into strict contracts by @bringfire in #226
  • P7 linked-block substrate — observable linked identity + deterministic naming by @bringfire in #227
  • P7 Slice 4: linked-block merge executor (rhino_merge_contract_execute) by @bringfire in #228
  • P7 Slice 5: chained linked-block recomposition (proof/harness) by @bringfire in #229
  • release: bump versions to 1.5.10 by @bringfire in #231
  • fix: level-triggered WebView presentation reconciler (#233) by @bringfire in #234
  • release: unify bundled-python installer with reconciler main by @bringfire in #235
  • release: bump versions to 1.5.11 by @bringfire in #236
  • fix: utf-8 encoding for installer config IO (release blocker) by @bringfire in #238

Full Changelog: v1.5.9...v1.5.11

Rook v1.5.9

Choose a tag to compare

@bringfire bringfire released this 27 May 03:57
918778e

Rook v1.5.9

Installer release built from main commit 918778e.

Validation summary:

  • Local standalone Rhino smoke passed with native ping pong and plugin version 1.5.9.
  • Independent clean-laptop Revit/Rhino.Inside + Grasshopper validation passed through MCP and direct native HTTP.
  • Grasshopper was ready for edit with 0 errors and 0 warnings.
  • Chat service health passed.

Known caveat:

  • A long-lived Codex MCP session had stale/unhealthy discovery, while a fresh Codex MCP session passed. This was treated as a session health issue, not a Rook 1.5.9 install/runtime failure.

Installer SHA256:
AB4EEC0C579B78F5BFAFF64F5C23B497A334632B96C919A07E880E92CCFD960C

FFmpeg source bundle SHA256:
A0AE9CD7716343F979B194506D0724FAA7BAE026D591351CE6BF78ABE872F0CE

Rook 1.5.8

Choose a tag to compare

@bringfire bringfire released this 25 May 01:38
584b151

Rook 1.5.8 release.

Validated release commit: 584b151

Installer SHA256:
841583BBB61258DFE8A5128EA143C42878FF3F1EF7459DE7C601010428379AFC

Highlights:

  • Fixes installed runtime path bootstrap when Rook is launched directly from the installed venv without ROOK_* environment variables.
  • Keeps bundled command knowledge authoritative over stale mutable command metadata for release safety.
  • Fixes Rhino.Inside Revit native discovery publication and strict MCP target discovery.
  • Refreshes bundled LGPL FFmpeg payload and publishes corresponding source bundle artifacts.

Validation:

  • Release artifact validation passed for installer, smoke manifest, and release manifest.
  • Same-version repair/overwrite from an older 1.5.8 candidate passed installed-runtime proof.
  • Standalone Rhino 8 smoke passed: native autoload, discovery JSON, native ping, companion load, chat health, and basic RookChat.
  • Rhino.Inside Revit 2024 smoke passed: Revit-hosted discovery JSON, native ping, fresh MCP default/explicit-port ping, bad-port requested_port_not_discovered, companion startup evidence, and chat health.

Upgrade note:
After installing or updating Rook, restart Codex/Claude so existing MCP sessions pick up the refreshed installed runtime and discovery behavior.

Rook v1.5.6

Choose a tag to compare

@bringfire bringfire released this 16 May 13:26

What's Changed

Full Changelog: v1.5.5...v1.5.6

Rook v1.5.5

Choose a tag to compare

@bringfire bringfire released this 11 May 17:20

Full Changelog: v1.5.4...v1.5.5

Rook v1.5.4

Choose a tag to compare

@bringfire bringfire released this 11 May 06:29

Full Changelog: v1.5.3...v1.5.4

Rook v1.5.3

Choose a tag to compare

@bringfire bringfire released this 10 May 19:46

What's Changed

  • [codex] Add Rhino runtime harness by @bringfire in #142
  • Add Prompt Memory suite docs, OpenAPI, and integration plan by @bringfire in #143
  • Add GEMMA_COMPETITION_STRATEGY.md: Rook × Gemma challenge plan by @bringfire in #144

Full Changelog: v1.5.2...v1.5.3

Rook v1.5.2

Choose a tag to compare

@bringfire bringfire released this 08 May 01:24

What's Changed

  • feat(split): add rhino_split_disjoint_breps for Revit polysurface cleanup by @bringfire in #12
  • feat(blocks): batch block-definition mutation tools (ABI v8 + v9) by @bringfire in #13
  • feat(blocks): rhino_block_transform_instance_batch (ABI v10) by @bringfire in #14
  • feat(layers): rhino_layer_set_properties_batch (native, best-effort) by @bringfire in #15
  • chore(mcp): backfill prior batch tools into discovery surfaces by @bringfire in #16
  • chore(mcp): backfill rhino_split_disjoint_breps into explorer/registry.py by @bringfire in #17
  • feat(intent): CapabilityRouter coverage for 8 batch tools + paired singles by @bringfire in #18
  • chore(explorer): categorize 14 block + layer mutation tools by @bringfire in #19
  • feat(intent): CapabilityRouter sweep for historical block tools (12 ops) by @bringfire in #20
  • feat(blocks): add rhino_block_replace_object_geometry_batch by @bringfire in #21
  • feat(blocks): add rhino_block_transform_object_batch by @bringfire in #22
  • feat(blocks): add replace-instance-batch and harden block tool contracts by @bringfire in #23
  • fix(blocks): apply non-origin basePoint via local-coord definition storage by @bringfire in #25
  • fix(blocks): normalize world-coord source in companion replace-object-geometry (#27) by @bringfire in #30
  • test(blocks): live-Rhino regression coverage for replace-object-geometry (#31) by @bringfire in #32
  • feat(blocks): migrate basePoint metadata to Rook-owned UserData with legacy fallback (#28) by @bringfire in #33
  • test(blocks): live-Rhino coverage for link/refresh/merge UserData preservation (#35) by @bringfire in #36
  • fix(gh): rich script pin editing + wire preservation by @bringfire in #43
  • fix(gh): persist script pin descriptions across recompile (#42) by @bringfire in #44
  • fix(gh): access-aware Python preamble coercion for list/tree pins (#40) by @bringfire in #46
  • fix(gh): stamp ReferenceID on SetReference wrappers (partial #45) by @bringfire in #48
  • fix(gh): Python preamble reads raw wrappers via ghenv.VolatileData (closes #45) by @bringfire in #49
  • test(blocks): live-Rhino characterization for rebase invariants (#26) by @bringfire in #51
  • fix(blocks): extract MutateDefinitionLocalFrame helper (#26) by @bringfire in #52
  • fix(routes): retire dead rhino_loft / rhino_sweep MCP tools (PR-0) by @bringfire in #54
  • feat(routes): /surface/pipe typed route (Phase 1 PR-1) by @bringfire in #55
  • feat(routes): /surface/loft + plural contract (Phase 1 PR-2) by @bringfire in #56
  • feat(routes): /surface/sweep1 + /surface/sweep2 (Phase 1 PR-3) by @bringfire in #57
  • feat(routes): /surface/revolve typed route (Phase 1 PR-4) by @bringfire in #58
  • feat(routes): /array/linear + /array/rectangular typed routes (Phase 1 PR-5) by @bringfire in #59
  • feat(routes): /array/polar typed route (Phase 1 PR-6) by @bringfire in #60
  • test(intent_runtime): pin Phase 1 typed-route four-surface coverage by @bringfire in #61
  • feat(routes): /select additive compatibility (Phase 2 PR-0) by @bringfire in #62
  • feat(routes): /annotation/text typed route (Phase 2 PR-1) by @bringfire in #63
  • feat(routes): /annotation/dim-linear typed route (Phase 2 PR-2) by @bringfire in #64
  • feat(routes): /annotation/dim-aligned typed route (Phase 2 PR-3) by @bringfire in #65
  • feat(routes): /annotation/dim-radius + /annotation/dim-diameter (Phase 2 PR-4) by @bringfire in #66
  • feat(routes): /annotation/dim-angle typed route (Phase 2 PR-5) by @bringfire in #67
  • feat(routes): /annotation/leader typed route (Phase 2 PR-6) by @bringfire in #68
  • feat(routes): /annotation/dot typed route (Phase 2 PR-7) by @bringfire in #69
  • feat(routes): /usertext/object-set + /usertext/object-get typed routes (Phase 2 PR-9) by @bringfire in #70
  • feat(routes): /usertext/document-* + Phase 2 campaign close (PR-10) by @bringfire in #71
  • feat(routes): /surface/edge + /curve/blend typed routes (Phase 2 surface/curve PR-1) by @bringfire in #72
  • feat(routes): /surface/patch typed route (Phase 2 surface/curve PR-2) by @bringfire in #73
  • feat(routes): /surface/network typed route (Phase 2 surface/curve PR-3) by @bringfire in #74
  • feat(routes): /curve/boolean typed route (Phase 2 surface/curve PR-4 — campaign close) by @bringfire in #75
  • feat(routes): /usertext/object-delete + /usertext/document-delete by @bringfire in #76
  • feat(blocks): rhino_block_reset_scale_batch + 6-handler envelope hygiene by @bringfire in #77
  • fix(gh): forward declared pin type to /gh/script-params payload (closes #38) by @bringfire in #78
  • fix(gh): pre-validate /gh/script-params before component mutation (closes #39) by @bringfire in #79
  • test(gh): gh_set_script_pins coverage + outputs-recipient live case (closes #41) by @bringfire in #80
  • fix(gh): emit runtime warning when preamble cast falls back to cast(0) (closes #50) by @bringfire in #81
  • fix(surface): detect curve-crosses-axis in /surface/revolve (Phase 3 PR-1) by @bringfire in #82
  • fix(gh): contract hygiene for script-component routing (design-pass PR-1) by @bringfire in #83
  • fix(gh): unified gh_create_script tool with language discriminator (design-pass PR-2) by @bringfire in #84
  • fix(gh): gh_execute_intent handoff on script-component intents (design-pass PR-3) by @bringfire in #85
  • fix(gh): modern RhinoCode C# Script resolver visibility + preference by @bringfire in #86
  • fix(gh): Python 3 modern-over-IronPython 2 legacy resolver preference by @bringfire in #87
  • feat(telemetry): persist substrate observations to JSONL by @bringfire in #88
  • feat(blocks): distribute along curve by @bringfire in #89
  • test(infra): scaffold C# unit-test project (Rook.Tests) by @bringfire in #90
  • feat(settings): RookSettingsStore + RookPaths.SettingsRoot by @bringfire in #91
  • feat(artifacts): ArtifactStore + neutral manifest contract by @bringfire in #92
  • feat(webui): Pattern A JS<->C# bridge in RookWebSurface by @bringfire in #93
  • feat(viewport): Tier 3 SDK-backed capture via companion bridge by @bringfire in #94
  • feat(vision): domain services + /vision/* routes (PR-5a) by @bringfire in #95
  • feat(vision): artifact management routes (PR-5b) by @bringfire in #96
  • feat(mcp): Vision MCP tools + tool-catalog wiring (PR-6) by @bringfire in #97
  • feat(ui): virtual-resource hook + generalized tab cleanup (PR-7a) by @bringfire in #98
  • feat(vision): VisionTab UI — Pattern A WebUI surface (PR-7b) by @bringfire in #99
  • fix(plugin): serialize startup retries and prevent re-entry by @bringfire in #100
  • fix(vision): v1 polish — live viewport capture + API key preview by @bringfire in #101
  • [codex] polish Vision framing and WebView lifecycle by @bringfire in #102
  • [codex] Fix RookVision WebView activation recovery by @bringfire in #103
  • feat(vision): swap placeholder header logo for ROOK mark by @bringfire in #104
  • Fix RookVision viewport preview artifacts by @bringfire in #105
  • Add per-image Show in Folder action to RookVision Gallery modal by @bringfire in #106
  • feat(vision): vendor Archivo + JetBrains Mono variable fonts by @bringfire in #107
  • feat(...
Read more