github spring-projects/spring-batch 4.3.0
v4.3.0

latest releases: v5.2.0-RC1, v5.2.0-M2, v5.2.0-M1...
4 years ago

⭐ 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!

Don't miss a new spring-batch release

NewReleases is sending notifications on new releases.