Spring Batch v5.2.6 Maintenance Release Fixes State Management

Spring Batch version v5.2.6 arrived on June 10 2026 with critical fixes for job state persistence and resource handling. This maintenance update addresses a regression in the CompositeItemReader that prevented iterator resets between job executions.

The full release notes and downloads are on the GitHub release page.

Persistence and State Management

A significant fix in this release targets the ExecutionContext where the dirty flag was never cleared. In a batch environment this could lead to redundant persistence calls or incorrect state tracking during job restarts. The update ensures that the internal state accurately reflects whether data has changed since the last save point.

The project also resolved a bug in the CompositeItemReader. Previously this component would not reset its internal iterator for subsequent job executions within the same runtime context. This fix is vital for operational stability in environments where jobs are triggered frequently without a full process restart.

JSON Processing Refinements

Data engineers working with large datasets will benefit from a fix to the JsonFileItemWriter. When the appendAllowed property was set to true the writer could break the JSON array structure if opened and closed multiple times. This release ensures that the JSON syntax remains valid regardless of how many write cycles occur.

The update also eliminates a NullPointerException that occurred during the close operation of both JacksonJsonObjectReader and GsonJsonObjectReader. These stability fixes prevent silent failures during the cleanup phase of a batch step.

Job Flow Control

The FlowStep logic was corrected to prevent jobs from being marked as completed while pending steps still exist in the queue. This change ensures that complex conditional flows execute in the intended sequence and that the final job status reflects the true state of the entire pipeline.

Dependency Upgrades

The v5.2.6 release updates several core dependencies to maintain compatibility with the broader ecosystem:

  • Spring Framework 6.2.19
  • Spring Kafka 3.3.16
  • Spring AMQP 3.2.11
  • Spring Retry 2.0.13

Where to get it

The latest version is available through standard dependency managers or directly from the source.