github spring-projects/spring-batch v5.2.0

10 days ago

⭐ New features

  • Add support for MongoDB as JobRepository #877
  • Introduce a resourceless job repository implementation #4679
  • Add adapters for Java functional interfaces #4672
  • Add ability to customize the job parameters converter in the default batch configuration #4650
  • Add CompositeItemReader analogous to CompositeItemWriter and CompositeItemProcessor #757
  • Allow dependent steps to start concurrently #2044
  • Add blocking queue item reader/writer to enable implementing the staged event-driven architecture in batch jobs #2350
  • Add support for data classes in JdbcCursorItemReaderBuilder & JdbcPagingItemReaderBuilder #4578
  • Add support for query hints in JPA item readers #4479
  • Add possibility to configure line separator in RecursiveCollectionLineAggregator #4594
  • Add JobRegistrySmartInitializingSingleton #4521
  • Add DatabaseType POSTGRES for the product name EnterpriseDB #4627
  • Revisit the mechanism of job registration #4547

🐞 Bug fixes

  • Incorrect bean configuration in DefaultBatchConfiguration #4543
  • BeanPostProcessorChecker.postProcessAfterInitialization WARNING after upgrade spring-framework-6.1.0 #4489
  • Possible duplicate state transitions in flow definition #3674
  • Order of Transition Elements Still Does Not completely adhere to documentation #3996
  • Memory leak in MessageChannelPartitionHandler when polling the database #4598
  • ListItemWriter<T>::getWrittenItems has bad wildcard return type #4576
  • SimpleBinaryBufferedReaderFactory misses line endings #811
  • StepExecution.getEndTime() returns null in StepExecutionListener.afterStep() #3846
  • Default value for ignoreWarnings in JdbcCursorItemReaderBuilder does not align with documentation #4570
  • Remote partitioning doesn't work if you're using graalvm #4564
  • SystemCommandTasklet does not propagate errors #4483
  • Incorrect Chunk property value in implementation of ItemWriter write method #4560
  • Incorrect step configuration when setting the taskExecutor before faultTolerant() #4438
  • Incorrect deprecation in MongoPagingItemReader #4552
  • JobRepository.deleteJobInstance() Fails with Foreign Key Constraint Violation if Job Executions have Step Executions #4382
  • DefaultJobParametersConverter throws java.lang.ArrayIndexOutOfBoundsException if input is empty string #4505
  • Wrong column types in JdbcStepExecutionDao #4648
  • MongoStepExecutionDao returns an different stepExecution if a job has multiple steps spring-projects-experimental/spring-batch-experimental/issues/3

🚀 Enhancements

  • Bad performance of GET_LAST_STEP_EXECUTION query on DB2 with large STEP_EXECUTION table #4657
  • Use Threadlocal.remove() instead of Threadlocal.set(null) #4601
  • Performance issue in DefaultFieldSet due to the usage of SimpleDateFormat #1694
  • Improve Error Messages in JobParametersBuilder methods #4581
  • Implement jumpToItem in JsonItemReader #4557
  • Maintain similar ordering of elements between DefaultStateTransitionComparator and FlowJobBuilder #4527
  • Avoid collection copying #4553
  • Make util classes to follow code style guide #4545
  • Use annotation @Override consistently #4512
  • Check dirty flag of step execution context before update in inner loop #4503
  • Missing @FunctionalInterface in JobKeyGenerator #4613
  • Proper default value for skipLimit #4661

📔 Documentation

  • Flow order priority does not match documented behavior #4456
  • Incorrect link to batch reference documentation on project page #4637
  • Typo in architecture doc #4607
  • Grammatical error in restart.adoc #4600
  • Incorrect link in appendix #4595
  • Missing information about error handling in ChunkListeners #4384
  • Improve Javadoc regarding the sort order in RepositoryItemReader #4462
  • Fix code sample that uses deprecated StepBuilderFactory #4582
  • Misleading documentation on ItemWriteListener #4400
  • Incorrect code example in documentation #4550
  • Reference Documentation Uses Deprecated Class StepExecutionListenerSupport #4538
  • Incorrect Type of getter in Documentation for JobParameters#getDouble #4526
  • UI Aligment Issue - Spring Batch Version Number in Docs #4534
  • Missing documentation about MultiResourceItemWriter not creating empty files when no data goes through delegates #4645
  • Typo in the documentation chapter Spring Batch Integration #4649

🆙 Dependency Upgrades

  • Spring Framework: 6.2.0
  • Spring Retry: 2.0.10
  • Micrometer: 1.14.1
  • Spring Integration: 6.4.0
  • Spring AMQP: 3.2.0
  • Spring Kafka: 3.3.0
  • Spring Data: 3.4.0
  • Spring Ldap: 3.2.8

🔨 Tasks

  • Deprecate the usage of LobHandler #4588
  • Deprecate SystemPropertyInitializer #4680
  • Remove deprecated APIs scheduled for removal in v5.2.0 #4398
  • Regression in javadocs deployment script #4511

❤️ Contributors

Many thanks to all contributors who worked on this release!


Full change log: v5.1.2...v5.2.0

Don't miss a new spring-batch release

NewReleases is sending notifications on new releases.