Skip to content
Monghoul
What's new

Monghoul 1.5.0

View on GitHub

Explain View

  • Compare candidates — a new button in the Rejected Plans section re-runs the explain with allPlansExecution verbosity and surfaces per-plan stats (Returned / Docs / Keys / time) under each rejected plan.
  • Recursive sub-pipeline rendering$facet, $unionWith, and $lookup stages now render their inner pipelines inline as collapsible sub-blocks instead of a single opaque node, recursing all the way down.
  • Smarter index suggestions$lookup suggestions 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$lookup index 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_HASH splits.
  • 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 examined without expanding any section.
  • Collapsible JSON — long filters, accumulators, and $search queries are now collapsible instead of monospace walls.
  • Clean index boundsindexBounds entries 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 constructorsBinData, UUID, Timestamp, MinKey, MaxKey, and DBRef now work at runtime, not just in autocomplete.
  • Shell helpersprint, printjson, tojson, and sleep(ms) are now available in query tabs.
  • Accurate number-constructor hintsNumberLong, NumberDecimal, and Decimal128 autocomplete now matches what actually exists at runtime.
  • Fresh library types — autocomplete for faker, luxon, dayjs, and lodash is driven by real installed .d.ts files, so newer methods appear and removed ones are gone.
  • Richer BSON value typesObjectId, Binary, Long, Decimal128, Timestamp, UUID, and DBRef values show the full class API on hover.
  • UUID fields typed correctly — schema-analyzed UUID fields are now typed as the UUID BSON class, not string.
  • Web APIs at runtimeURL, URLSearchParams, fetch, crypto, TextEncoder/Decoder, atob/btoa, and Blob now work in query tabs.
  • Cancellable scripts — a new abortSignal global lets you cancel user-owned async work (e.g. fetch) when you click Stop.
  • Zod and BSON globalsz (Zod v4) for runtime validation and BSON for Extended JSON round-trips are now available with full autocomplete.
  • Lodash/fp and toEJSON()_fp exposes curried lodash, and toEJSON() gives Extended JSON output as a string.
  • Console output panelconsole.log/warn/error and print calls 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.