2002: Rod Johnson publishes book addressing J2EE complexities
2003: Rod Johnson, Juergen Hoeller, and Yann Caroff start the Spring Framework open source project
2004: Spring Framework 1.0 is released
2008: Spring Security 2.0 is released, renaming it from Acegi
2011: Spring Data takes on NoSQL workloads with Spring Data MongoDB, Spring Data Redis, Spring Data Neo4j, and Spring Data GemFire
2014: Spring Boot 1.0 is released, introducing rapid application development
2014: Spring Batch 3.0 released, switching to Spring Boot's dynamic bootstrapping capabilities over archetypes
2014: Spring Integration 4.0 enables integration flows to be configured without XML
2015: Spring Cloud 1.0 is released, providing tools to quickly build software for distributed systems
2016: Spring Cloud Task is introduced, supporting short-lived microservices
2016: Spring Cloud Stream 1.0 is released, enabling event-driven microservices
2016: Spring Cloud Data Flow 1.0 is released, providing an orchestration service for data microservices
2016: Spring Cloud Data Flow for Kubernetes 1.0 orchestrates long-running (streaming) and short-lived (task/batch) data microservices on Kubernetes
2018: Spring Cloud Skipper 1.0 allows app discovery and lifecycle management on multiple cloud platforms
2021: Spring Cloud Gateway for Kubernetes automates the deployment of an API gateway service by applying YAML configuration objects to a Kubernetes cluster
2022: Spring Boot 3 and Spring Framework 6 enable natively compiled applications to run more efficiently in environments like Kubernetes via GraalVM

Thank you Spring! Congratulations on over 20 years of innovation. Celebrate with us at SpringOne. Push button B to continue your quest.