Changelog

What's new in MQLens

Release notes for every stable build. The canonical list — including pre-releases and signed assets — lives on the GitHub releases page.

MQLens v0.21.0

mqlens-v0.21.0

Features

  • MONGODB-OIDC interactive browser login (#430) (#433)

Fixes

  • preserve OIDC settings when duplicating profiles
  • handle mongodb+srv:// URIs in SSH tunnel URI rewrite (#440) (#441)
  • run tool detection off the async runtime
  • stop late value echoes erasing typing in the shell and document editor
  • release the activity log lock explicitly, not on last close
  • wait out ETXTBSY when probing freshly written binaries
  • stop late value echoes overwriting typed text
  • keep kept-alive tabs in a fixed DOM order
  • retry a local agent spawn refused with Text file busy
  • retry the tool version probe on ETXTBSY
  • let detached windows listen for events
  • release the exported theme's blob URL after the download starts
  • sync connection and tab refs inside the commit
  • keep a settings file without an appearance unsaved
  • quote non-identifier keys in printed values, as mongosh does
  • stop single-line fields recursing on multi-line text
  • save the first appearance change after a fresh install
  • make cls and the banner update survive the session watcher
  • print getIndexes() as index specs, not names wrapped in objects

MQLens v0.20.1

mqlens-v0.20.1

Fixes

  • count only Conventional Commits breaking markers as a major bump
  • give each panel group its own id so kept-alive tabs don't share a layout (#392)

MQLens v0.20.0

mqlens-v0.20.0

Features

  • persist uncaught frontend errors to a crash log (#379) (#381)
  • let a connection be tried before it has to be saved (#364)

Fixes

  • bump sharp, svgo and js-yaml past open security advisories (#388)
  • bump @tauri-apps/plugin-updater to 2.11.0 to match the Rust crate
  • narrow the live-profile retarget race on save (part of #371) (#384)
  • contain a tab render crash instead of blanking the app (#379) (#380)

MQLens v0.18.1

mqlens-v0.18.1

Fixes

  • resolve a managed mongosh for scripts, and cap their output (#360)
  • rescroll to the active match when the console comes back
  • copy a runnable prompt line, and hand off focus on keyboard tab activation
  • hand focus to the grid's registered root, not the wrapper around it
  • hold the selected match, mark real offsets, and focus the chosen tab
  • scope the console find target, and hold the match when output lands
  • register the whole console pane, and highlight what find counts
  • let the console be selected, copied and searched
  • run a pasted script as a program, not as typed input

MQLens v0.18.0

mqlens-v0.18.0

Features

  • keep recently used tabs mounted, budgeted per kind (#345)
  • give each tab its own document edit
  • show what a local agent ran, and let it use MQLens's own tools (#313)
  • show the model's thinking, attach images, pick provider and model in the composer (#309)
  • any OpenAI/Anthropic-compatible provider or local CLI, plus MCP agent instructions (#283) (#308)

Fixes

  • ask for an external client's write wherever the user is (#354)
  • keep the server enabled, on its port, with its token across restarts (#353)
  • keep the grid mounted across a run (#347)
  • keep the auth database and mechanism when reopening a connection (#351)
  • run scripts to completion, and never leave the REPL waiting (#346)
  • run scripts to completion, and never leave the REPL waiting
  • recognise prompts by how they arrive, not how they look
  • match markers by suffix, echo them as expressions, rewrite nothing
  • decide a prompt on the next chunk, and stop only what Stop can stop
  • keep the running command with the session, not the component
  • let a running command outlive the shell that started it
  • stop forwarding a renamed key once it has a shell of its own
  • find a moved command by its identity, not by its key
  • keep every rename edge, since a reused key can be renamed again
  • keep table column widths across a query run
  • list collections from servers that answer with less detail (#332)
  • make select-all a selection the page can actually see (#331)
  • make copying the JSON view yield what was selected (#330)
  • guard the tab switches by value, not by a one-shot flag
  • return to Results when a run loads documents
  • stop the explain tab reopening on every later run
  • follow OS mode changes, and keep rename its own colour
  • give the global Monaco themes a single owner
  • theme the editor from config, and put status colours on tokens
  • stop every keystroke re-rendering the results grid (#321)
  • copy every row on select-all, not just the mounted ones
  • measure selection boundaries that land on an element
  • trim a rebuilt copy to the characters actually selected
  • copy the whole JSON selection, not just the last screenful (#319)
  • keep 64-bit integer literals exact instead of rounding them (#318)
  • accept mongosh syntax in the filtered export query (#316)
  • run regex queries carrying a /g flag instead of rejecting them (#315)

MQLens v0.17.0

mqlens-v0.17.0

Features

  • find within the loaded results with Cmd/Ctrl+F (#279) (#280)
  • durable local activity logging (#272) (#274)
  • add persistent tab colors
  • improve collection tab identification
  • add Simplified Chinese (#265)
  • let a locale have its own script and its own plural forms

Fixes

  • keep a reason when a refused rotation leaves auditing inactive
  • unwind a failed append, and hold the lock through key rotation
  • handle russh 0.63's widened host-key callback
  • replace deprecated Array::from_slice, and unit-test the crypto
  • patch 6 Rust advisories, pin the last actions, drop the blanket write
  • keep the Gemini key out of the URL and bump nanoid
  • share the grid's syntax colours with the document editor (#278)
  • apply field-level updates so a projected edit keeps other fields (#275) (#276)
  • let the Query field show the whole query
  • let a catalog carry an exact-zero plural override
  • guess nothing from an undetermined language tag
  • survive a device tag that names no language
  • parse language tags instead of guessing subtags by length
  • reach a Chinese catalog from a bare tag, and check the forms only one language has

MQLens v0.16.2

mqlens-v0.16.2

Fixes

  • keep MongoDB's object names in German (#261)

MQLens v0.16.1

mqlens-v0.16.1

Fixes

  • stop every packaged query failing on an undefined parser

MQLens v0.16.0

mqlens-v0.16.0

Features

  • live change-stream tail viewer (#190) (#251)

Fixes

  • keep zero-width joiners, and translate our own parse errors (#254)
  • accept queries pasted from a browser, chat or document (#253)
  • dompurify 3.4.12 -> 3.4.13 for a DOM-clobbering XSS advisory

MQLens v0.15.0

mqlens-v0.15.0

Features

  • persist AI Helper history per collection with retention setting (#235)
  • keep the mongosh session alive across tab switches (#241)
  • add Close Tab, Close Others and Close to the Right (#242)
  • persist results view mode and page size per tab (#239)
  • persist results view mode and page size per tab
  • complete German localization (#236)
  • internationalization with English and German (#123) (#234)
  • preserve AI helper chat and open state per tab #221
  • roomier Query field, Options disclosure, and editor text that scales

Fixes

  • stop guessing which conversation a tab wants, and keep chats in their own scope (#246)
  • keep a moved tab's session, and free its pending start on close (#244)
  • patch 8 Dependabot advisories (undici, postcss, russh)
  • keep AI helper replies and panel width across tab switches (#237)
  • explain a handshake close instead of a bare timeout
  • keep table header aligned with the body when columns overflow
  • upgrade russh 0.61 -> 0.62.4 for three SSH client advisories
  • patch 5 Dependabot advisories (postcss, sharp, svgo, dompurify, quinn-proto)
  • copy ObjectId as hex and Date as ISO, not the EJSON wrapper
  • address PR #222 review — precision, non-object gating, quoted-key completion, Buffer
  • overhaul the query bar — shell syntax, smarter editor, cleaner UX

MQLens v0.14.0

mqlens-v0.14.0

Features

  • add uniqueCollectionTabId helper for duplicate collection tabs
  • duplicate collection tab and force-new-tab open path
  • open collection in new tab via menu and double-click

Fixes

  • multiple tabs per collection (#206) (#207)
  • refresh all duplicate collection tabs after import/generate
  • gate cold double-click, rebind export source, guard duplicate parse
  • scroll the tab strip horizontally when tabs overflow

MQLens v0.13.0

mqlens-v0.13.0

Features

  • support multi-URI JSON import/export with folder structure #115 (#201)
  • production safeguards — read-only & confirm-destructive connection modes (#188) (#203)
  • connection mode field on profiles and live connection meta
  • central write guard blocking non-destructive writes on read-only connections
  • typed-name confirmation for destructive ops on safeguarded connections
  • connection mode gates MCP write tools ahead of the confirm gate
  • read-only banner and sidebar mode badge
  • disable write actions in the UI on read-only connections
  • data generation — seed collections with realistic fake documents (#91) (#202)
  • data generation template engine
  • schema-seeded template inference and preview
  • cancellable background generation task over the import insert path
  • generate tab kind with sidebar entry points
  • generate view — builder, preview, confirm, inline progress
  • MCP server — drive MQLens from Claude Code and Cursor (#98) (#200)
  • MCP server lifecycle state and settings commands
  • MCP streamable HTTP endpoint with bearer auth and ping tool
  • per-profile MCP opt-in flag
  • MCP read tools over existing query seams
  • MCP write tools behind explicit _confirm gate
  • Settings MCP panel — toggle, token, client configs, call log
  • detachable windows — multi-window workspace phase 3 (#97) (#199)
  • window-scoped workspace ops — move-to-window, detach, window-closed
  • workspace-changed broadcast and connection-meta registry
  • multi-window event reconciliation — label-aware boot, foreign hydrate, cross-window dedupe
  • detachable windows — spawn, close, move-to-window context menu (#97 phase 3)
  • cross-window connection and pref coherence
  • session restore — workspace persistence with one-click reconnect (#97 phase 2) (#198)
  • workspace store model with camelCase document + snake_case ops
  • workspace reducer in Rust — 1:1 port of the frontend layout ops
  • workspace_get/workspace_apply commands with debounced persistence
  • mirror workspace actions to the backend store with profile-keyed snapshots
  • session restore — workspace wakes disconnected with one-click reconnect (#97 phase 2)
  • split panes — multi-panel workspace phase 1 (#97) (#196)
  • split panes — drag tabs to pane edges, resize, palette commands (#97 phase 1)
  • Cluster Health monitor — replica-set status and replication lag (#114) (#177)
  • replica-set status backend for the Cluster Health tab
  • Cluster Health tab with replica-set members and replication lag
  • cluster-health popover when hovering a connection in the sidebar
  • cluster type (replica set, sharded, standalone) shown in cluster health
  • richer cluster popover — connection, user, read preference, server version, refresh
  • stats popovers for databases, collections, and indexes (#178) (#179)
  • database, collection, and index statistics backend
  • database, collection, and index stat cards
  • stats popovers on database, collection, and index rows
  • index usage stats and ESR index suggestions (#90) (#180)
  • ESR index suggestion from COLLSCAN explain plans
  • index size and usage cards in the index viewer
  • one-click index creation from a COLLSCAN explain suggestion
  • collection validation rules editor (#93) (#182)
  • add collMod command builder for validation rules
  • validation rules editor view
  • add validation rules entry to collection context menu
  • read collection validator and validation level/action
  • apply collection validator via collMod
  • open validation rules tab from sidebar
  • register get_collection_options and set_validator commands
  • side-by-side document diff (#92) (#181)
  • add value equality and kind helpers for document diff
  • diff flat documents into aligned left/right lines
  • recurse into nested objects and arrays in document diff
  • side-by-side document diff modal
  • compare two documents side by side from the context menu
  • side-by-side document diff (#92) (#181)
  • add value equality and kind helpers for document diff
  • diff flat documents into aligned left/right lines
  • recurse into nested objects and arrays in document diff
  • side-by-side document diff modal
  • compare two documents side by side from the context menu
  • collection validation rules editor (#93) (#182)
  • add collMod command builder for validation rules
  • validation rules editor view
  • add validation rules entry to collection context menu
  • read collection validator and validation level/action
  • apply collection validator via collMod
  • open validation rules tab from sidebar
  • register get_collection_options and set_validator commands
  • index usage stats and ESR index suggestions (#90) (#180)
  • ESR index suggestion from COLLSCAN explain plans
  • index size and usage cards in the index viewer
  • one-click index creation from a COLLSCAN explain suggestion
  • stats popovers for databases, collections, and indexes (#178) (#179)
  • database, collection, and index statistics backend
  • database, collection, and index stat cards
  • stats popovers on database, collection, and index rows
  • Cluster Health monitor — replica-set status and replication lag (#114) (#177)
  • replica-set status backend for the Cluster Health tab
  • Cluster Health tab with replica-set members and replication lag
  • cluster-health popover when hovering a connection in the sidebar
  • cluster type (replica set, sharded, standalone) shown in cluster health
  • richer cluster popover — connection, user, read preference, server version, refresh

Fixes

  • guard aggregation $out/$merge and mongosh shell; enumeration cross-check (#188 review)
  • disable Create Index suggestion button on read-only connections
  • retry the tool-install version probe to tolerate transient exec failures
  • enum-seeded $pick preserves the source field's numeric and boolean types
  • clear generate task tracking on completion and close; valid default pick values
  • evict generate task tracking on close_many as well as close_tab
  • builder⇄raw fidelity, run-while-running guard, inline-progress focus (#91 review)
  • explain denylist, agent-connection visibility, constant-time auth (#98 review)
  • seen-gate keyed by connection id — teardown race with concurrent same-profile connects
  • stateless tree-scan id minting — StrictMode-safe, matches the Rust reducer (#197)
  • bystander semantics for foreign events; unmirrored tabs survive reconcile; StrictMode-safe listeners
  • skip empty tab context menu; README detachable-windows bullet
  • main-close quits, connection seeding for new windows, spawn resilience (#97 phase 3 review)
  • explicit null clears persisted tab state fields across the serde boundary
  • mirror ops translate to profile-space ids so the backend store survives real restarts
  • reconnect reuse + no-op mirror gate + workspace.json validation (#97 phase 2 review)
  • no-op mirror gate trial run no longer advances pane id counters
  • empty panes persist across unrelated tab closes
  • tab-strip drops no longer bubble into pane split zones
  • pane-scoped export handlers, foreign-drag guard, palette gating (#97 review)
  • down replica-set members show n/a lag instead of an epoch-sized number
  • sidebar health popover closes on Escape, outside click, and row change
  • cluster-health popover opens at the cursor position
  • cluster popover sizes to content so member hosts are never truncated
  • cluster popover shows the member's real state label and polishes the set-name styling
  • widen the cluster popover card
  • reuse the existing formatBytes helper and extend it past TB
  • remove native title tooltips from sidebar and fix Import URI dropdown z-index
  • ESR suggestions work on real-server $and explains; demoable COLLSCAN in mock
  • index suggestions require a real COLLSCAN and skip non-indexable operators
  • validation rules menu only on real collections; success banner clears on edit
  • validation rules hidden on time-series collections; BSON round-trip regression test
  • re-running a query clears the armed compare selection
  • O(1) container re-tag in the diff engine; open diff survives background refresh
  • document diff compares Timestamp, Long, and Decimal128 exactly instead of via lossy doubles
  • re-running a query clears the armed compare selection
  • O(1) container re-tag in the diff engine; open diff survives background refresh
  • document diff compares Timestamp, Long, and Decimal128 exactly instead of via lossy doubles
  • validation rules menu only on real collections; success banner clears on edit
  • validation rules hidden on time-series collections; BSON round-trip regression test
  • ESR suggestions work on real-server $and explains; demoable COLLSCAN in mock
  • index suggestions require a real COLLSCAN and skip non-indexable operators
  • remove native title tooltips from sidebar and fix Import URI dropdown z-index
  • reuse the existing formatBytes helper and extend it past TB
  • down replica-set members show n/a lag instead of an epoch-sized number
  • sidebar health popover closes on Escape, outside click, and row change
  • cluster-health popover opens at the cursor position
  • cluster popover sizes to content so member hosts are never truncated
  • cluster popover shows the member's real state label and polishes the set-name styling
  • widen the cluster popover card

MQLens v0.12.0

mqlens-v0.12.0

Features

  • Cluster Health monitor — replica-set status and replication lag (#114) (#177)
  • replica-set status backend for the Cluster Health tab
  • Cluster Health tab with replica-set members and replication lag
  • cluster-health popover when hovering a connection in the sidebar
  • cluster type (replica set, sharded, standalone) shown in cluster health
  • richer cluster popover — connection, user, read preference, server version, refresh
  • stats popovers for databases, collections, and indexes (#178) (#179)
  • database, collection, and index statistics backend
  • database, collection, and index stat cards
  • stats popovers on database, collection, and index rows
  • index usage stats and ESR index suggestions (#90) (#180)
  • ESR index suggestion from COLLSCAN explain plans
  • index size and usage cards in the index viewer
  • one-click index creation from a COLLSCAN explain suggestion
  • collection validation rules editor (#93) (#182)
  • add collMod command builder for validation rules
  • validation rules editor view
  • add validation rules entry to collection context menu
  • read collection validator and validation level/action
  • apply collection validator via collMod
  • open validation rules tab from sidebar
  • register get_collection_options and set_validator commands
  • side-by-side document diff (#92) (#181)
  • add value equality and kind helpers for document diff
  • diff flat documents into aligned left/right lines
  • recurse into nested objects and arrays in document diff
  • side-by-side document diff modal
  • compare two documents side by side from the context menu

Fixes

  • down replica-set members show n/a lag instead of an epoch-sized number
  • sidebar health popover closes on Escape, outside click, and row change
  • cluster-health popover opens at the cursor position
  • cluster popover sizes to content so member hosts are never truncated
  • cluster popover shows the member's real state label and polishes the set-name styling
  • widen the cluster popover card
  • reuse the existing formatBytes helper and extend it past TB
  • remove native title tooltips from sidebar and fix Import URI dropdown z-index
  • ESR suggestions work on real-server $and explains; demoable COLLSCAN in mock
  • index suggestions require a real COLLSCAN and skip non-indexable operators
  • validation rules menu only on real collections; success banner clears on edit
  • validation rules hidden on time-series collections; BSON round-trip regression test
  • re-running a query clears the armed compare selection
  • O(1) container re-tag in the diff engine; open diff survives background refresh
  • document diff compares Timestamp, Long, and Decimal128 exactly instead of via lossy doubles

MQLens v0.11.0

mqlens-v0.11.0

Features

  • distinct sidebar icon for time-series collections (#137)
  • guided mongosh detection on the shell's failure card
  • SSH tunnel authentication via the system ssh-agent

Fixes

  • mongosh detection cannot hang on a wedged binary; re-picking the configured path retries the session
  • detect fake-tool spawn via any post-Starting message, not phrase matching
  • tool tasks complete promptly when a grandchild holds the stderr pipe

MQLens v0.10.0

mqlens-v0.10.0

Features

  • import and export connection URIs via clipboard or file with secret redaction
  • dump and restore tabs with guided MongoDB tool setup and managed installs
  • improved import export (#164)
  • BSON and NDJSON file import and export
  • export filtered query results (find filter or aggregation) (#158)
  • complete GridFS upload, delete, and bucket management (#156)
  • copy databases and collections across clusters or between databases

Fixes

  • pinned-item auto-connect no longer dead-ends before profiles load
  • purge dead processes from the resource monitor's retained sysinfo System

MQLens v0.9.1

mqlens-v0.9.1

Fixes

  • run query on Enter and fix completion quote insertion

MQLens v0.9.0

mqlens-v0.9.0

Features

  • add keyboard shortcuts reference in Settings (#132)
  • show UI zoom percentage in footer status bar

Fixes

  • graceful updater offline behavior and connectivity feedback (#133)
  • avoid hard-coded test passwords in user management tests
  • add per-connection color tags with preset and custom picker
  • preserve per-tab query editor state when switching collections
  • reset query editor when switching collection tabs
  • add sidebar search shortcut
  • resolve CodeQL findings and document glib advisory
  • use Node 22 for Astro 6 website builds

MQLens v0.8.0

mqlens-v0.8.0

Features

  • theme system, sidebar organization, and shell refresh (#116)
  • SEO hardening — short titles, richer OG and structured data

Fixes

  • render release-note markdown in the update dialog

Looking for older or pre-release builds?See all releases on GitHub →