This article helps you understand major versions of Jakarta Servlet technology as well as important changes in each version. It's also updated regularly to help you get the latest Servlet version.

As of September 2024, the latest version of Jakarta Servlet is 6.1, released in April 2024.

You know, Jakarta Servlet (formerly Java Servlet) is a server-side technology that allows developers to create dynamic web application in the Java programming language. By using servlets, you can programmatically handle requests and serving responses to clients, greatly extending the capabilities of a web application.

Since Oracle donated Java EE platform to the Eclipse Foundation in 2017, Jakarta Servlet has become the successor for Java Servlet technology which forms the foundation of various technologies in the Java web development stack. Jakarta Servlet is a part of the Jakarta EE platform.

 

Jakarta Servlet Version History:

You can find in the following table an overview of the history of Jakarta Servlet technology in terms of Servlet API specification versions and the corresponding Jakarta EE versions.

 

 

 

Jakarta Servlet Version

 

 

 

 

Release Time

 

 

 

 

Jakarta EE platform

 

 

 

Jakarta Servlet 4.0.3

 

 

September 2019

Jakarta EE 8

 

Jakarta Servlet 5.0

 

 

Oct 2020

 

 

Jakarta EE 9

 

 

Jakarta Servlet 6.0

 

 

May 2022

 

 

Jakarta EE 10

 

 

Jakarta Servlet 6.1

 

 

April 2024

 

 

Jakarta EE 11

 

 

As you can see, each version of the Jakarta Servlet specification came with a major release of Jakarta EE platform.



 

Important Updates in Jakarta Servlet Versions:

Jakarta Servlet has largely carried forward the core functionality of Java Servlet while modernizing it to fit the evolving ecosystem of Jakarta EE, ensuring better performance, modern dependency management, and cloud-native features, while keeping pace with the changes in the broader Java ecosystem. The following list gives you the notable changes in major releases of Jakarta Servlet:

 

Jakarta Servlet 5.0 (December 2020):

  • Namespace Change: The most significant change was the migration from javax.servlet.* to jakarta.servlet.* due to the transition of Java EE to Jakarta EE under the Eclipse Foundation.
  • CDI Integration: Enhanced integration with Contexts and Dependency Injection (CDI) 3.0, allowing more flexible and modern dependency injection within web applications.
  • HTTP/2 and Async Updates: Continued enhancements to asynchronous request handling and better HTTP/2 protocol support.
  • Backward Compatibility: Efforts were made to ensure backward compatibility with the Servlet 4.0 API (apart from the namespace change), providing developers with a smooth transition path.
 

Jakarta Servlet 6.0 (May 2022):

  • Jakarta EE 10: This version aligned with Jakarta EE 10 and focused on modernizing the platform and APIs.
  • Improved Modularization: Modernized the platform to allow for more modular, lightweight applications by improving API clarity and removing outdated or obsolete features.
  • Alignment with Java SE 17: Servlet 6.0 took advantage of new Java SE 17 features and enhancements for performance and stability, further aligning the Jakarta EE platform with modern Java standards.
  • Security and Performance Updates: Provided updates around security improvements and performance enhancements to make web applications more efficient, particularly with regard to cloud-native and microservices architectures.
 

Jakarta Servlet 6.1 (April 2024):

  • Jakarta EE 11: This version is aligned with Jakarta EE 11
  • Deprecation of HTTP/2 Push: Support for HTTP/2 server push has been deprecated, reflecting its declining use in modern web applications.
  • Removal of SecurityManager References: All references to Java's SecurityManager and related APIs have been removed to align with Java SE's updated security model.
  • Enhanced Redirect Control: Developers now have greater control over the status code and response body when issuing HTTP redirects.
  • New ByteBuffer Support: Both ServletInputStream and ServletOutputStream now support ByteBuffer, improving non-blocking I/O capabilities. 
 

Learn more about Jakarta Servlet:

 


About the Author:

is certified Java programmer (SCJP and SCWCD). He began programming with Java back in the days of Java 1.4 and has been passionate about it ever since. You can connect with him on Facebook and watch his Java videos on YouTube.



Add comment