Skip to content

Commit 9d80116

Browse files
committed
docs: kitex v0.14.0 release blog
1 parent 9c7fb3a commit 9d80116

File tree

4 files changed

+208
-0
lines changed

4 files changed

+208
-0
lines changed
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
---
2+
title: "Kitex Release v0.14.0"
3+
linkTitle: "Release v0.14.0"
4+
projects: ["Kitex"]
5+
date: 2025-06-26
6+
description: >
7+
---
8+
9+
## **Introduction to Key Changes**
10+
11+
### **New Features**
12+
1. **Generic Call: The generic Client supports streaming calls, allowing a single Client to handle both streaming and non-streaming scenarios**
13+
14+
It supports streaming generic calls, adapting to gRPC/TTHeader Streaming and supporting map/JSON and Protobuf binary generic calls.
15+
16+
A brief code example is as follows:
17+
```go
18+
cli, err := genericclient.NewClient("actualServiceName", g)
19+
// Ping-Pong generic
20+
resp, err := cli.GenericCall(ctx, "PingPongTest", req)
21+
// ClientStreaming generic
22+
cliStream, err := cli.ClientStreaming(ctx, "ClientStreamingTest")
23+
// ServerStreaming generic
24+
srvStream, err := cli.ServerStreaming(ctx, "ServerStreamingTest", req)
25+
// BidiStreaming generic
26+
bidiStream, err := cli.BidiStreaming(ctx, "BidiStreamingTest")
27+
```
28+
29+
Refer to this document for details: [Generic Call](/docs/kitex/tutorials/advanced-feature/generic-call/basic_usage).
30+
31+
### **Feature/Experience Optimization**
32+
1. **Streaming: Improved observability and debugging experience**
33+
34+
**TTHeader Streaming**
35+
- If Tracer configured, failure to create a stream will now be reported with metrics.
36+
- When a panic occurs on the Server side, the full stack trace will now be printed for easier troubleshooting.
37+
38+
**gRPC Streaming**
39+
- If Tracer configured, failure to create a stream will now be reported with metrics.
40+
41+
### **Others**
42+
1. **Code Product Simplification**
43+
44+
Kitex tool no longer generates fastpb, only affecting Protobuf users.
45+
46+
If high-performance Protobuf encoding/decoding is required, you can enable prutal by configuring environment variable `KITEX_TOOL_USE_PRUTAL_MARSHAL=1`.
47+
48+
## **Full Change**
49+
### Feature
50+
[[#1759](https://github.com/cloudwego/kitex/pull/1759)] feat(tool): add env for using prutal to marshal
51+
52+
[[#1782](https://github.com/cloudwego/kitex/pull/1782)] feat(ttstream): process MetaFrame and reflect to rpcinfo
53+
54+
[[#1777](https://github.com/cloudwego/kitex/pull/1777)] feat(client): report err when create Stream failed
55+
56+
[[#1763](https://github.com/cloudwego/kitex/pull/1763)] feat: support ttheader streaming generic call
57+
58+
[[#1771](https://github.com/cloudwego/kitex/pull/1771)] feat(tool): add thriftgo patcher extension
59+
60+
[[#1755](https://github.com/cloudwego/kitex/pull/1755)] feat: add generic binary pb for streamx
61+
62+
[[#1752](https://github.com/cloudwego/kitex/pull/1752)] feat(generic): support generic pb binary for streaming
63+
64+
### Optimize
65+
[[#1788](https://github.com/cloudwego/kitex/pull/1788)] optimize: go net implementation
66+
67+
[[#1786](https://github.com/cloudwego/kitex/pull/1786)] optimize(tool): remove tool fastpb generation
68+
69+
[[#1783](https://github.com/cloudwego/kitex/pull/1783)] optimize(gRPC): parse PayloadCodec in server side
70+
71+
[[#1780](https://github.com/cloudwego/kitex/pull/1780)] optimize(ttstream): log the error thrown by invoking handler
72+
73+
[[#1769](https://github.com/cloudwego/kitex/pull/1769)] optimize: injection of options in ttstream
74+
75+
### Fix
76+
[[#1792](https://github.com/cloudwego/kitex/pull/1792)] fix(gRPC): inject current method name to rpcinfo in server-side to fix FROM_METHOD missing
77+
78+
[[#1787](https://github.com/cloudwego/kitex/pull/1787)] fix(ttstream): metrics missing caused by server-side rpcinfo not set correctly
79+
80+
[[#1778](https://github.com/cloudwego/kitex/pull/1778)] fix: enabling json mode of map generic not work
81+
82+
[[#1774](https://github.com/cloudwego/kitex/pull/1774)] fix(server): trans server conn count race issue
83+
84+
[[#1742](https://github.com/cloudwego/kitex/pull/1742)] fix(generic): align dynamicgo's write base behavior with old generic (only for internal logic)
85+
86+
### Refactor
87+
[[#1770](https://github.com/cloudwego/kitex/pull/1770)] refactor: refactor generic streaming
88+
89+
### Test
90+
[[#1793](https://github.com/cloudwego/kitex/pull/1793)] test: add go1.18 to scenario-test
91+
92+
[[#1765](https://github.com/cloudwego/kitex/pull/1765)] refactor: refactor generic streaming
93+
94+
### Docs
95+
[[#1794](https://github.com/cloudwego/kitex/pull/1794)] docs: update CONTRIBUTING.md to change PR base branch to main
96+
97+
### Chore
98+
[[#1795](https://github.com/cloudwego/kitex/pull/1795)] chore: update dependency
99+
100+
[[#1776](https://github.com/cloudwego/kitex/pull/1776)] chore: remove testify dependency
101+
102+
[[#1757](https://github.com/cloudwego/kitex/pull/1757)] chore: update prutal to v0.1.1
103+
104+
[[#1753](https://github.com/cloudwego/kitex/pull/1753)] ci: disable codecov annotations

content/en/docs/hertz/tutorials/basic-feature/sse.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ func HandleSSE(ctx context.Context, resp *protocol.Response) error {
8484
```
8585

8686
### Example Codes
87+
8788
- [SSE](https://github.com/cloudwego/hertz-examples/tree/main/sse) : Example of hertz using SSE protocol
8889

8990
### Common Issues
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
---
2+
title: "Kitex Release v0.14.0"
3+
linkTitle: "Release v0.14.0"
4+
projects: ["Kitex"]
5+
date: 2025-06-26
6+
description: >
7+
---
8+
9+
## **重要变更介绍**
10+
11+
### **新特性**
12+
1. **泛化调用:泛化 Client 支持流式调用,一个 Client 搞定流式/非流式调用场景**
13+
14+
泛化 Client 支持流式泛化调用,适配 gRPC/TTHeader Streaming 并支持 map / json 和 protobuf 二进制泛化调用。
15+
16+
简要代码示例如下:
17+
```go
18+
cli, err := genericclient.NewClient("actualServiceName", g)
19+
// Ping-Pong 泛化
20+
resp, err := cli.GenericCall(ctx, "PingPongTest", req)
21+
// ClientStreaming 泛化
22+
cliStream, err := cli.ClientStreaming(ctx, "ClientStreamingTest")
23+
// ServerStreaming 泛化
24+
srvStream, err := cli.ServerStreaming(ctx, "ServerStreamingTest", req)
25+
// BidiStreaming 泛化
26+
bidiStream, err := cli.BidiStreaming(ctx, "BidiStreamingTest")
27+
```
28+
29+
各场景使用细节请参考[泛化调用](/zh/docs/kitex/tutorials/advanced-feature/generic-call/basic_usage)
30+
31+
### **功能/体验优化**
32+
1. **Streaming: 观测/排错体验优化**
33+
34+
**TTHeader Streaming**
35+
- 若配置了 Tracer,创建 Stream 失败将打点上报
36+
- 当 Server 侧发生 panic 时,将打印完整堆栈,方便排查问题
37+
38+
**gRPC Streaming**
39+
- 若配置了 Tracer,创建 Stream 失败将打点上报
40+
41+
### **其他**
42+
1. 产物简化
43+
44+
Kitex Tool 不再生成 fastpb,只影响 protobuf 的用户。若有高性能 protobuf 编解码需求,可配置环境变量 `KITEX_TOOL_USE_PRUTAL_MARSHAL=1`启用 prutal。
45+
46+
## **详细变更**
47+
### Feature
48+
[[#1759](https://github.com/cloudwego/kitex/pull/1759)] feat(tool): add env for using prutal to marshal
49+
50+
[[#1782](https://github.com/cloudwego/kitex/pull/1782)] feat(ttstream): process MetaFrame and reflect to rpcinfo
51+
52+
[[#1777](https://github.com/cloudwego/kitex/pull/1777)] feat(client): report err when create Stream failed
53+
54+
[[#1763](https://github.com/cloudwego/kitex/pull/1763)] feat: support ttheader streaming generic call
55+
56+
[[#1771](https://github.com/cloudwego/kitex/pull/1771)] feat(tool): add thriftgo patcher extension
57+
58+
[[#1755](https://github.com/cloudwego/kitex/pull/1755)] feat: add generic binary pb for streamx
59+
60+
[[#1752](https://github.com/cloudwego/kitex/pull/1752)] feat(generic): support generic pb binary for streaming
61+
62+
### Optimize
63+
[[#1788](https://github.com/cloudwego/kitex/pull/1788)] optimize: go net implementation
64+
65+
[[#1786](https://github.com/cloudwego/kitex/pull/1786)] optimize(tool): remove tool fastpb generation
66+
67+
[[#1783](https://github.com/cloudwego/kitex/pull/1783)] optimize(gRPC): parse PayloadCodec in server side
68+
69+
[[#1780](https://github.com/cloudwego/kitex/pull/1780)] optimize(ttstream): log the error thrown by invoking handler
70+
71+
[[#1769](https://github.com/cloudwego/kitex/pull/1769)] optimize: injection of options in ttstream
72+
73+
### Fix
74+
[[#1792](https://github.com/cloudwego/kitex/pull/1792)] fix(gRPC): inject current method name to rpcinfo in server-side to fix FROM_METHOD missing
75+
76+
[[#1787](https://github.com/cloudwego/kitex/pull/1787)] fix(ttstream): metrics missing caused by server-side rpcinfo not set correctly
77+
78+
[[#1778](https://github.com/cloudwego/kitex/pull/1778)] fix: enabling json mode of map generic not work
79+
80+
[[#1774](https://github.com/cloudwego/kitex/pull/1774)] fix(server): trans server conn count race issue
81+
82+
[[#1742](https://github.com/cloudwego/kitex/pull/1742)] fix(generic): align dynamicgo's write base behavior with old generic (only for internal logic)
83+
84+
### Refactor
85+
[[#1770](https://github.com/cloudwego/kitex/pull/1770)] refactor: refactor generic streaming
86+
87+
### Test
88+
[[#1793](https://github.com/cloudwego/kitex/pull/1793)] test: add go1.18 to scenario-test
89+
90+
[[#1765](https://github.com/cloudwego/kitex/pull/1765)] refactor: refactor generic streaming
91+
92+
### Docs
93+
[[#1794](https://github.com/cloudwego/kitex/pull/1794)] docs: update CONTRIBUTING.md to change PR base branch to main
94+
95+
### Chore
96+
[[#1795](https://github.com/cloudwego/kitex/pull/1795)] chore: update dependency
97+
98+
[[#1776](https://github.com/cloudwego/kitex/pull/1776)] chore: remove testify dependency
99+
100+
[[#1757](https://github.com/cloudwego/kitex/pull/1757)] chore: update prutal to v0.1.1
101+
102+
[[#1753](https://github.com/cloudwego/kitex/pull/1753)] ci: disable codecov annotations

content/zh/docs/hertz/tutorials/basic-feature/sse.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ func HandleSSE(ctx context.Context, resp *protocol.Response) error {
8484
```
8585

8686
### 代码示例
87+
8788
- [SSE](https://github.com/cloudwego/hertz-examples/tree/main/sse) : hertz SSE 代码示例
8889

8990
### 常见问题

0 commit comments

Comments
 (0)