Releases: langchain-ai/langchain-redis
libs/redis/v0.2.4
Summary
This release includes critical bug fixes for ToolMessage serialization, Redis Sentinel support, and several improvements to key prefix handling and semantic cache functionality. All components
have been updated to work with the latest dependencies including langchain-core 0.3.77 and redis-py 6.4.0.
What's Changed
🚀 New Features
- Redis Sentinel Support (#81) - All components (RedisVectorStore, RedisCache, RedisSemanticCache, RedisChatMessageHistory) now support high-availability Redis deployments via redis+sentinel://
URLs using RedisVL's ConnectionFactory
🐛 Bug Fixes
- ToolMessage Serialization (#51) - Fixed KeyError when deserializing ToolMessage in RedisChatMessageHistory by properly storing tool_call_id and status fields. This resolves issues with
tool-calling agents using RunnableWithMessageHistory - RedisSemanticCache Prefix Parameter (#76) - The prefix parameter now works correctly for cache key namespacing. Intelligently maps name/prefix combinations to RedisVL's cache name parameter for
multi-tenant isolation - Key Prefix Double Colon Issue (#78) - Added legacy_key_format parameter (defaults to True) to provide opt-in fix for double colon in Redis keys while maintaining backward compatibility with
existing deployments - Testcontainers Deprecation Warnings - Migrated from DockerCompose to DockerContainer with LogMessageWaitStrategy, eliminating deprecation warnings in test suite
📦 Dependency Updates
Major version updates via poetry update:
- langchain-core: 0.3.59 → 0.3.77
- langsmith: 0.3.42 → 0.4.31
- redis: 5.3.0 → 6.4.0
- numpy: 1.26.4 → 2.0.2
- mypy: 1.15.0 → 1.18.2
- pydantic: 2.11.4 → 2.11.9
- Plus 12 other dependency updates
Type checking compatibility fixes for stricter mypy 1.18.2 included.
Breaking Changes
None - all changes maintain backward compatibility via default parameters.
Migration Guide
For Key Prefix Double Colon Fix (#78)
If you want to use the corrected single-colon format (prefix:doc_id instead of prefix::doc_id):
from langchain_redis import RedisConfig, RedisVectorStore
config = RedisConfig(
index_name="my_index",
key_prefix="my_prefix",
legacy_key_format=False, # Use correct format
embedding_dimensions=768
)
vectorstore = RedisVectorStore(embeddings=embeddings, config=config)
Note: Only set legacy_key_format=False for new deployments. Existing deployments should keep the default True to maintain compatibility with existing keys.
For Redis Sentinel (#81)
All components now accept Sentinel URLs:
from langchain_redis import RedisChatMessageHistory
# Standard Redis
history = RedisChatMessageHistory(
session_id="user123",
redis_url="redis://localhost:6379"
)
# Redis Sentinel (new!)
history = RedisChatMessageHistory(
session_id="user123",
redis_url="redis+sentinel://sentinel-host:26379/mymaster"
)Full Changelog
- e7e2411 feat: add Redis Sentinel support (#81)
- 36bc3f9 fix: implement prefix parameter support in RedisSemanticCache (#76)
- 160c5d7 fix: add backward-compatible solution for double colon in key prefixes (#78)
- 67e7038 fix: store tool_call_id and status for ToolMessage serialization (#51)
- 1d4a9ca chore: upgrade dependencies to latest versions
- 364da6d fix: eliminate testcontainers deprecation warnings
- 442e47b release: Bump to 0.2.4
Acknowledgments
Thanks to @alienware for the initial work on the ToolMessage serialization fix in PR #73.
Full Changelog: libs/redis/v0.2.3...libs/redis/v0.2.4
libs/redis/v0.2.3
What's Changed
- release: Bump to 0.2.3 and loosen redisvl dep by @tylerhutcherson in #72
Full Changelog: libs/redis/v0.2.2...libs/redis/v0.2.3
libs/redis/v0.2.2
What's Changed
- feat: Add Claude Code GitHub Workflow by @abrookins in #68
- fix: Fix session id bug by using the token escaper class, use redisvl for querying, and use ULIDs instead of timestamps to avoid collisions by @tylerhutcherson in #69
- docs: Update readme, docs, and examples. bump version by @tylerhutcherson in #70
- feat: extend RedisVL version support to 0.7.0 by @bsbodden in #71
Full Changelog: libs/redis/v0.2.1...libs/redis/v0.2.2
libs/redis/v0.2.1
What's Changed
- Redis/v0.2.1 by @bsbodden in #63
- fix: RedisVectorStore::add_texts ignores **kwargs ids parameter (#58 by @bsbodden in #65
- fix(deps): update numpy version constraints for Python 3.13 compatibility by @syscl in #64
- fix: handle empty values in get_by_ids for RedisVectorStore by @Gauraviitkgp in #60
- fix: update RedisVL semantic cache import to fix deprecation warning by @bsbodden in #66
New Contributors
- @syscl made their first contribution in #64
- @Gauraviitkgp made their first contribution in #60
Full Changelog: libs/redis/v0.2.0...libs/redis/v0.2.1
libs/redis/v0.2.0
What's Changed
- Feat/raae 529/simple by @rbs333 in #47
- Bump version for dependency updates by @abrookins in #50
- fix: index response error compatible with stack and redis 8 by @wjohnsto in #54
- feat: add ttl support to vector store by @TheEaterr in #46
- Update to support redisvl 0.4.0 by @tylerhutcherson in #56
New Contributors
- @rbs333 made their first contribution in #47
- @abrookins made their first contribution in #50
- @wjohnsto made their first contribution in #54
- @TheEaterr made their first contribution in #46
Full Changelog: libs/redis/v0.1.2...libs/redis/v0.2.0
libs/redis/v0.1.2
What's Changed
- Bsb/gh 35 by @bsbodden in #36
- infra: use artifact v4 in release pipeline by @efriis in #34
- infra: disable pypi release attestations by @efriis in #32
- feature: in similarity_search, include keys in returned Documents when return_all=True by @bsbodden in #37
- add sort_by parameter to vector_store queries by @lelikg in #40
- Support get_by_ids by @nickderobertis in #42
- Implement async methods for RedisSemanticCache (alookup, aupdate, aclear) (resolves gh-21) by @bsbodden in #45
New Contributors
- @lelikg made their first contribution in #40
- @nickderobertis made their first contribution in #42
Full Changelog: libs/redis/v0.1.1...libs/redis/v0.1.2
libs/redis/v0.1.1
What's Changed
- Add missing scripts directory by @bsbodden in #28
- Bump redisvl and fix bugs by @tylerhutcherson in #26
- Release v0.1.1 by @bsbodden in #30
New Contributors
- @tylerhutcherson made their first contribution in #26
Full Changelog: libs/redis/v0.1.0...libs/redis/v0.1.1
libs/redis/v0.1.0
What's Changed
- redis[major]: upgrade to pydantic 2 by @ccurme in #14
- redis[patch]: fix config init by @baskaryan in #15
- fix: compare error message to create index by @MarceloNunesAlves in #18
- redis[patch]: fix initialization of RedisConfig.index_schema by @ccurme in #19
New Contributors
- @ccurme made their first contribution in #14
- @baskaryan made their first contribution in #15
- @MarceloNunesAlves made their first contribution in #18
Full Changelog: libs/redis/v0.0.4...libs/redis/v0.1.0
libs/redis/v0.0.4
What's Changed
- Langchain redis/release 0.0.4 by @bsbodden in #12
- Langchain redis/add to release 0.0.4 by @bsbodden in #13
Full Changelog: libs/redis/v0.0.3...libs/redis/v0.0.4
libs/redis/v0.0.3
What's Changed
Full Changelog: libs/redis/v0.0.2...libs/redis/v0.0.3