imperugo / imperugo/StackExchange.Redis.Extensions
Remove obsolete Tuple<string, T>[] overloads from AddAllAsync
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 628
- Forks
- 177
- PR merge metrics
- No merged PRs in 30d
Description
Depends on #662.
Summary
Remove the three AddAllAsync<T>(Tuple<string, T>[] items, ...) overloads from IRedisDatabase and RedisDatabase, along with the internal Tuple-based ToRedisEntries<T> helper.
These overloads are deprecated in v13.5 (#662) in favour of the (string Key, T Value)[] ones, which avoid one heap allocation per item. This issue is the second half of that deprecation: the actual removal, which is why it lands in a major.
Preconditions
- #662 shipped in v13.5, so consumers have had a full release cycle with a compile-time warning pointing at the replacement
Scope
IRedisDatabase.cs— remove the 3[Obsolete]overload declarationsRedisDatabase.cs— remove the 3[Obsolete]implementationsValueLengthExtensions.cs— remove theTuple-basedToRedisEntries<T>helper kept for the deprecated path- Tests — drop the cases covering the obsolete overloads, along with the
#pragma warning disable CS0618suppressions they needed doc/migration-v13-to-v14.md— document the removal and the one-line call-site fix (Tuple.Create(k, v)becomes(k, v))
Acceptance criteria
- No
Tuple<string, T>remains anywhere in the public surface - No
CS0618suppressions remain in the test project for this API - Migration guide shows a before/after snippet
- Tests green on all TFMs
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by checking that #662 has shipped, then inspect the overloads in IRedisDatabase.cs and RedisDatabase.cs and the Tuple-based helper in ValueLengthExtensions.cs. Review tests for the obsolete overloads and their CS0618 suppressions, then update doc/migration-v13-to-v14.md. Done means the old public overloads and helper are gone, the migration guide has a before/after snippet, and tests pass on all TFMs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, redis
- Domain
- api, backend, documentation, testing
- Issue type
- Refactor
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 76/100