Say hi to JobRunr v8.4.0 and JobRunr Pro v8.4.0! This release introduces Kotlin class-based SAM conversions support (enabling Bazel usage without config changes), improved Jackson3JsonMapper configuration, full support for Micronaut 4.10.0, and fixes for cron expression parsing and job assertion exception handling.
New Features
Kotlin Class-based SAM Conversions: Kotlin lambdas compiled with Bazel’s
rules_kotlinnow work seamlessly with JobRunr. PR #1460Auto-configured Kotlin Serialization:
KotlinxSerializationJsonMapperis now automatically detected and configured when using the Fluent API. PR #1461Configurable Polymorphic Type Validators:
Jackson3JsonMappernow allows configuration of custom polymorphic type validators for enhanced security (see configuration guide). PR #1458
Kotlin + Bazel: Now It Just Works
If you’re a Kotlin developer using Bazel’s rules_kotlin, you may have encountered a NullPointerException when enqueueing Kotlin lambdas. The issue was that Bazel compiles lambdas using class-based SAM conversions, which JobRunr didn’t previously support.
All of these patterns now work regardless of your build tool:
jobScheduler.enqueue { myService.doSomething() }
jobScheduler.enqueue<MyService> { it.doSomething() }
jobScheduler.enqueue(myService::doSomething)
Thanks to @johnnymo87 for reporting this issue and helping us find the root cause!
Zero-Config Kotlin Serialization
KotlinxSerializationJsonMapper is now auto-configured when using the Fluent API. If you have kotlinx-serialization-json on your classpath, JobRunr will automatically use it:
// This now automatically configures KotlinxSerializationJsonMapper instead of JacksonJsonMapper!
JobRunr.configure()
.useStorageProvider(storageProvider)
.initialize()
Bug Fixes
- Cron Expression Parsing: Fixed parsing of month step values in
CronExpression. PR #1462 - Job Assertion: Fixed
assertJobExiststo keep job parameter not deserializable exception. PR #1459
Misc
- Micronaut 4.10 Compatibility: Updated Micronaut integration to 4.10.6. PR #1468
- Updated Dependencies: Frontend and backend dependencies updated. PR #1467 and PR #1468
💼 New in JobRunr Pro v8.4.0
Flexible License Key Loading: Next to the already existing options, we’ve added the option to load your license from a remote server or from a file (call also be a shared drive). This makes it eaven easier to manage your license and easily update a license across all your JobRunr Pro instances (see usage guide). PR #772
Configurable Graceful Shutdown: Set a custom shutdown period when the StorageProvider becomes unhealthy (see configuration guide). PR #771
PostgreSQL Performance on Mac: Improved PostgreSQL performance for JobRunr on macOS. PR #773
Dashboard Enhancements:
Bug Fixes:
How to Upgrade
Simply update your dependency version to 8.4.0 in Maven or Gradle:
<dependency>
<groupId>org.jobrunr</groupId>
<artifactId>jobrunr</artifactId>
<version>8.4.0</version>
</dependency>
implementation 'org.jobrunr:jobrunr:8.4.0'
Stay tuned for more updates, and don’t forget to share your feedback with us!
Full changelog available here: 👉 GitHub Release Notes 8.4.0






