Skip to content

Releases: imperugo/StackExchange.Redis.Extensions

v12.2.0

22 May 06:18
cea7261

Choose a tag to compare

Bug Fixes

  • SearchKeysAsync ignoring database numberSearchKeysAsync was using a raw SCAN command via IServer.ExecuteAsync which always defaults to database 0, regardless of which database instance (Db1, Db2, etc.) was used. Replaced with IServer.KeysAsync(database, pattern) which correctly targets the specified database. (#651)

  • RemoveByTagAsync not cleaning up tag keysRemoveByTagAsync deleted all data keys referenced by a tag but never deleted the tag Set key itself (tag:{tagName}), causing empty Redis Sets to accumulate indefinitely. The tag key is now deleted after removing its members. (#650)

Security

  • Upgraded Snappier from 1.1.6 to 1.3.x to fix high severity vulnerability (GHSA-pggp-6c3x-2xmx)

Full Changelog: v12.1.0...v12.2.0

v12.1.0

11 Apr 13:19
c8803c3

Choose a tag to compare

StackExchange.Redis.Extensions v12.1.0

AI/ML features and developer experience improvements.

New Features

VectorSet API for AI/ML Similarity Search (#631, PR #647)

15 methods covering Redis 8.0 VectorSet operations for RAG, recommendations, and semantic search:

  • VectorSetAddAsync, VectorSetSimilaritySearchAsync, VectorSetRemoveAsync, VectorSetContainsAsync
  • VectorSetLengthAsync, VectorSetDimensionAsync, VectorSetInfoAsync
  • VectorSetGetAttributesJsonAsync, VectorSetSetAttributesJsonAsync
  • VectorSetRandomMemberAsync, VectorSetRandomMembersAsync
  • VectorSetGetApproximateVectorAsync, VectorSetGetLinksAsync, VectorSetGetLinksWithScoresAsync

AI Coding Assistant Integration (#629, #630, PR #649)

  • llms.txt — Standard file for AI documentation indexing (Context7, Copilot, Cursor)
  • Claude Code plugin with 3 skills:
    • /redis-configure — Generate configuration from natural language
    • /redis-scaffold — Production code patterns (cache-aside, Streams, Geo, VectorSet RAG)
    • /redis-diagnose — Troubleshoot timeouts, connection failures, serialization errors

Documentation Improvements

  • Complete API reference tables added to GeoSpatial, Streams, VectorSet, and Compression docs
  • Migration Guide: v11 → v12
  • All old documentation modernized to .NET 8+ patterns

Security & CI

  • SECURITY.md with GitHub Private Vulnerability Reporting
  • CodeQL Advanced security analysis (C# + GitHub Actions scanning)
  • CI workflow for automated testing on push/PR to master
  • Manual NuGet publish workflow (replaced auto-trigger)

NuGet Packages Published

All 14 packages published as v12.1.0:

  • Core, AspNetCore
  • Serializers: System.Text.Json, Newtonsoft, MsgPack, Protobuf, MemoryPack, ServiceStack, Utf8Json
  • Compressors: LZ4, Snappier, ZstdSharp, GZip, Brotli (first publish — these were missing from v12.0.0)

Install

dotnet add package StackExchange.Redis.Extensions.Core --version 12.1.0

Full Changelog

v12.0.0...v12.1.0

v12.0.0

11 Apr 11:27
0b8c6c2

Choose a tag to compare

StackExchange.Redis.Extensions v12.0.0

Major release with new features, bug fixes, modernized infrastructure, and comprehensive documentation.

New Features

  • GeoSpatial Indexes (#245, PR #621) — 16 methods: GEOADD, GEOSEARCH, GEODIST, GEOPOS, GEOHASH, GEORADIUS, GEOSEARCHSTORE
  • Redis Streams (#190, PR #621) — 16 methods with consumer group support
  • Hash Field Expiry (#483, PR #622) — HSETEX, HEXPIRE, HPTTL, HPERSIST (Redis 7.4+)
  • Transparent Compression (#327, PR #622) — 5 packages: LZ4, Snappier, ZstdSharp, GZip, Brotli
  • Azure Managed Identity (#596, PR #622) — ConfigurationOptionsAsyncHandler
  • New Configuration Properties (#595, #496, #613) — ClientName, KeepAlive, CertificateSelection
  • .NET 10 Support (#619, PR #620)

Bug Fixes

  • Fixed SyncTimeout default 1000ms → 5000ms (#608, PR #618)
  • Fixed Sentinel CommandMap blocking data commands (#609, PR #618)
  • Fixed AddAllAsync TTL race condition (#615, PR #618)
  • Fixed pool resilience — skips disconnected connections (#625, PR #627)
  • Fixed PubSub handler silently swallowing exceptions (#626, PR #627)

Infrastructure

  • Upgraded StackExchange.Redis to 2.12.14
  • Replaced Moq with NSubstitute (#623, PR #624)
  • Source-generated logging via [LoggerMessage] (PR #628)
  • Comprehensive documentation rewrite (PR #628)
  • 970+ tests passing

Migration Guide

See Migration Guide: v11 → v12

6.3.5

01 Sep 15:15

Choose a tag to compare

6.3.4

12 Jul 16:34

Choose a tag to compare

Fixed problem related to reconnecting

See here #296

6.3.1

03 Jul 08:17

Choose a tag to compare

Fixed #288

6.3.0

22 Jun 13:22

Choose a tag to compare

Changed IsSlave with IsReplica

5.3.0

09 Oct 20:08

Choose a tag to compare

  • Fix #201 (GetAsync with renew expiring always return default value)
  • Feature #185 (Added ConfigurationChannel to the configuration object)
  • Feature #203 Added InfoDetail object that returns the Category along with the Key

5.2.0

01 Sep 15:23

Choose a tag to compare

  • Added SortedSetIncrement (see #194)

5.1.1

10 Aug 17:41

Choose a tag to compare

  • Deprecating sync methods