Read the announcement: GTKX 1.6: Agents and the road to 2.0.
New Features
- First-class coding-agent context — Codegen now writes an exact, project-local element reference under
.gtkx/reference, maintains a marked GTKX rules block inAGENTS.md, and creates aCLAUDE.mdbridge when one does not already exist. The generated guidance points agents at the project's own GIR-derived props, signals, methods, development commands, and live-app verification workflow; either output can be disabled throughagents.rulesoragents.reference. (#586) - The CLI now owns MCP setup and execution —
gtkx mcpruns the server version paired with the project's CLI, whilegtkx mcp init --clientconfigures Claude Code, Cursor, VS Code, or OpenCode and prints the Codex snippet to add.mcp.tools,mcp.readOnly,--tools, and--read-onlycan narrow the registered surface; tools carry client-facing safety annotations, and screenshots can be saved without returning image content. New projects include the GTKX MCP configuration. (#586) - Opt-in tree-shakeable generated stores —
future.v2TreeShakingmakes each generated class register with its own definition, allowing production builds to drop unused classes, JSX metadata, namespaces, and animated widgets while retaining everything reachable through rendered elements and binding signatures. Staticanimated(Component)andanimated.GtkXuses are rewritten to exact imports; dynamic access keeps the full widget namespace and produces a build warning. New projects enable the flag. (#593) - Opt-in Adwaita default bindings —
future.v2DefaultLibrariesmakesGtk-4.0andAdw-1the mandatory default set, solibrariesnames only additional dependencies. Generated Adwaita imports, deployment dependencies, and license notices then follow the same resolved library inventory. New projects enable the flag. (#588) - A guided path to GTKX 2.0 — Commands that load
gtkx.config.tsnow emit one grouped stderr warning for every unset future flag, with stable IDs and targeted migration advice.deprecations.silenceacknowledges individual warnings, unknown future keys are reported during codegen, and the new upgrading guide covers every flag and deprecated GTKX symbol so projects can adopt 2.0 behavior while still on 1.6. (#587, #588, #593)
Deprecations
libraries: "*"is deprecated because its generated API depends on the build host's installed GIR files; list the libraries the project uses instead. It is removed in GTKX 2.0. (#588)- Property access on
animated, such asanimated.GtkLabel, is deprecated. Import the component and callanimated(GtkLabel)instead; the wrapper is cached, and this is the form retained in GTKX 2.0. The exportedAnimatedElementstype remains as a deprecated alias ofAnimatedElementMapuntil 2.0. (#593)
Bug Fixes
- Source import discovery now skips every hidden directory, preventing editor caches, copied sources, and other dot-directories from contributing unintended settings schemas or assets to codegen and builds. (#592)
Full changelog: v1.5.0...v1.6.0