Skip to content

chore(deps): bump StackExchange.Redis from 2.10.1 to 2.13.17 - #83

Merged
cosmin-staicu merged 1 commit into
mainfrom
chore/stackexchange-redis-2.13
Jul 16, 2026
Merged

chore(deps): bump StackExchange.Redis from 2.10.1 to 2.13.17#83
cosmin-staicu merged 1 commit into
mainfrom
chore/stackexchange-redis-2.13

Conversation

@cosmin-staicu

Copy link
Copy Markdown
Member

Summary

First step of the staged StackExchange.Redis upgrade toward 3.0. 2.13.17 is the latest 2.x and shares 3.0's public API (3.0.0 is a mirror of 2.13.17 with a rewritten internal IO core), so landing it first de-risks the major bump. No public API or runtime behavior change.

Changes

  • Bump StackExchange.Redis 2.10.12.13.17 in Directory.Packages.props.
  • Fix RedisStreamHealthMaintainerTests fixture: SE.Redis 2.13.17 grew the internal StreamInfo constructor from 7 → 16 parameters. The test fabricates StreamInfo via reflection with a hardcoded positional arg list, so the old 7-arg call no longer bound — the fixture threw, the maintainer's try/catch swallowed it, and it surfaced as received no matching calls on the downstream IDatabase mocks. Production is unaffected (it gets real StreamInfo objects from SE.Redis deserialization, never this reflection). GenerateStreamInfo now fills by the ctor's actual parameter list and sets only the fields the maintainer reads, so it survives this bump and the upcoming 3.0 one.
  • CHANGELOG entry under [Unreleased].

Test plan

  • Unit tests added/updated
  • Integration tests pass locally (dotnet test)
  • CHANGELOG.md updated

Full suite green on net8.0 and net10.01174/1174 each — run with RUN_REDIS_INTEGRATION_TESTS=1 against a live Redis, including the reflection guards added in #82 (GetMasterPhysicalConnectionMetrics and the profiling GetStatement). Confirmed via a controlled revert that the fixture failure was caused by the bump and is fully resolved by the fixture fix.

Linked issues

Fixes #

Contributor declaration

  • I signed off my commits per the DCO (git commit -s).
  • I am contributing on behalf of my employer, or in the course of employment / using employer resources.

🤖 Generated with Claude Code

First step of the staged StackExchange.Redis upgrade toward 3.0. 2.13.17 is
the latest 2.x and shares 3.0's public API, so it de-risks the major bump.

No public API or runtime behavior change. The only breakage was a test
fixture: SE.Redis 2.13.17 grew the internal StreamInfo constructor from 7 to
16 parameters, and RedisStreamHealthMaintainerTests fabricates StreamInfo via
reflection with a hardcoded positional arg list. The old 7-arg call no longer
bound, the fixture threw, and the maintainer's try/catch swallowed it —
surfacing as "received no matching calls" on the downstream mocks. Production
is unaffected (it gets real StreamInfo objects from SE.Redis deserialization,
never this reflection). GenerateStreamInfo now fills by the ctor's actual
parameter list and sets only the fields the maintainer reads, so it survives
this bump and the upcoming 3.0 one.

Verified: full suite green on net8.0 and net10.0 (1174/1174 each), including
the live-Redis reflection guards from #82.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Cosmin Staicu <cosmin.staicu@uipath.com>
@sonarqubecloud

Copy link
Copy Markdown

@cosmin-staicu
cosmin-staicu merged commit 9029d87 into main Jul 16, 2026
10 checks passed
@cosmin-staicu
cosmin-staicu deleted the chore/stackexchange-redis-2.13 branch July 16, 2026 19:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants