Skip to content

Latest commit

 

History

History
407 lines (351 loc) · 34.6 KB

CHANGELOG.md

File metadata and controls

407 lines (351 loc) · 34.6 KB

Changelog

All notable changes to this project will be documented in this file.

This project adheres to Semantic Versioning.

For Helidon 2.x releases please see Helidon 2.x CHANGELOG.md

For Helidon 1.x releases please see Helidon 1.x CHANGELOG.md

This is a bugfix release of Helidon and is recommended for all users of Helidon 3.

CHANGES

We are pleased to announce Helidon 3.0.0 a major release that includes significant new features and fixes. As a major release it also includes some backward incompatible API changes.

Notable Changes

  • MicroProfile 5.0
  • Jakarta EE 9.1 with javax to jakarta Java package namespace change
  • Java 17 minimum JDK. Java 11 no longer supported.
  • JEP-290 security hardening
  • Updated Helidon SE routing API
  • Numerous other enhancements and fixes

Upgrading from Helidon 2

For information concerning upgrading your Helidon 2 application to Helidon 3 please see:

CHANGES from RC2

  • JAX-RS: Set executor of CompletableFuture for response with no content. 4540 (Thank you @MadsBrun).
  • Dependencies: Integrate Build Tools 3.0.0 TBD 4580
  • Dependencies: Upgrade Tyrus. 4597
  • Archetype: Enable Database MP tests 4570
  • Archetypes: Generate docker files for quickstart and database 4581
  • Archetypes: Generated GreetingResource contains incorrect javadoc 4599
  • Examples: Fix READMEs required jdk version 4572
  • Examples: Fix gRPC examples that are failing. 4585
  • Build: Remove -x option in CI scripts 4593
  • Doc updates: 4598 4609 4594 4507 4606 4590 4608 4542 4565 4566 4564 4584 4545 4561 4595 4605 4574 4569 4517 4579

This is the second RC release of Helidon 3.0. It contains significant new features, enhancements and fixes. It also contains backward incompatible changes. (see Compatibility below). This milestone release is provided for customers that want early access to Helidon 3.0 for experimentation. It should be considered unstable and is not intended for production use. APIs and features might not be fully implemented and tested and are subject to change. Documentation is incomplete. Those looking for a stable release should use Helidon 2.

Notable changes from 2.x:

  • MicroProfile 5.0 support
  • javax to jakarta Java package namespace change for Jakarta 9 APIs
  • Java 11 no longer supported. Java 17 or newer is required.

Compatibility

3.0.0-RC2 contains the following incompatibilities with 2.x:

  • Java 17 or newer is required
  • Java package namespace for Jakarta APIs has changed from javax to jakarta
  • Deprecated APIs have been removed

CHANGES from RC1

Changes from RC1:

This is the first RC release of Helidon 3.0. It contains significant new features, enhancements and fixes. It also contains backward incompatible changes. (see Compatibility below). This milestone release is provided for customers that want early access to Helidon 3.0 for experimentation. It should be considered unstable and is not intended for production use. APIs and features might not be fully implemented and tested and are subject to change. Documentation is incomplete. Those looking for a stable release should use Helidon 2.

Notable changes from 2.x:

  • MicroProfile 5.0 support
  • javax to jakarta Java package namespace change for Jakarta 9 APIs
  • Java 11 no longer supported. Java 17 or newer is required.

Compatibility

3.0.0-RC1 contains the following incompatibilities with 2.x:

  • Java 17 or newer is required
  • Java package namespace for Jakarta APIs has changed from javax to jakarta
  • Deprecated APIs have been removed

CHANGES from M2

  • WebServer: Routing 3 4236
  • WebServer: Removed deprecated classes from WebServer, mostly static content. 4376
  • WebServer: Remove deprecated method from HelidonRestServiceSupport 4393
  • WebServer: Nocache 4258
  • Tracing: Tracing abstraction for Helidon 4458
  • Tracing: Add OpenTelemetry support 4518
  • Test: ThreadPoolTest rc fix 4460
  • Test: Removed final from proxied types, these could no longer be proxied. 4489
  • Test: Re-enable Packaging Tests 4412
  • Test: Mock connector 4457
  • Test: Load both bean definitions of the same type instead of choosing just one 4494
  • Test: Intermittent SubscriberPublMsgToPaylRetComplVoidBean test fix 4474
  • Test: Intermittent SubscriberPublMsgToMsgRetComplBean test fix 4491
  • Test: Use 127.0.0.1 for client connections in test (instead of 0.0.0.0) 4279
  • Test: Add test-nightly.sh 4278
  • Security: RoleContainer support added 4271
  • Security: Remove deprecated method from Jwt. 4400
  • Security: OIDC update to support HTTPS identity provider on plain socket Helidon 4222
  • Security: HTTP Signatures: Fixed deprecation and modified defaults. 4399
  • Security: Change defaults for Open ID Connect 4335
  • Security: Added X509 certificate context key when client certificate is present and pem trust store configuration 4185
  • Security: Add IDCS related info to MP Security example 4343
  • Reactive: Multi support in Reactive Messaging 3.0 4475
  • OCI: Makes OCI CDI extension work with OCI's shaded full jar 4498 4531 4483 4488 4522
  • OCI: Integration Examples Update and Deprecation 4516
  • Misc: Remove experimental flags from relevant modules. 4361
  • Metrics: Properly count completed and failed thread pool tasks (master) 4247
  • Metrics: Deal with deprecations in metrics 4397
  • Metrics: Correct Prometheus output for timer and JSON output for SimpleTimer 4243
  • Metrics: Convert synchronized to use semaphores 4284
  • Metrics: Address deprecations in MP metrics 4500
  • Messaging: Messaging Deprecations cleanup 4454
  • Messaging: Kafka nack support 4443
  • Messaging: JMS configurable producer properties #3980 4272
  • LRA: LRA Deprecations removal 4449
  • JPA: Updates persistence.xmls to 3.0. Re-enables JPA tests. Removes eclips… 4446
  • gRPC: Removed support for JavaMarshaller as default marshaller 4423
  • gRPC: Fixing module-info files so that gRPC works when using Java modules 4235
  • GraphQL: Update to mp-graphql 2.0 4190
  • FT: Update feature catalog with FT for SE (master) 4351
  • FT: Port of a few Fault Tolerance related PRs to master 4255
  • FT: Fixed problem in DelayRetryPolicyTest that would cause all delays to be zero (master) 4221
  • FT: Avoid calling getPackage() on an annotation type (master) 4350
  • FT: Added config support for bulkheads, breakers, timeouts and retries (master) 4357
  • Examples: Uses lowercase for database column names in se database archetype to fix issue #4187 4273
  • Examples: Gradle: Add helidon test dependency. Add task dependency for jandex 4231
  • Examples: Use standard graalvm base image in Dockerfile.native 4501
  • Docs: [New Docs PR] - Helidon MP WebSocket 4213 4442
  • Docs: [New Docs PR] - Helidon MP Scheduling #4206 4456
  • Docs: [New Docs PR] - Helidon MP OpenTracing #4199 4428
  • Docs: [New Docs PR] - Helidon MP OpenAPI #4209 4421
  • Docs: [New Docs PR] - Helidon MP Bean Validation #4202 4426
  • Docs: WebServer documentation 4461
  • Docs: Updated doc for FT MP using new template 4438
  • Docs: Updated FT SE documentation 4465
  • Docs: New formatting for Helidon Health Checks SE document 4495
  • Docs: New formatting for GraphQL MP document 4514
  • Docs: New formatting for CORS SE documentation 4470
  • Docs: New doc file that briefly describes the JAX-RS Client API 4451
  • Docs: MP CORS doc update 4511
  • Docs: Latest sitegen and functional docs improvements 4463
  • Docs: Java doc typo fixing 4473
  • Docs: Helidon MP RestClient documentation 4448
  • Docs: Helidon MP Health new style documentation 4387
  • Docs: Fix config doc annotations for OpenAPI builder 4419
  • Docs: Fix Javadoc links 4479
  • Docs: Documentation : Helidon DB Client Guide 2673
  • Docs: Change last use of '{...}' for a placeholder to * 4455
  • Docs: Add default value constants and use in config doc 4408
  • Docs: 4367 doc update for java marshaller deprecation 4441
  • Docs: Update OCI integration documentation to reflect use of new OCI SDK CDI Extension 4409
  • Docs: Add tuning guides 4156
  • Dependencies: Yasson version increased to 2.0.4 4260
  • Dependencies: Upgrades Jandex to 2.4.3.Final 4487
  • Dependencies: Upgrades HikariCP to 5.0.1 4519
  • Dependencies: Upgrades Hibernate to version 6.1.1.Final 4484
  • Dependencies: Upgrades H2 to 2.1.212 4298
  • Dependencies: Revert back to using javax.validation as jakarta.validation is not supported by micronaut 4476
  • Dependencies: Restoring dependency with Tyrus 2.0.1 4429
  • Dependencies: Bump derby from 10.13.1.1 to 10.14.2.0 in /examples/jbatch 4453
  • Dependencies: Upgrade Netty to 4.1.77.Final 4252
  • Dependencies: Upgrade Jackson to 2.13.2.2 4178
  • Dependencies: Move mockito dependency management to root pom 4285
  • Dependencies: upgrade google api client 4297
  • DataSource: Adds XA support to Helidon's UCP integration 4291
  • Config: Support Hocon/Json Configuration Source for MP 4347
  • Config: Metadata argument number changed 4386
  • Config: Deserialization disabled by default. 4334
  • Config: Config metadata update 4403
  • Config: Add helidon-config-yaml-mp as a dependency in helidon-microprofile-config 4379
  • Common: Removal of deprecated code in common context 4388
  • Common: Removal of deprecated code in common configurable 4405
  • Common: Enable thread pool growth at threshold instead of above it (master) 4248
  • Common: Remove dependency on helidon-common-reactive from config (#4225) 4229
  • Cleanup: Fix code with 'TODO 3.0.0-JAKARTA' comment 4447
  • CORS: Preserve order of mapped cross-origin config path entries from config; add test 4431
  • CORS: Correct return of path from MP CORS request adapter; add test 4435
  • CDI: Updates all beans.xml files to version 3.0 4404

This is the second milestone release of Helidon 3.0. It contains significant new features, enhancements and fixes. It also contains backward incompatible changes. (see Compatibility below). This milestone release is provided for customers that want early access to Helidon 3.0 for experimentation. It should be considered unstable and is not intended for production use. APIs and features might not be fully implemented and tested and are subject to change. Documentation is incomplete. Those looking for a stable release should use Helidon 2.

Notable changes:

  • MicroProfile 5.0 support
  • javax to jakarta Java package namespace change for Jakarta 9 APIs
  • Java 11 no longer supported. Java 17 or newer is required.

Compatibility

3.0.0-M2 contains the following incompatibilities with 2.x:

  • Java 17 or newer is required
  • Java package namespace for Jakarta APIs has changed from javax to jakarta

CHANGES from M1

  • BV: Support of Bean Validation in Helidon MP #721 3780
  • CDI: Abstract decorator class now gets correct proxy name in Weld 4148
  • CORS support to OidcSupport (#3844) 3871
  • CORS: CORS @CrossOrigin checking and request-time performance improvements 3932
  • CORS: Compare origin URLs based on protocol, host and port 3934
  • Common: Improve threadNamePrefix defaulting to be more informative (#4165) 4166
  • Config: Fix retention of @Configured 4115
  • Config: Support for Hocon inclusion of files without an extensions 4168
  • Config: Turn off reference resolution/substitution at parser level 4175
  • Config: Fixed problem supporting config profiles with JSON and HOCON 3958
  • Config: fixed manifest and documentation for Helidon Config Encryption 4013
  • Config: hocon include 3998
  • Fault Tolerance: Fixed a few problems with Fallback and Multi's 4176
  • GraphQL: Enable mp-graphql tck with 2.0-RC3 of Microprofile GraphQL Spec 4147
  • Health: HEAD support to health endpoints 3936
  • JAX-RS Client: Jersey JAX-RS client context propagation #3762 3865
  • JAX-RS: Follow up to PR 3921 that adds support for base interfaces as well 3982
  • JAX-RS: Search for @Path annotations in base classes 3921
  • LRA Custom headers propagation #3702 (#3768) 3877
  • Media: Fix body part header encoding 3969
  • Media: MimeParser parses closing boundary as normal boundary 3968
  • Media: Remove buffered multipart 4103
  • Media: Update MediaType parser to handle parameter without value 3999
  • Messaging - Fix badly subscribed connector to processor signature 3957
  • Messaging - signature detection fix #3883 3x 3973
  • MicroProfile: Messaging 3.0 4091
  • Native image: Native image configuration reflection update for Jaeger 4117
  • OpenAPI: Replace dep on SmallRye pom with deps on 2 artifacts (3.0) 4010
  • Security: Correctly resolve OIDC metadata. (#3985) 4006
  • Security: Do not fail when expected audience is null 4160
  • Security: Fix JwtProvider wrong error message 4136
  • Security: Fixed builder from configuration in OutboundTargetDefinition 3919
  • Security: Injection of empty SecurityContext 4161
  • Security: New security response mapper mechanism 4093
  • Tests: Fixed dbclient integration tests build issues. 4100
  • Tests: possible fix for HttpPipelineTest hang 4143
  • Tracing: Disable paths such as /metrics and /health from tracing 3977
  • Tracing: Enable OpenTracing 2.0 TCKs 3962
  • Tracing: Fix #3966 set collectorUri() with URL with no port number adds port 3993
  • WebClient: Case insensitive client request headers fix 4108
  • WebClient: MDC propagation 4109
  • WebClient: hang fix 3997
  • WebServer: Allow a list of path patterns to be specified for exclusion in the access log3959
  • WebServer: Do not log full stack traces in SEVERE when a connection reset is received 3918
  • WebServer: Explicit 404 in Jersey no longer calls next() 3976
  • WebServer: Upgrade WebSocket from Java HttpClient 3994
  • Dependencies: Jersey version bump to 3.0.4 3884
  • Dependencies: MySQL JDBC driver updated to 8.0.28 and PostgreSQL JDBC driver updated to 42.3.3. 4098
  • Dependencies: Upgrade Jackson Databind to 2.13.2.1 (BOM 2.13.2.20220324) 4028
  • Dependencies: Upgrade Netty to 4.1.76.Final 4121
  • Dependencies: Upgrade grpc-java to 1.45.1 4150
  • Dependencies: Upgrade snakeyaml and typesafe-config 3941
  • Docs: Add discussion of Helidon-specific config settings to MP OpenAPI doc 3955
  • Docs: Describe more Scheduled properties 4043
  • Docs: Fix guide broken links and typos 4119 4133
  • Docs: Fix guide. Change JPA Scope. 4170
  • Docs: JBatch guide for issue 2785 3895
  • Docs: README: Update JDK and mvn versions for build 3946
  • Docs: SecMP JWT Auth and Rest Client spec links updated 4005
  • Docs: fixed links in the cards for extensions 3930
  • Docs: updated link to the new spec for issue 3899 3909
  • Examples: Fix deps in jpa examples and do other cleanup 4132
  • Examples: JBatch example for 3927
  • Examples: Quickstart cleanup, using @HelidonTest in MP. (#4011) 4014
  • Examples: Removed incorrect call to indexOf 3920
  • Examples: Update quickstart Dockerfiles 4088
  • Examples: Use OBJECT schema type with requiredProperties in Quickstart MP 4151

This is the first milestone release of Helidon 3.0. It contains significant new features, enhancements and fixes. It also contains backward incompatible changes. ( see Compatibility below). This milestone release is provided for customers that want early access to Helidon 3.0 for experimentation. It should be considered unstable and is not intended for production use. APIs and features might not be fully implemented and tested and are subject to change. Documentation is incomplete. Those looking for a stable release should use Helidon 2.

Notable changes:

  • MicroProfile 5.0 support
  • javax to jakarta Java package namespace change for Jakarta 9 APIs
  • Java 11 no longer supported. Java 17 or newer is required.

Compatibility

3.0.0-M1 contains the following incompatibilities with 2.x:

  • Java 17 or newer is required
  • Java package namespace for Jakarta APIs has changed from javax to jakarta

CHANGES

  • Common: Builder API updates. 3641
  • Config: 3542 iterable configuration option 3600
  • Config: MicroProfile Config 3.0 3644
  • Config: Support for mutable file based MP config sources. (#3666) 3730
  • DBClient: Fix dbclient threading issues when DML operations are executed multiple times in a tight loop 3849
  • Fault Tolerance: Implementation of Fault tolerance 4.0 3664
  • Fault Tolerance: Improved support for cancellation of FT handlers 3680
  • Fault Tolerance: Only deactivate request context if it was inactive before migrating it (master) 3825
  • Grpc: Remove SecurityManager and AccessController dependencies in Grpc 3685
  • Health: Add support for Health 4.0 3707
  • JAX-RS: Handle creation of InjectionManager when parent is a HelidonInjectionManager 3755
  • JAX-RS: Special treatment for ParamConverterProviders with multiple apps (master) 3857
  • Java 17: change sources to Java 17 3633
  • LRA: Bump up to jakartified LRA 2.0 3769
  • LRA: Missing wget in the coordinator's docker base image 3703
  • Logging: HelidonFormatter constructor made public 3609
  • Metrics: Add incorrectly-omitted tags to OpenMetrics (Prometheus) output for timers 3643
  • Metrics: Fix some remaining problems with disabling metrics, mostly deferring access to RegistryFactory (3.0) 3665
  • Metrics: Implement metrics for thread pool suppliers (3.0) 3652
  • Metrics: Metrics 4.0 implementation 3847
  • Metrics: Move scheduling of metrics periodic updater so it is run in MP as well as in SE (3.x) 3733
  • Metrics: Prepare RegistryFactory lazily to use the most-recently-assigned MetricsSettings (3.0) 3661
  • Metrics: SamplerType now public. 3788
  • Metrics: Suppress warning when metrics PeriodicExecutor is stopped multiple times (e.g., during tests) 3617
  • Metrics: add missing tags for Prometheus output of timers 3647
  • MicroProfile: Update MP specs to latest versions 3670 3743
  • MicroProfile: jakarta packages 3635
  • Native-image: Update native-image.properties for webserver and Netty 3772
  • OpenAPI: Catch all exceptions, not just IOException, when unable to read Jandex file 3626
  • OpenAPI: Redesign the per-application OpenAPI processing 3615
  • OpenAPI: Support MP OpenAPI 3.0 3692
  • Reactive: Multi defaultIfEmpty 3592
  • Scheduling: SE Scheduling remove synchronized 3564
  • Security: Fix proxy configuration. (#3749) 3761
  • Security: JWK keys lazy load 3751
  • Security: JWT Auth 2.0 impl 3872
  • Security: SignedJwt's parseToken() expects characters from base64 instead of ba… 3722
  • Security: Upgrade MicroProfile JWT to 2.0 from 2.0-RC2 3779
  • Test: TestNG support (#3263) 3672
  • Tracing: Close active span if an exception is thrown in client request processing 3725
  • WebClient: Do not create close listener handlers for every new request (master) 3859
  • WebClient: Netty order of writes #3674 3681
  • WebClient: Propagate any existing server context into a Webclient reactive code (master) 3804
  • WebClient: event group initialization changed 3820
  • WebServer: 3640 Netty mixed writing (#3671) 3679
  • WebServer: Allow compression to be enabled together with HTTP/2 3700
  • WebServer: Ensure all thread pools created by Helidon are named 3794
  • WebServer: Fix wrong connection close (#3830) 3866
  • WebServer: New default for io.netty.allocator.maxOrder (master) 3826 3834
  • WebServer: Swallowed error fix 3791
  • WebServer: Provide access to client x509 certificate when under mTLS 4185
  • Webclient: New flag to force the use of relative URIs in WebClient 3614
  • Dependencies: Bump up cron utils 3677
  • Dependencies: Upgrade Neo4j to 4.4.3. for Helidon 3.x 3863
  • Dependencies: Upgrade grpc-java to 1.44.0 3856
  • Dependencies: Upgrade logback to 1.2.10 3889
  • Dependencies: Upgrades H2 to 2.0.206. 3744
  • Dependencies: Upgrades Netty to 4.1.73.Final 3797
  • Dependencies: Upgrades log4j to 2.17.1 3777
  • Doc and JavaDoc fixes for #3747 and #3687. 3767
  • Docs: Documentation SE : Webclient guide 3189
  • Docs: LRA doc fix artefact and group ids 3688
  • Docs: New section about injection managers in docs (master) 3858
  • Docs: Update external Jakarta EE javadoc links 3709
  • Docs: javadoc: Add additional microprofile crossreferences 3715
  • Docs: macos quarantine and JDK version 3878
  • Examples: Archetype v2 3874
  • Examples: Fix examples/grpc/metrics project with native-image #3759 3803
  • Examples: Support Gradle application plugin in quickstart examples 3612
  • Examples: Update bare-mp archetype to use microprofile-core 3795