docs: update release notes

This commit is contained in:
jakeaturner 2026-05-20 16:59:23 +00:00 committed by Jake Turner
parent 95bd05ed78
commit d2dd8b4f9e
1 changed files with 80 additions and 98 deletions

View File

@ -3,108 +3,90 @@
## Version 1.31.1 - April 21, 2026
### Features
- feat(content): custom ZIM library sources with pre-seeded mirrors - #593
- feat(content-manager): add sortable file size column - #698
- feat(ai-chat): allow cancelling in-progress model downloads - #701
- feat(content-updates): show size, surface downloads in Active Downloads - #773
- feat(maps): regional map downloads via go-pmtiles extract - #780
- feat(maps): show map coordinates on mouse move - #786
- feat(AI): re-enable AMD GPU acceleration for Ollama via ROCm + HSA override - #804
- feat(GPU): auto-remediate nomad_ollama passthrough loss on admin boot - #878
- feat(KB): per-file ingest state machine (Phase 1 of RFC #883) - #888
- feat(KB): ratio registry for disk + time estimates (Phase 1B of RFC #883) - #891
- feat(KB): group admin docs into single row in Stored Files (§9) - #892
- feat(KB): status pill + last-activity on Processing Queue (§5/§10) - #893
- feat(KB): Always/Manual ingest policy toggle (§1/§4) - #894
- feat(KB): conditional warnings A + B on Stored Files (§6) - #895
- feat(KB): surface embedding-disk estimate in curated tier-change modal (§1) - #897
- feat(KB): first-chat JIT prompt for ingest policy (Phase 3 task 12) - #899
- feat(KB): wizard AI policy step (Phase 3 task 13) - #900
- feat(KB): guardrail modal at 50GB / 10%-free thresholds (§7) - #901
- feat(easy-setup): split AI into its own conditional step - #908
- feat(KB): per-file ingest action + state indicator on Stored Files (§5) - #909
- feat(chat): confirm-on-switch + one-chat-model-at-a-time enforcement - #916
## Docs
- docs: add Community Add-Ons page with field manuals + W3Schools packs - #753
- docs: add map marker API reference - #783
- docs: require linked issue for non-trivial PRs - #799
- docs(map): updated notes on the map pin api - #803
- docs: link to new WSL2 install guide from README and FAQ - #811
## Build / deps
- build(deps): bump picomatch in /admin - #544
- build(deps): bump lodash from 4.17.23 to 4.18.1 in /admin - #643
- build(deps-dev): bump vite from 6.4.1 to 6.4.2 in /admin - #677
- build(deps): bump axios from 1.13.5 to 1.15.0 in /admin - #708
- build(deps): bump @adonisjs/http-server from 7.8.0 to 7.8.1 in /admin - #724
- build(deps): bump follow-redirects from 1.15.11 to 1.16.0 in /admin - #729
- build(deps): bump protocol-buffers-schema from 3.6.0 to 3.6.1 in /admin - #736
- build(deps): bump protobufjs from 7.5.4 to 7.5.5 in /admin - #737
- feat(content): custom ZIM library sources with pre-seeded mirrors (#593). Thanks @chriscrosstalk!
- feat(content-manager): add sortable file size column (#698). Thanks @chriscrosstalk!
- feat(ai-chat): allow cancelling in-progress model downloads (#701). Thanks @chriscrosstalk!
- feat(content-updates): show size, surface downloads in Active Downloads (#773). Thanks @chriscrosstalk!
- feat(maps): regional map downloads via go-pmtiles extract (#780). Thanks @bgauger!
- feat(maps): show map coordinates on mouse move (#786). Thanks @kennethbrewer3!
- feat(AI): re-enable AMD GPU acceleration for Ollama via ROCm + HSA override (#804). Thanks @chriscrosstalk!
- feat(GPU): auto-remediate nomad_ollama passthrough loss on admin boot (#878). Thanks @chriscrosstalk!
- feat(KB): per-file ingest state machine (Phase 1 of RFC #883) (#888). Thanks @chriscrosstalk!
- feat(KB): ratio registry for disk + time estimates (Phase 1B of RFC #883) (#891). Thanks @chriscrosstalk!
- feat(KB): group admin docs into single row in Stored Files (§9) (#892). Thanks @chriscrosstalk!
- feat(KB): status pill + last-activity on Processing Queue (§5/§10) (#893). Thanks @chriscrosstalk!
- feat(KB): Always/Manual ingest policy toggle (§1/§4) (#894). Thanks @chriscrosstalk!
- feat(KB): conditional warnings A + B on Stored Files (§6) (#895). Thanks @chriscrosstalk!
- feat(KB): surface embedding-disk estimate in curated tier-change modal (§1) (#897). Thanks @chriscrosstalk!
- feat(KB): first-chat JIT prompt for ingest policy (Phase 3 task 12) (#899). Thanks @chriscrosstalk!
- feat(KB): wizard AI policy step (Phase 3 task 13) (#900). Thanks @chriscrosstalk!
- feat(KB): guardrail modal at 50GB / 10%-free thresholds (§7) (#901). Thanks @chriscrosstalk!
- feat(easy-setup): split AI into its own conditional step (#908). Thanks @chriscrosstalk!
- feat(KB): per-file ingest action + state indicator on Stored Files (§5) (#909). Thanks @chriscrosstalk!
- feat(chat): confirm-on-switch + one-chat-model-at-a-time enforcement (#916). Thanks @chriscrosstalk!
### Bug Fixes
- fix(downloads): stage downloads to .tmp to prevent Kiwix loading partial files - #448
- fix(security): close remaining security audit items 3 & 4 (CWE-918, CWE-209) - #552
- fix(ai-chat): add null check to model name - #645
- fix(ai-chat): qwen2.5 loading on every chat message - #649
- fix(disk-collector): fix storage reporting for NFS mounts - #686
- fix(rag): add start button in kb modal and ensure restart policy exists - #700
- fix(admin): only hide global map banner after download - #702
- fix(maps): wire delete confirmation to API - #732
- fix: prevent ZIM corrupt file crash and deduplicate Ollama download logs - #741
- fix(ai): stop local nomad_ollama when remote Ollama is configured - #744
- fix(rag): repair ZIM embedding pipeline (sync filter, batch gate, DOM walk) - #745
- fix(zim): accumulate across Kiwix pages to prevent empty Content Explorer - #746
- fix(qdrant): disable anonymous telemetry by default - #747
- fix(disk-display): gate NAS Storage label on network filesystem type - #749
- fix(docker): write /app/version.json from VERSION build-arg - #754
- fix(rag): pass num_ctx and truncate to Ollama embed call - #763
- fix(api): accept notes, marker_type, and position on markers endpoints - #770
- fix(install): warn loudly on non-x86_64 architectures before pulling images - #797
- fix(stream): skip compression for Server-Sent Events - #798
- fix(maps): Country Picker UX polish + auto-refresh stored files - #817
- fix(System): self-heal stale updateAvailable flag after sidecar-driven update - #825
- fix(settings/update): four UI/UX fixes for the System Update page - #827
- fix(Maps): send filename instead of full path to delete endpoint - #829
- fix(Maps): render notes in marker popup when populated - #830
- fix(AI): vendor-aware AMD HSA override + benchmark discrete-GPU detection - #832
- fix(System): correct NVIDIA VRAM in Graphics card - #850
- fix(Downloads): treat missing Content-Type as octet-stream - #859
- fix(AI): preserve semver tag in DB on AMD Ollama updates - #868
- fix(AI): rewrite RAG query on first chat follow-up - #869
- fix(RAG): unbreak multi-batch ZIM ingestion (jobId dedupe) - #872
- fix(RAG): pace continuation batches when embedding is CPU-only - #873
- fix(queue): singleton QueueService to stop ioredis connection leak - #877
- fix(System): correct AMD VRAM in Graphics card + harden log probe - #879
- fix(RAG): report ZIM ingestion progress in overall-file frame - #880
- fix(KB): add re-embed and reset & rebuild options to fix broken embeddings - #886
- fix(ZIM): preserve co-existing Wikipedia corpora on cleanup - #887
- fix(RAG): anchor continuation-batch initial progress to overall-file frame - #889
- fix(AI): pre-cap embed input + log fallback reason - #890
- fix(KB): remove redundant Refresh button from Processing Queue - #896
- fix(KB): union Stored Files list with state-machine file paths - #898
- fix(KB): blank-screen on panel open + tooltips on bulk-action buttons - #907
- fix(KB): TierSelectionModal hook order + register IconLibrary - #917
- fix(content): show selected tier on cards while downloads are in flight - #918
- fix(KB): respect Manual ingest policy on post-download dispatch - #919
- fix(AI): improve remote Ollama url validation to prevent SSRF vuln - #920
- fix(models): correct inverted belongsTo keys on ChatMessage.session - #921
- fix(downloads): stage downloads to .tmp to prevent Kiwix loading partial files (#448). Thanks @artbird309!
- fix(security): close remaining security audit items 3 & 4 (CWE-918, CWE-209) (#552). Thanks @LuisMIguelFurlanettoSousa!
- fix(ai-chat): add null check to model name (#645). Thanks @hestela!
- fix(ai-chat): qwen2.5 loading on every chat message (#649). Thanks @hestela!
- fix(disk-collector): fix storage reporting for NFS mounts (#686). Thanks @bgauger!
- fix(rag): add start button in kb modal and ensure restart policy exists (#700). Thanks @hestela!
- fix(admin): only hide global map banner after download (#702). Thanks @Gujiassh!
- fix(maps): wire delete confirmation to API (#732). Thanks @cuyua9!
- fix: prevent ZIM corrupt file crash and deduplicate Ollama download logs (#741). Thanks @jakeaturner!
- fix(ai): stop local nomad_ollama when remote Ollama is configured (#744). Thanks @chriscrosstalk!
- fix(rag): repair ZIM embedding pipeline (sync filter, batch gate, DOM walk) (#745). Thanks @chriscrosstalk!
- fix(zim): accumulate across Kiwix pages to prevent empty Content Explorer (#746). Thanks @chriscrosstalk!
- fix(qdrant): disable anonymous telemetry by default (#747). Thanks @chriscrosstalk!
- fix(disk-display): gate NAS Storage label on network filesystem type (#749). Thanks @bgauger!
- fix(docker): write /app/version.json from VERSION build-arg (#754). Thanks @chriscrosstalk!
- fix(rag): pass num_ctx and truncate to Ollama embed call (#763). Thanks @chriscrosstalk!
- fix(api): accept notes, marker_type, and position on markers endpoints (#770). Thanks @jrsphoto!
- fix(install): warn loudly on non-x86_64 architectures before pulling images (#797). Thanks @chriscrosstalk!
- fix(stream): skip compression for Server-Sent Events (#798). Thanks @chriscrosstalk!
- fix(maps): Country Picker UX polish + auto-refresh stored files (#817). Thanks @chriscrosstalk!
- fix(System): self-heal stale updateAvailable flag after sidecar-driven update (#825). Thanks @jakeaturner!
- fix(settings/update): four UI/UX fixes for the System Update page (#827). Thanks @chriscrosstalk!
- fix(Maps): send filename instead of full path to delete endpoint (#829). Thanks @bgauger!
- fix(Maps): render notes in marker popup when populated (#830). Thanks @chriscrosstalk!
- fix(AI): vendor-aware AMD HSA override + benchmark discrete-GPU detection (#832). Thanks @chriscrosstalk!
- fix(System): correct NVIDIA VRAM in Graphics card (#850). Thanks @bgauger!
- fix(Downloads): treat missing Content-Type as octet-stream (#859). Thanks @bgauger!
- fix(AI): preserve semver tag in DB on AMD Ollama updates (#868). Thanks @chriscrosstalk!
- fix(AI): rewrite RAG query on first chat follow-up (#869). Thanks @chriscrosstalk!
- fix(RAG): unbreak multi-batch ZIM ingestion (jobId dedupe) (#872). Thanks @chriscrosstalk!
- fix(RAG): pace continuation batches when embedding is CPU-only (#873). Thanks @chriscrosstalk!
- fix(queue): singleton QueueService to stop ioredis connection leak (#877). Thanks @chriscrosstalk!
- fix(System): correct AMD VRAM in Graphics card + harden log probe (#879). Thanks @chriscrosstalk!
- fix(RAG): report ZIM ingestion progress in overall-file frame (#880). Thanks @chriscrosstalk!
- fix(KB): add re-embed and reset & rebuild options to fix broken embeddings (#886). Thanks @jakeaturner!
- fix(ZIM): preserve co-existing Wikipedia corpora on cleanup (#887). Thanks @chriscrosstalk!
- fix(RAG): anchor continuation-batch initial progress to overall-file frame (#889). Thanks @chriscrosstalk!
- fix(AI): pre-cap embed input + log fallback reason (#890). Thanks @chriscrosstalk!
- fix(KB): remove redundant Refresh button from Processing Queue (#896). Thanks @chriscrosstalk!
- fix(KB): union Stored Files list with state-machine file paths (#898). Thanks @chriscrosstalk!
- fix(KB): blank-screen on panel open + tooltips on bulk-action buttons (#907). Thanks @chriscrosstalk!
- fix(KB): TierSelectionModal hook order + register IconLibrary (#917). Thanks @chriscrosstalk!
- fix(content): show selected tier on cards while downloads are in flight (#918). Thanks @chriscrosstalk!
- fix(KB): respect Manual ingest policy on post-download dispatch (#919). Thanks @chriscrosstalk!
- fix(AI): improve remote Ollama url validation to prevent SSRF vuln (#920). Thanks @jakeaturner!
- fix(models): correct inverted belongsTo keys on ChatMessage.session (#921). Thanks @jakeaturner!
### Improvements
- **Build**: The Command Center image now uses the VERSION build arg to write `app/version.json` with the current version for improved version tracking and debugging, even in RC environments. Thanks @chriscrosstalk for the contribution!
- **Content Manager**: Added a sortable file size column to the ZIM files table in the Content Manager for easier management of storage space. Thanks @chriscrosstalk for the contribution!
- **Dependencies**: All package.json dependencies have been pinned to specific versions to ensure stability and reduce the risk of unexpected breaking changes/supply-chain compromises from upstream packages. Thanks @jakeaturner for the contribution!
- **Dependencies**: Updated various dependencies to close security vulnerabilities and improve stability
- **Docs**: Update CONTIRBUTING.md to require an issue to be opened before submitting a PR for non-trivial changes to ensure proper discussion and review of proposed changes. Thanks @chriscrosstalk for the contribution!
- **Docs**: Added the map markers endpoints to the API reference documentation. Thanks @kennethbrewer3 for the contribution!
- **Docs**: Added a link to the new WSL2 install guide in the README and FAQ. Thanks @chriscrosstalk for the contribution!
- **Install**: The install script now warns loudly if the user is attempting to install on a non-x86_64/amd64 platform to prevent unsupported installations and potential issues. Thanks @chriscrosstalk for the contribution!
- **Maps**: The maps API endpoints now properly accept and validate notes, marker_type, and position data for map markers and persist them in the database for retrieval in the UI. Thanks @jrsphoto for the contribution!
- **Maps**: The current coordinates of the mouse pointer can now be displayed in the map viewer for easier navigation and exploration. Thanks @kennethbrewer3 for the contribution!
- **RAG**: NOMAD now properly passed `num_ctx` and truncation to the Ollama embedding endpoint to ensure that the context window of the model is best utilized for embeddings. Thanks @chriscrosstalk for the contribution!
- **RAG**: Added a manual start button for Qdrant and a self-healing mechanism for Qdrant's restart-policy to ensure that the vector database is running properly for embedding and retrieval tasks. Thanks @hestela for the contribution!
- docs: add Community Add-Ons page with field manuals + W3Schools packs (#753). Thanks @chriscrosstalk!
- docs: add map marker API reference (#783). Thanks @kennethbrewer3!
- docs: require linked issue for non-trivial PRs (#799). Thanks @chriscrosstalk!
- docs(map): updated notes on the map pin api (#803). Thanks @kennethbrewer3!
- docs: link to new WSL2 install guide from README and FAQ (#811). Thanks @chriscrosstalk!
- build(deps): bump picomatch in /admin (#544). Thanks @dependabot[bot]!
- build(deps): bump lodash from 4.17.23 to 4.18.1 in /admin (#643). Thanks @dependabot[bot]!
- build(deps-dev): bump vite from 6.4.1 to 6.4.2 in /admin (#677). Thanks @dependabot[bot]!
- build(deps): bump axios from 1.13.5 to 1.15.0 in /admin (#708). Thanks @dependabot[bot]!
- build(deps): bump @adonisjs/http-server from 7.8.0 to 7.8.1 in /admin (#724). Thanks @dependabot[bot]!
- build(deps): bump follow-redirects from 1.15.11 to 1.16.0 in /admin (#729). Thanks @dependabot[bot]!
- build(deps): bump protocol-buffers-schema from 3.6.0 to 3.6.1 in /admin (#736). Thanks @dependabot[bot]!
- build(deps): bump protobufjs from 7.5.4 to 7.5.5 in /admin (#737). Thanks @dependabot[bot]!
## Version 1.31.1 - April 21, 2026