Release Notes
v0.9.0 — September 23, 2026
Highlights: Smarter SQL editing with live diagnostics, safer row deletes, native Linux/macOS installers, and a full theme token overhaul.
New Features
- Live SQL diagnostics — the editor now flags unknown columns and ambiguous references as errors inline (Error Lens style) as you type, with did-you-mean, qualify, and refresh quick fixes, and a Settings toggle to turn it off.
- Smarter completion — suggestions are now dialect-aware, qualify columns by alias in multi-table joins, offer
alias.*/All columnsexpansions, pull in foreign-key related columns with the LEFT JOIN they need, and write long select lists comma-first, one column per line.Expand *and a quick Run command (Ctrl+Shift+Enter) round it out. - Safer deletes — deleting or dropping rows now shows which other tables actually reference them, lets you view those referencing rows before confirming, and only warns when a real reference exists.
- Query results, unsaved-edit aware — re-running a query keeps a result tab's unsaved edits instead of discarding them, and F5/reload now honours the active filter and asks before dropping unsaved changes.
- One Messages/Summary tab per run — server messages (including MSSQL
PRINT/RAISERRORoutput) collect into a single Messages tab, and multi-statement non-SELECT runs get one Summary tab instead of one per statement. - Smoother scrolling — mouse-wheel scrolling is eased across the query editor, result grid, and tab bars.
- PII blur is now a real guard — blurring sensitive columns when presenting actually prevents exposure instead of only being a visual effect.
- Native installers for Linux and macOS — Linux ships as
.deb,.rpm(Fedora), and AppImage (with zsync auto-update and bundled GTK3/WebKit2GTK) in place of the raw binary/tarball; macOS gets an ad-hoc signed.pkginstaller with auto-update. - Theme system rebuilt — Button components now use a dedicated token layer with an accent rebrand, and Solarized Light gets its own primary color instead of borrowing Dark's blue.
- Faster project switching — new connections can be added directly from the environment picker, and first-time Project creation is gated on a privacy notice.
Fixes & Polish
- Explorer: working reconnect button, virtualized object list, debounced filter, and no more duplicate concurrent schema fetches or cascading query failures on reconnect.
- Result grid: correct drag-select column ranges, immediate column auto-fit on double-click, and cell editors that re-render on every keystroke.
- Theme: full token architecture overhaul (Seed → Map → Alias,
danger/errorrenamed todestructive) with parity fixes across all four built-in presets, and multiple Solarized contrast/selection fixes. - Editor: builtin SQL snippets insert as real Monaco snippets, fonts re-measure once the webfont loads so the caret lines up, and query/table tabs stop re-rendering on unrelated actions.
- SQL generation: correct N-prefixed unicode strings for SQL Server, escaped backslashes for MySQL, and Postgres dollar-quoted bodies kept as one statement.
- MSSQL: batch-scoped statements stay together and PRINT output is no longer dropped when throttled.
- Autosave no longer writes on every keystroke; table columns fetch once instead of three times.
- Toolbar shows a sweeping progress bar while connecting instead of a pulse, and stays in sync when the active connection is edited elsewhere.
- Update dialog redesigned and no longer shows the wrong current version.
- Stray console windows removed, data-grid selection UX cleaned up, and F1/keyboard-shortcut help added.
v0.8.0 — September 11, 2026
Highlights: Windows auto-update no longer strands the app on a closed window — a detached helper now owns the whole download-and-install sequence and always relaunches
New Features
- Reworked Windows auto-update — the old flow downloaded the update inside the running app, then quit and re-ran the installer via a hidden PowerShell one-liner; a real subset of failures left you staring at a closed app with no relaunch. Auto-update now spawns a small detached helper (its own window and tray icon) that takes over once the app quits: it waits for the app to fully exit, downloads the release with visible progress, verifies its checksum, runs the installer elevated and silent, then relaunches Zentro. Every path through the helper ends in a relaunch — even a failed install won't strand you without the app — and Zentro reports whether the update succeeded the next time it starts.
Fixes & Polish
- The update modal and toolbar update button were simplified to match the new single-step flow: the modal's call-to-action now reads "Restart & Install" on Windows and triggers the restart directly, and the toolbar button dropped its now-obsolete downloading/restart-staged states.
v0.7.0 — September 10, 2026
Highlights: A dedicated Connections page in Settings, connection creation during first-run onboarding, and stable connection identity so a connection can be renamed without breaking its project bindings or saved password
Breaking Changes
- An unbound project environment now errors instead of silently connecting to the pool's bootstrap database. Previously, an environment with no database of its own fell back to the connection's
db_name. That fallback is gone — the database a project works against lives only on the environment binding. The upgrade backfills every existing environment from its connection so nothing you already use breaks; but a new environment with no database picked will now report a clear "unbound" error rather than connecting somewhere unexpected.
New Features
- Settings → Connections — a dedicated page that is now the single place to manage the connection pool: create, edit, test, and delete connections, list and create databases per connection, and import or export them (moved here from the project dialog). Deleting a connection tells you how many project environments across how many projects still use it.
- Create a connection during first-run onboarding — a fresh install with an empty pool can now add its first connection inline from the startup project wizard, instead of hitting a dead end that required restarting the app. The provider picker — choose Postgres, MySQL, SQLite, and the rest by its logo — is back on both the onboarding flow and the Settings page.
- Stable connection identity — every pool connection now has a permanent ID. Renaming a connection no longer orphans the project environments bound to it or the password saved in your OS keyring. This also fixes a reported bug where picking a different database in a project's environment matrix still connected to the previous one.
- The environment matrix is now a pure binder — it picks a connection and a database, nothing more; all connection editing routes to Settings → Connections. Rebinding the database of the environment you're currently connected to now reconnects the live session and tells you what happened, and merely opening a picker while editing a project no longer switches your connected environment when you save.
- Live project names and colours in the connection list — the "used by" column reads project names and identity colours from the live project store, so a project renamed elsewhere updates here immediately instead of after a restart. A new Refresh button reloads connections, database probes, and bindings together.
- Per-database bindings view — expanding a connection now shows two columns: every database (including ones a project references but the server no longer has, flagged "not on server") and the project environments bound to each.
Fixes & Polish
- Toolbar centre content is actually centred on the window — an asymmetric inset that reserved the corner for the window controls was pulling the centre cluster about 69px off true centre; the chrome insets moved onto the side clusters instead.
- Internal cleanup: removed the last of the inline connection-CRUD code from the project dialog and environment matrix, and made every frontend call site resolve a project's connection reference by ID rather than by display name.
v0.6.0 — September 9, 2026
Highlights: One shared connection pool across every project, a redesigned project wizard, theme presets and font settings, a built-in update button, and a broad UI refresh
Breaking Changes
- Connections are now a single global pool. Connections used to be stored inside each project. They now live in one shared pool, and each project environment points to a pool connection plus the database it's bound to. Your existing connections are folded into the pool automatically the first time you launch v0.6.0 — deduplicated by driver / host / port / database / user, with saved passwords carried over. No action needed, but a connection you set up in one project is now visible to all of them.
- Connection export/import now uses a
{ version, connections: [] }bundle (secrets are always stripped). The old single-connection package can still be imported.
New Features
- Redesigned project wizard — create and edit projects through a new profile dialog with an Environment Matrix picker for wiring each environment to a connection, a quick-switch context menu, a teal default project colour, and a responsive layout
- Quick project switcher — jump between projects straight from the toolbar, with full keyboard navigation
- Theme presets and fonts — pick a built-in preset (Zentro Light, Zentro Dark, or Solarized) and set separate font families for the UI and the SQL editor, all from Settings
- Built-in update button — the update check is now always on and no longer configurable (VS Code style). When a newer release is available, a compact Update / Restart to Update button appears in the toolbar; hover it to see your current version and the latest one. No more auto-popup modal.
- Extensible bottom panel — the editor's bottom panel is now a registry hosting Audit, Output, App Log, and Query Stats, with room for more over time
- VS Code-style empty editor state — a cleaner starting screen for a new query tab, with a right-sidebar resizer that stays in sync
- Data grid zebra striping — alternating row shading and header dividers that hold up while scrolling
- Broad UI redesign — unified panel borders and corner radii, resizable sidebars, a boxed settings navigation, and a refreshed tab strip and result panel; the first-run window can now be dragged by the dialog background
Fixes & Polish
- The light/dark switch in Settings now applies on the first click, and changing the theme no longer wipes the font/preset fields on save
- Consistent panel divider across every theme; the active tab now has a surface distinct from the tab strip; Solarized presets match the canonical palette
- Edited cells now generate provider-correct SQL literals
- The result panel only auto-opens for real editor query runs, not background queries
- Log views no longer re-theme every open Monaco editor
time.Timevalues render in a single canonical form instead of Go's doubled timezone- Context Search: table tabs opened from the palette stay pinned to the toolbar context, and the list resets scroll and selects the first row on every new query
- Window controls stay pinned to the top-right corner, and every dialog has rounded corners
- The "no connection" notice is debounced so switching projects doesn't flash it
- Typing in the editor feels immediate again — the Monaco-to-store sync is debounced — and the result grid stays smooth under fast scrolling
v0.5.2 — August 23, 2026
Highlights: Silent auto-update on Windows, a separate Nightly channel, tabs pinned to their own environment
New Features
- Silent auto-update (Windows) — Zentro checks for updates, downloads, and verifies them in the background; a "Restart to apply" prompt shows up once it's ready, no manual download needed. macOS and Linux still link to the latest release page.
- Nightly builds — a separate, side-by-side install for trying unreleased features early, with its own settings and an update flow that always asks before downloading
- Pinned environment on Table/Catalog tabs — each tab now remembers which environment it was opened from, shown as a badge on the tab and in the Ctrl+Tab switcher, so switching projects can't silently move a tab onto the wrong connection
- Manual refresh for License status — a Refresh button in Settings > License to re-check your entitlement on demand
Fixes & Polish
- Backend license and update checks now point at the dedicated
api.zentro-ide.comsubdomain - Fixed an environment-switch flicker caused by auto-reconnect racing an in-flight switch
- Table breadcrumb navigation now switches to the tab's own pinned connection instead of the active one
- Smoother tab drag-and-drop and split-view animations; the active tab now reliably scrolls into view
v0.5.1 — August 18, 2026
Fixes
- Automatically-created schema snapshots (taken before a migration) now correctly show up as rollback targets
v0.5.0 — August 13, 2026
Highlights: Image preview in the result grid, refreshed brand identity, simplified environment model
New Features
- Image preview in results — hover over binary or URL cells to preview images inline, with a reworked blob viewer for image payloads
- "Mark as Image Column" override — manually flag columns the auto-detection misses from the column header menu
- Simplified environments — the environment model is now Development, Staging, and Production; existing projects on the removed Local/Testing tiers migrate to Development automatically
- Refreshed branding — new logo and app icon across the app and installer
- Plan badge in the toolbar — your plan now shows as a pill next to the project name
- In-app feedback prompt — a one-time prompt to share how Zentro is working for you
Fixes & Polish
- FK join suggestions are now collected from every anchor in the statement, not just the first
- Leading comments are stripped before classifying SELECT statements, so commented queries no longer trigger write-safety incorrectly
- Backend session reconnects before switching project environment, fixing stale-connection errors after a switch
- Write confirmations are no longer silently dropped in edge cases
- Sandbox preview (eye icon) is now correctly gated behind Pro entitlement
- Fixed stuck dialog nodes wedging Ctrl+Tab and other global shortcuts
- Update checker now points at the ZentroIDE org repository
- Patched Go and npm dependency vulnerabilities (Dependabot criticals/highs, transitive dompurify override)
v0.4.0 — July 28, 2026
Highlights: Adaptive SQL completion, spotlight-style Context Search, Keys panel rework, per-project instance lock
New Features
- Adaptive SQL completion engine — tables and views are prioritized in suggestions; starter keywords no longer get an unwanted trailing semicolon
- Statement run buttons — a run link above each detected statement via CodeLens, with the active statement highlighted as you move the cursor
- Spotlight-style Context Search (
Ctrl+E) — unified prefix-based search: schema objects by default,#for saved scripts,>for commands,@git/@envfor branches/environments,:to jump to a line - Project workspace redesign — two-column create/edit wizard with an icon picker, a DBeaver connection importer, preloaded connections/schemas on project open, per-project instance lock with a distinct project color identity, and "Open in new window"
- Inline database creation — create a new database directly from the database tree picker
- Catalog object details viewer — inline diff view with a confirm-before-discard step for PostgreSQL, MySQL, and SQLite
- Keys panel rework — tab-rail layout with real DDL previews
- Query Statistics panel (Pro) — execution count, P95, and error rate, docked in the bottom panel
- Safety awareness moved to Free — write-safety guardrails and environment strictness are foundational behavior, not a premium gate; Pro adds stricter enforcement (type-to-confirm, cooldown, reason field) on top
- Export profile via a native OS save dialog
- Feedback entry point in the toolbar — reports bugs/requests with app version, build, and OS attached automatically
Fixes & Polish
- Fixed the editor not regaining focus after running a query from the editor itself (only worked from the toolbar/shortcut before)
- Fixed the WHERE filter editor losing Ctrl+Z undo history every time the filter re-ran
- Fixed table data types disappearing from the grid header while View Mode was on
- Fixed a visual overlap between deleted/draft row states and the index column
- Fixed transaction row totals being computed incorrectly for multi-statement runs
- Fixed Space silently swallowing keystrokes instead of inserting a space while SQL suggestions were open
- Hid internal Zentro housekeeping queries from the audit log and query statistics
- Redesigned the ORDER BY sort-term popovers — pick ASC/DESC directly instead of a dropdown-plus-Save step
v0.3.0 — April 26, 2026
Highlights: Production Safety suite, ERD visualization, PII blur
New Features
- Production overlay — persistent red banner when connected to a Production environment
- Write confirmation prompts — write statements require confirmation on Production; stricter enforcement (type-to-confirm, cooldown, reason field) is Pro-only
- Audit log — every query is logged locally with timestamp and status
- Schema snapshots — automatic DDL snapshots before mutating schema changes; rollback to a prior snapshot is Pro-only
- App lock — PIN protection on app open (Pro)
- PII blur — mark columns as PII; values masked in Data Grid by default (Pro)
- ERD visualization — auto-generated Entity-Relationship Diagram from live schema; pan, zoom, filter, export as PNG
- Environment indicators — color-coded toolbar (blue / yellow / red) for Dev / Staging / Production
Improvements
- Schema Explorer now shows estimated row counts per table
- Auto-complete now resolves column names after a known table alias
- Query execution time shown in the result toolbar
- Improved error messages from database engine (less "unknown error")
Fixes
- Fixed: switching environments in quick succession could cross-contaminate schema cache
- Fixed: SQL Server
NVARCHAR(MAX)columns displayed as empty in Data Grid - Fixed: app window position not restored correctly on multi-monitor setups
v0.2.0-beta — March 30, 2026
Highlights: Multi-tab editor, Saved Scripts, Query History
New Features
- Multi-tab SQL editor — open multiple query tabs per connection
- Saved Scripts — explicitly save and name frequently-used queries per project
- Query History — automatic per-session history with search
- Global search — search across saved script names and content from Context Search
- Copy as — copy Data Grid selection as CSV, JSON, SQL INSERT, or plain text
- Export — export full result set to CSV or JSON from the grid toolbar
Improvements
- Connection test now reports specific failure reason (auth failure, host unreachable, SSL, etc.)
- Data Grid: NULL values now display as a distinct badge instead of blank
- Timestamps in Data Grid show UTC tooltip on hover
Fixes
- Fixed: large result sets (1000+ rows) caused scroll lag in Data Grid
- Fixed: PostgreSQL
TIMESTAMPTZcolumns parsed incorrectly in some locales - Fixed: app would occasionally hang on startup if default project was missing
v0.0.1 — March 15, 2026
First release. Core functionality.
Features
- Project-centric workspace (up to 5 projects on Free)
- Environment management (Dev / Staging / Production) per project
- SQL editor with syntax highlighting for PostgreSQL, MySQL, SQL Server, SQLite
- Schema Explorer — browse tables, columns, indexes, foreign keys
- Data Grid — sortable, filterable, paginated results
- OS keychain credential storage (Windows Credential Manager)
- Supported databases: PostgreSQL, MySQL, MariaDB, SQL Server, SQLite
- Windows x64 (installer + portable builds)