spring-batch v6.0.6
spring-batch v6.0.6
:rocket: Enhancements
- Add
@FunctionalInterfacetoStepInterruptionPolicy#5402 - Fix
SimpleJobOperatorjobRegistrystate message #5369 - Improve
JdbcJobExecutionDao#synchronizeStatus(StepExecution)#5365 - Replace deprecated
Jackson2JsonMessageConverterwithJacksonJsonMessageConverter#5350 - Replace
System.getProperty("line.separator")withSystem.lineSeparator()#5341 - Remove unnecessary null check against
createTimeof execution #5304 - Inaccurate exception message when attempting to start a running job #5280
- Replace
CopyOnWriteArrayListwithArrayListinJdbcPagingItemReaderandJpaPagingItemReaderfor performance and correctness #5112 - Eliminate unnecessary query for current version #4797
- Running a job causes retrieval of full history of job executions #4169
- Not unique steps names in a
FlowJobshould log a warning #3757 - Remove unused
ClassUtilsimport fromJdbcPagingItemReader#5407
:lady_beetle: Bug fixes
ChunkOrientedStepdoes not restore the step execution when a chunk transaction is not committed #5594MongoCursorItemReaderthrowsNullPointerExceptionwhen closed before opening #5589- MariaDB 6.0 migration fails when renaming
BATCH_JOB_SEQ#5586 - listener exceptions are skippable in scan mode but fatal elsewhere #5585
- Fix missing page increase in
AbstractPaginatedDataItemReader#5583 - Job-scoped beans are not usable from worker threads of multi-threaded steps and parallel flows #5576
- Restart after a failure during chunk scanning skips the remaining items of the chunk in
ChunkOrientedStep#5558 NullPointerExceptionwhen closing an unopenedJpaPagingItemReader#5539@OnSkipInRead/@OnSkipInProcess/@OnSkipInWritemethods are ignored byChunkOrientedStepBuilder#listener(Object)#5531- Misleading logs in scan mode without retries #5527
FlatFileItemReaderBuilder.addComment()throwsUnsupportedOperationExceptionaftercomments(...)#5520DelimitedLineTokenizerthrowsStringIndexOutOfBoundsExceptionwhen a field is a single quote character #5519FixedLengthTokenizerin strict mode rejects lines when the open-ended range starts at or before the first range’s min #5518JobFlowExecutorleaks aStepExecutionacross job executions on a shared thread when no transition matches a step’sExitStatus#5514- Rolled-back chunk counted as written and step COMPLETED in
ChunkOrientedStep(fault-tolerant retry ofOptimisticLockException) #5509 TransientTransactionErrorinMongoSequenceIncrementerduring parallel job executions #5507- Fix
QNamedeserialization inJacksonExecutionContextStringSerializer#5502 ChunkOrientedStepscan mode passes the processed chunk toChunkListener#beforeChunkand silently drops scan items when the listener throws #5493ChunkOrientedStepdoes not re-invoke theItemProcessorduring chunk scanning, unlikeFaultTolerantChunkProcessor#5490JpaCursorItemReader.doClose()missing null check onentityManager#5486- Fix incorrect nullability contract for
encodinginStaxEventItemReader#5483 JsonFunctionalTestsfails on Windows due to CRLF #5481@OnChunkErroris never invoked on a chunk-oriented step #5468- Interface listener callbacks are invoked twice when an item handler also has a listener annotation #5466
spring.batch.job.launch.countis silently missing: theJobOperatorkeepsObservationRegistry.NOOPon most configuration paths #5463- Inconsistent
JobParametertype handling between storage and retrieval in Spring Batch 6.x #5455 @BeforeStep/@AfterStepmethods are ignored byChunkOrientedStepBuilder#listener(Object)#5451- Replace jetbrains
@NotNullwith jspecify@NonNull#5443 SimpleJobOperator.restart(JobExecution)masks the real failure reason with a misleading “job execution already running” message #5439- Missing GraalVM runtime hints for MongoDB persistence model classes and resources #5435
- Fix
JsonFileItemWriterto produce valid JSON when append allowed with custom header/footer callback #5432 - Step name is null when the step is not defined as a bean and not assigned a name #5278
- Forced Sort Passing via
sorts()Method When Building withMongoCursorItemReaderBuilderand Query #4860
:notebook_with_decorative_cover: Documentation
JpaItemWriterdescription in Appendix of documentation is wrong #5556- Inaccurate documentation of remote chunking and remote partitioning samples regarding JMS headers #5513
- Fix typos in Javadoc comments #5511
- Clarify retryable reads compatibility with forward-only semantics #5510
- Clarify
SkipListenercontract and reference docs about transaction scope #5494 - Reference documentation’s tracing example registers a handler that creates no spans and fails the job #5475
- Fix typo in Javadoc of
JobOperator.start()#5434 - Wrong example in “Registering
ItemStreamwith aStep” #5429 - Fix incorrect Javadoc reference in
JobExecution.isStopped()#5414 - Fix javadoc in
SqlPagingQueryUtils#5403 - Fix typo in
EnableBatchProcessingJavadoc #5375 - Inaccurate JavaDoc of
BatchStatus.isLessThanOrEqualTo#5285 - Enhance documentation about leveraging
IteratorItemReaderto reuse scrolling APIs from Spring Data #4484
:hammer: Tasks
- Update Apache Artemis
groupIdtoorg.apache.artemis#5482 - Update Groovy version to 5.1.2 #5327
- Consistently use
.versionsuffix for version properties inpom.xml#5506
🆙 Dependency Upgrades
Spring dependencies
Spring Framework: 7.0.9 -> 7.0.10 Spring Integration: 7.0.6 -> 7.0.7 Spring AMQP: 4.0.5 -> 4.0.6 Spring Kafka: 4.0.7 -> 4.0.8 Spring Data: 2025.1.7 -> 2025.1.8 Spring LDAP: 4.0.5 -> 4.0.6 Micrometer: 1.16.7 -> 1.16.8
Other dependencies
Apache Avro: 1.12.1 -> 1.12.2 Hibernate ORM: 7.2.18.Final -> 7.2.25.Final Jackson 2: 2.20.2 -> 2.21.7 Jackson 3: 3.0.4 -> 3.1.7
:heart: Contributors
Thank you to all the contributors who worked on this release:
@acktsap, @ahrytsiuk, @Akhil-1527, @AndreaBosmanWork, @apptie, @banseok1216, @benelog, @beyondwin, @cladren123, @COBI-98, @dhritimanchakra, @DragonFSKY, @enduf7686, @GaBaljaintheroom, @Gorock, @hunseonglee, @hutiefang76, @HyunWoo9930, @jjh75607, @jjj-n, @klopfdreh, @KMGeon, @kojw1017, @kyungrae, @leedaegeon, @leestana01, @mjd507, @noojung, @pius712, @quaff, @ryujungkyun, @scordio, @xxxxxxjun, and @yuseogi0218
Source spring-projects/spring-batch ·
v6.0.6· 2026-10-22 · upstream release
Mirrored verbatim for indexing. All rights belong to the upstream project.
Release notes are published by the upstream project and mirrored here for indexing. All rights belong to their authors.