Skip to content

Commit cfd01e8

Browse files
authored
Merge pull request #160 from oceanbase/release/0.6.0
chore: merge release/0.6.0 back to develop
2 parents 31b33ff + 31e414a commit cfd01e8

3 files changed

Lines changed: 140 additions & 30 deletions

File tree

README.md

Lines changed: 33 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
[![PyPI version](https://badge.fury.io/py/langchain-oceanbase.svg)](https://badge.fury.io/py/langchain-oceanbase)
44
[![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)
55

6-
This package contains the LangChain integration with OceanBase. **Current version: 0.5.1**
6+
This package contains the LangChain integration with OceanBase. **Current version: 0.6.0**
77

88
[OceanBase Database](https://github.com/oceanbase/oceanbase) is a distributed relational database.
99
It is developed entirely by Ant Group. The OceanBase Database is built on a common server cluster.
@@ -16,13 +16,33 @@ OceanBase currently has the ability to store vectors. Users can easily perform t
1616
- Perform vector approximate nearest neighbor queries;
1717
- ...
1818

19-
## What's New in 0.5.1
19+
## What's New in 0.6.0
2020

21-
- **Patch release for the 0.5.x line**: `0.5.1` keeps the same package surface as `0.5.0` while pulling in dependency and CI maintenance updates.
22-
- **The full LangChain persistence pack remains in one release**: `OceanbaseVectorStore`, `OceanBaseCheckpointSaver`, and `OceanBaseStore` are all supported in `0.5.1`.
23-
- **OceanBase and seekdb remain full-surface backends**: both cover vectorstore, checkpoint, and store workflows, with hybrid retrieval support on the vector side.
24-
- **MySQL remains the compatibility option for on-prem deployments**: if your environment already standardizes on MySQL, you can use it for checkpoint and store workloads without taking on vector infrastructure.
25-
- **Built-in embeddings and embedded seekdb remain explicitly optional**: install `langchain-oceanbase[pyseekdb]` when you want the bundled embedding runtime or local embedded seekdb.
21+
- **New checkpointer maintenance capabilities**: `OceanBaseCheckpointSaver` now implements `copy_thread` and `delete_for_runs` (plus their async variants), matching the `langgraph-checkpoint` 4.x capability surface.
22+
- **Non-blocking async checkpointer**: all `a*` methods now offload blocking database I/O to a thread pool instead of blocking the event loop, and the saver supports `close()` / (async) context-manager cleanup and a `max_workers` argument.
23+
- **Concurrency and performance**: remote OceanBase/MySQL backends no longer serialize every operation behind a global lock (embedded seekdb still does, for safety), and checkpoint reads batch their channel-value lookups into a single query.
24+
- **Requires a LangChain 1.x / `langgraph-checkpoint` 4.x stack** — see [Version Compatibility](#version-compatibility) before upgrading.
25+
26+
## Version Compatibility
27+
28+
`langchain-oceanbase` follows the major LangChain/LangGraph lines. **Pick the release that matches the LangChain stack your application already uses:**
29+
30+
| langchain-oceanbase | langchain-core | langgraph | langgraph-checkpoint | Notes |
31+
| --- | --- | --- | --- | --- |
32+
| **0.6.x** (current) | `>=1.0,<2` | `>=1.0.6,<2` | `>=4.0,<5` | LangChain **1.x** + a `langgraph-checkpoint` **4.x** stack. Adds checkpointer `copy_thread` / `delete_for_runs` and non-blocking async. |
33+
| **0.5.x** | `>=0.3,<2` | `>=0.6,<2` | `>=3,<5` | Wider floor — works on older LangGraph (`0.6.x` / LangGraph 1.x with `langgraph-checkpoint 3.x`). Stay here if you cannot move to a `langgraph-checkpoint` 4.x stack. |
34+
35+
Guidance:
36+
- **On LangChain `1.x` with `langgraph-checkpoint 4.x`** (langgraph `1.0.6+`): use `0.6.x`. `langgraph-checkpoint 4.x` is what provides the `copy_thread` / `delete_for_runs` / `prune` checkpoint capabilities.
37+
- **Pinned to `langgraph-checkpoint 3.x`, langgraph `<1.0.6`, or LangChain `0.3.x`**: pin `langchain-oceanbase>=0.5,<0.6`; `0.6.0` will not resolve against that stack.
38+
39+
```bash
40+
# LangChain 1.x with a langgraph-checkpoint 4.x stack
41+
pip install "langchain-oceanbase>=0.6,<0.7"
42+
43+
# Pinned to langgraph-checkpoint 3.x / older LangGraph you cannot upgrade yet
44+
pip install "langchain-oceanbase>=0.5,<0.6"
45+
```
2646

2747
## LangChain Integration
2848

@@ -34,15 +54,15 @@ For LangGraph applications, the recommended persistence surfaces are:
3454
- `OceanBaseCheckpointSaver` for graph state, replay, and time-travel workflows
3555
- `OceanBaseStore` for long-term memory, retrieval, and TTL-backed storage
3656

37-
In `0.5.1`, the package story is straightforward:
57+
In `0.6.0`, the package story is straightforward:
3858
- OceanBase: full pack support for vectorstore + checkpoint + store
3959
- seekdb: full pack support for vectorstore + checkpoint + store
4060
- MySQL: compatible checkpoint + store backend for existing on-prem MySQL estates
4161

4262
Official documentation:
4363
https://python.langchain.com/docs/integrations/vectorstores/oceanbase/
4464

45-
## 0.5.1 Support Matrix
65+
## Support Matrix
4666

4767
| Backend | LangGraph checkpoint | LangGraph store | Vector store | Hybrid search | Notes |
4868
| --- | --- | --- | --- | --- | --- |
@@ -181,11 +201,12 @@ pip install -U langchain-oceanbase
181201
### Requirements
182202

183203
- Python >=3.11
184-
- langchain-core >=1.0.0
185-
- pyobvector >=0.2.0 (required for database client)
204+
- langchain-core >=1.0,<2
205+
- langgraph >=1.0.6,<2 and langgraph-checkpoint >=4.0,<5 (for `OceanBaseCheckpointSaver`)
206+
- pyobvector >=0.2.25 (required for database client)
186207
- `pyseekdb` extra (optional; install `langchain-oceanbase[pyseekdb]` for built-in embeddings and embedded seekdb support)
187208

188-
> **Tip**: The current version (0.5.1) supports `langchain-core >=1.0.0`. See [CHANGELOG.md](./CHANGELOG.md) for version history.
209+
> **Tip**: `0.6.x` requires a LangChain **1.x** / `langgraph-checkpoint` **4.x** stack. If you are pinned to `langgraph-checkpoint 3.x` or LangChain `0.3.x`, use `langchain-oceanbase>=0.5,<0.6` instead — see [Version Compatibility](#version-compatibility).
189210
190211
### Platform Support
191212

0 commit comments

Comments
 (0)