dubbo-3.3.0-beta.1
We are very excited to announce the first beta release of the 3.3.x branch, a release that has some very exciting features to reveal.
It is highly recommended to stay on 3.2.x for production usage and only upgrade to 3.3.x after the first stable release is available (with no beta suffix).
New Features
- New Triple protocol, fully compatible with gRPC while supporting direct access from cURL and browser.
- Rest-style programming (Spring MVC and JAX-RS) and communication (application/json) support, much easier for Dubbo application to serve as a standard web server.
- A bunch of starters for easy dependency management when developing with Spring Boot (Zookeeper, Nacos, Sentinel, etc.).
- GraalVM Native Image support with Dubbo AOT.
- Fully JDK 21 support and project loom thread model.
- Metrics and tracing improvement.
What's Changed
GraalVM Native Image (Dubbo AOT)
- Native Support Springboot3 by @CrazyHZM in #12072
- Support for automatic identification of serialization classes and generation of native image configuration by @CrazyHZM in #12433
- Fixed the issue of superclass and filed not being loaded automatically in the native serialization config scenario by @CrazyHZM in #12435
- In native scenarios, Compiler and Proxy are set to jdk by default by @CrazyHZM in #12530
- Remove NativeUtils by @CrazyHZM in #12454
- add tri native image support by @FoghostCn in #12536
- Fix native image compilation failure due to missing parameterless constructs of ServiceBean by @CrazyHZM in #12733
- fix_win11_aot_compile_NoSuchFileException,because of File.separator by @PromiseChan in #12769
- Ignore class loading failure when native is compiled by @CrazyHZM in #13009
- update qos module native-image reflect config by @FoghostCn in #13056
Protocol (rest & triple)
- support passing detect context to help build netty handlers by @icodening in #12460
- http protocol detector by @suncairong163 in #12452
- Feature/dubbo rest no annotation support by @suncairong163 in #12700
- add feign client annotation support by @suncairong163 in #12736
- add rest provider body multipart json that JsonUtils supports ut by @suncairong163 in #12716
- Feature/dubbo3.3 add reserence providedby by springcloud feignclient by @suncairong163 in #12823
- feign client service name cover dubbo provided by by @suncairong163 in #12838
- unification HTTP server side by @icodening in #12815
- fix h1 and grpc status code by @icodening in #12994
- fix h2 curl error by @icodening in #12996
- fix pb class not found by @icodening in #12997
- Feature improvement, only register one url for port unification. by @chickenlj in #12528
- [feat.] new triple protocol implement by @icodening in #12873
- Fix rest protocol NPE when using apache-http-client (#12916) by @aofall in #12984
- fix pojo dependency protobuf class by @icodening in #13012
- Fix triple generic invoke by @AlbumenJ in #13021
Metrics & Tracing
- ✨ add framework metrics by @songxiaosheng in #12576
- Service metrics by @songxiaosheng in #13033
- Fix qps time window unit by @AlbumenJ in #13077
- add spring boot interceptor to copy header(dubbo-tag)/cookie(dubbo.tag) by @carlvine500 in #12514
- fix: fix missing metrics filter & recover #12453 by @conghuhu in #12577
- Add support for error code metrics (#12125) by @namelessssssssssss in #12661
- Support disable metrics init and sync by @AlbumenJ in #13025
- add netty4 metrics. by @hujun-w-2 in #12695
- feat: add brave to core by @conghuhu in #12814
- Metrics event split by @namelessssssssssss in #12888
JDK 21
Spring Boot Starters
Bugfixes and Enhancements
- fix: fix inappropriate invoke in unsubscribe retry task by @XIACYBING in #12231
- Fix incorrect timeout message by @tianshuang in #13001
- fix: AbortPolicyWithReport concurrency #13042 by @giraffe-tree in #13043
- Fix npe when channel inactive by @finefuture in #13062
- fix loading process cannot load environment variables. by @chickenlj in #13091
- Disable subscribe nacos legacy name in 3.3 by @AlbumenJ in #12617
- refactor dubbo module by @qinliujie in #12276
- Gson generic call returns a JSON string by default by @finefuture in #12633
- log messages support use placeholders and parameters by @MartinDai in #12365
- tag support multi level by @carlvine500 in #12673
Dependencies
- Bump net.bytebuddy:byte-buddy from 1.14.7 to 1.14.8 by @dependabot in #13075
- Bump bytebuddy.version from 1.14.7 to 1.14.8 by @dependabot in #13074
- Bump io.projectreactor:reactor-core from 3.5.9 to 3.5.10 by @dependabot in #13073
- Bump io.micrometer:micrometer-core from 1.11.3 to 1.11.4 by @dependabot in #13072
- Bump io.opentelemetry:opentelemetry-bom from 1.30.0 to 1.30.1 by @dependabot in #13071
- Bump org.graalvm.buildtools:native-maven-plugin from 0.9.26 to 0.9.27 by @dependabot in #13070
- Bump io.micrometer:micrometer-bom from 1.11.3 to 1.11.4 by @dependabot in #13069
- Bump org.graalvm.buildtools:native-maven-plugin from 0.9.25 to 0.9.26 by @dependabot in #13040
- Bump io.opentelemetry:opentelemetry-bom from 1.29.0 to 1.30.0 by @dependabot in #13039
- Bump protobuf-java_version from 3.24.2 to 3.24.3 by @dependabot in #13038
- Bump grpc.version from 1.57.2 to 1.58.0 by @dependabot in #13037
New Contributors
- @FoghostCn made their first contribution in #12536
- @carlvine500 made their first contribution in #12514
- @Tomoko-hjf made their first contribution in #12776
- @chaicho made their first contribution in #12864
- @Nortyr made their first contribution in #12981
- @aofall made their first contribution in #12984
- @giraffe-tree made their first contribution in #13043
- @shj1995 made their first contribution in #13054
- @NingleXu made their first contribution in #13061
Full Changelog: dubbo-3.2.6...dubbo-3.3.0-beta.1