Releases: spring-projects/spring-batch
v4.3.1
🐞 Bug fixes
- After restarting a failed job using RunIdIncrementer, all subsequent job launches throwClassCastException#3799
- Use isQuoteCharacterinstead of direct char comparison inDelimitedLineTokenizer#682
- Incorrect behaviour of RepositoryItemReader#jumpToItem()on restart #1074
- Do not throw NPE for job instances without executions #3798
🚀 Enhancements
- kafkaTemplatein- KafkaItemWritershould be- protected#3802
v4.2.5.RELEASE
🐞 Bug fixes
- Setting resource should be optional for JsonItemReaderBuilder#3731
- Resource should be optional in StaxEventItemReaderBuilder#3736
- StaxEventItemReaderBuilderfailing to set name for Reader at build #3753
- Job scoped steps can not be used within FlowBuilder#670
- After restarting a failed job using RunIdIncrementer, all subsequent job launches throwClassCastException#3799
- Use isQuoteCharacterinstead of direct char comparison inDelimitedLineTokenizer#682
- Incorrect behaviour of RepositoryItemReader#jumpToItem()on restart #1074
- Do not throw NPE for job instances without executions #3798
🚀 Enhancements
- kafkaTemplatein- KafkaItemWritershould be- protected#3802
📔 Documentation
- Fix typo in spring-batch-intro.adoc#3755
v4.3.0
⭐ New features
- Add support to use Java 14 records as items #3693
- Add JpaCursorItemReaderimplementation #901
- Add setter for standaloneattribute inStaxEventItemWriter#758
- Add ability to start reading from a custom offset in KafkaItemReader#737
- Add encoding parameter in StaxEventItemReader#807
- Add job name tag to spring.batch.job.activemetric #3750
- Add getUniqueJobParametersBuilder()method inJobLauncherTestUtils#767
- Add JobParametersIncrementerimplementation based on aDataFieldMaxValueIncrementer#1521
- Add SynchronizedItemStreamWriter#842
- Add beanRowMappermethod toJdbcPagingItemReaderBuilder#819
- Add support for named queries in JpaPagingItemReader#1667
- Add support for annotation based JobExecutionListenerin theJobBuilder#817
- Meta-annotate @SpringBatchTestwith@ExtendWith(SpringExtension.class)#3647
- Set proxyBeanMethodsto false onModularBatchConfigurationandSimpleBatchConfiguration#3715
🚀 Enhancements
- Add connection parameter to AbstractCursorItemReader#cleanupOnClose#735
- BulkOperationsAPI Implementation for Remove Operations in- MongoItemWriter#3737
- StaxEventItemReader#isFragmentRootElementNamemethod should be protected #1020
- Let FlatFileItemReadercomment detection logic be customizable #1134
- Performance issues in SimpleJobRepository.getStepExecutionCount#3657
- Slow SQL in JdbcStepExecutionDaoon Postgres #3634
- Improve TransactionAwareBufferedWriterefficiency #1166
- Improve performance in JdbcStepExecutionDao#3710
- Make RepositoryItemWriteruseCrudRepository#saveAllby default #3720
- Use BulkOperationsAPI inMongoItemWriter#3713
- Add ability to amend trusted classes in Jackson2ExecutionContextStringSerializer#3765
- Improve formatting of IllegalArgumentExceptionmessage thrown byDefaultExecutionContextSerializer#3636
🐞 Bug fixes
- Unable to set partitionOffsetsinKafkaItemReaderBuilder#3761
- SimpleCompletionPolicyshould have- getChunkSize()method #3738
- Unable to set usePersistparameter withJpaItemWriterBuilder#3655
- MongoItemReaderBuildershouldn't be throwing an error related to the limit in query when pageSize is provided #3673
- MySQL does not support millisecond accuracy in timestamps #2202
- JobLauncherTestUtilsdoesn't always launch new job instance because generated job parameters aren't unique #821
- Unable to set connectionAutoCommitparameter withJdbcCursorItemReaderBuilder#3717
- Incorrect Jackson configuration #3729
- Setting resource should be optional for JsonItemReaderBuilder#3731
- Resource should be optional in StaxEventItemReaderBuilder#3736
- StaxEventItemReaderBuilderfailing to set name for Reader at build #3753
- Conditional (Java configured) steps cannot be scoped #857
- Order of Transition Elements Does Not Adhere to Documentation #3638
- AbstractSqlPagingQueryProviderDoes Not Handle Whitespace Besides the Space Character When Removing Keywords #765
- setScriptEvaluatormethod in- ScriptItemProcessorremoved in Spring Batch 4 #768
- Incorrect error message when no FieldSetMapperis provided #766
- AbstractCursorItemReader#doClose()method is not reentrant #868
- The constructor of JsonItemReadershould callsetExecutionContextName()#3681
- FaultTolerantChunkProcessordoes not collect metrics like- SimpleChunkProcessor#3664
- FlatFileItemReaderBuilderreports error "Only one LineTokenizer option may be configured" when none are. #3688
- Default value of comment prefix in FlatFileItemReaderBuilderis inconsistent withFlatFileItemReader#753
- Empty String as delimiter is ignored #770
- Regression due to the fix of BATCH-2442 #775
- FlatFileItemReaderBuilderdoes not overrule comment prefixes in returned- FlatFileItemReader#779
- FlatFileItemWriterBuilderrequires a- Resource#887
- List should be final in CompositeItemStream#1628
- Job scoped steps can not be used within FlowBuilder#670
📔 Documentation
- Fix typo in spring-batch-intro.adoc #3755
- Add flag to show both configuration styles (Java and XML) in reference docs #572
- Fix documentation of JobExecutionNotRunningException#3679
- Updated spring-doc-resourcesversion to 0.2.2
- Incorrect reference to stop method in documentation #3643
- Improve Javadoc of ItemProcessorregarding the nullability of input items #3648
- Misleading code example in reference documentation #3692
- The ItemProcessorsection in reference docs should be a top level section #3644
- Use local storage rather than a cookie #3653
- Add flag to show both configuration styles (Java and XML) in reference docs #572
- Upgrade versions of Asciidoctor #3703
- Add micrometer metrics tags in reference documentation #3751
- Add section in docs about how to disable batch metrics #3684
- Document non-identifying job parameters #3633
- Multiple Job unit testing with @SpringBatchTest#3699
- Unable to use Job Scope beans in a multi-threaded or partitioned step #1335
- Incorrect table name in Meta-Data Schema appendix #761
- Incorrect description of AggregateItemReaderin "Appendix A" #1793
- It's unclear and confusing that using <skippable-exception-class>element #1061
- Wording Fix: domain.adoc #814
- Documentation: XSD specifies incorrect type for RetryPolicy #769
- Fix dead link to Github in contribution guide #3642
🔨 Dependency Upgrades
- Upgrade to Spring Framework 5.3.0
- Upgrade to Spring Data 2020.0.0
- Upgrade to Spring Integration 5.4.0
- Upgrade to Spring AMQP 2.3.0
- Upgrade to Spring for Apache Kafka 2.6.2
- Upgrade to micrometer 1.5.6
⚠️  Deprecations
- Deprecate JobExecution#stop()#1605
- Deprecate MultiResourceItemReader#getCurrentResource#3776
- Deprecate AbstractNeo4jItemReader#3777
- Deprecate org.springframework.batch.item.file.transform.Alignmentenum #3778
- Deprecate org.springframework.batch.item.xml.StaxUtils#3779
- Deprecate the Map-based JobRepository/JobExplorerimplementations #3780
- Deprecate ScheduledJobParametersFactory#3781
- Deprecate support for SqlFire database #815
❤️ Contributors
We'd like to thank all contributors who helped making this release possible! A special thank to @dimitrisli and @parikshitdutta
for their numerous contributions to this release!
v4.3.0-RC1
⭐ New features
- Add support for annotation based JobExecutionListenerin theJobBuilder#817
- Set proxyBeanMethodsto false onModularBatchConfigurationandSimpleBatchConfiguration#3715
- Add setter for standaloneattribute inStaxEventItemWriter#758
- Add support to use Java 14 records as items #3693
- Add JpaCursorItemReaderimplementation #901
🐞 Bug fixes
- Unable to set partitionOffsetsinKafkaItemReaderBuilder#3761
⚠️  Deprecations
- Deprecate JobExecution#stop()#1605
- Deprecate MultiResourceItemReader#getCurrentResource#3776
- Deprecate AbstractNeo4jItemReader#3777
- Deprecate org.springframework.batch.item.file.transform.Alignmentenum #3778
- Deprecate org.springframework.batch.item.xml.StaxUtils#3779
- Deprecate the Map-based JobRepository/JobExplorerimplementations #3780
- Deprecate ScheduledJobParametersFactory#3781
🔨 Dependency Upgrades
- Upgrade to Spring Framework 5.3.0-RC1
- Upgrade to Spring Data 2020.0.0-RC1
- Upgrade to Spring Integration 5.4.0-M3
- Upgrade to Spring AMQP 2.3.0-M3
- Upgrade to Spring for Apache Kafka 2.6.1
v4.3.0-M2
⭐ New features
- Add ability to start reading from a custom offset in KafkaItemReader#737
- Add encoding parameter in StaxEventItemReader#807
- Add job name tag to spring.batch.job.activemetric #3750
- Add getUniqueJobParametersBuilder()method inJobLauncherTestUtils#767
- Add JobParametersIncrementerimplementation based on aDataFieldMaxValueIncrementer#1521
🐞 Bug fixes
- SimpleCompletionPolicyshould have- getChunkSize()method #3738
🚀 Enhancements
- Add connection parameter to AbstractCursorItemReader#cleanupOnClose#735
- BulkOperationsAPI Implementation for Remove Operations in- MongoItemWriter#3737
- StaxEventItemReader#isFragmentRootElementNamemethod should be protected #1020
- Let FlatFileItemReadercomment detection logic be customizable #1134
📔 Documentation
- Fix typo in spring-batch-intro.adoc #3755
- Updated spring-doc-resourcesversion to 0.2.2
🔨 Dependency Upgrades
- Upgrade to Spring Framework 5.3.0-M2
- Upgrade to Spring Data 2020.0.0-M2
- Upgrade to Spring Integration 5.4.0-M2
- Upgrade to Spring AMQP 2.3.0-M2
- Upgrade to Spring for Apache Kafka 2.6.0-M1
v4.3.0-M1
⭐ New features
- Add SynchronizedItemStreamWriter#842
- Add beanRowMappermethod toJdbcPagingItemReaderBuilder#819
- Add support for named queries in JpaPagingItemReader#1667
- Meta-annotate @SpringBatchTestwith@ExtendWith(SpringExtension.class)#3647
🐞 Bug fixes
- Unable to set usePersistparameter withJpaItemWriterBuilder#3655
- MongoItemReaderBuildershouldn't be throwing an error related to the limit in query when pageSize is provided #3673
- MySQL does not support millisecond accuracy in timestamps #2202
- JobLauncherTestUtilsdoesn't always launch new job instance because generated job parameters aren't unique #821
- Unable to set connectionAutoCommitparameter withJdbcCursorItemReaderBuilder#3717
- Incorrect Jackson configuration #3729
🚀 Enhancements
- Performance issues in SimpleJobRepository.getStepExecutionCount#3657
- Slow SQL in JdbcStepExecutionDaoon Postgres #3634
- Improve TransactionAwareBufferedWriterefficiency #1166
- Improve performance in JdbcStepExecutionDao#3710
- Make RepositoryItemWriteruseCrudRepository#saveAllby default #3720
- Use BulkOperationsAPI inMongoItemWriter#3713
📔 Documentation
- Incorrect reference to stop method in documentation #3643
- Improve Javadoc of ItemProcessorregarding the nullability of input items #3648
- Misleading code example in reference documentation #3692
- The ItemProcessorsection in reference docs should be a top level section #3644
- Use local storage rather than a cookie #3653
- Updated spring-doc-resourcesversion to 0.2.1 #3700
- Add flag to show both configuration styles (Java and XML) in reference docs #572
- Upgrade versions of Asciidoctor #3703
🔨 Dependency Upgrades
- Upgrade to Spring Framework 5.3.0-M1
- Upgrade to Spring Data 2020.0.0-M1
- Upgrade to Spring Integration 5.4.0-M1
- Upgrade to Spring AMQP 2.3.0-M1
- Upgrade to Spring for Apache Kafka 2.5.3.RELEASE
❤️ Contributors
We'd like to thank all contributors who helped making this release possible! A special thank to @parikshitdutta
for his numerous contributions to this release!
v4.2.4.RELEASE
Due to a glitch in the release process of v4.2.3, we had to bump the patch version from 4.2.3 to 4.2.4. This release supersedes v4.2.3 and comes with the following bug fixes and performance improvements:
🐞 Bug fixes
- Unable to set usePersistparameter withJpaItemWriterBuilder#3655
- MongoItemReaderBuildershouldn't be throwing an error related to the limit in query when- pageSizeis provided #3673
- JobLauncherTestUtilsdoesn't always launch new job instance because generated job parameters aren't unique #821
- Unable to set connectionAutoCommitparameter withJdbcCursorItemReaderBuilder#3717
- Incorrect Jackson configuration #3729
🚀 Enhancements
- Slow SQL in JdbcStepExecutionDaoon Postgres #3634
- Improve TransactionAwareBufferedWriterefficiency #1166
📔 Documentation
- Misleading code example in reference documentation #3692
❤️ Contributors
We'd like to thank all contributors who helped making this release possible!
v4.2.3.RELEASE
Due to a glitch in the release process, we had to bump the patch version from 4.2.3 to 4.2.4. This release is superseded by v4.2.4.
v4.2.2.RELEASE
🐞 Bug fixes
- Order of Transition Elements Does Not Adhere to Documentation #3638
- AbstractSqlPagingQueryProviderDoes Not Handle Whitespace Besides the Space Character When Removing Keywords #765
- setScriptEvaluatormethod in- ScriptItemProcessorremoved in Spring Batch 4 #768
- Incorrect error message when no FieldSetMapperis provided #766
- AbstractCursorItemReader#doClose()method is not reentrant #868
- The constructor of JsonItemReadershould callsetExecutionContextName()#3681
- FaultTolerantChunkProcessordoes not collect metrics like- SimpleChunkProcessor#3664
- FlatFileItemReaderBuilderreports error "Only one LineTokenizer option may be configured" when none are. #3688
📔 Documentation
- Incorrect table name in Meta-Data Schema appendix #761
- Incorrect description of AggregateItemReaderin "Appendix A" #1793
- Update spring-doc-resources version to 0.2.0 #3687
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v4.1.4.RELEASE
🐞 Bug Fixes
- Order of Transition Elements Does Not Adhere to Documentation #3638
- AbstractSqlPagingQueryProviderDoes Not Handle Whitespace Besides the Space Character When Removing Keywords #765
- setScriptEvaluatormethod in- ScriptItemProcessorremoved in Spring Batch 4 #768
- Incorrect error message when no FieldSetMapperis provided #766
- AbstractCursorItemReader#doClose()method is not reentrant #868
- The constructor of JsonItemReadershould callsetExecutionContextName()#3681
- FlatFileItemReaderBuilderreports error "Only one LineTokenizer option may be configured" when none are. #3688
📔 Documentation
- Incorrect table name in Meta-Data Schema appendix #761
- Incorrect description of AggregateItemReaderin "Appendix A" #1793
❤️ Contributors
We'd like to thank all the contributors who worked to this release!