Releases: chmonitor/chmonitor
Release list
chm-v0.1.3-beta.33
What's Changed
- fix(advisor): batch correctness, sanitization, and weekly report integration by @duyet in #3340
- perf(test): StatTile, lazy markdown, query-insights batch, sweep parity, diff tests by @duyet in #3341
- fix(auth): harden device/cron/api-key surfaces and add route tests by @duyet in #3339
- fix(cloud-hooks): billing hardening, logging, and dead-code cleanup by @duyet in #3342
- fix(dashboard): center the What's new dialog in the viewport by @duyet in #3344
- feat(dashboard): Essential first-run sidebar with hover-add and More flyout by @duyet in #3345
- fix(dashboard): keep Essential sidebar as parent/child groups by @duyet in #3349
- fix(dashboard): command palette Enter activates the highlighted row by @duyet in #3350
- feat(dashboard): Essential heading dialog to add/remove group children by @duyet in #3353
- feat(cli): add local named connections by @duyet in #3356
Full Changelog: chm-v0.1.3-beta.32...chm-v0.1.3-beta.33
chm-v0.1.3-beta.32
chm-v0.1.3-beta.31
What's Changed
- fix(landing): stop shipping an empty changelog page by @duyet in #3287
- fix(dashboard): compact 375 day switcher and scroll overview tabs by @duyet in #3293
- feat(dashboard): slim default sidebar to day-to-day pages by @duyet in #3294
- fix(dashboard): keep Navigation presets and Show all inside a 375 dialog by @duyet in #3299
- fix(dashboard): keep header title readable at 768 by @duyet in #3297
- fix(dashboard): wrap overview metric cards before they crush by @duyet in #3298
- fix(cli): body-read errors, plaintext purge, rust consumer map by @duyet in #3337
- fix(deps): migrate pnpm settings and close audit batch issues by @duyet in #3338
Full Changelog: v0.3.4...chm-v0.1.3-beta.31
v0.3.4
📊 Release recap
- 📦 46 commits across 46 pull requests
- 🗓️ Shipped over 1 day — pace ~46.0 commits/day
- 🌞 41 daytime · 🌙 5 night-time commits
- 👥 2 contributors
- 💬 88 comments back and forth across reviews
- 🤖 2 AI agents involved
- 🏆 Shoutout to @github-actions[bot] — 48 comments, 0 code reviews, 0 approvals
🐳 Docker image
This release is published to the GitHub Container Registry as ghcr.io/chmonitor/chmonitor:0.3.4.
docker pull ghcr.io/chmonitor/chmonitor:0.3.4
docker pull ghcr.io/chmonitor/chmonitor:0.3.4Pin it in your own Dockerfile:
FROM ghcr.io/chmonitor/chmonitor:0.3.4🔁 Full changelog
Compare: chm-v0.1.3-beta.30...v0.3.4
Built from commit
cd663adon 2026-08-24T13:04:41.368Z.
🚚 Migration — upgrading to v0.3 (Next.js → TanStack Start)
v0.3 switches the runtime app from the legacy Next.js dashboard to
dashboard-tsr(TanStack Start). The ClickHouse connection vars are
unchanged, but client-side (NEXT_PUBLIC_*) vars are renamed toVITE_*
and server auth moves toCHM_*. The Docker entrypoint changed too.
What changed
The old NEXT_PUBLIC_* names still work as a compatibility fallback — the
rename is recommended but not required, nothing breaks if you skip it. Client
VITE_* vars are build-time inlined — set them when building the image /
Worker, not only at runtime. Server vars (CLICKHOUSE_*, CHM_*, *_API_KEY)
are read at runtime as before and are unchanged.
Full per-platform steps: see Migrate to v0.3.
Paste this into any AI assistant to migrate your config
You are migrating a chmonitor deployment from v0.2 (Next.js) to v0.3 (TanStack Start).
Here is my current environment (.env / docker-compose / wrangler / k8s manifest):
<PASTE YOUR ENV HERE>
Rewrite it for v0.3 applying EXACTLY these rules, and output the migrated config
plus a short list of what you changed:
1. Rename every client var prefix NEXT_PUBLIC_ -> VITE_. Specifically:
NEXT_PUBLIC_AUTH_PROVIDER -> VITE_AUTH_PROVIDER
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY -> VITE_CLERK_PUBLISHABLE_KEY
NEXT_PUBLIC_FEATURE_CONVERSATION_DB-> VITE_FEATURE_CONVERSATION_DB
(any other NEXT_PUBLIC_X -> VITE_X)
2. Add server-side auth var CHM_AUTH_PROVIDER (none|clerk|proxy) mirroring the
client provider. It is authoritative on the server; keep VITE_AUTH_PROVIDER too
so the browser bundle agrees.
3. Do NOT rename server vars: CLICKHOUSE_HOST, CLICKHOUSE_USER, CLICKHOUSE_PASSWORD,
CLICKHOUSE_NAME, CLICKHOUSE_MAX_EXECUTION_TIME, CLERK_SECRET_KEY, *_API_KEY — keep as-is.
4. VITE_* vars are build-time inlined: ensure they are present at image/Worker BUILD time
(Docker build-args or CI build env), not only at container runtime.
5. If this is a Docker deployment, change the container start command from
`node server.js` to `node server/index.mjs`. Port 3000 and the /api/healthz
healthcheck are unchanged.
6. Flag anything that has no v0.3 equivalent instead of silently dropping it.
0.3.4 (2026-08-24)
✨ Features
- advisor: copyable local vs ON CLUSTER DDL variants (#3151) (2a6339a)
- advisor: default Schema tab with explorer tree (#3267) (ed06ca2)
- advisor: table-level schema advice, TTL inventory, and health check (#3196) (de588fa)
- agent: allow cloud demo guests to chat (#3055) (9c6859a)
- agent: allowlist Firecrawl scrape domains (#3181) (d574117)
- agent: collapse sidebars when starting from a suggestion (#3273) (a4aa909)
- agent: connect keyless Firecrawl MCP by default (#3062) (1004573)
- agent: polish chat messages, tools, and markdown (#3058) (8415eac)
- agents: make follow-up suggestions tool-aware and anchor them to the composer (#3040) (301bf22)
- billing: collect company details before Polar checkout (#3047) (a1ea70d)
- billing: run license checkout on cloud-hooks (#3046) (d174521)
- billing: show licenses and drop Polar plan gate (#3045) (46fa668)
- blog: list posts on marketing llms and preview on CI (#3257) (aa854f8)
- blog: multi-column image rows wider than the text (#3178) (af2f194)
- blog: recap 0.3.x patches and what is next (#3166) (1d6bf13)
- blog: rewrite license post and stop counting replicas (#3216) (528f7a2)
- blog: rewrite license post and stop counting replicas (#3217) (995b8b4)
- blog: rewrite v0.3.3 and publish v0.3.4 (#3167) (00eaf79)
- blog: zoom screenshots from a top-right control (#3277) (910fc4a)
- cli: add chm upgrade alias and explicit update fallbacks (#3147) (7889840)
- cli: auth auto-detect, TUI panes, and chm/chmonitor alias (#3185) (dd8db41)
- cli: chm rewrite with auth, channels, and self-hosted device login (#3183) (91fefb4)
- cli: chm update --beta switches channel and upgrades (#3198) (4625b69)
- cli: launch interactive TUI by default (#3193) (8e7d9b6)
- cli: make chm doctor the cluster health command (#3190) (8a26be8)
- cli: migrate dashboard list picker to ratatui (#3207) (cd8d2f8)
- cli: overview chart TUI, dashboard list, interactive config (#3197) ([b47b0c7](b47b0c7786f4f1b4be...
chm-v0.1.3-beta.30
What's Changed
- docs(apps): refresh apps/README.md and per-app docs to match current status by @duyetbot in #3219
- feat(mcp): add Parallel Search server preset by @georgeatparallel in #3227
- feat(telemetry): redesign public stats page — layout, logos, dithered bars by @duyetbot in #3226
- docs(cli): TUI layout picker preview by @duyet in #3240
New Contributors
- @georgeatparallel made their first contribution in #3227
Full Changelog: chm-v0.1.3-beta.29...chm-v0.1.3-beta.30
chm-v0.1.3-beta.29
What's Changed
- ci(cloudflare): list telemetry preview URL in PR deploy comment by @duyet in #3236
- fix(rust): format output.rs chain for stable rustfmt by @duyet in #3238
- fix(api): enforce readonly='1' string type in ClickHouse settings by @duyet in #3230
- fix(rust): format output.rs chain for stable rustfmt by @duyet in #3239
Full Changelog: chm-v0.1.3-beta.28...chm-v0.1.3-beta.29
chm-v0.1.3-beta.28
What's Changed
- fix(quota): stop trusting spoofable IP headers for guest quota key by @duyet in #3233
- ci(rust): add CI coverage for remaining workspace crates by @duyet in #3231
- fix(rust): move output fns before test module for clippy by @duyet in #3234
Full Changelog: chm-v0.1.3-beta.27...chm-v0.1.3-beta.28
chm-v0.1.3-beta.27
What's Changed
- revert(dashboard): show raw model ids in the agent picker by @duyet in #3212
- fix(dashboard): drop id fallback from dynamic model descriptions by @duyet in #3213
- docs(readme): drop Cloud (SaaS) edition references by @duyet in #3214
- feat(landing): pricing link in nav + customers cards by @duyet in #3215
- feat(blog): rewrite license post and stop counting replicas by @duyet in #3216
- feat(landing): brand downloads as per-version cards with copy-link by @duyet in #3218
- feat(blog): rewrite license post and stop counting replicas by @duyet in #3217
- fix(chm): close create-then-chmod race on credential file by @duyet in #3228
- fix(sql-builder): block INTO OUTFILE and INTO FILE by @duyet in #3229
Full Changelog: chm-v0.1.3...chm-v0.1.3-beta.27
chm-v0.1.3
0.1.3 (2026-08-21)
Features
- cli: brand the default TUI as chmonitor (#3194) (55716b7)
- cli: chm update --beta switches channel and upgrades (#3198) (4625b69)
- cli: launch interactive TUI by default (#3193) (8e7d9b6)
- cli: make chm doctor the cluster health command (#3190) (8a26be8)
- cli: migrate dashboard list picker to ratatui (#3207) (cd8d2f8)
- cli: overview chart TUI, dashboard list, interactive config (#3197) (b47b0c7)
Bug Fixes
- cli: cap live dashboard refresh and prune today query count (#3204) (971ab33)
- cli: drop diagnose, upgrade, and completions (#3205) (0f72b94)
- cli: exit after chm update and persist --beta/--stable (#3201) (60b4833)
- cli: route curl install.sh around Bot Fight Mode 403 (7d97cf1)
- cli: use clamp for TUI table page size (#3209) (e85a027)
- landing: brand CLI install, beta badge, and What's new scroll (#3203) (43ba12f)
What's Changed
- feat(dashboard): enable AI insights on demo for anonymous visitors by @duyet in #3210
- fix(mcp): serve /api/v1/mcp/info publicly by @duyet in #3211
- chore(main): release cli chm-v0.1.3 by @github-actions[bot] in #3191
Full Changelog: chm-v0.1.2-beta.24...chm-v0.1.3
