Skip to content

Releases: pmalirz/dlock

3.0.0

23 Feb 19:27
28a030f

Choose a tag to compare

🚀 dlock 3.0.0

DLock 3.0.0 is a major milestone release that brings a complete technical foundation overhaul, powerful API refinements, and modernized tooling. The entire library has been transitioned to pure Java to enhance ecosystem alignment.

🛠️ Major Architectural Changes

  • Complete Rewrite in Java: The entire codebase has been migrated from Kotlin to pure Java (maintaining 1:1 logic and functionality) to provide seamless integration and a highly robust foundation for Java environments.
  • Modernized Ecosystem: Baseline bumped to require Java 17+ and upgraded integrations to Spring Boot 3 / Spring Framework 6.
  • Maven Central Publishing: Configured the build pipeline and GitHub Actions to automatically publish signed artifacts to Maven Central.

✨ Features & API Refinements

  • Simplified KeyLock API: Refactored KeyLock by making the consumer-based tryLock a default method on the interface. This completely removes the need for ClosableKeyLockProvider and simplifies the configuration surface area.
  • Database Time Synchronization: Upgraded the dlock-jdbc (PostgreSQL) engine to use database-native time for expiration/reclaims. This drastically improves lock expiration safety without relying on application node system clocks.
  • Better Integration Testing: Split the automated test infrastructure by introducing a dedicated src/intTest suite using the JVM Test Suite Gradle plugin.
  • Refreshed Documentation & Benchmarks: Expanded READMEs to detail JDBC safety guarantees and updated JMH benchmark scores for transparent performance metrics.

🐛 Bug Fixes & Stability

  • Concurrency Issue Avoided: Fixed a potential race condition and concurrency issue in LocalLockRepository regarding the expiration reclaim mechanism.
  • Strong Type Safety: Resolved unchecked annotation and null-type safety warnings within LockAspectsUtil.
  • CI/CD Reliability: Fixed failing jobs across GitHub Actions to ensure strict type checking and automated build stability.

2.0.1

13 Apr 13:49

Choose a tag to compare

Added bintray release plugin

2.0.0

13 Apr 13:50

Choose a tag to compare

Added spring-dlock module to support declarative locking with use of @lock annotation at the method level