Skip to content

Releases: spring-projects/spring-batch

v4.3.2

18 Mar 08:10
Compare
Choose a tag to compare

🐞 Bug fixes

  • Incorrect value of kind attribute in spring-batch-3.0.xsd #1479
  • KafkaItemWriter should wait for results of kafkaTemplate.sendDefault call #3773
  • Incorrect usage of StringBuilder in TransactionAwareBufferedWriter #3745

🚀 Enhancements

  • Provide constructors for injection #3819
  • Jackson2ExecutionContextStringSerializer should trust result of Arrays.asList() by default #3830
  • Add java.sql.Timestamp to trusted classes in Jackson2ExecutionContextStringSerializer #3855
  • Added isXXXEnabled for logging statements #3814
  • Better sizes for StringBuilder #3813
  • Reduce the toCharArray overhead #3812

📔 Documentation

  • Fix javadoc on ItemReadListener interface #3815
  • Fix javadoc in ExitStatus #3811
  • chunk-oriented-processing and completion-policy inconsistent with documentation #1629
  • Regression in the "Configuring and Running a Job" section of the reference documentation #3848

v4.2.6.RELEASE

18 Mar 08:05
Compare
Choose a tag to compare

🐞 Bug fixes

  • Incorrect value of kind attribute in spring-batch-3.0.xsd #1479
  • KafkaItemWriter should wait for results of kafkaTemplate.sendDefault call #3773
  • Incorrect usage of StringBuilder in TransactionAwareBufferedWriter #3745

🚀 Enhancements

  • Provide constructors for injection #3819
  • Jackson2ExecutionContextStringSerializer should trust result of Arrays.asList() by default #3830
  • Add java.sql.Timestamp to trusted classes in Jackson2ExecutionContextStringSerializer #3855
  • Added isXXXEnabled for logging statements #3814
  • Better sizes for StringBuilder #3813
  • Reduce the toCharArray overhead #3812

📔 Documentation

  • Fix javadoc on ItemReadListener interface #3815
  • Fix javadoc in ExitStatus #3811
  • chunk-oriented-processing and completion-policy inconsistent with documentation #1629

v4.3.1

09 Dec 23:15
Compare
Choose a tag to compare

🐞 Bug fixes

  • After restarting a failed job using RunIdIncrementer, all subsequent job launches throw ClassCastException #3799
  • Use isQuoteCharacter instead of direct char comparison in DelimitedLineTokenizer #682
  • Incorrect behaviour of RepositoryItemReader#jumpToItem() on restart #1074
  • Do not throw NPE for job instances without executions #3798

🚀 Enhancements

  • kafkaTemplate in KafkaItemWriter should be protected #3802

v4.2.5.RELEASE

09 Dec 23:13
Compare
Choose a tag to compare

🐞 Bug fixes

  • Setting resource should be optional for JsonItemReaderBuilder #3731
  • Resource should be optional in StaxEventItemReaderBuilder #3736
  • StaxEventItemReaderBuilder failing 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 throw ClassCastException #3799
  • Use isQuoteCharacter instead of direct char comparison in DelimitedLineTokenizer #682
  • Incorrect behaviour of RepositoryItemReader#jumpToItem() on restart #1074
  • Do not throw NPE for job instances without executions #3798

🚀 Enhancements

  • kafkaTemplate in KafkaItemWriter should be protected #3802

📔 Documentation

  • Fix typo in spring-batch-intro.adoc #3755

v4.3.0

30 Oct 08:22
Compare
Choose a tag to compare

⭐ New features

  • Add support to use Java 14 records as items #3693
  • Add JpaCursorItemReader implementation #901
  • Add setter for standalone attribute in StaxEventItemWriter #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.active metric #3750
  • Add getUniqueJobParametersBuilder() method in JobLauncherTestUtils #767
  • Add JobParametersIncrementer implementation based on a DataFieldMaxValueIncrementer #1521
  • Add SynchronizedItemStreamWriter #842
  • Add beanRowMapper method to JdbcPagingItemReaderBuilder #819
  • Add support for named queries in JpaPagingItemReader #1667
  • Add support for annotation based JobExecutionListener in the JobBuilder #817
  • Meta-annotate @SpringBatchTest with @ExtendWith(SpringExtension.class) #3647
  • Set proxyBeanMethods to false on ModularBatchConfiguration and SimpleBatchConfiguration #3715

🚀 Enhancements

  • Add connection parameter to AbstractCursorItemReader#cleanupOnClose #735
  • BulkOperations API Implementation for Remove Operations in MongoItemWriter #3737
  • StaxEventItemReader#isFragmentRootElementName method should be protected #1020
  • Let FlatFileItemReader comment detection logic be customizable #1134
  • Performance issues in SimpleJobRepository.getStepExecutionCount #3657
  • Slow SQL in JdbcStepExecutionDao on Postgres #3634
  • Improve TransactionAwareBufferedWriter efficiency #1166
  • Improve performance in JdbcStepExecutionDao #3710
  • Make RepositoryItemWriter use CrudRepository#saveAll by default #3720
  • Use BulkOperations API in MongoItemWriter #3713
  • Add ability to amend trusted classes in Jackson2ExecutionContextStringSerializer #3765
  • Improve formatting of IllegalArgumentException message thrown by DefaultExecutionContextSerializer #3636

🐞 Bug fixes

  • Unable to set partitionOffsets in KafkaItemReaderBuilder #3761
  • SimpleCompletionPolicy should have getChunkSize() method #3738
  • Unable to set usePersist parameter with JpaItemWriterBuilder #3655
  • MongoItemReaderBuilder shouldn'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
  • JobLauncherTestUtils doesn't always launch new job instance because generated job parameters aren't unique #821
  • Unable to set connectionAutoCommit parameter with JdbcCursorItemReaderBuilder #3717
  • Incorrect Jackson configuration #3729
  • Setting resource should be optional for JsonItemReaderBuilder #3731
  • Resource should be optional in StaxEventItemReaderBuilder #3736
  • StaxEventItemReaderBuilder failing 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
  • AbstractSqlPagingQueryProvider Does Not Handle Whitespace Besides the Space Character When Removing Keywords #765
  • setScriptEvaluator method in ScriptItemProcessor removed in Spring Batch 4 #768
  • Incorrect error message when no FieldSetMapper is provided #766
  • AbstractCursorItemReader#doClose() method is not reentrant #868
  • The constructor of JsonItemReader should call setExecutionContextName() #3681
  • FaultTolerantChunkProcessor does not collect metrics like SimpleChunkProcessor #3664
  • FlatFileItemReaderBuilder reports error "Only one LineTokenizer option may be configured" when none are. #3688
  • Default value of comment prefix in FlatFileItemReaderBuilder is inconsistent with FlatFileItemReader #753
  • Empty String as delimiter is ignored #770
  • Regression due to the fix of BATCH-2442 #775
  • FlatFileItemReaderBuilder does not overrule comment prefixes in returned FlatFileItemReader #779
  • FlatFileItemWriterBuilder requires 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-resources version to 0.2.2
  • Incorrect reference to stop method in documentation #3643
  • Improve Javadoc of ItemProcessor regarding the nullability of input items #3648
  • Misleading code example in reference documentation #3692
  • The ItemProcessor section 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 AggregateItemReader in "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.Alignment enum #3778
  • Deprecate org.springframework.batch.item.xml.StaxUtils #3779
  • Deprecate the Map-based JobRepository/JobExplorer implementations #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

17 Sep 08:48
Compare
Choose a tag to compare
v4.3.0-RC1 Pre-release
Pre-release

⭐ New features

  • Add support for annotation based JobExecutionListener in the JobBuilder #817
  • Set proxyBeanMethods to false on ModularBatchConfiguration and SimpleBatchConfiguration #3715
  • Add setter for standalone attribute in StaxEventItemWriter #758
  • Add support to use Java 14 records as items #3693
  • Add JpaCursorItemReader implementation #901

🐞 Bug fixes

  • Unable to set partitionOffsets in KafkaItemReaderBuilder #3761

⚠️ Deprecations

  • Deprecate JobExecution#stop() #1605
  • Deprecate MultiResourceItemReader#getCurrentResource #3776
  • Deprecate AbstractNeo4jItemReader #3777
  • Deprecate org.springframework.batch.item.file.transform.Alignment enum #3778
  • Deprecate org.springframework.batch.item.xml.StaxUtils #3779
  • Deprecate the Map-based JobRepository/JobExplorer implementations #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

13 Aug 08:05
Compare
Choose a tag to compare
v4.3.0-M2 Pre-release
Pre-release

⭐ 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.active metric #3750
  • Add getUniqueJobParametersBuilder() method in JobLauncherTestUtils #767
  • Add JobParametersIncrementer implementation based on a DataFieldMaxValueIncrementer #1521

🐞 Bug fixes

  • SimpleCompletionPolicy should have getChunkSize() method #3738

🚀 Enhancements

  • Add connection parameter to AbstractCursorItemReader#cleanupOnClose #735
  • BulkOperations API Implementation for Remove Operations in MongoItemWriter #3737
  • StaxEventItemReader#isFragmentRootElementName method should be protected #1020
  • Let FlatFileItemReader comment detection logic be customizable #1134

📔 Documentation

  • Fix typo in spring-batch-intro.adoc #3755
  • Updated spring-doc-resources version 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

26 Jun 19:40
Compare
Choose a tag to compare
v4.3.0-M1 Pre-release
Pre-release

⭐ New features

  • Add SynchronizedItemStreamWriter #842
  • Add beanRowMapper method to JdbcPagingItemReaderBuilder #819
  • Add support for named queries in JpaPagingItemReader #1667
  • Meta-annotate @SpringBatchTest with @ExtendWith(SpringExtension.class) #3647

🐞 Bug fixes

  • Unable to set usePersist parameter with JpaItemWriterBuilder #3655
  • MongoItemReaderBuilder shouldn'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
  • JobLauncherTestUtils doesn't always launch new job instance because generated job parameters aren't unique #821
  • Unable to set connectionAutoCommit parameter with JdbcCursorItemReaderBuilder #3717
  • Incorrect Jackson configuration #3729

🚀 Enhancements

  • Performance issues in SimpleJobRepository.getStepExecutionCount #3657
  • Slow SQL in JdbcStepExecutionDao on Postgres #3634
  • Improve TransactionAwareBufferedWriter efficiency #1166
  • Improve performance in JdbcStepExecutionDao #3710
  • Make RepositoryItemWriter use CrudRepository#saveAll by default #3720
  • Use BulkOperations API in MongoItemWriter #3713

📔 Documentation

  • Incorrect reference to stop method in documentation #3643
  • Improve Javadoc of ItemProcessor regarding the nullability of input items #3648
  • Misleading code example in reference documentation #3692
  • The ItemProcessor section in reference docs should be a top level section #3644
  • Use local storage rather than a cookie #3653
  • Updated spring-doc-resources version 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

11 Jun 15:56
Compare
Choose a tag to compare

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 usePersist parameter with JpaItemWriterBuilder #3655
  • MongoItemReaderBuilder shouldn't be throwing an error related to the limit in query when pageSize is provided #3673
  • JobLauncherTestUtils doesn't always launch new job instance because generated job parameters aren't unique #821
  • Unable to set connectionAutoCommit parameter with JdbcCursorItemReaderBuilder #3717
  • Incorrect Jackson configuration #3729

🚀 Enhancements

  • Slow SQL in JdbcStepExecutionDao on Postgres #3634
  • Improve TransactionAwareBufferedWriter efficiency #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

16 Jun 09:43
Compare
Choose a tag to compare

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.