跳到主要内容

<!-- AUTO-GENERATED by scripts/gen-neomind-changelog.js — 请勿手工编辑,内容会被下次构建覆盖 -->

版本发布说明

本页由 NeoMind 官方 CHANGELOG 自动生成并随 wiki 部署同步,摘要保留英文原文。升级步骤见 安装与升级

当前版本:NeoMind 0.9.24(2026-09-14)

  • OpenAPI: every operation annotated, spec fully codegen-ready (final state) — All 334/338 HTTP handlers carry #[utoipa::path] annotations (354 operations, 278 unique paths, 37 tags); the 4 wildcard routes (*path-style) are deliberately…
  • CLI could not find a desktop install's data directory (password reset… — neomind user reset-password admin reported "User 'admin' not found in data/users.redb" on a machine whose only live store was the desktop app's. The CLI resolver…
  • Upgrade notes (0.9.23 → 0.9.24) — Hosts with a custom NEOMIND_DATA_DIR (Docker volumes, deploy/neomind.service) may need to re-create API keys. 0.9.21–0.9.23 encrypted keys with a cwd-relative…
  • Release-readiness fixes (pre-tag) — Cursor pagination: my earlier "fix" traded a loop for silent truncation — now actually correct. The cursor was passed as the scan's LOWER bound while end stayed at…
  • Docs-correctness audit — the route table was incomplete, and the drift test… — /api/docs was missing 14 routes registered in admin_routes (12), extension_upload_routes, and component_upload_routes: the generator listed only five router variables,…
  • Live API verification pass — one more real bug found and fixed — Client mistakes no longer answer 500: an unregistered device_type on POST/PUT /api/devices came back as 500 INTERNAL_ERROR ("template 'nope' not found") — integrators…
  • OpenAPI schema — first milestone (superseded by the full-surface section above) — GET /api/docs/openapi.json went live with utoipa-generated coverage for the domains third parties integrate against first: auth (login/register/keys), device CRUD…
  • Business-contract audit (FE↔BE) + Swagger-style interactive docs — Audited every 0.9.24 contract change against its actual frontend consumer (3-state status, offline-timeout tri-state, aggregate validation, hours clamp, cursor…
  • External-API batch 2 — consistency contracts + the promised /api/docs — GET /api/docs now exists (the CLI help has promised it since forever; it 404'd into static-file serving): a human-readable HTML route index grouped by auth class…
  • External-API consumer fixes — error envelopes, honest status codes,… — Unified error envelope on EVERY failure path: the auth middleware's 401/403 (i.e. every protected route) used to answer {error:"<string>"} — error as a plain string, no…
  • Cleanup wave round 2 — shared channel send ladder + data-dir resolver — post_json + channel_http_client in neomind-messages: the five webhook-style channels (Slack/Telegram/DingTalk/WeCom/Feishu) carried byte-identical send ladders — post →…
  • Optimization + consistency wave (post-0.9.24 bump) — Ingest hot path: update_last_seen no longer writes a redb txn per metric per report (10-metric device @1Hz was 10 txns/s of whole-config read-modify-write) — in-memory…
  • Builtin-model pipeline: end-to-end integration tests (chain, not just links) — New builtin_llm_bootstrap integration suite pins the full chain with REAL code paths and minimal fakes: a PATH-injected shell/python neomind-llama-server (serves…
  • Iteration regression audit — round 2 findings, all fixed — [MEDIUM] Quant override dead download (introduced by the openbmb switch): resolve_quant accepted qad_q4_0 for the MiniCPM default — the download fetched the correct…
  • MiniCPM5-2B download source: third-party mirror → official openbmb repo — The default model downloaded from Abiray/MiniCPM5-2B-GGUF (a personal-account mirror) whose bytes are a repack — LFS pointer comparison: official 1,561,318,368 B /…
  • llama-server lifecycle: deterministic cleanup on every exit path — kill_on_drop on the spawn + a global handle registry: every systemctl restart (and any crash / kill -9 / desktop force-quit) used to orphan the model-loaded…
  • CLI exit-code contract + clean stdout; data-push backpressure — CLI failures now exit non-zero: every CliResponse with success:false used to print "❌ …" and exit 0 — scripts and the agent's shell tool could not distinguish failure…
  • Builtin llama-server default port 8081 → 29375 (collision with llama.cpp… — The old default sat right next to llama-server's OWN default (8080) on one of the hottest dev ports — any user running llama.cpp tooling collided with our spawn, and…
  • Self-review of this session's fixes — five regressions WE introduced, all fixed — [CRITICAL] Offline-edit merge compared milliseconds against seconds — the frontend writes updatedAt as Date.now() (ms) while the server persists updated_at as Unix…
  • Desktop LAN access: on by default, one-toggle opt-out — The desktop app's embedded server keeps binding 0.0.0.0 by default — edge devices connect out of the box, and the embedded MQTT broker follows the same binding via a…
  • Review wave 4 — whole-project FE/BE sweep, first fix batch — Offline dashboard edits survive reload (P0): the hybrid store's reload merge never compared updatedAt, so a stale server version overwrote newer local edits made while…
  • Device/telemetry data-path fixes — the contract audit's P0/P1 batch — Aggregate queries returned the average regardless of the requested function (P0): ?aggregate=max|min|sum|last all yielded value: avg — charts and agents silently got…
  • Regression sweep round 2 — siblings of the fixed bug classes + one WS contract… — Multimodal budget floor (twin of the 8K bug): stream_multimodal.rs carried the exact unfixed clone of the streaming budget floor — every image chat turn could construct…
  • Chat turns now survive page switches — the final reply always lands in history — Frontend pair fix: the side panel chat never subscribed to connection-state changes (only the full chat page did), and the WS layer silently cleared queued messages on…
  • Context window: MiniCPM5-2B default 8K → 32K (product decision 2026-09-12) — The 2026-09 eval's "8K optimum" was measured on the harness's lighter prompt; the production platform prompt (system + tool definitions + memory/skill context) weighs…
  • Fixed: 8K-context models broke down in chat (budget floor constructed overflows) — Root cause: the streaming history budget computed window − prompt_overhead − response_reserve, then raised the result to a hard 20%-of-window floor (stream_core.rs). On…
  • Fixed: API-key auth dead under custom NEOMIND_DATA_DIR (regression since… — Root cause: AuthState::new() resolved api_keys.redb through store_path() (honoring NEOMIND_DATA_DIR, since v0.9.21's storage unification) but kept loading the…
  • Server release tarballs back to ~30 MB — DWARF split into an optional sidecar — v0.9.23's Linux server packages ballooned (amd64 30→91 MB, arm64 26→78 MB): the line-tables-only release profile added in 9c67e474 keeps ~200 MB of DWARF per binary in…

近期版本

0.9.23(2026-09-09)

binary push frames + platform perf pass, long-task agent fixes, onboarding wizard redesigned

  • Built-in model default → MiniCPM5-2B (2026-09 eval)
  • Agent platform fixes surfaced by the corrected eval harness
  • SDK 0.7.0 — zero-serialization push (raw FFI) + segmented payload codec
  • Chat turn time budget is now configurable (default 1800s) — agent no longer stops…
  • Neutral "definition of done" in the platform prompts
  • Preferences: Language row shows the truth; timezone list follows the UI language
  • Binary push frames on /api/extensions/:id/stream
  • Text tool-calling teaching now reaches every backend
  • Platform perf: shared event cache, zero-copy extension IPC, runner workers
  • DEF-001/002 — MQTT client timestamps honored; telemetry source/metric validated
  • Metric history honors the hours window
  • Onboarding wizard redesigned
  • Edge-model leaderboard: corrected-harness re-run

0.9.22(2026-09-03)

dialogs rebuilt single-page, Data Explorer detail grows up, chat context ring

  • Pending-device registration — one honest page
  • Add Device Type — the wizard finally becomes a form
  • Data Explorer — the detail view grows up
  • Shared widget & dialog infrastructure
  • Context management — budget-first, configurable, and losing the right things
  • Chat context visibility
  • Also

版本速览

版本发布日期主题
0.9.212026-08-29security hardening, backups, observability, in-app server…
0.9.202026-08-26agent capability, open model catalog, Jetson
0.9.192026-08-21
0.9.182026-08-19
0.9.172026-08-16
0.9.162026-08-11
0.9.152026-08-04
0.9.142026-07-31
0.9.132026-07-30
0.9.122026-07-27
0.9.112026-07-22
0.9.102026-07-21
0.9.92026-07-17
0.9.82026-07-16
0.9.72026-07-15
0.9.62026-07-15
0.9.52026-07-13
0.9.42026-07-10
0.9.32026-07-09
0.9.22026-07-07
0.9.12026-07-06
0.8.252026-06-26
0.8.242026-06-26
0.8.232026-06-25
0.8.222026-06-23
0.8.212026-06-22
0.8.202026-06-22
0.8.192026-06-18
0.8.182026-06-17
0.8.172026-06-17
0.8.162026-06-16
0.8.152026-06-16
0.8.132026-06-14
0.8.122026-06-12
0.8.112026-06-11
0.8.102026-06-11
0.8.92026-06-10
0.8.82026-06-09
0.8.72026-06-08

> 完整历史与细节见 NeoMind CHANGELOG