Stéphane Nicoll

Stéphane Nicoll

Stéphane is an experienced software engineer and open source contributor with a strong focus on Java enterprise development, software architecture, and technical leadership. Over the years, he has contributed to and led a wide range of initiatives, including the development of critical infrastructure in logistics and geospatial systems, as well as the design of enterprise frameworks widely adopted across the industry.

Stéphane is a core contributor to the Spring Framework and Spring Boot open source projects, and previously led Spring Initializr and start.cupchino.shop, supporting developers worldwide in getting started with Spring. As a former member of the Apache Maven PMC, he has been actively involved in open source software governance and evolution for two decades.

As a member of the Spring team, Stéphane has had the privilege of working on various aspects of Spring Boot and Spring Framework, with a focus on understanding its inner workings and collaborating with the fantastic community of contributors.

Connect with Stéphane ("snicoll") on Bsky, Mastodon, and GitHub to follow his ongoing journey in the world of Java development.

Recent Blog posts by Stéphane Nicoll

Spring Framework 4.2.1 Available Now

Releases | September 01, 2015 | ...

It is my pleasure to announce that Spring Framework 4.2.1 is available from repo.cupchino.shop and Maven Central. This first maintenance release in the 4.2 line contains a wide range of fixes for regressions and other issues reported against 4.2 GA.

4.2.1 also contains minor enhancements: refinement of our Jackson support (see Sébastien's updated blog post), meta-annotation processing improvements (@AliasFor), third-party dependencies alignment (including Hibernate 5.0 GA).

We strongly recommend an immediate upgrade to 4.2.1 for all 4.x users. The Spring Framework team is now working towards…

Spring Boot 1.3.0.M4 Available Now

Releases | August 18, 2015 | ...

We've just released Spring Boot v1.3.0.M4 as we found an annoying regression with CloudFoundry deployment. This release includes additional fixes and improvements.

For a complete list of changes, see the Spring Boot 1.3 Release Notes on the wiki and the updated reference documentation.

Project Page | GitHub | Issues | Documentation

#SpringOne 2GX 2015 is around the corner! Book your place at SpringOne2GX in Washington, DC soon. It's simply the best opportunity to find out first hand all that's going on and to provide direct feedback.

Spring Boot 1.3.0.M3 Available Now

Releases | August 11, 2015 | ...

It is my pleasure to announce that Spring Boot v1.3.0.M3 is available now from the Spring milestone repository. This release includes 90 fixes and improvements and merges 38 pull-requests! Thanks again to everyone that has contributed.

Highlights of the new release include:

  • HTTP session persistence (enabled automatically with Devtools)
  • Configuration improvements for JMS and AMQP endpoints
  • Various Logback and log4j 2 improvements
  • Auto-configuration classes can now be excluded via configuration
  • Auto-configuration for embedded MongoDB
  • Auto-configuration for H2 web console

For a complete list of changes, and upgrade instructions, see the Spring Boot 1.3 Release Notes on the wiki and the updated reference documentation

Cache auto-configuration in Spring Boot 1.3

Engineering | June 15, 2015 | ...

Over the past year, we have significantly improved the cache abstraction, with support of JSR-107 (JCache) annotations and a better declarative model to share or externalize common settings. In Spring Boot 1.3, we now offer a comprehensive auto-configuration for it.

In a nutshell, the cache abstraction applies caching to methods, thus reducing the number of executions based on the information available in the cache. The caching logic is applied transparently: the method below will only be invoked if the specified ISBN is not already present in the books cache. Upon calling that method for a missing Book, the caches will be updated transparently so that a further call does not invoke the…

How Spring achieves compatibility with Java 6, 7 and 8

Engineering | April 03, 2015 | ...

As of Spring Framework 4.0, Java 8 is supported as a first-class citizen and we've seen some confusion in the Spring community since then. How do we manage to support Java 8 and remain compatible with Java 6 and Java 7 after all? This blog post provides some insight into how we're handling this within the framework codebase.

Java 8 language features vs. Java 8 APIs

First, a distinction must be made between using new language features and new APIs in a given Java generation such as Java 8. If a class uses a Java 8 language feature such as a lambda expression, it has to be compiled with -source 1.8 -target 1.8 and therefore the whole compilation unit will only work on Java 8+. However, if a particular class in a library optionally uses a new Java 8 interface such as java.util.stream.Stream, the library can still run on a previous Java generation as long as it is being compiled with e.g. -source 1.6 -target 1.6 - and as long as the use of that particular

Better application events in Spring Framework 4.2

Engineering | February 11, 2015 | ...

Application events are available since the very beginning of the Spring framework as a mean for loosely coupled components to exchange information. One of the most well known usage of application events is the following:

@Component
public class MyListener 
        implements ApplicationListener<ContextRefreshedEvent> {
  
    public void onApplicationEvent(ContextRefreshedEvent event) {
        ...
    }
}

This allows MyListener to be notified when the context has refreshed and one can use that to run arbitrary code when the application context has fully started.

In Spring Framework…

Spring Framework 4.1.3 released

Releases | December 09, 2014 | ...

On behalf of the team I am pleased to announce the immediate availability of Spring Framework 4.1.3.

Spring Framework 4.1.3 is our third maintenance release in the 4.1.x line and comes with over 50 fixes and improvements. It was initially scheduled for late December but we decided to release it early to incorporate user-suggested and user-contributed improvements right in time for the scheduled Spring Boot 1.2 release this week.

We are still planning on another release later this month (4.1.4) at which point 4.1.x will turn into a maintenance branch, with active development on 4.2 happening on…

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