Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: StackExchange/StackExchange.Redis
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 2.13.10
Choose a base ref
...
head repository: StackExchange/StackExchange.Redis
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 2.13.17
Choose a head ref
  • 7 commits
  • 66 files changed
  • 2 contributors

Commits on May 21, 2026

  1. post-ship 2.13.10

    mgravell committed May 21, 2026
    Configuration menu
    Copy the full SHA
    bd2a816 View commit details
    Browse the repository at this point in the history

Commits on May 22, 2026

  1. Configuration menu
    Copy the full SHA
    45b819d View commit details
    Browse the repository at this point in the history
  2. Fix ARGREP NOCASE logic inversion and support ARINFO FULL (#3087)

    * - fix snafu with NOCASE (logic inverted)
    - add IsReversed to simplify reversal logic
    
    * PR ref
    
    * - support ARINFO FULL
    - refactors ArrayInfo initialization to be span based, and put the main logic inside ArrayInfo
    
    technically this is a break, but: `[Experimental]`
    
    * release notes
    mgravell authored May 22, 2026
    Configuration menu
    Copy the full SHA
    2800b3a View commit details
    Browse the repository at this point in the history

Commits on May 27, 2026

  1. SENTINEL: defensive check around ROLE (#3088)

    * SENTINEL: defensive check around ROLE
    
    * PR number
    
    * CI fail; try updating test-reporter
    mgravell authored May 27, 2026
    Configuration menu
    Copy the full SHA
    48301dd View commit details
    Browse the repository at this point in the history
  2. 8.8 add support for INCREX (#3065)

    * bare bones INCREX first stab
    
    * tidy INCREX impl
    
    * add INCREX integration tests
    
    * merge
    
    * compensate for 8.8RC1 API and behaviour changes
    
    * let's try adding the new files
    
    * oops, make sure flags is the final arg
    
    * account for last-minute-changes to INCREX
    
    * add my expectation assertions as integration tests; multiple failures - I'm asking "server" for guidance
    
    * update CI image
    
    * update test expectations to implement the reality of the server as-at 8.8
    
    * update CI image to 8.8
    mgravell authored May 27, 2026
    Configuration menu
    Copy the full SHA
    ce86434 View commit details
    Browse the repository at this point in the history
  3. Tear down connection on write failure to prevent queue desync (#3092)

    Propagate exceptions out of Message.WriteTo so PhysicalBridge's outer
    write path can record a connection failure, and have HandleWriteException
    kill the PhysicalConnection via RecordConnectionFailed.
    
    Without this, a write that throws partway through a frame (e.g. an OOM
    during serialization) leaves bytes on the wire while the response queue
    still considers the slot healthy. The next reply from the server then
    matches against the wrong in-flight message — the symptom seen in #2883,
    #2804, and #2919, where commands return values intended for a different
    caller. HighIntegrity mode mitigates the symptom by detecting the desync
    after the fact via per-message echo checksums; this change addresses the
    underlying cause for the write-side variant.
    
    Adds three tests:
     - WriteTo must rethrow non-RedisCommandException out of WriteImpl, so
       the outer bridge catch can act on it.
     - RedisCommandException continues to surface unwrapped (it carries its
       own meaning and is excluded from the WriteTo catch filter).
     - End-to-end: a Message whose WriteImpl throws faults the awaiter with
       a RedisConnectionException(InternalFailure) AND raises a
       ConnectionFailed event, proving the physical connection was torn down.
    Pranish-Pantha authored May 27, 2026
    Configuration menu
    Copy the full SHA
    73cac33 View commit details
    Browse the repository at this point in the history
  4. Fix platform-specific TCP keep-alive issues (#3090)

    * investigation into socket failure
    
    * 1. make TCP keep-alives an explicit option (default: "on")
    2. hard-disable TCP keep-alives on DNS endpoints for non-Windows before .NET 10
    
    * release notes
    
    * update CI image to 8.8
    
    * fix typo in runtime test isolation / port selection.
    
    * Add OptionKeysAreAllNormalized to ensure all keys are correctly normalized; add tcpKeepAlive to docs
    
    * stabilize DeleteLastElementPublishesArrayDeleteBeforeKeyDeleteNotifications
    
    * allow more grace while waiting for ArrayTests work; only run that test in DEBUG
    
    * reduce CI brittleness by restricting tests that have wide side-effects; they can't run in parallel between runtimes
    
    * more CI stabilization; HOTKEYS this time
    mgravell authored May 27, 2026
    Configuration menu
    Copy the full SHA
    6e0df97 View commit details
    Browse the repository at this point in the history
Loading