Skip to content

Releases: reddit/baseplate.go

v0.9.18

16 Jul 15:00
v0.9.18
Compare
Choose a tag to compare

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

01 May 22:10
039b291
Compare
Choose a tag to compare

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

08 Jan 21:34
v0.9.16
Compare
Choose a tag to compare
  • Support v2 tracing hook middlewares
  • thriftbp: Add config for THeader for general ingress routing
  • kafkabp: Add NewConsumerWithConfigOverriders

v0.9.15

08 Nov 19:05
ccc5cd0
Compare
Choose a tag to compare

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

Full Changelog: v0.9.14...v0.9.15

v0.9.14 - Metrics Compatibility

26 Jun 19:13
2f747b1
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.9.13...v0.9.14

v0.9.13: Redis Update

30 May 20:38
f9a75f4
Compare
Choose a tag to compare

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

26 May 23:11
f9a75f4
Compare
Choose a tag to compare
v0.9.13-rc.1 Pre-release
Pre-release

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

04 May 22:59
b782bb3
Compare
Choose a tag to compare

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.

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 the grpcbp 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

Full Changelog: v0.9.11...v0.9.12

v0.9.12-beta.9

04 May 21:30
b782bb3
Compare
Choose a tag to compare
v0.9.12-beta.9 Pre-release
Pre-release

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

Full Changelog: v0.9.12-beta.8...v0.9.12-beta.9

v0.9.12-beta.8

27 Feb 17:29
6f97656
Compare
Choose a tag to compare
v0.9.12-beta.8 Pre-release
Pre-release

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.

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

Full Changelog: v0.9.12-beta.6...v0.9.12-beta.8