diff --git a/CHANGELOG.md b/CHANGELOG.md index d43eb932231..96ed779c24a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,142 @@ For Helidon 2.x releases please see [Helidon 2.x CHANGELOG.md](https://github.co For Helidon 1.x releases please see [Helidon 1.x CHANGELOG.md](https://github.com/oracle/helidon/blob/helidon-1.x/CHANGELOG.md) +## [4.1.0] + +This release contains important bugfixes and enhancements and is recommended for all users of Helidon 4. It is compatible with Helidon 4.0.X. + +A minimum of Java 21 is required to use Helidon 4. + +### Notable Changes + +- Support for MicroProfile 6.1 [8704](https://github.com/helidon-io/helidon/issues/8704) +- gRPC support [5418](https://github.com/helidon-io/helidon/issues/5418) +- Support for Java 22 and Java 23 + +### CHANGES + +- Builders: Fixed configuration metadata of blueprints that are configured and provide a service [8891](https://github.com/helidon-io/helidon/pull/8891) +- Common: Convert `ConcurrentHashMap` which does service loading to `HashMap` with `ReentrantLock` [8977](https://github.com/helidon-io/helidon/pull/8977) +- Common: Fix SetCookie to work for client side as well [9029](https://github.com/helidon-io/helidon/pull/9029) +- Common: Improved parsing of HTTP/1 prologue and headers. [8890](https://github.com/helidon-io/helidon/pull/8890) +- Common: Introduction of HSON library to write and parse Helidon metadata files. [9050](https://github.com/helidon-io/helidon/pull/9050) +- Common: Mapper manager cache key fix [9121](https://github.com/helidon-io/helidon/pull/9121) +- Common: Methods to retrieve optional typed entity [8939](https://github.com/helidon-io/helidon/pull/8939) +- Common: Remove unused parameters from JsonpWriter [8979](https://github.com/helidon-io/helidon/pull/8979) +- Common: Replace deprecated method Header.value() on Header.get() [8873](https://github.com/helidon-io/helidon/pull/8873) +- Common: Update UriEncoding.decode to expose a decodeQuery method [9006](https://github.com/helidon-io/helidon/pull/9006) +- Common: Use Helidon metadata format (HSON) for service registry generated file. [9061](https://github.com/helidon-io/helidon/pull/9061) +- Common: Use Hson.Struct instead of Hson.Object to prevent confusion with java.lang.Object [9080](https://github.com/helidon-io/helidon/pull/9080) +- Common: Use System.Logger instead of JUL where applicable #7792 [8791](https://github.com/helidon-io/helidon/pull/8791) +- Common: Use string constructor of BigDecimal to avoid bad decimals in output. [9074](https://github.com/helidon-io/helidon/pull/9074) +- Config: Upgrade to MP Config 3.1 and fix an issue with profile specific properties [8757](https://github.com/helidon-io/helidon/pull/8757) +- DBClient: Add uses io.helidon.dbclient.jdbc.spi.JdbcConnectionPoolProvider to io.helidon.dbclient.jdbc module (#8237) [8850](https://github.com/helidon-io/helidon/pull/8850) +- DBClient: Consider missing named parameters values in the parameters Map as null [9035](https://github.com/helidon-io/helidon/pull/9035) +- DBClient: Fix DbClientService for Mongo DbClient [9102](https://github.com/helidon-io/helidon/pull/9102) +- FT: Fix confusing log message on breach of overallTimeout duration [8936](https://github.com/helidon-io/helidon/pull/8936) +- FT: Remove unused constructor parameter from io.helidon.faulttolerance.AsyncImpl [9020](https://github.com/helidon-io/helidon/pull/9020) +- FT: Use correct exception when retrying in FT [8983](https://github.com/helidon-io/helidon/pull/8983) +- gRPC: Client Implementation [8423](https://github.com/helidon-io/helidon/pull/8423) +- gRPC: MP Implementation [8878](https://github.com/helidon-io/helidon/pull/8878) +- JEP290: forward port of serial-config fix [8814](https://github.com/helidon-io/helidon/pull/8814) +- JTA: Refactors JtaConnection to allow status enforcement by JTA implementation [8479](https://github.com/helidon-io/helidon/pull/8479) +- JTA: Removes usage of ConcurrentHashMap in LocalXAResource.java to avoid thread pinning in JDKs of version 22 and lower [8900](https://github.com/helidon-io/helidon/pull/8900) +- Logging: Bugfixes log builder [9051](https://github.com/helidon-io/helidon/pull/9051) +- MDC: propagation without context [8957](https://github.com/helidon-io/helidon/pull/8957) +- Metrics: Add RW locking to better manage concurrency [8997](https://github.com/helidon-io/helidon/pull/8997) +- Metrics: Add deprecation logging and mention in Micrometer integration doc pages [9100](https://github.com/helidon-io/helidon/pull/9100) +- Metrics: MP Metrics 5.1 support [9032](https://github.com/helidon-io/helidon/pull/9032) +- Metrics: Mark deprecations for Micrometer integration component [9085](https://github.com/helidon-io/helidon/pull/9085) +- Metrics: Properly handle disabled metrics in MP [8908](https://github.com/helidon-io/helidon/pull/8908) +- Metrics: Update metrics config default for `rest-request-enabled` and add doc text explaining SE vs. MP defaults for some values [8912](https://github.com/helidon-io/helidon/pull/8912) +- Native image fixes (required for Java 22) [9028](https://github.com/helidon-io/helidon/pull/9028) +- Native image: Add required reflection configuration for EclipseLink [8871](https://github.com/helidon-io/helidon/pull/8871) +- Native image: to support latest dev release of GraalVM native image [8838](https://github.com/helidon-io/helidon/pull/8838) +- OCI: Add Imds data retriever as a service provider [8928](https://github.com/helidon-io/helidon/pull/8928) +- OCI: Oci integration fixes [8927](https://github.com/helidon-io/helidon/pull/8927) +- OCI: Service registry OCI integration update [8921](https://github.com/helidon-io/helidon/pull/8921) +- OCI: Support for OKE Workload identity in OCI integration for Service registry [8862](https://github.com/helidon-io/helidon/pull/8862) +- OCI: Update oci.auth-strategy values in generated OCI archetype to avoid UnsatisfiedResolutionException [9073](https://github.com/helidon-io/helidon/pull/9073) +- SSE mediaType comes null after first consumed event [8922](https://github.com/helidon-io/helidon/pull/8922) +- Security: ConcurrentHashMap guarding added [9114](https://github.com/helidon-io/helidon/pull/9114) +- Security: Correctly guard concurrent access to hash map [9031](https://github.com/helidon-io/helidon/pull/9031) +- Security: Fixed concurrent access to identity hash map with reentrant lock. [9030](https://github.com/helidon-io/helidon/pull/9030) +- Security: Jwt improvements [8865](https://github.com/helidon-io/helidon/pull/8865) +- Service Registry [8766](https://github.com/helidon-io/helidon/pull/8766) +- Tracing: Adopt MP Telemetry 1.1 [8984](https://github.com/helidon-io/helidon/pull/8984) +- Tracing: After retrieval check baggage entry for null before dereferencing it [8885](https://github.com/helidon-io/helidon/pull/8885) +- Tracing: Fix tracer information propagation across threads using Helidon context [8841](https://github.com/helidon-io/helidon/pull/8841) +- Tracing: Reorder checking of delegate vs. wrapper in OTel tracer unwrap [8855](https://github.com/helidon-io/helidon/pull/8855) +- Tracing: Replace deprecated method Span.baggage(key) on Span.baggage().get(key) [9042](https://github.com/helidon-io/helidon/pull/9042) +- WebClient: Attempt to read an unconsumed response entity to allow connection caching [8943](https://github.com/helidon-io/helidon/pull/8943) +- WebClient: Client connection properly returned to the cache [9115](https://github.com/helidon-io/helidon/pull/9115) +- WebClient: Fix multi-value query string parsing [8889](https://github.com/helidon-io/helidon/pull/8889) +- WebClient: Moves client protocol ID caching from HttpClientRequest to WebClient [8933](https://github.com/helidon-io/helidon/pull/8933) +- WebClient: Remove unnecessary field length from ContentLengthInputStream [8915](https://github.com/helidon-io/helidon/pull/8915) +- WebClient: not routing the requests through proxy configured using Proxy Builder. #9022 [9023](https://github.com/helidon-io/helidon/pull/9023) +- WebServer: Avoids running the encoders (such as GZIP) when no data is written [9117](https://github.com/helidon-io/helidon/pull/9117) +- WebServer: Fix problem where throwing an Error would close connection but send keep-alive [9014](https://github.com/helidon-io/helidon/pull/9014) +- WebServer: HTTP2-Settings needs to be encoded/decoded to Base64 with url dialect [8845](https://github.com/helidon-io/helidon/pull/8845) +- WebServer: Replaces ConcurrentHashMap to avoid potential thread pinning [8995](https://github.com/helidon-io/helidon/pull/8995) +- WebServer: Retrieve the correct requested URI info path value, indpt of the routing path used to locate the handler [8823](https://github.com/helidon-io/helidon/pull/8823) +- WebServer: Return correct status on too long prologue [9001](https://github.com/helidon-io/helidon/pull/9001) +- WebServer: Server TLS - Add path key description [8937](https://github.com/helidon-io/helidon/pull/8937) +- WebServer: Skips content encoding of empty entities [9000](https://github.com/helidon-io/helidon/pull/9000) +- WebServer: Update max-prologue-length from 2048 to 4096 to align with 3.x [9007](https://github.com/helidon-io/helidon/pull/9007) +- WebServer: improvement of header parsing error handling [8831](https://github.com/helidon-io/helidon/pull/8831) +- WebServer: register routing in weighted order of Server and HTTP Features [8826](https://github.com/helidon-io/helidon/pull/8826) +- WebSocket: Makes SocketContext available to a WsSession [8944](https://github.com/helidon-io/helidon/pull/8944) +- Archetype: Remove unused config property from generated code [8965](https://github.com/helidon-io/helidon/pull/8965) +- Archetype: fix Native image build for `quickstart` with `jackson` [8835](https://github.com/helidon-io/helidon/pull/8835) +- Archetype: fix database app-type typo [8963](https://github.com/helidon-io/helidon/pull/8963) +- Build: Add post pr merge workflow to support continuous snapshot deployments [8919](https://github.com/helidon-io/helidon/pull/8919) [8924](https://github.com/helidon-io/helidon/pull/8924) [8923](https://github.com/helidon-io/helidon/pull/8923) +- Build: Cleanup validate workflow [9108](https://github.com/helidon-io/helidon/pull/9108) +- Build: Fix release.sh [9087](https://github.com/helidon-io/helidon/pull/9087) +- Build: POM cleanups [9110](https://github.com/helidon-io/helidon/pull/9110) +- Build: Parallelized pipelines [9111](https://github.com/helidon-io/helidon/pull/9111) +- Build: ShellCheck [9078](https://github.com/helidon-io/helidon/pull/9078) +- Build: Uptake Helidon Build Tools v4.0.9 [9086](https://github.com/helidon-io/helidon/pull/9086) +- Dependencies: Bump up cron-utils [9120](https://github.com/helidon-io/helidon/pull/9120) +- Dependencies: GraphQL upgrade [9109](https://github.com/helidon-io/helidon/pull/9109) +- Dependencies: Java 22 support. Upgrade ASM, byte-buddy, and eclipselink [8956](https://github.com/helidon-io/helidon/pull/8956) +- Dependencies: Update eclipselink to 4.0.4 [9015](https://github.com/helidon-io/helidon/pull/9015) +- Dependencies: Upgrade oci-sdk to 3.45.0 [9083](https://github.com/helidon-io/helidon/pull/9083) +- Dependencies: Upgrade snakeyaml to 2.2 [9072](https://github.com/helidon-io/helidon/pull/9072) +- Dependencies: Upgrades gRPC dependencies to latest versions [9105](https://github.com/helidon-io/helidon/pull/9105) +- Dependencies: jakarta ee upgrades [9089](https://github.com/helidon-io/helidon/pull/9089) +- Docs: Add back and enhance the page describing OpenAPI generation for Helidon 4 [9052](https://github.com/helidon-io/helidon/pull/9052) +- Docs: Clarify javadoc for HealthCheckResponse.Builder.status(boolean) [9043](https://github.com/helidon-io/helidon/pull/9043) +- Docs: Cleanup prerequisites and use of prereq table [9063](https://github.com/helidon-io/helidon/pull/9063) +- Docs: Config reference documentation [9053](https://github.com/helidon-io/helidon/pull/9053) +- Docs: Correct the ordering of whenSent in doc snippet [8884](https://github.com/helidon-io/helidon/pull/8884) +- Docs: Doc for @AddConfigBlock #8807 [8825](https://github.com/helidon-io/helidon/pull/8825) +- Docs: Document supported GraalVM version for native-image [8938](https://github.com/helidon-io/helidon/pull/8938) +- Docs: Documents the gRPC MP server API [9123](https://github.com/helidon-io/helidon/pull/9123) +- Docs: Excluding generated service descriptors from javadoc plugin(s). [9082](https://github.com/helidon-io/helidon/pull/9082) +- Docs: Generate config docs during build [9103](https://github.com/helidon-io/helidon/pull/9103) +- Docs: Mocking documentation [8787](https://github.com/helidon-io/helidon/pull/8787) +- Docs: Update Keycloak version to 24 in OIDC guide [8868](https://github.com/helidon-io/helidon/pull/8868) +- Docs: Update generated config reference [8852](https://github.com/helidon-io/helidon/pull/8852) +- Docs: Update microprofile spec versions in docs [9095](https://github.com/helidon-io/helidon/pull/9095) +- Docs: Updates links to examples that are in documentation to point to the `helidon-examples` repository. [9094](https://github.com/helidon-io/helidon/pull/9094) +- Examples: Fix example to use the configured values. [8994](https://github.com/helidon-io/helidon/pull/8994) +- Examples: Skip test if InstancePrincipal UT if Imds is available [8985](https://github.com/helidon-io/helidon/pull/8985) +- Examples: Updates versions of beans.xml resources to 4.0 [9038](https://github.com/helidon-io/helidon/pull/9038) +- Examples: examples removal [9034](https://github.com/helidon-io/helidon/pull/9034) +- Test: add helidon-logging-jul as a test dependency to some modules #779 [8810](https://github.com/helidon-io/helidon/pull/8810) +- Test: Add `classesDirectory` configuration to failsafe plugin [9059](https://github.com/helidon-io/helidon/pull/9059) +- Test: DbClient IT tests job [9107](https://github.com/helidon-io/helidon/pull/9107) +- Test: Packaging Integration Tests [9106](https://github.com/helidon-io/helidon/pull/9106) +- Test: Re-add tck-fault-tolerance module in the reactor [9112](https://github.com/helidon-io/helidon/pull/9112) +- Test: Reenables failing JPA test [9037](https://github.com/helidon-io/helidon/pull/9037) +- Test: Refactor DbClient integration tests [9104](https://github.com/helidon-io/helidon/pull/9104) +- Test: Restored test TenantTest#test2 after changes in FT [8832](https://github.com/helidon-io/helidon/pull/8832) +- Test: Update microprofile tck artifact install [9077](https://github.com/helidon-io/helidon/pull/9077) +- Test: Use Hamcrest assertions instead of JUnit in common/buffers (#1749) [8883](https://github.com/helidon-io/helidon/pull/8883) +- Test: Use Hamcrest assertions instead of JUnit in dbclient/mongodb (#1749) [8934](https://github.com/helidon-io/helidon/pull/8934) +- Test: Use Hamcrest assertions instead of JUnit in webclient/http1 (#1749) [8914](https://github.com/helidon-io/helidon/pull/8914) + + ## [4.0.11] This release contains important bugfixes and is recommended for all users of Helidon 4. @@ -1261,6 +1397,7 @@ Helidon 4.0.0 is a major release that includes significant new features and fixe - MicroProfile: MP path based static content should use index.html (4.x) [4737](https://github.com/oracle/helidon/pull/4737) - Build: 4.0 version and poms [4655](https://github.com/oracle/helidon/pull/4655) +[4.1.0]: https://github.com/oracle/helidon/compare/4.0.11...4.1.0 [4.0.11]: https://github.com/oracle/helidon/compare/4.0.10...4.0.11 [4.0.10]: https://github.com/oracle/helidon/compare/4.0.9...4.0.10 [4.0.9]: https://github.com/oracle/helidon/compare/4.0.8...4.0.9 diff --git a/integrations/oci/authentication/instance/pom.xml b/integrations/oci/authentication/instance/pom.xml index 9d081392d23..44a0de4db4a 100644 --- a/integrations/oci/authentication/instance/pom.xml +++ b/integrations/oci/authentication/instance/pom.xml @@ -109,4 +109,30 @@ + + + release + + + + org.apache.maven.plugins + maven-jar-plugin + + + empty-javadoc-jar + package + + jar + + + javadoc + ${project.build.directory}/javadoc + + + + + + + + diff --git a/integrations/oci/authentication/oke-workload/pom.xml b/integrations/oci/authentication/oke-workload/pom.xml index 36e5764f7da..35957e2203e 100644 --- a/integrations/oci/authentication/oke-workload/pom.xml +++ b/integrations/oci/authentication/oke-workload/pom.xml @@ -113,4 +113,30 @@ + + + release + + + + org.apache.maven.plugins + maven-jar-plugin + + + empty-javadoc-jar + package + + jar + + + javadoc + ${project.build.directory}/javadoc + + + + + + + + diff --git a/integrations/oci/authentication/resource/pom.xml b/integrations/oci/authentication/resource/pom.xml index b8f09dad85f..b1effbe2924 100644 --- a/integrations/oci/authentication/resource/pom.xml +++ b/integrations/oci/authentication/resource/pom.xml @@ -109,4 +109,30 @@ + + + release + + + + org.apache.maven.plugins + maven-jar-plugin + + + empty-javadoc-jar + package + + jar + + + javadoc + ${project.build.directory}/javadoc + + + + + + + + diff --git a/microprofile/grpc/tests/pom.xml b/microprofile/grpc/tests/pom.xml index 73f11b3e674..d2ecf9306b2 100644 --- a/microprofile/grpc/tests/pom.xml +++ b/microprofile/grpc/tests/pom.xml @@ -30,6 +30,8 @@ true + true + true