What's new
Monghoul 1.5.0
Explain View
- Compare candidates — a new button in the Rejected Plans section re-runs the explain with
allPlansExecutionverbosity and surfaces per-plan stats (Returned / Docs / Keys / time) under each rejected plan. - Recursive sub-pipeline rendering —
$facet,$unionWith, and$lookupstages now render their inner pipelines inline as collapsible sub-blocks instead of a single opaque node, recursing all the way down. - Smarter index suggestions —
$lookupsuggestions now check the target collection's actual indexes and hide when already covered; trailing$sort: { _id: 1 }after transforming stages no longer produces bogus index recommendations; the default_id_index is always treated as present. - Cross-collection suggestion labels —
$lookupindex suggestions targeting another collection are prefixed with↪ collection ·so the destination is impossible to miss. - Copy button on suggestions — every suggested
createIndex(...)command now has a one-click Copy button. - Grade badge tooltip — the COLLSCAN / Indexed / Optimal / OK pill now has a tooltip explaining the threshold that produced it.
- Numbered stages — pipeline stages are prefixed with
#1,#2, … for easy reference. - Full rejected-plan tree — rejected plans now render the complete stage path, including
OR/AND_SORTED/AND_HASHsplits. - Semantic stage colors — red for costly work (
COLLSCAN,$out,$merge), yellow for caution (SORT), green for index-backed stages, neutral for everything else. - At-a-glance meta line — a summary row under the title shows
via index_name · 12 ms · 1,500 examinedwithout expanding any section. - Collapsible JSON — long filters, accumulators, and
$searchqueries are now collapsible instead of monospace walls. - Clean index bounds —
indexBoundsentries no longer show double-escaped quotes. - Log-scaled Data Flow funnel — bar heights use a log scale so small counts aren't squashed next to large ones.
- Efficiency bar threshold ticks — faint tick marks at 30% and 80% show which zone you're in.
App-wide
- OS autocorrect disabled — spellcheck, autocorrect, and autocapitalize are turned off app-wide so connection strings, queries, and other technical input aren't silently modified.
- Window restore fixed — the app now reliably restores your last window size and position on launch, including on secondary monitors.
- Sidecar auth token — the local tRPC server now requires a per-session Bearer token, preventing other processes on localhost from issuing queries against the sidecar.
Sidebar
- Reveal in sidebar scroll — "Reveal in sidebar" now reliably scrolls to the target item.
Editor
- More BSON constructors —
BinData,UUID,Timestamp,MinKey,MaxKey, andDBRefnow work at runtime, not just in autocomplete. - Shell helpers —
print,printjson,tojson, andsleep(ms)are now available in query tabs. - Accurate number-constructor hints —
NumberLong,NumberDecimal, andDecimal128autocomplete now matches what actually exists at runtime. - Fresh library types — autocomplete for faker, luxon, dayjs, and lodash is driven by real installed
.d.tsfiles, so newer methods appear and removed ones are gone. - Richer BSON value types —
ObjectId,Binary,Long,Decimal128,Timestamp,UUID, andDBRefvalues show the full class API on hover. - UUID fields typed correctly — schema-analyzed UUID fields are now typed as the
UUIDBSON class, notstring. - Web APIs at runtime —
URL,URLSearchParams,fetch,crypto,TextEncoder/Decoder,atob/btoa, andBlobnow work in query tabs. - Cancellable scripts — a new
abortSignalglobal lets you cancel user-owned async work (e.g.fetch) when you click Stop. - Zod and BSON globals —
z(Zod v4) for runtime validation andBSONfor Extended JSON round-trips are now available with full autocomplete. - Lodash/fp and
toEJSON()—_fpexposes curried lodash, andtoEJSON()gives Extended JSON output as a string. - Console output panel —
console.log/warn/errorandprintcalls are now shown in a collapsible panel above results.
Downloads for v1.5.0
Installers published with this release. The current version is v1.11.0.