Skip to content

v0.3.1

Latest

Choose a tag to compare

@zinin zinin released this 29 Aug 13:17
70c6edb

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 -warehouse build — 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 .rbz instead of two. package.rb --variant=warehouse|github and the generated core/build_profile.rb are gone; the artifact is mcp_for_sketchup_v0.3.1.rbz, with no variant suffix. package.rb now aborts on any argument rather than silently ignoring it.
  • extension.json removed — 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.md drops ~220 lines of catalogue-submission procedure and keeps one note on why that channel is closed.

Artifacts

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.