github helidon-io/helidon 2.0.0-RC1

latest releases: 3.2.8, 4.0.7, 2.6.7...
pre-release3 years ago

Notes

This is the first release candidate of Helidon 2.0.

Notable New Features

This release primarily focuses on finalizing APIs for 2.0. It also includes a number
of performance and bug fixes. We expect APIs to be pretty stable between this
release and the final 2.0.0 release.

Changes

  • CORS: Change CORS config key from path-prefix to path-expr; method names also 1807
  • Config: Fix #1802 - Allow use of filters and mappers when converting MP to He… 1803
  • Config: Log warning if a known configuration file exists and we have no parser 1853
  • Config: Rearrange the messages which report missing config 1810
  • DBClient: DB client api update to reactive 1828
  • DBClient: JSON-P Streaming support 1796
  • FaultTolerance: Wait for thread completion only if interrupted flag set 1843
  • Health: Health check fixed 1809
  • JAX-RS: JAX-RS @Provider autodiscovery 1880
  • JDBC: Updated UCP version to always be in sync with Oracle's OJDBC8 version since the two artifacts are mutually dependent 1831
  • MediaSupport: DataChunkInputStream char duplication fix 1824
  • MediaSupport: Fix handling of generics when reading objects 1769
  • MediaSupport: Media support flattening 1899
  • MediaSupport: Media support methods 1905
  • MediaSupport: Revert context to original read only parameters. 1819
  • MediaSupport: Service loader added to MediaContext 1861
  • Metrics: Remove MP Metrics 1.0-to-2.0 bridge component and related classes 1879
  • MicroProfile: Changed name of SyntheticApplication to HelidonMP 1812
  • MicroProfile: Container startup issue fixed. 1912
  • NativeImage:Native image fixes for new Jersey version. 1910
  • OCI ObjectStore: Fixes StackOverflowError unearthed by new MicroProfile Config implementation 1760
  • Performance: DataChunk ByteBuffer array 1877
  • Performance: Media lazy accepted types parsing 1921
  • Performance: Tracing performance optimization. 1916
  • Reactive: Alias for concatArray 1826
  • Reactive: BufferedEmittingPublisher as replacement for OriginThreadPublisher 1830
  • Reactive: Decrease the number of events of KafkaCdiExtensionTest 1763
  • Reactive: Deprecated Multi#from 1888
  • Reactive: Emit after close fix 1856
  • Reactive: Kafka specific message 1890
  • Reactive: Multi await feature for intentional blocking 1664
  • Reactive: Multi from InputStream 1770
  • Reactive: Multi onComplete* operators 1806
  • Reactive: Redesign in Kafka tests 1847
  • Reactive: Reimplement Concat with varargs 1815
  • Reactive: Remove OriginThreadPublisher 1859
  • Reactive: ResponseCloser now supports Single 1883
  • Reactive: Revert filters as function instead of reactive processors. 1917
  • Reactive: SE Reactive Messaging 1636
  • Reactive: Single onCancel and OnComplete fixes 1814
  • Reactive: Sometimes KafkaCdiExtensionTest fails 1816
  • Reactive: Trigger Single stream only in terminal ops 1864
  • Reactive: Trigger Single to CS conversion on first CS method call 1886
  • Reactive: Use EmittingPublisher in OutputStreamPublisher to remove busy waiting 1900
  • Security: Fixed tables in Security Providers - issue 1599 1848
  • WebClient DBClient: Alignment of client service APIs between Db and Web Clients. 1863
  • WebClient: API changed from CompletionStage to Single 1832
  • WebClient: WebClient API update 1870
  • WebClient: automatic system loader 1903
  • WebClient: minor proxy fixes 1792
  • WebServer: Check Netty validation of headers before processing request 1827
  • WebServer: DataChunkInputStream can cause deadlock if handled by the same thread… 1825
  • WebServer: DataChunkInputStream more then one close does not throw exception 1904
  • WebServer: Fix #1711 StaticContentHandler fails with encoded URLs 1811
  • WebServer: Multipart 1787
  • WebServer: Socket configuration changes. 1844
  • WebServer: Updated SSL Configuration for WebServer 1852
  • WebServer: WebServer API to use Single and Multi 1882
  • WebServer: configuration changes 1766
  • gRPC: Add JSONB support to gRPC 1836
  • gRPC: gRPC client API improvements (2.0) 1851
  • Build: enable unstable pipeline status 1768
  • CLI: Archetype catalog 1898
  • CLI: Configure helidon-maven-plugin extension for all apps 1896
  • CLI: New application types (templates) for the CLI 1797
  • CLI: Renamed basic archetype to bare 1839
  • CLI: Use helidon-archetype packaging 1889
  • Dependencies: Upgrading Jersey to version 2.31 1887
  • Deprecations: Remove deprecations 1884 1885 1892
  • Documentatino: Fix formatting issues with included guides 1771
  • Documentation: Add CORS MP and SE doc 1895
  • Documentation: Docs helidon intro 1625 1701
  • Documentation: Docs helidon se intro 1626 1729
  • Documentation: Updated migration guides. 1920
  • Documentation: migration guides 1829
  • Tests: Fix test failing on windows 1919

Backward incompatible changes

gRPC: Renamed several annotations and classes

As part of gRPC API cleanup, we have renamed the following annotations and classes:

Old Name New Name
@RpcService @Grpc
@RpcMethod @GrpcMethod
@GrpcServiceProxy @GrpcProxy
GrpcClientProxyBuilder GrpcProxyBuilder

While in general we prefer not to break backwards compatibility by renaming public API
classes, we felt that in this case the change was warranted and acceptable, for several reasons:

  1. gRPC API was marked experimental in Helidon 1.x
  2. While using gRPC in our own applications, we have realized that the code in some cases
    does not read as well as it should, and that some class and annotation names should be changed
    to improve both internal API consistency and readability

We apologize for the inconvenience, but we do feel that the impact of the changes is minimal
and that the changes will be beneficial in the long run.

Internal helidon-common-metrics and Related Classes Removed

Later releases of Helidon 1.x included the helidon-common-metrics component and related
classes which provided a common interface to ease the transition from MicroProfile
Metrics 1.x to 2.x.
Although intended for use only by Helidon subsystems rather than
by developers and users, the component and its contents had to be public so multiple Helidon
subsystems could use them.
Therefore, user code might have used these elements.

This release removes this common interface and associated classes.
Any user code that used these internal classes can use the corresponding supported classes in
io.helidon.metrics:helidon-metrics and MicroProfile Metrics 2.0 instead.

Helidon Artifact Interfaces/Classes
io.helidon.common:helidon-common-metrics Entire artifact, including all io.helidon.common.metrics... classes
io.helidon.metrics:helidon-metrics HelidonMetadata
InternalBridgeImpl
InternalMetadataBuilderImpl
InternalMetadataImpl
InternalMetricIDImpl

Don't miss a new helidon release

NewReleases is sending notifications on new releases.