github HKUDS/LightRAG v1.5.6

6 hours ago

Important Notes

Introducing PGTableGraphStorage, a new graph storage backend built on native PostgreSQL tables. By eliminating the dependency on Apache AGE, it not only simplifies deployment but also delivers significantly higher graph storage performance with reduced storage footprint. It will replace the AGE-based PGGraphStorage as the preferred graph storage solution for PostgreSQL. This makes PostgreSQL the go-to all-in-one backend database for LightRAG, enabling a single database to cover all four storage types.

What's New

  • feat(kg): add PGTableGraphStorage — PostgreSQL-native graph backend (no AGE dependency) by @ysys143 in #3103
  • docs(pipeline): rewrite the dedup and concurrency chapters from a user's view by @danielaskdd in #3583

What's Changed

  • Implement fail-closed recovery proof for whole-document purge by @danielaskdd in #3535
  • docs: fix broken links and correct VLM gating semantics by @danielaskdd in #3539
  • docs: extract parser service deployment runbooks by @danielaskdd in #3540
  • docs: restructure FileProcessingPipeline into a usable guide by @danielaskdd in #3541
  • docs: fix documentation typos, grammar errors, and incorrect warning messages by @Rythamo8055 in #3538
  • feat(utils): bound thread-pool submission and pin the tokenizer contract by @danielaskdd in #3543
  • fix(deps): sync uv.lock with the tiktoken floor and correct the restore rationale by @danielaskdd in #3546
  • fix(api): bound request bodies and take token counting off the event loop by @danielaskdd in #3544
  • fix(pipeline): take chunking off the event loop and bound the separator cascade by @danielaskdd in #3547
  • build(deps): bump actions/stale from 10 to 11 in the github-actions group by @dependabot[bot] in #3549
  • fix(chunker): cache separator normalization warnings by @danielaskdd in #3550
  • fix(utils): strip whitespace before bool env conversion by @santhreal in #3554
  • fix(kg): set is_truncated when get_knowledge_graph hits max_nodes by @santhreal in #3558
  • fix(utils): return 0.0 from cosine_similarity on non-finite vectors by @santhreal in #3553
  • fix(kg): report is_truncated correctly in mongo/neo4j/opensearch BFS fallbacks by @danielaskdd in #3564
  • feat(tokenizer): safe encode-verified split/truncate contract, replacing #3559 by @danielaskdd in #3565
  • fix(milvus): escape quotes and backslashes in filter ids by @santhreal in #3555
  • fix(graph): normalize manually managed entity names by @danielaskdd in #3566
  • fix(kg): return copies from JsonDocStatusStorage reads by @santhreal in #3556
  • fix(kg): deep-copy JsonKVStorage read results to prevent aliasing by @danielaskdd in #3567
  • fix(operate): return [] when extract_entities gets no chunks by @santhreal in #3557
  • fix(kg): address PGTableGraphStorage review findings — startup scans, read fan-out, docs, CI reach by @danielaskdd in #3568
  • Reject unsafe upload filenames and use secure opener to prevent traversal/symlink attacks by @danielaskdd in #3570
  • fix(docker): install libcairo2 so native md SVG rasterization works by @danielaskdd in #3572
  • fix(api): clean up startup dependency warnings (SVG rasterizer + smart_heading) by @danielaskdd in #3573
  • Port graph storage contract tests to pg_smoke suite by @danielaskdd in #3575
  • test(kg): non-interactive CLI for test_graph_storage.py, fix swallowed failures, drop redundant pg-smoke step by @danielaskdd in #3578
  • fix(rerank): validate results at query boundary by @pengpengyi92 in #3574
  • refactor(tools): make tiktoken and spaCy cache downloads independent by @danielaskdd in #3580
  • fix(rerank): Rank isolated entities in get_popular_labels, stop dropping edges, unify the graph read contract by @danielaskdd in #3581
  • fix(parser): preserve skipped Markdown heading hierarchy by @Iams4kura in #3582

New Contributors

Full Changelog: v1.5.5...v1.5.6

Don't miss a new LightRAG release

NewReleases is sending notifications on new releases.