What's new
Monghoul 1.10.0
This release is mostly about AI access — letting an assistant work with your databases without letting it work unsupervised. You choose what it can reach before you switch it on, anything permanent stops and asks you first, and everything it has done is kept in a trail you can read after a restart. A query an assistant writes opens in an ordinary tab, so you can read and edit it before it runs. The rest of the release went to Ctrl+K, which now previews what you are about to open, to dragging tabs into splits, and to keyboard and screen-reader support across the app. Servers older than MongoDB 4.4 no longer connect, so check yours before you update.
Highlights
- You choose what an assistant can reach — In AI Access you pick the connections, the tool groups and the individual tools it may use. A new setup starts with nothing selected.
- Permanent actions stop and ask — Deleting a connection, copying a database or running query code waits for your approval, names what it will touch, and declines itself if you ignore it.
- An assistant's query opens in a tab — Read it, edit it, and approve exactly what is on screen. Declining leaves you an ordinary tab to keep working in.
- A trail of everything an assistant did — The AI Activity window keeps the newest 1,000 calls with their arguments, outcomes and your decisions, and survives a restart.
- Ctrl+K shows what you are about to open — A preview pane beside the list, plus
>for commands,@to jump to a collection and#to a database. - Drag a tab to an edge to split — The half the new panel will take is previewed and named before you let go.
- Bold text is bold again — Every font weight in the app had been rendering as normal, so headings, labels and buttons all came out without emphasis.
Before you update
- Two actions start asking for approval — Saving or testing a connection now counts as reaching your databases. Neither destroys anything, but both dial, and store credentials for, an address the assistant supplied.
- MongoDB 4.2 and older servers are no longer supported — The MongoDB driver Monghoul ships was updated, and it refuses a server below 4.4, so connecting to one now fails with an error instead of opening.
New
- Permanent actions ask first — Monghoul sorts every tool into read, reversible or permanent, and the permanent ones wait for your approval. Reads always run, and reversible changes are allowed by default.
- AI Access sets what an assistant can reach — Its settings open as a three-step flow: pick the connections and tools an assistant may reach, copy its configuration, start access. A new setup starts with nothing selected.
- The AI panel — A panel docked beside your workspace holding what is waiting for your decision, a live feed of what an assistant is doing, and which assistants are connected.
- An assistant's query opens in a tab — The tab names what is waiting, and approving runs exactly what is on screen at that moment. Declining leaves you an ordinary tab.
- An AI Activity window — The newest 1,000 calls an assistant made, filtered by tool, outcome, connection or time and kept across restarts, with links to the operation log and the tab a call opened.
- A write-protected connection needs an override — An assistant's request against one always asks, whatever your permissions say, and Approve stays unavailable until you separately tick the override beside it.
- Allow a tool for the rest of a session — Approving the fourth clone in a row means "stop interrupting me", not "you may do this forever". The grant ends with the assistant and never reaches disk.
- You choose what the trail keeps — By default it records the connection, the collection and the query text, credentials redacted. A metadata-only level drops the query text for anyone whose queries carry values.
- Drag a tab to an edge to split — Rest on the left, right, top or bottom edge and the panel divides, with the side you aimed at previewed and named before you let go.
- Ctrl+K previews what you will open — The pane beside the list shows a tab's code, a collection's size and indexes, or a database's collections, and Ctrl/Cmd+Y hides it.
- Ctrl+K runs commands and jumps by prefix — Type
>for keyboard commands,@for a collection or#for a database, and the footer lists what the selected row can do. - AI-authored work is marked — A tab an assistant opened carries a badge in the tab strip and in a detached window's titlebar, and a notification it sends is marked as its own.
Improved
- Permissions replace the Review Mode switch — One row per kind of change instead of a single toggle: changing the workspace, deleting things in Monghoul, and reaching your databases are each Ask first or Allow.
- Switch off one tool, or a whole group — A tool you switch off is refused if an assistant asks for it, including one already connected, and any single tool can be set to always ask or never ask.
- AI Activity names what a tool touched — Rows for closing a tab, deleting a theme or removing a sidebar entry said only "a tab" or "an item"; they now name it, as the approval card already did.
- It is called AI now, not MCP — The status-bar control says AI, its panel is AI Activity, its settings are AI Access. MCP is still named in the connection snippets.
- A tab's connection colour stays readable — Running a query used to pulse the very dot that names the connection, and selecting a tab tinted the whole thing. Running now sweeps the top edge instead, and selection is one colour everywhere.
- Dragging a tab shows where it will land — A caret marks the slot it will take, the receiving panel dims, and the tab you are holding leaves the strip rather than leaving a hole behind it.
- Notifications appear at the bottom centre — Not the bottom-right corner, which is the far side of the window and the same corner a wide result table puts its scrollbar into.
- Dialogs and forms are consistent — One set of widths and text sizes across every dialog, a text field, a filter box, a multi-line box and the dropdown beside them built the same way, and a disabled field you can still read.
- Generating data reads as a list of fields — Each field's settings sit in their own well, delete is quiet until you point at it, and past eight fields the tree opens collapsed.
- Destructive buttons are red again — The small Delete on the Logs window's selection bar, and the one on a result view's selected rows, had been rendering in the ordinary text colour.
Accessibility
- Bold text is bold again — Every font weight in the app had been rendering as normal, so headings, labels, buttons and emphasis all came out flat.
- Dialogs open in the first field — The cursor used to land on the close button, so the first thing typed into Create Collection went nowhere and Enter closed the dialog.
- The tab strip works from the keyboard — Tab reaches it once, arrow keys move, Delete closes and F2 renames. A screen reader hears one set of tabs with the selected one named.
- Focus rings and control names came back — Checkboxes showed no focus at all when tabbed to, and the AI Access controls and filter boxes across the app announced themselves without saying what they governed.
- Waiting requests are reachable from the keyboard — Mod+Shift+A opens the AI panel on the first request waiting for you, and a new one is announced without taking focus.
Fixed
Workspace and navigation
- Enter opens the best match — Any open tab that matched at all, even loosely, took the selection away from an exact collection match, so Enter opened the wrong thing.
- "Recent" is actually recent — It filled its slots with open tabs first, in the order you created them, so a recently closed tab or a favourite could not appear at all. It is one list ordered by last use.
- A dragged tab lands where you dropped it — Moving a tab to another panel sent it to the end of the strip every time, wherever you aimed. Dropping between two tabs now puts it between them.
- A dragged collection only offers drops that work — Folders lit up and insertion lines appeared for a drag that only ever meant "copy this somewhere", and every one of them swallowed the drop.
- Closing a split panel keeps its tabs — Closing a panel that still held tabs could fail outright and leave the panel open, in any layout built by splitting and closing panels rather than a fresh one.
- Clicking a collection stays where you clicked — The first click into the tree scrolled it to whatever your active tab was on, so a different row slid under the pointer and opened instead.
Query and results
dbis defined the moment a tab opens — The session's first tab could underline its own query withCannot find name 'db'until some other tab loaded a schema.- The tree view keeps your place — Expanding or collapsing left every row below reporting its old position, so clicks landed away from the pointer and your focused row was lost.
- Shortcut hints name a key your keyboard has — The aggregation builder's Undo and Redo and the editor's Format button showed the macOS ⌘ key on Windows and Linux, and a stage's Run button named a shortcut that does not exist.
Generating and copying data
- Generating into a unique index works — A second run rebuilt the first run's values one for one so every insert was rejected, and one collision reported the whole run as failed even when most documents landed.
- A Polygon collection can be generated into — MongoDB refused every generated document before, for Polygon, MultiPolygon and MultiLineString fields alike.
- Copying into a protected connection asks first — A connection you had marked protected accepted a collection copy or a whole database duplicate without a word. Copying out of one is untouched.
Dialogs and windows
- Settings survive a quit made right after the change — Resizing the sidebar, a table column, the tree's key column or the window itself and quitting within half a second lost the change. It is written before the window closes now.
- A failing dialog no longer blanks the window — An error inside any dialog left a blank window with nothing on it, not even a crash screen. The dialog that failed is replaced by a message you can dismiss.
- Reading the pricing keeps what you were doing — The PRO badge opened the License dialog on top of the one you were in, tearing it down, so tapping PRO mid-setup came back to an empty form.
Settings and startup
- Lapsed Pro shows AI access as off — The switch was drawn on over a server that had stopped. It reads off, and says the setting is kept and starts again when Pro is restored.
- The port field can be typed into — It validated on every keystroke, so typing
8080dropped each digit as you went. It commits when you leave the field, and tells you the range. - A port you pinned stays pinned — If the saved port was taken at startup, Monghoul fell back to an OS-assigned one and overwrote your setting with it. It keeps your choice and warns you instead.
- A damaged AI Access setting denies instead of allowing — If the stored list of what an assistant may reach became unreadable, it was treated as "everything". It now reaches nothing until you pick again.
- Deleting the active theme no longer forces dark — It fell back to a dark theme by name, which put a light-mode user in the dark. It now clears the setting and follows your system appearance.
- A damaged setting no longer blocks startup — One stored setting holding invalid data meant the app would not start at all. It falls back to its default now, and a damaged window layout or theme is rebuilt rather than lost.
For MCP client authors
pending_approvalreplacespending_review— The status a query awaiting your approval reports has been renamed. A client matching on the old literal needs updating.- Split tools take a
placement—split_panelandsplit_and_move_tabaccept an optional side for the new panel. get_tab_resultreturnslogsandexplainStats— Anything a query wrote withconsole.logorprintnow comes back, along with the query plan.- Tools honour or refuse their arguments —
execute_queryignoredresultLimiton approval and reported the default back; eight more answered success for input they never applied.
Downloads for v1.10.0
Installers published with this release. The current version is v1.11.0.