The Wire · Showcase
SPRING SECURITY MOVES TO RELEASE TRAIN, SPRING INTEGRATION CRUSHES FLAKY TESTS
By RepoJournal · Filed · About Spring
Spring Security removed its custom release workflows in favor of release train support, a structural shift that simplifies the entire project's delivery cadence [ref:13].
The security team's move to release train participation [2] marks a significant change in how Spring handles coordinated releases across its ecosystem. Simultaneously, Spring Integration landed three critical test stability fixes: a flaky Redis concurrency bug that could silently drop messages [10], a Windows file deletion race condition [11], and a directory-creation race in FileWritingMessageHandler that left concurrent messages stranded [12]. On the AMQP front, Spring Integration fixed a long-standing issue where waitForConfirm was ignored for simple confirms without correlation data [9], bringing single-message behavior into line with the batched path. Across relational data access, Spring Data upgraded all R2DBC drivers to their latest patch releases: MySQL 1.4.3 [3], SQL Server 1.0.5.RELEASE [4], and Postgres 1.1.2.RELEASE [5], while also disabling flaky Oracle integration tests [6]. Spring Boot locked in Gradle 9.7.0 [7] and fixed a hostname verification failure in Elasticsearch smoke tests by regenerating self-signed certificates with RFC 6125 compliance [8]. Across 5 repos, the team shipped 54 commits and 7 PRs in this cycle.
One email a day. Unsubscribe in one click.
Keep up with Spring in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Update Spring Security builds to integrate with release train tooling spring-projects/spring-security [plan]
- → Upgrade Spring Data R2DBC drivers to latest patch releases before next build spring-projects/spring-data-relational [plan]
- → Cherry-pick Spring Integration test fixes to 7.0.x and 7.1.x branches spring-projects/spring-integration [immediate]
- → Lock Gradle to 9.7.0 across dependent projects spring-projects/spring-boot [plan]
References
- [1] Remove Release Workflows spring-projects/spring-security
- [2] Add Release Train Integration spring-projects/spring-security
- [3] Upgrade to MySql R2DBC Driver 1.4.3. spring-projects/spring-data-relational
- [4] Upgrade to Microsoft SqlServer R2DBC Driver 1.0.5.RELEASE. spring-projects/spring-data-relational
- [5] Upgrade to Postgres R2DBC Driver 1.1.2.RELEASE. spring-projects/spring-data-relational
- [6] Disable `JdbcAggregateTemplateSchemaIntegrationTests` for Oracle. spring-projects/spring-data-relational
- [7] Upgrade to Gradle 9.7.0 spring-projects/spring-boot
- [8] Fix hostname verification failure in Elasticsearc smoke test spring-projects/spring-boot
- [9] GH-11194: Use simple confirms in `AmqpOutboundEndpoint` ↗ spring-projects/spring-integration
- [10] Fix flaky RedisTests.testOutboundChannelAdapterFlow() spring-projects/spring-integration
- [11] Fix flaky FileToChannelIntegrationTests.fileMessageToChannel() spring-projects/spring-integration
- [12] GH-11253: Fix directory-creation race in `FileWritingMessageHandler` ↗ spring-projects/spring-integration