Skip to content

v0.31.0

Latest

Choose a tag to compare

@applied-ai-release-bot applied-ai-release-bot released this 06 Nov 09:05

RedisVL 0.31.0 adds Python 3.15 support, makes async paths that wrap a sync Redis client behave like a native async client, and changes how HybridQuery treats zero-valued combination parameters. Read the behaviour change below before upgrading if you set linear_alpha, rrf_constant or rrf_window to 0.

Highlights

Python 3.15 support

RedisVL now supports Python 3.15, and every extra installs on it except where an upstream package's own Python bounds block it: voyageai on 3.15, and sql-redis on 3.14 and later. The mcp extra now requires beartype>=0.23.1. (#768, @vishal-bala)

Sync clients converted to async keep their configuration

SemanticCache, AsyncSearchIndex and the other async paths that accept a sync client now carry over more of that client's setup when they convert it:

  • TLS clients (Redis(ssl=True, ...)), unix-socket clients and custom SSLConnection subclasses now work. (#792, @Yarmoluk)
  • The client's retry policy is preserved, so the async client reconnects after a dropped connection. (#817, @Yarmoluk)

Sentinel-managed clients, RedisCluster clients and clients with a sync-only setting such as OCSP validation now raise ValueError at conversion time, pointing you to redis_url. Previously they failed with TypeError on the first command.

Behaviour change: zero-valued hybrid parameters are honoured

HybridQuery previously dropped linear_alpha=0 and rrf_constant=0; it now sends them, so affected queries rank differently. The same applies to the MCP server's search.params.linear_text_weight: 0 and rrf_constant: 0 on native hybrid search. rrf_window=0 now returns a server error instead of being ignored. (#819, @hyeonsang010716)

Other fixes

  • CohereTextVectorizer.aembed and aembed_many now make non-blocking calls through Cohere's async client. If you pass your own httpx_client, also pass async_httpx_client to keep async calls non-blocking. (#785, @Yarmoluk)
  • Normalised COSINE scores from VectorQuery, VectorRangeQuery, AggregateHybridQuery and MultiVectorQuery stay within [0, 1] when floating-point rounding produces a slightly negative distance. (#823, @limjoobin)
  • Existing SVS-VAMANA indexes created without compression now load. (#790, @itsrayeedscodespace)

Dependencies

Contributors

Thanks to @Yarmoluk, @hyeonsang010716, @limjoobin and @itsrayeedscodespace for their contributions to this release, including first contributions from @hyeonsang010716 and @itsrayeedscodespace.

Full changelog: v0.30.0...v0.31.0