<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Sqlite-Utils on MacWorks</title><link>https://macworks.dev/tags/sqlite-utils/</link><description>Recent content in Sqlite-Utils on MacWorks</description><generator>Hugo</generator><language>en</language><atom:link href="https://macworks.dev/tags/sqlite-utils/index.xml" rel="self" type="application/rss+xml"/><item><title>2026-06-21</title><link>https://macworks.dev/docs/archives/simonwillison/simonwillison-2026-06-21/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://macworks.dev/docs/archives/simonwillison/simonwillison-2026-06-21/</guid><description>&lt;h1 id="simon-willison--2026-06-21"&gt;Simon Willison — 2026-06-21&lt;a class="anchor" href="#simon-willison--2026-06-21"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="highlight"&gt;Highlight&lt;a class="anchor" href="#highlight"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The major news today is the first release candidate for &lt;code&gt;sqlite-utils v4&lt;/code&gt;, which officially absorbs the battle-tested &lt;code&gt;sqlite-migrate&lt;/code&gt; package and introduces nested transactions. It&amp;rsquo;s a significant maturation for one of Simon&amp;rsquo;s core data tools, streamlining the developer experience by bringing schema evolution directly into the main library.&lt;/p&gt;
&lt;h2 id="posts"&gt;Posts&lt;a class="anchor" href="#posts"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://simonwillison.net/2026/Jun/21/sqlite-utils-40rc1/#atom-everything"&gt;sqlite-utils 4.0rc1 adds migrations and nested transactions&lt;/a&gt;&lt;/strong&gt;
Simon dropped the first release candidate for &lt;code&gt;sqlite-utils v4&lt;/code&gt;, adding built-in database migrations and a &lt;code&gt;db.atomic()&lt;/code&gt; API for nested transactions. The migrations system is deliberately small, offering no reverse migrations, and relies on a design already proven in his &lt;code&gt;LLM&lt;/code&gt; CLI project. As a major release, it includes several backwards-incompatible changes—such as defaulting floating-point types to the correct SQLite &lt;code&gt;REAL&lt;/code&gt; type, and requiring &lt;code&gt;db.view()&lt;/code&gt; instead of &lt;code&gt;db.table()&lt;/code&gt; for accessing views—so he is asking the community to test it via &lt;code&gt;uvx&lt;/code&gt; or &lt;code&gt;pip&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Simon Willison</title><link>https://macworks.dev/docs/week/simonwillison/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://macworks.dev/docs/week/simonwillison/</guid><description>&lt;h1 id="simon-willison--week-of-2026-06-18-to-2026-06-25"&gt;Simon Willison — Week of 2026-06-18 to 2026-06-25&lt;a class="anchor" href="#simon-willison--week-of-2026-06-18-to-2026-06-25"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="highlight-of-the-week"&gt;Highlight of the Week&lt;a class="anchor" href="#highlight-of-the-week"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This week&amp;rsquo;s absolute standout is the launch of the &lt;code&gt;datasette-apps&lt;/code&gt; plugin, which fundamentally transforms how we build micro-applications over local databases. By utilizing tightly constrained iframe sandboxes and Content-Security-Policy headers, developers and LLMs alike can safely run custom HTML/JS interfaces against a persistent Datasette backend. It brilliantly merges Simon&amp;rsquo;s ongoing experiments with AI-assisted &amp;ldquo;vibe coding&amp;rdquo; and robust security architectures into a core ecosystem feature, effectively bridging the gap between Claude Artifacts and secure data environments.&lt;/p&gt;</description></item></channel></rss>