Repository navigation
0.7.0
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