|
| 1 | +# DeepSQL v1.3.0 |
| 2 | + |
| 3 | +**Weekly product cut** — DeepSQL Desktop (IDE) first ship, plus Agent/Brain/Editor hardening on top of `v1.2.0`. |
| 4 | + |
| 5 | +## Highlights |
| 6 | + |
| 7 | +### DeepSQL Desktop (headline) |
| 8 | + |
| 9 | +Native Electron client for a self-hosted DeepSQL server — the biggest addition in this cut (#73). |
| 10 | + |
| 11 | +- **Thin client, not a second frontend** — embeds the live DeepSQL UI from your VM origin (no bundled SPA, no version skew). |
| 12 | +- **Two transports** — direct TLS (system / pinned / custom CA / TOFU) or in-process SSH tunnel (`ssh2`, no `ssh` binary). |
| 13 | +- **Connection profiles** — per-profile sessions; secrets stored as OS keychain ciphertext when available. |
| 14 | +- **CORS requirement** — SSH tunnels use `http://127.0.0.1:<sticky-port>`, so the VM must allow loopback wildcards in `CORS_ALLOWED_ORIGINS` (`http://127.0.0.1:*,http://localhost:*`). Documented in `desktop/README.md`, `README.md`, and `docs/root/SELF_HOST_GUIDE.md`. |
| 15 | +- **Installers** — tag `desktop-v1.0.0` after this product cut to run `.github/workflows/desktop-release.yml` (macOS / Windows / Linux native runners). |
| 16 | + |
| 17 | +```bash |
| 18 | +cd desktop |
| 19 | +npm install |
| 20 | +npm start # or: npm run dev |
| 21 | +# headless Linux GUI: xvfb-run npm start |
| 22 | +``` |
| 23 | + |
| 24 | +### Agent & security |
| 25 | + |
| 26 | +- **MCP credential isolation** — Agent provisioner no longer mirrors tokens across every Hermes profile (cross-user last-writer-wins leak closed) (#78). |
| 27 | +- **MCP token identity binding** — server refuses a token whose owner does not match `X-DeepSQL-Client-Agent` when that header names a DeepSQL user. |
| 28 | +- **View as Agent** — impersonated Agent sessions enforce the *target* user’s chat/data policy (#71). |
| 29 | +- **Schema allowlist** — chat policy schema allowlist walks the whole statement, not only outer `FROM`/`JOIN` (#70). |
| 30 | +- **Brain endpoint authz** — Brain APIs require connection content access, not merely authentication (#72). |
| 31 | + |
| 32 | +### Brain & Review |
| 33 | + |
| 34 | +- **Review queue approvals** — `CODE_DERIVED` CHECK compatibility, stale-list refresh, bulk decide surfaces `failures[]` (#74). |
| 35 | +- **Suggestion approval unwedge** — schema-doc dedupe / upsert path so approvals stick; knowledge counts refresh live (#77). |
| 36 | +- **Enforceable Agent writes** — non-blocking save bubbles; Agent only offers brain-note saves when the user can manage content (#75). |
| 37 | + |
| 38 | +### Editor |
| 39 | + |
| 40 | +- **CSV export bound** — export no longer re-runs unbounded / 10-minute queries that outrun the proxy (#76). |
| 41 | +- Concurrent-run guards and cancel auditing for Editor query sessions (#76). |
| 42 | + |
| 43 | +## Install / upgrade |
| 44 | + |
| 45 | +```bash |
| 46 | +git clone https://github.com/DeepSQLAI/deepsql.git |
| 47 | +cd deepsql |
| 48 | +git checkout v1.3.0 |
| 49 | +cp .env.example .env |
| 50 | +# set SECURITY_JWT_SECRET, ENCRYPTION_KEY (or ENCRYPTION_KEYS), and DEEPSQL_CHAT_* in .env |
| 51 | +# for Desktop tunnels, include loopback wildcards in CORS_ALLOWED_ORIGINS |
| 52 | +docker compose up --build -d |
| 53 | +``` |
| 54 | + |
| 55 | +From `v1.2.0`: pull/checkout `v1.3.0` and rebuild Compose (or swap JAR + frontend tarball from this Release). Schema is managed by `ddl-auto=update`. Hand SQL changelog `V116` (schema documentation dedupe) is optional when not relying on `ddl-auto=update` / startup initializers. |
| 56 | + |
| 57 | +Air-gapped: download artifacts below, verify `SHA256SUMS`, follow `docs/oss-ux/RELEASE.md`. |
| 58 | + |
| 59 | +### Optional: DeepSQL Desktop |
| 60 | + |
| 61 | +See [`desktop/README.md`](../../desktop/README.md). After the product tag is published, cut Desktop installers with: |
| 62 | + |
| 63 | +```bash |
| 64 | +git tag -a desktop-v1.0.0 -m "DeepSQL Desktop v1.0.0" |
| 65 | +git push origin desktop-v1.0.0 |
| 66 | +``` |
| 67 | + |
| 68 | +## Artifacts in this release |
| 69 | + |
| 70 | +| File | Contents | |
| 71 | +|------|----------| |
| 72 | +| `deepsql-1.3.0-source.tar.gz` / `.zip` | Source tree at this tag | |
| 73 | +| `dba-agent-backend-1.3.0.jar` | Spring Boot executable | |
| 74 | +| `deepsql-frontend-1.3.0.tar.gz` | Production static UI | |
| 75 | +| `deepsql-mcp-0.27.1.tgz` | CLI + MCP server package | |
| 76 | +| `sbom-*.cdx.json` | CycloneDX SBOMs | |
| 77 | +| `SHA256SUMS` / `SHA512SUMS` | Integrity hashes | |
| 78 | +| `manifest.json` | Machine-readable inventory | |
| 79 | + |
| 80 | +Desktop installers (dmg / zip / exe / AppImage / deb) attach to the separate `desktop-v1.0.0` GitHub Release when that tag is pushed. |
| 81 | + |
| 82 | +```bash |
| 83 | +sha256sum -c SHA256SUMS |
| 84 | +``` |
| 85 | + |
| 86 | +## Verify |
| 87 | + |
| 88 | +```bash |
| 89 | +python3 scripts/self-host/e2e-agent-check.py |
| 90 | +python3 scripts/self-host/e2e-multischema-check.py |
| 91 | +# Desktop (optional): |
| 92 | +cd desktop && npm run selftest:tunnel && npm run smoke -- --url https://your-deepsql-origin |
| 93 | +``` |
| 94 | + |
| 95 | +Expect `AGENT_OK True`, `DASH_OK True`, and `✓ Multi-schema E2E OK`. |
| 96 | + |
| 97 | +## Not in this cut |
| 98 | + |
| 99 | +- **Workspaces & custom roles** (#80) — still open; merge after the favorite-endpoint authorization fix and rebase onto this release. |
| 100 | + |
| 101 | +## Cadence |
| 102 | + |
| 103 | +Product releases are cut **weekly, Saturday 09:00 America/Los_Angeles**. See `docs/oss-ux/RELEASE.md` and `docs/oss-ux/WEEKLY_RELEASE_AUTOMATION.md`. |
0 commit comments