Skip to content
Monghoul
What's new

Monghoul 1.14.0

View on GitHub

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 $lookup stages — 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 $lookup stages — Once a database is scanned, autocomplete lists related collections and their join fields first, and offers each reference as a complete $lookup stage.
  • 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_schema returns 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 $lookup chain between two collections, and confirm, dismiss or add a relationship.
  • Palette-only themes use the palette's colours — create_theme given 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_theme and update_theme keep a palette's style, harmony, accent, temperature and highContrast, and get_theme_schema lists them.

Downloads for v1.14.0

Installers published with this release. The current version is v1.14.1.