Release Notes
fix: permit clear() when create_index=False, and drop its FT.INFO dependency (#704)
SemanticCache, MessageHistory, SemanticMessageHistory and SemanticRouter constructed with create_index=False can now call clear() to remove their entries. Previously both clear() and delete() raised ValueError under that flag; delete() still does, because it drops the index. This is a behavioural change: code that caught ValueError from clear() and treated it as "unavailable" will now delete data.
SearchIndex.clear() and AsyncSearchIndex.clear() no longer issue FT.INFO. They size their internal delete loop with a CountQuery instead, so clearing an index is available to a credential built from +@read +@write, which is denied FT.INFO. Clearing also no longer stops early on a page whose keys could not be deleted.
EXTERNAL_INDEX_LIFECYCLE_CONFLICT in redisvl.extensions.constants is renamed to EXTERNAL_INDEX_DROP_CONFLICT, and its message has changed. Code importing the old name, or matching on the old text, needs updating.
🐛 Bug Fix
- fix: escape glob metacharacters in SCAN match patterns #702 @vishal-bala
- fix: EmbeddingsCache batch writes silently dropped on async Redis Cluster #697 @vishal-bala
- fix: keep
paginategoing past a page whose matches were all dropped #701 @vishal-bala - fix: SemanticCache fails to connect to Sentinel instances with quoted passwords #732 @nnick14
- fix(tests): isolate the LangCache integration suite from its shared cache #725 @vishal-bala
- fix: permit clear() when create_index=False, and drop its FT.INFO dependency #704 @vishal-bala
- fix: cache clear() and migration key scans hang or crash on Redis Cluster #703 @vishal-bala