Monghoul 1.14.0
This release is about how your collections connect, and using those connections while you query. The new Database Map scans a database, draws the references between its collections and can check each one against real values. On a scanned database, a result links to the document an id names, and autocomplete offers whole $lookup stages. The Schema view counts types and presence exactly and keeps the values you edit, and the sidebar refreshes from the row and says why a list is empty. Most fixes are to Escape, the aggregation builder and the log windows. There is nothing to do before you update.
Highlights
- Database Map — A new tab draws a database's collections and the references between them, with the evidence for each, and can check them against sampled values.
- Follow references from query results — On a scanned database, click a reference in a result to open its document beside it, and follow that document's references the same way.
- Autocomplete offers whole
$lookupstages — Once a database is scanned, related collections and their join fields come first, and each reference is offered as a complete stage. - Schema value edits are no longer lost — A new analysis keeps the values you added or removed, and the Schema view counts types and presence exactly.
- Refresh from a sidebar row — Hover a connection, database, collection or indexes row to refresh it and see when its list was last checked.
- Escape closes the innermost popup first — A suggestion list, menu, confirmation or code editor's find box closes alone, and the dialog under it stays open.
New
- Database Map — A tab that draws a database's collections and the references between them, shows the evidence for each, and can check them against sampled values before you confirm or dismiss them.
- Pro shows changes between Database Map scans — Pro keeps each scan's fields, so the map lists the collections, fields and types that are new since an earlier scan.
- Export the map — Save the Database Map as a PNG or SVG in any theme, a Mermaid ER diagram, a Markdown data dictionary or JSON, each with every field.
- Follow references from query results — On a scanned database, click a reference in a result to open its document beside it, and follow that document's references the same way.
- Fix a missing reference from results — Right-click a field to confirm the reference the scan guessed or to add one, even on a database never scanned, and its link appears at once.
- Autocomplete offers whole
$lookupstages — Once a database is scanned, autocomplete lists related collections and their join fields first, and offers each reference as a complete$lookupstage. - Detection rules are saved with the collection — The Schema view's Detection rules tab sets which fields get detected values, and every later analysis of the collection follows those rules.
Improved
- Refresh from a sidebar row — Connection, database, collection and indexes rows show a refresh button on hover that says when the list was last checked, and F5 refreshes the focused row.
- The sidebar says why a list is empty — A connection's icon shows whether it is open, and an open connection or database with nothing to show says it is empty, hidden by the filter or failed to load.
- The result export menu stays out of the way — Each format is one line with its note under the scope it explains, and the menu no longer covers a confirmation, runs off a short window or leaves fullscreen.
- Schema counts and types are exact — Each type shows its share, presence is an exact count, Int32, Double and Long are named apart, only mixed types are flagged, and array fields such as tags get values.
- Find and use a field — Filter the schema by name, type or value, see which fields are indexed, and copy a field's path or insert it into the query.
- Schemas stay fresh — With automatic analysis on, a referenced collection is re-analyzed once its schema is a day old or Monghoul wrote to it, and the Schema view says when it may have changed.
- The editor's schema strip — It sits under the editor instead of over the code, can be dismissed, and opens the Schema view.
- Long tasks show one Cancel button — Imports, exports, copies and data generation show their progress and one Cancel button that names the task it stops.
- Cluster Monitor trend lines lose their false shading — The shading under each line started at the lowest value rather than zero, so a steady metric looked as full as a busy one; the lines now stand alone.
Accessibility
- The tree's menus work from the keyboard — Shift+F10 or the Menu key opens the focused row's menu, and Right and Left move into and out of a branch.
- The result panel works from the keyboard — The export menu takes the focus and moves with the arrow keys, and on a narrow panel Enter or Space opens the view menu, which names the current view.
- Screen readers name switches and field errors — A switch that hides part of the interface reads the feature it hides, and a field's error, such as Create Index's partial filter, is read with the field.
- Controls and focus are easier to see — Small controls such as the zoom steps and command palette filters have the control outline, a menu's current row is readable in every theme, and only the focused segment shows a ring.
- The Operations pickers work from the keyboard — The duration filter, the profiler's database picker and its export menu now close on Escape, move with the arrow keys and are named for screen readers.
- Reduced motion stops two more animations — With reduced motion turned on, the explain view's loading shimmer and the slide-in of empty screens now stay still.
- Copy support details from the keyboard — Settings has a Copy support details button, so the device ID that licence support needs no longer takes seven clicks on the footer version.
- The first stage you add gets the keyboard focus — Adding the first stage to an empty pipeline puts the focus in its editor, where it used to drop to the page.
Fixed
Sidebar
- The sidebar's lists stay current — Opening a row checks its list again when it is over five minutes old, so a collection made outside Monghoul appears without a refresh, and a row closed while loading stays closed.
Results
- Older query results no longer replace newer ones — Running a query again while it is still running stops the previous run, and the newer result stays on screen.
Schema
- Schema value edits are no longer lost — A new analysis from the editor, an assistant or the Database Map keeps the values you added or removed, and an edit no longer makes the schema look freshly analyzed.
- Missing fields are no longer marked "required" — A field absent from one sampled document in 500 was shown as required, and the sidebar card counted nested fields against the whole sample.
- Autocomplete keeps null and nested field types — A field that is sometimes an object and sometimes null is typed as both, and fields past two levels of nesting have their types.
- Background analysis failures no longer show an error — With the sample size set to 100 or 500, a failed automatic analysis showed an error message.
Tabs
- Cluster Monitor keeps updating behind other tabs — Its graphs keep updating and its tab keeps the spinner while another tab is active, where polling used to stop and leave a gap.
- Upgrading from before 1.7.0 keeps tabs working — The first launch after such an upgrade could not open, switch or search tabs until the app was restarted.
Menus
- Menus stay inside the window and show long names — A menu near the right or bottom edge keeps its last row in view, and hovering a cut-off name in a dropdown, select list or menu shows all of it.
Dialogs
- Escape closes the innermost popup first — A suggestion list, select, menu, tip, confirmation or code editor's find box inside a dialog now closes alone, where Escape closed the whole dialog and its form.
- Dialogs stay open while their task runs — Escape and the × no longer close a dialog whose task is still running, such as an import, and its Cancel button stops the task.
- Escape steps back one thing at a time — It cancels a shortcut being recorded in the Hotkeys window and clears the selection in Operation Logs and AI Activity, where it used to close the window.
Operation Logs and AI Activity
- "View in AI Activity" says when the lookup failed — It said "That call is no longer in AI Activity" for any error, even when the call was still there.
- AI Activity keeps its scroll position and connection — The list keeps its place when another window covers it, and each row shows its connection and database again.
- Entries from the same second are listed newest first — Work logged within one second showed in a random order in Operation Logs, and on the free tier the newest of it could fall outside the 250-entry window.
Export
- A failed query export no longer stops the server — A query export that fails on its first batch reports the query's error, where on Linux it could stop Monghoul's background server.
Aggregation builder
- Builder edits made while switching to code are kept — A stage edit made while the builder was switching to the code editor was replaced by the code from before that edit.
- The builder keeps the code around the pipeline — An edit no longer deletes an options argument or the code around the pipeline, a
.toArray()pipeline opens with its stages, and code the builder cannot read gets a warning first.
Themes
- Ctrl/Cmd+S saves in the theme editor — With a query tab open, the shortcut saves the theme instead of formatting the query behind the editor.
- Deleting another theme keeps your active theme — Deleting a theme you were not using switched the app to Monghoul Dark; your active theme now stays.
Footer
- The whole Settings button opens Settings — A click on the version number in the footer's Monghoul button now opens Settings too.
For MCP client authors
analyze_schemareturns counts and keeps the cap — It returns type counts and presence per field, keeps the user's value edits, and samples at most 500 documents on Free, as the app does.- Six Database Map tools — Read a database's references and findings, start a scan, open the tab, get the
$lookupchain between two collections, and confirm, dismiss or add a relationship. - Palette-only themes use the palette's colours —
create_themegiven a palette alone kept the default green accent and dark background; the four core colours now come from the palette, and older themes keep theirs. - Theme tools keep the generator's choices —
create_themeandupdate_themekeep a palette'sstyle,harmony,accent,temperatureandhighContrast, andget_theme_schemalists them.
Downloads for v1.14.0
Installers published with this release. The current version is v1.14.1.