v2.9.1
- deps: retract v2.9.0 (#3723)
- fix(transport/http): resolve breaking change with ResponseTransporter interface (#3721)
- Revert "perf(transport/http): optimize URL construction with url.URL for bett…" (#3722)
- @qingbozhang made their first contribution in https://github.com/go-kratos/kratos/pull/3721
Full Changelog: https://github.com/go-kratos/kratos/compare/v2.9.0...v2.9.1
v2.9.0
- deps(middleware): upgrade protovalidate to resolve compatibility issue (#3706)
- feat(protoc-gen-go-http): mark deprecated methods in generated code (#3711)
- feat: add MCP transport (#3646)
- fix(encoding): extract all form fields even if some unsupported (#3694)
- fix meta variable (#3712)
- fix: honor shutdown timeout when provided context already canceled (#3695)
- fix stale entries before the each pick operation (#3690)
- fix: replace strconv.Itoa with strconv.FormatInt for int64 handling (#3667)
- fix: solve have syntax error when execute make command. (#3682)
- fix(internal/host): Extract optimizes the return of the minimum index IP (#3421)
- fix: Fixed zookeeper watcher exiting the loop under exceptional conditions, causing service discovery to terminate (#3517)
- chore: add deepwiki badge (#3701)
- perf(transport/http): optimize URL construction with url.URL for better performance (#3678)
- perf(transport/http/binding): optimize EncodeURL performance for paths without placeholders (#3679)
- refactor(all): replace atomic functions with atomic types (#3699)
- contrib/register/nacos: refactor to use maps.Clone (#3703)
- *: use net.JoinHostPort to improve IPv6 compatible (#3675)
- perf(config/env): use strings.LastIndexByte instead of strings.LastIndex (#3660)
- Add trendshift badge (#3655)
- perf(metadata): simplify Metadata.Add by avoiding redundant strings.ToLower call (#3671)
- Mcp options (#3652)
- Revert "refactor: replace repeated error reasons with constants (#3612)" (#3651)
- perf(config/env): use strings.Cut to optimize env load method (#3645)
- add mcp middleware (#3649)
- refactor(contrib/registry/etcd): use Namespace Name and ID as the unique keys (#3594)
- go mod tidy (#3648)
- build(deps): bump golang.org/x/net from 0.23.0 to 0.33.0 (#3527)
- github: Remove submodule dependencies in Dependabot. (#3643)
- perf(encoding/form): optimize camelCase and snakeCase conversion (#3592)
- refactor: extract key for reuse and maintainability (#3602)
- @uucloud made their first contribution in https://github.com/go-kratos/kratos/pull/3561
- @ch3nnn made their first contribution in https://github.com/go-kratos/kratos/pull/3624
- @yuluo-yx made their first contribution in https://github.com/go-kratos/kratos/pull/3625
- @Piwriw made their first contribution in https://github.com/go-kratos/kratos/pull/3642
- @hengyumo made their first contribution in https://github.com/go-kratos/kratos/pull/3517
- @HoronLee made their first contribution in https://github.com/go-kratos/kratos/pull/3706
- @cuiweixie made their first contribution in https://github.com/go-kratos/kratos/pull/3703
Full Changelog: https://github.com/go-kratos/kratos/compare/v2.8.4...v2.9.0
v2.8.4
- feat: disable grpc reflection configuration
- feature(middleware/validate): migrate from PGV to protovalidate, since PGV has entered in maintenance (#3498)
- fix: Improve server stop handling with graceful shutdowns (#3525)
- fix(registry/consul): fix concurrency issues and improve performance (#3511)
- chore: replace interface{} with any (#3557)
- optimize loops, when discover load is nil. (#3507)
- @zhanluxianshen made their first contribution in https://github.com/go-kratos/kratos/pull/3507
- @BandlSkyler made their first contribution in https://github.com/go-kratos/kratos/pull/3550
Full Changelog: https://github.com/go-kratos/kratos/compare/v2.8.3...v2.8.4
v2.8.3
- feat(log): add Logger() method for Helper (#3443)
- fix(registry): add timeout validation (#3492)
- fix k8s headless service miss namespace (#3407)
- fix: Return inner Logger from GetLogger for log.WithContext reuse (#3455)
- fix: various typos (#3454)
- build(deps): bump golang.org/x/net in /contrib/opensergo (#3434)
- build(deps): bump actions/setup-go from 5.0.2 to 5.1.0 (#3450)
- @NathanBaulch made their first contribution in https://github.com/go-kratos/kratos/pull/3454
- @guangxuewu made their first contribution in https://github.com/go-kratos/kratos/pull/3455
- @dagehuifei made their first contribution in https://github.com/go-kratos/kratos/pull/3407
- @DCjanus made their first contribution in https://github.com/go-kratos/kratos/pull/3443
- @lftk made their first contribution in https://github.com/go-kratos/kratos/pull/3492
Full Changelog: https://github.com/go-kratos/kratos/compare/v2.8.2...v2.8.3
v2.8.2
- feat: create build Group in changelog generate. (#3448)
- fix: unit test Recycle watch resolver tick goroutine (#3449)
- fix: resolve the issue of metrics and logging code default to zero (#3447)
- build(deps): bump golang.org/x/sync in /contrib/registry/zookeeper (#3387)
Full Changelog: https://github.com/go-kratos/kratos/compare/v2.8.1...v2.8.2
v2.8.1
- feat(middleware/metrics): make DefaultSecondsHistogram simply (#3385)
- feat: adding stream interceptor for logging middleware (#3359)
- feat(contrib/log/zap): If disable this level of logging entirely, avoid additional overhead (#3357)
- feat(resolver/discovery): expose create watcher timeout error (#3392)
- fix: fix errors reported by Lint CI. (#3435)
- fix: add timeout configuration in grpc dial function (#3365)
- fix: when entering idle mode, the old resolve-related resources have not been completely processed, and an exception occurs when exiting idle mode immediately. (#3402)
- fix(registry/polaris): fix concurrent map iteration and map write #3361 (#3386)
- fix: fixed typo (#3395)
- fix: filter redundant endpoints invalid (#3373)
- chore: upgrade golangci-lint version to v1.60.3 and fix lint (#3414)
- chore: remove non-existent test methods (#2770)
- chore: replace the DisableDebugLog method, which is marked as Deprecated, with the PrintDebugLog method in the discovery test (#3364)
- faet: add buf config for protoc-gen-go-errors (#3403)
- perf: optimize the http.ContentType method (#3363)
- build(deps): bump github/codeql-action from 2 to 3 (#3119)
- build(deps): bump google.golang.org/protobuf in /cmd/protoc-gen-go-http (#3237)
- build(deps): bump golang.org/x/net in /contrib/errortracker/sentry (#3288)
- build(deps): bump golang.org/x/net in /contrib/registry/etcd (#3289)
- build(deps): bump golang.org/x/net in /contrib/config/kubernetes (#3291)
- build(deps): bump golang.org/x/net in /contrib/registry/kubernetes (#3290)
- build(deps): bump golang.org/x/net in /contrib/log/aliyun (#3292)
- build(deps): bump golang.org/x/net in /contrib/registry/polaris (#3294)
- build(deps): bump actions/setup-go from 5.0.1 to 5.0.2 (#3362)
- @LHyphen made their first contribution in https://github.com/go-kratos/kratos/pull/3373
- @jarium made their first contribution in https://github.com/go-kratos/kratos/pull/3395
- @1911860538 made their first contribution in https://github.com/go-kratos/kratos/pull/3363
Full Changelog: https://github.com/go-kratos/kratos/compare/v2.8.0...v2.8.1
v2.8.0
- break(metrics): refactor kratos metrics with otel metrics (#3256)
- feat: parsing config input and convert to match the type (#3306)
- fix(contrib/registry/nacos): Abnormal blocking of the Subscribe and Next methods. (#3320)
- fix(contrib/opensergo): incorrect conversion between integer types (#3309)
- fix(contrib/polaris): incorrect conversion between integer types (#3300)
- fix: com patile both map[kratos] and map.kratos for a map type in the query parameters (#3284)
- chore(middleware/metrics): if requests and seconds are nil, return directly (#3298)
- chroe: chore update (#3367)
- build(deps): bump golang.org/x/net from 0.19.0 to 0.23.0 (#3295)
- build(deps): bump golang.org/x/net in /contrib/registry/servicecomb (#3285)
- build(deps): bump golang.org/x/net in /contrib/config/etcd (#3293)
- adds Set-Cookie method to the HTTP transport. (#3353)
- build(deps): bump actions/setup-go from 5.0.0 to 5.0.1 (#3315)
- build(deps): bump golangci/golangci-lint-action from 5 to 6 (#3340)
- The issue that the response header is not assigned a value is fixed (#3327)
- build(deps): bump golangci/golangci-lint-action from 4 to 5 (#3305)
- faat(encoding/form): allow change the default form encoder and decoder tag name (#3328)
- build(deps): bump github.com/aliyun/aliyun-log-go-sdk (#3332)
- build(deps): bump golang.org/x/net in /contrib/polaris (#3296)
- build(deps): bump Yikun/hub-mirror-action from 1.3 to 1.4 (#3307)
- build(deps): bump google.golang.org/protobuf (#3238)
- build(deps): bump github.com/aliyun/aliyun-log-go-sdk (#3270)
- build(deps): bump golang.org/x/net in /contrib/opensergo (#3277)
- build(deps): bump golang.org/x/sync in /contrib/registry/zookeeper (#3274)
- dep: change library name of mergo #3149 (#3297)
- @ASkyFullOfStar made their first contribution in https://github.com/go-kratos/kratos/pull/3284
- @wudi made their first contribution in https://github.com/go-kratos/kratos/pull/3264
- @guoquanwei made their first contribution in https://github.com/go-kratos/kratos/pull/3320
- @akoserwal made their first contribution in https://github.com/go-kratos/kratos/pull/3306
Full Changelog: https://github.com/go-kratos/kratos/compare/v2.7.3...v2.8.0
v2.7.3
- feat(transport/http): add unwrap method for returning underlying response writer. #3253 (#3265)
- feat: use writer directly in stdLogger. (#3121)
- feat(log): Prevent log.Helper sprintf from running early #3209 (#3221)
- feat(middleware): adding sentry as errortracker (#3122)
- feat: add server option for NotFoundHandler and MethodNotAllowedHandler (#3131)
- feat: improve node alg (#3015)
- fix(encoding/form):
Timestampuse local time and fix test wrong mock time zone (#3257) - fix(encoding/form): optimize EncodeField and add test cases (#3234)
- fix: When grpc ends idle mode, it needs to continue to obtain the latest instance of the service (#3162)
- fix: etcd registry lifecycle (#3180)
- fix: logging middleware caller issue #3133 (#3134)
- fix polaris registry bug: nodes is empty at startup (#3160)
- fix: remove duplicate test codes. (#3187)
- fix: use .MapKey to get key's FieldDescriptor (#3196)
- fix(transport/http): no need to call EncodeURL twice (#3218)
- fix(protoc-gen-go-http): return nil if err == nil。 (#3188)
- fix: zap log print out multiple
msg(#3171) - fix: test failed on other timezone.(#3181) (#3183)
- fix: clear err after app stop err handling (#3146)
- fix: fix consul heartbeat 404 error (#3147)
- fix(encoding/form): time with the location set to local time (#2885)
- nacos stop cannot cancel subscription (#3173)
- build(deps): bump golang.org/x/sync in /contrib/registry/zookeeper (#3150)
- build(deps): bump github.com/prometheus/common (#3154)
- build(deps): bump golang.org/x/net in /contrib/opensergo (#3155)
- build(deps): bump actions/cache from 3 to 4 (#3158)
- build(deps): bump golangci/golangci-lint-action from 3 to 4 (#3197)
- build(lint): upgrade
golangci/golangci-lint-action(#3235) - build(go): Add go version v1.22.x (#3236)
- build(deps): bump github.com/go-resty/resty/v2 (#3151)
- @dongowu made their first contribution in https://github.com/go-kratos/kratos/pull/3085
- @ChengDaqi2023 made their first contribution in https://github.com/go-kratos/kratos/pull/2985
- @lawlielt made their first contribution in https://github.com/go-kratos/kratos/pull/3147
- @liubing0427 made their first contribution in https://github.com/go-kratos/kratos/pull/3131
- @kvii made their first contribution in https://github.com/go-kratos/kratos/pull/3183
- @fzdwx made their first contribution in https://github.com/go-kratos/kratos/pull/3171
- @oyk666 made their first contribution in https://github.com/go-kratos/kratos/pull/3196
- @flc1125 made their first contribution in https://github.com/go-kratos/kratos/pull/3236
- @sendya made their first contribution in https://github.com/go-kratos/kratos/pull/3221
- @Disdjj made their first contribution in https://github.com/go-kratos/kratos/pull/3180
- @chenliang made their first contribution in https://github.com/go-kratos/kratos/pull/3173
- @harbourlga made their first contribution in https://github.com/go-kratos/kratos/pull/3162
Full Changelog: https://github.com/go-kratos/kratos/compare/v2.7.2...v2.7.3
v2.7.2
- feat(config): config support custom merge config (#3106)
- fix:polaris config watch (#3082)
- fix:
sctxcause request ctx canceled during graceful shutdown (#3097) - fix: apollo yaml watch (#3021)
- fix(log):
WithContext()changed the ctx field of the parent log.Filter (#3069) - fix: Kubernetes misspelling (#3075)
- build(deps): bump github.com/hashicorp/consul/api (#3080)
- build(deps): bump google.golang.org/grpc in /contrib/config/polaris (#3055)
- build(deps): bump google.golang.org/grpc from 1.56.1 to 1.56.3 (#3054)
- build(deps): bump golang.org/x/net in /contrib/opensergo (#3100)
- build(deps): bump github.com/emicklei/go-restful (#2933)
- build(deps): bump google.golang.org/grpc in /contrib/registry/etcd (#3047)
- build(deps): bump google.golang.org/grpc in /contrib/opensergo (#3048)
- build(deps): bump google.golang.org/grpc in /contrib/config/etcd (#3046)
- build(deps): bump google.golang.org/grpc in /contrib/polaris (#3053)
- build(deps): bump github.com/prometheus/common (#3049)
- build(deps): bump github.com/aliyun/aliyun-log-go-sdk (#3095)
- golangci: check misspell (#3086)
- update golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f to 0.1.0 (#2984)
- Support adding headers to before calloption header (#3038)
- build(deps): bump actions/checkout from 3 to 4 (#2982)
- build(deps): bump github.com/vmihailenco/msgpack/v5 (#3065)
- build(deps): bump go.etcd.io/etcd/client/v3 in /contrib/registry/etcd (#3066)
- build(deps): bump github.com/aliyun/aliyun-log-go-sdk (#3079)
- build(deps): bump go.etcd.io/etcd/client/v3 in /contrib/config/etcd (#3064)
- build(deps): bump github.com/prometheus/client_golang (#3077)
- build(deps): bump golang.org/x/sync in /contrib/registry/zookeeper (#3076)
- build(deps): bump golang.org/x/net in /contrib/opensergo (#3078)
- build(deps): bump actions/setup-go from 4.0.1 to 4.1.0 (#2949)
- build(deps): bump github.com/hashicorp/consul/api (#3074)
- @Huoxi-any made their first contribution in https://github.com/go-kratos/kratos/pull/2984
- @ionling made their first contribution in https://github.com/go-kratos/kratos/pull/3069
- @LinEvil made their first contribution in https://github.com/go-kratos/kratos/pull/3097
- @tan-zhuo made their first contribution in https://github.com/go-kratos/kratos/pull/3082
Full Changelog: https://github.com/go-kratos/kratos/compare/v2.7.1...v2.7.2
v2.7.1
contrib -> 6cdd81811e102620ec93b125ea6ed38f06a5e03c
- chore: fix typo var name in shell (#2955)
- bugfix: fix map decode (#2979)
- ci: support go version 1.21.x
- @mo3et made their first contribution in https://github.com/go-kratos/kratos/pull/2955
Full Changelog: https://github.com/go-kratos/kratos/compare/v2.7.0...v2.7.1