VisuaLeaf v1.0.2621 Release Notes
Release Date: October 27 2026
Covers 1.0.2513 – 1.0.2621.
Headline: Compare and Sync Structure, a Rebuilt Data Transfer, Commit Mode for MongoDB and SQL, and Many Windows
Data Compare now compares structure as well as rows. It shows which columns, keys, indexes, checks and
triggers differ between two tables or collections, and can make the target match in either direction.
Data Transfer has been rebuilt around a list of tasks with the selected task's details beside it, and
the job editor now opens in the page with a live preview. A new commit mode for MongoDB and SQL holds
your grid edits for review until you commit them, and the SQL Editor gains manual commit with Commit and
Rollback. **VisuaLeaf
also opens in more than one window**, each with its own workspace.
Also shipping: a SQL Query Profiler on par with the MongoDB one, **a full-screen MongoDB Clusters
workspace with a new sharding view, an Inbox for announcements from us, a type-first Create
Collection builder, SQL schemas in the Schema Manager, a refreshed Redis browser, ENUM and SET
columns that survive every copy, and activation behind corporate proxies**.
Data Compare: Structure, Not Just Rows
What you can see
- A Structure tab next to Data. For each pair it lists what differs: columns, primary key, indexes,
- One flat list, coloured by what Sync would do. Additions, removals and changes each have their own
- A live script preview shows the exact statements Sync would run for the items you've ticked. You
- Find the pairs that differ at a glance. Each pair shows its last result ("12 modified · 3 missing",
- Renamed indexes and constraints aren't flagged. Items are matched by what they do, not by name.
foreign keys, CHECK constraints and triggers for SQL tables, and indexes, validator and options for
MongoDB collections. Tables or collections that exist on only one side are listed too.
colour, the changed words are highlighted, and clicking an item explains the difference. Turn on
Show identical to see everything.
can copy it.
✓ identical, Failed). Differing pairs are listed first, and the tabs show counts such as "3 differ"
or "Identical".
What you can do
- Sync structure in either direction. Pick source → target or target → source and tick what to
- Choose Data, Structure or Both next to Run. The choice is saved with the session.
- Right-click a database or schema → Compare Structure with… to pick a target. Tables and collections
- Change one side of a pair without rebuilding it, and match two whole databases in one step.
- Compare tables with no primary key. The target's key is used to match rows.
- Saved canvases survive a restart, including whole-database cards.
apply. Additions and changes start ticked; removals and triggers start unticked. Before you confirm,
the dialog warns about data that would break a change (duplicates, NULLs, rows that fail a new CHECK).
are paired by name and the compare runs straight away.
Fixes
- Comparing or syncing many pairs on one connection no longer fails with "Connection is not available".
- Row sync writes every column type back on every SQL engine and MongoDB, including PostgreSQL enums. A
- A stopped or restarted sync no longer re-syncs rows it had already finished.
- The progress dialog completes instead of freezing at 0%, and the summary says why rows failed, not
Pairs wait their turn instead, and one connection always stays free for browsing. If a connection's
pool is too small for a pair, Run says so before it starts.
20,000-row sync finishes in about half a second instead of four minutes.
just how many.
Data Transfer, Rebuilt
What you can see
- "List + details" is the new default layout. Tasks are listed on the left, one slim row each, with
- Folders form a nested tree. Subfolders sit under their parents, and a folded folder still shows
- Task tabs. Open several tasks in tabs above the details pane. A single click opens a preview tab;
- Every task header uses the same layout: status, schedule, parallel runs, last run and its duration,
- Failed tasks say why in plain words, such as a missing table, an unreachable database, a rejected
- Monitor and History, redesigned. Monitor puts every running, paused, queued, finished and upcoming
"Running now", "Failed last run" and "Up next" at the top. The selected task fills the right side.
when something inside it failed.
double-clicking or editing keeps it.
a progress bar for the current run, and run history underneath.
login or invalid filter JSON, instead of "N items failed".
run in one list, ordered by urgency, with details beside it. History shows each task's last 12 runs,
its success rate and a duration chart, and lists what fails most and which runs are slowest.
What you can do
- Select several tasks with Ctrl/⌘-click or Shift-click, then run, move, export or delete them
- Create tasks and folders from the list, drag tasks between folders, and rename folders in place.
- Move a job to another task from the job's own menu.
- Edit jobs in the page. The job editor opens over the task list with a breadcrumb back, so your
- Live preview shows what the job will write for a real source row, and updates as you change the
- Check job reads sample rows, runs your mapping and tests every connection without writing
- Quick actions add a masked field, a value from a lookup or a computed field in one click.
- Plainer labels: "Add or update", "Add new only" and "Replace all"; "Write null", "Skip field" and
- CSV exports let you choose the separator and whether the first row is column names.
- Database-to-database SQL copies and SQL dumps keep primary and foreign keys, with a checkbox to
- Pick the schema for a whole-database SQL target.
together, or drag them all onto a folder.
Favourites and colours work in both layouts.
place in the list is kept.
mapping.
anything. It lists what's missing or failing, with links to fix each item.
"Use default".
turn this off.
Faster
- With 200+ tasks, a click anywhere used to freeze the app for about 2.5 seconds. It now takes about
- The mapping grid redraws about 7× faster on wide tables, and hovering over it no longer slows the
a tenth of a second, and a job's editor opens in about 150 ms.
rest of the app.
Copies you can trust, on all 29 SQL engines
- ENUM and SET columns stay ENUM and SET in copies, native and portable dumps and restores, and arrive
- Unsigned integers keep their range.
- No silent writes to the wrong place. A copy into a missing database no longer writes into the
- No silent row loss on CrateDB. Rows it refuses now show up as errors instead of disappearing under
- Fixed: DuckDB restores into a schema could delete the source table; copies of SQLite JSON, H2/HSQLDB
as text on engines without enums.
connection's default database, and a SQL Server restore no longer ignores the target schema.
"Completed".
UUIDs, ClickHouse fixed-length strings and DuckDB times; QuestDB decimals; SQLite copies within one
file ("database is locked").
Data Sync
- Three steps instead of four: Source → What to sync → Review.
- Pick several collections or tables at once with Select all. Each becomes a rule copying to the
- Says why a job can't be created, for example a live mode on a source that can't stream changes, or
- SQL → SQL sync works, and row estimates work for SQL sources.
- Fixed jobs from SQL Server, Oracle and CrateDB-family sources, and MongoDB jobs that failed after a
same name.
a target sync can't write to. A link takes you to the fix.
collection was dropped and reloaded.
Commit Mode for MongoDB and SQL
Review edits before saving
- Commit mode for MongoDB collections and SQL tables. Edits you make in the table and tree views are
- Pending changes are highlighted (changed, added, removed) and stay through paging, sorting and
- A Review dialog lists every change field by field, with Commit, Discard and per-row Revert. Undo
- On MongoDB, nothing is overwritten by accident. If someone else changed a document after you
- A change that fails stays pending with its reason, so you can fix it and try again. Closing a tab with
- Turn it on or off from the toolbar. It's remembered separately for MongoDB and SQL: **on by default for
held until you commit them, instead of being written straight away.
refreshing. A "N pending" chip in the toolbar shows how many are waiting.
drops the latest pending edit without writing anything.
started editing it, that document is refused, and the rest still commit.
pending changes asks first.
SQL tables, off by default for MongoDB**.
Manual commit in the SQL Editor
- Switch a tab from Auto-commit to Manual commit. Nothing you run is permanent until you press
- An UNCOMMITTED badge shows how many statements are waiting and how old they are. You're warned
- Closing a tab with an open transaction asks first. The mode is remembered per tab.
Commit; Rollback undoes it all.
after 10 minutes idle, when MySQL, MariaDB or Oracle commits on its own because of a schema change, and
when an error aborts a PostgreSQL transaction.
Stop a running query
- Stop (or Escape) cancels a table-grid query on the server. Running again replaces the previous
query, and closing the tab cancels it.
Multiple Windows
- Window → New Window (⌘/Ctrl+Shift+N) opens a full VisuaLeaf window with its own unsaved workspace.
- One workspace per window. Two windows never overwrite each other's workspace, and a workspace open
- Closing a window with unsaved tabs asks Save / Discard / Cancel. Quitting gives you one summary for
- Your windows reopen at the next launch.
- Popped-out tabs return to the window they came from, and disconnecting warns you if another window is
Open in New Window in the Workspace Manager opens a saved one.
elsewhere is marked and brings that window to the front.
every window.
using the connection.
SQL Query Profiler
The SQL profiler now works like the MongoDB one.
What you can see
- A chart over time, one line per statement, plus a table of statements with each engine's own
- A detail panel for each statement, with Statement, Statistics, Explain, Index advice and Executions.
- Index advice suggests a
CREATE INDEXin your engine's dialect, and recognises indexes that - ClickHouse profiling, for the first time, including history from before you opened the tab.
- Honest status. If profiling can't read anything, it says why and names the setting or permission
statistics: rows examined vs. returned, scans without an index, cache hit ratio, p95, CPU and lock time.
already cover the statement.
to fix, instead of showing "Profiling on · 0 statements".
What you can do
- Reset the engine's counters where the engine allows it.
- Resize the chart to make more room for the table.
Fixes
- SQL Server statements are no longer cut off at 200 characters, and Explain works on SQL Server.
- First/last-seen times are no longer shifted by hours.
MongoDB Clusters & Sharding
What you can see
- Clusters is a full-screen workspace, with your clusters on the left and the selected one on the
- A topology diagram of routers, shards and config servers. Click a node to see its details.
- Real node roles. Sharded clusters show their primaries, secondaries, arbiters and routers instead
- A new Collections view for sharding. Each sharded collection shows which shard holds its data,
right, organised into Overview, Sharding and Settings.
of "UNKNOWN".
in plain words ("All on shard0 – the balancer is off"), and unsharded collections are listed largest
first.
What you can do
- Shard a collection with a guided flow: pick the collection, pick a key from the Shard Key
- Turn balancing on or off, and change, move or unshard a collection from the side panel.
- Compound index and shard keys are shown in their real order. They were sometimes shown alphabetised.
Advisor's suggestions, then review the index check, what the balancer will do and the exact command.
Schemas, Tables & Collections
Schema Manager
- One New Schema menu for MongoDB and SQL: start from scratch, from an existing collection or table,
- SQL Schema Editor. Design a table with the full Create Table form, add personal notes, save it,
- Import a live SQL table as a saved schema, with its columns, sizes, defaults, keys, foreign keys
- SQL schemas are grouped as connection → database → schema → table, with engine logos.
or from a JSON Schema file.
export it as .sql, or open it in Create Table.
and indexes.
Create Collection
- A type-first builder: Standard, Capped, Time series, View or Clustered. Each type shows only its
- Combinations MongoDB would reject can't be built, and the Create button says what's still missing.
- The collation, storage engine, write concern and JSON Schema dialogs have been restyled and work in
own settings, and a live preview shows the exact db.createCollection command.
light mode.
Create Table & Table Management
- Create flows confirm and take you to what you made. After creating a table, database, schema or
- Types that take a length start with a real, editable value (VARCHAR 255, DECIMAL 10,2).
- Restyled Create Table, trigger and CHECK forms, and Storage tab.
- Column edits keep their size on every engine. Making a column NOT NULL no longer shrinks
- Fixed Drop Trigger on MySQL/MariaDB, ClickHouse tables with JSON or Array columns, Oracle column
- ENUM and SET columns show their real type in the grid and the sidebar.
collection you get a short "created" message, and the new item is selected and briefly highlighted in
the sidebar. A new table opens in the same tab.
NVARCHAR(255) to NVARCHAR(1) on SQL Server, and column edits on CockroachDB no longer fail.
edits, and comments on SQL Server, Oracle, DuckDB, H2 and HSQLDB.
Visual Schema
- Export as SVG.
- Preview Data straight from a table card.
- Materialize can add missing columns and foreign keys to tables that already exist, instead of
- Dragging a foreign key follows what each engine accepts. INTEGER links to int4, and pairs the engine
- Table cards show each column type as your engine writes it, with its size.
skipping them. The preview shows the plan for each table.
would refuse are blocked, with an explanation.
Sidebar
- Refreshes after schema changes made in Materialize, Table Management or Events, and Refresh now
- Drag connections onto projects and environments to organise them.
- SQL breadcrumbs are clickable, like the MongoDB ones.
picks up new columns on tables you've already expanded.
Improvements
Inbox
- Announcements from VisuaLeaf, newest first, with an unread badge on the right sidebar. Open it from
the sidebar, ⌘K, or Help → Inbox. Important announcements pop up once, after any startup prompts.
Query Builders
- SQL joins: a searchable table picker that lists related tables first.
- MongoDB aggregation: more window operators in
$setWindowFields(moving averages, derivatives,
integrals, covariance, fill by interpolation and more), and steadier editing of the pipeline.
Redis
- Restyled key browser, CLI and server views.
- Save searches and scripts, and turn auto-refresh on or off. Binary values are marked as not
editable as text.
Data Grid
- Generate Mock Data from an empty collection or table.
- The table's right edge now runs to the last row and is the right colour in light mode.
- Dragging the splitters in the SQL table view is smooth. They used to lag or not move.
Export & Import
- Int64 values above 2^53 survive a MongoDB shell-format export and import exactly.
- PostgreSQL array columns in SQL Script exports restore correctly.
Connections
- Clearer message for old MongoDB servers: "This server is MongoDB 4.0. VisuaLeaf supports MongoDB
- Better support for Azure Cosmos DB and Azure DocumentDB.
4.2 to 9.0…", instead of a driver error.
Startup
- The window appears about 1.5 seconds sooner after the backend is ready.
- Smaller, faster desktop storage. Stored data is compacted in the background, so a store that had
- No more black or blank windows. If part of the app fails to load at startup, the window reloads
- If a leftover VisuaLeaf backend from an earlier crash is still running, it's stopped automatically.
- No empty console window flashes on Windows at first launch.
grown to hundreds of MB shrinks to tens of MB, and the app uses much less memory.
itself. If a saved workspace can't be restored, a new one opens and the broken one is left untouched.
Notes
- Commit mode is on by default for SQL tables. Edits in the SQL grid are held until you press
- Data Transfer opens in "List + details" unless you had already chosen Cards.
- Write-mode labels were renamed (Upsert → Add or update, Insert → Add new only, Drop & Insert → Replace
- Query history on desktop now keeps the 10,000 most recent unstarred entries. Starred entries are
- Live Data Sync from MySQL 8.4 or newer is reported as not ready, because the bundled change
Commit. Turn it off from the table toolbar if you'd rather save each edit straight away. On MongoDB it
starts off; turn it on from the collection toolbar.
all). Saved jobs are unchanged.
always kept.
connector doesn't support it yet.