All notable changes to this project are documented in this file.
- Fix SQL injection and cross-thread/namespace reads in the deprecated
OceanBaseSaverby binding query values, quoting table identifiers, and applying the complete checkpoint key to reads and pagination. - Raise vulnerable dependency minimums and refresh the lockfile to address 31 Dependabot alerts while preserving development/test dependency groups and optional embedded seekdb support.
- Restore Poetry-based dependency automation by removing an unused, empty
uv.lock. - Fall back to per-document reranking when the batch
ai_rerankquery returns no result. - Enforce type-check failures and CI job outcomes, run the complete unit suite, and validate dependency installation and package builds on Python 3.11–3.13.
- Refresh locked dependencies, including LangChain Core
1.6.5, LangGraph1.2.12, LangChain standard tests1.1.9,dashscope1.27.7,virtualenv21.12.1, Ruff0.16.9, and thepylibseekdbruntime. - Update README upgrade guidance for
0.6.4, clarify the legacy checkpoint saver status, and document the supported Python 3.11–3.13 range.
- Raise seekDB dependency floors to
pyseekdb >=1.4.0.post1,<3andpylibseekdb >=1.4.0,<2; retainpyobvector >=0.2.29. - Stabilize the embedded seekDB hybrid-search performance test for native-runtime cold starts while retaining the tighter server-backed threshold.
- Include merged production and development dependency refreshes for LangChain/LangGraph, test tooling,
dashscope, andvirtualenv.
- Bump
pylibseekdbto1.3.0.post4inpyproject.tomlfor stable Unix-socket async I/O support. - Bump CI workflows to use
actions/setup-python@v7. - Refresh dependency lockfile for maintenance dependency updates (
dashscope,aiohttp,virtualenv, production/development dependency groups).
- Embedded SeekDB HNSW writes made through
OceanbaseVectorStore.add_texts()are immediately available to ANN search by requiring the releasedpyobvectorindex-refresh behavior. - Require
pyobvector >=0.2.29for both standard andpyseekdb-extra installations. - Validate the embedded SeekDB stack with
pylibseekdb 1.3.0.post3, including nativepyseekdbasync-index smoke coverage and LangChain HNSW read-after-write coverage. - Continue to exclude
pylibseekdb 1.3.0.post1, which has a separate embedded-client lifecycle hang.
- Added
copy_threadanddelete_for_runssupport toOceanBaseCheckpointSaver, including asynchronous counterparts and LangGraph checkpoint conformance coverage. - Made asynchronous checkpointer operations non-blocking and resolved concurrent-access and performance issues.
- Raised the supported baseline to LangChain Core 1.x, LangGraph 1.x, and LangGraph Checkpoint 4.x.
- Excluded
pylibseekdb 1.3.0.post1after identifying its embedded-client lifecycle hang.
- Raised the embedded
pylibseekdbfloor to 1.3.0 to avoid a segfault when embedded SeekDB data directories are reused.
- Added embedded SeekDB mode for
OceanBaseCheckpointSaverandOceanBaseStorewhenconnection_argsprovides a localpath. - Handled vector-search result rows without primary keys.
- Added LangGraph Store support through
OceanBaseStore, including semantic search, TTL handling, and embedded SeekDB coverage. - Moved embedded SeekDB dependencies into the optional
pyseekdbextra so standard installations do not require the native embedded runtime.