Mahmoud Ben Hassine

Mahmoud Ben Hassine

I am a software engineer at VMware, currently working as the project lead of Spring Batch.

I am an OSS advocate and I have contributed to several open source projects. I enjoy spending time with my family and friends, reading, running and playing chess!

Blog posts by Mahmoud Ben Hassine

Spring Shell 4.0.0-M2 is out!

Releases | December 09, 2025 | ...

On behalf of the team and all contributors, I am pleased to announce that Spring Shell 4.0.0-M2 is now available on Maven Central!

What's new?

This second milestone release continues our efforts toward a modern version of Spring Shell, aligned with the rest of the Spring portfolio.

This milestone includes several bug fixes and improvements based on the feedback we received after the 4.0.0-M1 release.

Major changes include:

  • Upgrade to Spring Framework 7.0 GA and Spring Boot 4.0 GA
  • Migrate nullability annotations and checks to jSpecify
  • Improve project modularity to streamline dependencies
  • Improve command programming model and APIs

Spring Batch 6.0.0 GA is out!

Releases | November 19, 2025 | ...

Dear Spring Batch community,

On behalf of the team and everyone who has contributed, I am pleased to announce the release of Spring Batch 6.0.0 GA!

Spring Batch 6.0 is a major release that builds upon the foundations in Spring Framework 7.0, and will be available through Spring Boot 4.0 to provide a robust and efficient batch processing framework. This general availability release includes all the features and improvements introduced in the previous release candidates, along with additional enhancements based on community feedback.

Some of the key highlights of Spring Batch 6.0.0 GA include:

  • Upgrade to the latest Spring dependencies like Spring Framework 7.0, Spring Data 4.0, and Spring Integration 7.0
  • Comprehensive null safety through JSpecify
  • New, more robust and faster implementation of the chunk-oriented processing model
  • New, enhanced concurrency model for better throughput and improved performance
  • Support for local data chunking with multiple threads
  • Support for remote step executions
  • SEDA style with Spring Integration message channels
  • Graceful shutdown support and ability to recover failed job executions
  • Support for observability events with the Java Flight Recorder (JFR)

Spring Batch 6.0.0-RC2 available now!

Releases | November 06, 2025 | ...

I am pleased to announce that Spring Batch 6.0.0-RC2 is now available from Maven Central!

What's new in Spring Batch 6.0.0-RC2?

This second release candidate introduces a long-awaited feature which is the use of contextual lambda expressions to configure batch artefacts. This new style of configuration provides a more concise and readable way to define item readers and writers.

For example, instead of using the traditional builder pattern like in the following snippet to define a delimited file reader:

var reader = new FlatFileItemReaderBuilder()
    .resource(...)
    .delimited…

Spring Shell 4.0.0-M1 is available!

Releases | October 24, 2025 | ...

I am pleased to announce that the first milestone of Spring Shell 4.0 is now available on Maven Central!

What's new?

This milestone release is the first step toward a modern version of Spring Shell, aligned with the rest of the Spring portfolio.

The main focus of this first milestone is alignment with Spring Framework 7 and Spring Boot 4.

Spring Shell 4.0.0-M1 is now based on Spring Framework 7.0.0-RC2 and Spring Boot 4.0.0-RC1.

For the complete list of changes, please check the release notes.

What's next?

We plan to release Spring Shell 4.0 GA in November, after the Spring Boot 4.0 GA release…

Spring Batch 6.0.0-RC1 is out!

Releases | October 22, 2025 | ...

On behalf of the team and all contributors, I am pleased to announce that Spring Batch 6.0.0-RC1 is now available from Maven Central!

This release candidate comes with following features and improvements:

  • Graceful Shutdown support
  • SEDA style with Spring Integration message channels
  • Local chunking support
  • Jackson 3 support
  • Remote step support

For the complete list of changes, please check the release notes.

Graceful Shutdown support

Spring Batch 6.0 introduces support for graceful shutdown of batch jobs. This feature allows you to stop a running job execution in a controlled manner, ensuring…

Spring Batch 6.0.0-M4 released

Releases | October 09, 2025 | ...

I am pleased to announce that Spring Batch 6.0.0-M4 is now available from Maven Central!

The main changes in this milestone release are the following:

  • Migration to nullability checks with jSpecify
  • Improved domain model design

For the complete list of changes, please check the release notes here.

Null safety with JSpecify

Spring Batch 6.0 APIs are now annotated with JSpecify annotations to provide better null-safety guarantees and improve code quality. This change helps developers catch potential null-related issues at compile time, leading to more robust and reliable applications.

Improved…

Spring Batch 6.0.0-M3 and 5.2.3 are out!

Releases | September 17, 2025 | ...

On behalf of the team and all contributors, I am pleased to announce that Spring Batch 6.0.0-M3 and 5.2.3 are now available in Maven Central!

Version 5.2.3 is a maintenance release that includes several bug fixes and dependency upgrades. You can find the complete list of changes in the release notes.

This blog post is more about the 6.0.0-M3 milestone release, which comes with following features and improvements:

  • New concurrency model
  • Ability to stop all kinds of steps
  • Observability with the Java Flight Recorder

For the complete list of changes, please check its release notes here.

New…

Spring Batch 6.0.0-M2 available now

Releases | August 20, 2025 | ...

I am pleased to announce that Spring Batch 6.0.0-M2 is available now from Maven Central!

In this milestone release, we shipped the following features and improvements:

  • Dependencies upgrade
  • New implementation of the chunk-oriented processing model
  • Ability to recover abruptly failed job executions

For the complete list of changes, please check the release notes.

Dependencies upgrade

In this milestone release, the Spring dependencies are upgraded to the following versions:

  • Spring Framework: 7.0.0-M8
  • Spring Integration: 7.0.0-M2
  • Spring AMQP: 4.0.0-M4
  • Spring Kafka: 4.0.0-M4
  • Spring Data: 4.0.0-M5
  • Spring Ldap: 4.0.0-M2
  • Micrometer: 1.16.0-M2

Spring Shell 3.4.1 is now available

Releases | August 04, 2025 | ...

On behalf of the team and everyone who has contributed, I'm happy to announce that Spring Shell 3.4.1 has been released and is now available from Maven Central.

This patch release comes with a number of bug fixes, dependency updates and documentation enhancements. Please check the release notes for more details about the changes.

Thanks to all those who have contributed with issue reports and pull requests.

How can you help?

Project Page | GitHub | Issues | Documentation

Spring Batch 6.0.0-M1 is out!

Releases | July 23, 2025 | ...

On behalf of the team and all contributors, I am pleased to announce that Spring Batch 6.0.0-M1 is available now from Maven Central! This first milestone introduces several new features, enhancements and bug fixes. It also includes a number of API breaking changes and deprecations.

This blog post walks you through the following major changes:

  • Dependencies upgrade
  • Batch infrastructure configuration improvements
  • New command line job operator
  • Deprecations and pruning

For the complete list of changes, please check the release notes and the migration guide.

Dependencies upgrade

In this major…

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all