Skip to content

0.1.3-alpha

Pre-release
Pre-release

Choose a tag to compare

@darkryh darkryh released this 28 Mar 01:29
· 112 commits to master since this release

0.1.3-alpha (Pre-release)

This alpha focuses on initializer API cleanup, bootstrap ergonomics, and scheduler registration correctness.

Highlights

  • Breaking change: ApplicationInitializer now uses onApplicationReady() (no Koin parameter).
  • Added DatabaseFactory.withStatement(...) helper API for custom bootstrap SQL execution.
  • Fixed scheduler discovery bug where multiple scheduler methods in a single service could be silently overwritten.
  • Improved scheduler diagnostics and deterministic candidate ordering.

Fixed Issues

  • #9 katalyst-scheduler: only one scheduler method per service was being registered due to map overwrite.

Technical Changes / Breaking changes

  • Refactored initializer lifecycle to constructor-injected dependencies + no-arg readiness hook.
  • Updated InitializerRegistry and StartupValidator to new initializer contract.
  • Updated SchedulerInitializer pipeline to preserve all (service, method) candidates.
  • Hardened scheduler bytecode validation for Kotlin-mangled scheduler JVM method names.
  • Added persistence extension:
    • DatabaseFactory.withStatement(autoCommit = true) { ... }
    • DatabaseFactory.withStatement(log, skipLabel, autoCommit = true) { ... }

Upgrade Notes

  • This remains an alpha prerelease.
  • Any custom ApplicationInitializer implementations must migrate from:
    • onApplicationReady(koin: Koin)
      to:
    • onApplicationReady()