Packaging and defaults only — no tool, parameter, or response shape changed. Trimble denied the v0.2.0 Extension Warehouse submission on policy grounds (they publish no externally developed MCP servers), so the dual-build system built for that catalogue is gone and there is now a single .rbz.
Upgrade the Python package and the .rbz together. Each side's compatibility ceiling is pinned to its own release, so an installed 0.3.0 plugin rejects a 0.3.1 client at the handshake (JSON-RPC -32001), and a 0.3.0 client rejects a 0.3.1 plugin. Only equal versions connect.
⚠ eval_ruby now ships enabled
eval_ruby runs arbitrary Ruby inside SketchUp with full filesystem, network and shell access. It is now on by default. Uncheck Enable Ruby evaluation in Plugins → MCP Server → Settings... to close the gate; re-opening it pops a blocking confirmation spelling out the risk.
What an in-place upgrade does depends on what you had stored:
- You explicitly disabled
eval_ruby→ it stays disabled. The stored preference outranks the new default. Intended. - You never opened Settings → the gate opens, with no dialog shown. This is the case to know about: with no stored preference the new default applies, and the confirmation only fires on an off→on transition inside the Settings dialog, which an upgrade never passes through. It affects everyone running a
-warehousebuild — published as a release asset for both v0.2.0 and v0.3.0 — where an absent preference previously resolved to closed.
Every eval_ruby call is still shown for approval by MCP clients that implement per-call review (Claude Desktop, Claude Code). Note that this is a client convention, not a protocol guarantee: a client running with approvals disabled shows nothing.
Packaging
- One
.rbzinstead of two.package.rb --variant=warehouse|githuband the generatedcore/build_profile.rbare gone; the artifact ismcp_for_sketchup_v0.3.1.rbz, with no variant suffix.package.rbnow aborts on any argument rather than silently ignoring it. extension.jsonremoved — only the Extension Warehouse read it, and it never shipped inside the.rbz. A release now has six version-bump points instead of seven.- Docs rewritten around a single build.
docs/release.mddrops ~220 lines of catalogue-submission procedure and keeps one note on why that channel is closed.
Artifacts
- Python:
uvx sketchup-mcp2— PyPI: https://pypi.org/project/sketchup-mcp2/0.3.1/ mcp_for_sketchup_v0.3.1-signed.rbz— the only build; Trimble-signed.
Test suites: Ruby 417 runs / 1124 assertions, Python 177 tests — all green. Live-verified on SketchUp 2026: 25/25 smoke steps with no eval steps skipped, plus closing and re-opening the gate through the Settings dialog.