GGua REFERENCE
CHANGELOG / V1.1.0

v1.1.0

Changes since v1.0.10: additional observations, richer failure investigation, and semantic comparisons alongside the existing UI automation and World searches.

Versions compared

The preceding published release is v1.0.10. This page is based on the tagged source comparison and the v1.1.0 release notes. v1.0.10 → v1.1.0 · Release

UI queries/actions, World Object Tree, game input, Visual comparison, sequential Recording, MCP/WebMCP, and Godot/Unity integrations already existed. They are not new in 1.1.0. For installation, see the regular guides: .NET packages · npm packages

Added: semantic snapshot comparisons

Visual tests already compared PNGs. 1.1.0 adds Gua.Testing.Snapshots to compare UI/World IDs, hierarchy, text, and values against saved baselines.

Installation and comparison example · #149

Added: typed values and additional observations

Games can now register custom values and expose reads and change notifications alongside standard UI/World data. Shared Value types, enum catalogs, and equality were added across the C ABI, C++, .NET, and gua-value-tools.

Register and read observations · #139 · #141 · #144

Added: Trace records and offline reports

Trace records operations, completion, observations, assertions, and attachments together. Inspector opens it offline; GuaTraceReport.WriteHtml creates a standalone report. Existing Recording replay serves a different purpose.

Capture and report examples · #140 · #146 · #157 · #169

Changed: resolve targets when acting and wait for readiness

Queries and Get already existed. Locator actions now re-resolve the target and wait for conditions such as visibility and enabled state before acting. Use Query(...).ClickAsync() rather than retaining a node from an earlier screen.

Locator action example · #142

Added: explicit checks of published structure

GuaSemanticLinter.Analyze checks issues such as duplicate IDs or invalid hierarchy when explicitly requested. It does not run automatically on every frame.

Lint usage · #150

Added: queries against engine physics

World coordinate searches already existed. 1.1.0 adds bounded physics queries such as raycasts for Godot/Unity, with explicit Testing/Debug authorization. Built-in public browser AI paths do not support them.

Difference from World searches · #151 · #156 · #159 · #161

Added: input value descriptions and timed replay

Opt-in v2 tools describe accepted input values and examples. ReplayTimedSegmentAsync executes a finite, scheduled input plan. Sequential Recording already existed; built-in MCP/Inspector replay remains sequential.

Input metadata guide · #152 · #160

Added: offline resources for test records

Gua.Testing embeds schemas and an offline Viewer and can generate Trace HTML reports without a separate Node or Bun installation.

.NET packages · #163 · #176

Added: generate C# tests in Inspector

Generate Gua.Testing locators, actions, and assertions from a selected UI node. Review the ID and expected state before adding the code to a test.

Generation steps · #148

Behavior fixes

  • Fixed Unity UI Toolkit Button clicks and Tab navigation. #137
  • Fixed empty game-input search responses in Godot Web. #138
  • MCP retains an unconfirmed outcome on disconnect for submitted actions, instead of treating them as never sent. #165

Limits at 1.1.0

Unity 6000.5.3f1 desktop Mono Players were verified on Windows, Linux, Intel Mac, and Apple Silicon Mac. Editor was verified on Windows, Linux, and Apple M4; native Intel Mac Editor was implemented but unverified. Built-in browser screenshot/privileged spatial queries are unsupported; simultaneous native MCP/WebMCP routing in Codex was unverified. This historical page does not incorporate later 1.1.1 verification.

Detailed engine support · Browser limits