Skip to content

Latest commit

 

History

History
588 lines (440 loc) · 34.3 KB

CHANGELOG.md

File metadata and controls

588 lines (440 loc) · 34.3 KB

Changelog

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

This project adheres to Semantic Versioning.

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. Use helidon-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.

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

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 by SecureUserStore.
  • All methods that use Span in Webserver APIs (and Security etc.). Use SpanContext instead.
  • All methods that provide general health checks and not readiness or liveness checks. For example use HealthSupportBuilder.addLiveness() instead of HealthSupportBuilder.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 - 2019-08-21

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 - 2019-07-29

Notes

This release contains full support for MicroProfile 2.2. We also have a few new enhancements and bug and performances fixes.

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
  • 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 - 2019-06-14

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 - 2019-05-23

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 - 2019-05-14

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 - 2019-04-16

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

Fixes

  • Update Jackson to 2.9.8 559
  • Documentation: updates 544 531 584
  • Config: Fix race condition in SubscriberInputStream 540
  • Config object mapping missing from bom pom 529
  • Tracing: Finish write-content span before completing delegate 563
  • Explicit authorization no longer hides other HTTP errors. 572

1.0.2 - 2019-03-21

Fixes

  • Config: SE config should map env vars the same way that MP does 446
  • Config: Refactor usage of exceptions in optional sources 477
  • WebServer: 404 Response without body 390

1.0.1 - 2019-03-13

Notes

This release brings you GraalVM support in Helidon SE and a variety of bug fixes and documentation improvements.

Improvements

  • Add support for GraalVM in Helidon SE 499
  • Security: add JWT-Auth configuration to control secure by default 465
  • Assorted documentation updates 418 424 435 440 448

Fixes

  • WebServer: MetricSupport and RegistryFactory can be accessed in any order now 457
  • WebServer: cleanup and optimizations when writing data from Jersey 463
  • WebServer: NPE in ForwardingHandler 430
  • Performance improvements 423
  • Security: NPE when IDCS returns no groups 454
  • Json processing support now uses default encoding of JSON-P 421

1.0.0 - 2019-02-12

Notes

This is our 1.0 release and we have finished the API changes that we've been working on over the last few months. From this point on we will have much greater API stability. Thanks for your patience.

If you are upgrading from 0.11.0 note that media support (for example JsonSupport) has moved to a top level media component. This means you might have to change your dependencies and Java imports. For more details see: API Changes.

If you are upgrading from 0.10.5 or earlier you will need to change your application due to a number of API changes we made in preperation for 1.0. For details on API changes see: API Changes

Helidon 1.0 supports MicroProfile 1.2 with updated versions of the components.

Improvements

  • WebServer: Add JSON-B (Yasson) support 388
  • WebServer: Add Jackson support 351
  • MicroProfile: update Hystrix to 1.5.18 391
  • Examples: Change quickstart examples so that PUT uses json and not path param 399

Fixes

  • WebServer: Fix for NullPointer when using Json support without configured charset 393

0.11.1 - 2019-02-07

Notes

If you are upgrading from 0.10.5 or earlier you will need to change your application (see Notes for 0.11.0 release). For details on API changes see API Changes

If you are upgrading from 0.11.0 note that media support (for example JsonSupport) has moved to a top level media component. Details in API Changes.

Thanks for your patience with API changes. Once 1.0 is released this will be behind us!

Improvements

  • Security: Support PermitAll and DenyAll annotations 334
  • WebServer: Implement RequestPredicate 325
  • WebServer: Move media processing separated to a top level module 326
  • Documentation: Add CDI extensions documentation 324
  • Documentation: Various documentation and examples updates

Fixes

  • Metrics: Prometheus default help value added 375
  • Security: Jersey client fails in MP 1.2 with no security configured 332
  • WebServer: URL encoding of characters for Webserver and Jersey 370
  • Use JsonBuilderFactory instead of Json.create 330

0.11.0 - 2019-01-11

Notes

We've made a number of API changes for this release in preparation for our 1.0 release. This means when you upgrade to 0.11.0 you will need to make changes to your application. We apologies for the inconvenience, but we wanted to get these changes in before 1.0. For details see API Changes

Improvements

  • API refactoring. See API Changes
  • WebServer: Add health support in SE 287
  • MicroProfile: JWT Auth 208
  • MicroProfile: update to Fault Tolerance 1.1.3 253
  • WebServer: update Netty to 4.1.30 269
  • CDI Extensions: Add MySQL CDI integration example 284
  • Config: GenericType support for config mapping 238
  • Config: Java Beans support 197
  • Build: build on Windows 252
  • Documentation: Add Creating Docker Images guide 182
  • Documentation: add development guidelines

Fixes

  • WebServer: detect and allow the default Accept header sent by HTTPURLConnection 309
  • WebServer: Ensure proper path encoding with Jersey 317
  • CDI Extensions: Add integrations modules to the bom pom 198
  • Fault Tolerance: Memory improvement 180
  • Build: fails when compiling with Java 11 225

0.10.6 - 2019-08-07

Fixes

  • WebServer (backport): Remove the channel closed listener in BareResponseImpl when request completes. 695

0.10.5 - 2018-11-06

Fixes

  • WebServer: Binary input stream truncated 159
  • WebServer: Metrics endpoint provides JSON output by default 127
  • WebServer: Static serving of a webpage does not work correctly 149
  • Config direct values 134
  • Documentation: Add health check and metrics to first guide 128

0.10.4 - 2018-10-19

Fixes

  • Update site to display and navigate to the guides 120
  • Fixes minor error in OCI object storage integration 119

0.10.3 - 2018-10-18

Improvements

  • Helidon CDI Extensions 109
  • Guide for building restful web services117
  • Experimental support for HTTP/2 105

Fixes

  • WebServer: Prometheus fails to scrape Helidon metrics 111

0.10.2 - 2018-10-12

Improvements

  • MicroProfile Fault Tolerance 1.0 support 97
  • WebServer: Support version 1 and 2 of Zipkin API and configuration based building 87

Fixes

  • WebServer: Eager cleanup of queues to reduce memory usage during heavy loads 90
  • WebServer: Fix for jigsaw service loading problem 99

0.10.1 - 2018-09-28

Improvements

  • Security: Jersey integration to use pre-matching filter for securing requests

Fixes

  • WebServer: RouteListRoutingRules post method has copy/paste errors
  • WebServer: Display friendly message if port is in use
  • WebServer: Set the option with SO_TIMEOUT with correct value from config
  • Build: Helidon 0.10.0 build failed in local system.
  • Documentation: various updates

0.10.0 - 2018-09-14

Notes

In this release we have refactored some HTTP classes and moved them from io.helidon.webserver to a new package io.helidon.common.http. This is an incompatible change and you will need to update your import statements. See javadocs for details.

Improvements

  • Security: improve support for IDCS subject mapping

Fixes

  • Webserver: refactor common HTTP classes to common module
  • Documentation: correct various links in documentation
  • Security: updates to support chain of JWT and basic auth with OIDC roles
  • Archetypes: fix formatting issue in generated pom.xml

0.9.1 - 2018-09-07

Notes

  • Integrate helidon-sitegen 1.0.0, enable the docs

0.9.0 - 2018-09-07

Notes

  • Initial source drop on Github