VisuaLeaf v1.0.1685 Release Notes
Release Date: May 20, 2026
Headline: Full SQL Database Support + SQL Import/Export Pipeline
This release lands the full SQL subsystem first introduced in v1.0.1542, plus a major extension that brings SQL databases and SQL dump files into the first-class import/export job pipeline (SOZO-1107). VisuaLeaf is now a true cross-engine data platform: MongoDB and PostgreSQL, MySQL/MariaDB, Microsoft SQL Server, Oracle, and SQLite can be browsed, queried, and exchanged through a unified job system, with 15 SQL activity types and a dedicated backend module (src-sql/).
New SQL Activities
- SQL Editor (
sql-editor-activity) — Full SQL console with Ace/CodeMirror editors, multi-statement script splitting per dialect, live session state via SSE, and explain-plan visualization - SQL Table (
sql-table-activity) — Spreadsheet-style table browsing and editing with row-edit modals, batch update/delete, and FK preview - SQL Query Builder (
visua-sql-query-activity) — Visual, no-code SQL query construction - SQL Create Table (
sql-create-table-activity) — Visual table creation with column/constraint editor - SQL Table Info (
sql-table-info-activity) — Table schema, indexes, constraints, and DDL code viewer - SQL Table Statistics (
sql-table-statistics-activity) — Row counts, storage, and distribution stats - SQL Export (
sql-export-activity) — Export table/query results to multiple formats - SQL Manage Views (
sql-manage-views-activity) — Create, edit, and drop database views - SQL Manage Procedures (
sql-manage-procedures-activity) — Stored procedure management - SQL Manage Sequences (
sql-manage-sequences-activity) — Sequence management - SQL User Management (
sql-user-management-activity) — Users, roles, and privileges - SQL Events (
sql-events-activity) — Scheduled event management - SQL System Monitor (
sql-system-monitor-activity) — Live system monitoring with per-dialect strategies (MSSQL, MySQL, Oracle, Postgres, fallback) - SQL Query Profiling (
sql-query-profiling-activity) — Query profiler with explain-plan parsing - SQL Server Build Info (
sql-server-build-info-activity) — Server version and build metadata
SQL Infrastructure
- Dynamic JDBC driver loading — Drivers for PostgreSQL, MariaDB, MSSQL, Oracle, and SQLite loaded on demand (SQLite driver manifest added in v1.0.1542)
- Per-dialect script splitters — MariaDB, MSSQL, Oracle, PostgreSQL, SQLite
- Per-dialect update strategies — MSSQL, MySQL, Oracle, Postgres, SQLite
- Per-dialect explain-plan parsers — MariaDB, MSSQL, Oracle, PostgreSQL
- SQL connection lifecycle — Connection manager, dashboard SSE, session controllers, and connection list sidebar
- SQL table comparison (SOZO-999) — Diff tables across SQL connections with sync job support
- SQL Sync Job Service — Background compare/sync jobs between SQL sources
SQL in the Import/Export Pipeline (SOZO-1107)
SQL is now a first-class citizen in the job system used for dumps, restores, exports, transformations, and comparisons.
New source and target types
- SqlDatabase — Live SQL connection as a source/target
- SqlDump — Folder of SQL dump files (one per table, or a single combined file) as a source/target
- SqlScript, CSV, JSON added to the MongoDatabase target list
Cross-engine strategies
- SqlDatabase → JSON / CSV — Export tables or query results to flat files (parallel per-table execution, per-collection progress, resumable)
- SqlDatabase → SqlDatabase — Move data between SQL instances of any supported dialect
- SqlDump → SqlDatabase — Restore a dump folder/file with parallel execution, savepoint-based error handling, per-statement progress tracking, and mid-file pause detection
- MongoDatabase → SqlScript — Generate a SQL script from a Mongo collection set
- MongoDatabase → CSV / JSON — Parallel per-collection export with progress and resume support; filters system collections; uses
estimatedDocumentCountfor size hints
Dump features
- Single-file vs folder dump mode — Pick one combined
.sqlfile or one file per table - DROP / CREATE / DATA options — Choose which DDL/DML sections to include
- Portable ANSI SQL mode — Generate cross-dialect-friendly output with dialect detection and dialect-compatibility tags so incompatible restores are blocked up front
- Per-file metadata scanning —
/sql-dump-metadataendpoint scans a dump folder and surfaces table list, row counts, and dialect badges in the UI - Table size stats —
/sql-database-statsendpoint and per-table badges in the dump options UI; on-demand analyze - SqlDump source uses a folder picker (not a file picker); transformation step is hidden for SqlDatabase/SqlDump sources
Robustness & performance
- Streaming everywhere — Streaming JSON, JDBC
fetchSizetuning, single-pass directory walks - Memory — CSV/JSON files streamed instead of read into memory; SqlDump restore streams the file with batched transactions
- Resource leaks fixed in
BsonDumpRestoreServiceand export engines - Race conditions in checkpoint timing fixed
- Audit logging — Detailed per-collection audit logs for Mongo dump/restore strategies and per-statement audit logs for SQL dump restore
- Transformation warning tracking — Edge-case warnings (array transformations, missing target item paths) logged to a dedicated file
UX
- Single-workspace selector clickable — Opens workspace manager directly
- Folder picker for SqlDatabase exports; SQL database stats panel
- Auto-connect SQL on open when a saved connection backs an activity
- Block incompatible SQL dump restore — UI refuses to start when source and target dialects mismatch
- Job list polish — Per-table badges, duration tooltip label ("tables" for SQL, "collections" for Mongo), execution summary timeline for all MongoDatabase exports, dump operation info shown for MongoDatabase exports
Pause / Resume Across All Job Types (SOZO-1092)
- Pause/resume support added to every remaining strategy and to inter-job sequencing
MongoDatabaseToSqlScriptstrategy now respects pause; collection progress guarded- Auto-cancel orphaned paused executions when starting a new run
- Fix flickering on pause/resume by breaking on
Pendingstatus as well - Duplicate execution in the monitor after pause/resume fixed
- Resumable hints surfaced for CSV and NDJSON formats
AI Assistant
- Multi-provider AI support — Added Google Gemini, Anthropic Claude, and xAI Grok (Grok 3, Grok 3 Mini, Grok 2) alongside existing providers
- Markdown rendering in chat — AI responses now render Markdown with dark-mode-aware styles
- Debug AI mode — Debug tooling for inspecting AI requests and responses
- Configurable max tokens — Per-provider max-token configuration with automatic truncation recovery
- Shell-syntax aware parsing (SOZO-1031) — AI queries and aggregations are sanitized through the shell parser for accurate syntax handling
- Context-aware conversations (SOZO-1081) — Current query/pipeline is fed to the AI on every message for better suggestions
- Chatbot positioning (SOZO-1139) — z-index lowered to 1210 (below dropdowns at 1250); top boundary respects the custom title bar
Custom Title Bar & Window Chrome
- Custom title bar for all platforms (SOZO-842) — New draggable title bar with taller height (40px), larger logo, and subtle workspace selector on macOS, Windows, and Linux
- VS Code-style menu bar (SOZO-1015) — Custom menu bar for Windows/Linux title bar with menu-action IPC handler and hidden native menu; rounded corners on Linux
- Title bar polish (SOZO-1047) — Increased Win/Linux title-bar logo/text size, adjusted vertical alignment, moved workspace gear icon to the left of the dropdown
- Windows title bar theme (SOZO-1178) — Dynamic overlay theme that follows app theme; light-mode title bar tuned to
#f4f6f4to match the overlay; border extended under the overlay withbox-shadow - Memory Settings menu (SOZO-1137) — Added to Windows/Linux menu; Developer Tools entry removed; duplicate "Getting Started" removed from File menu (kept in Help)
- Platform modifier hints (SOZO-1156) —
⌘on macOS /Ctrlelsewhere now displayed consistently across modals (Getting Started, GridFS preview/zip/PDF, comparison results, job item table, export job list, section menu, keyboard shortcuts)
MongoDB Data & Workflow
- Schema editor drag-to-reorder & sort (SOZO-992) — Drag fields to reorder and sort columns in the schema editor
- Table view interaction (SOZO-760) — Background context menu and click-to-deselect in table view
- Unmapped fields handling (SOZO-1032) — "Include unmapped fields" toggle and on-missing field handling UI for imports/syncs;
defaultValuenow saves correctly, debounced while typing, restricted to string types, with On Missing help text - Query state preservation (SOZO-902) — Query state preserved when relocating panels
- Mongo-to-Mongo dump gzip (SOZO-1082) — Dump operation respects the gzip flag
- MongoScript job progress — Indeterminate progress bar for single-script jobs
- Background query loading (SOZO-1166) — Collection loading continues in the background when switching tabs; background query results persist; Cancel works on tab switch; fixes stuck-loading state when switching back
- Restricted-user collection counts (SOZO-1154) — Collections no longer show
(0)for MongoDB users withoutdbStatsprivilege - MongoBuildInfo (SOZO-1130) — Safe
Int/Doubleparsing for fields that vary by server version - JSON import timezone fix (SOZO-1116) — Import no longer fails on ISO-8601 timezone offsets without a colon (e.g.
+0530)
Improvements
Zoom System (SOZO-1049, SOZO-1070)
- Windows zoom shortcuts (SOZO-1049) — Fixed Ctrl+/− zoom shortcuts on Windows
- Zoom on all platforms — Keyboard zoom handler extended to macOS, Windows, and Linux; native zoom menu replaced with custom handlers
- CSS content-only zoom (SOZO-1070) — Experimental CSS-based zoom with centered counter-zoomed toast (later reverted to native Electron zoom for stability)
- Zoom layout — Workspace height now uses
flex: 1instead ofcalc(100vh)to cooperate with zoom transforms
Windows Drag & Drop (SOZO-1029)
- Fixed Chromium Windows drop-event bug at
devicePixelRatio: 1 - Dragover handlers attached directly to drop target elements
effectAllowedchanged fromlinktoallfor Windows compatibility- Drag image kept in DOM; transparent-GIF ghost replaces canvas-based drag image at 100% zoom
Charts & Visualization
- Scatter plot legend (SOZO-1042) — Legend position fixed at smaller window sizes
- Additional chart rendering improvements
Tabs & Navigation
- Middle-click to close tabs (SOZO-1159) — Browser-style middle-click closes a tab via window-level
auxclick(no drag interference)
Theming
- Light/dark mode for File Explorer modal and additional modals/UI components
- Loading-state background fix in dark mode (
dark:bg-slate-50→bg-slate-50) - Dropdown colors on Linux/Windows (SOZO-1133) — Fixed Task Manager History dropdown contrast
Forms & Dialogs
- MongoScript job form — Target and transformation fields hidden for MongoScript jobs; validation and title corrected
- Type editor popup (SOZO-1085) — No longer clipped in DB Schema collection card
- Modal backdrop close — Uses
mousedowninstead ofclickto prevent accidental close on drag-out - Login disclaimer modal — No longer closes on outside click
- Query builder — Fixed operator autocomplete behavior; fixed deletion of disabled expression when running a query
- SQL connection save — UUID generation, name sync, dashboard refresh, and form validation all fixed
- Dropdown positioning (SOZO-1128) — Race condition and stale focus state fixed
Jobs & Exports
- MongoScript jobs — Capture
printoutput, rethrow errors, cleaner error messages - Job delete — Cleans up dependencies on sibling jobs
- Field mapping (SOZO-1097) — Fixed preview and transformation for query and collection exports
File Explorer & Paths
check-pathandcreate-directoriesendpoints for path validation- Tilde (
~) expansion in directory listing and target file/folder paths - Home-directory detection fix in File Explorer
- Inline path validation with a "create directory" offer for source and target
Licensing
- Lock state defaults from license (SOZO-1158) — No license starts locked; lock state is derived from the active license rather than user-configurable in that case
Infrastructure
Backend
- New
src-sql/module — Entire SQL subsystem in its own Gradle source set: connection manager, DDL service, metadata service, monitoring service, table service, DDL controller, editor controller, dashboard SSE controller, table controller, user management controller, monitoring controller, compare controller, and sync job controller - Binary ↔ BsonBinary Spring Data converters — New converters added; minimongo bumped to 1.6.15 for BsonBinary deserialization fix (1.6.14 intermediate)
- Desktop mode security —
security.enablednow matchesdesktop-modefor consistent enforcement - Deep-link auth flow — Register endpoint ensures user record exists
- AI prompt — Restored projection-only example in AI prompt
- Electron — Debug flag removed from
package.json; window config adjusted for 40px title bar; traffic-light position adjusted for custom title bar;resetMemorySettingsIPC handler added;toggleDevToolsremoved from menu actions - Spring bean ambiguity fix — Use
ExportEngineMongoToMongoinstead ofAbstractExportEngineMongo - JWT filter NPE fix in the new SQL endpoints
- Unit test fixes and new SQL-side tests (
DatabaseTypeTest,JdbcDriverLoaderServiceTest,SqlConnectionManagerTest,SqlDbConnectionConfigTest,SqlTableServiceTest,MySqlMonitoringStrategyTest), plus new tests forChartConfigValidatorTest,MongoDocumentMapperTest,SqlDialectTest
Frontend
- 15 new SQL activity components and matching activity models
- New shared SQL components:
sql-ace-editor,sql-codemirror-editor,sql-connection-form,sql-connection-list,sql-connection-info-dialog,sql-table-tree-view,sql-table-cell,sql-table-view-draggable,sql-query-builder,sql-query-explain(with per-dialect parsers),sql-row-edit-modal,sql-batch-update-modal,sql-batch-delete-modal,sql-fk-preview-modal,sql-user-management-container - Dashboard refresh wiring for SQL connection lifecycle
- Dark-mode chat styles and AI config panels for new providers
- FontAwesome local webfonts dropped in favor of the CDN/CSS-only flow
Diff scale
- Frontend: 881 files changed, 142,787 insertions, 19,844 deletions
- Backend: 431 files changed, 34,915 insertions, 2,682 deletions
Notes
- Several intermediate commits (SOZO-1070 CSS zoom, SOZO-999 SQL compare early revisions, SOZO-1159 middle-click first attempt) were reverted and reintroduced; the shipped behavior reflects the final state.
SqlDump → MongoDatabasewas prototyped and removed before release to keep the matrix focused on the supported cross-engine paths.