Releases: helidon-io/helidon
2.3.2
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
1.4.9
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
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:
- Configuration profiles were added. You can now define a configuration profile (such as
dev
) using configuration propertymp.config.profile
. If such is defined, config will load default propertiesmicroprofile-config-${profile}.properties
, and it will look for properties prefixed with%${profile}-
first. OptionalInt
,OptionalLong
, andOptionalDouble
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
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
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
1.4.8
This is a bug fix release of Helidon. It contains fixes and a number of dependency upgrades.
We recommend all Helidon 1.4 users upgrade to this release.
Fixes
- Config: AbstractDataSourceExtension now uses Config.getPropertyNames() 2350
- Config: Fix issue with null value in JSON. 2728
- Jersey: Added support for remote host and port to jersey and security 1.x 2369
- Jersey: Enable ignoreExceptionResponse property 2776
- Metrics: Fix JSON conversion error during metrics formatting after idle period 2817
- Security: Fix for P-521 curve - wrong id 2280
- Security: Overall timeout for EvictableCache 2667
- Security: Security now has higer priority 2298
- WebServer: Fix hangs when bad request was sent. 2261
- gRCP: Fix issue with gRPC clients and services where method signatures have types with nested generics 2356
- Dependencies: Update Prometheus Java Client to 0.9.0 2420
- Dependencies: Update Hibernate and Eclipselink 2655
- Dependencies: Upgrade Jackson to 2.10.5 with 2.10.5.1 databind 2684
- Dependencies: Upgrade Jersey to 2.33 2776
- Dependencies: Upgrade Jaeger to align with opentracing version. 2366
- Dependencies: Upgrade Netty to 4.1.59 2679 2794
- Dependencies: Upgrade google-api-client snakeyaml apache-httpclient 2654
- Dependencies: Upgrade grpc to v1.35.0 2722
- Dependencies: Upgrade guava to 30.0-jre 2658
- Dependencies: Upgrade JUnit4. 2454
- Dependencies: Upgrade OCI SDK to version 1.31.0 2700
- Dependencies: Upgrade mysql connecter to 8.0.22 2788
- Dependencies: remove weld-probe 2664
- Documentation: Improve doc for built-in health checks 2562
- Build: Add dependency-check-maven plugin 2569
- Tests: Added timeouts to client, webserver and tests to identify intermitten… 2305
2.2.1
2.2.1 is a bugfix release of Helidon. It contains bug fixes, performance fixes and dependency upgrades.
Compatibility
2.2.1 is API compatible with 2.2.0.
CHANGES
- Config: Fix issue with null value in JSON. 2723
- Config: Fix null array values in HOCON/JSON config parser. 2731
- Dependencies: Re-organize dependencyManagement 2646
- Dependencies: Update Jackson to 2.12.1 2690
- Dependencies: Upgrade Netty to 4.1.58 2678
- Dependencies: Upgrade Weld 2668
- Dependencies: Upgrade grpc to v1.35.0 2713
- Dependencies: Upgrade to Jersey 2.33 and set of client property 2727
- Dependencies: Upgrades OCI SDK to version 1.31.0 2699
- Examples: Fix TODO application: 2708
- Examples: Fix WebServer Basics example 2634
- Examples: Fixed different output in DbClient SE archetype 2703
- Examples: PokemonService template fixed in SE Database Archetype. 2701
- Fault Tolerance: Do not attempt to access the request context in Fallback callback 2748
- Jersey: Allow override of Jersey property via config 2737
- K8s: Update k8s descriptors to avoid using deprecated APIs 2719
- Metrics: Support async invocations using optional synthetic SimplyTimed behavior 2745
- Micronaut extensions: micronaut data with ucp 2572
- Performance: New implementation of LazyValue 2738
- Performance: Properly release underlying buffer before passing it to WebSocket handler 2715
- Performance: improvements to queue(s) management in Webserver 2704
- Reactive: Concat array enhancement 2508
- Rest Client: Rest client async header propagation with usage of Helidon Context 2735
- Security: Added overall timeout to evictable cache 2659
- Testing: Proves that environment variable overrides work with our MicroProfile Config implementation 2648
- Testing: Separate execution of DataChunkReleaseTest in its own VM 2716
- WebServer: Lays the groundwork for permitting other Netty transports 2478
- Build: Manage versions of version plugin and helidon-maven-plugin 2626
2.2.0
2.2.0 is a minor release of Helidon. It contains bug fixes and enhancements. Notable enhancements:
- Experimental: Micronaut extension support 2467
- Experimental: Graph QL Support 2504
- Experimental: Loom (VirtualThread) support in Helidon MP 2417
Experimental features are ready for use, but their APIs should be considered unstable and
subject to change.
Compatibility
2.2.0 is API compatible with 2.1.0.
CHANGES
- WebServer: Support for a max payload limit on client requests 2491
- WebServer: Add a shutdown hook to executor service in JerseySupport 2505
- WebServer: Fix Request chunks emitted after response is completed are not released 2605
- WebServer: Support for HTTP pipelining 2591
- WebClient: Methods contentLength and transferEncoding added 2490
- WebClient: Double query escaping in WebClient fixed 2513
- Tracing: add tags before span start in jersey ClientTracingFilter #1942 2512
- Tracing: Make sure span.finish() is not called twice 2466
- Tests: Fix pom.xml of helidon-microprofile-tests-junit5 2485
- Tests: Convert tests to use the new infrastructure 2498
- Tests: Adds a unit test proving that multiple persistence units can be injected 2503
- Tests: Address intermittent test failures 2517
- Security: Using the default keystore type instead of JKS 2536
- Security: Support for overriding configuration of security providers 2511
- Security: Global context and its use in Security 2549
- Security: Fixed docs and impl - outbound security 2538
- Security: Honoring disabled security through configuration for OIDC support 2577
- Micronaut integration 2467 2602
- Metrics: Add vetoed-bean support to metrics CDI extension 2507
- Messaging: Messaging discrepancies 2453
- Messaging: Make JmsMessage builder methods accessible 2617
- Messaging: JMS Reactive Messaging connector 2282
- Messaging: AQ acknowledgement propagation fix 2623
- Messaging: Native image compatible Kafka connector #2346 2555
- Messaging: Jms connector SE api 2543
- Media: Json stream writers 2523
- Loom: Initial stab at incorporating some Loom features into Helidon in a way that will work under JDK 11 or 16-loom-ea 2417
- Logging: MDC logging support 2479
- Logging: Examples of logging with Helidon 2533
- JPA: PostgreSQL driver support for JPA/Hibernate in native image 2596
- JPA: MySQL driver support for JPA/Hibernate in native image 2557
- Health: Add messaging health dependency to bom 2556
- Fault Tolerance: Revised logic for handling request scopes and contexts in Jersey/HK2 2534
- Fault Tolerance: Request scope propagation for non-async calls in FT 2495
- Fault Tolerance: Do not create and cache handlers for fallbacks 2546
- GraphQL: Experimental Graph QL Support 2504
- Examples: Make example Kafka working on MAC 2541
- Examples: Fix uses of jlink-image directories to use new "-jri" suffix. 2469
- Examples: Using config reference instead of ${ALIAS= 2579
- Examples: Logging setup in examples and templates 2583
- Docs: Updated path reference to fix the broken link. 2509
- Docs: Update jlink guide with .jmod requirement. 2535
- Docs: Update doc's microprofile version to 3.3 2488
- Docs: Some minor doc improvements 2527
- Docs: SE intro: fixed typo 2545
- Docs: Increase visibility of Getting started in Overview 2568
- Docs: Improve doc for built-in health check thresholds, etc. 2559
- Docs: Helidon SE OIDC Security provider guide 2310
- Docs: Helidon MP OIDC Security provider guide 2311
- Docs: Fix instructions for enabling JSON-P for Health-Checks. 2528
- Docs: Updating JTA and JPA guides 2570
- Docs: Misc fixes 2616 2615 2573
- Dependencies: Exclude jakarta.ejb-api 2595
- Dependencies: remove weld-probe-core 2506
- Dependencies: Upgrade Hibernate to 5.4.25.Final 2575
- Dependencies: Upgrade GraalVM 2510 2514
- Dependencies: Upgrade apache-httpclient, google-api-client and snakeyaml 2482
- Dependencies: Upgrade Guava version to 30.0-jre 2620
- Dependencies: Update ojdbc deps 2530
- Dependencies: Move scala dep from bom 2542
- Dependencies: Add dependency-check-maven plugin 2472
- Dependencies: Import ojdbc deps with bom 2588
2.1.0
2.1.0 is a minor release of Helidon. It contains bug fixes and enhancements. Notable changes:
- MicroProfile 3.3 support
- New Helidon SE Fault Tolerance implementation. This replaces Hystrix in the MicroProfile
Fault Tolerance implementation. See documentation for more details. @HelidonTest
Junit5 test extension. This extension manages the lifecycle of the Helidon microprofile server in your Junit5 tests.
Compatibility
2.1.0 is API compatible with previous releases of 2.0. There are some minor
behavioral changes:
- Security: To remove accidental propagation of identity, all security providers that
support outbound security were updated to only do outbound security when configured
so. All of these providers now have anoutbound
configuration section that can
define outbound targets. Documentation of providers was updated to match this new
approach and is available in both MP and SE docs. - Custom jlink images produced by the
helidon-mave-plugin
now have a-jri
suffix.
So the path to start your application looks something like:
target/helidon-quickstart-se-jri/bin/start
CHANGES
- Config: Git config native-image support 2400
- Config: Injection of web target with correct endpoint. 2380
- Config: Config now supports merging of objects and lists 2448
- DBClient: integration tests for MySQL, MadiaDB, PostgreSQL and MS SQL 2383
- DBClient: Fix NPE on error in tx 2286
- DataSource: Use Config.getPropertyNames() instead of retrieving getPropertyNames() from ConfigSources 2322
- Fault Tolerance: Implementation of MP FT 2.1.1 using FT SE 2348
- Fault Tolerance: Limit module visibility by making several classes package private 2359
- Fault Tolerance: Name support for all those operations that implement FtHandler 2404
- Fault Tolerance: Updated test to verify @CIRCUITBREAKER does not interfere with request scope 2387
- Fault Tolerance: Updates to FT tests to take advantage of @HelidonTest 2370
- JAX-RS: Allow user-provided CDI extensions to veto JAX-RS classes 2429
- JAX-RS: Jersey update to version 2.32 2406
- Media: DataChunkedInputStream deadlock protection removed 2401
- Media: Update MediaType, lazy non known type, read-only parameters map 2308
- Media: media-jackson native-image support 2385
- Messaging: Messaging health check 2352
- Messaging: Log Kafka sending error which caused channel cancel 2447
- Metrics: Avoid race condition by using ConcurrentHashMap 2435
- Metrics: Update release of Prometheus Java client (in 2.x) 2419
- Native Image: When class is annotated with @MappedSuperclass, its private fields can't be accessed from JPA with native image 2127
- Native image: Tyrus server support for native-image in SE 2097
- Native image: Windows native-image fix 2336
- Native image: Use latest version for helidon plugin to include native image fix. 2374
- OpenAPI: Use CDI to instantiate Application classes to invoke getClasses 2325
- Reactive: Multi discrepancies 2413
- Reactive: Single.never not singleton 2349
- Security: Added support for remote host and port to jersey and security 2.x 2368
- Security: Disable automatic propagation from security providers 2357
- Security: OIDC fixes 2378
- Security: Support for methods in outbound targets. 2335
- Testing: Intermittent test failure fix 2347
- Testing: MP Testing 2353
- Testing: Update surefire and failsafe to 3.0.0-M5 2307
- Testing: Junit4 upgrade 2450
- Tracing: Update to later release of MP OpenTracing 2313
- WebClient: Changes of the request via WebClientService are now propagated 2321
- WebClient: Webclient uses relative uri in request instead of full uri 2309
- WebServer: ClassPathContentHandler can survive tmp folder cleanup 2361
- WebServer: Enable support for HTTP compression in the webserver 2379
- WebServer: Secure static content 2411
- WebServer: WebSocket Extensions 1934
- WebServer: Public API to get absolute URI of the request 2441
- WebServer: Attempt to start a stopped server will fail with IllegalStateException 2439
- gRPC: Fix issue with gRPC clients and services where method signatures have types with nested generics 2283
- gRPC: Update gRPC Version 2388
- CDI: Service class fixed. 2317
- CDI: CDI.current().getBeanManager() now available during shutdown 2438
- Examples: Fix 2391 Bug in generated Dockerfile.native from quickstart-mp 2393
- Examples: Update standalone quickstarts. 2360
- Examples: Updated maven surefire plugin to helidon-standalone-quickstart-mp 1849
- Documentation improvements: 2428 2399 2410 2390 2329 2397 2367 2363 2351 2328 2457 2443