Releases: helidon-io/helidon
4.0.0-ALPHA6
This is the sixth Alpha build of Helidon 4.0.0 and is intended as a preview release only. Do not use this release in production. It is suitable only for experimentation. APIs are subject to change. Documentation is incomplete. And some functionality is experimental and not fully tested.
The big news in Helidon 4.0.0 is the introduction of Helidon Nima -- a ground up webserver implementation based on JDK Project Loom virtual threads. Helidon 4.0.0 is a major release that includes significant new features and fixes. As a major release it also includes backward incompatible API changes.
Java 20 or newer is required to use Heldon 4.0.0-ALPHA6. Also you will need to run your application with --enable-preview
.
CHANGES
- Common: Use helidon-common-config where possible/applicable 6448
- Config: Escape the key when copying a config node 6296
- Logging: Logging properties file clean up 6367
- Logging: Remove FileHandler from logging.properties 6364
- Messaging: 6303 JMS JNDI destination support 6305
- Pico: Builder define default methods 6294
- Pico: Pico and Builder Exception conventions 6525
- Pico: no arg constructor support on pico interceptors 6552
- Pico: pico runtime services 5750
- Pico: renaming pico module names and api package names 6573
- WebClient: Complete shortcut methods for all HTTP methods for the WebClient 6358
- WebClient: Forward port of DNS resolver for Webclient 6551
- WebClient: HTTP/2 Client with flow-control 6399
- WebClient: Improve ClientRequestImpl 6208
- WebServer: Add requested URI discovery support 6030
- WebServer: Added shortcut methods for registering
MediaSupport
6564 - WebServer: Capture and propagate the CCL in ThreadPerTaskExecutor 6322
- WebServer: Complete Webserver HTTP routing shortcut methods 6404
- WebServer: Do not split headers and payload into two different buffers 6491
- WebServer: Error handling removed from the filter chain 6415
- WebServer: Fix artifact ID, typo in name 6494
- WebServer: Handle zero or more spaces after commas when parsing Accept-Encoding 6380
- WebServer: Issue 5383: Added Content-Encoding header check when content encoding is disabled. 6267
- WebServer: Issue 6278: Programmatically control media providers with Nima WebServer 6412
- WebServer: Jackson media support for Níma 6432
- WebServer: Make size of header buffer independent of payload size 6475
- WebServer: Nima media support 6507
- WebServer: SSE API and implementation in Nima 6096
- WebServer: Wrap underlying output stream with a buffered one whose buffer size is configurable 6509
- WebSocket: Renamed receive() method to onMessage() in WsListener 6571
- Build: Upgrade Java to 20 GA 6474
- Dependencies: Adopt SnakeYAML 2.0; add integration tests for reactive and Nima 6535
- Dependencies: JWT-Auth upgrade to 2.1 version 6268
- Dependencies: Upgrade graphql-java to 17.5 6540
- Docs: Add new dirs and docs for Nima 4 6398
- Docs: Created Nima dir for docs 6306
- Docs: New documenation for FT in Nima 6565
- Docs: New document that describes Nima's SSE APIs 6332
- Docs: Remove claim that metrics are propagated from server to client 6361
- Examples: Add OCI MP Archetype (4.x) 6147
- Examples: Update mustache format in archetype files 6286
- Tests: Fix RC in JMS error test 6375
- Tests: JMS intermittent test fix 6392
- Tests: Re-enable tests 6359 6355 6356 6357
- Tests: TestDisabledMetrics.java in microprofile/metrics 6436
- Tests: TestExtendedKPIMetrics.java from microprofile/metrics as it i… 6437
- Tests: Update bookstore test for Nima to add jsonb and jackson media 6577
- Tests: Use Hamcrest assertions instead of JUnit in examples/todo-app (#1749) 6293 and others
- Tests: nima bookstore test 6349
3.2.0
This is a bugfix release of Helidon and is recommended for all users of Helidon 3. Helidon 3 requires Java 17 or newer.
This release upgrades SnakeYaml from 1.32 to 2.0. Because of incompatible API changes in SnakeYaml 2 it is possible your application might be impacted if you use SnakeYaml directly. While we recommend you do the upgrade, if that is not possible you may force downgrade SnakeYaml to 1.32 and Helidon 3.2.0 will still work.
CHANGES
- Config: Escape the key when copying a config node 6304
- JMS: JNDI destination support 6301
- JPA: Minor JPA cleanups 6435
- JTA: Fixes erroneous closing behavior in JtaConnection.java 6321
- Logging: Remove FileHandler from logging.properties 6363
- Metrics: Change default exemplar behavior to conform to OpenMetrics spec; allow users to choose former non-standard behavior 6387
- MultiPart: Fix MultiPartDecoder lazy inner publisher subscription 6225
- MultiPart: WritableMultiPart create methods fixed 6390
- Native image: Dockerfile.native fixes. 6424
- Native image: Fix native-image build-time initialization 6426 6438
- Security: OIDC original uri resolving leaving out query params 6342
- WebServer: Support for non-GET HTTP/2 upgrades 6383
- Build: Use https in pom.xml schemaLocation 6313 and others
- Dependencies: Adapt to SnakeYAML 2.0 changes 5793
- Dependencies: Upgrade OCI SDK to 3.8.0 6427
- Docs: Fix
{h1-prefix}
unreplaced token in SE metrics guide preamble 6409 - Docs: Remove claim that metrics are automatically propagated from the webserver to the webclient 6319
- Docs: TOC - #5828 6270
- Docs: Toc tasks from #5828 6146
- Docs: Typo in metrics guide 3.x 6271
- Docs: [3.x] Describe disabling config token replacement 6166
- Examples: Update mustache format in archetype files 6287
- Tests: Fix RC in JMS error test 6376
- Tests: Fix intermittent issue on OciMetricsSupportTest 6177
- Tests: JMS intermittent test fix 6393
- Tests: Use Hamcrest assertions instead of JUnit 6292 and others
2.6.0
This is a bugfix release of Helidon. It is recommended for all users of Helidon 2.
This release upgrades SnakeYaml from 1.32 to 2.0. Because of incompatible API changes in SnakeYaml 2 it is possible your application might be impacted if you use SnakeYaml directly. While we reccomend you do the upgrade, if that is not possible you may force downgrade SnakeYaml to 1.32 and Helidon 2.6.0 will still work.
CHANGES
- Config: Configuration fixes 6159
- Examples: OpenApi Generator examples 5722
- Media: Fix MultiPartDecoder lazy inner publisher subscription 6223
- Metrics: Change default exemplar behavior to conform to OpenMetrics spec 6333
- OCI: Register OciMetricsSupport service only when enable flag is set to true 6054
- OpenAPI: Fix UI option handling 6132
- Security: OIDC logout functionality fixed 6126
- Tracing: Fix multiple registration of Jaeger-related gauges 6013
- WebServer: 100 continue triggered by content request 5912
- WebServer: Switch default back-pressure strategy to AUTO_FLUSH from LINEAR 5943
- Build: Cleanup Helidon BOM by removing artifacts that we do not deploy 6046
- Build: Use https in pom.xml schemaLocation 6360 and others
- Dependencies: Adopt SnakeYAML 2.0 6384
- Docs: Describe disabling config token replacement 6169
- Docs: Documentation updates to correct wrong instructions for HOCON config parsing 5958
- Docs: Fix typo in docs for enabling/disabling metrics by registry type (#5809) 5926
- Docs: Remove claim that metrics are propagated from server to client 6362
- Test: Fix intermittent issue on OciMetricsSupportTest 6178
- Test: Remove FileHandler from logging.properties 6365
- Test: Use Hamcrest assertions instead of JUnit in microprofile/lra/jax-rs (#1749) 6335 and others
4.0.0-ALPHA5
This is the fifth Alpha build of Helidon 4.0.0 and is intended as a preview release only. Do not use this release in production. It is suitable only for experimentation. APIs are subject to change. Documentation is incomplete. And some functionality is experimental and not fully tested.
The big news in Helidon 4.0.0 is the introduction of Helidon Nima -- a ground up webserver implementation based on JDK Project Loom virtual threads.
Helidon 4.0.0 is a major release that includes significant new features and fixes. As a major release it also includes some backward incompatible API changes.
Java 19 or newer is required to use Heldon 4.0.0-ALPHA5.
CHANGES
- Config: Configuration fixes 6145
- Config: Describe disabling config token replacement 6170
- FaultTolerance: Reactive FT Module Info fix 6238
- HTTP2: Issue 5425: Added configurable validate-path and max-concurrent-streams to HTTP 2. 5981
- Media: Reactive Media Common deprecated cleanup 6098
- Messaging: AQ connector @ConnectorAttribute 6038
- OCI: Register OciMetricsSupport service only when enable flag is set to true 6053
- Security: Nima and Reactive implementation of OIDC provider separated 6055
- Security: OIDC logout functionality fixed 6131
- Security: Reloadable server TLS KeyStore 5964
- Tracing: Fix order of initialization of tracing and security. (#5987) 6034
- Tracing: Fix parent handling in OpenTelemetry 6092
- WebClient: Need to use a ConcurrentHashMap in DefaultDnsResolver 6207
- WebServer: 100 continue request reset fix 6251
- WebServer: 100 continue triggered by content request 5965
- WebServer: ContentEncodingContext Builder and passing ContentEncodingContext instance from WebServer to Http1Connection. 5921
- WebServer: Port to Nima of enhancement to allow WebSocket applications on different ports 6004
- WebServer: Proposal to implement a more efficient webserver shutdown strategy 5876
- WebServer: Refactor Níma connection context 6109
- WebServer: Static content update 6195
- WebServer: Switch default back-pressure strategy to AUTO_FLUSH from LINEAR. 5983
- WebServer: Update BodyPart to return Optional instead of a nullable String 6101
- Webserver: Support for interruption of HTTP/2 connections for efficient shutdowns 6041
- Build: Configure helidon-mave-plugin jlink-image to use --enable-preview 6048
- Build: Correct arrangement of fields, methods and inner types. 6114
- Build: Fix duplicate maven-failsafe-plugin declaration in dbclient integration test 6241
- Build: Idea code style 6111
- Build: Remove user specific package from the code style. 6144
- Build: Use https in pom.xml schemaLocation 6043 and others
- Dependencies: Cleanup Helidon BOM by removing artifacts that are not deployed 6047
- Dependencies: Upgrade Jersey 3.1.1 6171
- Dependencies: Upgrade Weld to 5.x #5815 5830
- Dependencies: jakarta.activation cleanup 6138
- Docs: Restore navbar glyphs 6179
- Examples: Add application parent pom for Nima applications. Use in nima examples. 6232
- Examples: Nima Quickstart Archetype 6229
- Tests: Use Hamcrest assertions instead of JUnit 6160 and others
- Tests: LRA TCK failing randomly #6106 6107
- Tests: intermittent issue on OciMetricsSupportTest 6151
3.1.2
This is a bugfix release of Helidon and is recommended for all users of Helidon 3. Helidon 3 requires Java 17 or newer.
CHANGES
- Config: Configuration fixes 6150
- OpenAPI: Fix OpenAPI UI options processing 6110
- Security: OIDC logout functionality fixed 6118
- Security: OIDC tenant SPI default priority changed 6127
- Tracing: Fix parent handling in OpenTelemetry (#6092) 6128
- WebServer: BodyPart deprecate name() and filename() ; add isNamed 6097
- Dependencies: Update build-tools to 3.0.4 6139
- Docs: changes for tracing and tracing guide 6113
3.1.1
This is a bugfix release of Helidon and is recommended for all users of Helidon 3.
Prerequistes
- Helidon 3 requires Java 17 or newer
- Native image support requires GraalVM Java 17 22.3
Changes
- Config: Add built-in support for converting config strings to enum values 5732
- JPA: Adds connection unwrapping abilities to CDISEPlatform.java 5790
- JTA: Introduces JtaConnection.java 5905
- JTA: Introduces LocalXAResource and a few support classes in jta/jdbc 5733
- Messaging: 6035 AQ connector @ConnectorAttribute 6036
- Messaging: WLS JMS Object-Based Security 5854
- Metrics: Fix improper handling of metrics global tags 5812
- MicroProfile: Fix order of initialization of tracing and security. 5987
- OCI: Add Helidon Metrics integration with OCI 5829
- OCI: Add OCI MP Archetype 5939
- OCI: Register OciMetricsSupport service only when enable flag is set to true 6032
- Security: Accidentally removed updateRequest method returned 5844
- Security: Default tenant is not included for propagation 5898
- Security: Oidc tenant name now properly escaped 5872
- Security: Support for customization of 'logout uri' in OIDC provider 5784
- WebServer: 100 continue triggered by content request 5714
- WebServer: Add allow-list handling to requested URI behavior 5668
- WebServer: Suppress incorrect start-up log message related to requested URI discovery 5862
- WebServer: Switch default back-pressure strategy to AUTO_FLUSH from LINEAR #5943 5944
- WebSocket: Enhancement to allow different WebSocket applications to be registered on different ports. 5822
- Build: Cleanup Helidon BOM by removing obsolete and internal artifacts 6017
- Dependencies: Bump testng from 7.5 to 7.7.0 5918
- Dependencies: Neo4j Driver update 5752
- Dependencies: Upgrade jersey to 3.0.9 5787
- Dependencies: Upgrade OCI SDK to 3.2.1 5954
- Docs: DOC add Histogram to SE Metrics 6059
- Docs: Doc fixes for Issue 4673 5614
- Docs: Documentation updates to correct wrong instructions for HOCON config parsing 5972
- Docs: Fix for #5771 - updates to SE WebServer toc 5772
- Docs: Fix incorrectly reverted icons 5761
- Docs: New subsection describing enhancement to support WebSocket application bindings on different ports 5835
- Docs: TOC updates to include additional levels 6003
- Docs: Updated sitegen.yaml for #5076 5952
- Docs: Updates to MP TOCs 5923
- Docs: WLS connector doc typo 5803
- Docs: fix tracing docs with incorrect webclient artifact ids 6029
- Examples: Archetype generates wrong Jaeger configuration (SE) 5920
- Examples: Fix parent poms in example 5736
- Test: Follow-up to PR #5822 5845
- Test: Use Hamcrest assertions instead of JUnit 5962 and Others
4.0.0-ALPHA4
This is the fourth Alpha build of Helidon 4.0.0 and is intended as a preview release only. Do not use this release in production. It is suitable only for experimentation. APIs are subject to change. Documentation is incomplete. And some functionality is experimental and not fully tested.
The big news in Helidon 4.0.0 is the introduction of Helidon Nima -- a ground up webserver implementation based on JDK Project Loom virtual threads.
Helidon 4.0.0 is a major release that includes significant new features and fixes. As a major release it also includes some backward incompatible API changes.
Java 19 or newer is required to use Heldon 4.0.0-ALPHA4.
MicroProfile Support
4.0.0-ALPHA4 now supports MicroProfile 5 running on Nima WebServer. Please give it a try! If you are upgrading an existing Helidon 3.x MicroProfile application and run into an error concerning io.common.HelidonConsoleHandler
then change logging.properties
to use io.helidon.logging.jul.HelidonConsoleHandler
instead.
CHANGES
- Logging: Change JUL to System.Logger in most modules 5936
- Messaging: WLS JMS Object-Based Security 5852
- MicroProfile: Deprecate MicroProfile Tracing 5909
- OCI: Replace OCI Java SDK shaded jar with v3 for OCI integration 5908
- OCI: helidon metrics to oci integration 5945
- Pico: Builder updates, fixes and enhancements 5977
- Security: Default tenant is not included for propagation 5900
- Security: Oidc tenant name now properly escaped 5873
- Tests: Dbclient Integration Tests Fixed 4860
- WebServer: implement a more efficient webserver shutdown strategy 5876
- WebServer: Shutdown hook alignment Níma and MP. 5913
- WebSocket: UriQuery should not support null parameters. 5950
- WebSocket: client and testing update 5831
- Dependencies: Upgrade OCI SDK to 3.2.1 5956
- Docs: Documentation updates to correct wrong instructions for HOCON config parsing 5975
- Examples: examples missing helidon-config-yaml dependency 5919
- HTTP/2: Configurable protocols 5883
2.5.6
This is a bugfix release of Helidon. It is recommended for all users of Helidon 2.
CHANGES
- Config: Add config enum mapping support 5788
- Dependencies: Neo4j Driver update 5753
- Dependencies: Upgrade Netty to 4.1.86.Final 5725
- Security: Accidentally removed updateRequest method returned 5843
- Security: Default tenant is not included for propagation 5899
- Security: Oidc tenant name now properly escaped 5856
- WebServer: Add support for requested URI discovery 5827
- Build: remove duplicated dependencies in some projects 5864
- Docs: Update 01_vault.adoc 5483
- Test: Use Hamcrest assertions instead of JUnit 5870 and others
4.0.0-ALPHA3
This is the third Alpha build of Helidon 4.0.0 and is intended as a preview release only. Do not use this release in production. It is suitable only for experimentation. APIs are subject to change. Documentation is incomplete. And some functionality is experimental and not fully tested.
The big news in Helidon 4.0.0 is the introduction of Helidon Nima -- a ground up webserver implementation based on JDK Project Loom vitual threads.
Helidon 4.0.0 is a major release that includes significant new features and fixes. As a major release it also includes some backward incompatible API changes.
Java 19 or greater is required to use Heldon 4.0.0-ALPHA3 and examples must be run with java --enable-preview
to enable the use of virtual threads.
MicroProfile Support
4.0.0-ALPHA3 now supports MicroProfile 5 running on Nima WebServer. Please give it a try! If you are upgrading an existing Helidon 3.x MicroProfile application and run into an error concerning io.common.HelidonConsoleHandler
then change logging.properties
to use io.helidon.logging.jul.HelidonConsoleHandler
instead.
CHANGES
For a full list of changes see the CHANGELOG
3.1.0
This is a minor release of Helidon and is recommended for all users of Helidon 3. In addition to bug fixes and minor enhancements, this release contains two dependency upgrades that could have a small impact on compatibility. These are:
- OCI SDK 3.0. Note that if you are using Helidon MP OCI SDK integration then you will not need to specify an HTTP Client Library as the Helidon support will do that for you.
- GraalVM Native Image 22.3.0.
CHANGES
- Common: Add info to CharBuf exceptions 5375
- Common: Fix inconsistent status name 5642
- Common: WebServer.Builder media support methods with Supplier variants 5632
- Config: Provide MP config profile support for application.yaml (#5565) 5585
- DBClient: Handle exception on inTransaction apply 5699
- Docker: remove -Ddocker.build=true 5484
- Fault Tolerance: Additional @Retry strategies 5165
- Grpc: Grpc component Does not handle package directive in proto files. 5283
- JPA: Improves integrations/jdbc/jdbc to better support future JPA improvements 5654
- LRA: LRA false warning 5555
- Messaging: JMS connector update 5327
- Messaging: Kafka producer nacking fix 5510 5524
- Messaging: Message body operator matching with parameters 5574
- Metrics: Fix incorrect tags comparison when trying to match metric IDs 5544
- MicroProfile: Add null check to MP Server.Builder.config() (#5363) 5372
- Native Image: Adding feature file for MP native image. 5652
- OCI: Replace OCI Java SDK shaded jar with v3 for OCI integration 5704
- OpenAPI: Add OpenAPI U/I integration [3.x] 5568
- OpenAPI: Fix error in OpenAPI handling of
default
values' types 5289 - Reactive: Multi.forEachCS 5527
- Security: Jwt now support multiple issuers and multi issuer validation 5648
- Security: Jwt scope handling extended over array support 5521
- Security: OIDC multi-tenant and lazy loading implementation 5619
- Security: Use only public APIs to read PKCS#1 keys (#5240) 5258
- Tracing: Client tracing interceptor no longer clears exception 5601
- WebClient: Add relativeUris flag in OidcConfig to allow Oidc webclient to use relative path on the request URI 5335
- WebServer: Broad changes to handle case properly in headers and parameters 5221
- WebServer: Log an entry in warning level for a 400 or 413 response 5295
- WebServer: Log simple message for a 400 or a 413 and more under FINE 5355
- WebServer: NullPointerException when there is an illegal character in the request 5471
- Webserver: Support for requested URI for web server requests. 5330
- Dependencies: Bump-up reactive messaging/ops to 3.0 5525
- Dependencies: Fix Guava version to match that required by the grpc-java libraries 5503
- Dependencies: Upgrade GraalVM native image to 22.3.0 5308
- Dependencies: Upgrade Netty to 4.1.86.Final 5703
- Dependencies: Upgrade PostgreSQL JDBC driver dependency to 42.4.3 5560
- Dependencies: Upgrade Helidon build-tools to 3.0.3 5726
- Dependencies: Upgrade grpc-java to 1.49.2 5348
- Dependencies: Upgrade to jackson-databind-2.13.4.2 via bom 2.13.4.20221013 5302
- Docs: Declare
h1-prefix
as early as possible so it is used for the title prefix 5667 - Docs: Document config.require-encryption 5188
- Docs: Fix inadvertent changes in attributes.adoc 5334
- Docs: JAXRS doc updates for 3611 5225
- Docs: Openapi generator doc 3.x 5263
- Docs: flatMapCompletionStage javadoc fix 5622
- Examples: Make JSON-B a default option for Helidon MP projects (backport) 5208
- Examples: OpenAPI generator examples 5649
- Examples: Remove license report from maven lifecycle 5244
- Examples: Use property to skip execution of eclipselink weave 5313
- Examples: database choices should be before packaging (backport) 5294
- Tests: Use Hamcrest assertions instead of JUnit (#1749) 5189 and others
- Tests: Fix Intermittent TestJBatchEndpoint.runJob 5557
- Tests: Fix intermittent jBatch test 5247
- Tests: Simplify named socket WebTarget injection in Tests 5269
- Tests: Use Hamcrest assertions instead of JUnit in tests/functional/jax-rs-multiple-apps (#1749) 5634
- Tests: Various metrics test improvements to avoid intermittent failures 5621