Skip to content

Releases: spring-projects/spring-batch

v4.3.10

22 Nov 10:33
Compare
Choose a tag to compare

Important❗: This is the last OSS release of Spring Batch 4. Please refer to the support policy page for more details about our support policy.

🐞 Bug fixes

  • NullPointerException in RepeatTemplate#doHandle() when unwrapIfRethrown() returns null if logging in DEBUG #1123
  • Job scoped bean doesn't cleanup in unit test #1288

📔 Documentation

  • Update documentation about serializable keys in the execution context #4457
  • Incorrect JavaDoc for Methods returning JobFlowBuilder in JobBuilder #4415
  • Incorrect Javadoc in DefaultFieldSet and DefaultFieldSetFactory #4494
  • Regression with the CSS styles and JS toggle in the reference documentation of 4.3.x #4437

🔨 Tasks

  • Upgrade to gradle 6.9.4
  • Switch to spring-asciidoctor-backends for documentation

🔨 Dependency Upgrades

  • Spring Framework: 5.3.31
  • Spring Retry: 1.3.4
  • Spring AMQP: 2.3.16
  • Spring Data: 2.7.18
  • Spring Integration: 5.5.20
  • Spring Kafka: 2.9.13
  • Spring LDAP: 2.4.1
  • Micrometer: 1.9.17

❤️ Contributors

We would like to thank all contributors who helped in shipping this release!

v5.1.0-RC1

18 Oct 14:41
3a9c468
Compare
Choose a tag to compare
v5.1.0-RC1 Pre-release
Pre-release

🚀 Enhancements

  • Create versions of samples using Java configuration #3663
  • Improve the issue reporting process #4329
  • Replace deprecated RetryListenerSupport #4453
  • Use more SynchronizedItemReader in tests #4452
  • Take care of some deprecations #4454

🐞 Bug fixes

  • DefaultJobParametersExtractor no longer copies keys from JobParameters when not contained in ExecutionContext #4458

📔 Documentation

  • Add Two minutes tutorial to the README #4329
  • Update the Getting started guide #4329

🆙 Dependency Upgrades

  • Spring Framework 6.1.0-RC1
  • Spring Integration 6.2.0-RC1
  • Spring Data 3.2.0-RC1
  • Spring LDAP 3.2.0-RC1
  • Spring AMQP 3.1.0-RC1
  • Spring Kafka 3.1.0-RC1
  • Micrometer 1.12.0-RC1
  • Spring Retry 2.0.4
  • Jackson 2.15.3
  • Hibernate 6.3.1.Final
  • Avro 1.11.3

❤️ Contributors

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

@hpoettker @cppwfs @jwillebrands

v5.1.0-M3

20 Sep 08:27
63a0393
Compare
Choose a tag to compare
v5.1.0-M3 Pre-release
Pre-release

⭐ New features

  • Add item reader for Redis #4446
  • Add item writer for Redis #3957
  • Add ability to start a job flow definition with a decider #4411
  • Add support to specify the database type through EnableBatchProcessing #4320
  • Auto-configure JobRegistryBeanPostProcessor with EnableBatchProcessing and DefaultBatchConfiguration #4245
  • Add support for Java Date and Time API types serialization in Jackson2ExecutionContextStringSerializer #3952
  • Add option to provide a custom JobKeyGenerator in JdbcJobInstanceDao #3926
  • Access to update counts in JdbcBatchItemWriter #3829

🚀 Enhancements

  • Inaccurate exception message in SimpleJobRepository #4025
  • Expose the internal map in ExecutionContext as read-only #4004
  • Add support for quotes in DelimitedLineAggregator #1139
  • Provide better error message in StaxEventItemReader if Resource does not exist #1171
  • Add getters for DAOs in SimpleJobExplorer #1598
  • Use separate parameters for short_context length and exit_message length #1617
  • Expose targetObject and targetMethod in AbstractMethodInvokingDelegator #1786

🐞 Bug fixes

  • Switching incrementers causes jobs to have old job parameters #4073
  • Missing setter for strict field in DelimitedBuilder #809

📔 Documentation

  • Migrate documentation to Antora #4422
  • Ambiguous description of "Configuring a JobRepository" #4333

🔨 Tasks

  • Add Automatic-Module-Name to MANIFEST.MF in all components #867

❤️ Contributors

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

@IlyaNerd, @ParadiseCHOI, @benelog, @rwinch, @cppwfs and @sjh836

v5.1.0-M2

24 Aug 01:48
f4e9eea
Compare
Choose a tag to compare
v5.1.0-M2 Pre-release
Pre-release

⭐ New features

  • Add cursor-based ItemReader for MongoDB #4323
  • Add support for bulk inserts in MongoItemWriter #4149
  • Provide accessors in MongoItemWriter to facilitate extensions #3973

🚀 Enhancements

  • Add java.util.concurrent.ConcurrentHashMap to the trusted classes list in Jackson2ExecutionContextStringSerializer #4407
  • Add java.sql.Date to the trusted classes list in Jackson2ExecutionContextStringSerializer #4407
  • Auto-detect the class/interface to be mocked #4426

🐞 Bug fixes

  • Concurrent execution of FlowJob may cause FlowExecutionException #4092

🔨 Tasks

  • Rename MongoItemReader to MongoPagingItemReader #4341
  • Deprecate jobRepository method in JobBuilderHelper & StepBuilderHelper #4326

❤️ Contributors

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

v5.0.3

23 Aug 17:36
1c81b82
Compare
Choose a tag to compare

🐞 Bug fixes

  • Incorrect drop statements in SQLServer DDL script #4373
  • Invalid migration script for H2 #4390
  • Concurrent execution of FlowJob may cause FlowExecutionException #4092

🚀 Enhancements

  • Auto-detect the class/interface to be mocked #4426
  • Add java.util.concurrent.ConcurrentHashMap to the trusted classes list in Jackson2ExecutionContextStringSerializer #4407
  • Add java.sql.Date to the trusted classes list in Jackson2ExecutionContextStringSerializer #4407

📔 Documentation

  • Incorrect Javadoc in SimpleStepBuilder #4402
  • Document the type and name of the surrounding job in JobLauncherTestUtils#launchStep #3825
  • Fix typo in SimpleMailMessageItemWriter Javadoc #4381
  • Fix javadoc errors and warnings #1624

🔨 Tasks

  • Build failure when the default charset of the JVM is not UTF-8 #4417

🆙 Dependency Upgrades

  • Spring Framework: 6.0.11
  • Spring Retry: 2.0.2
  • Spring AMQP: 3.0.8
  • Spring Data: 3.0.9
  • Spring Integration: 6.0.7
  • Spring Kafka: 3.0.10
  • Spring LDAP: 3.0.5
  • Micrometer: 1.10.10

❤️ Contributors

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


Full change log: v5.0.2...v5.0.3

v4.3.9

23 Aug 14:52
Compare
Choose a tag to compare

🐞 Bug fixes

  • Incorrect retrieval of job parameters in SimpleJobExplorer#getJobExecutions #4246
  • Concurrent execution of FlowJob may cause FlowExecutionException #4092

🚀 Enhancements

  • Slow Query in JdbcJobInstanceDao.getLastJobInstance() #4024
  • Allow StaxEventItemReader to auto-detect the input file encoding #4101

📔 Documentation

  • Incorrect Javadoc in SimpleStepBuilder #4402
  • Fix typo in SimpleMailMessageItemWriter Javadoc #4381

🔨 Dependency Upgrades

  • Spring Framework: 5.3.29
  • Spring Retry: 1.3.4
  • Spring AMQP: 2.3.16
  • Spring Data: 2.7.15
  • Spring Integration: 5.5.18
  • Spring Kafka: 2.9.11
  • Spring LDAP: 2.4.1
  • Micrometer: 1.9.14

❤️ Contributors

We would like to thank all contributors who helped in shipping this release!

v5.1.0-M1

19 Jul 09:16
b874b79
Compare
Choose a tag to compare
v5.1.0-M1 Pre-release
Pre-release

⭐ New features

  • Add support for Virtual Threads #4399
  • Add setter for ObservationConvention in StepBuilder/JobBuilder #4401
  • Add synchronized decorators for non-stream item readers/writers #4368
  • Add option to clear the persistence context in JpaItemWriter #804

🚀 Enhancements

  • Public access to AbstractItemCountingItemStreamItemReader.getCurrentItemCount #1639

🐞 Bug fixes

  • Invalid migration script for H2 #4390
  • Incorrect drop statements in SQLServer DDL script #4373
  • SplitBuilder.add(Flow) causes hung execution in some cases #3857
  • Incorrect thread usage in SynchronizedItemStreamReaderTests #837

🔨 Dependency upgrades

  • Spring Framework 6.1.0-M2
  • Spring Integration 6.2.0-M1
  • Spring Data 3.2.0-M1
  • Spring LDAP 3.2.0-M1
  • Micrometer 1.12.0-M1

📔 Documentation

  • Incorrect Javadoc in SimpleStepBuilder #4402
  • Document the type and name of the surrounding job in JobLauncherTestUtils#launchStep #3825
  • Fix typo in SimpleMailMessageItemWriter Javadoc #4381
  • Fix javadoc errors and warnings #1624

🔨 Tasks

  • Build failure when the default charset of the JVM is not UTF-8 #4417

❤️ Contributors

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

v5.0.2

17 May 14:55
1266de6
Compare
Choose a tag to compare

⭐ New features

  • Allow StaxEventItemReader to auto-detect the input file encoding #4101

🚀 Enhancements

  • Disable Docker-based tests when Docker is not available #4360
  • JobParameters should use LinkedHashMap instead of HashMap #4179
  • Slow Query in JdbcJobInstanceDao.getLastJobInstance() #4024
  • Make KafkaItemWriter extensible and document its thread-safety #3970
  • Upgrade to Mockito 5 #4366
  • Enhance switch statements #4365
  • Change visibility of properties in JdbcPagingItemReaderBuilder #4331
  • Reduce use of deprecated APIs #4334
  • Add SafeVarargs annotations #4335

🐞 Bug fixes

  • Incorrect v5 migration script for SQLServer #4349
  • Implement equals and hashCode in Chunk class #4314
  • Incorrect retrieval of job parameters in SimpleJobExplorer#getJobExecutions #4246

📔 Documentation

  • Fix BATCH_STEP_EXECUTION DDL #4356
  • Fix for the XML/Java switch regression #4355
  • Documentation Update to scalability.adoc #4338
  • Fix tiny misspelling in the sybase integration test comments #4313
  • Missing instruction about accessing historical data in the migration guide #4352
  • Document Thread Safety of item readers and writers #3646
  • Missing DDL migration script related to BATCH_STEP_EXECUTION table in v5 migration guide #4332
  • Incorrect type of date/time fields in documentation #4324
  • Asciidoctor errors #4168

🔨 Tasks

  • Forks fail on GitHub Actions Continuous Inspection Build #4346
  • Intermittent failure in AsynchronousTests#testRollback #4095
  • Intermittent failure in ConcurrentTransactionAwareProxyTests on windows #3847

🆙 Dependency Upgrades

  • Spring Framework: 6.0.9
  • Spring Retry: 2.0.1
  • Spring AMQP: 3.0.4
  • Spring Data: 3.0.6
  • Spring Integration: 6.0.5
  • Spring Kafka: 3.0.7
  • Spring LDAP: 3.0.3
  • Micrometer: 1.10.7

❤️ Contributors

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

@Buzzardo, @Ditscheridou, @cppwfs, @hpoettker, @jamesrwoodruff, @kajsa, and @viviennes7


Full change log: v5.0.1...v5.0.2

v5.0.1

23 Feb 00:51
3aa503d
Compare
Choose a tag to compare

🐞 Bug fixes

  • Missing AOT Hint for JobOperator in Batch 5.0.0 #4248
  • Missing AOT hints for for types associated with remote chunking #4307
  • @StepScope not working when XML namespace activated #3936
  • Incorrect API contract of JobRepository.deleteJobInstance #4250
  • SimpleJobRepository.deleteJobExecution does not follow API contract #4249
  • Inconsistent state validation rules between RepositoryItemReader and RepositoryItemReaderBuilder #4276
  • ClassCastException in RepositoryItemReader when using Slice instead of Page #4115
  • Disable BatchTestContextCustomizer after AOT processing #4286
  • Outdated contract of APIs accepting job parameters as String #4301
  • ArrayIndexOutOfBoundsException when invoke SimpleJobOperator.start #4253
  • Cannot run job with LocalDate(Time) job parameters #4257
  • Illegal argument exception when querying running jobs with Date() parameter #4270
  • ConversionFailedException when using java.util.Date job parameter #4297
  • Incorrect handling of default parameter type in JsonJobParametersConverter #4299
  • Incorrect handling of file deletion in File-based writers #4203
  • Incorrect notNull assertion on parameter type in JobParameter #4263
  • Invalid Oracle migration script in 5.0 #4271
  • Invalid Postgresql migration script in 5.0 #4260

🚀 Enhancements

  • High memory consumption during long running jobs #3790
  • Use batch inserts for job parameters #3867
  • Add default component name in constructor of AvroItemReader #4285
  • Implement equals and hashCode in Chunk class #4296
  • Add final modifier to fields of RunIdIncrementer and Job/Step BuilderFactory APIs #4143
  • Use ExecutionContext map constructor #3985
  • Optimize ExitStatus#addExitDescription #3979
  • Spring 6.0.1 and newer requires/prefers compilation with "-parameters" #4258
  • Remove unused method #4256

📔 Documentation

  • Incorrect version in Javadoc's since tag of DefaultBatchConfiguration #4312
  • Indent of Javadoc codes are mixed #4234
  • Fix typos in Javadocs #4295
  • Incorrect reference to AbstractJobTests in documentation #4182
  • Architecture html docs are missing diagrams #4268
  • Changes to BATCH_JOB_EXECUTION_PARAMS are incorrectly specified in the migration guide #4259
  • Fix double "before" typo #4281
  • Incorrect code samples in reference documentation #4262
  • Fix typo tnew to new in adoc files #4283

🆙 Dependency Upgrades

  • Spring Framework: 6.0.5
  • Spring Retry: 2.0.0
  • Spring AMQP: 3.0.2
  • Spring Data: 3.0.2
  • Spring Integration: 6.0.3
  • Spring Kafka: 3.0.3
  • Spring LDAP: 3.0.1
  • Micrometer: 1.10.4

🔨 Tasks

  • Move build process to Github Actions #4128
  • Incorrect deployment descriptor of spring-batch-docs in Artifactory #4109
  • Deprecate JobOperator.start(String, String) #4304
  • Deprecate MetaDataInstanceFactory#createJobExecution #4303
  • Intermittent failure in TaskExecutorRepeatTemplateAsynchronousTests #3866
  • Intermittent failure in FaultTolerantStepFactoryBeanRollbackTests.testMultithreadedSkipInWriter #1278
  • Add "v" prefix to git tag names #4183

❤️ Contributors

We would like to thank all contributors who helped in shipping this release!


Full change log: v5.0.0...v5.0.1

v4.3.8

22 Feb 15:58
Compare
Choose a tag to compare

🐞 Bug fixes

  • JobOperator#stop can not stop JobExecution correctly in some cases #4064
  • ClassCastException in RepositoryItemReader when using Slice instead of Page #4115
  • Inconsistent state validation rules between RepositoryItemReader and RepositoryItemReaderBuilder #4276
  • @StepScope not working when XML namespace activated #3936
  • Incorrect handling of file deletion in File-based writers #4203

🚀 Enhancements

  • Optimize ExitStatus#addExitDescription #3979
  • High memory consumption during long running jobs #3790

📔 Documentation

  • Fix minor example in job.adoc #4199
  • Incorrect reference to AbstractJobTests in documentation #4182

🔨 Dependency Upgrades

  • Spring Framework: 5.3.25
  • Spring Retry: 1.3.4
  • Spring AMQP: 2.3.16
  • Spring Data: 2.7.8
  • Spring Integration: 5.5.16
  • Spring Kafka: 2.9.6
  • Spring LDAP: 2.4.1
  • Micrometer: 1.9.8

❤️ Contributors

We would like to thank all contributors who helped in shipping this release!