diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index 3f8b7d07a..9ee9f903f 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -1,19 +1,11 @@ -Lettuce 7.0.0.BETA2 RELEASE NOTES +Lettuce 7.1.1.RELEASE NOTES ============================== -The Lettuce team is pleased to announce the second beta release of Lettuce 7.0! +The Lettuce team is pleased to announce the second beta release of Lettuce 7.1.1! -The release focuses on introducing **Maintenance events support** functionality, API improvements, and cleanup of deprecated features. +Lettuce 7.1.1.RELEASE supports Redis 2.6+ up to Redis 8.x and requires Java 8 or newer. The driver is tested against Redis 8.4, 8.2, 8.0, 7.4, and 7.2. -### Key changes -- **Maintenance events support** for graceful maintenance handling -- **Enhanced JSON API** with `String`-based access to avoid unnecessary conversions -- **Removal of deprecated APIs** and options as part of the major version upgrade -As part of the 7.0 line, this beta also removes several deprecated APIs and options. - -Lettuce 7.0.0.BETA2 supports Redis 2.6+ up to Redis 8.x and requires Java 8 or newer. The driver is tested against Redis 8.2, 8.0, 7.4, and 7.2. - -Thanks to all contributors who made Lettuce 7.0.0.BETA2 possible! +Thanks to all contributors who made Lettuce 7.1.1.RELEASE possible! If you need any support, meet Lettuce at @@ -21,42 +13,17 @@ If you need any support, meet Lettuce at * Stack Overflow (Questions): https://stackoverflow.com/questions/tagged/lettuce * Join the chat at https://discord.gg/redis and look for the "Help:Tools Lettuce" channel * GitHub Issues (Bug reports, feature requests): https://github.com/lettuce-io/lettuce-core/issues -* Documentation: https://lettuce.io/core/7.0.0.BETA2/reference/ -* Javadoc: https://lettuce.io/core/7.0.0.BETA2/api/ +* Documentation: https://lettuce.io/core/7.1.1.RELEASE/reference/ +* Javadoc: https://lettuce.io/core/7.1.1.RELEASE/api/ # Changes -## 🔥 Breaking Changes - -- chore: remove usage of deprecated connection methods in command APIs in integration tests (#3328) (#3343) -- Remove deprecated dnsResolver option (#3328) (#3333) -- Remove deprecated `reset()` method from Lettuce API and internals (#3395) -- Make Utility Class constructor private to enforce noninstantiability (#3266) -- Enable adaptive refresh by default #3249 (#3316) -- ISSUE#3328 - Remove deprecated code from ISSUE#1314 (#3351) -- chore: deprecated withPassword(String) method (#3328) (#3350) -- Remove deprecated Utf8StringCodec class (#3328) (#3389) -- chore: remove deprecated default timeout from AbstractRedisClient (#3328) (#3344) -- chore: remove deprecated ClientOptions#cancelCommandsOnReconnectFailure (#3328) (#3346) - -## 🚀 New Features - -- Add support for EPSILON and WITHATTRIBS arguments in VSIM command (#3449) -- Add String-based JSON API to avoid unnecessary conversions (#3369) (#3394) -- React to maintenance events #3345 (#3354) - ## 🐛 Bug Fixes -- Rename maintenance notification configuration properties (#3450) -- Timeouts seen during endpoint re-bind and migrate (#3426) -- Fix a NullPointerException in DelegateJsonObject #3417 (#3418) - -## 💡 Other +* SearchArgs.returnField with alias produces malformed redis command #3528 (7.1.x) by @tishun in https://github.com/redis/lettuce/pull/3534 -- Timeouts seen during endpoint re-bind and migrate (#3426) -- Return name method to ProtocolKeyword public interface. (#3424) -- Refactor JsonValue to Object mapping #3412 (#3413) -- Using non-native transports with SocketOptions should cause an error (#3279) +## 🧰 Maintenance +* Bumping Netty to 4.2.5.Final (7.1.x) by @tishun in https://github.com/redis/lettuce/pull/3537 --- -**Full Changelog**: [6.8.0.RELEASE...7.0.0.BETA2](https://github.com/redis/lettuce/compare/6.8.0.RELEASE...7.0.0.BETA2) +**Full Changelog**: https://github.com/redis/lettuce/compare/7.1.0.RELEASE...7.1.1.RELEASE diff --git a/pom.xml b/pom.xml index 260eaecc9..f75bfa4ac 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ io.lettuce lettuce-core - 7.1.0-SNAPSHOT + 7.1.2-SNAPSHOT jar Lettuce diff --git a/src/main/java/io/lettuce/core/internal/LettuceClassUtils.java b/src/main/java/io/lettuce/core/internal/LettuceClassUtils.java index 0e88fcf38..087aae36a 100644 --- a/src/main/java/io/lettuce/core/internal/LettuceClassUtils.java +++ b/src/main/java/io/lettuce/core/internal/LettuceClassUtils.java @@ -101,24 +101,13 @@ private static Class forName(String className, ClassLoader classLoader) throw } /** - * Return the default ClassLoader to use: typically the thread context ClassLoader, if available; the ClassLoader that - * loaded the ClassUtils class will be used as fallback. + * This method ensures that the same ClassLoader strategy is consistently applied during + * both class existence detection and actual class loading. * * @return the default ClassLoader (never null) - * @see java.lang.Thread#getContextClassLoader() */ private static ClassLoader getDefaultClassLoader() { - ClassLoader cl = null; - try { - cl = Thread.currentThread().getContextClassLoader(); - } catch (Throwable ex) { - // Cannot access thread context ClassLoader - falling back to system class loader... - } - if (cl == null) { - // No thread context class loader -> use class loader of this class. - cl = LettuceClassUtils.class.getClassLoader(); - } - return cl; + return LettuceClassUtils.class.getClassLoader(); } /**