📗 Links
⭐ New Features
- Add
lengthOfValue(HSTRLEN) toReactiveHashOperations#3383 - GH-3099: Parse Redis INFO output without using Properties.load() #3382
- Add
lengthOfValue(HSTRLEN) toReactiveHashOperations#3376 - Escape backslashes in source string before loading properties #3172
- Redis INFO output is parsed as (Java) properties, although it is not the same format #3099
🐞 Bug Fixes
- Fix queue head operations of reversed
RedisListview #3459 RedisList.reversed()view polls and peeks at the wrong end and ignores thepolltimeout #3458expiresendsPEXPIREon Jedis for TTLs beyond the integer range #3444setExrejects valid TTLs on Jedis #3443- Check for integer overflow in sort LIMIT #3440
- JedisListCommands.lPop and JedisListCommands.rPop downcast to int unchecked #3438
- JedisKeyCommands.restore doesn't check range on ttlInMillis if replace = true #3437
- ExpiryChangeState.of and StreamEntryDeletionResult.fromCode overflow on longs #3436
- getExpirationDuration and getExpirationInstant return wrong result if asked for milliseconds #3432
- Fetch hash field TTLs in seconds in
DefaultHashOperations#3430 - Fix inverted equals in
RedisStreamCommands.TrimOptions#3429 - Compare raw TTL values as long in
Expirations.TimeToLive#3428 DefaultHashOperations.getTimeToLiveconverts hash-field TTL values twice for non-secondTimeUnits #3427TrimOptions.equalsis inverted and ignoreslimit, breakingXAddOptionsequality #3426Expirations.TimeToLive.oftruncates the raw TTL toint, misclassifying large TTL values #3425- Jedis fails on TTL parameters exceeding integer range #3386
📔 Documentation
🔨 Dependency Upgrades
- Upgrade to Maven Wrapper 3.10.0 #3453
- Upgrade jedis minor and lettuce major versions #3295
- Upgrade to Jedis 7.2.0 #3282
❤️ Contributors
We'd like to thank all the contributors who worked on this release!