What's New Since 5.0.1
New Modules
Server-side (all experimental)
| Module |
Summary |
ballast-ktor-server |
Ktor plugin to run Ballast ViewModels natively inside Ktor server applications |
ballast-autoscale |
Wraps a pool of ViewModels and dynamically scales worker count based on load — suited for server-side job processing |
ballast-queue-core |
Persistent background job queue with retries, backoff, cancellation, checkpointing, and stored results |
ballast-queue-viewmodel |
ViewModel wrapper around the job queue for familiar Ballast code patterns |
ballast-queue-exposed-driver |
PostgreSQL-backed queue driver using Jetbrains Exposed (MySQL experimental) |
Scheduler (split out and expanded from ballast-schedules)
Utilities
Deprecations
ballast-repository — Marked deprecated. The MVI repository pattern is being phased out as it turned out to be a failed experiment.
ballast-schedules — Marked deprecated. Superseded by the new ballast-scheduler-* family of modules.
KillSwitch interceptor — Deprecated. Graceful shutdown is now a first-class API on BallastViewModel via AutoCloseable (close()) and SideJobScope.
API Changes
BallastEncoder / BallastDecoder — New unified serialization interfaces on the ViewModel config. Previously each plugin had its own serialization logic; now they all share one. ballast-kotlinx-serialization provides the implementation.
ballast-navigation — Added pathFormat() helper for sharing route definitions between Ktor client and server.
Documentation
The entire documentation system was overhauled — docs moved from an SSG/Orchid website into plain Markdown files living alongside the code:
docs/ is the new home for all Ballast documentation
- Each module now has its own
README.md co-located with the source code
- Old Orchid/MkDocs build system and all generated pages removed