|
| 1 | +--- |
| 2 | +title: "Kitex Release v0.7.2" |
| 3 | +linkTitle: "Release v0.7.2" |
| 4 | +projects: ["Kitex"] |
| 5 | +date: 2023-09-27 |
| 6 | +description: > |
| 7 | +--- |
| 8 | +## **Introduction to Key Changes** |
| 9 | + |
| 10 | +### Features |
| 11 | + |
| 12 | +**1. Retry: limit perncetage of retry requests** |
| 13 | + |
| 14 | +The feature improves the usability of backup requests: if a request exceeds the retry delay threshold, a backup request will be sent; but if the request succeeds within the timeout threshold, it will not be treated as an error. Therefore large amount of backup requests may be sent due to a network jitter, which increases the pressure on the server and could even cause an avanlache. |
| 15 | + |
| 16 | +It's recommended to update your current implementation: |
| 17 | + |
| 18 | +1. Initialize a RetryContainer with `retry.NewRetryContainerWithPercentageLimit()` to limit the percentage of retry requests; |
| 19 | +2. Add an option `client.WithCloseCallbacks(container.Close)` when initializing a client, in order to release relevant resources when the client is recycled. |
| 20 | + |
| 21 | + |
| 22 | +### Optimizations |
| 23 | + |
| 24 | +**1. gRPC** |
| 25 | + |
| 26 | +- Send END_STREAM flag in unary call |
| 27 | +- Fix grpc streaming tps decreasing and the selection logic of compressor |
| 28 | + |
| 29 | +**2. Long Connection Pool** |
| 30 | + |
| 31 | +If `MaxIdleGlobal` is not set, it is not limited by default, simplifying the configuration of long connection pools. |
| 32 | + |
| 33 | +### Miscellaneous |
| 34 | + |
| 35 | +- Upgrade netpoll to [v0.5.0](https://github.com/cloudwego/netpoll/releases/tag/v0.5.0) |
| 36 | +- Upgrade frugal to [v0.1.8](https://github.com/cloudwego/frugal/releases/tag/v0.1.8), enable frugal when compiled on go1.21 (note: old versions of frugal are not adapted to go1.21) |
| 37 | + |
| 38 | + |
| 39 | +---- |
| 40 | + |
| 41 | +## Full Release Log |
| 42 | + |
| 43 | +### Feature: |
| 44 | +- [[#1117](https://github.com/cloudwego/kitex/pull/1117)] feat(retry): support retry percentage limit |
| 45 | +### Optimize: |
| 46 | +- [[#1033](https://github.com/cloudwego/kitex/pull/1033)] optimize: no need to check svcInfo twice |
| 47 | +- [[#1115](https://github.com/cloudwego/kitex/pull/1115)] optimize: rm outdated framed suggestion |
| 48 | +- [[#1095](https://github.com/cloudwego/kitex/pull/1095)] optimize: add K_METHOD in serviceinline ctx |
| 49 | +- [[#1107](https://github.com/cloudwego/kitex/pull/1107)] optimize(connpool): set maxIdleGlobal to no limit if not set |
| 50 | +### Fix: |
| 51 | +- [[#1116](https://github.com/cloudwego/kitex/pull/1116)] fix: use the last rpcinfo to trace |
| 52 | +- [[#1104](https://github.com/cloudwego/kitex/pull/1104)] fix: move limiter handler to the last of the inbound handler to get rpcinfo in custom limiter |
| 53 | +- [[#1103](https://github.com/cloudwego/kitex/pull/1103)] fix: reset all fields of netpoll byte buffer when recycle it |
| 54 | +- [[#1106](https://github.com/cloudwego/kitex/pull/1106)] fix(grpc): fix grpc streaming tps decreasing and the selection logic of compressor |
| 55 | +- [[#1114](https://github.com/cloudwego/kitex/pull/1114)] fix(gRPC): client send END_STREAM flag in unary call (#1066) |
| 56 | +- [[#1096](https://github.com/cloudwego/kitex/pull/1096)] fix(tool): add backquote to handle filepath string invalid syntax under windows os |
| 57 | +- [[#1098](https://github.com/cloudwego/kitex/pull/1098)] fix(tool): fix import for codegen template when using slim and unknown fields |
| 58 | + |
| 59 | +### Tests: |
| 60 | +- [[#1124](https://github.com/cloudwego/kitex/pull/1124)] test: fix codegen script |
| 61 | +- [[#1122](https://github.com/cloudwego/kitex/pull/1122)] test: add codegen test |
| 62 | +- [[#1119](https://github.com/cloudwego/kitex/pull/1119)] test(connpool): modify the idleTimeout |
| 63 | + |
| 64 | +## Chore: |
| 65 | +- [[#1133](https://github.com/cloudwego/kitex/pull/1133)] chore: update version v0.7.2 |
| 66 | +- [[#1125](https://github.com/cloudwego/kitex/pull/1125)] chore: upgrade netpoll to v0.5.0 |
| 67 | +- [[#1123](https://github.com/cloudwego/kitex/pull/1123)] perf: replace concurrent string builder with lock |
| 68 | +- [[#1118](https://github.com/cloudwego/kitex/pull/1118)] perf: optimize remote addr setter interface to reduce lock cost of Address() |
| 69 | +- [[#1110](https://github.com/cloudwego/kitex/pull/1110)] chore: upgrade netpoll to v0.4.2 pre-release |
| 70 | +- [[#1061](https://github.com/cloudwego/kitex/pull/1061)] chore: netpoll pre release v0.4.2 |
| 71 | +- [[#1100](https://github.com/cloudwego/kitex/pull/1100)] chore: enable frugal on go1.21 |
0 commit comments