Releases: StackExchange/StackExchange.Redis
Releases · StackExchange/StackExchange.Redis
2.1.58
- Fix:
[*]SCAN
- fix possible NRE scenario if the iterator is disposed with an incomplete operation in flight (by @mgravell) - Fix:
[*]SCAN
- treat the cursor as an opaque value whenever possible, for compatibility withredis-cluster-proxy
(by @mgravell) - Adds:
[*]SCAN
- include additional exception data in the case of faults (by @mgravell)
2.1.55
2.1.50
- Adds: Bind directly to sentinel-managed instances from a configuration string/object (#1431 by @ejsmith)
- Adds:
last-delivered-id
toStreamGroupInfo
(#1477 by @AndyPook) - Change: Update naming of replication-related commands to reflect Redis 5 naming (#1488 by @mgravell, #945 by @mgravell)
- Fix #1460:
IServer
commands that are database-specific (DBSIZE
,FLUSHDB
,KEYS
,SCAN
) now respect the default database on the config (#1468 by @mgravell) - Library updates (by @mgravell)
2.1.39
2.1.30
2.1.0
- Fix: Ensure active-message is cleared (#1374 by @hamish-omny)
- Adds: Sentinel support (#1067 by @shadim, #692 by @lexxdark)
- Adds:
IAsyncEnumerable<T>
scanning APIs now supported (#1087 by @mgravell) - Adds: New API for use with misbehaving sync-contexts (more info)
- Adds:
TOUCH
support (#1291 by @gkorland) - Adds:
Condition
API (transactions) now supportsSortedSetLengthEqual
(#1332 by @phosphene47) - Adds:
SocketManager
is now more configurable (#1115 by @naile) - Adds: NRediSearch updated in line with JRediSearch (#1267 by @tombatron, #1199 by @oruchreis)
- Adds: Support for
CheckCertificatRevocation
configuration (#1234 by @BLun78 and @V912736) - Adds: More details about exceptions (#1190 by @marafiq)
- Adds: Updated
StreamCreateConsumerGroup
methods to use theMKSTREAM
option (#1141 by @ttingen) - Adds: Support for NOACK in the StreamReadGroup methods (#1154 by @ttingen)
- Adds: Event-args now mockable (#1326 by @n1l)
- Fix: No-op when adding 0 values to a set (#1283 by @omeaart)
- Adds: Support for
LATENCY
andMEMORY
(#1204 by @mgravell) - Adds: Support for
HSTRLEN
(#1241 by @eitanhs) - Adds:
GeoRadiusResult
is now mockable (#1175 by @firenero) - Fix: Various documentation fixes (#1162 by @SnakyBeaky, #1135 by @ttingen, #1203 by @caveman-dick, #1240 by @Excelan, #1245 by @francoance, #1159 by @odyth, #1311 by @DillonAd, #1339 by @vp89, #1336 by @ERGeorgiev)
- Fix: Rare race-condition around exception data (#1342 by @AdamOutcalt)
- Fix:
ScriptEvaluateAsync
keyspace isolation (#1377 by @gliljas) - Fix: F# compatibility enhancements (#1386 by @NickCraver)
- Fix: Improved
ScriptResult
null support (#1392 by @mgravell) - Fix: Error with DNS resolution breaking endpoint iterator (#1393 by @mgravell)
- Tests: Better docker support for tests (#1389 by @ejsmith, #1391 by @NickCraver)
- Tests: General test improvements (#1183 by @mtreske, #1385 by @NickCraver, #1384 by @NickCraver)
2.0.601
- Adds: Tracking for current and next messages to help with debugging timeout issues - helpful in cases of large pipeline blockers
2.0.593
2.0.588
- Stability/Performance: Resolve intermittent stall in the write-lock that could lead to unexpected timeouts even when at low/reasonable (but concurrent) load
2.0.571
- Performance: Use new arena allocation API to avoid
RawResult[]
overhead - Performance: Massively simplified how
ResultBox<T>
is implemented, in particular to reduceTaskCompletionSource<T>
allocations - Performance: Fix sync-over-async issue with async call paths, and fix the SemaphoreSlim problems that this uncovered
- Performance: Reintroduce the unsent backlog queue, in particular to improve async performance
- Performance: Simplify how completions are reactivated, so that external callers use their originating pool, not the dedicated IO pools (prevent thread stealing)
- Fix: Update
Pipelines.Sockets.Unofficial
to prevent issue with incorrect buffer re-use in corner-case - Fix:
KeyDeleteAsync
could, in some cases, always useDEL
(instead ofUNLINK
) - Fix: Last unanswered write time was incorrect
- Change: Use higher
Pipe
thresholds when sending