imperugo / imperugo/StackExchange.Redis.Extensions

Remove obsolete Tuple<string, T>[] overloads from AddAllAsync

Open
#663 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
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 declarations
  • RedisDatabase.cs — remove the 3 [Obsolete] implementations
  • ValueLengthExtensions.cs — remove the Tuple-based ToRedisEntries<T> helper kept for the deprecated path
  • Tests — drop the cases covering the obsolete overloads, along with the #pragma warning disable CS0618 suppressions 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 CS0618 suppressions remain in the test project for this API
  • Migration guide shows a before/after snippet
  • Tests green on all TFMs

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.