Liberty features

Features are the units of functionality by which you control the pieces of the runtime environment that are loaded into a particular server.

The following table lists the Liberty features that are supported for each Liberty edition.

Table 1. Liberty features supported for each Liberty edition
Liberty feature WebSphere® Application Server Liberty Core WebSphere Application Server WebSphere Application Server Network Deployment (Distributed operating systems and IBM i) WebSphere Application Server for z/OS® Open Liberty
MicroProfile
microProfile-1.0
microProfile-1.2
microProfile-1.3
microProfile-1.4
microProfile-2.0
microProfile-2.1
microProfile-2.2
microProfile-3.0
microProfile-3.2 [19.0.0.12 and later] [19.0.0.12 and later] [19.0.0.12 and later] [19.0.0.12 and later] [19.0.0.12 and later]
microProfile-3.3 [20.0.0.4 and later] [20.0.0.4 and later] [20.0.0.4 and later] [20.0.0.4 and later] [20.0.0.4 and later]
microProfile-4.0 [21.0.0.3 and later] [21.0.0.3 and later] [21.0.0.3 and later] [21.0.0.3 and later] [21.0.0.3 and later]
microProfile-4.1 [21.0.0.9 and later] [21.0.0.9 and later] [21.0.0.9 and later] [21.0.0.9 and later] [21.0.0.9 and later]
mpConfig-1.1
mpConfig-1.2
mpConfig-1.3
mpConfig-1.4 [20.0.0.4 and later] [20.0.0.4 and later] [20.0.0.4 and later] [20.0.0.4 and later] [20.0.0.4 and later]
mpConfig-2.0 [21.0.0.3 and later] [21.0.0.3 and later] [21.0.0.3 and later] [21.0.0.3 and later] [21.0.0.3 and later]
mpContextPropagation-1.0
mpContextPropagation-1.2 [21.0.0.4 and later] [21.0.0.4 and later] [21.0.0.4 and later] [21.0.0.4 and later] [21.0.0.4 and later]
mpFaultTolerance-1.0
mpFaultTolerance-1.1
mpFaultTolerance-2.1 [20.0.0.4 and later] [20.0.0.4 and later] [20.0.0.4 and later] [20.0.0.4 and later] [20.0.0.4 and later]
mpFaultTolerance-3.0 [21.0.0.3 and later] [21.0.0.3 and later] [21.0.0.3 and later] [21.0.0.3 and later] [21.0.0.3 and later]
mpHealth-1.0
mpHealth-2.0
mpHealth-2.1 [19.0.0.12 and later] [19.0.0.12 and later] [19.0.0.12 and later] [19.0.0.12 and later] [19.0.0.12 and later]
mpHealth-2.2 [20.0.0.4 and later] [20.0.0.4 and later] [20.0.0.4 and later] [20.0.0.4 and later] [20.0.0.4 and later]
mpHealth-3.0 [21.0.0.3 and later] [21.0.0.3 and later] [21.0.0.3 and later] [21.0.0.3 and later] [21.0.0.3 and later]
mpHealth-3.1 [21.0.0.9 and later] [21.0.0.9 and later] [21.0.0.9 and later] [21.0.0.9 and later] [21.0.0.9 and later]
mpJwt-1.0
mpJwt-1.1
mpJwt-1.2 [21.0.0.3 and later] [21.0.0.3 and later] [21.0.0.3 and later] [21.0.0.3 and later] [21.0.0.3 and later]
mpMetrics-1.0
mpMetrics-1.1
mpMetrics-2.0
mpMetrics-2.2 [19.0.0.12 and later] [19.0.0.12 and later] [19.0.0.12 and later] [19.0.0.12 and later] [19.0.0.12 and later]
mpMetrics-2.3 [20.0.0.4 and later] [20.0.0.4 and later] [20.0.0.4 and later] [20.0.0.4 and later] [20.0.0.4 and later]
mpMetrics-3.0 [21.0.0.3 and later] [21.0.0.3 and later] [21.0.0.3 and later] [21.0.0.3 and later] [21.0.0.3 and later]
mpOpenAPI-1.0
mpOpenAPI-1.1
mpOpenAPI-2.0 [21.0.0.3 and later] [21.0.0.3 and later] [21.0.0.3 and later] [21.0.0.3 and later] [21.0.0.3 and later]
mpOpenTracing-1.0
mpOpenTracing-1.1
mpOpenTracing-1.2
mpOpenTracing-1.3
mpOpenTracing-2.0 [21.0.0.3 and later] [21.0.0.3 and later] [21.0.0.3 and later] [21.0.0.3 and later] [21.0.0.3 and later]
mpReactiveMessaging-1.0 [19.0.0.9 and later] [19.0.0.9 and later] [19.0.0.9 and later] [19.0.0.9 and later] [19.0.0.9 and later]
mpReactiveStreams-1.0
mpRestClient-1.0
mpRestClient-1.1
mpRestClient-1.2
mpRestClient-1.3
mpRestClient-1.4 [20.0.0.4 and later] [20.0.0.4 and later] [20.0.0.4 and later] [20.0.0.4 and later] [20.0.0.4 and later]
mpRestClient-2.0 [21.0.0.3 and later] [21.0.0.3 and later] [21.0.0.3 and later] [21.0.0.3 and later] [21.0.0.3 and later]
Jakarta EE 8 or Java EE 8 Web Profile
appSecurity-3.0
beanValidation-2.0
cdi-2.0
ejbLite-3.2
el-3.0
jakartaee-8.0   [19.0.0.10 and later] [19.0.0.10 and later] [19.0.0.10 and later] [19.0.0.10 and later]
jaspic-1.1
jaxrs-2.1
jaxrsClient-2.1
jdbc-4.2
jdbc-4.3
jndi-1.0
jpa-2.2
jsf-2.3
jsp-2.3
jsonb-1.0
jsonp-1.1
managedBeans-1.0
servlet-4.0
webProfile-8.0
websocket-1.1
Jakarta EE 8 or Java EE 8 Full Platform
appClientSupport-1.0  
batch-1.0  
concurrent-1.0
ejb-3.2  
j2eeManagement-1.1  
jacc-1.5
jakartaee-8.0   [19.0.0.10 and later] [19.0.0.10 and later] [19.0.0.10 and later] [19.0.0.10 and later]
javaee-8.0  
javaeeClient-8.0  
javaMail-1.6
jaxb-2.2
jaxws-2.2  
jca-1.7  
jcaInboundSecurity-1.0  
jms-2.0  
Extended Programming Model
cloudant-1.0  
couchdb-1.0  
grpc-1.0 [21.0.0.2 and later] [21.0.0.2 and later] [21.0.0.2 and later] [21.0.0.2 and later] [21.0.0.2 and later]
grpcClient-1.0 [21.0.0.2 and later] [21.0.0.2 and later] [21.0.0.2 and later] [21.0.0.2 and later] [21.0.0.2 and later]
heritageAPIs-1.0   [20.0.0.9 and later] [20.0.0.9 and later] [20.0.0.9 and later]  
json-1.0
mongodb-2.0  
rtcomm-1.0    
rtcommGateway-1.0    
sipServlet-1.1  
springBoot-1.5
springBoot-2.0
Operations
apiDiscovery-1.0  
batchManagement-1.0  
bells-1.0
bluemixUtility-1.0  
distributedMap-1.0
eventLogging-1.0
jpaContainer-2.1
jsfContainer-2.2
localConnector-1.0
logstashCollector-1.0
mediaServerControl-1.0    
monitor-1.0
openapi-3.0  
openapi-3.1
opentracing-1.0
opentracing-1.1
opentracing-2.0 [21.0.0.3 and later] [21.0.0.3 and later] [21.0.0.3 and later] [21.0.0.3 and later] [21.0.0.3 and later]
osgiConsole-1.0
productInsights-1.0  
requestTiming-1.0
restConnector-1.0  
restConnector-2.0
serverStatus-1.0  
sessionCache-1.0
sessionDatabase-1.0
timedOperations-1.0  
webCache-1.0
wmqJmsClient-2.0    
wsAtomicTransaction-1.2  
Security
acmeCA-2.0 [20.0.0.10 and later] [20.0.0.10 and later] [20.0.0.10 and later] [20.0.0.10 and later] [20.0.0.10 and later]
appSecurity-1.0
appSecurity-2.0
appSecurity-3.0
audit-1.0
constrainedDelegation-1.0
federatedRegistry-1.0
jwt-1.0
jwtSso-1.0
ldapRegistry-3.0
oauth-2.0
openid-2.0
openidConnectClient-1.0
openidConnectServer-1.0
passwordUtilities-1.0  
samlWeb-2.0
scim-1.0  
socialLogin-1.0
spnego-1.0
ssl-1.0
transportSecurity-1.0
wsSecurity-1.1  
wsSecuritySaml-1.1  
System Management
adminCenter-1.0 1  
clusterMember-1.0      
collectiveController-1.0     1  
collectiveMember-1.0  
dynamicRouting-1.0     1  
healthAnalyzer-1.0      
healthManager-1.0     1  
scalingController-1.0     1  
scalingMember-1.0      
z/OS  
zosAutomaticeRestartManager-1.0       [20.0.0.5 and later]  
batchSMFLogging-1.0        
zosConnect-1.0        
zosConnect-1.2        
zosLocalAdapters-1.0        
zosRequestLogging-1.0      
zosSecurity-1.0        
zosTransaction-1.0        
zosWlm-1.0        
Java EE 7 Web Profile
beanValidation-1.1
cdi-1.2
ejbLite-3.2
el-3.0
jaxrs-2.0
jaxrsClient-2.0
jdbc-4.1
jndi-1.0
jpa-2.1
jsf-2.2
jsonp-1.0
jsp-2.3
managedBeans-1.0
servlet-3.1
webProfile-7.0
websocket-1.0
websocket-1.1
Java EE 7 Full Platform
appClientSupport-1.0  
appSecurityClient-1.0  
batch-1.0  
concurrent-1.0
ejb-3.2  
ejbHome-3.2  
ejbPersistentTimer-3.2  
ejbRemote-3.2  
j2eeManagement-1.1  
jacc-1.5
jaspic-1.1
javaee-7.0  
javaeeClient-7.0  
javaMail-1.5
jaxb-2.2
jaxws-2.2  
jca-1.7  
jcaInboundSecurity-1.0  
jms-2.0  
jmsMdb-3.2  
mdb-3.2  
wasJmsClient-2.0  
wasJmsSecurity-1.0  
wasJmsServer-1.0  
Java EE 6 Web Profile - stabilized
beanValidation-1.1  
cdi-1.0  
ejbLite-3.1  
jdbc-4.0
jndi-1.0
jpa-2.0  
jsf-2.0  
jsp-2.2
servlet-3.0  
webProfile-6.0  
Java EE 6 Technologies - stabilized
jaxb-2.2    
jaxrs-1.1  
jaxws-2.2    
jca-1.6    
jcaInboundSecurity-1.0  
jms-1.1    
jmsMdb-3.1    
mdb-3.1    
wasJmsClient-1.1    
wasJmsSecurity-1.0    
wasJmsServer-1.0    
wmqJmsClient-1.1    
Enterprise OSGi - stabilized
blueprint-1.0  
httpWhiteboard-1.0  
osgiAppIntegration-1.0  
osgiBundle-1.0  
osgi.jpa-1.0  
wab-1.0  
The following list contains information about the features you can add to your server configuration. Including a feature in the configuration might cause one or more extra features to be loaded automatically. For example, if you include the wab-1.0 feature, the servlet-3.0 and blueprint-1.0 features are loaded automatically. Each feature includes a brief description, and an example of how the feature is declared within the <featureManager> element inside the server.xml file. For example:
<server>
  <featureManager>
    <feature>servlet-3.0</feature>
    <feature>localConnector-1.0</feature>
  </featureManager>
</server>

Features that can be used in a server configuration have public visibility and are part of the Liberty product externals. Use of those features in the server configuration will be supported in future updates of the product. Liberty also provides a set of features with protected visibility. These features cannot be used directly in the server configuration but can be included in your own features, see Including protected features.

Administrative Center
<feature>adminCenter-1.0</feature>

The adminCenter-1.0 feature is a web-based graphical interface for managing Liberty servers and applications and other resources from a web browser on a cell phone, tablet, or computer.

See Administering Liberty using Admin Center.

API Discovery
<feature>apiDiscovery-1.0</feature>

The apiDiscovery-1.0 feature enables you to discover your REST API documentation. Use the feature to find REST APIs that are available on a Liberty server and then use the Swagger user interface to invoke the found REST endpoints. See Discovering REST API documentation on a Liberty server.

Stabilized feature: The apiDiscovery-1.0 feature is stabilized. You can continue to use the feature. However, instead of apiDiscovery-1.0, consider using the openapi-3.0 feature, which supports the OpenAPI specification, or the mpOpenAPI-1.0 feature, which supports the MicroProfile OpenAPI specification.
Application Client Container Security
<feature>appSecurityClient-1.0</feature>

To enable security on the client container, add the appSecurityClient-1.0 feature to your client.xml file.

The appSecurityClient-1.0 feature enables SSL, CSIv2, and JAAS on the client. You must configure SSL to ensure communications between the client and server are secure and encrypted.

For appSecurityClient-1.0 feature configuration information, see Application Security for Client 1.0.

See also Security on Liberty application client container and Configuring security for the Liberty application client container and its applications.

Application Client Support
<feature>appClientSupport-1.0</feature>

The appClientSupport-1.0 feature enables the server to process Java™ EE metadata inside the client module of an application, for example, read the deployment descriptor XML file and/or annotations and make them available to other modules in the application if necessary. It also enables the remote application client process to communicate with the server to do JNDI lookups.

The appClientSupport-1.0 feature is enabled in the server.xml file only.

Audit
<feature>audit-1.0</feature>

This feature enables support to report and track auditable events to ensure the integrity of your system.

See Auditing Liberty events.

Automatic Certificate Management Environment (ACME) Support
[20.0.0.10 and later]<feature>acmeCa-2.0</feature>

This feature automates interactions with a certificate authority (CA) by using the Automated Certificate Management Environment (ACME) protocol.

For more information, see Automatic certificate management with ACME.

Batch
<feature>batch-1.0</feature>

The batch-1.0 feature enables the use of the JSR-352 programming model.

<feature>batchManagement-1.0</feature>

The batchManagement-1.0 feature provides a REST interface for remote job submission and the batchManager command-line client utility.

See Java batch and managed batch overview.

Bean validation
<feature>beanValidation-1.0</feature>

The beanvalidation-1.0 feature provides validations for JavaBeans at each layer of an application. The validation can be applied to all layers of JavaBeans in an application by using annotations or a validation.xml deployment descriptor.

Stabilized feature: The beanValidation-1.0 feature is stabilized. You can continue to use the beanValidation-1.0 feature in Liberty. However, consider using a later bean validation feature.
<feature>beanValidation-1.1</feature>
The beanValidation-1.1 feature offers:
  • The validation available with beanValidation-1.0
  • Method and constructor validation for JavaBeans
  • Automatic method and constructor validation in Contexts and Dependency Injection (CDI) beans
  • The ability to create components from the deployment descriptor, validation.xml, as CDI managed beans. Develop components the same way as for any other component that uses CDI capabilities.
<feature>beanValidation-2.0</feature>

The Bean Validation 2.0 specification provides an annotation based model for validating JavaBeans.

See also Bean validation feature restrictions.

Basic Extensions using Liberty Libraries (BELL)

<feature>bells-1.0</feature>

This feature enables the configuration of Basic Extensions by using Liberty Libraries (BELL). Use this feature to extend some parts of the server runtime by using libraries, rather than using Liberty features. BELL uses the Java Service Loader pattern to provide the implementation class name.

For bells-1.0 feature configuration information, see Basic Extensions using Liberty Libraries.

Bluemix® Utility
<feature>bluemixUtility-1.0</feature>

This feature makes it easier to configure access to IBM Cloud® services, formerly IBM® Bluemix managed services. See Setting up a Liberty server to use IBM Cloud services.

IBM Bluemix is now IBM Cloud, and references to these names both refer to the same cloud platform at https://cloud.ibm.com, formerly https://console.bluemix.net.

[20.0.0.7 and later]Discontinued feature: The bluemixUtility-1.0 feature is discontinued. To configure access to IBM Cloud services, such as Cloudant®, dashDB®, or Watson™ Services, see the documentation for the cloud service that you want to configure.

For bluemixUtility-1.0 feature configuration information, see Bluemix Utilities-1.0.

Blueprint
<feature>blueprint-1.0</feature>

The blueprint-1.0 feature enables support for deploying OSGi applications that use the OSGi blueprint container specification.

With the OSGi Applications support in WebSphere Application Server, you can develop and deploy modular applications that use Java EE and OSGi technologies.
Cache Service
<feature>distributedMap-1.0</feature>

This feature provides a local cache service that can be accessed by using the DistributedMap API. A default cache is bound in JNDI at services/cache/distributedmap. You can distribute a cache by adding a network cache provider such as WebSphere eXtreme Scale.

CDI
<feature>cdi-1.0</feature>

The cdi-1.0 feature enables support for the Contexts and Dependency Injection 1.0 specification on Liberty.

Stabilized feature: The cdi-1.0 feature is stabilized. You can continue to use the cdi-1.0 feature in Liberty. However, consider using a later CDI feature.
<feature>cdi-1.2</feature>

The cdi-1.2 feature enables support for the Contexts and Dependency Injection 1.2 specification on Liberty.

<feature>cdi-2.0</feature>

The cdi-2.0 feature enables support for the Contexts and Dependency Injection 2.0 specification on Liberty.

For information about CDI, see Administering Contexts and Dependency Injection applications on Liberty.

Cloudant integration
<feature>cloudant-1.0</feature>

This feature enables connections to Cloudant by providing a connector instance that is configured in the server configuration. The connector instance can be injected or accessed through JNDI. Applications use the Cloudant client library to use the connector instance. See Configuring CouchDB connectivity by using the Cloudant Java client library in Liberty.

For cloudant-1.0 feature configuration information, see Cloudant Integration 1.0.

Collective member
<feature>collectiveMember-1.0</feature>

The collectiveMember-1.0 feature enables a server to be a member of a management collective, allowing it to be managed by the collective controller.

CouchDB
<feature>couchdb-1.0</feature>

The couchdb-1.0 feature provides support for CouchDB instances and associated database connections. Access to CouchDB connections is available either by JNDI lookup or resource injection.

Stabilized feature: Use of the ektorp client library with the couchdb-1.0 feature is stabilized. This feature is stabilized because the ektorp Java driver is no longer in service. You can continue to use the ektorp client library with the couchdb-1.0 feature. However, consider using instead the cloudant-1.0 feature, which uses the Cloudant Java client, or create a CDI producer by following the technique that is described in Access any version of MongoDB with Open Liberty using CDI. Use any CouchDB version that meets your requirements.
Dynamic caching service
<feature>webCache-1.0</feature>
This feature enables local caching for web responses. It includes the Cache Service (distributedMap) feature and automatic caching of web application responses to improve response times and throughput. To customize the response caching, you can include a cache-spec.xml file in your applications. You can distribute the cache by adding a network cache provider such as WebSphere eXtreme Scale.
Enterprise JavaBeans (EJB)
<feature>ejbLite-3.1</feature>

The ejbLite-3.1 feature provides support for EJB applications that are written to the EJB Lite subset of the EJB 3.1 specification.

Stabilized feature: The ejbLite-3.1 feature is stabilized. You can continue to use the ejbLite-3.1 feature in Liberty. However, consider using a later EJB feature.
<feature>ejbLite-3.2</feature>
The ejbLite-3.2 feature provides support for EJB applications that are written to the EJB Lite subset of the EJB 3.2 specification.
The EJB 3.2 Lite API Group does not include the embeddable EJB container, and the product does not provide an EJB 3.2 embeddable container.
Also, the following features are not compatible with the ejbLite-3.2 feature:
  • cdi-1.0
  • jmsMdb-3.1
  • mdb-3.1
<feature>ejb-3.2</feature>
The ejb-3.2 feature provides support for EJB applications that are written to the EJB 3.2 specification.
This feature includes the following features:
  • ejbLite-3.2
  • ejbHome-3.2

    This feature gives support for the EJB 2.x APIs.

  • ejbPersistentTimer-3.2

    This feature gives support for persistent EJB timers.

  • ejbRemote-3.2

    This feature gives support for remote EJB interfaces.

  • mdb-3.2

    This feature gives support for message-driven beans.

If full EJB 3.2 support is not required, various combinations of these features can be used to provide the support that you need.

See also Enterprise JavaBeans (EJB) feature restrictions.
Expression Language 3.0
<feature>el-3.0</feature>

This feature enables support for the Expression Language (EL) 3.0.

Event logging
<feature>eventLogging-1.0</feature>
The eventLogging-1.0 feature logs a record of events, such as the JDBC requests and servlet requests, and their durations. See Event Logging.
gRPC
<feature>grpc-1.0</feature>
This feature allows web applications to define and provide gRPC services. For more information, see gRPC 1.0.
gRPC Client
<feature>grpcClient-1.0</feature>
This feature provides a gRPC client, which can be used by applications to call gRPC services. For more information, see gRPC Client 1.0.
Health Analyzer
<feature>healthAnalyzer-1.0</feature>

The Health Analyzer feature provides health data collection for the health manager for the Intelligent Management feature Health Management. The health analyzer feature provides monitoring services to a member server. It registers as an analytics handler, collects the necessary stats (PMI, HealthCenter) via the analytics collector and analyses the conditions.

Health Manager
<feature>healthManager-1.0</feature>

The Health Manager feature provides health monitoring and automatic actions based on health policies for the Intelligent Management feature Health Management. Health Manger feature embodies the core functions of health management. Selecting this feature enables the default condition plugins. This feature requires the presence of the collectiveController feature.

J2EE Management 1.1
<feature>j2eeManagement-1.1</feature>

The j2eeManagement-1.1 feature provides standard interfaces to manageable aspects of Java EE 7 and enables applications to use the interfaces that are defined in the JSR 77 specification.

To invoke Management EJB APIs, the server configuration must have both the j2eeManagement-1.1 and ejbRemote-3.2 features in a feature manager. After both features are in the server configuration, you can invoke Management EJB API through JNDI name lookup. The Management EJB binding name (JNDI lookup name) is ejb/mejb/MEJB.

See also j2eeManagement-1.1 feature restriction.

Jakarta EE Platform
[19.0.0.10 and later]<feature>jakartaee-8.0</feature>

This feature provides a convenient combination of the Liberty features that are required to support the Jakarta EE Platform.

Java API for RESTful Web Services (JAX-RS)
<feature>jaxrs-1.1</feature>
The jaxrs-1.1 feature provides support for the Java API for RESTful Web Services on Liberty.
  • For EJB applications that use the jaxrs-1.1 server feature, you must enable the ejbLite-3.1 feature in the server.xml file.
  • For JAX-RS applications that use CDI, you must enable the cdi-1.0 feature in the server.xml file.
Stabilized features: The jaxrs-1.1, ejbLite-3.1, and cdi-1.0 features are stabilized. You can continue to use the features. However, consider using later JAX-RS, EJB, and CDI features.
<feature>jaxrs-2.1</feature>

The jaxrs-2.1 feature provides support for the Java API for RESTful Web Services on Liberty.

Java API for XML-Based Web Services (JAX-WS)
<feature>jaxws-2.2</feature>
The jaxws-2.2 feature provides support for the Java API for XML-Based Web Services on Liberty.
  • For web applications that support the JAX-WS programming model, you must enable the servlet-3.0 and jaxws-2.2 server features in the server.xml file.
  • For EJB applications that support the JAX-WS programming model, you must enable the ejbLite-3.1, servlet-3.0, and jaxws-2.2 server features in the server.xml file.
See also jaxws-2.2 feature restrictions.
Java Architecture for XML Binding (JAXB)
<feature>jaxb-2.2</feature>
The jaxb-2.2 feature provides support for the Java Architecture for XML Binding (JAXB) on Liberty.
See also JAXB.
See also jaxb-2.2 feature restrictions.
Java Authentication SPI for Containers 1.1
<feature>jaspic-1.1</feature>
The jaspic-1.1 feature enables support for securing the server runtime environment and applications by using Java Authentication SPI for Containers (JASPIC) providers as defined in JSR-196.
See also Configuring a Java Authentication SPI for Containers (JASPIC) User Feature.
Java Authorization Contract for Containers 1.5
<feature>jacc-1.5</feature>
The jacc-1.5 feature enables support for Java Authorization Contract for Containers (JACC) version 1.5 In order to add the jacc-1.5 feature to your server, you need to add the third party JACC provider, which is not a part of the WebSphere Application Server Liberty.
See also Developing a Java Authorization Contract for Containers (JACC) Authorization Provider.
Java EE
<feature>javaee-7.0</feature>

This feature provides a convenient combination of the Liberty features that are required to support the Java EE 7.0 Full Platform.

<feature>javaee-8.0</feature>

This feature provides a convenient combination of the Liberty features that are required to support the Java EE 8.0 Full Platform.

Java EE Application Client
<feature>javaeeClient-7.0</feature>

This feature enables support for Java EE Application Client 7.0.

<feature>javaeeClient-8.0</feature>

This feature enables support for Java EE Application Client 8.0.

See Creating a Liberty application client manually.

Java EE Connector Architecture
<feature>jca-1.6</feature>

The jca-1.6 feature provides configuration elements to define instances of connection factories, administered objects, and activation specifications, and to associate these instances with an installed resource adapter. For jca-1.6 feature configuration information, see Java Connector Architecture 1.6.

Stabilized feature: The jca-1.6 feature is stabilized. You can continue to use the jca-1.6 feature. However, consider using a later JCA feature.
<feature>jca-1.7</feature>

The jca-1.7 feature provides configuration elements to define instances of connection factories, administered objects, and activation specifications, and to associate these instances with an installed resource adapter. For jca-1.7 feature configuration information, see Java Connector Architecture 1.7. You can use any resource adapter that complies with the JCA 1.7 specification or an earlier specification.

Java Database Connectivity (JDBC)
<feature>jdbc-4.0</feature>
<feature>jdbc-4.1</feature>
<feature>jdbc-4.2</feature>
<feature>jdbc-4.3</feature>

The JDBC features provide support for applications that access a database. You can take an existing application that uses Java Database Connectivity (JDBC) and a data source, and deploy the application to a server. The later JDBC features support drivers that comply with earlier specifications. For example, the jdbc-4.2 feature supports any JDBC driver that complies with the JDBC 4.2, 4.1, 4.0, 3.0, or 2.x specification.

See Deploying an existing JDBC application to Liberty.

Java Message Service (JMS)
<feature>jms-1.1</feature>
Stabilized feature: The jms-1.1 feature is stabilized. You can continue to use the jms-1.1 feature. However, consider using the jms-2.0 feature.
<feature>jms-2.0</feature>

The jms-2.0 feature enables the configuration of resource adapters to access messaging systems using the Java Message Service API. This also includes the configuration JMS connection factories, queues, topics and activation specifications. Any JMS resource adapter that complies with the JCA 1.7 specification can be used.

Java Naming and Directory Interface (JNDI)
<feature>jndi-1.0</feature>

The jndi-1.0 feature provides support for a single JNDI entry definition in the server configuration of Liberty.

Java Persistence API (JPA)
<feature>jpa-2.0</feature>

The jpa-2.0 feature provides support for applications that use application-managed and container-managed JPA written to the JPA 2.0 specification. The support is built on Apache OpenJPA with extensions to support the container-managed programming model.

Stabilized feature: The jpa-2.0 feature is stabilized. You can continue to use the jpa-2.0 feature. However, consider using a later JPA feature.
<feature>jpa-2.1</feature>

The jpa-2.1 feature provides support for applications that use application-managed and container-managed JPA written to the JPA 2.1 specification. The support is built on top of EclipseLink to support the container-managed programming model.

<feature>jpa-2.2</feature>

The jpa-2.2 feature provides support for applications that use application-managed and container-managed JPA written to the JPA 2.2 specification. The support is built on top of EclipseLink to support the container-managed programming model.

See Deploying a JPA application to Liberty.

Java Persistence API Container
<feature>jpaContainer-2.1</feature>

The jpaContainer-2.1 feature enables support for applications that use application-managed and container-managed JPA written to the Java Persistence API 2.1 specification. This only includes Java Persistence API 2.1 specification interfaces, and container-managed JPA integration. This feature does not include any JPA implementation.

<feature>jpaContainer-2.2</feature>

The jpaContainer-2.2 feature enables support for applications that use application-managed and container-managed JPA written to the Java Persistence API 2.2 specification. This only includes Java Persistence API 2.2 specification interfaces, and container-managed JPA integration. This feature does not include any JPA implementation.

See Deploying a JPA application to Liberty.

JavaMail API
<feature>javaMail-1.5</feature>
<feature>javaMail-1.6</feature>
The JavaMail API supports communication between external mail servers and Liberty applications. See Administering JavaMail on Liberty.
JavaScript Object Notation Binding
<feature>jsonb-1.0</feature>

The Java API for JSON Binding (JSON-B) feature provides a standard for converting between Java objects and JavaScript Object Notation (JSON).

JavaScript Object Notation Binding via Bells
<feature>jsonbContainer-1.0</feature>

The JSON-B feature provides a standard for converting between Java objects and JSON. The default JSON-B provider is configured via a <bell> which points at a library containing the JSON-B provider JAR file(s).

JavaScript Object Notation (JSON-P) Processing
<feature>jsonp-1.0</feature>

The Java API for JSON Processing (JSON-P) feature provides a standardized method for constructing and manipulating data to be rendered in JavaScript Object Notation (JSON).

<feature>jsonp-1.1</feature>

The jsonp-1.1 feature provides a standardized method for constructing and manipulating data to be rendered in JSON.

JavaScript Object Notation Processing via Bells
<feature>jsonpContainer-1.1</feature>

The Java API for JSON Processing (JSON-P) feature provides a standardized method for constructing and manipulating data to be rendered in JSON. When this feature is enabled, there is no built-in JSON-P provider. Instead, configure a JSON-P provider via a <bell> which points at a library containing the JSON-P provider JAR file(s).

JavaScript Object Notation (JSON4J) Library
<feature>json-1.0</feature>

The json-1.0 feature provides access to the JSON4J library that provides a set of JSON handling classes for Java environments. The JSON4J library provides a simple Java model for constructing and manipulating data to be rendered as JSON data.

See Using JSON content in JAX-RS application requests and responses and JSON4J Libraries API.

JSON Web Token
<feature>jwt-1.0</feature>

With the jwt-1.0 feature, you can configure a Liberty server to build and consume JSON Web Token (JWT) tokens, which you can use to propagate user identity or tokens. See Building and consuming JSON Web Token (JWT) tokens in Liberty.

JSON Web Token as an Single-Sign-On cookie
<feature>jwtSso-1.0</feature>

The jwtSso-1.0 feature enables a Liberty server to produce and consume JSON Web Token (JWT) cookies for authentication. See Configuring a JSON Web Token as a Single-Sign-On cookie.

JavaServer Faces (JSF)
<feature>jsf-2.0</feature>

The jsf-2.0 feature provides support for web applications that use the JSF framework. This framework simplifies the construction of user interfaces.

If you include the jsf-2.0 feature, you also include the jsp-2.2 feature, because the JSF framework is an extension of the JSP framework.

Stabilized feature: The jsf-2.0 and jsp-2.2 features are stabilized. You can continue to use the features. However, consider using later JSF and JSP features.
<feature>jsf-2.2</feature>

The jsf-2.2 feature enables support for web applications that use the JavaServer Faces (JSF) 2.2 framework. This framework simplifies the construction of user interfaces. See Configuring Liberty for JavaServer Faces 2.2.

<feature>jsf-2.3</feature>

The jsf-2.3 feature enables support for web applications that use the JavaServer Faces (JSF) 2.3 framework. This framework simplifies the construction of user interfaces. See Configuring Liberty for JavaServer Faces 2.3.

To get the feature, see Installing assets using the installUtility command.
JavaServer Faces Container
<feature>jsfContainer-2.2</feature>

The jsfContainer-2.2 feature enables CDI integrations for web applications that use the JavaServer Faces (JSF) 2.2 framework. This feature only includes container integration code for JSF, and does not include any JSF interfaces or implementation. To use this feature, package JSF interfaces and implementation within web applications that use JSF.

See Configuring third-party JavaServer Faces 2.2 implementations.

JavaServer Pages (JSP)
<feature>jsp-2.2</feature>

The jsp-2.2 feature provides support for JSPs that are written to the JSP 2.2 specification. If you include the jsp-2.2 feature, you also include the servlet-3.0 feature.

Stabilized features: The jsp-2.2 and servlet-3.0 features are stabilized. You can continue to use the features. However, consider using later JSP and servlet features.
<feature>jsp-2.3</feature>

This feature enables support for Java Server Pages (JSPs) that are written to the JSP 2.3 specification. This framework simplifies the construction of user interfaces. Enabling this feature also enables the Expression Language (EL) version 3.0 feature.

Job manager integration
<feature>serverStatus-1.0</feature>

The serverStatus-1.0 feature enables Liberty servers to automatically publish their status to WebSphere Application Server deployment managers and job managers that are aware of the server as a resource in their Job configuration. The known states are Started and Stopped.

Stabilized feature: The serverStatus-1.0 feature in Liberty is stabilized. You can continue to use the serverStatus-1.0 feature in Liberty. However, the job manager in WebSphere Application Server Network Deployment traditional is deprecated. Instead of job manager, use Urban Code Deploy to install WebSphere Application Server traditional, to deploy applications to its nodes, and to manage its remote hosts. To manage WebSphere Application Server traditional installations, you also can use swinging profiles. See Swinging profiles between product installations.
Kerberos Constrained Delegation for SPNEGO
<feature>constrainedDelegation-1.0</feature>

This feature enables support for Kerberos constrained delegation for SPNEGO. See Configuring Kerberos constrained delegation for out-bound SPNEGO tokens in Liberty.

For constrainedDelegation-1.0 feature configuration information, see Kerberos Constrained Delegation for SPNEGO.

ldapRegistry-3.0
<feature>ldapRegistry-3.0</feature>
The ldapRegistry-3.0 feature provides support for LDAP user registry. The version 3.0 of the ldapRegistry-3.0 feature is compliant with the LDAP Version 3 specifications. The ldapRegistry-3.0 feature is not automatically enabled by the appSecurity-2.0 feature. Using this feature, you can federate multiple LDAP repositories. Two or more LDAP repositories can be configured in the server.xml file, and you can get the consolidated results from multiple repositories for all LDAP operations.
Local JMX Connector
<feature>localConnector-1.0</feature>

The localConnector-1.0 feature provides a local JMX connector that is built into the JVM. The JMX connector can be used only on the same host machine by someone running under the same user ID and the same JDK. It enables local access by JMX clients such as jConsole, or other JMX clients that use the Attach API.

See Connecting to Liberty by using JMX.

Logstash Collector
<feature>logstashCollector-1.0</feature>

The logstashCollector-1.0 feature gathers data from various sources and forwards the data to a Logstash server by using Lumberjack protocol. See Using the Logstash collector version 1.0.

For logstashCollector-1.0 feature configuration information, see Logstash Collector-1.0.

Managed Beans
<feature>managedBeans-1.0</feature>

The managedBeans-1.0 feature provides support for the Managed Beans 1.0 specification (JSR-316). This feature enables use of the javax.annotation.ManagedBean annotation.

Managed Executors and Thread Factories
<feature>concurrent-1.0</feature>

The concurrent-1.0 feature enables the creation of managed executor services that allow applications to submit tasks to run concurrently, with thread context that is managed by the application server. The feature also enables the creation of managed thread factories to create threads that run with the thread context of the component that looks up the managed thread factory.

Message-driven beans
<feature>jmsMdb-3.1</feature>

This feature is superseded by the mdb-3.1 feature. Both features provide identical function; only the feature names are different. mdb-3.1 is the preferred feature name.

The jmsMdb-3.1 feature provides support for deploying and configuring the JMS resources that are required for the message-driven beans (MDB) to run within Liberty. This feature enables MDB to interact with either the embedded Liberty messaging or IBM MQ.

Messaging
Embedded Liberty Messaging features:
<feature>wasJmsServer-1.0</feature>

The wasJmsServer-1.0 feature enables the JMS messaging engine run time to be initialized. The messaging run time is responsible for providing the application connectivity, managing the state of destinations such as topics or queues, and handling quality of service, security, and transactions. This feature also provides support for the inbound connections from the remote messaging applications. The remote messaging applications can connect to the JMS messaging engine through TCP/IP over SSL or non-SSL.

<feature>wasJmsClient-1.1</feature>

The wasJmsClient-2.0 feature enables support for JMS resource configurations (such as the connection factories, activation specifications, and queue and topic resources) and also provides the client libraries that are required by the messaging applications to connect to the JMS server on Liberty.

Stabilized feature: The wasJmsClient-1.1 feature is stabilized. You can continue to use the wasJmsClient-1.1 feature. However, consider using a later messaging feature.
<feature>wasJmsClient-2.0</feature>

The wasJmsClient-2.0 feature supersedes the wasJmsClient-1.1 feature. The wasJmsClient-2.0 feature is compliant with the JMS 2.0 specification and is supported only on IBM JDK 7 or later.

To connect by using SSL, you must enable the SSL feature.

See Enabling JMS messaging for Liberty.

<feature>wasJmsSecurity-1.0</feature>

The wasJmsSecurity-1.0 feature supports secure connections to the messaging engine. When the wasJmsSecurity-1.0 feature is enabled, it starts authenticating and authorizing the users who are trying to connect to the messaging engine. The user is authenticated against the registry that is defined in the server.xml file. When the user wants to access a destination such as a topic or a queue, then the user must be granted the required permissions. The access to the destination is defined in the <messagingSecurity> element (the child element of the messagingEngine element) in the server.xml file. If the wasJmsSecurity-1.0 feature is added and the <messagingSecurity> element is not defined in the server.xml file, then the users cannot connect to the messaging engine or perform any messaging action (for example, sending or receiving messages from the destinations).

Notes:
  • Configuring the user registry is a prerequisite for the wasJmsSecurity-1.0 feature. Ensure that a user registry is configured before the wasJmsSecurity-1.0 feature is enabled.
  • When you enable the wasJmsSecurity-1.0 feature, you must also configure the <messagingSecurity> element, which is the child element of the <messagingEngine> element, in the server.xml file. This configuration enables authorized users to access messaging destinations.
See Enabling secure JMS messaging for Liberty.
MicroProfile
<feature>microProfile-1.0</feature>

The microProfile-1.0 feature combines the Liberty features that support MicroProfile 1.0 for enterprise Java.

<feature>microProfile-1.2</feature>

The microProfile-1.2 feature combines the Liberty features that support MicroProfile 1.2 for enterprise Java.

<feature>microProfile-1.3</feature>

The microProfile-1.3 feature combines the Liberty features that support MicroProfile 1.3 for enterprise Java.

<feature>microProfile-1.4</feature>

The microProfile-1.4 feature combines the Liberty features that support MicroProfile 1.4 for enterprise Java. MicroProfile 1.4 features extend the definition of Java EE 7.

<feature>microProfile-2.0</feature>

The microProfile-2.0 feature combines the Liberty features that support MicroProfile 2.0 for enterprise Java. MicroProfile 2.0 features extend the definition of Java EE 8.

<feature>microProfile-2.1</feature>

The microProfile-2.1 feature combines the Liberty features that support MicroProfile-2.1 for enterprise Java. MicroProfile 2.1 features extend the definition of Java EE 8.

<feature>microProfile-2.2</feature>

The microProfile-2.2 feature combines the Liberty features that support MicroProfile-2.2 for enterprise Java. MicroProfile 2.2 features extend the definition of Java EE 8.

<feature>microProfile-3.0</feature>

The microProfile-3.0 feature combines the Liberty features that support MicroProfile-3.0 for enterprise Java. MicroProfile 3.0 features extend the definition of Java EE 8.

[19.0.0.12 and later]<feature>microProfile-3.2</feature>

The microProfile-3.2 feature combines the Liberty features that support MicroProfile-3.2 for enterprise Java. MicroProfile 3.2 features extend the definition of Java EE 8.

[20.0.0.4 and later]<feature>microProfile-3.3</feature>

The microProfile-3.3 feature combines the Liberty features that support MicroProfile-3.3 for enterprise Java. MicroProfile 3.3 features extend the definition of Java EE 8.

[21.0.0.3 and later]<feature>microProfile-4.0</feature>

The microProfile-4.0 feature combines the Liberty features that support MicroProfile-4.0 for enterprise Java. MicroProfile 4.0 features extend the definition of Jakarta EE 8.

[21.0.0.9 and later]<feature>microProfile-4.1</feature>

The microProfile-4.1 feature combines the Liberty features that support MicroProfile-4.1 for enterprise Java. MicroProfile 4.1 features extend the definition of Jakarta EE 8.

For more information, see MicroProfile programming model support.

MicroProfile configuration
<feature>mpConfig-1.1</feature>

The mpConfig-1.1 feature enables application configuration properties from multiple sources to be amalgamated into a single set of configuration properties and accessed by using a single client API.

<feature>mpConfig-1.2</feature>

The mpConfig-1.2 feature builds on mpConfig-1.1 with converters that include class, list, set and automatic conversion for classes that have a suitable string constructor or static valueOf method. Support for cdi-2.0 is also available.

<feature>mpConfig-1.3</feature>

The mpConfig-1.3 feature builds on previous versions of MicroProfile Config with enhancements to implicit converters and mapping of Config properties to environment variables. You can use the mpConfig-1.3 feature with either the cdi-1.2 feature or the cdi-2.0 feature.

[20.0.0.4 and later]<feature>mpConfig-1.4</feature>

The mpConfig-1.4 feature builds on previous versions of MicroProfile Config with enhancements to implicit converters and mapping of Config properties to environment variables.

[21.0.0.3 and later]<feature>mpConfig-2.0</feature>

The mpConfig-2.0 feature builds on previous versions of MicroProfile Config and is based on the SmallRye implementation of the MicroProfile Config specification.

For more information, see Enabling the MicroProfile Config API.

MicroProfile context propagation
<feature>mpContextPropagation-1.0</feature>
[21.0.0.4 and later]<feature>mpContextPropagation-1.2</feature>

The mpContextPropagation-1.0 feature enhances the concurrency capabilities of Java SE and Java EE. You can now create pipelines of dependent stages that run with predictable thread context, regardless of which thread the completion stage action runs on.

mpContextPropagation-1.2 specifically addresses a difference in how MicroProfile Config 2.0 treats empty value configuration properties.

For more information, see Enhancing concurrency capabilities.
MicroProfile fault tolerance
<feature>mpFaultTolerance-1.0</feature>

The mpFaultTolerance-1.0 feature improves service invocation resilience. It uses the Failsafe 1.0.1 open source library. The feature provides an environment to support resilient microservices through patterns that include retries, circuit breakers, bulkheads, timeouts, and fallbacks.

<feature>mpFaultTolerance-1.1</feature>

The mpFaultTolerance-1.1 feature provides support for the MicroProfile Fault Tolerance 1.1 API. It also adds integration with MicroProfile metrics so that you automatically get metrics for methods annotated with FaultTolerance annotations.

<feature>mpFaultTolerance-2.0</feature>

The mpFaultTolerance-2.0 feature provides support for the MicroProfile Fault Tolerance 2.0 API.

[20.0.0.4 and later]<feature>mpFaultTolerance-2.1</feature>

The mpFaultTolerance-2.1 feature provides support for the MicroProfile Fault Tolerance 2.1 API.

[21.0.0.3 and later]<feature>mpFaultTolerance-3.0</feature>

The mpFaultTolerance-3.0 feature provides support for the MicroProfile Fault Tolerance 3.0 API.

For information about MicroProfile fault tolerance, see Improving microservice resilience in Liberty.

MicroProfile health check
<feature>mpHealth-1.0</feature>
<feature>mpHealth-2.0</feature>
[19.0.0.12 and later]<feature>mpHealth-2.1</feature>
[20.0.0.4 and later]<feature>mpHealth-2.2</feature>
[21.0.0.3 and later]<feature>mpHealth-3.0</feature>
[21.0.0.9 and later]<feature>mpHealth-3.1</feature>

Configure the MicroProfile health check feature and implement the HealthCheck API to provide health checks in your microservice. For more information, see Performing MicroProfile health checks.

MicroProfile JSON Web Token
<feature>mpJwt-1.0</feature>

You can configure a Liberty server to accept a MicroProfile JSON Web Token as an authentication token.

<feature>mpJwt-1.1</feature>

You can configure a Liberty server to accept a MicroProfile JSON Web Token as an authentication token. MP-JWT 1.1 defines portable JWT verification configuration using MicroProfile Config, and requires the support of JSON Web Key (JWK).

[21.0.0.3 and later]<feature>mpJwt-1.2</feature>

You can configure a Liberty server to accept a MicroProfile JSON Web Token as an authentication token. MicroProfile JWT 1.2 adds a number of MicroProfile Config properties to control different aspects of the JWT validation. The specification also adds support for the ES256 signature algorithm.

For more information, see Configuring the MicroProfile JSON Web Token.

MicroProfile metrics
<feature>mpMetrics-1.0</feature>
<feature>mpMetrics-1.1</feature>
<feature>mpMetrics-2.0</feature>
[19.0.0.12 and later]<feature>mpMetrics-2.2</feature>
[20.0.0.4 and later]<feature>mpMetrics-2.3</feature>
[21.0.0.3 and later]<feature>mpMetrics-3.0</feature>

Measure and monitor information in a Liberty application with MicroProfile metrics. The feature supports the MicroProfile metrics API, which was derived from the Dropwizard metrics API. Metrics are displayed by a REST API that can connect to other monitoring tools or stacks. For more information, see Adding metrics to applications and Monitoring with MicroProfile metrics.

MicroProfile OpenAPI

You can generate and view REST API documentation with MicroProfile OpenAPI for enterprise Java.

For more information, see Generate REST API documentation.

<feature>mpOpenAPI-1.0</feature>

The mpOpenAPI-1.0 feature supports the MicroProfile OpenAPI 1.0 specification.

<feature>mpOpenAPI-1.1</feature>

The mpOpenAPI-1.1 feature supports the MicroProfile OpenAPI 1.1 specification.

[21.0.0.3 and later]<feature>mpOpenAPI-2.0</feature>

The mpOpenAPI-2.0 feature supports the MicroProfile OpenAPI 2.0 specification.

MicroProfile open tracing
MicroProfile open tracing provides a way to access an opentracing.io tracer.
<feature>mpOpenTracing-1.0</feature>

The mpOpenTracing-1.0 feature supports the MicroProfile OpenTracing 1.0 specification.

<feature>mpOpenTracing-1.1</feature>

The mpOpenTracing-1.1 feature supports the MicroProfile OpenTracing 1.1 specification.

<feature>mpOpenTracing-1.2</feature>

The mpOpenTracing-1.2 feature supports the MicroProfile OpenTracing 1.2 specification.

<feature>mpOpenTracing-1.3</feature>

The mpOpenTracing-1.3 feature supports the MicroProfile OpenTracing 1.3 specification. See MicroProfile OpenTracing 1.3.

[21.0.0.3 and later]<feature>mpOpenTracing-2.0</feature>

The mpOpenTracing-2.0 feature supports the MicroProfile OpenTracing 2.0 specification.

MicroProfile reactive messaging
[19.0.0.9 and later]<feature>mpReactiveMessaging-1.0</feature>

The mpReactiveMessaging-1.0 feature enhances message-processing capability for applications that process streams of events. It also provides a Connector API to allow your methods to connect to external messaging systems.

For more information, see Reactive messaging in microservices.

MicroProfile reactive streams operators
<feature>mpReactiveStreams-1.0</feature>

Use the mpReactiveStreams-1.0 feature to create and manipulate reactive streams of data. For more information, see Manipulating reactive streams of data in Liberty.

MicroProfile REST Client
<feature>mpRestClient-1.0</feature>
<feature>mpRestClient-1.1</feature>
<feature>mpRestClient-1.2</feature>
<feature>mpRestClient-1.3</feature>
[20.0.0.4 and later]<feature>mpRestClient-1.4</feature>
[21.0.0.3 and later]<feature>mpRestClient-2.0</feature>

Invoke the MicroProfile Rest Client with any version of the mpRestClient-* feature. For more information, see Configuring the MicroProfile Rest Client.

MongoDB
<feature>mongodb-2.0</feature>

The mongodb-2.0 feature provides support for MongoDB instances and associated database connections. Access to MongoDB connections is available either by JNDI lookup or resource injection. The native com.mongodb API performs the database manipulation.

Stabilized feature: The mongodb-2.0 feature is stabilized. The MongoDB Java driver versions 2.10.0 to 2.14.2 that the feature supports are no longer in service. Instead of using the mongodb-2.0 feature, create a CDI producer for Mongo. The CDI producer can use any Mongo version that meets your requirements.

See Configuring MongoDB connectivity in Liberty.

Monitoring
<feature>monitor-1.0</feature>

The monitor-1.0 feature provides Performance Monitoring Infrastructure (PMI) support on Liberty.

See Monitoring the Liberty server runtime environment.
OAuth
<feature>oauth-2.0</feature>

The oauth-2.0 feature provides support for securing access to resources using the OAuth 2.0 protocol.

Open tracing
<feature>opentracing-1.0</feature>
<feature>opentracing-1.1</feature>
<feature>opentracing-1.2</feature>
[21.0.0.3 and later]<feature>opentracing-2.0</feature>

Enable automatic distributed tracing in JAX-RS applications with an Opentracing feature. For more information, see Enabling distributed tracing. To get an Opentracing feature, see Installing assets using the installUtility command.

OpenAPI
<feature>openapi-3.0</feature>

The openapi-3.0 feature generates REST API documentation. The feature supports the OpenAPI V3 specification. See Generating REST API documentation with OpenAPI.

<feature>openapi-3.1</feature>

The openapi-3.1 feature enables you to aggregate generated REST API documentation. The feature supports the MicroProfile OpenAPI specification. See Aggregating REST API documentation.

OpenID
<feature>openid-2.0</feature>
This feature enables users to authenticate themselves to multiple entities without the need to manage multiple accounts or sets of credentials.
[21.0.0.8 and later]Stabilized feature: The openid-2.0 feature is stabilized. You can continue to use the openid-2.0 feature in Liberty. However, consider using the openidConnectClient-1.0 feature. For more information, see Configuring an OpenID Connect Client in Liberty.
Liberty supports OpenID 2.0 and plays a role as a Relying Party in web single-sign-on. Accessing various entities such as websites often requires a unique account that is associated with each entity. OpenID enables a single set of credentials that are handled by an OpenID Provider to grant access to any number of entities that support OpenID.
OpenID Connect Client
<feature>openidConnectClient-1.0</feature>

This feature enables web applications to integrate OpenID Connect Client 1.0 for authenticating users instead of, or in addition to, the configured user registry.

OpenID Connect Provider
<feature>openidConnectServer-1.0</feature>

This feature enables web applications to integrate OpenID Connect Server 1.0 for authenticating users instead of, or in addition to, the configured user registry.

OSGi application integration
<feature>osgiAppIntegration-1.0</feature>

Use the osgiAppIntegration-1.0 feature to enable the OSGi applications that are available within the same Java virtual machine to share their services with each other.

For more information about Application-ImportService and Application-ExportService headers, see Application manifest files.
OSGi bundle
<feature>osgiBundle-1.0</feature>

The osgiBundle-1.0 feature enables support for deploying OSGi applications. With the OSGi Applications support, you can develop and deploy modular applications that use Java EE and OSGi technologies.

OSGi Console
<feature>osgiConsole-1.0</feature>
This feature enables an OSGi console to aid the debugging of the runtime environment. It can be used to display information about bundles, packages, and services. This information can be useful when you develop your own features for product extensions.
OSGi JPA
<feature>osgi.jpa-1.0</feature>

This feature is superseded by the blueprint-1.0 and jpa-2.0 features. When those features are both added to the server, this feature is added automatically.

The osgi.jpa-1.0 feature provides JPA support for OSGi applications on Liberty.
Password Utilities
<feature>passwordUtilities-1.0</feature>

This feature enables support for obtaining AuthData from an application by using security plug-points.

For passwordUtilities-1.0 feature configuration information, see Password Utilities-1.0.

Product Insights
<feature>productInsights-1.0</feature>

The productInsights-1.0 feature registers your Liberty server with the IBM Cloud Product Insights service on IBM Cloud to report usage metrics. See Registering Liberty servers with the Product Insights service on IBM Cloud.

IBM Cloud Product Insights service is deprecated:

The IBM Cloud Product Insights service is deprecated. After 21 March 2018, new Product Insights service instances cannot be created. Existing service instances were removed on the end-of-support date, 13 May 2018. For more information, see Service Deprecation: IBM Cloud Product Insights.

Real-Time Communications
<feature>rtcomm-1.0</feature>

The Liberty Real-Time Communications feature enables a highly-scalable call signaling engine that can be used to connect WebRTC clients into real-time audio/video/data calls. The feature supports both registration of clients as well as the exchange of signaling needed to create a WebRTC peer connection between two endpoints.

Stabilized feature: The rtcomm-1.0 feature is stabilized. There is no strategic alternative. You can continue to use the rtcomm-1.0 feature.
REST connector
<feature>restConnector-1.0</feature>

The restConnector-1.0 feature provides a secure JMX connector that can be used locally or remotely using any JDK. It enables remote access by JMX clients through a REST-based connector and requires SSL and basic user security configuration.

<feature>restConnector-2.0</feature>

The restConnector-2.0 feature provides a secure JMX connector that can be used locally or remotely by using any JDK. It enables remote access by JMX clients through a REST-based connector and requires SSL and basic user security configuration. This feature supersedes the restConnector-1.0 feature and does not include the jaxrs-1.1 feature. For restConnector-2.0 feature configuration information, see JMX REST Connector 2.0.

For information about using REST connectors, see Connecting to Liberty by using JMX and Configuring secure JMX connection to Liberty.

Request timing
<feature>requestTiming-1.0</feature>
The requestTiming-1.0 provides warnings and diagnostic information for the slow or hung requests. See Slow and hung request detection.
RTComm Gateway
<feature>rtcommGateway-1.0</feature>
The rtcommGateway-1.0 feature adds the capability for connecting Session Initiation Protocol (SIP) with RTComm WebRTC endpoints for the exchange of audio and video streams.
Stabilized feature: The rtcommGateway-1.0 feature is stabilized. There is no strategic alternative. You can continue to use the rtcommGateway-1.0 feature.

See Configuring a Rtcomm Gateway.

SAML Web Browser SSO
<feature>samlWeb-2.0</feature>
The samlWeb-2.0 feature enables web applications to delegate user authentication to a SAML identity provider instead of a configured user registry.

See Configuring SAML Web Browser SSO in Liberty.

Scaling controller
<feature>scalingController-1.0</feature>

The Scaling Controller-1.0 feature makes scaling decisions for Liberty. Multiple servers can run the Scaling Controller feature for high availability purposes. Only one server is actively making scaling decisions at any time. If that server is stopped, another server that is running the Scaling Controller feature can take over making scaling decisions.

Scaling member
<feature>scalingMember-1.0</feature>

The Scaling Member-1.0 feature can be added to the featureManagement element of the server.xml of servers that are collective members. This enables auto clustering of the collective members and allows the servers to dynamically start or stop based on criteria that are specified by the scaling policy. This feature works with the scaling controller feature. The scaling controller feature must be enabled in the collective controllers that are part of the collective.

Secure Sockets Layer (SSL)
<feature>ssl-1.0</feature>

This feature is superseded by the transportSecurity-1.0 feature.

For more information on configuring SSL, see Transport Security.

Security
<feature>appSecurity</feature>
This version of the appSecurity feature provides only certain aspects of security, based explicitly on the presence of other features. Additionally, it does not automatically include the servlet-3.0 or ldapRegistry-3.0 features, thereby reducing the server footprint. To secure web applications, you must include the servlet-3.0 feature. To enable EJB security, you must include the ejbLite-3.1 feature. To support an LDAP user registry, you must include the ldapRegistry-3.0 feature.
Superseded feature: The appSecurity-2.0 feature supersedes appSecurity-1.0. The features are the same except that appSecurity-2.0 does not automatically include servlet-3.0 or ldapRegistry-3.0. You can choose to use the appSecurity-2.0 version instead in your server configuration. See Superseded Liberty features.
  • To enable web security, you must specify the servlet-3.0 feature in the server.xml file.
  • To enable support for LDAP, you must specify the ldapRegistry-3.0 feature in the server.xml file.
The appSecurity-1.0 and appSecurity-2.0 features provide support for securing the server runtime environment and applications. The following aspects are supported:
  • Basic user registry
  • Lightweight Directory Access Protocol (LDAP) user registry
  • Basic authorization
  • Web application security
    • Basic authentication login
    • Form-login Form-logout
    • Programmatic APIs: getRemoteUser, getUserPrincipal, isUserInRole, authenticate, logout, and login.
  • EJB application security
    • All security annotations and all security elements that can be specified in the ejb-jar.xml file.
    • Programmatic APIs: getCallerPrincipal, isCallerInRole, and getCallerIdentity. The getCallerIdentity API is not supported for Singleton session beans.
    • EJB extension settings in the ibm-ejb-jar-ext.xml file for run-as-mode of CALLER_IDENTITY and SPECIFIED_IDENTITY (SYSTEM_IDENTITY is not supported).

See also Securing Liberty and its applications and appSecurity-2.0 feature restrictions.

<feature>appSecurity-3.0</feature>

This version of the appSecurity feature provides the core capability for the Java EE Security API 1.0 specification in the Liberty profile. This feature supports the SecurityContext API and all of the annotations that are defined in the specification. For more information about the specification, see JSR 375: Java EE Security API.

Servlet
<feature>servlet-3.0</feature>

The servlet-3.0 feature provides support for HTTP Servlets written to the Java Servlet 3.0 specification.

Stabilized feature: The servlet-3.0 feature is stabilized. You can continue to use the servlet-3.0 feature. However, consider using a later feature.
<feature>servlet-3.1</feature>

This feature enables support for HTTP Servlets written to the Java Servlet 3.1 specification.

<feature>servlet-4.0</feature>

This feature enables support for HTTP Servlets written to the Java Servlet 4.0 specification. To get the feature, see Installing assets using the installUtility command.

See also Securing Liberty and its applications.
SIP Servlet
<feature>sipServlet-1.1</feature>

The sipServlet-1.1 feature provides support for SIP Servlet Specification 1.1, also known as JSR 289. Session Initiation Protocol (SIP) is a control protocol for many interactive services, including audio, video, and peer-to-peer communication.

See Session Initiation Protocol (SIP) and Administering Session Initiation Protocol (SIP) on Liberty.

For sipServlet-1.1 feature configuration information, see sipServlet-1.1.

Session persistence
<feature>sessionDatabase-1.0</feature>

The sessionDatabase-1.0 feature provides session affinity and failover support on Liberty. See Configuring Liberty session persistence to a database.

<feature>sessionCache-1.0</feature>

The sessionCache-1.0 feature enables persistence of HTTP sessions with Java Caching (JCache). With this feature, you can get session persistence without the use of a relational database. For failover of HTTP sessions, configure multiple servers to persist data to the same location. See Configuring Liberty session persistence with JCache.

Social login
<feature>socialLogin-1.0</feature>

This feature enables users to authenticate to websites that are hosted on a Liberty server by logging in with their social media accounts.

For more information on configuring social login on a Liberty server, see Configuring social login in Liberty.

SPNEGO
<feature>spnego-1.0</feature>

This feature enables users to log in to the Microsoft Domain controller once and access protected applications on Liberty servers without getting prompted again.

For more information on configuring SPNEGO on Liberty server, see Configuring SPNEGO authentication in Liberty.

Spring Boot
<feature>springBoot-1.5</feature>

This feature enables support for Spring Boot applications using Spring Boot 1.5.x.

<feature>springBoot-2.0</feature>

This feature enables support for Spring Boot applications using Spring Boot 2.0.x.

See Spring Boot programming model support and Deploying a Spring Boot application to Liberty.
Timed operations
<feature>timedOperations-1.0</feature>

This feature enables support for warnings to be logged when certain operations in the application server are running more slowly than expected.

Stabilized feature: The timedOperations-1.0 feature is stabilized. There is no strategic alternative. You can continue to use the timedOperations-1.0 feature.
Transport Security
<feature>transportSecurity-1.0</feature>

The transportSecurity-1.0 feature supports Transport Layer Security (TLS) connections. The TLS protocol is an update to the now-deprecated Secure Sockets Layer (SSL) protocol. This feature supersedes the ssl-1.0 feature.

The transportSecurity-1.0 feature does not imply a specific SSL or TLS protocol; such information comes from the standard JVM configuration.

To specify the TLS certificates, add a pointer in the server.xml file; see Securing communications with Liberty.

To change the HTTPS port, set the <httpsPort> attribute of the <httpEndpoint> element in the server.xml file; see Specifying Liberty bootstrap properties.

Usage metering
<feature>usageMetering-1.0</feature>
[20.0.0.9 and later]Stabilized feature: The usage metering feature is stabilized. It currently is used with WebSphere Automation. For application development or general health status needs, consider using the MicroProfile metrics feature. For additional information about available metrics, see Monitoring with MicroProfile metrics.
Web application bundle (WAB)
<feature>wab-1.0</feature>

The wab-1.0 feature provides support for WABs that are inside enterprise bundles.

This feature supports the following resources packaged inside a WAB:
  • Static web content and JSPs.
  • HTTP servlets written to the Servlet 3.0 specification.
  • Blueprint applications.
If you include the wab-1.0 feature, you also include the servlet-3.0 and blueprint-1.0 features.
Web Profile
<feature>webProfile-6.0</feature>

This feature provides a convenient combination of the Liberty features that are required to support the Java EE 6 Web Profile.

<feature>webProfile-7.0</feature>

This feature provides a convenient combination of the Liberty features that are required to support the Java EE 7 Web Profile.

<feature>webProfile-8.0</feature>

This feature provides a convenient combination of the Liberty features that are required to support the Java EE 8 Web Profile.

WebSocket
<feature>websocket-1.0</feature>
<feature>websocket-1.1</feature>

WebSocket is a standard protocol that enables a web browser or client application and a web server application to communicate by using one full duplex connection.

For more information, see WebSocket.

WebSphere Application Server Heritage APIs
[20.0.0.9 and later]heritageAPIs-1.0

This feature assists traditional WebSphere Application Server applications to more easily migrate to Liberty. The heritage APIs are intended to be used only for migration purposes and are not optimized for creating new applications or maintaining existing applications. For more information, see WebSphere Application Server Heritage APIs.

Web Services Atomic Transaction
<feature>wsAtomicTransaction-1.2</feature>

The wsAtomicTransaction is an interoperable transaction protocol. It enables you to flow distributed transactions by using Web service messages, and coordinate in an interoperable manner between heterogeneous transaction infrastructures.

For wsAtomicTransaction-1.2 configuration information in Liberty, see Web Services Atomic Transaction in Liberty.

Web services security
<feature>wsSecurity-1.1</feature>
The wsSecurity-1.1 feature provides support for securing web services at the message level. To secure web services messages, you must enable this feature and the appSecurity-2.0 and jaxws-2.2 features. Web services security policies defined in a WSDL file are ignored and are not enforced unless the wsSecurity-1.1 feature is enabled.
WebSphere MQ Messaging feature:
<feature>wmqJmsClient-1.1</feature>
The wmqJmsClient-1.1 feature enables applications to use JMS messaging that connects to a IBM MQ server.
Stabilized feature: The wmqJmsClient-1.1 feature is stabilized. You can continue to use the wmqJmsClient-1.1 feature. However, consider using a later messaging feature.
<feature>wmqJmsClient-2.0</feature>
Use the wmqJmsClient-2.0 feature to permit JMS 2.0 to interact with IBM MQ. Although the feature uses the IBM MQ v8 resource adapter (RA), it is not restricted only to IBM MQ version 8 QueueManagers.