Changelog
All notable changes to GodotIQ are documented here. Releases follow semantic versioning.
v0.5.11 Latest
Section titled “v0.5.11 ”Analysis tools neither invent issues nor stay silent about gaps
Section titled “Analysis tools neither invent issues nor stay silent about gaps”Driven by a second round of externally reported tool limitations, every claim re-verified against the code before fixing.
animation_infoandanimation_auditnow see AnimationLibrary.tresfiles loaded via ExtResource. A scene whose AnimationPlayer loads its library from a.tresfile used to report 0 animations (plus a bogusempty_playerwarning); both tools now follow the reference, and animations carry asourcelabel (tres_library/external).animation_auditno longer flagsautoplay/current_animationanimations as orphans — an animation the engine plays by itself was reported as “never referenced” (Pro).placementhonorsconstraints.marker_group, which was documented but never read. Marker-first mode withoutnear/near_positionuses the group’s free markers as candidates, and the no-reference error now says exactly what to provide (Pro).- New real
.tresresource parser replaces the old placeholder — same text dialect as.tscn, and the piece that unlocks the external-AnimationLibrary fixes above. build_scenegrid auto-spacing is never silent: every grid response without explicitspacingcarries anauto_spacingkey reporting whether it applied, with value and source — or the specific reason it didn’t.spatial_auditdetects real geometric interpenetration (approximate world AABBs where the data exists) and declares its own coverage: a newcoverageblock says what each geometric check evaluated vs skipped, so “0 issues” with low coverage reads as “not verified” rather than “verified clean”. New optionalfloating_thresholdparameter for ground-level scenes (Pro).
v0.5.10
Section titled “v0.5.10”A mutation tool may never claim a change the editor doesn’t show
Section titled “A mutation tool may never claim a change the editor doesn’t show”Hotfix for the externally reported node_ops false-success family, reproduced live on Godot 4.6.
node_opscan no longer be poisoned into permanent silent no-ops: one all-failed (or read-only) batch used to leave an orphaned UndoRedo action that swallowed every later batch — answeringok+scene_modified: truewhile changing nothing — until the editor restarted. The action is now created lazily and always committed.- Every mutating operation is read back against the live editor tree after commit — rename, delete, add_child, duplicate, reparent and set_anchors included. A failed read-back downgrades the op to the new
"unverified"status, and the response carries a top-levelall_verified. - Mutations on nodes inside instanced child scenes are refused with
INSTANCE_INTERNAL_NODE— such edits used to apply live, report success, and silently revert on reload because the.tscnnever serializes them. With Editable Children enabled, property ops and add_child/duplicate pass (those serialize as overrides); delete/rename/reparent stay blocked. save_scenetells the truth: the editor’s return code is captured and the file is confirmed on disk, so silent write failures answersaved: false+error_codeinstead ofsaved: true. A new optionalexpected_sceneparameter refuses withSCENE_MISMATCHwhen a different tab is active.- The Python wrapper now actually forwards
sceneto the editor (the preflight guard was vacuous before) and surfaces unverified results with a top-levelwarning; output truncation can never drop error or unverified entries from large batches. - New editor-headless contract test suite: a real
--headless --editorGodot driven over the websocket bridge, no mocks — GDScript contracts are now exercised in CI on every push.
v0.5.9
Section titled “v0.5.9”Project-wide analysis covers the whole project — and says what it saw
Section titled “Project-wide analysis covers the whole project — and says what it saw”Driven by the verified Phase-5 dogfooding findings.
- Project/graph-scoped tools (
validate,signal_map,dependency_graph,impact_check,trace_flow) now see externally added files: project scope is reconciled before every dispatch, and every payload reports its own coverage (files_checked,project_files_discovered,files_skippedwith reasons) — a partial scan can never read as full coverage again. - The
.tscnparser reads Godot 4.6’s nativeunique_idnode attribute; the field was silently alwaysNoneon 4.6 files. check_errorsno longer crashes on — or blames the addon for — project scripts that declare their ownreload(): shadowing scripts are genuinely compile-checked instead of breaking the checker. The same hardening coversreload_scriptandrun’s pre-flight validation.install-addonnow injects a compact CORE rules block (~4.8k chars) into client convention files (CLAUDE.md,AGENTS.md,.cursorrules,.windsurfrules, copilot instructions) instead of the full 43k document, which overflowed client context budgets. The full text still ships asGODOTIQ_RULES.md, read on demand; re-runninginstall-addonupgrades old blocks in place, and marker-less files get the block prepended so it can never land beyond a truncation point.
v0.5.8
Section titled “v0.5.8”Reliability: tools tell you what they can’t see
Section titled “Reliability: tools tell you what they can’t see”A hardening release driven by bugs found and verified while dogfooding the tools: they no longer silently misreport runtime or resource state. When the game runtime is not attached, an error line is unknown, or a UID answer comes from disk rather than the editor, the tools now say so explicitly instead of guessing.
runnow reportsruntime_attachedand never claims bare success for a game the runtime tools can’t reach; game-side tools returnRUNTIME_NOT_ATTACHEDimmediately instead of hanging until the timeout (measured ~10ms vs the old 5s wait on a real editor).verify_project_runsis fixed (it previously errored on every call) and reportsINCONCLUSIVErather than a falsePASSwhen the runtime never attached.- Signal analysis now sees
emit_signal("name")emissions in every call form, ignores emissions quoted inside strings, records multiple emissions per line, and handles multiline calls. - New editor-open guard: direct-disk writes to
.tscn/.scnwhile the editor is open are refused withBLOCKED_EDITOR_OPEN, with safe alternatives suggested. Bridge operations stay allowed; opt out via.godotiq.json. - UID diagnostics carry a
resolution_source(editor vs disk), plus an opt-in divergence check (UID_CACHE_DIVERGENCE) that recommends an editor restart when the two disagree. inputnow exercises the real input pipeline —parse_input_eventwith realInputEventActions, frame stepping, and delivery reporting — instead of state-only flags that_inputhandlers never saw. The previous state-only mode remains available by passingvia: "state".check_errorsreportsline: nullwithline_unavailable: trueinstead of a fabricated line 0 when the error line is unknown.- Project-wide analysis refreshes stale files before reading, so external edits are picked up without restarting the session.
- Opt-in
wait_for_importparameter oneditor_contextwaits until the editor’s scan/import queue is idle. - Tool count unchanged: 38 total (24 Community + 14 Pro).
v0.5.7
Section titled “v0.5.7”Windows-safe MCP setup
Section titled “Windows-safe MCP setup”- Fixed a Windows-only crash in
godotiq install-addon(UnicodeDecodeError): the CLI now reads and writes every bundled text file as UTF-8 instead of the platform default code page, so installing the addon no longer aborts on Windows. The same UTF-8 hardening was applied to the.godotiq.jsonloader and the release-artifact writer. - Setup is now Windows-safe by default: every client snippet is the cross-platform config form (
.mcp.json/config.tomlwithcommand: "uvx"and the variables in theenvblock), dropping the Unix-onlyenv VAR=… uvx …shell shim that has nocmd/PowerShell equivalent.
v0.5.6
Section titled “v0.5.6”Pro spatial tool fixes
Section titled “Pro spatial tool fixes”godotiq_placementno longer crashes with'WorldNode' object has no attribute 'name'; it now reads the real node contract, so placement works again on every resolved scene.godotiq_placementno longer reports occupiedMarker3Dslots as empty — designer slots that already hold an object are correctly excluded.godotiq_suggest_scaleno longer fails with an import error; two related latent imports in the Pro explore/placement paths were hardened against the same failure mode.
v0.5.5
Section titled “v0.5.5”License activation hardening
Section titled “License activation hardening”godotiq auth reset --yesnow preserves the localinstall_idby default, so support retries reuse the same activation seat (use--new-install-idonly to intentionally rotate device identity).- Activation failures now distinguish an unknown signing key from a true signature mismatch, and deterministic failures are cached for the process so
auth statuscan’t create duplicate activation seats. auth status --jsonnow includes a redactedlicense_key_fingerprint, helping support spot a stale or wrongGODOTIQ_LICENSE_KEYwithout exposing the key.
v0.5.4
Section titled “v0.5.4”Lower token burn and a real Godot Debugger feedback loop
Section titled “Lower token burn and a real Godot Debugger feedback loop”- New
godotiq_read_debug_console: text-only access to Godot Debugger and console errors, so agents can inspect runtime errors directly instead of asking you to paste them from the Debug window. - New
godotiq_verify_project_runs: conservativePASS/FAIL/INCONCLUSIVEverification that checks scripts, starts Play, waits briefly, reads debug errors, and optionally stops the game. Verifies startup and captured errors, not full gameplay correctness. - Screenshot guidance tightened: screenshots are now positioned as visual-only fallbacks. Agents are steered to
state_inspect,read_debug_console,check_errors,verify_motion, andverify_project_runsfirst. - Tool count: 38 total (24 Community + 14 Pro).
v0.5.1
Section titled “v0.5.1”Website activation surface overhaul
Section titled “Website activation surface overhaul”- New
/pro/,/manage/,/troubleshooting/,/how-licensing-works/,/support/pages - Single metadata source (
src/data/site.ts) replaces scattered hardcoded values - Shared
ConfigSnippetTabscomponent unifies install snippets across homepage, install docs, and all client guides /thank-you/post-purchase page wired to Polarsuccess_url- Legal pages (MVP):
/privacy/,/terms/,/refund-policy/ - Cookie consent banner for GA4 (EU GDPR/ePrivacy)
- CI guards: route smoke, link crawl, placeholder lint, GitHub Actions
- Product-side changes (package version bump, error-code fix) tracked separately at github.com/salvo10f/godotiq releases
v0.4.0
Section titled “v0.4.0”Pro Bundle Architecture
Section titled “Pro Bundle Architecture”- Pro bundle distribution: public package now ships Community tools + Pro stubs, not full Pro implementation code
- Pro activation via
GODOTIQ_LICENSE_KEY: automatic Pro bundle download and local cache on first valid Pro run - Worker + R2 delivery path for Pro bundle distribution
platformdirsadded as 4th runtime dependency for cross-platform license state and bundle cache paths- Offline support: after initial bundle download, Pro works from local cache without network access
- Community/Pro messaging refresh across docs and site
v0.3.9
Section titled “v0.3.9”Click Fix
Section titled “Click Fix”Hotfix: click_at and click_at_world used device=-2 (DEVICE_ID_INTERNAL, reserved by Godot), so synthetic clicks never reached game nodes. Changed to device=0 (default device).
v0.3.8
Section titled “v0.3.8”Click Simulation + Type Coercion
Section titled “Click Simulation + Type Coercion”node_opsvalue parameter aliasing: acceptsvalueas generic key alongside specific names (position,rotation, etc.)- Type coercion helpers: auto-converts dictionaries
{"x": 1, "y": 2}to nativeVector2/Vector3/Color click_atandclick_at_worldinput commands: simulate clicks at viewport or world coordinates- MCP prompt v0.4.0: selective rewrite with updated rules
v0.3.7
Section titled “v0.3.7”Update Popup
Section titled “Update Popup”- In-editor update popup: new version triggers a dialog with update instructions (not just the dock label)
- UndoRedo compatibility fix:
MERGE_DISABLEreplaced with numeric value0for cross-version Godot compatibility
v0.3.6
Section titled “v0.3.6”GLB Intelligence
Section titled “GLB Intelligence”- GLB bounding box parser: reads real model dimensions from
.glbfiles without opening Godot node_opspersistence fix: modifications now persist correctly after save- Grid key normalization + bounds checking to prevent placement errors
- Explore tour smart grouping
suggest_scalewith GLB bounds: suggestions based on actual model dimensionsbuild_sceneauto-spacing: automatic object spacing using GLB bounding boxesexec_editortimeout increased and clamped- MCP prompt improvements
v0.3.5
Section titled “v0.3.5”Hardening
Section titled “Hardening”Same content as v0.3.4 with clean PyPI tag (re-tag).
v0.3.4
Section titled “v0.3.4”Bug Sweep
Section titled “Bug Sweep”5 critical bugs found and fixed from the “Crystal Keep” stress test:
- Exec security hardening: tighter sandboxing for
exec_editor runno longer writesmain_scene: eliminated side effect that modifiedproject.godot- Session cache freshness: stale data was served after file changes
suggest_scalefallback: no longer crashes when reference model is missing- Z-fighting noise fix:
spatial_auditno longer reports false positives on overlapping sibling nodes
v0.3.3
Section titled “v0.3.3”First Stable Tag
Section titled “First Stable Tag”First stable release. Includes all work from the initial sprints:
- Complete TSCN/TRES/GD parser with state machine
- Scene resolver + project index with cross-reference maps
- World transforms and spatial queries
- Session layer: unified project state for all tools
- 9 MCP tools:
project_summary,file_context,dependency_graph,scene_map,animation_info,animation_audit,signal_map,suggest_scale,explore - WebSocket bridge with Godot addon: bidirectional editor-Python protocol
- Runtime tools:
node_ops,scene_tree,script_ops,file_ops,build_scene,check_errors,run,exec_editor,screenshot,input - Placement tool with constraint solving
- UI map for runtime UI elements
- Trace flow: recursive signal tracing across the project
- Spatial validation on
node_opswith batch blocking - MCP prompt for AI agent guidance
- CLI:
install-addon,--version, PyPI packaging - Dev key hashing SHA-256, security audit
- 1,000+ tests
v0.3.1
Section titled “v0.3.1”Multi-Client Auto-Setup
Section titled “Multi-Client Auto-Setup”godotiq install-addonnow auto-injects development rules for all major AI clients- Supported: Claude Code (
CLAUDE.md), OpenAI Codex (AGENTS.md), Cursor (.cursorrules), Windsurf (.windsurfrules), GitHub Copilot (.github/copilot-instructions.md) - Uses marker-based injection: safe to re-run, updates without duplicating
- 1,311 tests passing
v0.3.0
Section titled “v0.3.0”Explore & Agent Polish
Section titled “Explore & Agent Polish”godotiq_exploretool for autonomous visual inspection via drone camera (tour + inspect modes)- Agent prompt improvements and workflow refinements
- Tool count: 36 total (22 free, 14 PRO)
v0.1.9
Section titled “v0.1.9”Sprint 12a: Quality & Polish
Section titled “Sprint 12a: Quality & Polish”- CLI
--versionwarning suppression - Version sync script across pyproject.toml, plugin.cfg, godotiq_server.gd
node_opsrename and get_property operationsinputmouse motion commandscreenshotcrop region supportsave_scenefeedback fieldsscene_mapdisk warning noteasset_registryfuzzy match suggestionsexecawait/timeout warning and error detail extractioncheck_errorsconfidence annotationbuild_sceneparent path stripping, scene-derived node names, offset parameter
v0.1.5 to v0.1.7
Section titled “v0.1.5 to v0.1.7”PyPI Distribution Sprint
Section titled “PyPI Distribution Sprint”- README with PyPI installation instructions
- Build verification tests and wheel validation
install-addonsubcommand with file copying- CLI module with argparse and lazy imports
- Dynamic
__version__from package metadata - Packaging configuration for PyPI distribution (Hatchling)
v0.1.4
Section titled “v0.1.4”Sprint 11a, Reliability & Runtime
Section titled “Sprint 11a, Reliability & Runtime”- Fresh MCP development prompt
verify_motiontool for proving movement/animation- Adaptive timeout based on GLB asset count
node_namesfield added tobuild_sceneresponse- Script reload handler +
script_opsintegration - Reliable scene launch rewrite (
_handle_run) set_main_sceneGDScript handler
Sprint 10a/10b, Error Checking & QA
Section titled “Sprint 10a/10b, Error Checking & QA”- Edge case tests for
check_errors - Prompt updates for error checking and gameplay testing
- Python
check_errorsbridge tool and MCP registration - Pre-run script check gate in
_handle_run check_errorsGDScript handler with script validation- Logger + error buffer for script error capture
- QA checklist and efficiency rules added to MCP prompt
- Grid connectivity validation for
build_scene - Pre-flight scene checks for
node_opsandbuild_scene _editor_stateadded to every bridge response for ambient context
Sprint 9a, Build Scene
Section titled “Sprint 9a, Build Scene”build_scenecreation workflow prompt- GDScript
build_scenehandler - Python-side
build_scenetool with registration and timeout tests
Sprint 8a, Output Control & Detail
Section titled “Sprint 8a, Output Control & Detail”- Token budget integration tests
detailparameter added to all tools (brief/normal/full)detailadded to placement, suggest_scale, bridge toolsimpact_checkdetail renamed tochange_description- Enhanced
output_limit.py
Sprint 7, Prompt & Config Rewrite
Section titled “Sprint 7, Prompt & Config Rewrite”- Directive agent guidance rewrite for all 35 tool docstrings
detailparameter system + config system enhancement
Sprint 6, UI, Placement, File Ops
Section titled “Sprint 6, UI, Placement, File Ops”- UID conversion, anchor presets, script rename with reference updates
placementtool: smart object placement with constraint solvingui_map: runtime UI element mapping
Sprint 5, Spatial Validation & Screenshot
Section titled “Sprint 5, Spatial Validation & Screenshot”- Spatial validator module for
node_opsvalidation - Editor screenshot with synchronous handler + WS buffer auto-downscale
- Editor screenshot and camera control
- Editor exec + save scene
- MCP prompt overhaul
Sprint 4, Bridge Layer
Section titled “Sprint 4, Bridge Layer”file_opsfilesystem toolscript_opsfilesystem toolnode_opsPython bridge tool + GDScript handlerscene_treePython bridge tool + GDScript handler- Protocol and plugin wiring
- WebSocket server with request dispatch
- Godot addon plugin configuration and lifecycle
- Bridge tool test suite + session manager + tool registration
Sprint 3, Analysis & Parsers
Section titled “Sprint 3, Analysis & Parsers”trace_flowtool: recursive tracing, failure detection, trigger finding, signal listener map- Spatial audit severity filtering + sibling z-fighting downgrade
suggest_scalereference mode without modelscene_mapdetail-dependent caps and compact outputproject_summaryarchitectural enrichmentsignal_mapfalse positive fixes from event bus patternanimation_audittool +animation_infotool with test suites- Animation extraction helpers and test fixtures
scene_maptool with spatial intelligencedependency_graphtool with signal cross-referencingfile_contexttool for deep file analysisproject_summarytool with 3 detail levels- Server integration with FastMCP lifespan
- Session layer for unified project state
- GDScript parser: body patterns, state machine core, dataclasses
Sprint 2, Scene & Spatial Foundation
Section titled “Sprint 2, Scene & Spatial Foundation”- Project index with cross-reference maps
- World transforms and spatial queries
- Scene resolver core
- Value parser raw key addition
Sprint 1, Foundation
Section titled “Sprint 1, Foundation”- Sprint 0 + Sprint 1A: initial project structure, parsers, test fixtures
v0.1.1
Section titled “v0.1.1”Website-only Patch
Section titled “Website-only Patch”- Website: fixed all placeholder links, added real GitHub/PyPI/checkout URLs
- Website: removed Discord references
- Website: corrected license activation limit (3 machines)
- Website: added “Activate Pro” section to installation docs
- Website: added free tool examples to quickstart
- Website: fixed mobile overflow issues
v0.1.0
Section titled “v0.1.0”GodotIQ Launch
Section titled “GodotIQ Launch”- 36 tools across 11 categories
- 1,245 automated tests
- 22 free tools: raw operations (read, write, execute, query), scene editing, visual debugging, runtime monitoring, editor integration, I/O, animation data, health check
- 13 PRO tools: intelligence layer (analyze, reason, predict, suggest), spatial analysis, code understanding, flow tracing, project memory, asset management, animation auditing
.godotiq.jsonconfiguration system- Token optimization with brief/normal/full detail levels
- Pure GDScript addon (~500 lines, no compilation needed)
- Local-first Community package (MIT-licensed, no analytics in the library itself; website analytics wiring lands in a later website release: see
/privacy/) - MIT license