After completion of the Reference Implementation (RI) and Technology Compatibility Kit (TCK), a
Specification moves from Final Proposed Draft to Final Release. The steps are described in
Section 3.2 through
Section 3.4 of the JCP 2.0 document.
Note that in JCP 1.0, the Final Proposal Draft was called the First Release, and the TCK was called
the Compatibility Test Suite (TCK). The Final Release steps for JCP 1.0 are described in
Section 8 and
Section 9 of the JCP 1.0 document.
Download Final Releases
The following final versions of specifications are available for download.
This specification seeks to improve Java application access to SQL data stores by the provision of ease-of-development focused features and improvements at both the utility and API level.
Provide an API to allow the processing of JSR 175 annotations (metadata); this will require modeling elements of the Java(TM)
programming language as well as processing-specific functionality.
This JSR is a major evolution of the Unit API 1.0 (JSR 363) specification. Focused on the SI System redefinition, modularity and support for Java SE 8/9 and above.
The Java Portlet 3.0 Bridge for JavaServer Faces 2.2 Specification defines the required behavior of a control environment that enables JSF applications to be accessed as Java portlets.
The high level objectives are to make JDO easier to use, closely align JDO with J2EE, standardize JDO's database support, and broaden the scope of JDO.
Java APIs for detecting, recognizing and annotating images with focus on the content of the images, facial detection, facial emotions, image tagging, specifying image classifiers and training the visual data.
This JSR will provide an API by which an availability management framework can supervise and control Java runtime units in order to achieve high availability.
Develop a Trusted Computing API for JavaTM providing selected
functionality the TCG Software Stack offers to the C world, while
following the conventions of modern Java APIs.
This specification will define a high level, IMS Communications Enabler framework API that will provide Java ME based devices effortless access to a set of essential IMS Communication Enablers.
Specifies API and semantics for temporary, in memory caching of Java
objects, including object creation, shared access, spooling, invalidation,
and consistency across JVM's.
This aims to broaden JCP participation by defining new membership classes, changing existing membership categories, enabling participation by the community, and ensuring the appropriate Intellectual Property commitments from JCP Members.
JAXB 2.0 is the next version of JAXB, The JavaTM Architecture for XML Binding. This JSR proposes additional functionality while retaining ease of development as a key goal.
This JSR aims to expose the latest advances in HTTP to users of JavaEE as well as providing a vehicle for continual improvement in this foundational Java EE API.
This update to the Portlet Specification will address progress in Java EE, client-side web, and mobile technology that has taken place since JSR286 Portlet Specification 2.0 became final in 2008.
The specification will describe mechanisms allowing scripting language programs to access information developed in the Java Platform and allowing scripting language pages to be used in Java Server-side Applications.
Version 2.0 of the Portlet Specification plans to align with J2EE 1.4, integrate other new JSRs relevant for the portlet, and align with the WSRP specification V 2.0.
JavaTM WBEM Services is a set of APIs and reference implementation for WBEM. WBEM is an initiative from the DMTF that unifies systems management and instrumentation.
The JMXTM specification will provide a management architecture, APIs and services for building Web-based, distributed, dynamic and modular solutions to manage Java enabled resources.
This JSR extends the Java annotation syntax to permit annotations on
any occurrence of a type. Previously, annotations could not be placed
on generic type arguments, type casts, etc.
Extend the Java language to support compact lambda expressions (closures), as well as related language and library features to enable the Java SE APIs to use lambda expressions effectively.
This JSR defines an annotated JavaTM format that that uses JavaTM Language Metadata (JSR 175) to enable easy definition of Java Web Services in
a J2EE container.
This JSR seeks to define a standard interface by which authentication modules may be integrated with containers and such that these modules may
establish the authentication identities used by containers.
This is the next revision of the JavaServerTM Pages specification. The purpose of JSP 2.1 is to improve alignment with JavaServerTM Faces (JSF) and enhance ease of development.
This JSR seeks to define a contract between containers and authorization service providers that will result in the implementation of providers for use by containers.
The Java EE Connector Architecture 1.5 defines a standard architecture for
connecting to Enterprise Information Systems. This JSR will enhance the
existing specification with features requested by experts and community.
Concurrency Utilities for Java EE provides a simple, standardized API for using concurrency from application components without compromising container integrity while still preserving the Java EE platform's fundamental benefits.
Bean Validation standardizes constraint definition, declaration and validation for the Java platform. For more information on Bean Validation and how to participate, check out http://beanvalidation.org.
This JSR is an update to the 2.1 version of the JavaServer Faces specification. This is the first major revision of the JavaServer Specification since JSR 314.
This specification defines a Java runtime API for constraint programming. The CP API prescribes a set of fundamental operations used to define and solve constraint satisfaction and optimization problems.
SIP API for J2ME defines a multipurpose SIP API for J2ME clients. It enables SIP applications to be executed in memory limited terminals, especially targeting to mobile phones.
This specification will define J2ME Optional Packages for contactless communication, one package for bi-directional communication and the other for accessing read-only information.
The Mobile User Interface Customization API provides a way to query and modify the user interface customization properties of a mobile device or platform.
This specification will define an optional package for advanced multimedia functionality which is targeted to run as an supplement in connection with MMAPI (JSR-135) in J2ME/CLDC environment.
An Optional Package that enables developers to write mobile location-based applications for resource-limited devices. The
API works on the J2ME CLDC v1.1 and CDC configurations.
This specification includes all changes, clarifications and amendments made to the JavaTM programming language since the publication of the first edition of the language specification.
A successor to JSR 201 to enhance the Java programming language with an assortment of small changes to improve productivity. Changes must be simultaneously small in specification, implementation, and testing.
This JSR is an update to the 1.2 version of the JavaServer Faces specification. This is the first major revision of the JavaServer Faces specification since JSR 127.
This specifies a small-footprint multimedia API for J2METM, allowing simple, easy access and control of basic audio and multimedia resources while also addressing scalability and support of more sophisticated features.
Bluetooth is an important emerging standard for wireless integration of small devices. The specification standardizes a set of Java APIs to allow Java-enabled devices to integrate into a Bluetooth environment.
This specification will define an optional package for developing JavaTM ME applications which
utilize or interoperate with DRM agents that separately exist in devices.
This Specification is a protocol agnostic API for Media Server Control. It provides a portable interface to create media rich applications with IVR, Conferencing, Speech Recognition, and similar features.
This specification will define an optional package for rendering enhanced 2D vector graphics and rich media content based on select features from SVG Mobile 1.2, with primary emphasis on MIDP.
The purpose of this specification is to unify the JSF managed bean
component model with the EJB component model, resulting in a significantly
simplified programming model for web-based applications.
This JSR will specify the 3rd generation Mobile Information Device Profile, expanding upon the functionality in all areas as well as improving interoperability across devices.
A new high-level API for connection services via frameworks supporting identity based services, discovery, and authentication. The API supports Service Oriented Architectures (SOA) and other similar network service application models.
This JSR will define a meta-data model and API for JavaBeanTM validation based on annotations, with overrides and extended meta-data through the use of XML validation descriptors.
Enabling J2METM applications to handle multi-media and web content can give developers and users a seamless and integrated user environment on mobile phones and wireless devices.
As the version 2.0 of the Content Repository for Java Technology API, the aim is to further expand and refine the specification based on feedback from the community.
Develop a common API that allows an application to submit queries conforming to the W3C XQuery 1.0 specification and to process the results of such queries.
Defines core infrastructure APIs for heterogeneous data access that supports common application design patterns and supports higher-level tools and frameworks.
The API provides general Sensor API that extends the usability and choice of sensors for J2ME applications. It defines generic sensor functionality optimized for the resource-constrained devices like mobile devices.
This JSR provides a high-level API to access IP Multimedia Subsystem (IMS) services. This API hides IMS technology details and exposes service-level support to enable easy development of IMS applications.
The API will allow for partitioning resources (constraints, reservations) among Java applications and for querying about resource availability (notifications). It will also provide means of exposing various kinds of resources.
This specification will define an optional package in J2ME/MIDP/CLDC environment to provide functionality to handle broadcast content, e.g. to view digital television and to utilize its rich features and services.
This JSR is an update to the 1.1 version of the JavaServer Faces specification. Its scope goes beyond a JCP maintenance release, but is short of a new feature release.
This specification is an enhancement to the SIPServlet specification. The central focus of this JSR is to enhance the existing SIPServlet specification with new requirements determined by the industry.
This JSR is a logical extension to address gaps in JSLEE v1.0 specification. The central area of focus is to specify the Resource Adaptor Architecture API and semantics.
This JSR creates a mobile service architecture and platform definition for the high volume wireless handsets continuing the work started in JSR-185 and enhancing the definition with new technologies.
Create a predictable management environment for mobile devices capable of installing, executing, profiling, updating, and removing JavaTM and associated native components in the J2METM Connected Device Configuration.
This defines an optional code package that standardizes application event tracking on a mobile device and the submission of these event records to an event-tracking server via a standard protocol.
The requested specification will define a J2ME profile based on the Connected Limited Device Configuration (CLDC) that is appropriate for use by small-footprint cable television set top boxes.
This specification will build on servlet specification version 2.3 by enhancing existing features and adding new facilities of a reasonably small
nature.
Establish a JCP specification for a dynamic component framework supporting existing Java SE environments based on the OSGi dynamic component model specifications.
This JSR specifies the set of APIs which are common across the OSS through Java JSRs. This provides consistency by reducing duplication of common interfaces and classes among these JSRs.
Workspace Versioning and Configuration Management provides client support for creating and manipulating sets of version-controlled files
and web resources.
This JSR will make incremental updates to the JavaTM class file format. This will principally consist of increasing certain class file size limits and adding support for split verification.
The JAINTM SIP API specification provides a standard portable interface to share information between SIP Clients and SIP Servers, providing call control elements enabling converged-network applications.
The Advanced Graphics and User Interface (AGUI) Optional Package will migrate the core APIs for advanced graphics and user interface facilities from the J2SE platform to the J2ME platform.
JWSDL provides a standard set of Java APIs for representing, manipulating, reading and writing WSDL (Web Services Description Language) documents, including an extension mechanism for WSDL extensibility.
This JSR defines a revision to the J2ME CDC specification. This JSR provides updates (based on J2SE, v1.4) to the existing core, non-graphical Java APIs for small electronic devices.
This JSR defines a revision to the J2ME Foundation Profile. This JSR provides updates (based on J2SE, v1.4) to the existing core, non-graphical Java APIs for small electronic devices.
The Real-Time Specification for Java extends the JavaTM platform to support both current practice and advanced real-time systems application programming.
The JavaTM 2 Platform, Enterprise Edition Management Specification will provide server vendors and tool vendors with a standard model for managing the J2EE Platform.
An API for initiating and controlling computations isolated from each other to varying degrees. Some API semantics are similar to those of
ThreadGroup.
This specification provides a complete description of the APIs required by the J2EE platform to enable development of platform-independent deployment tools.
This specification will define an optional package API for rendering scalable 2D vector graphics, including image files in W3C Scalable Vector Graphics (SVG) format.
The Activity Service supports flexible ways of composing an application using transactions, and can enable the application to possess some or all ACID properties.
JSR 198 has the goal of defining a standard IDE API that allows developers to implement IDE plugins once and have them run with any IDE supporting the specification.
A protocol-agnostic API for Instant Messaging, this provides a standard portable and secure interface to control, manage and manipulate instant messages between clients through the use of presence servers.
Presence is a generic and protocol-agnostic API for Presence, providing a standard portable and secure interface to control, manage and manipulate Presence information between Presence clients and servers.
This JSR creates a mobile telephony API and platform definition which utilizes common telephony features and is small and simple to suite to high volume devices with limited resources.
This JSR will provide an overall architectural description as well as an integrated TCK and RI to coordinate
selected JCP efforts for the wireless industry.
The Connected Device Configuration (CDC) provides the basis of the JavaTM 2 platform, Micro Edition for devices that have a sufficient 32-bit microprocessor and ample memory.
The J2METM Personal Basis Profile provides a J2ME application environment for network-connected devices supporting a basic level of graphical presentation.
SIMPLE Presence provides a standard portable and secure interface to manipulate presence information between a SIMPLE client (watcher) and a presence server (presence agent).
SIMPLE Instant Messaging provides a standard portable and secure interface to exchange messages between SIMPLE clients. SIMPLE is an extension of SIP to support presence and instant messaging.
This defines and incorporates a standard set of high-level implementation-independent APIs for XML digital signatures services. The XML Digital Signature specification is defined by the W3C.
This specification provides a JavaTM API for communicating with devices
attached via the Universal Serial Bus (USB). It allows Java applications to discover, read, write, and manage USB devices.
This JSR defines an API that provides culturally correct data formatting, sorting of text strings and application resource processing for J2ME MIDlets running in MIDP over CLDC.
This specification defines a protocol agnostic messaging API for composing, sending and receiving short messages and multimedia messages. The API shall work on the J2SE and J2EE.
The JDO specification provides for interface-based definitions of data stores and transactions; and selection and transformation of persistent storage data into native JavaTM programming language objects.
This primarily adds floating point arithmetic to the BigDecimal class, allowing the use of decimal numbers for general-purpose arithmetic without the problems resulting from conversions to and from another type.
The proposed specification describes the semantics of threads, locks, volatile variables and data races. This includes what has been referred
to as the Java memory model.
A metadata facility for the JavaTM Programming Language would allow classes, interfaces, fields, and methods to be marked as having particular attributes.
This JSR will define a dense download format for JavaTM classfiles. It is expected that this format can achieve considerable size savings over compressed JAR files.
This JSR produces two separate optional packages for features commonly found on PDAs and other J2ME mobile devices: one for accessing PIM data and one for accessing file systems.
Enterprise Media Beans provide a framework to integrate rich media data (i.e. audio, video, or image) into applications based on EJBTM Entity Beans within the J2EETM application development model.
The proposed specification will define a JDBC Optional Package for Java 2 Micro Edition (J2ME), Connected Device Configuration (CDC) Foundation
Profile.
Descriptions of all interfaces, classes, exceptions and requirements to develop portable telecommunication services and application frameworks so that services once developed will run on any JAINTM SLEE-compliant execution environment.
Provide an API via the OSS through Java initiative that
allows telecom network management applications to be developed and
integrated with Java-enabled IP Billing systems.
This specification establishes standardized tools for correlating JavaTM virtual machine byte code to source code of languages other than the JavaTM programming language.
The J2EE(TM) Connector Architecture 1/5 extends the existing 1.0 specification with new features including asynchronous integration with enterprise information systems, Java Message Service (JMS)
provider pluggability.
The Enterprise JavaBeans 2.1 specification adds to the EJB
architecture support for web services, extensions to message-driven beans, enhancements to EJB QL, and a container-managed timer service.
To enable interoperability between web servers and access mechanisms, and to facilitate development of device independent web applications, this specification will define a set of APIs for processing CC/PP information.
To enable interoperability between Portlets and Portals, this specification will define a set of APIs for Portal computing addressing the areas of aggregation, personalization, presentation and security.
A major update to the JavaHelp 1.0 Specification, including enhancements to merging, multi-topic printing, improved secondary window and popup usage, JFC ToolTip HelpSet support, HelpSet presentation controls and additional Navigators.
This JSR will define a J2ME profile targeting embedded networked devices that wish to support a Java runtime environment, but that do not have graphical display capabilities.
This defines a set of optional APIs which provides standard access to wireless communication resources, designed to run on J2ME configurations and to enhance J2ME profiles with unique functionality.
The SIP Servlet API defines a high-level extension API for SIP servers. It enables SIP applications to be deployed and managed based on the
servlet model.
This proposal is to develop a set of Java APIs that will enable cross-platform installation and de-installation of JavaTM applications as well as platform-specific applications.
This allows software developers to rapidly develop external Service Provider-type applications to securely access, discover and agree other APIs, which use abstract primitives that hide the heterogeneity of underlying networks.
JSR 21 focuses on the JAINTM Java Call Control (JCC) Specification. Any references seen below that refer to the JAIN Coordination and Transactions (JCAT) are addressed in JSR 122.
The Java Metadata Interface specification will address the need for a pure Java metadata framework API that supports the creation, storage, retrieval, and interchange of metadata.
The J2METM RMI Optional Package (RMI OP) provides JavaTM platform
to Java platform remote method invocation for Java devices and
interoperates with J2SETM RMI.
JAXR provides an API for a set of distributed Registry Services that enables business-to-business integration between business enterprises, using the protocols being defined by ebXML.org, Oasis, ISO 11179.
Image I/O supports image reader and writer plug-ins for sampled image formats. The API provides for exposure and preservation of metadata as well as pixel data.
A new keyword allowing programmers to include assertions describing intended program behavior, which can be checked as programs execute to detect bugs.
The Certification Path API provides a set of provider-based APIs for creating, building, and verifying certification paths (also known as "certificate chains").
This defines a Generic Security Services API (GSS-API) in Java, to provide a layer of abstraction over security mechanisms that perform authentication, message integrity protection, and message privacy protection.
ECperf 1.1 is a maintenance release of ECperf 1.0. The ECperf 1.1 Expert Group will also be responsible for evaluating and accepting ECperf 1.0 results submitted.
The Enterprise JavaBeansTM 2.0 specification extends the architecture with integration with JMS, improved support for entity bean persistence,
a portable query language for finder methods, and support for server interoperability.
This JSR is to develop the JAINTM (Java APIs for Integrated Networks) INAP (Intelligent Network Application Protocol) specification for Intelligent Network Applications in the Telecommunications Industry.
This work will specify the JAINTM API through which access to protocol stacks that support the Media Gateway Control Protocol (RFC 2705) may be achieved.
The J2EETM Connector architecture defines a standard architecture for integrating JavaTM applications with existing back-end Enterprise Information systems.
The Federated Management Architecture (FMA) specifies a storage management platform that will allow vendors to construct storage management applications from standard and custom components.
This specification will define a profile that will extend and enhance the "J2METM Connected, Limited Device Configuration" (JSR-000030), enabling application development for mobile information appliances and voice communication devices.
This specification will define a standard platform configuration of the JavaTM 2 platform, Micro Edition (J2METM) for small, resource-limited, connected devices.