Releases: reddit/baseplate.go
v0.9.18
What's Changed
- style-guide: Add guidance about multiple return values from a func by @fishy in #651
- thriftbp: Report request/response payload sizes from client side by @fishy in #650
- thriftbp: Support unix domain socket on thrift clients by @fishy in #649
- thriftbp: Fix a bug caused by bad merge from the previous PR by @fishy in #652
- thriftbp: Deprecate ServerConfig.ReportPayloadSizeMetricsSampleRate by @fishy in #653
- Add filewatcher/v2 by @fishy in #654
- experiments: Switch to filewatcher/v2 by @fishy in #655
- clientpool: Check Get after Close and return appropriate error by @fishy in #656
- kafkabp: Support AWS IMDS v2 for rack id by @fishy in #657
Full Changelog: v0.9.17...v0.9.18
v0.9.17
What's Changed
- Introduce an error for trying to fetch a secret of the wrong type. by @folone in #642
- Update supported go versions to 1.21+1.22 by @fishy in #643
- thriftbp: Support native slog.LogValuer implementation for errors by @fishy in #641
- Add All Go metrics to admin endpoint default by @SuperQ in #629
- build(deps): bump google.golang.org/protobuf from 1.32.0 to 1.33.0 by @dependabot in #645
- Update thrift to v0.20.0 by @fishy in #646
- httpbp: Fix Retries middleware by @fishy in #647
- build(deps): bump golang.org/x/net from 0.20.0 to 0.23.0 by @dependabot in #648
New Contributors
Full Changelog: v0.9.16...v0.9.17
v0.9.16
v0.9.15
What's Changed
- log: Also stamp version from env var by @fishy in #622
- [EX-608] Depracate experiments by @mrlevitas in #623
- build(deps): bump google.golang.org/grpc from 1.47.0 to 1.53.0 by @dependabot in #624
- make secrets.Store middleware threadsafe by @pacejackson in #625
- Update go support to 1.20+1.21 by @fishy in #628
- build(deps): bump golang.org/x/net from 0.7.0 to 0.17.0 by @dependabot in #630
- build(deps): bump google.golang.org/grpc from 1.53.0 to 1.56.3 by @dependabot in #632
- tracing: skip reconfiguration if tracer already configured by @redloaf in #633
New Contributors
- @mrlevitas made their first contribution in #623
- @redloaf made their first contribution in #633
Full Changelog: v0.9.14...v0.9.15
v0.9.14 - Metrics Compatibility
v0.9.13: Redis Update
Summary
This release includes dependency version bumps. Users of redis are encouraged to upgrade.
What's Changed
- build(deps): bump sigs.k8s.io/secrets-store-csi-driver from 1.3.0 to 1.3.3 by @dependabot in #617
- Upgrade go-redis/v8 to pull in a fix around closed connections by @nanassito in #618
Full Changelog: v0.9.12...v0.9.13
v0.9.13-rc.1
Summary
This release includes dependency version bumps. Users of redis are encouraged to upgrade.
What's Changed
- build(deps): bump sigs.k8s.io/secrets-store-csi-driver from 1.3.0 to 1.3.3 by @dependabot in #617
- Upgrade go-redis/v8 to pull in a fix around closed connections by @nanassito in #618
Full Changelog: v0.9.12...v0.9.13-rc.1
v0.9.12
Important Notes
WARNING: When updating to v0.9.12 for the first time, latency metrics that aggregate across different versions of baseplate.go may show incorrect results! Dashboards may need to be temporarily filtered to show only specific pods or only a canary deployment to see correct latencies.
Behavior Changes
- Latency Metrics: The latency buckets that are used for prometheus metrics have changed to reflect the baseplate spec.
- This is likely to cause latency dashboards to incorrectly report high latencies. Filter the dashboard to specific pods or only the canary deployment to verify. This should resolve itself once the deployment is complete.
- If you were using apdex-style queries with harded-coded
le=
buckets, these buckets will be changing. Let us know if you need help adjusting your queries to account for this.
- HTTP Size Buckets: The request and response size buckets are changing to reflect the baseplate spec.
- Again, let us know if you need help accommodating this change.
- Sentry: reporting from trace hooks is now opt-in
- Shutdown: The default shutdown delay is now 5 seconds (up from 1 second) #615
API Changes
- thriftbp:
requiredInitialConnections
will be retried, rather than returning immediately, to permit more stable startup.- Users must opt-in to get this behavior by setting
requiredInitialConnections: 1
(or similar) in their configuration.
- Users must opt-in to get this behavior by setting
Compatibility
- Baseplate.go v0.9.12 will require Go 1.19 or later.
Other Highlights
- Added Vault CSI support (set the
secrets.json
path to be the secrets mount directory) - Updated and added various Prometheus metrics to match the baseplate spec
- httpbp: Enable passthrough of HTTP ResponseWriter optional interfaces (e.g. to permit hijacking)
Changelog
- filewatcher: Implement support for directories by @fishy in #561
- chore: Remove deprecated 'slug' label by @nanassito in #566
- enable using the baseplate.spec default latency buckets by @ghirsch-reddit in #567
- Update default Go metrics by @SuperQ in #564
- Upgrade thrift to 0.17.0 by @fishy in #570
- breakerbp: Fix prometheus gauge by @fishy in #571
- Update gRPC metrics to match v2 and spec by @kylelemons in #572
- feat(secrets): support for csi directories by @Tediferous in #565
- httpbp: Set http.Server.ErrorLog by @fishy in #576
- thriftbp: Match thrift client pool metrics to baseplate spec by @fishy in #577
- [fix]
httpbp
middleware doesn't flush chunked responses by @adamthesax in #573 - thriftbp+httpbp: Rename the RecoverPanic middlewares by @fishy in #580
- Export the versions of Go modules linked into the binary by @kylelemons in #578
- kafkabp: Metrics cleanup by @fishy in #579
- thriftbp: Metrics cleanup by @fishy in #581
- Metrics cleanups in other packages by @fishy in #582
- maxprocs: Print newline after log by @mterwill in #583
- Make reregistration of prom metrics resilient to v0 + v2 by @kylelemons in #584
- secrets: Fix bug about not wait for secrets.json to become available by @fishy in #585
- Add link to Google Go Style Guide by @fishy in #586
- Drop support for go 1.18 by @fishy in #587
- secrets: Fix vault CSI support by @fishy in #588
- thriftbp: Add special handling of context.Canceled in prom labels by @fishy in #590
- errorsbp: Update for go 1.20 by @fishy in #591
- errorsbp: Fix a corner case in BatchSize by @fishy in #592
- thriftbp: Force recoverPanik to be the last server middleware by @fishy in #593
- thriftbp: Add a counter for opener calls in client pool by @fishy in #594
- Make the HTTP size buckets usable by @reptile-deer-66 in #595
- Fix github actions by @fishy in #601
- tracing: Do not auto register ErrorReporterCreateServerSpanHook by @fishy in #600
- build(deps): bump golang.org/x/net from 0.4.0 to 0.7.0 by @dependabot in #604
- errorsbp: Add Prefix by @fishy in #603
- Cleanup old metrics test by @SuperQ in #599
- Make
thriftbp.NewBaseplateClientPool()
behave more like thegrpcbp
one by @nanassito in #602 - clientpool: Follow up on 6f97656 by @fishy in #606
- kafkabp: Add ConsumePartitionFuncProvider to non-group consumers by @fishy in #607
- log: Auto wrap baseplate.Error in logs by @fishy in #608
- kafkabp: Add a gauge to report configured version by @fishy in #611
- admin: Get port from $BASEPLATE_SIDECAR_ADMIN_PORT by @fishy in #614
- feat: Improve shutdown Delay default by @davinci26 in #615
New Contributors
- @ghirsch-reddit made their first contribution in #567
- @Tediferous made their first contribution in #565
- @adamthesax made their first contribution in #573
- @reptile-deer-66 made their first contribution in #595
- @dependabot made their first contribution in #604
- @davinci26 made their first contribution in #615
Full Changelog: v0.9.11...v0.9.12
v0.9.12-beta.9
What's Changed
- clientpool: Follow up on 6f97656 by @fishy in #606
- kafkabp: Add ConsumePartitionFuncProvider to non-group consumers by @fishy in #607
- log: Auto wrap baseplate.Error in logs by @fishy in #608
- kafkabp: Add a gauge to report configured version by @fishy in #611
- admin: Get port from $BASEPLATE_SIDECAR_ADMIN_PORT by @fishy in #614
- feat: Improve shutdown Delay default by @davinci26 in #615
New Contributors
- @davinci26 made their first contribution in #615
Full Changelog: v0.9.12-beta.8...v0.9.12-beta.9
v0.9.12-beta.8
Important Notes
Breaking Changes
- Latency Metrics: The latency buckets that are used for prometheus metrics have changed to reflect the baseplate spec. If you were using apdex-style queries with harded-coded le= buckets, these buckets will be changing. Let us know if you need help adjusting your queries to account for this.
- HTTP Size Buckets: The request and response size buckets are changing to reflect the baseplate spec. Again, let us know if you need help accommodating this change.
- Sentry reporting from trace hooks is now opt-in
API Changes
- thriftbp:
requiredInitialConnections
will be retried, rather than returning immediately, to permit more stable startup.- Users must opt-in to get this behavior by setting
requiredInitialConnections: 1
(or similar) in their configuration.
- Users must opt-in to get this behavior by setting
Compatibility
- Baseplate.go v0.9.12 will require Go 1.19 or later.
What's Changed since Beta 6
- thriftbp: Add special handling of context.Canceled in prom labels by @fishy in #590
- thriftbp: Force recoverPanik to be the last server middleware by @fishy in #593
- thriftbp: Add a counter for opener calls in client pool by @fishy in #594
- errorsbp: Add Prefix by @fishy in #603
Behavior Changes
- tracing: Do not auto register ErrorReporterCreateServerSpanHook by @fishy in #600
- httpbp: Make the HTTP size buckets usable by @reptile-deer-66 in #595
- thriftbp:
requiredInitialConnections
will be retried, rather than returning immediately on the first error @nanassito in #602
What's Changed since v0.9.11
- Added Vault CSI support (set the
secrets.json
path to be the secrets mount directory) - Updated and added various Prometheus metrics to match the baseplate spec
- httpbp: Enable passthrough of HTTP ResponseWriter optional interfaces (e.g. to permit hijacking)
New Contributors
- @reptile-deer-66 made their first contribution in #595
- @dependabot made their first contribution in #604
Full Changelog: v0.9.12-beta.6...v0.9.12-beta.8