github spring-projects/spring-batch v6.1.0-RC1

pre-release7 hours ago

⭐ New features

  • Provide a @JobParameter annotation for more convenient access to variables in JobParameters. #5563
  • Add PageableItemReader #5477
  • Make JsonLineMapper agnostic to the JSON library #5345
  • Introduce JsonLineAggregator for FlatFileItemWriter to write JSON Lines format file #5344
  • Supports to create step execution with context #5184

🚀 Enhancements

  • Introduce RemoteChunkingManagerBuilder and deprecate RemoteChunkingManagerStepBuilder and its factory #5598
  • JdbcJobExecutionDao.findJobExecutions issues 1 + 3N queries for N executions #5570
  • Polish DatabaseType #5542
  • Improve JdbcJobExecutionDao#synchronizeStatus(StepExecution) #5365
  • Refactor JDBC DAOs to use named parameters instead of positional parameters and JdbcClient instead of JdbcTemplate #4804
  • Eliminate unnecessary query for current version #4797
  • Poll workers of a partitioned step with a database query #4705
  • Running a job causes retrieval of full history of job executions #4169
  • Not unique steps names in a FlowJob should log a warning #3757

🐞 Bug fixes

  • Restart after a chunk scan that ended with a skipped item processes that item again #5599
  • ChunkOrientedStep does not restore the step execution when a chunk transaction is not committed #5594
  • MongoCursorItemReader throws NullPointerException when 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
  • BatchObservabilityBeanPostProcessor doesn't respect manually configured observationRegistry #5566
  • Failed job launch leaves an orphan JobInstance behind #5562
  • Restart after a failure during chunk scanning skips the remaining items of the chunk in ChunkOrientedStep #5558
  • NullPointerException when closing an unopened JpaPagingItemReader #5539
  • Misleading logs in scan mode without retries #5527
  • FlatFileItemReaderBuilder.addComment() throws UnsupportedOperationException after comments(...) #5520
  • DelimitedLineTokenizer throws StringIndexOutOfBoundsException when a field is a single quote character #5519
  • FixedLengthTokenizer in strict mode rejects lines when the open-ended range starts at or before the first range's min #5518
  • JobFlowExecutor leaks a StepExecution across job executions on a shared thread when no transition matches a step's ExitStatus #5514
  • Aggregator of remote partitions is not passed all worker steps upon controller restart #5158

📔 Documentation

  • JpaItemWriter description in Appendix of documentation is wrong #5556

🆙 Dependency Upgrades

Spring Framework: 7.1.0-RC1
Spring Integration: 7.2.0-RC1
Spring AMQP: 4.2.0-RC1
Spring Kafka: 4.2.0-RC1
Spring Data: 2026.1.0-RC1
Spring LDAP: 4.2.0-RC1
Micrometer: 1.18.0-RC1

❤️ Contributors

Thank you to all the contributors who worked on this release:

@ahrytsiuk, @Akhil-1527, @AndreaBosmanWork, @beyondwin, @COBI-98, @hunseonglee, @Ichanskiy, @jjh75607, @jjj-n, @PauliusPeciura, @pius712, @quaff, @ryujungkyun, and @scordio

Don't miss a new spring-batch release

NewReleases is sending notifications on new releases.