Releases: redis-developer/langgraph-redis
v0.3.2
What's Changed
- fix(shallow): remove warning spam for UUIDv6 checkpoint IDs (#136) by @bsbodden in #140
- fix(checkpoint): ashallow missing TTL expire for checkpoint_writes by @demetere in #139
- chore: cleanup test file formatting and unused import by @bsbodden in #141
- fix(security): update langchain-core to 1.2.6 (CVE-2025-68664) by @bsbodden in #142
New Contributors
Full Changelog: v0.3.1...v0.3.2
v0.3.1
0.3.0
Release 0.3.0 🚀
Custom Prefixes for Checkpoint Savers (#125, #127)
You can now configure custom key prefixes for checkpoint and store data, enabling multiple isolated checkpoint savers to coexist in the same Redis instance:
from langgraph.checkpoint.redis import RedisSaver
# Use custom prefixes for isolation
saver = RedisSaver.from_conn_string(
redis_url,
checkpoint_prefix="myapp:checkpoints:",
checkpoint_writes_prefix="myapp:writes:",
blob_prefix="myapp:blobs:"
)Bug Fixes
- Pydantic BaseModel Compatibility (#126): Fixed deserialization of Pydantic BaseModel state objects by prioritizing _revive_if_needed over _reviver in the serde chain
- LangChain Message Serialization in Store (#128): RedisStore now properly serializes and deserializes LangChain message objects (HumanMessage, AIMessage, etc.)
- Security Updates: Updated urllib3 and langchain-core to address high-severity vulnerabilities
Compatibility
- Redis-py 7.x Ready: Removed upper bound on redis-py version to allow 7.x when redisvl updates their constraint
- Python 3.13 Support: Added compatibility tests confirming support for Python 3.13
Contributors
We'd like to thank all the contributors who worked on this release!
0.2.1
0.2.0
Changes
- feat: Upgrade to LangGraph 1.0 and Checkpoint 3.0 (#110) (#120)
See https://github.com/redis-developer/langgraph-redis/blob/main/MIGRATION_0.2.0.md
Contributors
We'd like to thank all the contributors who worked on this release!
0.1.3
Changes
- release: bump version to 0.1.3 (#121)
- fix(serializer): properly deserialize Interrupt objects to prevent At… (#119)
- Test/issue 116 async blob access (#118)
- fix(checkpoint): update blob access to support JSON path syntax (#117)
- perf(checkpoint): eliminate json.dumps fallback by using orjson default handler (#112)
- feat(checkpoint)!: sort list/alist by checkpoint ID descending (#106) (#107)
- fix(checkpoint): ensure write_keys_zset uses storage-safe sentinel va… (#105)
Contributors
We'd like to thank all the contributors who worked on this release!
0.1.2
🎉 What's New
Features
- Custom Store Prefixes (#99): Added support for customizable store and vector prefixes, enabling multiple isolated stores in the same Redis instance
store = RedisStore.from_conn_string(
redis_url,
store_prefix="myapp_store",
vector_prefix="myapp_vectors"
)
Bug Fixes
- Type Compatibility: Resolved mypy type errors with redis-py 6.3.0+ stricter JsonType requirements for JSONCommands.set()
- Runtime Warnings: Fixed deprecation warning for datetime.utcnow() (now uses datetime.now(timezone.utc))
- Async Client Info: Fixed RuntimeWarning about unawaited coroutines in set_client_info() by moving call to concrete implementations
- Test Accuracy (#87): Removed incorrect skip decorator from test_async_alist_with_deserialization - the deserialization feature was already implemented
Dependencies
- redisvl: Upgraded from 0.8.0 → 0.9.1
- Fixes version reporting (version now correctly reports "0.9.1")
- Includes fix for ClusterPipeline AttributeError (#96)
- redis: Constraint updated from ^6.2.0 to >=5.2.1,<7.0.0 to align with documentation
Testing
- Regression Tests (#96): Added comprehensive test suite for cluster mode AttributeError to prevent future regressions
- Custom Prefix Tests (#99): Added 9 tests covering default prefixes, custom prefixes, isolation, and backward compatibility
🔄 Upgrade Notes
This release is fully backward compatible. The default store prefixes ("store" and "store_vectors") remain unchanged, so existing deployments will continue to work without modifications.
🙏 Contributors
We'd like to thank all the contributors who worked on this release!
0.1.1
🤘🏾Changes
- feat: add TTL removal support for pinning checkpoints (#66) (#90)
- docs: add Azure Cache for Redis and Redis Enterprise configuration gu… (#89)
- feat: add MessageExporter for extracting conversation messages from c… (#88)
🐛 Bug Fixes
- fix: handle missing connection_pool attribute in RedisCluster (#93) (#94)
- fix: resolve Command(resume) warning about invalid packet type dict (#83) (#84)
- fix: deserialize LangChain messages in async checkpoint operations (#85, #87) (#87)
- fix: enhance message deserialization to prevent MESSAGE_COERCION_FAIL… (#86)
- fix: handle missing blob attribute in shallow checkpoint savers (#80) (#82)
Contributors
We'd like to thank all the contributors who worked on this release!
0.1.0
Changes
- perf: performance-driven re-design (#81)
- Performance Project for LangGraph Checkpointers - Mark 1 (#78)
- fix: add async setup() method to AsyncRedisSaver (#74) (#77)
- test: fix RuntimeWarning in async cluster mode tests (#75)
Contributors
We'd like to thank all the contributors who worked on this release!