<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://laminar.dev/blog</id>
    <title>Laminar Blog</title>
    <updated>2025-03-26T06:00:00.000Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://laminar.dev/blog"/>
    <subtitle>The best place to stay up-to-date with the latest Laminar news and events.</subtitle>
    <logo>https://laminar.dev/undefined</logo>
    <rights>Copyright © 2025 Nikita Gazarov</rights>
    <entry>
        <title type="html"><![CDATA[Laminar v17.2.1]]></title>
        <id>https://laminar.dev/blog/2025/03/26/laminar-v17.2.1.html</id>
        <link href="https://laminar.dev/blog/2025/03/26/laminar-v17.2.1.html"/>
        <updated>2025-03-26T06:00:00.000Z</updated>
        <summary type="html"><![CDATA[<p>Airstream bug fixes!</p>
]]></summary>
        <author>
            <name>Nikita</name>
            <uri>https://github.com/raquo</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Laminar v17.2.0]]></title>
        <id>https://laminar.dev/blog/2024/12/13/laminar-v17.2.0.html</id>
        <link href="https://laminar.dev/blog/2024/12/13/laminar-v17.2.0.html"/>
        <updated>2024-12-13T06:00:00.000Z</updated>
        <summary type="html"><![CDATA[<p>New Airstream features: splitting by pattern match; LocalStorage Vars, other derived Vars, mapping strict signals without an owner, and more.</p>
]]></summary>
        <author>
            <name>Nikita</name>
            <uri>https://twitter.com/raquo</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Laminar v17.1.0, News & Stickers]]></title>
        <id>https://laminar.dev/blog/2024/08/14/laminar-v17.1.0.html</id>
        <link href="https://laminar.dev/blog/2024/08/14/laminar-v17.1.0.html"/>
        <updated>2024-08-14T06:00:00.000Z</updated>
        <summary type="html"><![CDATA[<p>New Airstream features: splitting Vars, and zooming into Vars without an owner.</p>
]]></summary>
        <author>
            <name>Nikita</name>
            <uri>https://twitter.com/raquo</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Laminar v17.0.0 & Shoelace Web Components v0.1.0]]></title>
        <id>https://laminar.dev/blog/2024/05/14/laminar-v17.0.0.html</id>
        <link href="https://laminar.dev/blog/2024/05/14/laminar-v17.0.0.html"/>
        <updated>2024-05-14T06:00:00.000Z</updated>
        <summary type="html"><![CDATA[<p>This release has it all: new features, ergonomic improvements, and bug fixes, in both Laminar and Airstream.</p>
]]></summary>
        <author>
            <name>Nikita</name>
            <uri>https://twitter.com/raquo</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Laminar & Scala.js Full Stack Demo & More]]></title>
        <id>https://laminar.dev/blog/2023/11/02/laminar-full-stack-demo.html</id>
        <link href="https://laminar.dev/blog/2023/11/02/laminar-full-stack-demo.html"/>
        <updated>2023-11-02T06:00:00.000Z</updated>
        <summary type="html"><![CDATA[<p>I built a full stack Laminar &amp; Scala.js showcase, made some useful Vite plugins on the way, and more.</p>
]]></summary>
        <author>
            <name>Nikita</name>
            <uri>https://twitter.com/raquo</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Laminar v16.0.0]]></title>
        <id>https://laminar.dev/blog/2023/07/13/laminar-v16.0.0.html</id>
        <link href="https://laminar.dev/blog/2023/07/13/laminar-v16.0.0.html"/>
        <updated>2023-07-13T06:00:00.000Z</updated>
        <summary type="html"><![CDATA[<p>This release fixes a few bugs, and adds a few small features.</p>
]]></summary>
        <author>
            <name>Nikita</name>
            <uri>https://twitter.com/raquo</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Laminar v15.0.0 Mega Release]]></title>
        <id>https://laminar.dev/blog/2023/03/22/laminar-v15.0.0.html</id>
        <link href="https://laminar.dev/blog/2023/03/22/laminar-v15.0.0.html"/>
        <updated>2023-03-22T06:00:00.000Z</updated>
        <summary type="html"><![CDATA[<p>Huge release with better Airstream semantics and many new features.</p>
]]></summary>
        <author>
            <name>Nikita</name>
            <uri>https://twitter.com/raquo</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Laminar v0.14.5, Discord and More News]]></title>
        <id>https://laminar.dev/blog/2022/10/24/laminar-v0.14.5.html</id>
        <link href="https://laminar.dev/blog/2022/10/24/laminar-v0.14.5.html"/>
        <updated>2022-10-24T06:00:00.000Z</updated>
        <summary type="html"><![CDATA[<p>This release was built with Scala 3.2.0, which fixes Scala.js sourcemaps on 3.x.</p>
]]></summary>
        <author>
            <name>Nikita</name>
            <uri>https://twitter.com/raquo</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[2022 Laminar Ecosystem Updates]]></title>
        <id>https://laminar.dev/blog/2022/06/23/ecosystem.html</id>
        <link href="https://laminar.dev/blog/2022/06/23/ecosystem.html"/>
        <updated>2022-06-23T06:00:00.000Z</updated>
        <summary type="html"><![CDATA[<p>Here is a deluge of new libraries, web components, tutorials, sponsors – all the news that couldn't wait until the next Laminar release. Hope I didn't miss anything!</p>
]]></summary>
        <author>
            <name>Nikita</name>
            <uri>https://twitter.com/raquo</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Laminar v0.13.1 & Waypoint 0.4.2]]></title>
        <id>https://laminar.dev/blog/2021/07/10/laminar-v-0.13.1.html</id>
        <link href="https://laminar.dev/blog/2021/07/10/laminar-v-0.13.1.html"/>
        <updated>2021-07-10T06:00:00.000Z</updated>
        <summary type="html"><![CDATA[<p>Fixes a regression in Laminar controlled inputs when filtering user input, and an unrelated issue with file:// URLs in Waypoint.</p>
]]></summary>
        <author>
            <name>Nikita</name>
            <uri>https://twitter.com/raquo</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Laminar v0.13.0]]></title>
        <id>https://laminar.dev/blog/2021/05/04/laminar-v0.13.0.html</id>
        <link href="https://laminar.dev/blog/2021/05/04/laminar-v0.13.0.html"/>
        <updated>2021-05-04T06:00:00.000Z</updated>
        <summary type="html"><![CDATA[<p>Laminar &amp; Airstream are now published directly for Scala 3. This required an internal refactoring of Airstream to satisfy Scala 3's stricter variance checks.</p>
<p>No breaking changes unless you extended / subclassed Airstream observable types.</p>
]]></summary>
        <author>
            <name>Nikita</name>
            <uri>https://twitter.com/raquo</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Laminar v0.12.2]]></title>
        <id>https://laminar.dev/blog/2021/04/01/laminar-v0.12.2.html</id>
        <link href="https://laminar.dev/blog/2021/04/01/laminar-v0.12.2.html"/>
        <updated>2021-04-01T06:00:00.000Z</updated>
        <summary type="html"><![CDATA[<p>Bug fixes for source maps, SVG xmlns, and XHR headers. A couple new convenience methods. Requires Scala.js 1.5.0.</p>
]]></summary>
        <author>
            <name>Nikita</name>
            <uri>https://twitter.com/raquo</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Laminar v0.12.1]]></title>
        <id>https://laminar.dev/blog/2021/02/26/laminar-v0.12.1.html</id>
        <link href="https://laminar.dev/blog/2021/02/26/laminar-v0.12.1.html"/>
        <updated>2021-02-26T06:00:00.000Z</updated>
        <summary type="html"><![CDATA[<p>Tiny release to remove debug logging for controlled inputs that I accidentally left in the production build of Laminar 0.12.0. No breaking changes unless this broke your heart.</p>
]]></summary>
        <author>
            <name>Nikita</name>
            <uri>https://twitter.com/raquo</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Laminar v0.12.0, Laminext, Material UI & more!]]></title>
        <id>https://laminar.dev/blog/2021/02/03/laminar-v0.12.0.html</id>
        <link href="https://laminar.dev/blog/2021/02/03/laminar-v0.12.0.html"/>
        <updated>2021-02-03T06:00:00.000Z</updated>
        <summary type="html"><![CDATA[<p>Laminar v0.12.0 and Airstream v0.12.0 are out! 🎉</p>
<p>This is a big release packed with new features and ergonomics improvements. Ctrl+F for &quot;migration&quot; in this post for directions on breaking changes. Don't worry, the &quot;breaking&quot; stuff is minor and mostly concerns previous misbehaviours in edge cases. Existing users, make sure to read the new / updated parts of the docs as linked below.</p>
]]></summary>
        <author>
            <name>Nikita</name>
            <uri>https://twitter.com/raquo</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Airstream v0.11.1]]></title>
        <id>https://laminar.dev/blog/2020/10/17/airstream-v0.11.1.html</id>
        <link href="https://laminar.dev/blog/2020/10/17/airstream-v0.11.1.html"/>
        <updated>2020-10-17T06:00:00.000Z</updated>
        <summary type="html"><![CDATA[<p>I have just released a bugfix for Airstream which fixes <a href="https://github.com/raquo/Airstream/issues/42">#45</a>.</p> <p>If you used <code>SwitchStreamStrategy</code> or <code>SwitchFutureStrategy</code> when <code>flatMap</code>-ping observables (see docs for when exactly each is used), or used <code>SwitchEventStream</code> directly, the output stream was no...</p>]]></summary>
        <author>
            <name>Nikita</name>
            <uri>https://twitter.com/raquo</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Laminar v0.11.0 & New Website]]></title>
        <id>https://laminar.dev/blog/2020/10/12/laminar-v0.11.0.html</id>
        <link href="https://laminar.dev/blog/2020/10/12/laminar-v0.11.0.html"/>
        <updated>2020-10-12T06:00:00.000Z</updated>
        <summary type="html"><![CDATA[<p>I am pleased to announce the release of Laminar v0.11.0, Airstream v0.11.0, and our new website.</p>
<p>This release improves transaction scheduling in Airstream, fixes several bugs, and takes away a few obscure footguns from users.</p>
]]></summary>
        <author>
            <name>Nikita</name>
            <uri>https://twitter.com/raquo</uri>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Previous News & Release Notes]]></title>
        <id>https://laminar.dev/blog/2020/10/10/hello.html</id>
        <link href="https://laminar.dev/blog/2020/10/10/hello.html"/>
        <updated>2020-10-10T06:00:00.000Z</updated>
        <summary type="html"><![CDATA[<p>Before this website went up, Changelog was hosted <a href="https://github.com/raquo/Laminar/blob/master/CHANGELOG.md">on github</a>. It's still there, with release notes up to and including v0.10.3.</p> <p>Other previous posts and content of interest:</p> <ul> <li><p><a href="https://www.youtube.com/watch?v=L_AHCkl6L-Q">[VIDEO] Laminar – Smooth UI Development with Scala.js</a></p></li> <li><p><a href="https://dev.to/raquo/my-four-year-quest-for-perfect-scala-js-ui-development-b9a">My Four Year Quest For...</a></p></li></ul>]]></summary>
        <author>
            <name>Nikita</name>
            <uri>https://twitter.com/raquo</uri>
        </author>
    </entry>
</feed>