<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Envy changelog</title><link>https://envyui.com/changelog</link><atom:link href="https://envyui.com/changelog.xml" rel="self" type="application/rss+xml"/><description>Release notes for Envy, the game UI editor for Godot and the web.</description><language>en</language><item><title>Translations, live reload in Godot, and the pen tool</title><link>https://envyui.com/changelog#2026-10-09</link><guid isPermaLink="true">https://envyui.com/changelog#2026-10-09</guid><pubDate>Fri, 09 Oct 2026 12:00:00 GMT</pubDate><description>&lt;p&gt;Give text a key and a table per language, edit while your Godot game runs, and draw your own shapes.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Localization tables (F9).&lt;/b&gt; Text layers take a translation key; tables hold each language. Preview any locale or a pseudo-locale on the canvas, export CSV for translators, and switch language at runtime in both runtimes.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Godot import and hot reload (F8).&lt;/b&gt; In Godot 4.6+, &lt;code&gt;.envy.json&lt;/code&gt; imports as an EnvyDocument resource and reloads while the game runs.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Save to disk.&lt;/b&gt; Link a document to a &lt;code&gt;.envy.json&lt;/code&gt; file and Ctrl S writes it, so it can live inside your Godot project.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Pen tool and vector paths (F10).&lt;/b&gt; Bezier paths with point editing, drawn by both runtimes.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Effects (F10).&lt;/b&gt; Inner shadow, layer blur, and multiple fills and strokes on frames and buttons.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Rulers, guides and grids (F10).&lt;/b&gt; Drag guides from the rulers, add column, row or square grids, and hold Alt to measure.&lt;/li&gt;&lt;/ul&gt;</description></item><item><title>Lists, overlays, transitions, gamepad focus and component properties</title><link>https://envyui.com/changelog#2026-10-08-features</link><guid isPermaLink="true">https://envyui.com/changelog#2026-10-08-features</guid><pubDate>Thu, 08 Oct 2026 12:00:00 GMT</pubDate><description>&lt;p&gt;The pieces a real inventory, pause menu and controller-driven menu need.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Repeaters (F1).&lt;/b&gt; Bind a frame to an array and its template child is drawn once per item, with stable ids and &lt;code&gt;{item.x}&lt;/code&gt; templates.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Overlay screens (F2).&lt;/b&gt; &lt;code&gt;push&lt;/code&gt; a pause menu over the HUD and &lt;code&gt;pop&lt;/code&gt; it again. The HUD keeps its state and input below is blocked.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Screen transitions (F3).&lt;/b&gt; Fade, slide or scale on goto, push and pop, per screen or per button.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Keyboard and gamepad focus (F4).&lt;/b&gt; Explicit neighbours, an initial button and a focus ring, in both runtimes.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Fonts as document assets (F5).&lt;/b&gt; Embed font files so text looks the same everywhere without setup.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Scenarios (F6).&lt;/b&gt; Named sample-data states like Low health, shown on the canvas and rendered into the handoff.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Component properties (F7).&lt;/b&gt; Text, toggle and instance-swap properties on components.&lt;/li&gt;&lt;/ul&gt;</description></item><item><title>Safer documents and honest saving</title><link>https://envyui.com/changelog#2026-10-08-safety</link><guid isPermaLink="true">https://envyui.com/changelog#2026-10-08-safety</guid><pubDate>Thu, 08 Oct 2026 12:00:00 GMT</pubDate><description>&lt;p&gt;A pass on data safety and reliability before the new features.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Every document gets its own autosave, with recovery, and the save status shows what really happened.&lt;/li&gt;&lt;li&gt;Imported documents go through one validating parser; malformed files show a readable error instead of crashing.&lt;/li&gt;&lt;li&gt;Colors and strokes are validated, generated GDScript escapes event names, and runtime buttons are real accessible buttons.&lt;/li&gt;&lt;li&gt;An error screen lets you copy diagnostics and download your document if something goes wrong.&lt;/li&gt;&lt;li&gt;Export checks the document first and lists any screenshot that failed.&lt;/li&gt;&lt;li&gt;Continuous integration runs typecheck, tests, the build and the Godot headless tests on every change.&lt;/li&gt;&lt;/ul&gt;</description></item></channel></rss>