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
>

Reply via email to