Monghoul 1.12.0
This release is mostly about connections and the credentials they carry. Your operating system now holds the key that encrypts saved passwords, the connection string no longer keeps a password in clear text, and the stored licence key is encrypted too. AWS IAM authentication connects, AWS credentials can come from the machine's own configuration, and a connection can run through a SOCKS5 proxy. Away from connections, every built-in theme takes colours fitted for contrast, write protection now covers creating a database or a collection, and the query editor no longer marks valid aggregation stages as errors. Three changes need a moment before you update.
Highlights
- Credentials are protected by your system keychain — Your operating system holds the encryption key, so a copy of the app database cannot be read on another machine.
- The connection string no longer stores your password — A saved URI kept its credentials in clear text. They are taken out on save and put back on connect.
- AWS IAM authentication works — Connecting with an AWS access key was refused before it reached the server. It connects now.
- AWS credentials can come from the machine — Leave both AWS key fields empty and Monghoul uses the instance role, single sign-on session or AWS profile already configured.
- A connection through a SOCKS5 proxy works — A connection string naming a proxy host connects through it, with a proxy username and password where the proxy asks for them.
- Write protection covers creating, too — Creating a database or a collection inside protected scope went through without a word. It asks first now.
- The Monghoul themes are calmer — The dark theme's brand green, chart series, type colours and JSON syntax are each fitted to a measured contrast.
Before you update
- The free operation-log window is 250 entries in total — Filtering used to reach a further 250 entries for each filter, so the real limit was higher than the stated one. Nothing is deleted, and Pro reads the whole store.
- Markdown notes no longer render embedded HTML — An image or GIF pasted as an
<img>tag stops appearing in the preview. Write it asinstead, which is unaffected. - Saved passwords stay on this device — Your operating system now holds the key that encrypts them, so copying the app's data folder to another machine does not carry the credentials. Re-enter them there and they save normally.
New
- Credentials are protected by your system keychain — Your operating system holds the encryption key, so a copy of the app database cannot be read elsewhere. Without a credential store the older, weaker key is used, and Settings says which applies.
- AWS credentials can come from the machine — Leave both AWS key fields empty and Monghoul uses the instance role, single sign-on session or AWS profile already configured, the way the AWS command line does.
- A connection through a SOCKS5 proxy works — A connection string naming a proxy host connects through it, with a proxy username and password where the proxy asks for them.
- A connection string can forget its password — "Save password" now appears in Connection String mode, and unticking it removes the password from the string and from disk. Monghoul asks for it at connect time instead.
- A favorite query can say what it is for — A favorite carries an optional description, and the command palette shows it beside the name.
- A chart can sort by label or any field — Sort by now offers the category name and any Y field, where sorting used to rank the categories by the first series and nothing else.
- Settings has a place to leave a review — The app menu opens a public discussion thread, and you leave a review as a comment there. Bug reports and feature requests still go to the repository link beside it.
Improved
- Write protection covers creating, too — Creating a database or a collection inside protected scope went through without a word. It asks first now, and declining creates nothing.
- A saved query says when it holds a password — A favorite or a snippet whose text carries a credential warns once when it is saved. The text is stored exactly as written.
- The Monghoul themes are calmer — The dark theme's brand green, chart series, BSON type colours and JSON syntax were fully saturated. Each one is fitted to a measured contrast now, and no two sit on the same hue.
- One side drawer at a time — Opening Settings, AI Activity or the theme editor now closes the other, and a drawer stops at a third of the window.
- An assistant connecting says so — A toast names the client when an assistant connects to your database.
- Generated data matches the field name — A string field called
email,phone,cityoravatarstarts on a matching generator instead of Lorem Ipsum. A name it does not recognise is unchanged. - Kerberos host resolution is its own setting — Filling in a credential cache file used to turn host canonicalization on, and the two are unrelated. The new control defaults to what your connection does today.
- A completion shows the whole field name — Picking a nested field cut its name to fit the type beside it, so
shipping.cityread asshipping.c…. The name is whole now and the type shortens. - The index name field previews the real name — The placeholder shows the name MongoDB will generate, where it used to show a fixed
idx_user_emailthat named a different index. - The find bar marks the match it is on — Every match was drawn the same, so Next moved a cursor you could not see. The current one takes a ring in the search colour now.
- The date helper shows the date it made — The expression is coloured by type like a result row, and a line under it reads the same instant back in the time zone you picked.
Accessibility
- A tab can be reordered from the keyboard — Press Space on a tab to pick it up, the arrow keys to move it, and Space again to drop it. Escape puts it back.
- A custom theme's colours are readable — A theme built in the editor could put a chart series and type labels below the contrast floor, on light backgrounds worst of all. Every derived colour is fitted to it now.
- Editor comments are legible in every theme — A comment in the query editor was below the contrast floor in every built-in theme. Each one keeps its hue and clears the floor now.
- A type label is readable in every theme — The coloured type name beside a value was below the contrast floor in almost every built-in theme. Each keeps its hue and clears it now.
Fixed
Connections
- The connection string no longer stores your password — A saved URI kept its credentials in clear text, both
user:password@hostand options such asproxyPassword. They are taken out on save and put back on connect. - The app database is readable only by its owner — On macOS and Linux the data folder, the database and its write-ahead log used to take the system default.
- AWS IAM authentication works — Connecting with an AWS access key was refused before it reached the server. Export, import, generate and copy work on those connections too.
- Export and import work without a saved password — Export, import, generate and copy never received the password, so every one of them failed to authenticate.
- An Atlas AWS connection string pastes cleanly — The access key arrives in place of the username, and switching to individual fields now puts it in the AWS fields.
- A narrow window no longer hides a dialog's controls — "Create Connection", the Analyze Schema sample sizes and the AI Activity detail header each ran past the dialog's edge. Those rows wrap now.
Licensing
- The stored licence key is encrypted — It and the customer email were plain text in the app database, so a copy of that file carried a key somebody else could activate.
Query editor
- Valid aggregation stages no longer show a syntax error — A stage body with more than one key was underlined in red.
- Only fields are suggested where a field belongs — An object key inside a pipeline listed
XMLHttpRequestEventTargetand the rest of the browser worker scope beside your document's fields. ObjectId(123)is reported where you type it — The editor accepted a number and the query then failed when it ran. UseObjectId.createFromTime(seconds)instead.- "IntelliSense loading..." finishes — The badge above the query editor spun and hid itself without reporting ready, though completions were working the whole time.
AI access
- A refused tool call appears in the activity trail — A request the protocol rejected before any handler ran was recorded nowhere, so an assistant reporting a failure left no row to match it against.
Charts
- A pie label is readable on its slice — Hovering a slice drew its name in the theme's text colour, so on a light theme the name vanished into a dark slice. It takes the slice's own contrast now.
- Pie chart labels fit a small panel — Labels drew on top of each other and ran off the panel edge. A narrow panel writes the percentage on the slice now, and the legend names it.
Generate data
- A generated longitude covers the whole globe — A GeoJSON coordinate pair gave both of its members the latitude range, so a longitude never passed 90 degrees.
- The preview reads like a document — An ObjectId showed as
{ "$oid": … }and a date as{ "$date": … }. It readsObjectId(…)andISODate(…)now.
Schema analysis
- The field count agrees with itself — The modal header counted nested fields and the toast counted only the top level, so one collection was reported as two different numbers.
Tabs
- Renaming a tab no longer shifts the view — The editor and the results below the tab strip stay where they are while the name input is open.
- Reveal in Sidebar follows the query you are editing — It went to the collection the last result came from, so changing the collection and revealing before running it opened the old one.
Sidebar
- The connection tree no longer scrolls on its own — Switching away from the app and back, or closing a dialog, scrolled the tree to the active tab's collection.
Theme editor
- Closing an unsaved theme restores the editor — The app colors came back, but the code editor kept painting in the theme you backed out of.
- "Regenerate Colors" now regenerates all of them — The MongoDB type colors and the section colors were left at their old values while everything else moved.
Downloads for v1.12.0
Installers published with this release. The current version is v1.12.3.