MicroProfile, an Open-Source Community that collaborates on enterprise Java microservices, would like to announce the release of MicroProfile 4.0.
MicroProfile 4.0 is the first version released by the recently-formed MicroProfile Working Group within the Eclipse Foundation. This important milestone demonstrates the commitment of the MicroProfile community and the Eclipse Foundation to drive innovative and open technology and processes into the industry. The release follows the new MicroProfile Specification Process, a compatible specialization of the Eclipse Foundation Specification Process that adds agility to the release process to meet the MicroProfile release cadence.
The release updates the core programming model to support CDI 2.0, JAX-RS 2.1, JSON-B 1.0, and JSON-P 1.1 as specified under the Jakarta EE Working Group. More specifically, MicroProfile 4.0 supports the javax.* namespace supported by Jakarta EE 8.
Finally, the specifications included in the MicroProfile 4.0 platform have been updated with new features to meet the needs of its growing developer base. As a major release, MicroProfile 4.0 includes incompatible changes.
MicroProfile 4.0 component specification updates
Figure 1: MicroProfile Specifications
Figure 1 outlines the specifications included in MicroProfile 4.0 and standalone specifications. The MicroProfile 4.0 component specification updates are outlined below and are also available in the MicroProfile 4.0 presentation.
- MicroProfile Config 2.0
- What’s new
- Updated to use Jakarta EE 8 dependencies
- Added bulk extraction of properties into POJO using @ConfigProperties
- Added Property Expansion
- Added configuration profiles (ex: dev, testing, live)
- Backward incompatible changes
- Specification release (changes)
- What’s new
- MicroProfile Health 3.0
- What’s new
- Updated to use Jakarta EE 8 dependencies
- mp.health.default.readiness.empty.response property to define default readiness on application startup
- Backward incompatible changes
- Specification release (changes)
- What’s new
- MicroProfile JWT Auth 1.2
- MicroProfile Metrics 3.0
- What’s new
- Updated to use Jakarta dependencies
- Timer now exposes total elapsed time duration as a metric value
- New base REST metric REST.request.unmappedException.total
- Backward incompatible changes
- Specification release (changes)
- What’s new
- MicroProfile Rest Client 2.0
- What’s new
- Updated to use Jakarta dependencies
- Added support for Server Sent Events
- Added support for configuring HTTP proxy servers
- Added support for automatically following redirect requests
- Backward incompatible changes
- Specification release (changes)
- What’s new
- MicroProfile Fault Tolerance 3.0
- What’s new
- Updated to use Jakarta EE 8 dependencies
- Updated metrics to use tags
- Specifies lifecycle of circuit breakers and bulkheads
- Backward Incompatible changes
- Specification release (changes)
- What’s new
- MicroProfile Open API 2.0
- What’s new
- Updated to use Jakarta dependencies
- Added @SchemaProperty, @RequestBodySchema, @APIResponseSchema properties
- Added mp.openapi.schema MicroProfile Config property prefix
- Backward incompatible changes
- Specification release (changes)
- What’s new
- MicroProfile OpenTracing 2.0
- What’s new
- Updated to use Jakarta dependencies
- Update OpenTracing API to 0.33.0
- Backward incompatible changes
- Specification release (changes)
- What’s new
Additional benefits include:
- Richer specification integration
- Interoperability across different MicroProfile implementations provides users the freedom to select one or combine many
- MicroProfile implementations in a microservices architecture
- Annotation-based and programmatic APIs
- MicroProfile Starter for MicroProfile project generation
- A command-line interface (CLI) to generate projects.
- A Visual Studio extension pack for MicroProfile with over 26k installations
- An Intellij plugin for MicroProfile
The MicroProfile community is thriving and always on the lookout for new members to join the family. This Open Source community cares about its members and will do its best to keep the hurdles of getting involved as low as possible.
Additional information:
Get your projects started with:
Join a MicroProfile live-discussion:
Participate in the MicroProfile google forum:
After Release Necessary: MicroProfile 4.0.1
It turned out the pom.xml produced by MicroProfile 4.0 does not pull in the dependencies (see here for more details). We have rectified the issue and released MicroProfile 4.0.1. In order to get the full set of APIs included by MicroProfile 4.0, you need to specify the following dependency in your pom.xml.
<dependency> <groupId>org.eclipse.microprofile</groupId> <artifactId>microprofile</artifactId> <version>4.0.1</version> <type>pom</type> <scope>provided</scope> </dependency>
Editors: Martin Stefanko, John Clingan, Tetiana Fydorenchyk, and Emily Jiang