Repository navigation
0.4.0
What's Changed
- Add command flags by @thomhurst in #97
- feat(api): cancellation overloads for multi-key commands by @thomhurst in #108
- refactor(client)!: collapse ExecuteAsync overloads, drop throwing interface defaults by @thomhurst in #104
- ci(benchmarks): raise measurement quality for published results by @thomhurst in #110
- feat(locks): RespireLock handle with auto token + async dispose release by @thomhurst in #102
- feat(api)!: RespireTtl expiry union replaces expiry/keepTtl sprawl by @thomhurst in #106
- feat(batch)!: facet-structured batch/transaction surface with client-facet naming parity by @thomhurst in #109
- feat(pubsub)!: awaited SubscribeAsync activation, lazy Subscribe removed by @thomhurst in #103
- ci(benchmarks): run only on manual dispatch and schedule by @thomhurst in #111
- feat(api): TryGetAsync + typed read/write symmetry across facets by @thomhurst in #105
- Make IRespireClient.TryGetAsync abstract by @thomhurst in #147
- Add TryGetValue to RespireGet by @thomhurst in #148
- Make lock acquisition results explicit by @thomhurst in #154
- Release resources on empty transaction commits by @thomhurst in #152
- Reject null Redis command arguments by @thomhurst in #151
- Clarify bitmap return semantics by @thomhurst in #153
- Parse StackExchange.Redis connection strings by @thomhurst in #150
- Fault pendings when an unsent batch is discarded by @thomhurst in #156
- Harden deferred batch and transaction execution by @thomhurst in #157
- Optimize ASCII RESP string writes by @thomhurst in #158
- Unify collection cardinality naming by @thomhurst in #155
- Add endpoint and error context to connection state events by @thomhurst in #149
- Improve exception ergonomics by @thomhurst in #160
- Clarify expiry input and TTL result types by @thomhurst in #161
- Expose deferred result lifecycle state by @thomhurst in #159
- Optimize RESP string decoding by @thomhurst in #163
- Report per-command failures from batch flushes by @thomhurst in #165
- Optimize root GET shortcuts by @thomhurst in #167
- Add RespireKey and RespireValue equality by @thomhurst in #162
- Internalize the RESP protocol layer by @thomhurst in #169
- Use synchronous names for deferred commands by @thomhurst in #166
- perf: ASCII fast path for UTF-8 string decoding by @thomhurst in #171
- Align return and result types across command facets by @thomhurst in #164
- Add async collection scan APIs by @thomhurst in #173
- Polish string and GEO command naming by @thomhurst in #172
- Add typed collection read overloads by @thomhurst in #175
- Expand set and sorted-set command coverage by @thomhurst in #174
- Add scripts and typed TryGet to deferred commands by @thomhurst in #176
- perf: direct bulk-string response path for GET-family commands by @thomhurst in #179
- Normalize variadic API overloads by @thomhurst in #177
- Polish key and server facets by @thomhurst in #180
- Improve DI and cache registration ergonomics by @thomhurst in #182
- Unify expiry APIs around RespireExpiry by @thomhurst in #170
- Improve pooled result and lease ergonomics by @thomhurst in #181
- Enforce public API documentation by @thomhurst in #184
- Improve pub/sub subscription observability by @thomhurst in #187
- Tighten RespireOptions defaults and validation by @thomhurst in #183
- Add trim and NativeAOT serialization support by @thomhurst in #186
- feat(analyzers): RESP001 undisposed result, RESP002 pending read before flush by @thomhurst in #107
- Simplify command escape hatch by @thomhurst in #178
- Improve distributed lock ergonomics by @thomhurst in #185
- Reduce command timeout overhead by @thomhurst in #188
Full Changelog: v0.3.43...v0.4.0
NuGet packages
dotnet add package Respire --version 0.4.0
dotnet add package Respire.Extensions.Caching --version 0.4.0
dotnet add package Respire.Extensions.Caching.Hybrid --version 0.4.0
dotnet add package Respire.Extensions.DependencyInjection --version 0.4.0