<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Kittine updates</title>
    <link>https://kittine.com/updates</link>
    <description>What actually landed in Kittine, by date — condensed from the language repo's own CHANGELOG.md.</description>
    <language>en-us</language>
    <lastBuildDate>Thu, 23 Jul 2026 00:00:00 GMT</lastBuildDate>
    <item>
      <title>Arrays of structs, closures, and pattern matching as an expression</title>
      <link>https://kittine.com/updates</link>
      <guid isPermaLink="false">kittine-updates-2026-07-23</guid>
      <pubDate>Thu, 23 Jul 2026 00:00:00 GMT</pubDate>
      <description>A litter/breed name, optionally []-suffixed, is now a real prop/purr param or return type (DocEntry[] entries is a real Vec&lt;DocEntry&gt;); closure literals (|param, ..| expr) lower to real Rust closures for .filter()/.map(); pounce&gt; now also works as an expression, unwrapping a Result-shaped value and returning it in one step. The Language reference page's search box is now real, built from exactly these three features.</description>
    </item>
    <item>
      <title>Phase 2 begins: maps, JSON, a reference operator, log levels</title>
      <link>https://kittine.com/updates</link>
      <guid isPermaLink="false">kittine-updates-2026-07-22-phase2</guid>
      <pubDate>Wed, 22 Jul 2026 00:00:00 GMT</pubDate>
      <description>stash{ key: expr, .. } is a real String-keyed map; every litter/breed now derives serde::Serialize/Deserialize for JSON (or YAML/CSV) round-trips via serde_json::to_string(&amp;value); a new &amp;expr reference operator unblocks calling real Rust APIs that need one; warn&lt;expr&gt;/error&lt;expr&gt; join craft&lt;expr&gt; as real logging severity levels.</description>
    </item>
    <item>
      <title>Reading an event handler's actual value</title>
      <link>https://kittine.com/updates</link>
      <guid isPermaLink="false">kittine-updates-2026-07-22</guid>
      <pubDate>Wed, 22 Jul 2026 00:00:00 GMT</pubDate>
      <description>The reserved event identifier, used anywhere inside an on&lt;Event&gt; handler, now reads what the browser event actually carries -- onInput={&lt;{name}&gt; &gt;&gt; event} mutates a signal to whatever was typed, not just a fixed literal. The handler's closure only binds ev when the expression actually reads event.</description>
    </item>
    <item>
      <title>A real package manager, and a live in-browser playground</title>
      <link>https://kittine.com/updates</link>
      <guid isPermaLink="false">kittine-updates-2026-07-21</guid>
      <pubDate>Tue, 21 Jul 2026 00:00:00 GMT</pubDate>
      <description>kittine.toml/kittine.lock plus kittine-compiler add/install/publish, backed by a real hosted registry (kittine-registry) with sha256-verified downloads; the Playground -- kittine-compiler itself, compiled to WebAssembly, compiling .kitty to real Rust entirely client-side.</description>
    </item>
    <item>
      <title>Phase 1 closes: traits, structs, enums, pattern matching, generics</title>
      <link>https://kittine.com/updates</link>
      <guid isPermaLink="false">kittine-updates-2026-07-19</guid>
      <pubDate>Sun, 19 Jul 2026 00:00:00 GMT</pubDate>
      <description>claw / bare .. for .. (a real trait system) plus bounded generics; litter (structs), breed (enums), pounce&gt; (pattern matching), single-parameter generics; optional/inferred scalar type tags; the #n/#w/#f sigil redesign; a formal EBNF grammar; kebab-case JSX attributes.</description>
    </item>
    <item>
      <title>Real SSR, routing, and every operator this site needed</title>
      <link>https://kittine.com/updates</link>
      <guid isPermaLink="false">kittine-updates-2026-07-18</guid>
      <pubDate>Sat, 18 Jul 2026 00:00:00 GMT</pubDate>
      <description>Server-side rendering via cargo-leptos + Axum; routing via leptos_router with dynamic segments and programmatic navigation; comparisons and logical &amp;&amp;/||; hold plain bindings; re-exports; private visibility; array-typed props/returns; reactive list rendering in views; component children.</description>
    </item>
    <item>
      <title>Initial release: the core language</title>
      <link>https://kittine.com/updates</link>
      <guid isPermaLink="false">kittine-updates-2026-07-17</guid>
      <pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate>
      <description>func components, &lt;{name}&gt; &gt;&gt; value signals, if&gt;/orif&gt;/else&gt; control flow, spin loops, the embedded JSX-like view syntax, craft&lt;...&gt; logging, and a VS Code extension with TextMate syntax highlighting.</description>
    </item>
  </channel>
</rss>
