Skip to content
Browse files
  • Loading branch information
hufeng committed Jul 4, 2021
1 parent fbd1ec3 commit 562e70afeec0ebe7425ef372a56dbb9073c03f5f
Showing 1 changed file with 56 additions and 0 deletions.
@@ -1,5 +1,61 @@
# Release Notes

## 4.0.0


After long-term community feedback and collaboration, and thanks to the efforts of the vivo open source collaboration team, we finally ushered in the release of apache dubbo-js 4.0.0.

dubbo-js 4.0.0 will be a new milestone. We have made major software architecture adjustments and provided full-stack dubbo service capabilities. Dubbo/dj, which is under construction, will help the zero development of framework code by building a small cross-language DSL language for dubbo.

In the process of building dubbo-js, we adhere to the consistent principle.

1. Keep it simple and stupid. We want to keep dubbo-js easy to use, easy to learn, and reduce mental burden and learning cost.

2. Build tools for humans. Development experience is as important as user experience. We strive to keep API design simple, intuitive and ergonomic. We use typescript to bring type hints, code completion, and type checking to help development become more efficient. We have built [interpret] and the dubbo/dj under development to make our calls and docking between JavaScript, Go, and Java seamless.

3. High performance and observable.

### Arch


### change log

- Separate modules, refactor code, simplify implementation logic, and remove unnecessary defensive programming
- Zookeeper's node underlying library is replaced with zookeeper's native c implementation, replacing the existing node-zookeeper-client
- The ability to dynamically configure dubbo-consumer/dubbo-service meta data
- dubbo-service automatically realizes load balancing
- Support the use of node10+ and above
- Incorporate the implementation of the latest version of zone-context, more accurate memory recovery, and safer link tracking
- Add dubbo-test full-process integration test
- add fullstack example
- Improve the unit test, run the unit test through mock without relying on any environment zookeeper etc.
- Build a zookeeper mock, and use js to simulate a fully compatible zookeeper for unit testing, decoupling the dependence of unit testing on the environment

- The core modules are re-split, abstracted into five core modules: consumer, server, registry, setting, and common
- Added dubbo-server module to provide a complete basic capability of dubbo tcp server service
- Added dubbo-server to accept dubbo requests, serialization and deserialization of request parameters
- Added service registration capability, register to zookeeper and nacos
- Enhance scheduling of requests by the scheduler, adopt the concept of fast error, improve error information, and be more precise
- Enhance the underlying debug log of dubbo-server to facilitate quick location of problems
- Enhance the dubbo url of dubbo-server registered to zk, add side, pid, generic, protocol, dynamic, category, anyhost, timestamp and other parameters
- Enhanced extension dubbo-server supports middleware middleware mechanism, which can extend the life cycle of the entire call
- Refactor the serialization implementation of dubbo requests and responses to keep consistent with the upstream version
- Add an independent heartbeat management module to simplify the communication between consumer and server
- Added nacos as the registration center

### 【Bug fix】

- Fix serialization of decodeDubboResponse of dubbo-consumer and deserialization of err object of error response
- Repair the heartbeat mechanism between the consumer and the server to avoid a large number of heartbeat storms. At present, The server will reply immediately after receiving the heartbeat, and the consumer will check and send periodically.
- Fix the version setting of dubboVersion of dubbo-consumer, this version should be the protocol version of dubbo protocal, not the version of dubbo library

## 3.0.0

After accepting the community's pr for a long time, we are ready to release dubbo-js@3.0.0

0 comments on commit 562e70a

Please sign in to comment.