Firefly v1.0.1
Release date: July 29, 2026
v1.0.1 is a production-hardening release. It deliberately keeps the scheduler's feature boundary stable while addressing unsafe defaults, executor overload, dispatches without executors, database migrations, Starter health reporting, and reproducible builds.
Security and Database
- Docker configuration no longer ships a publicly known production JWT secret. The Server refuses to start in production when no valid JWT secret is configured.
- The bootstrap administrator now carries
password_change_required; management APIs remain unavailable until the first-login password change is complete. - JDBC schema version is now
12, with independent incrementalv12.sqlmigrations for H2, PostgreSQL, and MySQL. - Schema initialization evaluates the installed version and applies each missing migration in order instead of relying on a version-specific hard-coded patch.
- The fresh-install PostgreSQL script is published in the deployment guide and verified against a real PostgreSQL container.
Scheduling and Executor Reliability
- The Netty Executor now uses bounded resources by default, with configurable worker count, queue capacity, and concurrency limit plus a fail-fast rejection policy.
- Overloaded work receives an explicit ACK, while Prometheus rejection and capacity metrics expose pressure before it becomes process exhaustion.
- Executor Client distinguishes Firefly-owned pools from externally supplied pools and no longer shuts down user-owned resources.
- Dispatch records now have explicit deadlines. A dispatch without an available executor, or without an ACK, transitions from
DISPATCHINGto failure after its timeout instead of remaining indefinitely. - Compatibility handling covers historical dispatch records without deadlines, and expired outbox claims are reclaimed correctly.
Spring Boot and Health
- The Starter provides Actuator
HealthIndicatoroutput for Gateway connectivity, authentication, and job-registration synchronization. - An isolated Maven consumer matrix covers Spring Boot
3.3.5,3.4.12,3.5.8, and4.0.0. - Compatibility tests use declared remote repositories and isolated Maven caches so workstation artifacts cannot hide dependency problems.
Build, Dependencies, and Tests
- Dependency resolution defaults to Maven Central.
mavenLocal(), local directories, and repository mirrors require explicit opt-in. - Public modules no longer expose
slf4j-nop, andnetty-allhas been replaced with the Netty modules actually used. - Linux CI makes the Gradle Wrapper executable before use, and GitHub Actions are updated to v5.
- Admin UI Playwright coverage includes job creation, execution, cancellation, executor deletion, session expiry, and language switching.
- Real-database tests cover PostgreSQL/MySQL initialization, concurrency, and fault injection.
- Process-failure benchmark foundations now include SLO configuration, p99 reporting, independent JVM management, a TCP fault proxy, and lightweight HTTP helpers.
API Cleanup
Unimplemented LINEAR_BACKOFF and MANUAL schedule types, the legacy Starter entry point, and the placeholder CLI have been removed from the public surface. This prevents APIs from appearing usable while failing immediately at runtime.
Upgrade Notes
- Upgrade Maven dependencies to
1.0.1. - Existing PostgreSQL, MySQL, and H2 databases using
initialize-if-emptymigrate in order to schema12. For externally managed migrations, apply the matchingv12.sqlbefore starting withvalidate. - Configure a strong
FIREFLY_SECURITY_JWT_SECRETbefore starting Docker or another production profile. - Environments that still use the bootstrap administrator must complete the password change after upgrade.
- Applications supplying an Executor business pool remain responsible for that pool's lifecycle.
See the complete source at the Firefly v1.0.1 tag.