<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" xml:lang="en-US">
  <id>tag:github.com,2008:https://github.com/DeepSQLAI/deepsql/releases</id>
  <link type="text/html" rel="alternate" href="https://github.com/DeepSQLAI/deepsql/releases"/>
  <link type="application/atom+xml" rel="self" href="https://github.com/DeepSQLAI/deepsql/releases.atom"/>
  <title>Release notes from deepsql</title>
  <updated>2026-09-01T15:17:30Z</updated>
  <entry>
    <id>tag:github.com,2008:Repository/1320308769/desktop-v1.0.2</id>
    <updated>2026-09-01T15:24:14Z</updated>
    <link rel="alternate" type="text/html" href="https://github.com/DeepSQLAI/deepsql/releases/tag/desktop-v1.0.2"/>
    <title>desktop-v1.0.2</title>
    <content>No content.</content>
    <author>
      <name>github-actions[bot]</name>
    </author>
    <media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/in/15368?s=60&amp;v=4"/>
  </entry>
  <entry>
    <id>tag:github.com,2008:Repository/1320308769/desktop-v1.0.1</id>
    <updated>2026-08-28T17:47:30Z</updated>
    <link rel="alternate" type="text/html" href="https://github.com/DeepSQLAI/deepsql/releases/tag/desktop-v1.0.1"/>
    <title>desktop-v1.0.1: DeepSQL Desktop v1.0.1</title>
    <content type="html">&lt;p&gt;Unsigned installers for macOS, Windows, and Linux.&lt;br&gt;
Rebuild after CI fix for Electron sandbox + CSC_IDENTITY_AUTO_DISCOVERY (&lt;a class=&quot;issue-link js-issue-link&quot; data-error-text=&quot;Failed to load title&quot; data-id=&quot;5280272513&quot; data-permission-text=&quot;Title is private&quot; data-url=&quot;https://github.com/DeepSQLAI/deepsql/issues/89&quot; data-hovercard-type=&quot;pull_request&quot; data-hovercard-url=&quot;/DeepSQLAI/deepsql/pull/89/hovercard&quot; href=&quot;https://github.com/DeepSQLAI/deepsql/pull/89&quot;&gt;#89&lt;/a&gt;).&lt;/p&gt;</content>
    <author>
      <name>cursoragent</name>
    </author>
    <media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/199161495?s=60&amp;v=4"/>
  </entry>
  <entry>
    <id>tag:github.com,2008:Repository/1320308769/v1.3.0</id>
    <updated>2026-08-25T05:10:19Z</updated>
    <link rel="alternate" type="text/html" href="https://github.com/DeepSQLAI/deepsql/releases/tag/v1.3.0"/>
    <title>DeepSQL v1.3.0</title>
    <content type="html">&lt;h1&gt;DeepSQL v1.3.0&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;Weekly product cut&lt;/strong&gt; — DeepSQL Desktop (IDE) first ship, plus Agent/Brain/Editor hardening on top of &lt;code&gt;v1.2.0&lt;/code&gt;.&lt;/p&gt;
&lt;h2&gt;Highlights&lt;/h2&gt;
&lt;h3&gt;DeepSQL Desktop (headline)&lt;/h3&gt;
&lt;p&gt;Native Electron client for a self-hosted DeepSQL server — the biggest addition in this cut (&lt;a class=&quot;issue-link js-issue-link&quot; data-error-text=&quot;Failed to load title&quot; data-id=&quot;5210788695&quot; data-permission-text=&quot;Title is private&quot; data-url=&quot;https://github.com/DeepSQLAI/deepsql/issues/73&quot; data-hovercard-type=&quot;pull_request&quot; data-hovercard-url=&quot;/DeepSQLAI/deepsql/pull/73/hovercard&quot; href=&quot;https://github.com/DeepSQLAI/deepsql/pull/73&quot;&gt;#73&lt;/a&gt;).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Thin client, not a second frontend&lt;/strong&gt; — embeds the live DeepSQL UI from your VM origin (no bundled SPA, no version skew).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Two transports&lt;/strong&gt; — direct TLS (system / pinned / custom CA / TOFU) or in-process SSH tunnel (&lt;code&gt;ssh2&lt;/code&gt;, no &lt;code&gt;ssh&lt;/code&gt; binary).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Connection profiles&lt;/strong&gt; — per-profile sessions; secrets stored as OS keychain ciphertext when available.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CORS requirement&lt;/strong&gt; — SSH tunnels use &lt;code&gt;http://127.0.0.1:&amp;lt;sticky-port&amp;gt;&lt;/code&gt;, so the VM must allow loopback wildcards in &lt;code&gt;CORS_ALLOWED_ORIGINS&lt;/code&gt; (&lt;code&gt;http://127.0.0.1:*,http://localhost:*&lt;/code&gt;). Documented in &lt;code&gt;desktop/README.md&lt;/code&gt;, &lt;code&gt;README.md&lt;/code&gt;, and &lt;code&gt;docs/root/SELF_HOST_GUIDE.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Installers&lt;/strong&gt; — tag &lt;code&gt;desktop-v1.0.0&lt;/code&gt; after this product cut to run &lt;code&gt;.github/workflows/desktop-release.yml&lt;/code&gt; (macOS / Windows / Linux native runners).&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;highlight highlight-source-shell notranslate position-relative overflow-auto&quot; data-snippet-clipboard-copy-content=&quot;cd desktop
npm install
npm start          # or: npm run dev
# headless Linux GUI: xvfb-run npm start&quot;&gt;&lt;pre&gt;&lt;span class=&quot;pl-c1&quot;&gt;cd&lt;/span&gt; desktop
npm install
npm start          &lt;span class=&quot;pl-c&quot;&gt;&lt;span class=&quot;pl-c&quot;&gt;#&lt;/span&gt; or: npm run dev&lt;/span&gt;
&lt;span class=&quot;pl-c&quot;&gt;&lt;span class=&quot;pl-c&quot;&gt;#&lt;/span&gt; headless Linux GUI: xvfb-run npm start&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h3&gt;Agent &amp;amp; security&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;MCP credential isolation&lt;/strong&gt; — Agent provisioner no longer mirrors tokens across every Hermes profile (cross-user last-writer-wins leak closed) (&lt;a class=&quot;issue-link js-issue-link&quot; data-error-text=&quot;Failed to load title&quot; data-id=&quot;5225814290&quot; data-permission-text=&quot;Title is private&quot; data-url=&quot;https://github.com/DeepSQLAI/deepsql/issues/78&quot; data-hovercard-type=&quot;pull_request&quot; data-hovercard-url=&quot;/DeepSQLAI/deepsql/pull/78/hovercard&quot; href=&quot;https://github.com/DeepSQLAI/deepsql/pull/78&quot;&gt;#78&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MCP token identity binding&lt;/strong&gt; — server refuses a token whose owner does not match &lt;code&gt;X-DeepSQL-Client-Agent&lt;/code&gt; when that header names a DeepSQL user.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;View as Agent&lt;/strong&gt; — impersonated Agent sessions enforce the &lt;em&gt;target&lt;/em&gt; user’s chat/data policy (&lt;a class=&quot;issue-link js-issue-link&quot; data-error-text=&quot;Failed to load title&quot; data-id=&quot;5202915609&quot; data-permission-text=&quot;Title is private&quot; data-url=&quot;https://github.com/DeepSQLAI/deepsql/issues/71&quot; data-hovercard-type=&quot;pull_request&quot; data-hovercard-url=&quot;/DeepSQLAI/deepsql/pull/71/hovercard&quot; href=&quot;https://github.com/DeepSQLAI/deepsql/pull/71&quot;&gt;#71&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Schema allowlist&lt;/strong&gt; — chat policy schema allowlist walks the whole statement, not only outer &lt;code&gt;FROM&lt;/code&gt;/&lt;code&gt;JOIN&lt;/code&gt; (&lt;a class=&quot;issue-link js-issue-link&quot; data-error-text=&quot;Failed to load title&quot; data-id=&quot;5195273086&quot; data-permission-text=&quot;Title is private&quot; data-url=&quot;https://github.com/DeepSQLAI/deepsql/issues/70&quot; data-hovercard-type=&quot;pull_request&quot; data-hovercard-url=&quot;/DeepSQLAI/deepsql/pull/70/hovercard&quot; href=&quot;https://github.com/DeepSQLAI/deepsql/pull/70&quot;&gt;#70&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Brain endpoint authz&lt;/strong&gt; — Brain APIs require connection content access, not merely authentication (&lt;a class=&quot;issue-link js-issue-link&quot; data-error-text=&quot;Failed to load title&quot; data-id=&quot;5203275385&quot; data-permission-text=&quot;Title is private&quot; data-url=&quot;https://github.com/DeepSQLAI/deepsql/issues/72&quot; data-hovercard-type=&quot;pull_request&quot; data-hovercard-url=&quot;/DeepSQLAI/deepsql/pull/72/hovercard&quot; href=&quot;https://github.com/DeepSQLAI/deepsql/pull/72&quot;&gt;#72&lt;/a&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Brain &amp;amp; Review&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Review queue approvals&lt;/strong&gt; — &lt;code&gt;CODE_DERIVED&lt;/code&gt; CHECK compatibility, stale-list refresh, bulk decide surfaces &lt;code&gt;failures[]&lt;/code&gt; (&lt;a class=&quot;issue-link js-issue-link&quot; data-error-text=&quot;Failed to load title&quot; data-id=&quot;5220009211&quot; data-permission-text=&quot;Title is private&quot; data-url=&quot;https://github.com/DeepSQLAI/deepsql/issues/74&quot; data-hovercard-type=&quot;pull_request&quot; data-hovercard-url=&quot;/DeepSQLAI/deepsql/pull/74/hovercard&quot; href=&quot;https://github.com/DeepSQLAI/deepsql/pull/74&quot;&gt;#74&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Suggestion approval unwedge&lt;/strong&gt; — schema-doc dedupe / upsert path so approvals stick; knowledge counts refresh live (&lt;a class=&quot;issue-link js-issue-link&quot; data-error-text=&quot;Failed to load title&quot; data-id=&quot;5223184184&quot; data-permission-text=&quot;Title is private&quot; data-url=&quot;https://github.com/DeepSQLAI/deepsql/issues/77&quot; data-hovercard-type=&quot;pull_request&quot; data-hovercard-url=&quot;/DeepSQLAI/deepsql/pull/77/hovercard&quot; href=&quot;https://github.com/DeepSQLAI/deepsql/pull/77&quot;&gt;#77&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Enforceable Agent writes&lt;/strong&gt; — non-blocking save bubbles; Agent only offers brain-note saves when the user can manage content (&lt;a class=&quot;issue-link js-issue-link&quot; data-error-text=&quot;Failed to load title&quot; data-id=&quot;5220018924&quot; data-permission-text=&quot;Title is private&quot; data-url=&quot;https://github.com/DeepSQLAI/deepsql/issues/75&quot; data-hovercard-type=&quot;pull_request&quot; data-hovercard-url=&quot;/DeepSQLAI/deepsql/pull/75/hovercard&quot; href=&quot;https://github.com/DeepSQLAI/deepsql/pull/75&quot;&gt;#75&lt;/a&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Editor&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;CSV export bound&lt;/strong&gt; — export no longer re-runs unbounded / 10-minute queries that outrun the proxy (&lt;a class=&quot;issue-link js-issue-link&quot; data-error-text=&quot;Failed to load title&quot; data-id=&quot;5220804200&quot; data-permission-text=&quot;Title is private&quot; data-url=&quot;https://github.com/DeepSQLAI/deepsql/issues/76&quot; data-hovercard-type=&quot;pull_request&quot; data-hovercard-url=&quot;/DeepSQLAI/deepsql/pull/76/hovercard&quot; href=&quot;https://github.com/DeepSQLAI/deepsql/pull/76&quot;&gt;#76&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Concurrent-run guards and cancel auditing for Editor query sessions (&lt;a class=&quot;issue-link js-issue-link&quot; data-error-text=&quot;Failed to load title&quot; data-id=&quot;5220804200&quot; data-permission-text=&quot;Title is private&quot; data-url=&quot;https://github.com/DeepSQLAI/deepsql/issues/76&quot; data-hovercard-type=&quot;pull_request&quot; data-hovercard-url=&quot;/DeepSQLAI/deepsql/pull/76/hovercard&quot; href=&quot;https://github.com/DeepSQLAI/deepsql/pull/76&quot;&gt;#76&lt;/a&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Install / upgrade&lt;/h2&gt;
&lt;div class=&quot;highlight highlight-source-shell notranslate position-relative overflow-auto&quot; data-snippet-clipboard-copy-content=&quot;git clone https://github.com/DeepSQLAI/deepsql.git
cd deepsql
git checkout v1.3.0
cp .env.example .env
# set SECURITY_JWT_SECRET, ENCRYPTION_KEY (or ENCRYPTION_KEYS), and DEEPSQL_CHAT_* in .env
# for Desktop tunnels, include loopback wildcards in CORS_ALLOWED_ORIGINS
docker compose up --build -d&quot;&gt;&lt;pre&gt;git clone https://github.com/DeepSQLAI/deepsql.git
&lt;span class=&quot;pl-c1&quot;&gt;cd&lt;/span&gt; deepsql
git checkout v1.3.0
cp .env.example .env
&lt;span class=&quot;pl-c&quot;&gt;&lt;span class=&quot;pl-c&quot;&gt;#&lt;/span&gt; set SECURITY_JWT_SECRET, ENCRYPTION_KEY (or ENCRYPTION_KEYS), and DEEPSQL_CHAT_* in .env&lt;/span&gt;
&lt;span class=&quot;pl-c&quot;&gt;&lt;span class=&quot;pl-c&quot;&gt;#&lt;/span&gt; for Desktop tunnels, include loopback wildcards in CORS_ALLOWED_ORIGINS&lt;/span&gt;
docker compose up --build -d&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;From &lt;code&gt;v1.2.0&lt;/code&gt;: pull/checkout &lt;code&gt;v1.3.0&lt;/code&gt; and rebuild Compose (or swap JAR + frontend tarball from this Release). Schema is managed by &lt;code&gt;ddl-auto=update&lt;/code&gt;. Hand SQL changelog &lt;code&gt;V116&lt;/code&gt; (schema documentation dedupe) is optional when not relying on &lt;code&gt;ddl-auto=update&lt;/code&gt; / startup initializers.&lt;/p&gt;
&lt;p&gt;Air-gapped: download artifacts below, verify &lt;code&gt;SHA256SUMS&lt;/code&gt;, follow &lt;code&gt;docs/oss-ux/RELEASE.md&lt;/code&gt;.&lt;/p&gt;
&lt;h3&gt;Optional: DeepSQL Desktop&lt;/h3&gt;
&lt;p&gt;See &lt;a href=&quot;/DeepSQLAI/deepsql/desktop/README.md&quot;&gt;&lt;code&gt;desktop/README.md&lt;/code&gt;&lt;/a&gt;. After the product tag is published, cut Desktop installers with:&lt;/p&gt;
&lt;div class=&quot;highlight highlight-source-shell notranslate position-relative overflow-auto&quot; data-snippet-clipboard-copy-content=&quot;git tag -a desktop-v1.0.0 -m &amp;quot;DeepSQL Desktop v1.0.0&amp;quot;
git push origin desktop-v1.0.0&quot;&gt;&lt;pre&gt;git tag -a desktop-v1.0.0 -m &lt;span class=&quot;pl-s&quot;&gt;&lt;span class=&quot;pl-pds&quot;&gt;&quot;&lt;/span&gt;DeepSQL Desktop v1.0.0&lt;span class=&quot;pl-pds&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;
git push origin desktop-v1.0.0&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;Artifacts in this release&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;File&lt;/th&gt;
&lt;th&gt;Contents&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;deepsql-1.3.0-source.tar.gz&lt;/code&gt; / &lt;code&gt;.zip&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Source tree at this tag&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;dba-agent-backend-1.3.0.jar&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Spring Boot executable&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;deepsql-frontend-1.3.0.tar.gz&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Production static UI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;deepsql-mcp-0.27.1.tgz&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;CLI + MCP server package&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;sbom-*.cdx.json&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;CycloneDX SBOMs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;SHA256SUMS&lt;/code&gt; / &lt;code&gt;SHA512SUMS&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Integrity hashes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;manifest.json&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Machine-readable inventory&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Desktop installers (dmg / zip / exe / AppImage / deb) attach to the separate &lt;code&gt;desktop-v1.0.0&lt;/code&gt; GitHub Release when that tag is pushed.&lt;/p&gt;
&lt;div class=&quot;highlight highlight-source-shell notranslate position-relative overflow-auto&quot; data-snippet-clipboard-copy-content=&quot;sha256sum -c SHA256SUMS&quot;&gt;&lt;pre&gt;sha256sum -c SHA256SUMS&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;Verify&lt;/h2&gt;
&lt;div class=&quot;highlight highlight-source-shell notranslate position-relative overflow-auto&quot; data-snippet-clipboard-copy-content=&quot;python3 scripts/self-host/e2e-agent-check.py
python3 scripts/self-host/e2e-multischema-check.py
# Desktop (optional):
cd desktop &amp;amp;&amp;amp; npm run selftest:tunnel &amp;amp;&amp;amp; npm run smoke -- --url https://your-deepsql-origin&quot;&gt;&lt;pre&gt;python3 scripts/self-host/e2e-agent-check.py
python3 scripts/self-host/e2e-multischema-check.py
&lt;span class=&quot;pl-c&quot;&gt;&lt;span class=&quot;pl-c&quot;&gt;#&lt;/span&gt; Desktop (optional):&lt;/span&gt;
&lt;span class=&quot;pl-c1&quot;&gt;cd&lt;/span&gt; desktop &lt;span class=&quot;pl-k&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; npm run selftest:tunnel &lt;span class=&quot;pl-k&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; npm run smoke -- --url https://your-deepsql-origin&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Expect &lt;code&gt;AGENT_OK True&lt;/code&gt;, &lt;code&gt;DASH_OK True&lt;/code&gt;, and &lt;code&gt;✓ Multi-schema E2E OK&lt;/code&gt;.&lt;/p&gt;
&lt;h2&gt;Not in this cut&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Workspaces &amp;amp; custom roles&lt;/strong&gt; (&lt;a class=&quot;issue-link js-issue-link&quot; data-error-text=&quot;Failed to load title&quot; data-id=&quot;5226440422&quot; data-permission-text=&quot;Title is private&quot; data-url=&quot;https://github.com/DeepSQLAI/deepsql/issues/80&quot; data-hovercard-type=&quot;pull_request&quot; data-hovercard-url=&quot;/DeepSQLAI/deepsql/pull/80/hovercard&quot; href=&quot;https://github.com/DeepSQLAI/deepsql/pull/80&quot;&gt;#80&lt;/a&gt;) — still open; merge after the favorite-endpoint authorization fix and rebase onto this release.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Cadence&lt;/h2&gt;
&lt;p&gt;Product releases are cut &lt;strong&gt;weekly, Saturday 09:00 America/Los_Angeles&lt;/strong&gt;. See &lt;code&gt;docs/oss-ux/RELEASE.md&lt;/code&gt; and &lt;code&gt;docs/oss-ux/WEEKLY_RELEASE_AUTOMATION.md&lt;/code&gt;.&lt;/p&gt;</content>
    <author>
      <name>github-actions[bot]</name>
    </author>
    <media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/in/15368?s=60&amp;v=4"/>
  </entry>
  <entry>
    <id>tag:github.com,2008:Repository/1320308769/desktop-v1.0.0</id>
    <updated>2026-08-25T05:07:43Z</updated>
    <link rel="alternate" type="text/html" href="https://github.com/DeepSQLAI/deepsql/releases/tag/desktop-v1.0.0"/>
    <title>desktop-v1.0.0</title>
    <content type="html">&lt;p&gt;DeepSQL Desktop v1.0.0&lt;/p&gt;</content>
    <author>
      <name>cursoragent</name>
    </author>
    <media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/199161495?s=60&amp;v=4"/>
  </entry>
  <entry>
    <id>tag:github.com,2008:Repository/1320308769/v1.2.0</id>
    <updated>2026-08-20T06:31:15Z</updated>
    <link rel="alternate" type="text/html" href="https://github.com/DeepSQLAI/deepsql/releases/tag/v1.2.0"/>
    <title>DeepSQL v1.2.0</title>
    <content type="html">&lt;h1&gt;DeepSQL v1.2.0&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;Weekly product cut&lt;/strong&gt; — schema-scoped access policies, admin profile switch, and multi-schema hardening on top of &lt;code&gt;v1.1.0&lt;/code&gt;.&lt;/p&gt;
&lt;h2&gt;Highlights&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Schema-scoped chat access policies&lt;/strong&gt; — plain-English rules resolve to allowed schemas plus table/column deny lists; schema APIs and query guardrails enforce them per user.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Admin profile switch&lt;/strong&gt; — “View as” another user to validate policies without sharing credentials (&lt;code&gt;/admin/impersonate&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ACME ERP fixture&lt;/strong&gt; — six-schema Postgres database (&lt;code&gt;crm&lt;/code&gt;, &lt;code&gt;sales&lt;/code&gt;, &lt;code&gt;finance&lt;/code&gt;, &lt;code&gt;inventory&lt;/code&gt;, &lt;code&gt;hr&lt;/code&gt;, &lt;code&gt;marts&lt;/code&gt;) for policy and Brain tests; seed with &lt;code&gt;scripts/seed-acme-erp.sh&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Postgres introspection fix&lt;/strong&gt; — &lt;code&gt;getTableColumns&lt;/code&gt; respects the caller’s schema (&lt;a class=&quot;issue-link js-issue-link&quot; data-error-text=&quot;Failed to load title&quot; data-id=&quot;5161808638&quot; data-permission-text=&quot;Title is private&quot; data-url=&quot;https://github.com/DeepSQLAI/deepsql/issues/60&quot; data-hovercard-type=&quot;pull_request&quot; data-hovercard-url=&quot;/DeepSQLAI/deepsql/pull/60/hovercard&quot; href=&quot;https://github.com/DeepSQLAI/deepsql/pull/60&quot;&gt;#60&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Editor + security fixes&lt;/strong&gt; — SQL guard bypasses closed (&lt;a class=&quot;issue-link js-issue-link&quot; data-error-text=&quot;Failed to load title&quot; data-id=&quot;5173342258&quot; data-permission-text=&quot;Title is private&quot; data-url=&quot;https://github.com/DeepSQLAI/deepsql/issues/63&quot; data-hovercard-type=&quot;pull_request&quot; data-hovercard-url=&quot;/DeepSQLAI/deepsql/pull/63/hovercard&quot; href=&quot;https://github.com/DeepSQLAI/deepsql/pull/63&quot;&gt;#63&lt;/a&gt;); &lt;code&gt;COMMENT&lt;/code&gt;/&lt;code&gt;CALL&lt;/code&gt; no longer misclassified as mutations (&lt;a class=&quot;issue-link js-issue-link&quot; data-error-text=&quot;Failed to load title&quot; data-id=&quot;5174113627&quot; data-permission-text=&quot;Title is private&quot; data-url=&quot;https://github.com/DeepSQLAI/deepsql/issues/64&quot; data-hovercard-type=&quot;pull_request&quot; data-hovercard-url=&quot;/DeepSQLAI/deepsql/pull/64/hovercard&quot; href=&quot;https://github.com/DeepSQLAI/deepsql/pull/64&quot;&gt;#64&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dashboard UX&lt;/strong&gt; — loading states (&lt;a class=&quot;issue-link js-issue-link&quot; data-error-text=&quot;Failed to load title&quot; data-id=&quot;5164952122&quot; data-permission-text=&quot;Title is private&quot; data-url=&quot;https://github.com/DeepSQLAI/deepsql/issues/61&quot; data-hovercard-type=&quot;pull_request&quot; data-hovercard-url=&quot;/DeepSQLAI/deepsql/pull/61/hovercard&quot; href=&quot;https://github.com/DeepSQLAI/deepsql/pull/61&quot;&gt;#61&lt;/a&gt;); Hermes agent/web UI pinned to release tags (&lt;a class=&quot;issue-link js-issue-link&quot; data-error-text=&quot;Failed to load title&quot; data-id=&quot;5187925398&quot; data-permission-text=&quot;Title is private&quot; data-url=&quot;https://github.com/DeepSQLAI/deepsql/issues/68&quot; data-hovercard-type=&quot;pull_request&quot; data-hovercard-url=&quot;/DeepSQLAI/deepsql/pull/68/hovercard&quot; href=&quot;https://github.com/DeepSQLAI/deepsql/pull/68&quot;&gt;#68&lt;/a&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Install / upgrade&lt;/h2&gt;
&lt;div class=&quot;highlight highlight-source-shell notranslate position-relative overflow-auto&quot; data-snippet-clipboard-copy-content=&quot;git clone https://github.com/DeepSQLAI/deepsql.git
cd deepsql
git checkout v1.2.0
cp .env.example .env
# set SECURITY_JWT_SECRET, ENCRYPTION_KEY (or ENCRYPTION_KEYS), and DEEPSQL_CHAT_* in .env
docker compose up --build -d&quot;&gt;&lt;pre&gt;git clone https://github.com/DeepSQLAI/deepsql.git
&lt;span class=&quot;pl-c1&quot;&gt;cd&lt;/span&gt; deepsql
git checkout v1.2.0
cp .env.example .env
&lt;span class=&quot;pl-c&quot;&gt;&lt;span class=&quot;pl-c&quot;&gt;#&lt;/span&gt; set SECURITY_JWT_SECRET, ENCRYPTION_KEY (or ENCRYPTION_KEYS), and DEEPSQL_CHAT_* in .env&lt;/span&gt;
docker compose up --build -d&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;From &lt;code&gt;v1.1.0&lt;/code&gt;: pull/checkout &lt;code&gt;v1.2.0&lt;/code&gt; and rebuild Compose (or swap JAR + frontend tarball from this Release). Schema is managed by &lt;code&gt;ddl-auto=update&lt;/code&gt;; no new hand SQL is required for this cut.&lt;/p&gt;
&lt;p&gt;Air-gapped: download artifacts below, verify &lt;code&gt;SHA256SUMS&lt;/code&gt;, follow &lt;code&gt;docs/oss-ux/RELEASE.md&lt;/code&gt;.&lt;/p&gt;
&lt;h2&gt;Artifacts in this release&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;File&lt;/th&gt;
&lt;th&gt;Contents&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;deepsql-1.2.0-source.tar.gz&lt;/code&gt; / &lt;code&gt;.zip&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Source tree at this tag&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;dba-agent-backend-1.2.0.jar&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Spring Boot executable&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;deepsql-frontend-1.2.0.tar.gz&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Production static UI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;deepsql-mcp-0.27.0.tgz&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;CLI + MCP server package (unchanged npm line)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;sbom-*.cdx.json&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;CycloneDX SBOMs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;SHA256SUMS&lt;/code&gt; / &lt;code&gt;SHA512SUMS&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Integrity hashes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;manifest.json&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Machine-readable inventory&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class=&quot;highlight highlight-source-shell notranslate position-relative overflow-auto&quot; data-snippet-clipboard-copy-content=&quot;sha256sum -c SHA256SUMS&quot;&gt;&lt;pre&gt;sha256sum -c SHA256SUMS&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;Verify&lt;/h2&gt;
&lt;div class=&quot;highlight highlight-source-shell notranslate position-relative overflow-auto&quot; data-snippet-clipboard-copy-content=&quot;python3 scripts/self-host/e2e-agent-check.py
python3 scripts/self-host/e2e-multischema-check.py&quot;&gt;&lt;pre&gt;python3 scripts/self-host/e2e-agent-check.py
python3 scripts/self-host/e2e-multischema-check.py&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Expect &lt;code&gt;AGENT_OK True&lt;/code&gt;, &lt;code&gt;DASH_OK True&lt;/code&gt;, and &lt;code&gt;✓ Multi-schema E2E OK&lt;/code&gt;.&lt;/p&gt;
&lt;h2&gt;Cadence&lt;/h2&gt;
&lt;p&gt;Product releases are cut &lt;strong&gt;weekly, Saturday 09:00 America/Los_Angeles&lt;/strong&gt;. See &lt;code&gt;docs/oss-ux/RELEASE.md&lt;/code&gt; and &lt;code&gt;docs/oss-ux/WEEKLY_RELEASE_AUTOMATION.md&lt;/code&gt;.&lt;/p&gt;</content>
    <author>
      <name>github-actions[bot]</name>
    </author>
    <media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/in/15368?s=60&amp;v=4"/>
  </entry>
  <entry>
    <id>tag:github.com,2008:Repository/1320308769/v1.1.0</id>
    <updated>2026-08-15T17:55:09Z</updated>
    <link rel="alternate" type="text/html" href="https://github.com/DeepSQLAI/deepsql/releases/tag/v1.1.0"/>
    <title>DeepSQL v1.1.0</title>
    <content type="html">&lt;h1&gt;DeepSQL v1.1.0&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;Weekly product cut&lt;/strong&gt; — dashboards, multi-schema UX, and Performance consolidation on top of &lt;code&gt;v1.0.0&lt;/code&gt;.&lt;/p&gt;
&lt;h2&gt;Highlights&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Progressive dashboards&lt;/strong&gt; — builds stream a shell, then widgets; clone, folders/favorites, version history, refresh/TV kiosk, and AI-evaluated alerts.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Server-owned dashboard chat&lt;/strong&gt; — generation turns persist even if the SSE client disconnects; concurrent turns are rejected safely.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Multi-schema UI&lt;/strong&gt; — Editor, Brain, and Advisor surfaces treat non-&lt;code&gt;public&lt;/code&gt; Postgres schemas as first-class.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Performance hub&lt;/strong&gt; — Slow Queries and Workload Analysis live in one Performance area.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CI unblock&lt;/strong&gt; — CodeQL visibility guard that blocked merges is removed.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Install / upgrade&lt;/h2&gt;
&lt;div class=&quot;highlight highlight-source-shell notranslate position-relative overflow-auto&quot; data-snippet-clipboard-copy-content=&quot;git clone https://github.com/DeepSQLAI/deepsql.git
cd deepsql
git checkout v1.1.0
cp .env.example .env
# set SECURITY_JWT_SECRET, ENCRYPTION_KEY (or ENCRYPTION_KEYS), and DEEPSQL_CHAT_* in .env
docker compose up --build -d&quot;&gt;&lt;pre&gt;git clone https://github.com/DeepSQLAI/deepsql.git
&lt;span class=&quot;pl-c1&quot;&gt;cd&lt;/span&gt; deepsql
git checkout v1.1.0
cp .env.example .env
&lt;span class=&quot;pl-c&quot;&gt;&lt;span class=&quot;pl-c&quot;&gt;#&lt;/span&gt; set SECURITY_JWT_SECRET, ENCRYPTION_KEY (or ENCRYPTION_KEYS), and DEEPSQL_CHAT_* in .env&lt;/span&gt;
docker compose up --build -d&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;From &lt;code&gt;v1.0.0&lt;/code&gt;: pull/checkout &lt;code&gt;v1.1.0&lt;/code&gt;, rebuild Compose (or swap JAR + frontend tarball from this Release), and apply hand SQL for dashboard tables if you are not relying on &lt;code&gt;ddl-auto=update&lt;/code&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;V111&lt;/code&gt; / &lt;code&gt;V112&lt;/code&gt; — &lt;code&gt;generation_status&lt;/code&gt;, optimistic &lt;code&gt;version&lt;/code&gt; on &lt;code&gt;saved_dashboards&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;V113&lt;/code&gt; — &lt;code&gt;dashboard_versions&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;V114&lt;/code&gt; — &lt;code&gt;dashboard_alerts&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;(No Flyway runtime — see &lt;code&gt;CLAUDE.md&lt;/code&gt;.)&lt;/p&gt;
&lt;p&gt;Air-gapped: download artifacts below, verify &lt;code&gt;SHA256SUMS&lt;/code&gt;, follow &lt;code&gt;docs/oss-ux/RELEASE.md&lt;/code&gt;.&lt;/p&gt;
&lt;h2&gt;Artifacts in this release&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;File&lt;/th&gt;
&lt;th&gt;Contents&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;deepsql-1.1.0-source.tar.gz&lt;/code&gt; / &lt;code&gt;.zip&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Source tree at this tag&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;dba-agent-backend-1.1.0.jar&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Spring Boot executable&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;deepsql-frontend-1.1.0.tar.gz&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Production static UI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;deepsql-mcp-0.27.0.tgz&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;CLI + MCP server package (unchanged npm line)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;sbom-*.cdx.json&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;CycloneDX SBOMs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;SHA256SUMS&lt;/code&gt; / &lt;code&gt;SHA512SUMS&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Integrity hashes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;manifest.json&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Machine-readable inventory&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class=&quot;highlight highlight-source-shell notranslate position-relative overflow-auto&quot; data-snippet-clipboard-copy-content=&quot;sha256sum -c SHA256SUMS&quot;&gt;&lt;pre&gt;sha256sum -c SHA256SUMS&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;Verify&lt;/h2&gt;
&lt;div class=&quot;highlight highlight-source-shell notranslate position-relative overflow-auto&quot; data-snippet-clipboard-copy-content=&quot;python3 scripts/self-host/e2e-agent-check.py&quot;&gt;&lt;pre&gt;python3 scripts/self-host/e2e-agent-check.py&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Expect &lt;code&gt;AGENT_OK True&lt;/code&gt; and &lt;code&gt;DASH_OK True&lt;/code&gt;.&lt;/p&gt;
&lt;h2&gt;Cadence&lt;/h2&gt;
&lt;p&gt;Product releases are cut &lt;strong&gt;weekly, Saturday 09:00 America/Los_Angeles&lt;/strong&gt;. See &lt;code&gt;docs/oss-ux/RELEASE.md&lt;/code&gt; and &lt;code&gt;docs/oss-ux/WEEKLY_RELEASE_AUTOMATION.md&lt;/code&gt;.&lt;/p&gt;</content>
    <author>
      <name>github-actions[bot]</name>
    </author>
    <media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/in/15368?s=60&amp;v=4"/>
  </entry>
  <entry>
    <id>tag:github.com,2008:Repository/1320308769/v1.0.0</id>
    <updated>2026-08-13T14:52:26Z</updated>
    <link rel="alternate" type="text/html" href="https://github.com/DeepSQLAI/deepsql/releases/tag/v1.0.0"/>
    <title>DeepSQL v1.0.0</title>
    <content type="html">&lt;h1&gt;DeepSQL v1.0.0&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;First public open-source release&lt;/strong&gt; — self-hosted database agent for PostgreSQL and MySQL.&lt;/p&gt;
&lt;h2&gt;Highlights&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Ask your database&lt;/strong&gt; — schema exploration, SQL generation, slow-query help, and index guidance through the web UI or MCP/CLI.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Brain&lt;/strong&gt; — indexes your schemas (including non-&lt;code&gt;public&lt;/code&gt; Postgres schemas) so the agent has real context.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DeepSQL Agent&lt;/strong&gt; — per-user profiles, MCP tool access scoped to your login, dashboard HTML artifacts with a read-only query bridge.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;BYO model&lt;/strong&gt; — point at OpenAI, Azure OpenAI, or any OpenAI-compatible endpoint. No vendor lock-in on inference.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Self-host first&lt;/strong&gt; — credentials stay in your vault DB; Compose builds from source.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Install&lt;/h2&gt;
&lt;div class=&quot;highlight highlight-source-shell notranslate position-relative overflow-auto&quot; data-snippet-clipboard-copy-content=&quot;git clone https://github.com/DeepSQLAI/deepsql.git
cd deepsql
git checkout v1.0.0
cp .env.example .env
# set SECURITY_JWT_SECRET, ENCRYPTION_KEY, and DEEPSQL_CHAT_* in .env
docker compose up --build -d&quot;&gt;&lt;pre&gt;git clone https://github.com/DeepSQLAI/deepsql.git
&lt;span class=&quot;pl-c1&quot;&gt;cd&lt;/span&gt; deepsql
git checkout v1.0.0
cp .env.example .env
&lt;span class=&quot;pl-c&quot;&gt;&lt;span class=&quot;pl-c&quot;&gt;#&lt;/span&gt; set SECURITY_JWT_SECRET, ENCRYPTION_KEY, and DEEPSQL_CHAT_* in .env&lt;/span&gt;
docker compose up --build -d&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Air-gapped / non-Compose: download the JAR + frontend tarball from this Release, verify &lt;code&gt;SHA256SUMS&lt;/code&gt;, and follow &lt;code&gt;docs/oss-ux/RELEASE.md&lt;/code&gt;.&lt;/p&gt;
&lt;h2&gt;Artifacts in this release&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;File&lt;/th&gt;
&lt;th&gt;Contents&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;deepsql-1.0.0-source.tar.gz&lt;/code&gt; / &lt;code&gt;.zip&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Source tree at this tag&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;dba-agent-backend-1.0.0.jar&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Spring Boot executable&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;deepsql-frontend-1.0.0.tar.gz&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Production static UI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;deepsql-mcp-0.27.0.tgz&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;CLI + MCP server package&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;sbom-*.cdx.json&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;CycloneDX SBOMs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;SHA256SUMS&lt;/code&gt; / &lt;code&gt;SHA512SUMS&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Integrity hashes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;manifest.json&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Machine-readable inventory&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Verify:&lt;/p&gt;
&lt;div class=&quot;highlight highlight-source-shell notranslate position-relative overflow-auto&quot; data-snippet-clipboard-copy-content=&quot;sha256sum -c SHA256SUMS&quot;&gt;&lt;pre&gt;sha256sum -c SHA256SUMS&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;Security notes&lt;/h2&gt;
&lt;p&gt;Critical/high items addressed before this cut are listed in &lt;code&gt;CHANGELOG.md&lt;/code&gt; and &lt;code&gt;docs/oss-ux/OSS_SECURITY_REVIEW.md&lt;/code&gt;. Please report new vulnerabilities per &lt;code&gt;SECURITY.md&lt;/code&gt;.&lt;/p&gt;
&lt;h2&gt;Verify before upgrading production&lt;/h2&gt;
&lt;p&gt;On a staging stack, run:&lt;/p&gt;
&lt;div class=&quot;highlight highlight-source-shell notranslate position-relative overflow-auto&quot; data-snippet-clipboard-copy-content=&quot;python3 scripts/self-host/e2e-agent-check.py&quot;&gt;&lt;pre&gt;python3 scripts/self-host/e2e-agent-check.py&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Expect &lt;code&gt;AGENT_OK True&lt;/code&gt; and &lt;code&gt;DASH_OK True&lt;/code&gt;.&lt;/p&gt;</content>
    <author>
      <name>github-actions[bot]</name>
    </author>
    <media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/in/15368?s=60&amp;v=4"/>
  </entry>
</feed>
