Releases: candril/monq
Releases · candril/monq
Release list
v0.6.0
Added
- Optimistic concurrency — a document or bulk edit is aborted when the document changed
remotely since it was loaded, instead of silently overwriting (spec 063). - Command palette scrolls with
Ctrl+D/Ctrl+U. - Homebrew (
brew install candril/tap/monq) and Nix (nix run github:candril/monq) via
candril/homebrew-tap, alongside the curl installer.
All three install the release binary, verified againstSHA256SUMS. - The installer, build script and release workflow shared with the sibling tools; a released
binary reports its tag, and the release writesrelease.jsonfor the Nix flake.
Changed
- The README got the logo, tagline and doc links the sibling tools have; README and docs site
carry the shared spec-driven notice, the same install section, and a footer linking them. - The docs site builds with bun; both lockfiles are tracked so CI installs are reproducible.
Fixed
- Editing a document preserves BSON numeric types (
Int32,Long,Double,Decimal128),
including reordered and extended numeric arrays. - Removed the broken
{}collection-peek binding from the palette.
v0.5.0
Added
- tmux document preview — preview the selected document live in a tmux split pane that updates as you move the cursor.
- Edit documents in a tmux split —
Shift+Eopens the selected document in your$EDITORin a tmux split; monq reloads on save, including formatter-on-save, no-op saves, and editors that save via write-temp + rename (vim/neovim). A toast confirms each reload. - Collection switch shortcuts — shifted shortcuts to jump between collections without opening the switcher.
- Navigation quality-of-life shortcuts — added navigation and column-navigation shortcuts, and clarified table focus / column cursor indicators.
Fixed
- Editor serialization standardized on relaxed EJSON, matching the preview panel.
Enterapplies the query andCtrl+Ypicks the active suggestion without submitting.- Reduced tmux preview reload flicker and fixed focus handling for the pipeline tmux split.
- Capped, stabilized, and pruned tmux editor temp files so they don't accumulate.
v0.4.1
Added
Ctrl+Ocollection switcher palette — quick-switch between collections in the current database without leaving the doc view.- Tab/palette shortcuts work while the sidebar is focused (no need to refocus the doc list first).
Enteraccepts the active filter suggestion in the simple query bar (alias forCtrl+Y).
Fixed
- Earlier columns stay on screen when selecting the rightmost columns instead of scrolling out of view.
e(edit) fetches the full document with no projection when in simple/find mode, so edits don't accidentally truncate fields.
v0.4.0
Added
- Collection sidebar (spec 053) — vertical collapsible nav pane listing collections in the current database.
- Ephemeral peek tabs (spec 054) —
{/}peek adjacent collections into a reusable ephemeral tab instead of opening a permanent one. - Sidebar-first landing (spec 055) — connecting to a DB lands focus in the sidebar so you can browse before picking a collection. Single-collection DBs still land straight in the doc view.
h/lcross-pane navigation between the sidebar and the document list.
Fixed
- Sidebar
j/kanchors to the cursor, not the active tab. qquits from the sidebar / no-tab states;activeTabIdgates relaxed.- Column order follows the first document's field order instead of alphabetical.
- In-flight document fetch is cancelled when a peek reassigns the ephemeral tab.
- Removed deprecated
downlevelIterationtsconfig option. - Collection sidebar polish — taller sidebar, colour-only state indicators, truncated long names.
v0.3.0
Added
- Document marks — vim-style letter marks (
m<letter>) on individual documents, scoped per(host, db, collection)and persisted to~/.local/share/monq/marks. Marked rows show a colored letter in the leftmost gutter. '<letter>applies a mark filter to the active query mode: toggles@<letter>in simple mode, sets_id: { $in }in BSON / pipeline.''clears it.@<letter>mark register token in the simple query bar — composes with other filter tokens (e.g.@a Author:Peter). Resolves at parse time so the simple-mode filter is live.- Suggestion panel surfaces every used
@<letter>register when you type@, with doc count and color. - Command palette: "Clear All Marks (current collection)" and per-letter "Clear Mark [a] (3 docs)" entries (only shown when marks exist).
- Selection-mode marking: in selection mode,
m<letter>marks all selected rows at once. - Value suggestions in the simple query bar — sampled values from loaded documents and quick-filter helpers. After typing
field:, the panel suggests real values from the current result set plus type-aware helpers (>ago(7d),:today,oid(...),null). - Operator suggestions for typed fields — typing a known field name surfaces
:,!=,>,>=,<,<=, and the:..range stub for date and number fields. field:in(a,b,c)shorthand for$inqueries, parseable in the simple query bar.- Per-collection query history — each
(database, collection)pair has its ownCtrl+Rhistory list, instead of sharing across all collections in a database.
Fixed
- BSON-mode queries with ObjectId values now match correctly.
parseBsonQuerywas using plainJSON.parse, which decoded{"$oid":"..."}as a plain object the driver couldn't match against. Switched toEJSON.parse(withJSON.parsefallback for backward compat).
v0.2.0
Added
- Export query results as JSON or CSV
- Eager explain refresh on query change
- Animated loading spinner across all columns
--versionflag; version shown on connection screens (git hash in dev mode)
Fixed
- Pipeline state is saved/restored per tab; watcher restarts on tab switch
- Preview panel now shows relaxed EJSON format matching the editor
- Command palette "Edit Document" uses the same code path as the
ekey - Checksum verification uses
shasumunconditionally on macOS - Release workflow uses native runners for each build target
v0.1.0
Added
- Terminal-based MongoDB browser and query tool with a keyboard-first interface.