Status and roadmap
Respire is pre-release. The features below are implemented, but public APIs may still change. Server and protocol requirements vary by feature; each linked guide describes its limits.
Available now
Connections, routing, and recovery
- Connections through Redis-style URIs, StackExchange.Redis connection
strings, or
RespireOptions, with lazy/eager connection, TLS, and automatic pipelining. - RESP3 preference with bounded RESP2 fallback, explicit protocol overrides, and typed reply normalization.
- Redis Cluster routing with periodic topology refresh, redirect recovery, and same-slot transactions.
- Automatic Sentinel failover: monitors subscribe to
primary-switch and down events, rediscover the service, and validate the replacement with
ROLE. Reactive recovery remains available after disconnects orREADONLYreplies. - Replica selection through
ReadFromandWithReadFrom, including nearest reads, hedged reads, and availability-zone affinity. - Reconnect policies, automatic pub/sub resubscription, maintenance notifications and handoffs, and health-checked failover groups across deployments.
- Renewable credentials, independent Sentinel authentication, and Azure Managed Redis / AWS IAM adapters.
Commands and coordination
- Typed string, key, collection, stream, bitmap, HyperLogLog, geo, script, and server facets; an audited command catalog and raw/interpolated execution, plus source-generated custom commands.
- Blocking queues and streamed string transfers use dedicated connections where needed to keep multiplexed traffic moving.
- Batches, transactions, and
WATCH, plus durability acknowledgements. - Pub/sub, pattern and sharded subscriptions, and delivery-gap reporting. Typed keyspace, keyevent, and Redis 8.8 subkey notifications include Cluster routing to the owning primary for exact keys and fan-out across primaries for patterns. Reconnects can lose notifications; topology changes can lose or duplicate them.
- Managed distributed locks and coordination with fencing tokens, leases, semaphores, and rate limiting.
- Typed JSON, Search, TimeSeries, probabilistic, and vector-set APIs.
Caching, integration, and testing
- Bounded RESP3 server-assisted client-side caching, with OPTIN or BCAST/prefix tracking for eligible reads.
- Typed serialization and custom serializers, with optional value compression codecs.
- Dependency injection,
Microsoft distributed caching and
HybridCache, and OpenTelemetry traces and metrics. - An in-memory testing server with controlled expiry and faults, Redis/Valkey container fixtures, and a shared test sample for .NET 8 and .NET 10.
Planned work
These open epics track remaining work, not release commitments. Follow their linked issues for acceptance criteria, dependencies, and current status:
- Resilience and API parity: command retry policies, circuit breakers, and further connection/API work.
- Typed command coverage: Redis 8.10 / Valkey 9.1 commands, missing options, and module/admin APIs.
- Ecosystem integrations: Aspire, ASP.NET Core, messaging, caching, and other libraries that currently depend on StackExchange.Redis.
- Higher-level capabilities: stream workers,
source-generated object mapping, coherent
HybridCacheL1, and field-level caching research. - Documentation and samples: guides and runnable examples for the expanded feature set.
See Coming from StackExchange.Redis for a feature comparison.
Design source
The full surface, tradeoffs, wire architecture, and future work live in the repository's API design specification. The longer Why Respire document explains the product bets and where the client fits.
Track changes and contribute through GitHub issues.