Thanks a lot for rolling out the release! Tsz-Wo
On Wed, Jun 25, 2025 at 10:04 PM Xinyu Tan <[email protected]> wrote: > Hi All, > > We are excited to announce the release of Apache Ratis 3.2.0! > > This release includes critical bug fixes, several new features, and > performance improvements that significantly enhance the stability and > functionality of Ratis. > > Key Highlights: > Bug Fixes: > - RATIS-1995: Prevented data loss when storage is accidentally > re-formatted (#1261) > - RATIS-2169: Fixed corrupted STDOUT by directly writing to native stream > in forked JVM 1 (#1162) > - RATIS-2180: Replaced Preconditions.assertNotNull with > Objects.requireNonNull (#1256) > - RATIS-2182: Fixed some Objects.requireNonNull messages (#1172) > - RATIS-2294: Fixed NettyClientRpc exception and timeout handling (#1264) > - RATIS-2271: Fixed Leadership Loss causing ClosedByInterruptException and > NullPointerException in LogAppender thread (#1245) > - RATIS-2274: Fixed issue where newly added peers may retain outdated > configuration after membership change (#1246) > - RATIS-2278: Fixed follower failures to append entries due to index > validation race condition in NavigableIndices (#1248) > - RATIS-2282: Fixed LogAppender restart due to premature log entry access > during concurrent write processing (#1249) > - RATIS-2283: Fixed GrpcLogAppender thread restart leaving catchup=false, > blocking reconfiguration progress (#1250) > > New Features: > - RATIS-2168: Added support for custom gRPC services (#1169) > - RATIS-2237: Added getFollowerMatchIndices interface for DivisionInfo > (#1212) > > Performance Improvements: > - RATIS-2240: Optimized updatePurgeIndex to not hold RaftLogBase.writeLock > (#1214) > - RATIS-2242: Changed consistency criteria of heartbeat during appendLog > (#1215) > - RATIS-2244: Reduced the number of log messages during bootstrap (#1217) > - RATIS-2245: Ratis should wait for all apply transaction futures before > taking snapshot and group removal (#1218) > - RATIS-2258: Caching TermIndex objects (#1239) > - RATIS-2266: Used WeakValueCache instead of Guava cache in RaftId (#1240) > - RATIS-2260: Fixed AtomicFileOutputStream to truncate temp files (#1237) > - RATIS-2289: Simplified the EventQueue in leader (#1258) > > Chores, Docs, and Miscellaneous: > - RATIS-1977: Removed JUnit 4 dependencies (#1269) > - RATIS-2022: Replaced some Guava usage with built-in methods (#1231) > - RATIS-2124: Removed the use of org.junit.Rule (#1232) > - RATIS-2209: Exercised make_rc.sh in CI (#1244) > - RATIS-2217: Automatically retried flaky tests in CI (#1229) > - RATIS-2248: Renamed CI workflows to .yaml (#1220) > - RATIS-2249: Removed unused shellcheck.sh (#1221) > - RATIS-2251: Migrated ratis-test tests to JUnit 5 - Part 3 (#1227) > - RATIS-2252: Replaced JUnitRunListener with JUnit5TestExecutionListener > (#1228) > - RATIS-2254: Replaced JUnit 4 Timeout with JUnit 5 (#1230) > - RATIS-2255: Migrated ratis-grpc to JUnit 5 (#1233) > - RATIS-2256: Updated Maven to 3.9.9 (#1234) > - RATIS-2263: Bumped sonar-maven-plugin to 5.0.0.4389 (#1238) > - RATIS-2270: Improved RaftServerImpl#toString() for better readability > (#1253) > - RATIS-2279: Merged patch to validate snapshot file path in > SnapshotManager (#1268) > - RATIS-2291: Fixed failing > TestInstallSnapshotNotificationWithGrpc#testAddNewFollowersNoSnapshot > (#1257) > - RATIS-2293: Fixed typo in ClientProtoUtils (#1263) > - RATIS-2305: Added a security document (#1270) > - RATIS-2308: Removed unused gRPC TLS configurations (#1271) > > The full changes are available at: > https://ratis.apache.org/post/3.2.0.html > > The release is available for download at: > https://ratis.apache.org/downloads.html > > Maven artifacts can be found at > https://central.sonatype.com/search?q=org.apache.ratis&smo=true > > Regards, > Apache Ratis Team >
