Feature:
[#571] feat(protobuf): integrate fastpb into kitex, refer to doc.
[#592] feat(generic): add default value defined in thrift idl for HTTP/Map/JSON generic call.
[#600] feat(thrift): support no codec gen-code when use frugal.
[#607, #610] feat(proxyless): add option for xDS extention. Support traffic route, timeout config and service discovery based on xDS.
[#541] feat(trans): Add the go net extension to the transport layer, and chooses it as the transmission mode by default in Windows OS.
[#540] feat(retry): support retry with specified error or response and add retry option for setup method retry policy.
[#533] feat(generic): js_conv annotation of generic call supports map type conversion.
Optimize/Perf:
[#522, #538, #605] perf(grpc): optimize performance for grpc protocol.
[#590] optimize(tool): guess IDL type from file extension.
[#559] optimize(timeout): use wrap func to check timeout err in timeout middleware which can ignore logs customized timeout err.
[#581] optimize(tool): kitex tool usage add cmd example.
Bugfix:
[#564] fix(oneway): discard oneway conn after sending complete, or subsequent requests that send to the same connection may get blocked until the oneway request gets processed by the server.
[#577, #584, #602] fix(rpcinfo): fix rpcinfo reuse problem in longconn scene.
[#578] fix(longpool): fix long pool dump panic.
[#583] fix(tool): fix misusing of package name in protobuf generated code.
[#587] fix(tool): skip proto files with external import paths when generates code.
[#594] fix(generic): support the tag format of the escape double quotes in single quotes to be compatible with the logic of the old version.
[#595] fix(thrift): fix nil union panic in BLength.
[#589, #596] fix(frugal): fix frugal build tag.
Refactor:
[#566] refactor(metainfo): remove noused metakeys of HTTP2 Header.
[#593] refactor(trans): support specify Listener for server by option WithListener, the priority is higher than WithServiceAddr.
[#582] refactor(tool): use templates by embedding and export APIs for external usage for kitex tool.
Test:
[#579] test: add ut for long pool dump function
[#608] test: fix data race in TestClientConnDecoupledFromApplicationRead
[#609] test: fix gonet ut avoid testing port conflicts.
[#480] test: add unit test for client package
Chore:
[#558] ci: fix setup-python github action
[#487] ci: workflow add golangci-lint
[#580] chore: fix the typos in remote module about go net
[#601] chore: fixed some typos and replaced some defunct functions.
[#604] chore: upgrade fastpb to v0.0.2
[#603] chore: upgrade frugal to v0.1.2
Dependency Change:
github.com/cloudwego/frugal v0.1.1 -> v0.1.3
github.com/cloudwego/netpoll v0.2.5 -> v0.2.6
github.com/cloudwego/thriftgo v0.1.2 -> v0.2.0
google.golang.org/protobuf v1.26.0 -> v1.28.0
github.com/choleraehyq/pid v0.0.13 -> v0.0.15
new imported:
github.com/cloudwego/fastpb v0.0.2
github.com/jhump/protoreflect v1.8.2
Thanks a lot to those community contributors who submit some pull requests for this version:
@baiyutang @L2ncE @authorixy