This release includes breaking changes for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
+7 more
Summary
AI summaryUpdates Medium / Minor, Critical, and High across a mixed release.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Low |
`get_scene_tree` returns scene‑relative paths usable as `node_path` input, reducing response size (~10×). `get_scene_tree` returns scene‑relative paths usable as `node_path` input, reducing response size (~10×). Source: llm_adapter@2026-07-19 Confidence: high |
— |
| Feature | Low |
`run_test_scenario` keycode input steps now auto‑release the key (disable with `auto_release: false`). `run_test_scenario` keycode input steps now auto‑release the key (disable with `auto_release: false`). Source: granite4.1:30b@2026-07-19-audit Confidence: low |
— |
| Feature | Low |
`set_particle_material` lists emission sub‑parameters in `changes[]`. `set_particle_material` lists emission sub‑parameters in `changes[]`. Source: granite4.1:30b@2026-07-19-audit Confidence: low |
— |
| Bugfix | High |
`set_particle_color_gradient` fixes infinite loop and removes spurious black stop. `set_particle_color_gradient` fixes infinite loop and removes spurious black stop. Source: llm_adapter@2026-07-19 Confidence: high |
— |
| Bugfix | High |
`connect_signal` now creates persistent connections with optional `deferred`/`one_shot` flags and echoes them in the response. `connect_signal` now creates persistent connections with optional `deferred`/`one_shot` flags and echoes them in the response. Source: llm_adapter@2026-07-19 Confidence: high |
— |
| Bugfix | High |
`update_property` now loads Resource paths (`res://`, `uid://`) instead of silently setting to null; unresolvable paths fail loudly. `update_property` now loads Resource paths (`res://`, `uid://`) instead of silently setting to null; unresolvable paths fail loudly. Source: llm_adapter@2026-07-19 Confidence: high |
— |
| Bugfix | Medium |
`create_theme` now writes the theme file and creates missing parent directories. `create_theme` now writes the theme file and creates missing parent directories. Source: llm_adapter@2026-07-19 Confidence: high |
— |
| Bugfix | Medium |
`get_performance_monitors` reports metrics from the running game via IPC instead of the editor process. `get_performance_monitors` reports metrics from the running game via IPC instead of the editor process. Source: llm_adapter@2026-07-19 Confidence: high |
— |
| Bugfix | Medium |
`get_test_report` / `run_test_scenario` correctly aggregate test results; empty reports return `no_results: true`. `get_test_report` / `run_test_scenario` correctly aggregate test results; empty reports return `no_results: true`. Source: llm_adapter@2026-07-19 Confidence: high |
— |
| Bugfix | Low |
`analyze_signal_flow` no longer dumps editor‑internal connections. `analyze_signal_flow` no longer dumps editor‑internal connections. Source: llm_adapter@2026-07-19 Confidence: high |
— |
| Bugfix | Low |
`find_unused_resources` resolves `uid://` references and ProjectSettings‑held references, eliminating false "unused" reports for live assets. `find_unused_resources` resolves `uid://` references and ProjectSettings‑held references, eliminating false "unused" reports for live assets. Source: llm_adapter@2026-07-19 Confidence: high |
— |
| Bugfix | Low |
`get_input_actions(include_builtin: false)` stops leaking editor actions (`spatial_editor/*`). `get_input_actions(include_builtin: false)` stops leaking editor actions (`spatial_editor/*`). Source: llm_adapter@2026-07-19 Confidence: high |
— |
Full changelog
Patch release — 15 fixes from an external user's full-toolset audit (all 174 tools tested against a live editor). Huge thanks to the reporter!
Critical
set_particle_color_gradient: infinite loop that could hang the editor (Gradient cannot be cleared point-by-point). Gradients are now built by wholesaleoffsets/colorsassignment. Same root cause removed a spurious black stop from everyapply_particle_presetramp.connect_signal: connections were created withoutCONNECT_PERSISTand never reached the.tscn. Now persistent, with new optionaldeferred/one_shotparameters andflags/persistentechoed in the response.update_property: assigning a Resource property byres:///uid://path silently set it tonull. Paths are now loaded into Resources (also fixesbatch_add_nodes), and unresolvable paths fail loudly instead of committingnull.
High
create_themereturned{}without writing the file (Dictionary-vs-null guard bug). Also creates parent directories now.get_performance_monitorsreported the editor process's metrics; it now reads the running game via IPC and returns"process": "game".get_test_report/run_test_scenariocounted green assertions as failures (double-wrapped game replies + non-assertion steps being scored). Aggregates are now correct; empty reports returnno_results: true.
Medium / Minor
get_scene_treereturns scene-relative paths (usable asnode_pathinput, ~10x smaller responses).analyze_signal_flowno longer dumps editor-internal connections.find_unused_resourcesresolvesuid://references and ProjectSettings-held references (main scene, bus layout, icon, autoloads) — no more false "unused" reports for live assets.get_input_actions(include_builtin: false)no longer leaks editor actions (spatial_editor/*).create_resourcecreates missing parent directories.run_test_scenariokeycode input steps now auto-release the key (disable withauto_release: false).set_particle_materiallists emission sub-parameters inchanges[].
See CHANGELOG.md for full details.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About youichi-uda/godot-mcp-pro
Premium MCP server for Godot game engine with 84 tools for scene editing, scripting, animation, tilemap, shader, input simulation, and runtime debugging.
Related context
Beta — feedback welcome: [email protected]