Skip to content

0.7.0

Choose a tag to compare

@github-actions github-actions released this 03 Oct 23:11
e21bf12

What's Changed

  • chore(deps): update dependency tunit to 1.65.31 by @thomhurst in #303
  • chore(deps): update dependency tunit to 1.65.38 by @thomhurst in #304
  • chore(deps): update dependency stackexchange.redis to 3.1.31 by @thomhurst in #305
  • test(docs): compile public snippets by @thomhurst in #306
  • chore(deps): update dependency tunit to 1.65.51 by @thomhurst in #308
  • chore(deps): update dependency tunit to 1.65.63 by @thomhurst in #309
  • chore(deps): update dependency tunit to 1.65.68 by @thomhurst in #310
  • fix(docs): skip nested example fences by @thomhurst in #307
  • chore(deps): update dependency reservoir to 1.5.0 by @thomhurst in #311
  • chore(deps): update dependency reservoir to 1.6.0 by @thomhurst in #312
  • chore(deps): update actions/deploy-pages digest to 368f825 by @thomhurst in #313
  • chore(deps): update dependency reservoir to 1.6.3 by @thomhurst in #314
  • chore(deps): update dependency tunit to 1.66.0 by @thomhurst in #315
  • fix(ci): support external contributors in Claude workflows by @thomhurst in #316
  • chore(deps): update dependency tunit to 1.66.8 by @thomhurst in #317
  • chore(deps): update dependency reservoir to 1.6.7 by @thomhurst in #318
  • chore(deps): update dependency tunit to 1.66.10 by @thomhurst in #319
  • chore(deps): update dependency reservoir to 1.6.10 by @thomhurst in #320
  • chore(deps): update dependency tunit to 1.66.16 by @thomhurst in #321
  • chore(deps): update dependency testcontainers.redis to 4.15.0 by @thomhurst in #322
  • chore(deps): update dependency tunit to 1.66.27 by @thomhurst in #323
  • chore(deps): update dependency reservoir to 1.7.0 by @thomhurst in #324
  • chore(deps): update dependency system.io.pipelines to 10.0.12 by @thomhurst in #326
  • chore(deps): update dependency system.diagnostics.diagnosticsource to 10.0.12 by @thomhurst in #325
  • chore(deps): update microsoft.extensions to 10.0.12 by @thomhurst in #328
  • chore(deps): update dependency system.io.hashing to 10.0.12 by @thomhurst in #327
  • chore(deps): update dependency microsoft.extensions.caching.hybrid to 10.10.0 by @thomhurst in #330
  • chore(deps): update dependency dotnet-sdk to v10.0.401 by @thomhurst in #329
  • chore(deps): update react to ^19.3.0 by @thomhurst in #331
  • chore(deps): update dependency reservoir to 1.8.0 by @thomhurst in #332
  • chore(deps): update dependency stackexchange.redis to 3.2.0 by @thomhurst in #334
  • chore(deps): update dependency tunit to 1.67.0 by @thomhurst in #335
  • chore(deps): update dependency polyfill to 11.3.0 by @thomhurst in #333
  • chore(deps): update dependency stackexchange.redis to 3.2.1 by @thomhurst in #336
  • chore(deps): update dependency reservoir to 1.9.0 by @thomhurst in #337
  • chore(deps): update dependency reservoir to 1.9.1 by @thomhurst in #338
  • chore(deps): update dependency fluentassertions to 8.11.0 by @thomhurst in #339
  • chore(deps): update dependency tunit to 1.68.0 by @thomhurst in #340
  • chore(deps): update dependency stackexchange.redis to 3.2.15 by @thomhurst in #342
  • chore(deps): update dependency tunit to 1.68.4 by @thomhurst in #341
  • chore(deps): update dependency stackexchange.redis to 3.3.0 by @thomhurst in #343
  • chore(deps): update dependency opentelemetry.extensions.hosting to 1.19.0 by @thomhurst in #344
  • chore(deps): update dependency tunit to 1.68.17 by @thomhurst in #345
  • chore(deps): update dependency polyfill to 11.4.0 by @thomhurst in #346
  • chore(deps): update dependency opentelemetry.extensions.hosting to 1.19.1 by @thomhurst in #347
  • chore(deps): update npm to v12.1.0 by @thomhurst in #349
  • chore(deps): update dependency tunit to 1.69.0 by @thomhurst in #350
  • chore(deps): update dependency stackexchange.redis to 3.3.1 by @thomhurst in #348
  • chore(deps): update dependency tunit to 1.69.16 by @thomhurst in #351
  • chore(deps): update dependency tunit to 1.69.21 by @thomhurst in #352
  • chore(deps): update dependency tunit to 1.69.24 by @thomhurst in #353
  • chore(deps): update dependency polyfill to 11.4.1 by @thomhurst in #354
  • chore(deps): update dependency tunit to 1.70.1 by @thomhurst in #355
  • chore(deps): update dependency tunit to 1.71.0 by @thomhurst in #356
  • chore(deps): update dependency tunit to 1.72.0 by @thomhurst in #357
  • fix: put ScanAsync type filter before count hint by @thomhurst in #358
  • refactor: use ScoresMany for multi-member score reads by @thomhurst in #359
  • refactor: share ExpireWhen across key and hash field expiry by @thomhurst in #361
  • refactor: name bitmap population counts explicitly by @thomhurst in #362
  • refactor: unify stream range direction parameter by @thomhurst in #363
  • refactor: align stream and server read names by @thomhurst in #364
  • chore(deps): update dependency tunit to 1.72.4 by @thomhurst in #369
  • fix: avoid re-encoding GEOSEARCH result members by @thomhurst in #360
  • docs: define membership naming by key field and value by @thomhurst in #368
  • docs: guarantee GC-owned deferred script results by @thomhurst in #371
  • refactor: use Remove for entries within keys by @thomhurst in #366
  • fix: make script spans the implementation core by @thomhurst in #374
  • feat: accept binary-safe bulk sorted-set inputs by @thomhurst in #372
  • Align immediate and deferred write confirmations by @thomhurst in #377
  • refactor: remove obsolete pre-release APIs by @thomhurst in #376
  • feat: add single-member sorted-set pop operations by @thomhurst in #367
  • feat: use typed BITFIELD encodings and offsets by @thomhurst in #370
  • docs: always dispose explicit batches by @thomhurst in #373
  • refactor: require complete interface implementations by @thomhurst in #375
  • Document and enforce uniform variadic cancellation overloads by @thomhurst in #384
  • Reject malformed and partially parsed double replies by @thomhurst in #381
  • Isolate pull-request documentation build concurrency by @thomhurst in #388
  • Reject unroutable Redis Cluster redirect endpoints by @thomhurst in #386
  • Make batch execution report command failures by default by @thomhurst in #385
  • Unify lock ownership with RespireLockToken by @thomhurst in #378
  • Standardize count-based set pops on PopMany by @thomhurst in #382
  • Complete typed batch and transaction facet parity by @thomhurst in #383
  • Align design documentation with supported APIs and compile its examples by @thomhurst in #434
  • Support explicit Cluster and Sentinel connection-string modes by @thomhurst in #380
  • Add typed set membership, move, and intersection count commands by @thomhurst in #435
  • Validate connection string protocols and numeric options by @thomhurst in #438
  • Refresh Cluster topology and recover writes after READONLY by @thomhurst in #391
  • Preserve binary pub/sub channel identities by @thomhurst in #433
  • Add typed hash random fields, value lengths, and expiry times by @thomhurst in #437
  • Add typed list search and mutation commands by @thomhurst in #444
  • Add typed multi-key list pops by @thomhurst in #447
  • Add read-only scripts and typed script cache commands by @thomhurst in #443
  • Preserve native arguments through the agent guard by @thomhurst in #449
  • Preserve correction fencing through paused Redis handshakes by @thomhurst in #450
  • Add sorted-set random members, lex ranges, and intersection counts by @thomhurst in #454
  • Reconcile Redis Cluster node IDs and endpoint aliases by @thomhurst in #432
  • Add multi-key sorted-set pops with dedicated blocking leases by @thomhurst in #460
  • Add typed key expiration timestamps and OBJECT metadata by @thomhurst in #461
  • Report ordered pub/sub delivery gaps after reconnect and overflow by @thomhurst in #455
  • Add typed binary DUMP and RESTORE key commands by @thomhurst in #462
  • Reserve unavailable ports in READONLY recovery tests by @thomhurst in #470
  • Drain dedicated connection pools during graceful retirement by @thomhurst in #468
  • Add typed SORT, SORT_RO, RANDOMKEY, and MOVE helpers by @thomhurst in #467
  • Add Redis Functions and reusable function libraries by @thomhurst in #469
  • Add atomic MSETNX string commands and deferred mirrors by @thomhurst in #478
  • Attach structured diagnostics to command timeout exceptions by @thomhurst in #446
  • Add non-blocking Streams facets to batches and transactions by @thomhurst in #477
  • Add atomic string value and digest comparisons by @thomhurst in #480
  • Queue raw commands with explicit key layouts and owned results by @thomhurst in #479
  • Drain retired multiplexed transports without aborting accepted commands by @thomhurst in #476
  • Bind batch writes to WAIT and WAITAOF acknowledgements by @thomhurst in #482
  • Use native conditional commands for distributed locks by @thomhurst in #489
  • Support same-slot WATCH transactions in Redis Cluster by @thomhurst in #481
  • Update redis Docker tag to v8.10 by @thomhurst in #498
  • Add typed pub/sub introspection and per-node results by @thomhurst in #490
  • Add stream consumer creation and ID metadata commands by @thomhurst in #497
  • Add MINID and LIMIT options for stream trimming by @thomhurst in #499
  • Add scoped client administration and per-node client lists by @thomhurst in #505
  • Support non-zero databases in Valkey 9 clusters by @thomhurst in #491
  • Expand Dragonfly and KeyDB command catalogs by @thomhurst in #500
  • Make reconnect reentrancy test reject handshakes deterministically by @thomhurst in #509
  • Add resumable non-group stream reads by @thomhurst in #501
  • Add stream reference policies and typed deletion outcomes by @thomhurst in #510
  • Assert guarded-removal lease safety across timer races by @thomhurst in #508
  • Add typed ACL administration and explicit per-node results by @thomhurst in #507
  • Validate known raw command keys before Cluster routing by @thomhurst in #511
  • Add stream idempotent production and negative acknowledgements by @thomhurst in #513
  • Add typed server metadata and persistence APIs by @thomhurst in #515
  • Add typed latency and memory diagnostics by @thomhurst in #519
  • Add typed Cluster inspection and per-node results by @thomhurst in #512
  • Add typed Valkey command logs and per-node results by @thomhurst in #520
  • Isolate raw key-layout allocation measurements from GC interference by @thomhurst in #536
  • Add pinned Redis HOTKEYS tracking and diagnostic snapshots by @thomhurst in #523
  • Add opt-in framed value codecs and serializer integration by @thomhurst in #528
  • Retire superseded Cluster transports and correction pools by @thomhurst in #502
  • Add typed vector-set commands and deferred mirrors by @thomhurst in #538
  • Validate Sentinel primary roles and discover fallback peers by @thomhurst in #550
  • Retain unit-test hang diagnostics from the Modular Pipeline by @thomhurst in #553
  • Isolate ring accounting allocation measurements from concurrent GC by @thomhurst in #555
  • Detect thread-pool scheduling stalls before command timeouts by @thomhurst in #529
  • Add optional LZ4 value-codec package by @thomhurst in #560
  • Add configurable command reconnect backoff and limits by @thomhurst in #552
  • Fix keepalive wire-test hang on an unaccepted correction connection by @thomhurst in #561
  • Expose owned diagnostics for retained Cluster generations by @thomhurst in #559
  • Add optional Zstandard value-codec package by @thomhurst in #562
  • Add opt-in value codecs to distributed caching by @thomhurst in #558
  • Add an in-memory RESP testing server with strings and expiry by @thomhurst in #556
  • Keep wire test server accepting after queued peer resets by @thomhurst in #569
  • Use one deadline for correction fences by @thomhurst in #575
  • Measure direct FP32 vector command encoding by @thomhurst in #563
  • Measure value-codec costs and stored payload sizes by @thomhurst in #564
  • Add typed fake-server keys and hash commands by @thomhurst in #580
  • Add reusable Redis and Valkey container test fixtures by @thomhurst in #537
  • Handle retired node disposal during Cluster shutdown by @thomhurst in #574
  • Add scoped deterministic fake-server faults by @thomhurst in #581
  • Apply reconnect policy to dedicated connection acquisitions by @thomhurst in #565
  • Add set commands to the in-memory testing server by @thomhurst in #583
  • Defer fake pipe completion until active I/O finishes by @thomhurst in #585
  • Test dedicated handshake deadlines independently of server receipt by @thomhurst in #587
  • Retry verified container port collisions with fresh owned containers by @thomhurst in #591
  • Apply reconnect policy to Sentinel fallback discovery by @thomhurst in #570
  • Keep reconnect exhaustion tests on an owned endpoint by @thomhurst in #595
  • Add list commands to the in-memory testing server by @thomhurst in #582
  • Apply reconnect policy to pub/sub recovery and resubscription by @thomhurst in #571
  • Add sorted-set commands to the in-memory testing server by @thomhurst in #590
  • Add pub/sub sessions to the in-memory testing server by @thomhurst in #594
  • Add transactions and WATCH to the in-memory testing server by @thomhurst in #596
  • Add shared fake and container testing sample by @thomhurst in #601
  • Add resumable Cluster scans across slot migrations by @thomhurst in #603
  • Add typed keyspace and Redis 8.8 subkey notifications by @thomhurst in #600
  • Add broadcast and prefix tracking for client-side caching by @thomhurst in #609
  • Coalesce concurrent client cache misses by @thomhurst in #610
  • Update npm to v12.2.0 by @thomhurst in #617
  • Prefer RESP3 by default with bounded protocol fallback by @thomhurst in #597
  • Add opt-in field reuse for cached HMGET reads by @thomhurst in #611
  • Expose bounded client-cache invalidation observers by @thomhurst in #615
  • Add coordination package with fencing-token lock leases by @thomhurst in #636
  • Add tracking-aware cache-aside factories by @thomhurst in #619
  • Preserve authoritative read-only command metadata by @thomhurst in #643
  • Apply reconnect policy to Cluster topology recovery by @thomhurst in #598
  • Add reactive Sentinel primary routing and safe generation handoff by @thomhurst in #602
  • Update dependency TUnit to 1.72.10 by @thomhurst in #655
  • Wake fenced lock waiters through Redis tracking by @thomhurst in #657
  • Stream large Redis bulk reads without buffering by @thomhurst in #651
  • Add expiring hash-field coordination leases by @thomhurst in #659
  • Handle RESP3 maintenance notifications with bounded timeout relaxation by @thomhurst in #638
  • Support sharded pub/sub across Redis Cluster primaries by @thomhurst in #616
  • Add source-generated custom command interfaces by @thomhurst in #637
  • Add multi-node Redlock coordination by @thomhurst in #652
  • Renew credentials on live Redis connections by @thomhurst in #618
  • Add distributed countdown latch by @thomhurst in #664
  • Fix flaky Sentinel discovery timeout classification by @thomhurst in #666
  • Add AWS IAM credential providers by @thomhurst in #667
  • Update dependency AWSSDK.Core to 4.0.102.8 by @thomhurst in #671
  • test: fix CS8631 in Sentinel routing tests; confirm Sentinel flake fixed by #666 by @thomhurst in #675
  • Harden coordination lease recovery by @thomhurst in #662
  • Add Azure Managed Redis credential provider by @thomhurst in #668
  • Add distributed read-write lock leases by @thomhurst in #656
  • Add standalone failover groups by @thomhurst in #650
  • Add Redis-backed rate limiters by @thomhurst in #665
  • fix: stabilize Sentinel retirement race and allocation tests by @thomhurst in #681
  • Add Redis Cluster failover candidates by @thomhurst in #679
  • Respire.Probabilistic: add typed probabilistic data structure package by @thomhurst in #673
  • Add Sentinel failover candidates (breaking status API) by @thomhurst in #680
  • Make the merge gate and loop skill act on Claude review comments by @thomhurst in #693
  • Client-side cache: fence known multi-key writes by @thomhurst in #692
  • feat: add typed RedisJSON package by @thomhurst in #669
  • fix: round lock expiry up to Redis precision by @thomhurst in #703
  • fix: narrow legacy Claude review detection by @thomhurst in #700
  • Handle MOVING maintenance handoffs by @thomhurst in #676
  • test: expand AWS IAM provider coverage by @thomhurst in #705
  • feat: generate client cache mutation metadata by @thomhurst in #708
  • fix: preserve lock ownership on canceled release by @thomhurst in #677
  • Extend replica read policies to Sentinel and primary/replica deployments (breaking: IRespireClient.WithReadFrom) by @thomhurst in #682
  • Add periodic Redis Cluster topology refresh by @thomhurst in #660
  • refactor: isolate MOVING handoff state by @thomhurst in #709
  • feat: add typed Redis Search package by @thomhurst in #670
  • Extract cluster shared refresh coordination by @thomhurst in #711
  • Generate known catalog subcommands by @thomhurst in #712
  • Fan keyspace notifications across Redis Cluster primaries by @thomhurst in #661
  • Add typed Redis Search expressions by @thomhurst in #713
  • Pass command descriptors through typed read paths by @thomhurst in #710
  • Extract cluster notification state into a coordinator by @thomhurst in #717
  • Stream large string SET payloads without buffering by @thomhurst in #654
  • Add distributed semaphore permits by @thomhurst in #658
  • Ignore unmarked automation comments when finding the latest Claude review by @thomhurst in #702
  • Release retired replica streams on dispose or cancellation by @thomhurst in #716
  • Require marked Claude review comments by @thomhurst in #719
  • Follow Cluster redirects for replayable streamed SET payloads by @thomhurst in #723
  • Respire.TimeSeries: add typed RedisTimeSeries package by @thomhurst in #672
  • Update Cluster slot ownership from SMIGRATED notifications by @thomhurst in #674
  • Queue semaphore cleanup per client by @thomhurst in #725
  • Overlap streamed SET source reads with socket writes by @thomhurst in #722
  • Update dependency TUnit to 1.72.16 by @thomhurst in #729
  • Extract SMIGRATED deduplication and deferred migration state by @thomhurst in #730
  • Complete TimeSeries cancellation and cache integration coverage by @thomhurst in #732
  • Document deferred migration lock requirements by @thomhurst in #733
  • Report progress when chunked TimeSeries writes are interrupted by @thomhurst in #735
  • Preserve unexpected TimeSeries failure types by @thomhurst in #736
  • Complete probabilistic package integration and AOT coverage by @thomhurst in #739
  • Complete Search package integration acceptance coverage by @thomhurst in #741
  • Derive cache mutation keys from audited layout metadata by @thomhurst in #742
  • Add Cluster replica routing and per-view ReadFrom policies by @thomhurst in #683
  • docs: correct NuGet installation in getting started by @thomhurst in #745
  • Preserve worktrees and limit unattended cleanup to generated artifacts by @thomhurst in #740
  • Honor explicit cache declarations for TimeSeries metadata commands by @thomhurst in #744
  • docs: install dependency injection integration from NuGet by @thomhurst in #746
  • Document delivered module generator and package capabilities by @thomhurst in #743
  • Delete merged remote branches during owner release by @thomhurst in #747
  • Share audited replica-read metadata across typed and raw commands by @thomhurst in #749
  • Share unknown-slot replica discovery with independent coverage checks by @thomhurst in #748
  • Isolate streamed SET uploads on dedicated connections by @thomhurst in #726
  • Bound replica function propagation retries when command timeouts are disabled by @thomhurst in #751
  • Share dedicated lease acquisition across routing modes by @thomhurst in #759
  • Retain dedicated pools through drain and failed cleanup by @thomhurst in #757
  • Preserve command admission deadlines through wrappers and redirects by @thomhurst in #760
  • Separate streamed uploads from blocking command orchestration by @thomhurst in #762
  • Share tracked outcome classification and correction dispatch by @thomhurst in #765
  • Preserve cleanup failures while closing every client transport by @thomhurst in #761
  • Clarify streamed upload redirects and verify real Cluster replay by @thomhurst in #766
  • Route Nearest reads using bounded latency sampling by @thomhurst in #756
  • Document Nearest selection retries and sample invalidation by @thomhurst in #769
  • Preserve all physical connection failures during multiplexer retirement by @thomhurst in #773
  • Centralize correction fencing and bounded cleanup policy by @thomhurst in #768
  • Expose subscription recovery episodes for Sentinel monitoring by @thomhurst in #772
  • Publish primary and replica routes through one Cluster snapshot by @thomhurst in #770
  • Preserve legacy cleanup disposal and defer cache correction fences by @thomhurst in #775
  • Stabilize Cluster promotion revalidation startup by @thomhurst in #780
  • Prefer same-zone replicas with availability-zone read policies by @thomhurst in #752
  • Add bounded hedged reads to reduce tail latency by @thomhurst in #776
  • Add Sentinel event-driven failover monitoring by @thomhurst in #678
  • Preserve dedicated read candidates and join replica cleanup by @thomhurst in #778
  • Stabilize read-routing test setup and document Sentinel ordering limits by @thomhurst in #782
  • Extract shared Sentinel retry budget and explicit reset transitions by @thomhurst in #785
  • Reconcile resilience documentation with completed HA features by @thomhurst in #786
  • Extract Sentinel monitoring and coordinate startup validation by @thomhurst in #787
  • Preserve daemon log tails on fixture startup failures by @thomhurst in #784
  • Prevent retired fake-server ports from crossing test fixtures by @thomhurst in #790
  • Preserve Sentinel cancellation identity across deadline races by @thomhurst in #793
  • Preserve Nearest fallback across endpoint aliases by @thomhurst in #788
  • Stabilize cold replica sampling test with a known primary sample by @thomhurst in #797
  • Unify Sentinel endpoint identity and address evidence by @thomhurst in #798
  • Round lock acquisition and renewal expiry consistently by @thomhurst in #799
  • Normalize Sentinel address evidence once per observation by @thomhurst in #804
  • Fix cached cluster routing for pending stream replay by @thomhurst in #805
  • Preserve JSON numeric grammar in primitive deserialization by @thomhurst in #806
  • Reserve parsed replies before deferred completion and avoid context capture by @thomhurst in #808
  • Prevent abandoned stress workers and test assemblies from contaminating results by @thomhurst in #809
  • Document platform-dependent TCP keepalive upper bounds by @thomhurst in #811
  • Fix release version boundaries and empty-message commit height by @thomhurst in #807
  • Keep Sentinel evidence equality allocation-free and reject default matching by @thomhurst in #813
  • feat!: reshape client-side cache options and add WithoutClientCache view by @thomhurst in #815
  • Own Sentinel background tasks and monitor removal by @thomhurst in #810
  • Make per-endpoint notification retry test deterministic by @thomhurst in #818
  • Centralize the default Sentinel evidence predicate by @thomhurst in #821
  • Preserve Sentinel routing, RESP3 attributes, and reply order for streamed reads by @thomhurst in #800
  • Add coordination, semaphore, and distributed cache accessors by @thomhurst in #814
  • Clarify mixed MGET tracking for raw and per-key cache paths by @thomhurst in #823
  • Add C# 14 extension properties for module clients by @thomhurst in #812
  • Track pending reads through finally continuations by @thomhurst in #826
  • refactor!: align Respire package, assembly, and namespace names by @thomhurst in #817
  • Bind Claude review clearance to the current commit and restrict workflow access by @thomhurst in #801
  • Make Sentinel cancellation probes survive callback disposal by @thomhurst in #829
  • refactor!: separate cache adapter and registration options by @thomhurst in #831
  • Bound release-tag lookup and surface Git failures by @thomhurst in #822
  • Respect filtered catch types during finally reachability by @thomhurst in #834
  • Reuse exception symbol across analyzer dominance traversals by @thomhurst in #837
  • Make Sentinel alias timeout regression deterministic by @thomhurst in #836
  • Extract immutable Sentinel recovery state and reporter evidence by @thomhurst in #835
  • Retry fixture startup for Docker TCP bind collisions without host addresses by @thomhurst in #840
  • Make READONLY recovery budget tests deterministic under concurrent load by @thomhurst in #841
  • Enforce READONLY recovery deadlines and control regression timing by @thomhurst in #842
  • Bound disconnected READONLY replacements after joining another recovery flight by @thomhurst in #846
  • Keep Nearest reads off stalled probes and refresh active MOVING endpoints by @thomhurst in #802
  • Fix analyzer reachability for loop exits, switch flushes, and coalescing by @thomhurst in #803
  • Stop late Sentinel DNS and isolate dedicated-read recovery tests by @thomhurst in #839
  • Retry tracked Sentinel reads rejected before admission by @thomhurst in #845
  • Fix stale learned Sentinel endpoints and monitor retention by @thomhurst in #843
  • Keep cluster notification owner resolution consistent across topology changes by @thomhurst in #844
  • Add StackExchange.Redis comparison and migration guide by @thomhurst in #848
  • Stop the Claude review workflow from invoking the unusable code-review skill by @thomhurst in #849

Full Changelog: v0.6.1...v0.7.0

NuGet packages

dotnet add package Respire --version 0.7.0
dotnet add package Respire.Aws --version 0.7.0
dotnet add package Respire.Azure --version 0.7.0
dotnet add package Respire.Caching --version 0.7.0
dotnet add package Respire.Caching.Hybrid --version 0.7.0
dotnet add package Respire.Compression.Lz4 --version 0.7.0
dotnet add package Respire.Compression.Zstd --version 0.7.0
dotnet add package Respire.Coordination --version 0.7.0
dotnet add package Respire.DependencyInjection --version 0.7.0
dotnet add package Respire.Json --version 0.7.0
dotnet add package Respire.Probabilistic --version 0.7.0
dotnet add package Respire.Search --version 0.7.0
dotnet add package Respire.Testing --version 0.7.0
dotnet add package Respire.Testing.Containers --version 0.7.0
dotnet add package Respire.TimeSeries --version 0.7.0