v0.11.0
A new release with several improvements and enhancements. The first one in a long while! Huge thanks to @sagikazarmark for putting in most of the gruntwork to make it happen! You're a superstar.
The biggest thing: package log has been extracted to a separate repository and module, go-kit/log. This means that if you or your project was importing go-kit/kit just to get package log, you can significantly reduce your go.mod and dep graph by switching to the new module. Note that we have no current plans to alias the existing go-kit/kit/log to the new go-kit/log module and package, nor to deprecate the current package in favor of the new one. They are two distinct packages with no defined relationship to each other. This may change in the future.
Major changes:
- The log package was extracted to a separate repository
- Examples were moved to a separate repository
- Deprecated kitgen was removed
Thanks to the 22 contributors who contributed to this release! 🏌️♂️
Bug fixes
- metrics/cloudwatch: log CloudWatch response error (#961) (thanks @trane9991)
- log: defer mutex unlocks for panic safety in SyncLogger (#974)
- util/conn: close old connection before reconnect (#982) (thanks @chikaku)
- log/term: fix build on GOOS=js GOARCH=wasm (#993) (thanks @mvdan)
- transport/http/jsonrpc: move the ClientAfter calls to before the decode (#1008) (thanks @directionless)
- sd/etcdv3: fix etcdv3 client won't return error when no endpoint is available (#1009) (thanks @wayjam)
- metrics/generic: fix uint64 alignment (#1007) (thanks @ldez)
- log: fix stdlibadapter when prefixed (#1036) (thanks @soven)
- log: capture newlines in log stdlib (#1041) (thanks @SuperQ)
Enhancements
- metrics/cloudwatch: use batch values API for CloudWatch PutMetric data call (#960) (thanks @trane9991)
- log: allow to use specific logrus level in the adaptor (#962) (thanks @trane9991)
- transport/http: add NewExplicitClient (#971)
- transport/http/jsonrpc: add RequestID in error body when using the DefaultErrorEncoder (#969) (thanks @esenac)
- transport/http/jsonrpc: add Version to JSON-RPC client request (#990) (thanks @shirolimit)
- log: add WithSuffix to append key-value pairs to those passed to Log (#992) (thanks @vinayvinay)
- sd/consul: improve inconsistent Consul SD index handling (#999) (thanks @vinayvinay)
- all: dependency updates (#1029, #1095, #1097, #1098, #1106, #1118, #1115, #1119, #1124) (thanks @ChrisHines, @Enrico204, @sagikazarmark)
- tracing/opencensus: add support for JSONRPC (#1022) (thanks @ryan-lang)
- tracing/opentracing: improve endpoint middleware options (#1072) (thanks @alebabai)
- auth/jwt: fix repetition of the word "token" in JWT (#1070) (thanks @amidam)
- sd/zk: replace unmaintained zk library with drop-in replacement (#1120) (thanks @sagikazarmark)
- cmd/kitgen: remove deprecated kitgen (#1121) (thanks @sagikazarmark)
Documentation, examples, tests
- readme: change godoc to pkg.go.dev (#963) (thanks @relunctance)
- readme: add links to generator tools (#964)
- metrics/cloudwatch: fix bad Gauge test (#975) (thanks @trane9991)
- readme: update the link and description for go-micro (#989) (thanks @asim)
- examples: add missing "to" preposition (#1014)
- tracing/opencensus: fix failing tests (#1021) (thanks @ryan-lang)
- log: fix doc comment (#1028) (thanks @vrazdalovschi)
- ci: upgrade to the latest version of the setup-go github action (#1040) (thanks @AntonNguyen)
- ci: update Go versions for CI (#1054, #1062) (thanks @codefromthecrypt)
- examples: relocate examples to a separate repository (#1100) (thanks @sagikazarmark)
- transport/awslambda: replace aws lambda structs with stubs in tests (#1117) (thanks @sagikazarmark)
- transport/nats: fix panic in tests (#1122) (thanks @sagikazarmark)
- tracing: add a link to opentelemetry instrumentation (#1112) (thanks @sagikazarmark)
See more details in the 0.11.0 milestone.