Releases: helidon-io/helidon
1.4.1
Notes
This is a bug fix release of Helidon.
Fixes
- WebServer: Better recovery for invalid URLs and content types 1233
- Metrics: Fix Unable to find reusable metric with tags 1241
- Metrics: Fix Metrics type of Fault Tolerance is displayed as invalid 1179
- Security: Allow use of exception instead of abortWith in Jersey security. 1224
- Security: Outbound with OIDC provider no longer causes an UnsupportedOperationException 1195
- Add support for Lazy values 1225
- Upgrade Google libraries for Google login provider. 1199
- Upgrade config libraries 1234
- Upgrade MP Fault Tolerance to 2.0.2 and Failsafe 2.2.3 1197 1186
- Upgrade of libraries related to tracing 1169
- JPA: Relax requirements on container-managed persistence units which can now be resource-local 1245
- JPA: Addressing several rollback-related issues 1189
1.4.0
Notes
This is a feature release of Helidon and adds support for MicroProfile 3.2.
It also includes a number of additional bug fixes and enhancements.
Improvements
- MicroProfile 3.2 full and core bundles. Deprecate old bundles. 1143
- MicroProfile Metrics 2.2 1117
- MicroProfile Health 2.1 1092
- WebServer: add support for form parameters 1093
- Tracing: allow customization of top level span name using message format 1090
- Metrics: support for mutable vendor registry 1098
- MicroProfile: support reactive services and custom routing/port config 1073
Fixes
- JAX-RS: UriInfo#getBaseUri() returns URL with 1 character short 1110
- JAX-RS: Inform Jersey of broken pipe by throwing exception 1076
- Tracing: Service name not needed when tracing is disabled. 1086
- Tracing: Fix Tracing nesting and outbound security 1082
- Tracing: Jaeger integration support for native-image 1084
- Metrics: Restore helidon-metrics2 as default metrics library 1077
- Metrics: Rationalize some metrics 1.1 and 2.0 support code; add sync to both impls 1071
- Metrics: Brings our 1.1 and 2.0 impls in line with clarification of metric reuse 1080
- Media: Throw JsonException when parser returns unexpected type 1085
- Media: Detect media type 1091
- Config: Fix Injecting @ConfigProperty fails 1074
- Fault Tolerance: Fault Tolerance doesn't work for Rest Client 1124
- MP Server: Refine start-up time calculation 1100
- WebServer: Fixes NPE in RequestRouting#canonicalize() 1072
- Upgrade to Jackson 2.10.0 1088
- Upgrade to Netty 4.1.42 1096
- Remove com.google.code.findbugs:jsr305 1119
- Helidon build fixed on Windows 1097
- Changes default logging to write to System.out 1145
- Documentation 1075 1123 1118 1105 1079 1129 1131
Deprecations
- The following MicroProfile bundles are deprecated:
helidon-microprofile-3.0
,
helidon-microprofile-2.2
,helidon-microprofile-1.2
,helidon-microprofile-1.1
,
helidon-microprofile-1.0
. Usehelidon-microprofile
or
helidon-microprofile-core
instead.
Experimental
The following enhancements are experimental. They should be considered unstable and subject
to change.
Thanks!
Thanks to community members Sobuno and pa314159 for their contributions.
1.3.1
Notes
This is a bugfix release. It fixes a Helidon MP configuration regression on Windows: 1038, as well as other fixes listed below.
Fixes
- Config: Fix UrlConfigSource to work on windows 1039
- JAX-RS resources now have CDI dependent scope by default. 1050
- Metrics: Allow config to disable all base metrics easily 1052
- Metrics: Fully enforce reusability in MP Metrics 1.1. support 1048
- Security: Use RSA with padding 1036
- Update POM names for consistency 1031 1032
- Add stand-alone pom examples 1031
- Remove Oracle Maven Repository dependency 1040
- Fixes a reference to a non-existent ResourceBundle 1058
- Add exclusions for org.osgi:org.osgi.annotation.versioning 1034
- Documentation fixes 1043 1053
- Documentation: add tracing guides 1023 1014
- Examples fixes 1056
- Build fixes 1027 1033 1035
1.3.0
Notes
This release is a feature release and adds support for MicroProfile 3.0 and
support for Hibernate as a JPA provider. It also includes a number of additional
bug fixes and enhancements.
Note: MicroProfile 3.0 breaks compatibility with MicroProfile 2.2 -- specifically
in the area of Metrics. Since Helidon 1.3 continues to support MicroProfile 2.2
your applications that depend on the MicroProfile 2.2 APIs should continue to work
when you upgrade to Helidon 1.3. But when you switch to MicroProfile 3.0 you will
likely need to change code that uses the MicroProfile Metrics API. For more
information see sections 6.5 and Chapter 7 of
microprofile-metrics-spec-2.0.pdf
As part of this release we are also deprecating APIs for possible removal
in a future release. Please see the Deprecations section below.
Improvements
- MicroProfile 3.0
- MicroProfile Metrics 2.0.1 992
- MicroProfile REST Client 1.3 1010
- Security: New SecureUserStore 989
- Security: Allow injection of Security through CDI 986
- Security: Jersey client: propagate SecurityContext automatically 943
- JPA: Add Hibernate support 894
- OpenAPI: Support admin port 999
- Health check endpoint can now be disabled 990
- Introduce parent poms for applications to reduce Maven boilerplate 1022
- Documentation: new guides 898 890 918 925 942 959 961 974 987 996 1011 1008
- Helidon bare archetypes 950 995
Fixes
- Upgrade Jersey to 2.29.1 1010
- Upgrade Jackson databind to 2.9.9.3 969
- GraalVM: Support static content for Graal native-image 962
- GraalVM: Support for Jersey in Graal native-image 985
- Fix NullPointerException in ConfigCdiExtension; repairs erroneous private constructors in JPA and JTA integrations 1005
- Config: Fix precedence for explicit sys prop and env var sources 1002
- bom/pom.xml cleanup 980
- TracerBuilder now uses Helidon service loader 967
- Reactive utilities 1003
- Tests: improve AccessLogSupportTest and fix test with locales other than en_US 998
- Documentation: javadoc cleanup 993 997
Deprecations
The following APIs are deprecated and will be removed in a future release:
- MicroProfile 2.2 and earlier. Use MicroProfile 3.0.
- The
@SecureClient
annotation. Security propagation is now automatic across the MicroProfile and Jersey REST clients. UserStore
in basic authentication. Replaced bySecureUserStore
.- All methods that use
Span
in Webserver APIs (and Security etc.). UseSpanContext
instead. - All methods that provide general health checks and not readiness or liveness checks. For example
useHealthSupportBuilder.addLiveness()
instead ofHealthSupportBuilder.add()
io.helidon.common.reactive.SubmissionPublisher
- The
io.helidon.service.configuration
package. - The
io.helidon.common.reactive.valve
package. - Any other classes and methods that have been annotated as deprecated.
1.2.1
Notes
This release contains bug and performance fixes as well as support for
the latest releases of GraalVM (19.1.1 and 19.2.0)
Fixes
- Tracing: Zipkin integration no longer fails in MP due to class cast exception. 901
- Jersey client to automatically propagate context when using asynchronous operations. 905
- Smart resizing of Jersey thread pool 871
- WebServer: Upgrade Netty to 4.1.39 899
- WebServer: Change Netty workers default to equal available processors. 874
- JPA: Add support for unitName-less PersistenceContext injection points 914
- JPA: Promoting JPA integration to supported status 908
- Health: Healthchecks moved to liveness checks. 903
- MP Server: Logging a warning when more than one MP server is started. 902
- GraalVM: Changes for Zipkin and Netty to run with latest Graal VM native-image 915
- Security: Properly log audit event 886
- OpenAPI: Allow different servers within an app to report different OpenAPI doc [883](Allow different servers within an app to report different OpenAPI doc)
- Correct erroneous assert statement in JedisExtension 917
- UCP Unit test 889
- Examples: Add H2-based example for the Hikari connection pool 898
- Documentation fixes 892 898 906
1.2.0
This release contains full support for MicroProfile 2.2. We also have a few new
enhancements and bug and performances fixes. For a summary of the APIs supported by this release of Helidon see Supported Apis.
Improvements
- MicroProfile OpenTracing 1.3.1 826
- MicroProfile REST Client 1.2.1 407
- MicroProfile Health 2.0 835
- WebServer: Access log support 800 837
- Early Access: WebServer: Support for HTTP/2 negotiation with TLS/APLN 807
- Config: credentials support added to git config 810
- Early Access: support for the Oracle Universal Connection Pool 777
- Early Access: JPA/JTA: Support analog to extended persistence contexts 639
Fixes
- WebServer: Return a 400 response for a request with an invalid URL 796
- WebServer: Changes to content length optimization to handle flushes 783
- WebServer: Refine content length support 795
- Upgrade Jersey to 2.29 813
- Upgrade jackson databind to 2.9.9 797
- Enable Netty autoread only after completing a response 823
- Tracing: add Tracing configuration module 809
- Tracing: Fix constant sampler name for Jaeger 828
- Tracing: IDCS Role mapper: calls to IDCS not associated with the call 794
- Config: Enable support of application.yaml use case in data source injection extensions 847
- Config: Correct traversal logic for MpConfig when acquiring configuration property names 845
- MicroProfile Config: MpConfig will never include Helidon Config property names in the return value of getPropertyNames() 844
- Update examples and tests to use microprofile-2.2 bundle 843
1.1.2
Notes
This is a bug fix release. It includes improved support for setting
Content-Length on server responses, and MicroProfile Fault Tolerance now passes all TCKs.
Improvements
- MicroProfile: Create Helidon MP 2.2 bundle: 765
- Fault Tolerance: Completed support for async bulkheads 755
Fixes
- WebServer: Content-length optimization 773 783
- WebServer: JAX-RS: Fixes support for application calls to flush() when using StreamingOutput. 758
- Security: Encryption changed to GCM method
- CDI Extension: JPA: disable DTDs and external entities 774
- OpenAPI: Expand openapi mediatypes 766
- Security: Remove unneeded dependency on JAXB 779
- Security: Make IdcsMtRoleMapperProvider more flexible 761
- gRPC Server: propagate context 769
- Examples: Add employee-app example 747
- Testing: Added Unit Tests to increase code coverage 660
1.1.1
Notes
This release adds support for MicroProfile OpenAPI 1.1.2. It also includes bug and performance fixes including substantial performance improvement with MP when under heavy load, and better heap utilization with Keep-Alive connections.
Improvements
- MicroProfile OpenAPI 1.1.2 support 712
- MP: Support logging.properties from classpath or from a file. 693
Fixes
- WebServer: Make default sizing of Jersey thread pool dynamic, based on # of cores 691
- WebServer: Remove the channel closed listener in BareResponseImpl when request completes. 695
- WebServer: Complete writing a response before checking unconsumed request payload 699
- WebServer: Ensure channel closed listener is removed on exception 702
- Metrics: Handle special case of NaN's to avoid NumberFormatException 723
- MicroProfile: Further
ConfigCdiExtension
fixes and improvements 724 - MicroProfile: Make a few FT params configurable via properties 725
- Upgrade Weld to 3.1.1.Final 659
- Upgrade Jandex to 2.1.1.Final 694
- Upgrade Oracle OCI SDK to 1.5.2 715
- Fix incorrect
isAssignableFrom
728 731 732 734 735 - Enable ThreadPool injection into Application. 713
- Use jandex index in MP quickstart 714
- Documentation fixes 697 704 719
1.1.0
Notes
This release contains bug fixes and a number of early implementations of
significant new features.
Improvements
These features represent work in progress and should be considered experimental.
These APIs are subject to change.
- Initial implementation of gRPC server/framework 543
- Initial JTA/JPA support for MP 501
- Initial implementation of OpenApi support for SE 558
- Initial implementation of the common context 600 599
Fixes
- Graal native image update to work with 19 GA 677
- Tracing: Activate and start instead of just starting the main span 598
- Config: refactor change support 579
- Config: Config object mapping was missing from bom pom. 529
- Config: MpcSourceEnvironmentVariablesTest::testPrecedence fails on Windows 636
- Security: OIDC Provider : Incorrect error if scopes do not match security requirement 661
- Security: Scope annotation not working alone 646
- Security: Sub resource locator authorization does not work 552
- Security: OIDC fails with Okta identity provider 642
- Security: Multitenancy support for IDCS Role Mapping 571
- Security: JWT must be signed unless explicitly allowing unsigned JWTs. 523
- Security: Primitive types long and boolean now supported by MP-JWT-Auth 586
- WebServer: Request.Context copy ctor should not append default readers 653
- WebServer: JSON-Binding breaks prometheus metrics format 645
- WebServer: Removed unnecessary synchronization in content readers 576
- WebServer: Minimize writer creation in Response 603
- WebServer: Add enabled enabledSSLProtocols methods on ServerConfiguration.Builder 590
- WebServer: NettyWebServer uses a deprecated constructor for JdkSslContext 519
- Documentation updates: 671 634 620 584 608 589
- Add Implementation headers to jar MANIFEST 618
- Common Service Loader 621
- Update SnakeYAML to 1.24 626
- Fix the TODO application example 604
- JSON handling improvements 609
1.0.3
Notes
This release contains bug and documentation fixes as well as progress towards
implementing MicroProfile 2.2. It also improves GraalVM native image support
in our SE quickstart example.
Improvements
- Update MicroProfile Config to 1.3 537
- Update MicroProfile Fault Tolerance to 2.0 555
- Add GraalVM support to quickstart examples 574 547
- WebServer: Provide configuration for enabled SSL protocols 530
- Quickstart examples now use multi-stage Docker build 547