Skip to content

Releases: helidon-io/helidon

2.4.1

21 Dec 00:09
Compare
Choose a tag to compare

This is a bugfix release of Helidon. It is recommended for all users of Helidon 2.

Compatibility

2.4.1 is API compatible with 2.3.0.

log4j

Helidon itself does not use log4j, and by default will not include log4j on
your application's classpath. But Helidon does manage the version of log4j and
uses it in some examples and the helidon-logging-log4j integration feature. This
release of Helidon upgrades this managed version to 2.17.0.

CHANGES

  • WebServer: Netty mixed writing aligned with master 3718
  • WebServer: Defer writes with backpressure #3684 3741
  • WebServer: Allow compression to be enabled together with HTTP/2 (helidon-2.x) 3705
  • WebServer: 3640 Netty mixed writing 2x 3671
  • WebClient: New flag to force the use of relative URIs (paths) on all requests 3614
  • WebClient: Netty order of writes 2x backport #3674 3710
  • Tests: Added explicit "localhost" to tests. 3575
  • Reactive: Multi defaultIfEmpty 3592
  • Perf: JWK keys lazy load 3742
  • OpenAPI: Redesign the per-application OpenAPI processing 3615
  • OpenAPI: Correct the handling of additionalProperties in OpenAPI (2.x) 3636
  • OpenAPI: Catch all exceptions, not just IOException, when unable to read Jandex 3626
  • OIDC: Fix proxy configuration. 3749
  • OCI: Fix serviceName usage for OCI ATP integration 3711
  • Metrics: Suppress warning when metrics PeriodicExecutor is stopped multiple times 3617
  • Metrics: Prepare RegistryFactory lazily to use the most-recently-assigned MetricsSettings 3659
  • Metrics: Move scheduling of metrics periodic updater so it is run in MP as well as in SE (2.x) 3732
  • Metrics: Implement metrics for thread pool suppliers 3630
  • Metrics: Fix some remaining problems with disabling metrics, mostly deferring access to RegistryFactory 3663
  • Logging: HelidonFormatter constructor made public 3609
  • JWT: SignedJwt's parseToken() expects characters from base64 instead of ba64URL encoding 3740
  • JAX-RS: Handle creation of InjectionManager when parent is a HelidonInjectionManager (helidon-2.x) 3754
  • Health: Mark @deprecated method so we can remove it in a future major release 3696
  • Fault Tolerance: Improved support for cancellation of FT handlers (helidon-2.x) 3682
  • Examples: Helidon Istio Example 3676
  • Examples: Add support for gradle application plugin to quickstarts 3617
  • Docs: Update javadocs and links for Jakarta EE and MicroProfile 3721
  • Docs: LRA doc fix artifact and group ids 2x 3689
  • Docs: Doc and JavaDoc fixes for #3747 and #3687. 3757
  • Dependencies: Upgrades log4j to 2.17.0
  • Dependencies: Upgrades Netty to 4.1.72.Final 3739
  • Dependencies: Bump cronutils 2x 3678
  • Config: Support for mutable file based MP config sources. 3666
  • Build: Manage version of netty-transport-native-unix-common 3746

2.4.0

01 Nov 15:27
Compare
Choose a tag to compare

This is a minor release of Helidon. It contains bug fixes and enhancements. Some key new features:

  • MicroProfile Long Running Actions (LRA) (experimental)
  • Configuration profiles
  • MicroStream Integration: thanks to the MicroStream team for this contribution!
  • OCI ATP integration and OCI service health checks
  • Oracle UCP 21.3 native image support
  • JEP 290 serialization filtering checks
  • Open IdConnect improvements
  • Java 17 support
  • Numerous dependency upgrades

Compatibility

2.4.0 is API compatible with 2.3.0. There has been a change that might impact a small number of our users:

  • YamlMpConfigSource has been moved to module io.helidon.config:helidon-config-yaml-mp. This is due to wrong JPMS definition where we could not provide a service of an optional dependency. To fix the dependency graph (so we do not depend on MP config from SE config), we had to create a new module.
    If you use this class directly, please update your dependencies (this may not be required, as it is on classpath of all MP applications), and change the package to io.helidon.config.yaml.mp.

Thanks!

Thanks to the following community members for contributing fixes or enhancements to this release:

CHANGES

See the 2.4.0 CHANGELOG for a detailed list of changes.

2.3.4

08 Oct 15:31
Compare
Choose a tag to compare

This is a bug fix release of Helidon. We recommend all Helidon 2.x users upgrade to this release.

Compatibility

2.3.4 is API compatible with 2.3.0.

CHANGES

  • WebServer: Fix issue when Netty server hangs when under load. 3435
  • WebServer: Fix race condition when analysing whether entity is fully read 3434
  • WebClient: Relativize request URI if host is in no-host list, in addition to the no-proxy case. 3442
  • Tracing: Using Jersey context rather then Helidon context. 3436
  • Metrics: PeriodicExecutor can incorrectly log warning message; and warning text can be wrong 3433
  • Metrics: native-image build fails due to metrics performance optimization 3433
  • Grpc: Enable DataFetchingEnvironment as part of @GraphQLAPI @query methods 3428
  • Build-tools: upgrade to build-tools 2.3.0: fixes issues with jlink, devloop, and maven 3.8 and issues on Windows 3465

2.3.3

07 Sep 15:19
Compare
Choose a tag to compare

This is a bug fix release of Helidon. It contains bug and performance fixes. We recommend all Helidon 2.x users upgrade to this release.

Compatibility

2.3.3 is API compatible with 2.3.0.

CHANGES

  • WebServer and WebClient race conditions fixed 3351
  • WebServer: Fix missing CORS headers if response has 404 status (#3206) 3280
  • WebClient: HTTP to HTTPS request hang fix 3351
  • Tracing: Modified Jaeger logic to not close scopes before switching threads 3274
  • Security: Fix NPE in outbound of JWT provider. (#3295) 3297
  • Reactive: 3129 3216 BEP refactor backport 3327
  • MicroProfile: Use MP config instead of Config.create() in MP components. 3291
  • Metrics: Performance: Improve some interceptor code paths in metrics (#3251) 3328
  • Metrics: Metrics and routings fixes (#3260) 3324
  • Metrics: Add the KPI metrics handler (with no qualifying path) exactly once each routing (#3255) 3282
  • Metrics: Suppress empty labels in exemplars which result in {}; yield a truly empty string instead 3281
  • Fault Tolerance: Explicitly destroy bean instance obtained from CDI object 3274
  • Docs: Helidon config documentation updates (#3187) 3284
  • Dependencies: Upgrade org.glassfish:jakarta.el to 3.0.4 3331
  • Dependencies: Upgrade helidon-build-tools to 2.2.3. to fix issues with Maven 3.8 and JDK 11.0.11+ 3362 3370

2.3.2

09 Jul 19:30
Compare
Choose a tag to compare

This is a bug fix release of Helidon. It contains bug fixes and minor enhancements. We recommend all Helidon 2.x users upgrade to this release.

Compatibility

2.3.2 is API compatible with 2.3.0.

Changes

  • Health: Health check for OCI ObjectStorage that works in SE and MP 3157
  • Logging: Fix Bug #3032 with SLF4J dependancy 3047
  • Metrics: Correct the reported Prometheus metric type for ConcurrentGauge metrics 3160
  • Metrics: Fix incorrect handling of omitted display name (and description) revealed by gRPC 3178
  • Security: Allowed cipher suite can now be specified for WebServer and WebClient 3144
  • Security: Audit does not format message if not loggable. 3156 3162
  • Tests: Fixed failing mp-graphql integration test when using JDK17 (#3100) 3176
  • Tracing: Improved handling of Jaeger spans/scopes across threads 3134
  • Utils: Loom support moved to ThreadPoolSupplier 3164
  • Vault: Custom path for Vault auth methods 3161
  • WebServer: Reactive streams compliant BareResponseImpl 3153
  • WebServer: Set content-length to 0 if empty response 3135
  • Docs: Fixed typos in link 3167
  • Docs: New note about the generation of passphrase protected PKCS#1 keys 3145
  • Documentation SE : OIDC Postman extension 2740
  • Examples: Fix for exec:java to exec:exec 3148
  • Examples: Remove jakarta.activation dependency from examples and archetypes 3155

1.4.10

06 Jul 21:52
Compare
Choose a tag to compare

This is a bug fix release of Helidon. It contains bug fixes and minor enhancements. We recommend all Helidon 1.4 users upgrade to this release.

Changes

  • Configure Cipher suite support 3173
  • Reloadable server certificates 3163
  • Adjust JSON timer histogram output using units set on the timer 3133

1.4.9

24 Jun 18:51
Compare
Choose a tag to compare

This is a bug fix release of Helidon 1. It contains fixes and dependency upgrades.
We recommend all Helidon 1.4 users upgrade to this release.

Compatibility

1.4.9 is API compatible with previous 1.4 releases.

Changes

  • WebServer: Honor binding address (host) when binding multiple ports. 3111
  • WebServer: Ignore path parameters while matching routes in 1.x 3102
  • WebServer: Encode paths returned as part of 400 and 404 responses 3055
  • Dependencies: Upgrade netty 3079
  • Dependencies: Upgrade Jakarta dependencies to match what is in 2.x 3062
  • Dependencies: Update to SmallRye OpenAPI 1.2.3 for 1.x 3081
  • Dependencies: revert libthrift forced upgrade for jaeger-client 3053

2.3.1

24 Jun 18:52
Compare
Choose a tag to compare

2.3.1 is a bug fix release of Helidon. It contains fixes and some minor enhancements.
We recommend all Helidon 2.x users upgrade to this release.

Compatibility

2.3.1 is API compatible with 2.3.0.

There has been one minor package change. Base64Value has been moved from Helidon Integrations Common REST module
to the module Helidon Common. Due to that action, import has changed from
io.helidon.integrations.common.rest.Base64Value to io.helidon.common.Base64Value, but the class is the same.

Enhancements

MP Config Updates

Features from MP Config 2.0 that are backward compatible were added in this release:

  1. Configuration profiles were added. You can now define a configuration profile (such as dev) using configuration property mp.config.profile. If such is defined, config will load default properties microprofile-config-${profile}.properties, and it will look for properties prefixed with %${profile}- first.
  2. OptionalInt, OptionalLong, and OptionalDouble were added as supported types

Changes

  • WebServer: Introduce backpressure to webserver 3108
  • WebServer: support colons in passwords 3045
  • WebServer: Ignore path parameters when matching routes 3097
  • WebServer: Honor bind address and host in configuration 3105
  • WebServer: Encode paths returned as part of 404 responses 3048
  • WebServer: A few more cases of HTML encoding in error messages 3051
  • WebServer: Adds convenience method to clear/invalidate a cookie 3037
  • WebServer: 3086: Fix SSE event sending 3087
  • WebClient: Host IPv6 matching is now cached 3028
  • Tracing: Publish internal Jaeger tracing metrics via Helidon's metrics system 3000
  • Test: Add support for YAML configuration in Helidon Junit 5 testing 3025
  • Security: Helidon crypto module 2989
  • Security: Add optional support to security providers 3039
  • Reactive: Fix Intermittent MultiFlatMapPublisherTest#multi 3068
  • MicroProfile Server: Reactive routing via cdi provider 3050
  • Metrics: Adjust JSON timer histogram output using the units (if any) that were set on the timer 3132
  • Metrics: Add extended key performance indicators metrics support 3021
  • Messaging: Messaging connector type check 3044
  • JPA: Ensure container-managed EntityManagerFactory contextual references are eagerly inflated 3018
  • JDBC: Allow underscores in JDBC param names 3023
  • JAX-RS: Single injection manager in use, we can only shut it down once. 3101
  • JAX-RS: Allow sharing of same Jersey's injection manager across multiple JAX-RS applications 2988
  • GraphQL: Upgrade GraphQL to support mp-graphql spec 1.1.0 3065
  • GraphQL: Minor update to README and add missing @nonnull on TaskApi 3091
  • Examples: Silence Weld's INFO logging on quickstart examples 3131
  • Docs: Upgrade javadoc-plugin. Silence error for org.jboss.logging.annotations.Message$Format 3077
  • Docs: Update Config Guide to describe how to change pom for custom main class 3083
  • Docs: Fix various formatting and processing errors in doc files 3036
  • Docs: Add missing javadoc to module-info files 3020
  • Docs: added attribute for javadoc-base-url-api to fix broken links 3034
  • Dependencies: Upgrade jgit to 5.11.1.202105131744-r 3040
  • Dependencies: Upgrade jboss classfilewriter 3074
  • Dependencies: Upgrade etcd4j to 2.18.0 3043
  • Dependencies: Update SmallRye OpenAPI to 1.2.3 for Helidon 2.x 3080
  • Dependencies: Updates Eclipselink to 2.7.8 3042
  • Dependencies: Suppress jgit false positive 3015
  • Config: MP Config profiles 3096
  • Config: Deprecated classes made public on oversight 3038

2.3.0

13 May 17:55
Compare
Choose a tag to compare

2.3.0 is a minor release of Helidon that contains bug fixes and enhancements. Notable enhancements:

  • HashiCorp Vault support (Experimental)
  • Oracle OCI Vault support (Experimental)
  • Oracle OCI Object Storage support (Experimental)
  • Neo4J support (Experimental)
  • Micrometer metrics support (Experimental)
  • gRPC native image support
  • Reloadable WebServer TLS certificates
  • New metric: Exemplars
  • Scheduling feature to schedule periodic tasks
  • Performance improvements for JAX-RS applications with large number of concurrent connections

Experimental feature APIs are subject to change.

Users of the current OCI Object Storage extension (helidon-integrations-cdi-oci-objectstorage) are encouraged
to look at the new OCI Object Storage support (helidon-integrations-oci-objectstorage). The old OCI object
storage support will be deprecated in a future release.

Compatibility

2.3.0 is API compatible with 2.2.0.

There is a behavior change related to Java marshalling in gRPC. io.helidon.grpc.core.JavaMarshaller has
been deprecated and disabled by default. It's use is not recommended for production and it will be removed
in Helidon 3.0. If you need to use the JavaMarshaller you can re-enable it by setting the
grpc.marshaller.java.enabled configuration property to true.

CHANGES

See CHANGELOG

2.2.2

01 Apr 15:34
Compare
Choose a tag to compare

2.2.2 is a bugfix release of Helidon. In addition to fixing various bugs it contains a security fix for an issue concerning the use of security annotations (such as @Denyall, @RolesAllowed) on JAX-RS Applications and sub-resource locators that are discovered by CDI. See issue 2903 for more details.

This upgrade is recommended for all users of Helidon 2.

Compatibility

2.2.2 is API compatible with 2.2.0.

CHANGES

  • WebClient: keep-alive minor improvements 2882
  • WebClient: Keep alive default value changed to true 2775
  • Security: Obtain the actual class when instance is injected by CDI 2897
  • MicroProfile Server: Remove standard output. 2780
  • Metrics: Avoid NaN values causing problems in metrics output 2812
  • Logging: Slf4j MDC context propagation with null MDC map fixed 2861
  • JAX-RS: Use one of Jersey's implementations of PropertiesDelegate 2756
  • Fault Tolerance: New RequestScopeHelper class to track request scopes across threads 2856
  • Dependencies: Upgrade Netty to 4.1.59.Final 2793