<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Rxova Updates</title>
    <link>https://rxova.dev/updates/</link>
    <description>What is moving across the Rxova projects — releases, fixes and infrastructure.</description>
    <language>en</language>
    <atom:link href="https://rxova.dev/updates/rss.xml" rel="self" type="application/rss+xml" />
    <lastBuildDate>Sat, 26 Sep 2026 19:32:08 GMT</lastBuildDate>
    <item>
      <title>@rxova/brand 1.0.0 (@rxova/brand@1.0.0)</title>
      <link>https://rxova.dev/updates/#brand-1-0-0</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#brand-1-0-0</guid>
      <description>@rxova/brand is 1.0, developed in the open for the first time: the package moved from a private repository into the public rxova-website one. It is also…</description>
      <pubDate>Sat, 26 Sep 2026 19:32:08 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>Brand</category>
      <category>release</category>
      <category>breaking</category>
    </item>
    <item>
      <title>@rxova/astro-ui 0.1.0 (@rxova/astro-ui@0.1.0)</title>
      <link>https://rxova.dev/updates/#astro-ui-0-1-0</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#astro-ui-0-1-0</guid>
      <description>@rxova/astro-ui is a new package, and the first release is everything on rxova.org that renders: the chrome (SiteShell, Header, SiteFooter, ProjectSwitcher…</description>
      <pubDate>Sat, 26 Sep 2026 19:31:19 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>Website</category>
      <category>Brand</category>
      <category>release</category>
      <category>feature</category>
    </item>
    <item>
      <title>The brand moves into the website, and the landing gets a walkthrough</title>
      <link>https://rxova.dev/updates/#the-brand-repository-moves-into-the-website</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#the-brand-repository-moves-into-the-website</guid>
      <description>@rxova/brand has moved out of its private repository and into rxova-website, which is public. Its source, its history from here on and its release process sit…</description>
      <pubDate>Sat, 26 Sep 2026 12:00:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>Website</category>
      <category>Brand</category>
      <category>feature</category>
      <category>infra</category>
    </item>
    <item>
      <title>ts-extended-errors 1.0.0 (ts-extended-errors@1.0.0)</title>
      <link>https://rxova.dev/updates/#ts-extended-errors-1-0-0</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#ts-extended-errors-1-0-0</guid>
      <description>ts-extended-errors is 1.0. The API that shipped through 0.x is now stable: ExtendedError, defineError, the cause-chain helpers, serializeError…</description>
      <pubDate>Fri, 25 Sep 2026 13:10:53 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>ts-extended-errors</category>
      <category>release</category>
      <category>breaking</category>
    </item>
    <item>
      <title>A new rxova.org landing page</title>
      <link>https://rxova.dev/updates/#a-new-rxova-org-landing-page</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#a-new-rxova-org-landing-page</guid>
      <description>The rxova.org landing page now opens straight on the projects. The old hero and its stacked list are replaced by a rail beside a stage: pick a project from the…</description>
      <pubDate>Wed, 23 Sep 2026 13:52:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>Website</category>
      <category>Brand</category>
      <category>feature</category>
    </item>
    <item>
      <title>Leaner builds and stricter gates across the libraries</title>
      <link>https://rxova.dev/updates/#leaner-builds-and-stricter-gates</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#leaner-builds-and-stricter-gates</guid>
      <description>overlock and use-everywhere now build with tsdown instead of tsup (overlock 0.10.1, use-everywhere 1.0.1). The published output keeps its shape: same entry…</description>
      <pubDate>Mon, 21 Sep 2026 09:50:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>overlock</category>
      <category>use-everywhere</category>
      <category>journey</category>
      <category>react-inputs</category>
      <category>ts-extended-errors</category>
      <category>infra</category>
    </item>
    <item>
      <title>overlock 0.10.0 (overlock@0.10.0)</title>
      <link>https://rxova.dev/updates/#overlock-0-10-0</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#overlock-0-10-0</guid>
      <description>overlock check --staged --stage-record stages the record of a run into the commit that run judged. Without it, the evidence for a change always trailed one…</description>
      <pubDate>Fri, 18 Sep 2026 05:51:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>overlock</category>
      <category>release</category>
      <category>feature</category>
    </item>
    <item>
      <title>ts-extended-errors is on npm and rxova.org (ts-extended-errors@0.4.4)</title>
      <link>https://rxova.dev/updates/#ts-extended-errors-is-on-npm-and-rxova-org</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#ts-extended-errors-is-on-npm-and-rxova-org</guid>
      <description>ts-extended-errors is public. It is a zero-dependency error model for TypeScript applications that throw native exceptions but need more from them: Install it…</description>
      <pubDate>Thu, 17 Sep 2026 09:16:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>ts-extended-errors</category>
      <category>Website</category>
      <category>Brand</category>
      <category>release</category>
      <category>docs</category>
    </item>
    <item>
      <title>journey 1.0 takes shape on main</title>
      <link>https://rxova.dev/updates/#journey-1-0-takes-shape-on-main</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#journey-1-0-takes-shape-on-main</guid>
      <description>The API journey will ship as 1.0 is on main. It replaces the single journey machine with two builders: Around them: It is not on npm yet: the rc tag is still…</description>
      <pubDate>Wed, 16 Sep 2026 08:00:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>journey</category>
      <category>feature</category>
      <category>breaking</category>
    </item>
    <item>
      <title>overlock 0.9.2 (overlock@0.9.2)</title>
      <link>https://rxova.dev/updates/#overlock-0-9-2</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#overlock-0-9-2</guid>
      <description>The Claude Code hook now stops only once for a suppression the patch wrote about itself. Before, every later turn on the branch stopped again on the same…</description>
      <pubDate>Tue, 15 Sep 2026 13:23:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>overlock</category>
      <category>release</category>
      <category>fix</category>
    </item>
    <item>
      <title>File input 1.1.0 and an OTP font fix (@rxova/react-file-input@1.1.0)</title>
      <link>https://rxova.dev/updates/#file-input-1-1-0</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#file-input-1-1-0</guid>
      <description>The file input is easier to use from a keyboard and a screen reader: @rxova/react-inputs 1.1.0 re-exports the two new types. Separately, OTP input 1.0.3…</description>
      <pubDate>Tue, 15 Sep 2026 06:34:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>react-inputs</category>
      <category>release</category>
      <category>feature</category>
      <category>fix</category>
    </item>
    <item>
      <title>use-everywhere 1.0.0 (use-everywhere@1.0.0)</title>
      <link>https://rxova.dev/updates/#use-everywhere-1-0-0</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#use-everywhere-1-0-0</guid>
      <description>use-everywhere is 1.0, and so are @use-everywhere/core, @use-everywhere/test-utils and eslint-plugin-use-everywhere. The stability policy applies from this…</description>
      <pubDate>Mon, 14 Sep 2026 20:09:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>use-everywhere</category>
      <category>release</category>
      <category>breaking</category>
    </item>
    <item>
      <title>overlock 0.9.1 (overlock@0.9.1)</title>
      <link>https://rxova.dev/updates/#overlock-0-9-1</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#overlock-0-9-1</guid>
      <description>Crafted input can no longer stall a run. Four parsers backtracked quadratically on text the patch author controls, and each now reads in linear time: Every…</description>
      <pubDate>Sat, 12 Sep 2026 13:17:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>overlock</category>
      <category>release</category>
      <category>fix</category>
    </item>
    <item>
      <title>overlock 0.9.0 (overlock@0.9.0)</title>
      <link>https://rxova.dev/updates/#overlock-0-9-0</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#overlock-0-9-0</guid>
      <description>A new exclude setting leaves other tools&apos; evidence directories out of the patch, such as .basting or .saidso. They are treated the way .overlock already was…</description>
      <pubDate>Sat, 12 Sep 2026 10:44:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>overlock</category>
      <category>release</category>
      <category>feature</category>
    </item>
    <item>
      <title>overlock 0.8.0 (overlock@0.8.0)</title>
      <link>https://rxova.dev/updates/#overlock-0-8-0</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#overlock-0-8-0</guid>
      <description>overlock can now keep a record of what it judged. Evaluation records are opt-in and stored in the repository under .overlock. Each one holds: Those records…</description>
      <pubDate>Fri, 11 Sep 2026 18:53:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>overlock</category>
      <category>release</category>
      <category>feature</category>
    </item>
    <item>
      <title>overlock 0.7.1 (overlock@0.7.1)</title>
      <link>https://rxova.dev/updates/#overlock-0-7-1</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#overlock-0-7-1</guid>
      <description>SUITESCOPENARROWED no longer blocks a pull request that adds a package. A new vitest.config.ts read as an exclude list that grew, so every new package was…</description>
      <pubDate>Fri, 11 Sep 2026 03:56:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>overlock</category>
      <category>release</category>
      <category>fix</category>
    </item>
    <item>
      <title>use-everywhere 0.13.0 (use-everywhere@0.13.0)</title>
      <link>https://rxova.dev/updates/#use-everywhere-0-13-0</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#use-everywhere-0-13-0</guid>
      <description>The 1.0 names from RFC 0001 arrive here, alongside the old ones: useOnMessage, useWindowResult, createStoreHooks, useSharedSelector and StoreHooks.store(). The…</description>
      <pubDate>Thu, 10 Sep 2026 19:29:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>use-everywhere</category>
      <category>release</category>
      <category>deprecation</category>
      <category>feature</category>
    </item>
    <item>
      <title>overlock is open source</title>
      <link>https://rxova.dev/updates/#overlock-is-on-rxova-org</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#overlock-is-on-rxova-org</guid>
      <description>I open-sourced overlock, a CLI that catches changes that make tests pass by weakening them: an it.skip, an assertion loosened to toBeDefined(), a coverage…</description>
      <pubDate>Thu, 10 Sep 2026 12:35:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>overlock</category>
      <category>release</category>
    </item>
    <item>
      <title>overlock 0.7.0 (overlock@0.7.0)</title>
      <link>https://rxova.dev/updates/#overlock-0-7-0</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#overlock-0-7-0</guid>
      <description>overlock now catches tests switched off in CI config, not just in test files. Two new rules: A rule can also be turned off per repository with &quot;severity&quot;: {…</description>
      <pubDate>Thu, 10 Sep 2026 12:10:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>overlock</category>
      <category>release</category>
      <category>feature</category>
    </item>
    <item>
      <title>use-everywhere 0.12.0 (use-everywhere@0.12.0)</title>
      <link>https://rxova.dev/updates/#use-everywhere-0-12-0</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#use-everywhere-0-12-0</guid>
      <description>A React app now gets every type it needs from use-everywhere alone. LockManagerLike, SharedWorkerLike and MessagePortLike are re-exported, so writing a…</description>
      <pubDate>Wed, 02 Sep 2026 08:23:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>use-everywhere</category>
      <category>release</category>
      <category>feature</category>
    </item>
    <item>
      <title>The inputs suite is 1.0.0 (@rxova/react-inputs@1.0.1)</title>
      <link>https://rxova.dev/updates/#the-inputs-suite-is-1-0-0</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#the-inputs-suite-is-1-0-0</guid>
      <description>All nine components and @rxova/codemod are now on 1.0.0, and the meta-package sits one patch ahead at 1.0.1 because the alignment moved its dependencies. The…</description>
      <pubDate>Sun, 09 Aug 2026 10:00:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>react-inputs</category>
      <category>release</category>
    </item>
    <item>
      <title>One standard across all nine inputs (@rxova/react-inputs@1.0.0)</title>
      <link>https://rxova.dev/updates/#one-standard-across-all-nine-inputs</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#one-standard-across-all-nine-inputs</guid>
      <description>Going from three components to nine broke the conventions that worked for three. Every styling hook in the suite is now namespaced --rx-&lt;name&gt;- /…</description>
      <pubDate>Sun, 09 Aug 2026 09:30:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>react-inputs</category>
      <category>breaking</category>
      <category>feature</category>
    </item>
    <item>
      <title>Six new inputs, and the suite is nine</title>
      <link>https://rxova.dev/updates/#six-new-inputs-and-the-suite-is-nine</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#six-new-inputs-and-the-suite-is-nine</guid>
      <description>The suite was currency, rating and OTP. It is now nine: date, time, phone, password, tags and file landed together, each one headless, typed, with no…</description>
      <pubDate>Sun, 09 Aug 2026 09:00:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>react-inputs</category>
      <category>feature</category>
      <category>release</category>
    </item>
    <item>
      <title>The use-everywhere demo is linked from rxova.org</title>
      <link>https://rxova.dev/updates/#the-use-everywhere-demo-is-linked-from-rxova-org</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#the-use-everywhere-demo-is-linked-from-rxova-org</guid>
      <description>Every explanation of this library ends with &quot;open a second tab and watch&quot;, and until now there was nothing to open unless you cloned the repo. There is now…</description>
      <pubDate>Sat, 08 Aug 2026 11:00:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>Website</category>
      <category>use-everywhere</category>
      <category>docs</category>
    </item>
    <item>
      <title>use-everywhere reads well to an agent</title>
      <link>https://rxova.dev/updates/#use-everywhere-reads-well-to-an-agent</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#use-everywhere-reads-well-to-an-agent</guid>
      <description>The treatment the inputs docs got in July, ported here — five surfaces rather than six. The shadcn registry does not port: this library ships hooks, not…</description>
      <pubDate>Sat, 08 Aug 2026 10:30:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>use-everywhere</category>
      <category>docs</category>
      <category>feature</category>
    </item>
    <item>
      <title>use-everywhere 0.11.0 (use-everywhere@0.11.0)</title>
      <link>https://rxova.dev/updates/#use-everywhere-0-11-0</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#use-everywhere-0-11-0</guid>
      <description>startRelay returns a Relay now, and @use-everywhere/core/shared-worker exports the one it installs on import — mirrored at use-everywhere/shared-worker, so a…</description>
      <pubDate>Sat, 08 Aug 2026 10:00:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>use-everywhere</category>
      <category>release</category>
      <category>feature</category>
    </item>
    <item>
      <title>use-everywhere 0.10.0 (use-everywhere@0.10.0)</title>
      <link>https://rxova.dev/updates/#use-everywhere-0-10-0</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#use-everywhere-0-10-0</guid>
      <description>A bus can run through one SharedWorker instead of a channel between N tabs. SharedWorkerTransport and the relay it talks to…</description>
      <pubDate>Fri, 07 Aug 2026 18:15:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>use-everywhere</category>
      <category>release</category>
      <category>feature</category>
      <category>docs</category>
    </item>
    <item>
      <title>eslint-plugin-use-everywhere 0.1.0 (eslint-plugin-use-everywhere@0.1.0)</title>
      <link>https://rxova.dev/updates/#eslint-plugin-use-everywhere-0-1-0</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#eslint-plugin-use-everywhere-0-1-0</guid>
      <description>Four rules, for the four mistakes this library cannot warn you about at runtime. Each one has the same shape: the code runs, nothing throws, and the bug shows…</description>
      <pubDate>Fri, 07 Aug 2026 17:30:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>use-everywhere</category>
      <category>release</category>
      <category>feature</category>
    </item>
    <item>
      <title>@use-everywhere/test-utils 0.1.0 (@use-everywhere/test-utils@0.1.0)</title>
      <link>https://rxova.dev/updates/#test-utils-0-1-0</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#test-utils-0-1-0</guid>
      <description>A browser full of tabs, in one test process, with no browser and no globals. Multi-tab code is hard for one reason, and it is not the messaging. It is that a…</description>
      <pubDate>Fri, 07 Aug 2026 17:25:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>use-everywhere</category>
      <category>release</category>
      <category>feature</category>
    </item>
    <item>
      <title>use-everywhere 0.9.0 (use-everywhere@0.9.0)</title>
      <link>https://rxova.dev/updates/#use-everywhere-0-9-0</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#use-everywhere-0-9-0</guid>
      <description>Every diagnostic has a code now, and a page that explains it. The code is the durable part. A message can be reworded, mangled by a minifier or truncated by a…</description>
      <pubDate>Fri, 07 Aug 2026 17:20:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>use-everywhere</category>
      <category>release</category>
      <category>feature</category>
    </item>
    <item>
      <title>Mutation testing on use-everywhere</title>
      <link>https://rxova.dev/updates/#mutation-testing-on-use-everywhere</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#mutation-testing-on-use-everywhere</guid>
      <description>Coverage says a line ran, not that a test would notice if it were wrong. The core is under mutation testing now — every module past 90%, gated in CI per module…</description>
      <pubDate>Tue, 04 Aug 2026 18:00:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>use-everywhere</category>
      <category>infra</category>
    </item>
    <item>
      <title>use-everywhere 0.8.0 (use-everywhere@0.8.0)</title>
      <link>https://rxova.dev/updates/#use-everywhere-0-8-0</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#use-everywhere-0-8-0</guid>
      <description>The largest release so far, and the one that closes most of the gaps between &quot;syncs state across tabs&quot; and something you would put under a real app…</description>
      <pubDate>Tue, 04 Aug 2026 15:40:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>use-everywhere</category>
      <category>release</category>
      <category>feature</category>
    </item>
    <item>
      <title>The inputs docs now read well to an agent</title>
      <link>https://rxova.dev/updates/#the-inputs-docs-now-read-well-to-an-agent</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#the-inputs-docs-now-read-well-to-an-agent</guid>
      <description>An agent asked to use one of these components fetched a whole Starlight page — nav, sidebar, search index, live-example islands — to read a prop table. Every…</description>
      <pubDate>Tue, 04 Aug 2026 14:20:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>react-inputs</category>
      <category>docs</category>
      <category>feature</category>
    </item>
    <item>
      <title>A new landing page for Journey</title>
      <link>https://rxova.dev/updates/#a-new-landing-page-for-journey</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#a-new-landing-page-for-journey</guid>
      <description>The Docusaurus migration transcribed the old homepage rather than redesigning it, so it still opened as a release announcement — &quot;We did it!&quot;, a confetti…</description>
      <pubDate>Tue, 04 Aug 2026 11:48:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>journey</category>
      <category>docs</category>
    </item>
    <item>
      <title>A new landing page for react-inputs</title>
      <link>https://rxova.dev/updates/#a-new-landing-page-for-react-inputs</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#a-new-landing-page-for-react-inputs</guid>
      <description>The landing page read as thin documentation — the h1 was the org name, the body was a component catalogue, and none of the CTAs a visitor needs were on it. It…</description>
      <pubDate>Tue, 04 Aug 2026 09:35:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>react-inputs</category>
      <category>docs</category>
    </item>
    <item>
      <title>use-everywhere 0.7.0 (use-everywhere@0.7.0)</title>
      <link>https://rxova.dev/updates/#use-everywhere-0-7-0</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#use-everywhere-0-7-0</guid>
      <description>A missing BroadcastChannel used to mean silence: every hook kept working, every write appeared to succeed, and nothing reached anybody. The chain is…</description>
      <pubDate>Mon, 03 Aug 2026 21:30:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>use-everywhere</category>
      <category>release</category>
      <category>feature</category>
      <category>fix</category>
    </item>
    <item>
      <title>Input fixes across OTP, currency and rating</title>
      <link>https://rxova.dev/updates/#input-fixes-across-otp-currency-and-rating</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#input-fixes-across-otp-currency-and-rating</guid>
      <description>Small bugs, all of them the kind you only meet by using the thing rather than testing it. Also: the docs sidebar mark is keyed per component, GFM tables render…</description>
      <pubDate>Mon, 03 Aug 2026 20:00:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>react-inputs</category>
      <category>fix</category>
    </item>
    <item>
      <title>use-everywhere 0.5.0 (use-everywhere@0.5.0)</title>
      <link>https://rxova.dev/updates/#use-everywhere-0-5-0</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#use-everywhere-0-5-0</guid>
      <description>The hardening pass before 1.0, aimed at the failure modes real tabs hit. A tab restored from the back/forward cache rejoins presence and the leader election…</description>
      <pubDate>Mon, 03 Aug 2026 14:00:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>use-everywhere</category>
      <category>release</category>
      <category>fix</category>
    </item>
    <item>
      <title>Two new contracts, and Storybook on rxova.org (@rxova/website-schemas@0.6.0)</title>
      <link>https://rxova.dev/updates/#two-new-contracts-and-storybook-on-rxova-org</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#two-new-contracts-and-storybook-on-rxova-org</guid>
      <description>@rxova/website-schemas grew two contracts. Page-component bundles: a producer&apos;s artifact now carries only its page bodies, and the website supplies the header…</description>
      <pubDate>Mon, 03 Aug 2026 10:00:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>Website</category>
      <category>Brand</category>
      <category>react-inputs</category>
      <category>use-everywhere</category>
      <category>infra</category>
      <category>feature</category>
    </item>
    <item>
      <title>use-everywhere 0.6.0 (use-everywhere@0.6.0)</title>
      <link>https://rxova.dev/updates/#use-everywhere-0-6-0</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#use-everywhere-0-6-0</guid>
      <description>MemoryHub and MemoryTransport moved to a testing subpath — they are a multi-tab simulation harness, not runtime API, and on the package root they were a 1.0…</description>
      <pubDate>Mon, 03 Aug 2026 09:30:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>use-everywhere</category>
      <category>release</category>
      <category>breaking</category>
    </item>
    <item>
      <title>A Storybook workshop for the inputs</title>
      <link>https://rxova.dev/updates/#a-storybook-workshop-for-the-inputs</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#a-storybook-workshop-for-the-inputs</guid>
      <description>Every input has stories now — currency, OTP and rating each get an args-driven Playground plus one story per behaviour worth showing off, with a toolbar toggle…</description>
      <pubDate>Sun, 02 Aug 2026 12:00:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>react-inputs</category>
      <category>feature</category>
      <category>docs</category>
    </item>
    <item>
      <title>use-everywhere gets a logo (use-everywhere@0.4.1)</title>
      <link>https://rxova.dev/updates/#use-everywhere-gets-a-logo</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#use-everywhere-gets-a-logo</guid>
      <description>The project has a face now: a logo ships in the repo as assets/logo.svg and sits above the title in the README. Documentation-only, which is why it could go…</description>
      <pubDate>Sat, 01 Aug 2026 19:00:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>use-everywhere</category>
      <category>docs</category>
    </item>
    <item>
      <title>Shared chrome, two new sections, and analytics on rxova.org (@rxova/brand@0.8.2)</title>
      <link>https://rxova.dev/updates/#shared-chrome-two-sections-and-analytics</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#shared-chrome-two-sections-and-analytics</guid>
      <description>One header and one footer across every page now, both from @rxova/brand. The landing gains a &quot;Why Rxova&quot; section and a maintainer block, with a longer /about…</description>
      <pubDate>Sat, 01 Aug 2026 18:00:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>Website</category>
      <category>Brand</category>
      <category>feature</category>
    </item>
    <item>
      <title>Images in posts, validated before they merge (@rxova/website-schemas@0.3.0)</title>
      <link>https://rxova.dev/updates/#images-in-posts</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#images-in-posts</guid>
      <description>Posts can carry a cover and embed images, optimised through sharp on the way out. Alt text is required rather than encouraged, and a missing one is a failed…</description>
      <pubDate>Tue, 28 Jul 2026 16:00:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>Brand</category>
      <category>feature</category>
    </item>
    <item>
      <title>The blog and this feed go live (@rxova/brand@0.5.0)</title>
      <link>https://rxova.dev/updates/#blog-and-updates-go-live</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#blog-and-updates-go-live</guid>
      <description>/blog and /updates are built in the brand repo and mounted on rxova.org as two more sources, through the same ingest path the project docs use. Both now sit…</description>
      <pubDate>Tue, 28 Jul 2026 11:00:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>Website</category>
      <category>Brand</category>
      <category>feature</category>
    </item>
    <item>
      <title>The docs ingest contract</title>
      <link>https://rxova.dev/updates/#the-docs-ingest-contract</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#the-docs-ingest-contract</guid>
      <description>rxova.org used to check out three repos and build their docs itself, which meant one project&apos;s broken build took the whole site down with it. Each repo now…</description>
      <pubDate>Mon, 27 Jul 2026 14:00:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>Website</category>
      <category>journey</category>
      <category>use-everywhere</category>
      <category>react-inputs</category>
      <category>infra</category>
    </item>
    <item>
      <title>Rxova.org gains a blog and an updates feed</title>
      <link>https://rxova.dev/updates/#blog-and-updates</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#blog-and-updates</guid>
      <description>I want to document how Rxova gets built, not only ship it. Two pieces were missing. The blog is for reasoning — why a design went one way instead of the…</description>
      <pubDate>Mon, 27 Jul 2026 09:00:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>Website</category>
      <category>Brand</category>
      <category>feature</category>
      <category>infra</category>
    </item>
    <item>
      <title>use-everywhere 0.4.0 (use-everywhere@0.4.0)</title>
      <link>https://rxova.dev/updates/#use-everywhere-0-4-0</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#use-everywhere-0-4-0</guid>
      <description>The Turborepo migration, the Starlight docs and a single-branch release model, cut as one release. No API changed. It is the release that makes the next ones…</description>
      <pubDate>Sun, 26 Jul 2026 17:00:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>use-everywhere</category>
      <category>release</category>
    </item>
    <item>
      <title>Clearing the audit backlog</title>
      <link>https://rxova.dev/updates/#clearing-the-audit-backlog</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#clearing-the-audit-backlog</guid>
      <description>pnpm audit is only useful if it is ever green. svgo was pinned to a vulnerable 3.3.3 by an override, so it got unpinned; brace-expansion, js-yaml…</description>
      <pubDate>Sun, 26 Jul 2026 14:00:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>journey</category>
      <category>react-inputs</category>
      <category>use-everywhere</category>
      <category>fix</category>
      <category>infra</category>
    </item>
    <item>
      <title>One Turborepo standard across every repo</title>
      <link>https://rxova.dev/updates/#one-turborepo-standard</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#one-turborepo-standard</guid>
      <description>Four repos had drifted into four ways of running the same six checks. They now share one Turborepo pipeline and one CI shape, so a fix to the build order is…</description>
      <pubDate>Sun, 26 Jul 2026 10:00:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>journey</category>
      <category>use-everywhere</category>
      <category>react-inputs</category>
      <category>Brand</category>
      <category>infra</category>
    </item>
    <item>
      <title>Docusaurus out, Astro Starlight in</title>
      <link>https://rxova.dev/updates/#docusaurus-to-starlight</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#docusaurus-to-starlight</guid>
      <description>All three docs sites moved to Astro Starlight. The landing already was Astro, so this leaves one framework across the whole origin — and dropped a webpack…</description>
      <pubDate>Sat, 25 Jul 2026 14:00:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>use-everywhere</category>
      <category>react-inputs</category>
      <category>journey</category>
      <category>docs</category>
      <category>feature</category>
    </item>
    <item>
      <title>A design system for rxova.org (@rxova/brand@0.1.0)</title>
      <link>https://rxova.dev/updates/#a-design-system-for-rxova</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#a-design-system-for-rxova</guid>
      <description>Four surfaces on one origin only feel like one site if they share their tokens. @rxova/brand holds the colours, type and spacing, a Starlight theme built on…</description>
      <pubDate>Sat, 25 Jul 2026 10:00:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>Brand</category>
      <category>release</category>
    </item>
    <item>
      <title>Every docs site points at the aggregator</title>
      <link>https://rxova.dev/updates/#docs-point-at-the-aggregator</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#docs-point-at-the-aggregator</guid>
      <description>Each project used to deploy its own GitHub Pages site at its own URL. All three stopped, and now take their url and baseUrl from the environment instead of…</description>
      <pubDate>Fri, 24 Jul 2026 16:00:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>journey</category>
      <category>react-inputs</category>
      <category>use-everywhere</category>
      <category>infra</category>
    </item>
    <item>
      <title>Three input libraries become one (@rxova/react-inputs@0.1.1)</title>
      <link>https://rxova.dev/updates/#three-input-libraries-become-one</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#three-input-libraries-become-one</guid>
      <description>react-intl-currency-input, react-feedback-stars and react-otp-slots were three repos with three CI setups, three docs sites and three release processes for…</description>
      <pubDate>Fri, 24 Jul 2026 12:00:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>react-inputs</category>
      <category>release</category>
      <category>breaking</category>
    </item>
    <item>
      <title>rxova.org goes up as an aggregator</title>
      <link>https://rxova.dev/updates/#rxova-org-goes-up</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#rxova-org-goes-up</guid>
      <description>One origin, several projects. An Astro landing sits at /, and each project&apos;s docs are built in its own repo and mounted as a static tree under…</description>
      <pubDate>Fri, 24 Jul 2026 10:00:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>Website</category>
      <category>feature</category>
      <category>infra</category>
    </item>
    <item>
      <title>Publishing over OIDC, with size budgets to match</title>
      <link>https://rxova.dev/updates/#trusted-publishing-and-budgets</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#trusted-publishing-and-budgets</guid>
      <description>npm publishes now run through trusted publishing — OIDC, no long-lived token in the repo — and every package carries provenance. The rest of the gate went in…</description>
      <pubDate>Sun, 12 Jul 2026 15:00:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>use-everywhere</category>
      <category>infra</category>
    </item>
    <item>
      <title>The use-everywhere docs, rewritten as walkthroughs</title>
      <link>https://rxova.dev/updates/#use-everywhere-docs-overhaul</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#use-everywhere-docs-overhaul</guid>
      <description>The docs were a hook list, which answers &quot;what does this do&quot; and never &quot;why would I reach for it&quot;. They are now walkthroughs that build something, with a…</description>
      <pubDate>Sun, 12 Jul 2026 13:00:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>use-everywhere</category>
      <category>docs</category>
    </item>
    <item>
      <title>An Inspector, and typed channels bound once</title>
      <link>https://rxova.dev/updates/#inspector-and-define-channel</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#inspector-and-define-channel</guid>
      <description>&lt;Inspector /&gt; shows the live bus — channels, peers, who is leader — and ships on a use-everywhere/devtools subpath so it stays out of the bundle unless it is…</description>
      <pubDate>Sun, 12 Jul 2026 11:00:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>use-everywhere</category>
      <category>feature</category>
    </item>
    <item>
      <title>Leader election, so exactly one tab does the work (use-everywhere@0.2.0)</title>
      <link>https://rxova.dev/updates/#leader-election-and-persistence</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#leader-election-and-persistence</guid>
      <description>Shared state is the easy half. The hard half is that five open tabs will happily run the same poll five times. Leader election picks one, and hands the role…</description>
      <pubDate>Sun, 12 Jul 2026 09:00:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>use-everywhere</category>
      <category>feature</category>
    </item>
    <item>
      <title>use-everywhere is up (use-everywhere@0.1.0)</title>
      <link>https://rxova.dev/updates/#use-everywhere-is-up</link>
      <guid isPermaLink="true">https://rxova.dev/updates/#use-everywhere-is-up</guid>
      <description>State and messages that exist in every tab, window and worker — the first cut is on npm. @use-everywhere/core owns the bus, and use-everywhere wraps it in…</description>
      <pubDate>Sat, 11 Jul 2026 18:00:00 GMT</pubDate>
      <dc:creator>Jonatan Kruszewski</dc:creator>
      <category>use-everywhere</category>
      <category>release</category>
      <category>infra</category>
    </item>
  </channel>
</rss>
