v1.5.3
abhigyanpatwari/GitNexusv1.5.3Jun 14, 2026by danielaskdd
AI Summary
This release focuses on Milvus deployment upgrades, introducing offline vector database rebuild capabilities, improving concurrency handling, and fixing various connection and schema migration issues.
Key Highlights
- Offline VDB rebuild for vector drift recovery.
- Milvus dynamic field overflow fixes and collection isolation.
- MAX_ASYNC concurrency improvements under gunicorn.
- Fix for malformed multimodal analysis JSON.
Breaking Changes
- Upgrading existing Milvus deployments triggers an automatic migration; legacy collections are kept and must be manually dropped to reclaim storage.
New Features
- Offline vector database rebuild tool
- Server mode status display (uvicorn/gunicorn)
- Workspace path traversal validation
- Centralized event-loop guard with accurate errors
Full Release Notes
## ⚠️ Upgrade Notes (existing Milvus deployments)
Due to PR #3228, upgrading an existing Milvus deployment triggers a one-time automatic migration on the next initialize_storages(): the legacy collection is copied into the new model-suffixed collection (schema-upgraded and byte-truncated) before the service becomes ready. Plan for the extra startup time and write throughput on large collections.
* The migration runs only once. After the suffixed collection exists, every subsequent startup validates and loads it directly and does not re-scan or re-migrate the legacy collection.
* The legacy data is never deleted automatically. For safety the old {workspace}_{namespace} collection is kept, not dropped, so vector storage is temporarily duplicated after the upgrade. This is intentional — the migration does not reclaim the space for you.
* Action required: once you have confirmed the migration succeeded and the new system works correctly against the model-suffixed collection, manually drop the old {workspace}_{namespace} collection yourself to reclaim storage. Until you do, the duplicated vectors remain on disk.
* Legacy collections whose data is incompatible (different vector dimension, or an old simple schema with no vector field) are not migrated; a fresh suffixed collection is created instead and the legacy data is left untouched.
## What's New
* feat(tools): add offline VDB rebuild for vector drift recovery by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3243
* feat(concurrency): make MAX_ASYNC a true cross-worker limit under gunicorn + aggregated queue stats by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3253
* refact(Milvus): Fix Milvus dynamic field overflow + isolate collections by embedding model by @ye-guan-xing in https://github.com/HKUDS/LightRAG/pull/3228
## What's Changed
* fix(pipeline): retry malformed multimodal analysis JSON by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3242
* Add workspace path traversal validation by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3244
* 🐛 fix(mongo): close MongoClient on ClientManager release by @skymacro in https://github.com/HKUDS/LightRAG/pull/3251
* Fix Qdrant/PostgreSQL resurrecting cleared data: clear workspace's legacy rows on drop by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3254
* fix(neo4j): bind APOC labelFilter as parameter to prevent Cypher injection by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3257
* fix(milvus): survive transient connection failures during schema migration by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3258
* fix(milvus): bound data-node memory during schema migration (OOM mitigation) by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3259
* fix(milvus): load source collection before migration query_iterator by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3260
* refactor(concurrency): use asyncio.get_running_loop().time() in async contexts by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3264
* feat(status): show server mode (uvicorn/gunicorn) and worker count by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3265
* feat(webui): inject two one-time system-suggested user prompts by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3266
* chore(deps): bump the react group in /lightrag_webui with 2 updates by @dependabot[bot] in https://github.com/HKUDS/LightRAG/pull/3247
* chore(deps): bump the frontend-minor-patch group across 1 directory with 3 updates by @dependabot[bot] in https://github.com/HKUDS/LightRAG/pull/3250
* chore(deps-dev): bump typescript-eslint from 8.60.0 to 8.60.1 in /lightrag_webui in the build-tools group by @dependabot[bot] in https://github.com/HKUDS/LightRAG/pull/3249
* chore(deps): bump the ui-components group across 1 directory with 13 updates by @dependabot[bot] in https://github.com/HKUDS/LightRAG/pull/3270
* fix(parser): strip C0 control separators from parsed body before persist by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3272
* chore(pipeline): remove dead _write_lightrag_document_from_content_list by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3273
* fix(bedrock): use modelId for Cohere embeddings invoke_model call by @kimnamu in https://github.com/HKUDS/LightRAG/pull/3268
* fix: centralize sync-wrapper event-loop guard with accurate errors by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3271
* fix(mineru): surface backend transport failures in doc_status error_msg by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3274
* fix(llm): close Anthropic AsyncClient on error and non-streaming return by @skymacro in https://github.com/HKUDS/LightRAG/pull/3261
* fix: DRY refactor of WebUI NDJSON stream parsing by @returnSGD in https://github.com/HKUDS/LightRAG/pull/3269
* chore: bump pre-commit hooks (ruff v0.6.4 → v0.15.17) and reformat by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3276
* docs: add Japanese README by @eltociear in https://github.com/HKUDS/LightRAG/pull/3275
## New Contributors
* @ye-guan-xing made their first contribution in https://github.com/HKUDS/LightRAG/pull/3228
* @skymacro made their first contribution in https://github.com/HKUDS/LightRAG/pull/3251
* @kimnamu made their first contribution in https://github.com/HKUDS/LightRAG/pull/3268
* @returnSGD made their first contribution in https://github.com/HKUDS/LightRAG/pull/3269
**Full Changelog**: https://github.com/HKUDS/LightRAG/compare/v1.5.2...v1.5.3