Skip to content

Releases: spring-projects/spring-batch

v5.1.3

19 Dec 03:00
814f686
Compare
Choose a tag to compare

Heads-up: ❗This is the last OSS release of the 5.1.x line ❗Please check the support page.

⭐ New features

  • Add DatabaseType POSTGRES for the product name EnterpriseDB #4627

🚀 Enhancements

  • Bad performance of GET_LAST_STEP_EXECUTION query on DB2 with large STEP_EXECUTION table #4657
  • Missing @FunctionalInterface in JobKeyGenerator #4613

🐞 Bug fixes

  • Different behavior when interrupting a job, depending on the parallel flow order #3939
  • MongoPagingItemReader never reset page number #1086
  • Job restart after stop fails #1287
  • Wrong column types in JdbcStepExecutionDao #4648

📔 Documentation

  • Grammatical error in restart.adoc #4600
  • Typo in architecture doc #4607
  • Typo in the documentation chapter Spring Batch Integration #4649
  • Missing documentation about MultiResourceItemWriter not creating empty files when no data goes through delegates #4645
  • Missing note about not scoping Step beans with Job scope #3900
  • Unclear documentation about wildcard usage to select input files #4707
  • Regression in Javadoc deployment path with 5.1.2 #4604

🆙 Dependency Upgrades

  • Spring Framework: 6.1.16
  • Spring Retry: 2.0.11
  • Micrometer: 1.12.12
  • Spring Integration: 6.2.11
  • Spring AMQP: 3.1.8
  • Spring Kafka: 3.1.10
  • Spring Data: 3.2.12
  • Spring Ldap: 3.2.9

❤️ Contributors

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

v5.2.1

18 Dec 20:39
a8a458f
Compare
Choose a tag to compare

🐞 Bug fixes

  • JobExecution#getJobExecution(@Nullable Long executionId) returns null when using MongoDB as JobExplorer #4722
  • Different behavior when interrupting a job, depending on the parallel flow order #3939
  • MongoPagingItemReader never reset page number #1086
  • DerbyPagingQueryProvider remaining pages query is not correct #1253
  • Job restart after stop fails #1287

🚀 Enhancements

  • Update DerbyPagingQueryProvider for Derby 10.7 and above #1673

📔 Documentation

  • Missing note about not scoping Step beans with Job scope #3900
  • Repeating 'the the' exists #4615
  • Unclear documentation about wildcard usage to select input files #4707
  • Incorrect class name and grammatical error in docs whats-new #4720
  • Fix link section #4696
  • Error in Migration guide #4695
  • Incorrect link and closing tag for listeners in documentation #4610

🆙 Dependency Upgrades

  • Spring Framework: 6.2.1
  • Spring Retry: 2.0.11
  • Micrometer: 1.14.2
  • Spring Integration: 6.4.1
  • Spring AMQP: 3.2.1
  • Spring Kafka: 3.3.1
  • Spring Data: 3.4.1
  • Spring Ldap: 3.2.9

🔨 Tasks

  • Deprecate SqlWindowingPagingQueryProvider #4733

❤️ Contributors

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

@Seungpang, @Solodye, @ngocnhan-tran1996, @uli-f, and @xeounxzxu

v5.2.0

21 Nov 08:42
ade546b
Compare
Choose a tag to compare

⭐ 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

v5.2.0-RC1

24 Oct 00:42
0911e89
Compare
Choose a tag to compare
v5.2.0-RC1 Pre-release
Pre-release

⭐ New features

  • Allow Subclasses in the CompositeItemReader #4682

🐞 Bug fixes

🚀 Enhancements

  • Missing @FunctionalInterface in JobKeyGenerator #4613

📔 Documentation

  • 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-RC2
  • Spring Retry: 2.0.10
  • Micrometer: 1.14.0-RC1
  • Spring Integration: 6.4.0-RC1
  • Spring AMQP: 3.2.0-RC1
  • Spring Kafka: 3.3.0-RC1
  • Spring Data: 3.4.0-RC1
  • Spring Ldap: 3.2.7

❤️ Contributors

Many thanks to all contributors who worked on this release!


Full change log: v5.2.0-M2...v5.2.0-RC1

v5.2.0-M2

11 Oct 22:56
8319c54
Compare
Choose a tag to compare
v5.2.0-M2 Pre-release
Pre-release

⭐ 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 DatabaseType POSTGRES for the product name EnterpriseDB #4627

  • Simple 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

🚀 Enhancements

  • Bad performance of GET_LAST_STEP_EXECUTION query on DB2 with large STEP_EXECUTION table #4657

🔨 Tasks

  • Deprecate the usage of LobHandler #4588
  • Deprecate SystemPropertyInitializer #4680

❤️ Contributors

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


Full change log: v5.2.0-M1...v5.2.0-M2

v5.2.0-M1

18 Sep 08:34
eae2ef6
Compare
Choose a tag to compare
v5.2.0-M1 Pre-release
Pre-release

⭐ New features

  • 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
  • Revisit the mechanism of job registration #4547
  • Add JobRegistrySmartInitializingSingleton #4521

🐞 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

🚀 Enhancements

  • 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

📔 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

🆙 Dependency Upgrades

  • Spring Framework: 6.2.0-RC1
  • Spring Retry: 2.0.9
  • Micrometer: 1.14.0-M3
  • Spring Integration: 6.4.0-M3
  • Spring AMQP: 3.2.0-M3
  • Spring Kafka: 3.3.0-M3
  • Spring Data: 3.4.0-M1
  • Spring Ldap: 3.2.6

🔨 Tasks

  • 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-M1

v5.1.2

22 May 11:45
a8f8d0b
Compare
Choose a tag to compare

🐞 Bug fixes

  • Incorrect Chunk property value in implementation of ItemWriter write method #4560
  • SystemCommandTasklet does not propagate errors #4483
  • Remote partitioning doesn't work if you're using graalvm #4564
  • SimpleBinaryBufferedReaderFactory misses line endings #811
  • Memory leak in MessageChannelPartitionHandler when polling the database #4598

🚀 Enhancements

  • Improve Error Messages in JobParametersBuilder methods #4581

📔 Documentation

  • Reference Documentation Uses Deprecated Class StepExecutionListenerSupport #4538
  • Incorrect code example in documentation #4550
  • Misleading documentation on ItemWriteListener #4400
  • Code sample uses deprecated StepBuilderFactory #4582
  • Typo in java-config.adoc #4591
  • Incorrect link in appendix #4595

🆙 Dependency Upgrades

  • Spring Framework: 6.1.7
  • Spring Retry: 2.0.6
  • Micrometer: 1.12.6
  • Spring Integration: 6.2.5
  • Spring AMQP: 3.1.5
  • Spring Kafka: 3.1.5
  • Spring Data: 3.2.6
  • Spring Ldap: 3.2.3

❤️ Contributors

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


Full change log: v5.1.1...v5.1.2

v5.0.6

22 May 08:24
a79e42f
Compare
Choose a tag to compare

🐞 Bug fixes

  • Incorrect Chunk property value in implementation of ItemWriter write method #4560
  • SystemCommandTasklet does not propagate errors #4483
  • Remote partitioning doesn't work if you're using graalvm #4564
  • SimpleBinaryBufferedReaderFactory misses line endings #811
  • Memory leak in MessageChannelPartitionHandler when polling the database #4598

🚀 Enhancements

  • Improve Error Messages in JobParametersBuilder methods #4581

📔 Documentation

  • Reference Documentation Uses Deprecated Class StepExecutionListenerSupport #4538
  • Incorrect code example in documentation #4550
  • Misleading documentation on ItemWriteListener #4400
  • Code sample uses deprecated StepBuilderFactory #4582
  • Typo in java-config.adoc #4591

🆙 Dependency Upgrades

  • Spring Framework: 6.0.20
  • Spring Retry: 2.0.6
  • Spring AMQP: 3.0.14
  • Spring Kafka: 3.0.17

❤️ Contributors

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


Full change log: v5.0.5...v5.0.6

v5.1.1

21 Feb 16:07
1b6b792
Compare
Choose a tag to compare

⭐ New features

  • Add JobRegistrySmartInitializingSingleton #4521

🐞 Bug fixes

  • Incorrect error message in JobOperatorFactoryBean #4528
  • DefaultJobParametersConverter throws java.lang.ArrayIndexOutOfBoundsException if input is empty string #4505
  • JobRepository.deleteJobInstance() Fails with Foreign Key Constraint Violation if Job Executions have Step Executions #4382
  • Incorrect step configuration when setting the taskExecutor before faultTolerant() #4438
  • Incorrect deprecation in MongoPagingItemReader #4552

🚀 Enhancements

  • Check dirty flag of step execution context before update in inner loop #4503

📔 Documentation

  • Incorrect Type of getter in Documentation for JobParameters#getDouble #4526
  • Broken link to Spring Batch docs #4498
  • UI Aligment Issue - Spring Batch Version Number in Docs #4534

🆙 Dependency Upgrades

  • Spring Framework: 6.1.4
  • Spring Retry: 2.0.5
  • Spring Integration: 6.2.2
  • Spring Data: 3.2.3
  • Spring AMQP: 3.1.2
  • Spring Kafka: 3.1.2
  • Micrometer: 1.12.3

❤️ Contributors

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


Full change log: v5.1.0...v5.1.1

v5.0.5

21 Feb 14:23
03daeeb
Compare
Choose a tag to compare

🐞 Bug fixes

  • Incorrect error message in JobOperatorFactoryBean #4528
  • DefaultJobParametersConverter throws java.lang.ArrayIndexOutOfBoundsException if input is empty string #4505
  • JobRepository.deleteJobInstance() Fails with Foreign Key Constraint Violation if Job Executions have Step Executions #4382
  • Incorrect step configuration when setting the taskExecutor before faultTolerant() #4438

🚀 Enhancements

  • Check dirty flag of step execution context before update in inner loop #4503

📔 Documentation

  • Incorrect Type of getter in Documentation for JobParameters#getDouble #4526

🆙 Dependency Upgrades

  • Spring Framework: 6.0.17
  • Spring Retry: 2.0.5
  • Spring AMQP: 3.0.11
  • Spring Kafka: 3.0.14

❤️ Contributors

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


Full change log: v5.0.4...v5.0.5