Releases: ByteExceptionM/MongoBench
Release list
v1.5.0
✨ New
-
A password generator where you actually need one. Creating a database user meant leaving MongoBench, generating a password somewhere else, and pasting it back. The password field in the create/edit user dialog now has a wand next to it: click it and — if the field is still empty — a password is there immediately, along with a panel to shape it. Length is a slider from 8 to 128, 24 by default, and the four character classes (lowercase, uppercase, digits, symbols) toggle independently, with the last enabled class held so you can't generate from an empty alphabet. Regenerate and copy sit next to the result.
Every character comes from
crypto.getRandomValues, drawn with rejection sampling rather than% length— the modulo shortcut quietly biases the low end of the alphabet, which is not a property you want in a credential. The generator also guarantees at least one character from each enabled class and then Fisher-Yates shuffles the whole string, so those guaranteed characters don't land at predictable positions the way "first character is always uppercase" schemes do. -
The index editor knows your field names. Creating an index used to mean typing
field.pathfrom memory and finding out you'd misspelled it only once the index came back describing a field nothing uses. The key-field input now completes against the collection itself: it samples up to 50 documents, walks them up to five path segments deep, and offers the distinct dot-notation paths it finds. Tab or Enter accepts the highlighted suggestion, the arrow keys move through the list, and Escape closes the list without closing the dialog behind it. Typing filters by substring, with prefix matches sorted first.Two details the walk gets right, because indexes do too: array elements share their parent's path rather than inventing
tags.0, and relaxed-EJSON type wrappers —{ $oid },{ $date }and friends — are recognised as values instead of being descended into as though they were subdocuments. Sampling is best-effort; an empty collection or a failed read just means no suggestions, never a blocked dialog.
🔧 Maintenance
- Lockfile caught up with the declared ranges. Around 160 packages moved to their current releases — Electron 42.8.1 → 42.9.0, the MongoDB driver 7.2.0 → 7.5.0,
bson7.2.0 → 7.3.2,@tanstack/react-query5.100.9 → 5.101.4, the Radix UI primitives, Rollup 4.60.3 → 4.62.4, Vitest 4.1.5 → 4.1.10, typescript-eslint 8.59.2 → 8.67.0. Nothing inpackage.jsonchanged: no dependency was added, removed, or re-pinned, and every move stayed inside the ranges it already declared. - Formatting churn from Prettier 3.9. That refresh included Prettier 3.8.3 → 3.9.6, which breaks long union types differently than 3.8 did. Seven files appear in the diff for that reason alone. No behaviour changes hide in there.
📦 Downloads
| Platform | File |
|---|---|
| Windows (x64) | MongoBench-Setup-1.5.0-x64.exe — NSIS installer, per-user, no admin |
| Linux (x64) | MongoBench-1.5.0-x86_64.AppImage — chmod +x and run |
| Arch | paru -S mongobench-git / yay -S mongobench-git, or the PKGBUILD in packaging/arch/ |
Builds are unsigned. On first launch on Windows you'll see SmartScreen — click "More info → Run anyway".
🔄 Updating
Coming from 1.4.0, MongoBench offers this release itself — a toast on start, one click to download, Restart now when it's finished. Otherwise download the installer above and run it over your existing installation; your saved connections and settings are preserved.
Full Changelog: v1.4.0...v1.5.0
v1.4.0
✨ New
-
SSH tunnels, built in. A connection can now reach a cluster that is only routable from a jump host, without forwarding ports in a separate SSH client first. Authenticate with a private key (plus passphrase), a password, or the SSH agent your machine already runs. Key files are referenced by path and read in the main process at connect time, so the key itself is never copied into MongoBench's config; passwords and passphrases go into the same OS keystore as your MongoDB password (DPAPI on Windows, libsecret on Linux). Host keys are checked against your own
~/.ssh/known_hostsfirst — a host that neither it nor MongoBench has seen before is pinned on first use and itsSHA256:fingerprint surfaced so you can compare it against the server. A key that changes later is a hard failure, not a warning.The tunnel is a loopback SOCKS5 proxy over the SSH session rather than a single forwarded port, and that distinction is the point: the whole replica set works. The driver runs its own topology discovery and then dials the members the server names back — with one forwarded port those names get resolved locally, which is why exactly one host used to be reachable. Through a SOCKS5 proxy they travel by name and are resolved on the SSH server's side, so the connection string lists the hosts exactly as the SSH server sees them.
mongodb+srv://is the one exception, since its DNS lookup still happens locally; usemongodb://with explicit hosts for a private cluster. And if a tunnel dies, the connection on top of it is torn down and the sidebar says so, rather than leaving a connection that only looks alive. -
Updates on your terms. MongoBench now tells you when a new release exists, and nothing happens without a click. On start it asks GitHub what the latest version is and downloads nothing. If something newer is out, a toast appears — louder or quieter depending on how far behind you are (major, minor, patch). Clicking it downloads the installer with a live progress bar, and Restart now hands off once that finishes. Builds are unsigned, so an app that silently replaces its own binary is not something worth shipping, and an installer starting up while you are mid-query is indistinguishable from a crash.
📦 Downloads
| Platform | File |
|---|---|
| Windows (x64) | MongoBench-Setup-1.4.0-x64.exe — NSIS installer, per-user, no admin |
| Linux (x64) | MongoBench-1.4.0-x86_64.AppImage — chmod +x and run |
| Arch | paru -S mongobench-git / yay -S mongobench-git, or the PKGBUILD in packaging/arch/ |
Builds are unsigned. On first launch on Windows you'll see SmartScreen — click "More info → Run anyway".
🔄 Updating
Coming from 1.3.x, download the installer above and run it over your existing installation — your saved connections and settings are preserved. From this release on, MongoBench checks for updates itself and offers to install them.
Full Changelog: v1.3.1...v1.4.0
v1.3.1
🔧 Maintenance
- Dependencies refreshed across the board. Electron 42.0.0 → 42.8.1, Vite 7.3.2 → 7.3.6, electron-builder 26.8.1 → 26.15.3, electron-updater 6.8.3 → 6.8.9, and a long tail of transitive packages —
dompurify,js-yaml,undici,tar,postcss,esbuild,form-data,tmp,brace-expansion— pulled up to their current releases. The lockfile had drifted about three months behind what the declared version ranges already allowed, so this mostly just catches it up and picks up the upstream fixes that came with it. Nothing about how the app behaves changes. - Least-privilege CI. The GitHub Actions workflow now declares
contents: readas its default. Only the release job widens that tocontents: write, and only to upload the assets below.
📦 Downloads
| Platform | File |
|---|---|
| Windows (x64) | MongoBench-Setup-1.3.1-x64.exe — NSIS installer, per-user, no admin |
| Linux (x64) | MongoBench-1.3.1-x86_64.AppImage — chmod +x and run |
| Arch | paru -S mongobench-git / yay -S mongobench-git, or the PKGBUILD in packaging/arch/ |
Builds are unsigned. On first launch on Windows you'll see SmartScreen — click "More info → Run anyway".
🔄 Updating
Download the installer above and run it over your existing installation — your saved connections and settings are preserved.
v1.3.0
✨ New
- Insert many documents at once. The insert dialog is no longer one document at a time — paste them separated by newlines, separated by commas, or as a single JSON array, and they all go in through one
insertManyround-trip. A newparseMongoDocumentspass over the shell-syntax parser splits the input into individual documents while keeping every helper the editor already understood:ObjectId("…"),ISODate("…"),NumberLong("…"), UUID/JUUID, regex literals, unquoted keys, trailing commas, comments. Button and toast count for you — Insert 42 documents → Inserted 42 documents. Up to 10,000 documents per call, each validated as an object before anything is sent. - Collections sorted A–Z. The sidebar showed collections in whatever order
listCollectionsreturned them, which in practice is creation order. They are now sorted alphabetically, so a database with forty collections is actually scannable. - AUR install documented. MongoBench is on the AUR —
paru -S mongobench-gitoryay -S mongobench-git. The PKGBUILD underpackaging/arch/stays for manual builds.
📦 Downloads
| Platform | File |
|---|---|
| Windows (x64) | MongoBench-Setup-1.3.0-x64.exe — NSIS installer, per-user, no admin |
| Linux (x64) | MongoBench-1.3.0-x86_64.AppImage — chmod +x and run |
| Arch | paru -S mongobench-git / yay -S mongobench-git, or the PKGBUILD in packaging/arch/ |
Builds are unsigned. On first launch on Windows you'll see SmartScreen — click "More info → Run anyway".
🔄 Updating
Download the installer above and run it over your existing installation — your saved connections and settings are preserved.
Full Changelog: v1.2.0...v1.3.0
v1.2.0
✨ New
- Way denser connection dashboard. The Overview tab now opens with an 8-tile KPI strip — ops/s, net/s, connections, cache hit, resident memory, document totals, storage, uptime — each with a live value, detail line, and sparkline where it makes sense. A new Server card lists host, version, process, storage engine, database count, total + largest, and a Workload mix card shows the per-op-type share of the most recent sample as a stacked bar.
- Six operation tiles instead of four.
getmoreandcommandwere previously invisible on the Operations / second card; now all six op types get their own tile, each with the live rate, sparkline, and cumulative total since startup. - Real Health tab. New Database breakdown card (counts, empty count, total + average size, largest, per-database bars) and Operation counters card (cumulative since uptime with proportional bars). Asserts gains the
rolloversfield that mongod also exposes.
🛠 Fixes
- Dashboard subtitle no longer leaks the full mongod binary path on systems where the launcher passed an absolute path as
argv[0](most visiblymongodb-memory-server).serverStatus.processis now reduced to its basename — you seemongodinstead of a filesystem path. - Latest-release badge in the README rendered "invalid" because of a shields.io quirk with the query-param order; reordering fixes it.
📦 Downloads
| Platform | File |
|---|---|
| Windows (x64) | MongoBench-Setup-1.2.0-x64.exe — NSIS installer, per-user, no admin |
| Linux (x64) | MongoBench-1.2.0-x86_64.AppImage — chmod +x and run |
| Arch | PKGBUILD shipped in the repo (packaging/arch/) |
Builds are unsigned. On first launch on Windows you'll see SmartScreen — click "More info → Run anyway".
🔄 Updating
Download the installer above and run it over your existing installation — your saved connections and settings are preserved.
Full Changelog: v1.1.0...v1.2.0
1.1.0
✨ Features
- Multi-connection sidebar with drag-to-reorder, context menus, live status dots, and per-connection collapse state
- Command palette (Ctrl+K / Cmd+K) with fuzzy subsequence search across every connection, database, and collection — picking a result expands the sidebar and scrolls the target into view
- Connection dashboard with server stats, latency graphs, ops/sec, top-15 storage breakdown pie, and history charts with hover crosshairs
- Three query modes per tab — Simple (filter/projection/sort), Aggregation pipeline editor, and a Shell editor that parses
db.coll.find().limit()style commands - Document CRUD with optimistic-concurrency hash precondition, Monaco-based editor, EJSON view (relaxed/canonical), and duplicate flow
- Index management — create/drop with full options surface (TTL, partial filter, collation, weights, 2dsphere, wildcard)
- User management — per-database create/update/drop with role editor
- Cross-collection ObjectId lookup from the table context menu — jump from any document to where its referenced ObjectId lives
- Authorized-only mode — toggle on a connection to list only the databases and collections the connecting user actually has privileges on
- UUID handling — client-side
uuidEncodingdecoder (default and Java legacy) so subType 03 binaries display as proper UUIDs - Field-name autocomplete in filter/projection/sort, always-on
- Geist Variable UI font, custom Monaco theme matching the app palette
📦 Downloads
| Platform | File |
|---|---|
| Windows (x64) | MongoBench-Setup-1.1.0-x64.exe — NSIS installer, per-user, no admin |
| Linux (x64) | MongoBench-1.1.0-x64.AppImage — chmod +x and run |
| Arch | PKGBUILD shipped in the repo (packaging/arch/) |
Builds are unsigned. Windows SmartScreen will prompt "More info → Run anyway" on first launch.
🔌 Compatibility
- MongoDB 4.4+
mongodb://andmongodb+srv://URIs- SCRAM-SHA-256 / SCRAM-SHA-1 / DEFAULT auth
- TLS,
directConnection,replicaSet,readPreference, pool sizing, andserverSelectionTimeoutMSconfigurable per connection
Full Changelog: https://github.com/ByteExceptionM/MongoBench/commits/v1.1.0