Skip to content

Update gomod dependencies - #4681

Merged
renovate[bot] merged 1 commit into
mainfrom
renovate/gomod
Aug 26, 2026
Merged

Update gomod dependencies#4681
renovate[bot] merged 1 commit into
mainfrom
renovate/gomod

Conversation

@renovate

@renovate renovate Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
github.com/ClickHouse/clickhouse-go/v2 v2.47.0v2.48.0 age confidence
github.com/aws/aws-sdk-go-v2 v1.43.4v1.43.6 age confidence
github.com/aws/aws-sdk-go-v2/config v1.32.35v1.32.37 age confidence
github.com/aws/aws-sdk-go-v2/credentials v1.19.34v1.19.36 age confidence
github.com/aws/aws-sdk-go-v2/feature/rds/auth v1.6.33v1.6.37 age confidence
github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager v0.3.10v0.3.14 age confidence
github.com/aws/aws-sdk-go-v2/service/kms v1.55.2v1.55.6 age confidence
github.com/aws/aws-sdk-go-v2/service/s3 v1.106.5v1.107.2 age confidence
github.com/aws/aws-sdk-go-v2/service/ses v1.37.2v1.37.6 age confidence
github.com/aws/aws-sdk-go-v2/service/sts v1.45.4v1.45.6 age confidence
github.com/aws/smithy-go v1.27.6v1.27.8 age confidence
github.com/elastic/go-elasticsearch/v8 v8.19.6v8.19.7 age confidence
github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0v2.30.0 age confidence
github.com/pgvector/pgvector-go v0.4.0v0.4.1 age confidence
github.com/pgvector/pgvector-go/pgx v0.4.0v0.4.1 age confidence
github.com/slack-go/slack v0.27.0v0.29.0 age confidence
github.com/stretchr/testify v1.11.1v1.12.1 age confidence
github.com/testcontainers/testcontainers-go v0.43.0v0.44.0 age confidence
github.com/twmb/franz-go v1.21.5v1.21.6 age confidence
github.com/twpayne/go-geos v0.21.0v0.22.0 age confidence
github.com/urfave/cli/v3 v3.10.1v3.11.0 age confidence
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.69.0v0.70.0 age confidence
go.opentelemetry.io/otel v1.44.0v1.45.0 age confidence
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.44.0v1.45.0 age confidence
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.44.0v1.45.0 age confidence
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.44.0v1.45.0 age confidence
go.opentelemetry.io/otel/metric v1.44.0v1.45.0 age confidence
go.opentelemetry.io/otel/sdk v1.44.0v1.45.0 age confidence
go.opentelemetry.io/otel/sdk/metric v1.44.0v1.45.0 age confidence
go.opentelemetry.io/otel/trace v1.44.0v1.45.0 age confidence
go.temporal.io/api v1.63.4v1.63.5 age confidence
go.temporal.io/sdk v1.47.0v1.48.0 age confidence
golang.org/x/crypto v0.54.0v0.55.0 age confidence
golang.org/x/text v0.40.0v0.41.0 age confidence
golang.org/x/tools v0.48.0v0.49.0 age confidence
google.golang.org/grpc v1.82.1v1.83.1 age confidence
google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996afv1.36.12 age confidence

Release Notes

ClickHouse/clickhouse-go (github.com/ClickHouse/clickhouse-go/v2)

v2.48.0

Compare Source

What's Changed

Enhancements 🚀
Bug fixes 🐛
Other Changes 🛠

New Contributors

Full Changelog: ClickHouse/clickhouse-go@v2.47.0...v2.48.0

aws/aws-sdk-go-v2 (github.com/aws/aws-sdk-go-v2)

v1.43.6

v1.43.5

Compare Source

General Highlights

  • Dependency Update: Updated to the latest SDK module versions

Module Highlights

  • github.com/aws/aws-sdk-go-v2: v1.41.5
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/accessanalyzer: v1.45.12
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/account: v1.30.5
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/acm: v1.37.23
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/acmpca: v1.46.12
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/aiops: v1.6.21
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/amp: v1.42.9
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/amplify: v1.38.14
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/amplifybackend: v1.32.20
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/amplifyuibuilder: v1.28.20
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/apigateway: v1.39.1
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/apigatewaymanagementapi: v1.29.14
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/apigatewayv2: v1.34.1
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/appconfig: v1.43.13
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/appconfigdata: v1.23.22
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/appfabric: v1.16.21
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/appflow: v1.51.12
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/appintegrations: v1.37.7
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/applicationautoscaling: v1.41.14
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/applicationcostprofiler: v1.27.12
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/applicationdiscoveryservice: v1.35.13
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/applicationinsights: v1.34.20
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/applicationsignals: v1.19.1
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/appmesh: v1.35.12
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/apprunner: v1.39.14
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/appstream: v1.54.4
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/appsync: v1.53.5
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/arcregionswitch: v1.6.3
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/arczonalshift: v1.22.23
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/artifact: v1.15.5
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/athena: v1.57.4
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/auditmanager: v1.46.12
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/autoscaling: v1.64.4
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/autoscalingplans: v1.30.14
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/b2bi: v1.0.0-preview.100
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/backup: v1.54.11
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/backupgateway: v1.26.3
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/backupsearch: v1.6.23
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/batch: v1.63.2
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/bcmdashboards: v1.1.4
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/bcmdataexports: v1.14.0
    • Feature: With this release we are providing an option to accounts to have their export delivered to an S3 bucket that is not owned by the account.
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/bcmpricingcalculator: v1.10.9
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/bcmrecommendedactions: v1.1.5
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/bedrock: v1.57.1
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/bedrockagent: v1.52.7
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/bedrockagentcore: v1.15.2
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol: v1.25.1
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/bedrockagentruntime: v1.51.8
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/bedrockdataautomation: v1.13.5
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/bedrockdataautomationruntime: v1.10.4
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/bedrockruntime: v1.50.4
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/billing: v1.10.4
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/billingconductor: v1.28.5
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/braket: v1.39.8
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/budgets: v1.43.4
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/chatbot: v1.14.21
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/chime: v1.41.12
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/chimesdkidentity: v1.27.20
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines: v1.26.21
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/chimesdkmeetings: v1.33.15
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/chimesdkmessaging: v1.32.17
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/chimesdkvoice: v1.28.13
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/cleanrooms: v1.42.4
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/cleanroomsml: v1.22.5
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/cloud9: v1.33.20
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/cloudcontrol: v1.29.13
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/clouddirectory: v1.30.12
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/cloudformation: v1.71.9
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/cloudfront: v1.60.4
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore: v1.12.24
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/cloudhsm: v1.29.21
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/cloudhsmv2: v1.34.21
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/cloudsearch: v1.32.12
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/cloudsearchdomain: v1.28.20
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/cloudtrail: v1.55.9
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/cloudtraildata: v1.17.13
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/cloudwatch: v1.55.3
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/cloudwatchevents: v1.32.23
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs: v1.65.0
    • Feature: This release adds parameter support to saved queries in CloudWatch Logs Insights. Define reusable query templates with named placeholders, invoke them using start query. Available in Console, CLI and SDK
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/codeartifact: v1.38.21
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/codebuild: v1.68.13
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/codecatalyst: v1.21.12
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/codecommit: v1.33.12
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/codeconnections: v1.10.20
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/codedeploy: v1.35.13
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/codeguruprofiler: v1.29.20
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/codegurureviewer: v1.34.20
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/codegurusecurity: v1.16.24
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/codepipeline: v1.46.21
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/codestarconnections: v1.35.13
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/codestarnotifications: v1.31.21
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/cognitoidentity: v1.33.22
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider: v1.59.3
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/cognitosync: v1.29.12
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/comprehend: v1.40.21
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/comprehendmedical: v1.31.21
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/computeoptimizer: v1.49.8
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/computeoptimizerautomation: v1.0.8
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/configservice: v1.62.1
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/connect: v1.166.1
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/connectcampaigns: v1.20.20
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/connectcampaignsv2: v1.11.4
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/connectcases: v1.39.1
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/connectcontactlens: v1.33.13
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/connecthealth: v1.0.3
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/connectparticipant: v1.36.7
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/controlcatalog: v1.14.9
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/controltower: v1.28.9
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/costandusagereportservice: v1.34.13
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/costexplorer: v1.63.6
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/costoptimizationhub: v1.22.8
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/customerprofiles: v1.57.2
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/databasemigrationservice: v1.61.10
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/databrew: v1.39.14
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/dataexchange: v1.40.14
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/datapipeline: v1.30.20
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/datasync: v1.58.2
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/datazone: v1.54.2
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/dax: v1.29.16
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/deadline: v1.26.2
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/detective: v1.38.13
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/devicefarm: v1.38.8
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/devopsguru: v1.40.12
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/directconnect: v1.38.15
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/directoryservice: v1.38.16
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/directoryservicedata: v1.7.21
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/dlm: v1.35.16
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/docdb: v1.48.13
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/docdbelastic: v1.20.13
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/drs: v1.36.13
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/dsql: v1.12.8
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/dynamodb: v1.57.1
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning.
  • github.com/aws/aws-sdk-go-v2/service/dynamodbstreams: v1.32.14
    • Bug Fix: Fix a bug where a recorded clock skew could persist on the client even

Note

PR body was truncated to here.


Configuration

📅 Schedule: (in timezone Etc/UTC)

  • Branch creation
    • "after 5pm on monday"
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot added the dependencies Pull requests that update a dependency file label Aug 10, 2026
@renovate
renovate Bot requested a review from a team as a code owner August 10, 2026 20:10
@renovate
renovate Bot enabled auto-merge (squash) August 10, 2026 20:10
@renovate renovate Bot added the dependencies Pull requests that update a dependency file label Aug 10, 2026
@renovate

renovate Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor Author

ℹ️ Artifact update notice

File name: flow/go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 43 additional dependencies were updated

Details:

Package Change
google.golang.org/genproto/googleapis/api v0.0.0-20260630182238-925bb5da69e7 -> v0.0.0-20260803160001-6ac0973c030d
google.golang.org/genproto/googleapis/rpc v0.0.0-20260630182238-925bb5da69e7 -> v0.0.0-20260803160001-6ac0973c030d
cel.dev/expr v0.25.1 -> v0.25.2
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.32.0 -> v1.33.0
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.16 -> v1.7.18
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.35 -> v1.18.37
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.35 -> v1.4.37
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.35 -> v2.7.37
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.36 -> v1.4.38
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.15 -> v1.13.17
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.28 -> v1.9.30
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.35 -> v1.13.37
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.36 -> v1.19.38
github.com/aws/aws-sdk-go-v2/service/signin v1.5.4 -> v1.5.6
github.com/aws/aws-sdk-go-v2/service/sso v1.33.4 -> v1.33.6
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.4 -> v1.38.6
github.com/felixge/httpsnoop v1.0.4 -> v1.1.0
github.com/go-openapi/jsonpointer v0.22.5 -> v1.0.0
github.com/go-openapi/jsonreference v0.21.5 -> v1.0.0
github.com/go-openapi/swag v0.25.5 -> v0.28.0
github.com/go-openapi/swag/cmdutils v0.25.5 -> v0.28.0
github.com/go-openapi/swag/conv v0.25.5 -> v0.28.0
github.com/go-openapi/swag/fileutils v0.25.5 -> v0.28.0
github.com/go-openapi/swag/jsonutils v0.25.5 -> v0.28.0
github.com/go-openapi/swag/loading v0.25.5 -> v0.28.0
github.com/go-openapi/swag/mangling v0.25.5 -> v0.28.0
github.com/go-openapi/swag/netutils v0.25.5 -> v0.28.0
github.com/go-openapi/swag/stringutils v0.25.5 -> v0.28.0
github.com/go-openapi/swag/typeutils v0.25.5 -> v0.28.0
github.com/go-openapi/swag/yamlutils v0.25.5 -> v0.28.0
github.com/moby/moby/client v0.5.0 -> v0.5.1
github.com/moby/sys/sequential v0.6.0 -> v0.7.0
github.com/nexus-rpc/sdk-go v0.6.0 -> v0.7.0
github.com/shirou/gopsutil/v4 v4.26.5 -> v4.26.6
github.com/spiffe/go-spiffe/v2 v2.6.0 -> v2.7.0
go.opentelemetry.io/contrib/detectors/gcp v1.43.0 -> v1.44.0
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.69.0 -> v0.70.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.44.0 -> v1.45.0
go.opentelemetry.io/proto/otlp v1.10.0 -> v1.11.0
go.yaml.in/yaml/v3 v3.0.4 -> v3.0.5
golang.org/x/mod v0.38.0 -> v0.39.0
golang.org/x/net v0.57.0 -> v0.58.0
golang.org/x/telemetry v0.0.0-20260708182218-49f421fb7959 -> v0.0.0-20260811182544-a038080d80e5
File name: flow/pkg/go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 4 additional dependencies were updated

Details:

Package Change
github.com/andybalholm/brotli v1.2.1 -> v1.2.2
github.com/nexus-rpc/sdk-go v0.6.0 -> v0.7.0
go.yaml.in/yaml/v3 v3.0.4 -> v3.0.5
golang.org/x/net v0.56.0 -> v0.57.0

@claude

claude Bot commented Aug 10, 2026

Copy link
Copy Markdown

Code review

No issues found. Checked for bugs and CLAUDE.md compliance.

@claude

claude Bot commented Aug 10, 2026

Copy link
Copy Markdown

Renovate dependency bump review — flow/go.mod, flow/go.sum

Reviewed per .claude/REVIEW.md. No source changes, only module version bumps. No blocking findings. I read the upstream release notes / commit logs for every bumped range; the regression analysis is below.

Upstream breaking changes that do not affect us

go.opentelemetry.io/otel 1.44.0 → 1.45.0 ships two ⚠️ breaking changes:

  • WithEndpointURL in otlpmetrichttp/otlptracehttp no longer appends the default signal path (/v1/metrics); a path-less URL now resolves to / (#8538). Not affectedflow/otel_metrics/otel_manager.go:778-780 builds exporters with only WithMaxRequestSize(0) and relies on OTEL_EXPORTER_OTLP_*_ENDPOINT, whose semantics are explicitly unchanged (the change was made to match the env-var behavior).
  • otel/log/sdk/log now use attribute.Value for bodies and attributes; Kind/Value/KeyValue were removed. Not affected — every sdk/log import in the tree is go.temporal.io/sdk/log, not otel's.

I also verified WithMaxRequestSize(0) still means "unlimited" in 1.45.0 (maxSize > 0 && guard in both the HTTP and gRPC clients), so the workaround documented at otel_manager.go:773 stays valid. The default cardinality limit of 2000 predates this bump (1.44.0), so otel_manager.go:811 is unaffected too.

Fixes we pick up for free: exemplar reservoir memory leak that pinned gRPC transport buffers, histogram data-point reuse leaking stale sum/min/max, Retry-After finally interpreted as seconds instead of nanoseconds, and an attribute-set hash collision that could collapse a non-empty set. #8438 also stops including trace-exporter endpoint config in internal logs — a small win for the "no sensitive data in logs" rule.

github.com/twpayne/go-geos 0.21.0 → 0.22.0

The only true minor bump. Changes are ownership semantics plus one new API:

  • NewCollection now adopts unowned input geometries instead of cloning them.
  • Sub-geometries (CoordSeq, ExteriorRing, Geometry(n), InteriorRing(n), Point(n)) now keep the parent alive instead of being "valid only as long as the parent exists".
  • New ReleaseCollection, bound to GEOSGeom_releaseCollection_r.

We only use NewGeomFromWKB, NewGeomFromWKT, ToWKT, ToWKB, IsValidReason, SRID (flow/shared/datatypes/geo.go, flow/connectors/mysql/qvalue_convert.go:158, flow/model/qvalue/equals.go), so none of the ownership changes reach our code.

I specifically checked the GEOS floor, since GEOSGeom_releaseCollection is a GEOS 3.12.0 C API addition and an unconditional bind would break the cgo link on older libgeos. go-geos' tested minimum is unchanged at 3.12.1 between v0.21.0 and v0.22.0, and our workflows install libgeos-dev from Ubuntu 24.04 (GEOS 3.12.1) — so no new floor. Analyze (go) (CodeQL build-mode: autobuild, with libgeos-dev installed) is green on this PR, which confirms the link empirically.

One change does land on a hot path: WKBReader.Read now passes &wkb[0] directly to GEOSWKBReader_read_r instead of copying through C.CBytes. That's valid cgo (a []byte contains no Go pointers, and GEOS doesn't retain the buffer past the call) and it drops a malloc/copy/free per geometry in MySQL geometry CDC. Error text and the context.err propagation are unchanged, so the "Points of LinearRing do not form a closed linestring" match at flow/alerting/classifier.go:53 still classifies correctly.

github.com/pgvector/pgvector-go 0.4.0 → 0.4.1

Bug-fix-only release, and it lands directly on code we exercise. Parse/DecodeBinary for vector/halfvec/sparsevec previously panicked on short or malformed input (upstream #29); they now return errors. We call these on wire data at flow/connectors/postgres/cdc.go:489-503 and flow/connectors/postgres/qvalue_convert.go:590-606, and both sites already propagate a returned error — so this converts a potential worker panic into a normal error path. Net improvement.

I checked the one thing that could have regressed: SparseVector.Parse now runs validate(), which rejects indices outside [0, dim). Since Parse stores n-1 (1-based on the wire, 0-based internally), every sparsevec Postgres actually emits still passes — including the index == dim boundary. No false rejections. NewSparseVectorFromMap now panics on invalid input, but we don't call it.

Routine / no-op

  • AWS SDK feature/rds/auth 1.6.33→1.6.34, service/kms 1.55.2→1.55.3, service/ses 1.37.2→1.37.3 — all three changelog entries are dependency-update-only, picking up smithy-go v1.27.6, which go.mod already pins (unchanged here). No API or serde delta for us.
  • google.golang.org/grpc 1.82.1 → 1.83.0 — mostly xDS/RBAC panic fixes we don't reach. One behavior change worth knowing: the server now stops reading from connections flooded with HTTP/2 control frames, default 100 queued control frames (DATA/HEADERS excluded), tunable via GRPC_GO_EXPERIMENTAL_CONTROL_BUFFER_THROTTLE_LIMIT. Legitimate clients don't queue that many control frames, so I don't expect impact on flow-api or the Temporal client — but it's the first thing to look at if unexplained connection stalls appear post-merge.
  • spiffe/go-spiffe 2.6.0 → 2.7.0 (indirect, via gRPC) — experimental WIT-SVID support plus stricter X509-SVID leaf validation (rejects SPIFFE IDs with a root path). No SPIFFE usage in the tree.
  • cel.dev/expr 0.25.1 → 0.25.2 (indirect) — conformance tests and spec clarifications only; the /go.mod hash is unchanged.
  • go.opentelemetry.io/proto/otlp 1.10.0→1.11.0, contrib/detectors/gcp 1.43.0→1.44.0, opentelemetry-operations-go/detectors/gcp 1.32.0→1.33.0, genproto/googleapis/{api,rpc} — regenerated protos and transitive dependency updates. Both otlp-proto and pgvector drop Go < 1.25; we're on go 1.26.0, so that's fine.

No new stdout/stderr/log output is introduced anywhere in this diff, so there is no PII or secret-exposure surface to review.

Non-blocking note

otel core is now at 1.45.0 while the contrib instrumentation modules (otelgrpc, otelhttp) stay at v0.69.0. That's the pairing from contrib release v1.44.0, so it is internally consistent and MVS-compatible — just one contrib release behind. Expect a follow-up Renovate PR for v0.70.0.

For transparency on verification state: Analyze (go), CodeQL, docker-build and Check migration version numbers had passed when I reviewed; lint and the three flow_test matrix legs were still running, so the e2e signal (including the pgvector and MySQL geometry tests, the two suites this bump actually touches) should be confirmed green before merge.

@github-actions

Copy link
Copy Markdown
Contributor

❌ Test Failure

Analysis: The flow-worker container crashed mid-run (exit code 2, a Go panic) in both failing matrix jobs while all other services stayed healthy, so every mirror stalled in STATUS_SETUP/STATUS_SNAPSHOT and ~135 tests plus the 20-minute package deadline failed as cascading timeouts — a worker crash to investigate, not marginal test timing.
Confidence: 0.6

⚠️ This appears to be a real bug - manual intervention needed

View workflow run

@renovate
renovate Bot requested a review from a team August 10, 2026 21:40
@renovate
renovate Bot force-pushed the renovate/gomod branch from 92fc410 to 196d168 Compare August 11, 2026 16:34
@claude

claude Bot commented Aug 11, 2026

Copy link
Copy Markdown

Dependency bump review — no blocking findings

Reviewed per .claude/REVIEW.md. Diff is flow/go.mod, flow/go.sum, flow/pkg/go.mod, flow/pkg/go.sum only — no source changes, no new stdout/stderr/log output, no secrets or PII exposure introduced.

I read the upstream release notes / commit logs for each bumped range and checked the affected call sites in this repo. Summary below.

Breaking changes upstream that were checked and do not affect us

ClickHouse/clickhouse-go/v2 v2.47.0 → v2.48.0 — release notes flag a breaking change to the driver.Conn interface: it gained QueryFormat and InsertFormat (experimental, HTTP-only arbitrary format support). Only implementers of the interface break. We only consume clickhouse.Conn (flow/connectors/clickhouse/clickhouse.go, flow/pkg/clickhouse/{validation,query_retry}.go) and there is no type in the repo that implements it (no PrepareBatch/ServerVersion/Contributors methods defined anywhere). CodeQL Analyze (go) and docker-build both pass, confirming compilation.

Other v2.48.0 behaviour changes, all in the parameter-binding path:

  • bool query params now render true/false instead of 1/0
  • floats now bind as cast(v, 'Float64') instead of bare fmt.Sprint
  • escaping fix for string keys in Map binding
  • formatTime/Named date helpers made fully timezone-aware; datetime string format in JSON tightened

None of these reach us: every ClickHouse query in this repo is string-built and passes zero bound args (Query/QueryRow/Exec in flow/pkg/clickhouse/validation.go and flow/connectors/clickhouse/clickhouse.go all pass query-only). Also, the new structured HTTP exception handling and X-ClickHouse-Exception-Tag parsing are HTTP-protocol only — Connect() uses the default native protocol, so our *clickhouse.Exception matching in flow/alerting/classifier.go and flow/pkg/clickhouse/query_retry.go is unchanged.

Two genuine wins here: fix: use atomic.Int64 for clickhouse.connID (386 alignment), and fix: preserve per-query JWT in QueryOptions.clone().

go.opentelemetry.io/otel v1.44.0 → v1.45.0 — two ⚠️ breaking changes:

  • WithEndpointURL in otlpmetrichttp/otlptracehttp no longer appends the default signal path (/v1/metrics, /v1/traces); it now uses /. We never call WithEndpointURLflow/otel_metrics/otel_manager.go:778-780 and flow/otel_metrics/trace_provider.go:25 construct exporters with only WithMaxRequestSize(0) and rely on OTEL_EXPORTER_OTLP_*_ENDPOINT. Env-var handling is explicitly unchanged (the change was made to match env-var behaviour), so no silent re-routing of exports.
  • Kind/Value/KeyValue removed from go.opentelemetry.io/otel/log. We don't use otel/log at all (not in the module graph).

spiffe/go-spiffe v2.6.0 → v2.7.0 — X509-SVID verification now rejects leaf certs whose SPIFFE ID has a root path. Indirect-only dep (pulled via gRPC xDS); we don't do SPIFFE mTLS.

Behaviour changes worth knowing about

google.golang.org/grpc v1.82.1 → v1.83.0 — security hardening: the server now stops reading from a connection when flooded with HTTP/2 control frames, default limit 100 frames (excluding DATA/HEADERS), tunable via GRPC_GO_EXPERIMENTAL_CONTROL_BUFFER_THROTTLE_LIMIT. This is a net positive (DoS mitigation) but it is a new server-side throttle on our gRPC surface; worth remembering if anyone later sees unexplained stalls on a very chatty connection. Also fixes an ALTS panic on malformed frames and several xDS parsing panics — none of which we exercise.

twpayne/go-geos v0.21.0 → v0.22.0 — the interesting one, since this is cgo. Actual diff (4 commits):

  • WKBReader.Read no longer copies via C.CBytes; it passes &wkb[0] (Go memory) straight to GEOSWKBReader_read_r, with pWkb = nil when the slice is empty. This is on our hot path — datatypes.GeoValidate (flow/shared/datatypes/geo.go:19, reached from postgres/cdc.go:469 and postgres/qvalue_convert.go:734) and processGeometryData (mysql/qvalue_convert.go:158). Checked the empty-input case, which is reachable from cdc.go:469 when the tuple value is empty: GEOS's ByteOrderDataInStream::readByte() checks size() < 1 and throws ParseException before dereferencing, so a nil pointer with length 0 still surfaces as a normal parse error rather than a crash. The MySQL path is separately guarded by len(data) <= 4. The cgo pointer-passing itself is legal ([]byte contains no Go pointers, GEOS does not retain the buffer).
  • NewCollection now takes ownership of un-owned geometries instead of always cloning. We never call it (we only use NewGeomFromWKB/NewGeomFromWKT).
  • CoordSeq/Geometry/ExteriorRing/InteriorRing now keep the parent geometry alive via runtime.Cleanup instead of documenting a use-after-free footgun — strictly safer.
  • New ReleaseCollection calls GEOSGeom_releaseCollection_r, which needs GEOS ≥ 3.12. stacks/flow.Dockerfile uses Alpine geos-dev and CI installs libgeos-dev on ubuntu-latest; both are ≥ 3.12, and docker-build passing confirms the cgo build links.

go.opentelemetry.io/otel fixes we benefit from: Retry-After was being interpreted as nanoseconds instead of seconds (so OTLP HTTP retries effectively ignored server backoff — now honoured, and HTTP-date values are supported); a memory leak in the exemplar Reservoir that pinned whole context.Context values including gRPC transport buffers; a bug where a non-empty attribute set hashing to zero collapsed to an empty set; and histogram data-point reuse leaking stale sum/min/max.

Two notes relevant to the "no sensitive output" rule — both improvements

  • clickhouse-go v2.47.0 (what we're on today) shipped a stray fmt.Println("Debug!!!!: Am i here??") in conn_http_query.go; v2.48.0 removes it. It only fired on the HTTP transport with gzip/deflate/brotli, so we were never hitting it, but it's gone now either way.
  • otel v1.45.0 stops including trace-exporter endpoint configuration in internal logs (sdk/trace, otlptrace, otlptracegrpc, otlptracehttp, zipkin).

Remainder (routine, no action)

  • pgvector/pgvector-go + /pgx v0.4.0 → v0.4.1: fixes panics in Parse and DecodeBinary for Vector/SparseVector, plus validation for NewSparseVectorFromMap. Pure hardening on a path we hit through the pgx codec.
  • golang.org/x/net v0.56.0 → v0.57.0: QPACK decoder overflow panic fix, xsrftoken collision fix, idna rejects all-ASCII xn-- labels, http2: initialize Transport on NewClientConn.
  • elastic/go-elasticsearch/v8 v8.19.6 → v8.19.7: typed-API spec regen + CI only.
  • aws-sdk-go-v2 feature/rds/auth v1.6.34, service/kms v1.55.3, service/ses v1.37.3: routine codegen/endpoint patches.
  • cel.dev/expr v0.25.2, moby/moby/client v0.5.1, andybalholm/brotli v1.2.2, go.opentelemetry.io/proto/otlp v1.11.0, opentelemetry-operations-go/detectors/gcp v1.33.0, contrib/detectors/gcp v1.44.0: indirect/patch-level.
  • flow/pkg/go.mod drops go.yaml.in/yaml/v3 — consistent with clickhouse-go's chore: remove the YAML dependency from Version (it also replaced a panic in meta init with a hardcoded MinSupportedVersion).
  • otel core is now 1.45.0 while contrib stays on the v1.44.0 release train (detectors/gcp v1.44.0, otelgrpc/otelhttp v0.69.0 — same upstream release). That pairing is internally consistent and supported; contrib requires core ≥ its own version.

CI

Analyze (go), CodeQL, docker-build, and renovate/stability-days are green. lint and the three flow_test matrix legs were still running when this review was written — worth a glance before merge, since the go-geos WKB path and the ClickHouse connector are exactly what those e2e legs cover.

@renovate
renovate Bot force-pushed the renovate/gomod branch from 196d168 to 66ca636 Compare August 12, 2026 04:48
@claude

claude Bot commented Aug 12, 2026

Copy link
Copy Markdown

Dependency bump review — no findings

Reviewed per .claude/REVIEW.md. Diff is go.mod/go.sum only (flow + flow/pkg), no Go source changes, so there's nothing that adds new stdout/stderr/log output — the PII/secrets rule is a no-op here. I read the upstream release notes/commit logs for the bumped ranges; below is what I found and why none of it bites us.

Upstream changes that are flagged breaking, but don't affect us

ClickHouse/clickhouse-go/v2 v2.47.0 → v2.48.0 — release notes call out a breaking change to the driver.Conn interface (#1928): two new experimental methods QueryFormat/InsertFormat. That only breaks consumers that implement driver.Conn. We only ever consume it (clickhouse.Conn as a parameter/field type in flow/connectors/clickhouse/clickhouse.go and flow/pkg/clickhouse/*); there is no type in the repo satisfying the interface and no mock. Safe.

Also in 2.48, several query-parameter binding behavior changes: float params now bound as typed Float literals (#1894), bools rendered as true/false (#1892), Map string-key escaping (#1897), timezone-aware time format helpers (#1904). These are inert for us: every production call site builds the SQL string (QuoteIdentifier/QuoteLiteral/fmt.Sprintf) and passes no bind args — args... in flow/pkg/clickhouse/query_retry.go is empty at all callers.

Structured HTTP exceptions (#1910) only change the HTTP protocol path; we connect over native (no Protocol set in Connect), so flow/alerting/classifier.go's errors.AsType[*clickhouse.Exception] classification and chproto.Error code matching are unchanged. If we ever switch to HTTP this becomes an improvement rather than a hazard.

go.opentelemetry.io/otel v1.44.0 → v1.45.0 — two ⚠️ breaking changes: WithEndpointURL in otlpmetrichttp/otlptracehttp no longer appends the default signal path (/v1/metrics, /v1/traces), plus log-API type removals. We never call WithEndpointURLflow/otel_metrics/otel_manager.go and trace_provider.go construct exporters with only WithMaxRequestSize(0) and rely on OTEL_EXPORTER_OTLP_* env vars, whose behavior is exactly what the change aligns to. We don't use the OTel log SDK. Safe.

otelgrpc v0.69.0 → v0.70.0 — removes the deprecated WithSpanOptions. We only use NewServerHandler + WithMeterProvider (flow/cmd/api.go:240). Safe. Note net/http/otelhttp stays at v0.69.0 — fine, independent module and its otel requirement is satisfied by 1.45.

twpayne/go-geos v0.21.0 → v0.22.0 — the only real minor bump in the set. Two semantic changes: NewCollection now takes ownership of unowned geometries instead of always cloning, and sub-geometries/CoordSeq now keep the parent alive via runtime.Cleanup (strictly safer than the old "only valid as long as the parent exists"). We only use NewGeomFromWKT/NewGeomFromWKB (flow/shared/datatypes/geo.go, flow/connectors/mysql/qvalue_convert.go:158, flow/model/qvalue/equals.go), so neither applies. WKBReader.Read also stopped copying via C.CBytes and now passes &wkb[0] straight to cgo — legal under the cgo pointer rules ([]byte holds no Go pointers, GEOS doesn't retain it) and a small win on the MySQL geometry path. The new ReleaseCollection needs GEOSGeom_releaseCollection (GEOS ≥ 3.11); Alpine geos-dev in stacks/flow.Dockerfile and libgeos-dev on the Ubuntu runners both exceed that, and docker-build is green.

Bumps that are net improvements

  • pgvector/pgvector-go v0.4.0 → v0.4.1 — fixes panics in the Parse and DecodeBinary methods and tightens SparseVector validation (#29). Directly relevant: those are the decode paths for Postgres vector columns.
  • grpc-go v1.82.1 → v1.83.0 — security release; servers now stop reading from connections flooded with HTTP/2 control frames (default 100, tunable via GRPC_GO_EXPERIMENTAL_CONTROL_BUFFER_THROTTLE_LIMIT). Applies to our gRPC server in flow/cmd/api.go. The limit excludes DATA/HEADERS so normal traffic isn't affected; worth remembering as a knob if anyone ever sees odd connection resets. The remaining fixes are xds/alts, which we don't use.
  • go-spiffe v2.6.0 → v2.7.0 — X509-SVID verification now rejects leaf certs whose SPIFFE ID has a root path. Indirect-only for us.
  • Remainder (aws-sdk-go-v2 rds/auth/kms/ses patches, go-elasticsearch 8.19.7 = spec regen only, temporal.io/api 1.63.5 = additive proto + test refactor, brotli 1.2.2, cel.dev/expr, moby/moby/client, proto/otlp, detectors/gcp) are patch-level with no behavior changes touching our code paths.

Consistency

clickhouse-go v2.48.0 and golang.org/x/net v0.57.0 now match across flow and flow/pkg. The dropped go.yaml.in/yaml/v3 indirect in flow/pkg/go.mod is a go mod tidy consequence of the ClickHouse dependency-tree change.

Analyze/CodeQL and docker-build are green; lint and flow_test were still running when I reviewed — worth a glance before merge, but I found nothing in the bumped range that should trip them.

@renovate
renovate Bot force-pushed the renovate/gomod branch from 66ca636 to bc67f3e Compare August 12, 2026 05:28
@claude

claude Bot commented Aug 12, 2026

Copy link
Copy Markdown

Dependency bump review — no findings

Reviewed per .claude/REVIEW.md. This is a go.mod/go.sum-only change (no Go source), so the applicable rules are the log/secret-leak check and the upstream-regression check. I read the release notes and, wherever the notes flagged a breaking or behavioral change, the upstream source diff plus PeerDB's actual usage.

Breaking changes called out upstream — all verified non-applicable

Change Why it does not bite us
clickhouse-go v2.48.0 — "breaking change if you depend on driver.Conn" (#1928 adds QueryFormat/InsertFormat) Adding methods only breaks implementors. PeerDB only consumes clickhouse.Conn/driver.Rows/driver.Row (flow/connectors/clickhouse/clickhouse.go, flow/pkg/clickhouse/query_retry.go) — no type implements the interface. docker-build confirms it compiles.
otel v1.45.0WithEndpointURL in otlpmetrichttp/otlptracehttp no longer appends the default signal path (/v1/metrics, /v1/traces) We never call WithEndpointURL. flow/otel_metrics/otel_manager.go:778 and trace_provider.go:25 pass only WithMaxRequestSize(0) and rely on OTEL_EXPORTER_OTLP_*_ENDPOINT, which is unaffected.
otelgrpc v0.70.0 — removes deprecated WithSpanOptions flow/cmd/api.go:240 uses NewServerHandler(WithMeterProvider(...)) only.
clickhouse-go — min-supported-server check rewritten, floor raised 22.11 → 25.8 (#1902) Worth a look since PeerDB still supports older servers (normalize_query.go:382 has a < 25.6 fallback). It is warn-only, and Connect() (flow/connectors/clickhouse/clickhouse.go:228) sets neither Debug, Debugf, nor Logger, so Options.logger() returns the noop logger and nothing is emitted. No behavior change for us.
go-geos v0.22.0NewGeometryCollection now takes ownership of unowned geoms We only call NewGeomFromWKB/NewGeomFromWKT (shared/datatypes/geo.go, connectors/mysql/qvalue_convert.go, model/qvalue/equals.go). No ownership-semantics exposure.
go-openapi/jsonpointer & jsonreference v0.2x → v1.0.0 Major-version tag only; upstream states "Stable API pledge — no change from v0.24.0". Indirect, reached via k8s.io/kube-openapi.

Fixes we actually benefit from

  • clickhouse-go #1944: scanning a named Tuple into a map with an unsupported key type used to discard the error and panic in ScanRow (lib/column/tuple.go returned nil where it meant err); it now returns the error.
  • clickhouse-go #1905: connID moved to atomic.Int64, fixing 32-bit alignment crashes.
  • clickhouse-go #1894 / #1892 / #1897: float, bool and Map-key parameter-binding fixes. Not reachable from our code (the ClickHouse connector builds query strings rather than binding params), but harmless.
  • pgvector-go v0.4.1: fixes panics in Parse and DecodeBinary on malformed input — a real robustness win for the pgvector paths.
  • grpc v1.83.0: security release. Mitigates HTTP/2 frame-flood resource exhaustion, plus panic fixes in ALTS frame parsing and xds route/RBAC parsing.
  • otel v1.45.0: fixes an sdk/metric/exemplar memory leak where the reservoir retained the full context.Context and pinned gRPC transport buffers; also fixes stale histogram sum/min/max reuse.

Log / secret-leak check (REVIEW.md rule 1)

Nothing new is printed. Two changes move in the right direction:

  • clickhouse-go #1937 removes stray HTTP compression debug output.
  • otel v1.45.0 stops including trace-exporter endpoint configuration in internal logs.

Notes, not blockers

  • grpc v1.83.0 adds server-side control-buffer throttling: reads pause once more than 100 control frames are queued, tunable via GRPC_GO_EXPERIMENTAL_CONTROL_BUFFER_THROTTLE_LIMIT (1–10000). It is backpressure, not a hard cap, and our gRPC surface is nowhere near that rate — just worth knowing the escape hatch exists.
  • otel-contrib v1.44.0 changes the default otelhttp server span name to {method} {route} and reports _OTHER for unknown HTTP methods. otelhttp is indirect-only for us (Google API clients), but trace dashboards keyed on old span names may need updating.
  • spiffe v2.7.0 now rejects X509-SVID leaf certs whose SPIFFE ID has a root path. Indirect via grpc/xds; not on any PeerDB path.
  • flow/pkg/go.mod drops go.yaml.in/yaml/v3 and bumps golang.org/x/net to v0.57.0 — both fall out of clickhouse-go v2.48.0 replacing its YAML-parsed meta.yml with a constant, and the x/net pin now matches flow/go.mod.

At review time docker-build, Analyze (javascript-typescript) and renovate/stability-days had passed; lint and the three flow_test matrix legs were still running.

@renovate
renovate Bot force-pushed the renovate/gomod branch from bc67f3e to 737b477 Compare August 12, 2026 18:58
@claude

claude Bot commented Aug 12, 2026

Copy link
Copy Markdown

Dependency bump review — reviewed, no blocking findings

All four changed files are go.mod/go.sum (flow + flow/pkg); every change is an upgrade (no downgrades, no unexpected module additions beyond transitive restructuring: swag/jsonnameswag/pools, new indirect otel/metric/x v0.67.0). flow/pkg and flow agree on clickhouse-go v2.48.0. docker-build passed, so the whole flow module compiles against the new set; flow_test (e2e, 3 matrix legs) was still pending when this review ran.

Per .claude/REVIEW.md I read the upstream notes/commits for the bumped ranges. Notes below are informational — nothing here requires a change to this PR.

ClickHouse/clickhouse-go v2.47.0 → v2.48.0 (most impactful dep here)

  • driver.Conn gained QueryFormat/InsertFormat (upstream #1928, flagged breaking). PeerDB only consumes clickhouse.Conn (flow/pkg/clickhouse/*, flow/connectors/clickhouse/*, flow/e2e/clickhouse.go) and has no implementation/mock of it, so this is a no-op for us.
  • Minimum-supported-version warning threshold moved to 25.8.0 (#1902): resources/meta.yml (a 22.3–22.11 list) was replaced by MinSupportedVersion = 25.8.0, and dial() now warns unsupported clickhouse version for anything below it. Previously the fallback compared against 22.11, so 25.x never warned. PeerDB still supports older servers (e.g. the JSON gate at flow/model/qvalue/kind.go:121 is 25.3), so self-hosted users on 25.3–25.7 will start seeing a new (harmless, once per pool) driver warning in flow logs. CI's lowest image is clickhouse-server:25.8.28.1, so CI will not surface it.
  • proto.Exception gained CodeName (HTTP-only, best-effort); Code/Message/Error() are unchanged, so the ex.Message = "REDACTED" scrub for INCORRECT_DATA in flow/pkg/clickhouse/query_retry.go:82 still fully covers what gets logged — no new PII/data-leak path from this bump. Upstream also removed a stray HTTP compression debug print (#1937), a small win on the same axis.
  • HTTP-protocol-only work (structured exceptions #1910, arbitrary input/output formats, ErrFormatNativeUnsupported) does not apply: Connect() in flow/connectors/clickhouse/clickhouse.go:228 uses the native protocol.
  • Parameter-binding fixes (typed float literals, Array(Bool) rendering, Map key escaping, Field::restoreFromDump backslash escaping, timezone-aware time helpers) are no-ops for us: every ClickHouse statement PeerDB issues is a pre-built string and all Exec/Query/QueryRow call sites pass zero args.
  • lib/column/tuple.go now returns the map-key error instead of swallowing it (#1944) — PeerDB does not scan Tuples into maps.
  • Side benefit: the driver dropped its YAML dependency, which is why flow/pkg/go.mod loses go.yaml.in/yaml/v3.

opentelemetry-go 1.44.0 → 1.45.0 (+ contrib 0.69.0 → 0.70.0)

  • Two flagged breaking changes: WithEndpointURL in otlpmetrichttp/otlptracehttp no longer appends the default signal path (/v1/metrics, /v1/traces). PeerDB is unaffected — flow/otel_metrics/otel_manager.go:778 constructs exporters with only WithMaxRequestSize(0) and relies on OTEL_EXPORTER_OTLP_* env vars, whose semantics are unchanged (the change actually aligns the option with the env var).
  • The other breaking removals are in the OTel log API/SDK (log.Kind/Value/KeyValue), which PeerDB does not use.
  • otelgrpc now sets error.type on rpc.{client,server}.call.duration for non-OK statuses — worth knowing if any dashboard/alert aggregates those series, since it adds a dimension.

google.golang.org/grpc 1.82.1 → 1.83.0

Contains a security hardening: the server stops reading from connections flooded with queued non-DATA/HEADERS HTTP/2 frames (default 100, tunable via GRPC_GO_EXPERIMENTAL_CONTROL_BUFFER_THROTTLE_LIMIT), plus xds/rbac and ALTS panic fixes. Good to take; the only note is that the throttle is a new load-dependent behavior on the flow gRPC server.

twpayne/go-geos 0.21.0 → 0.22.0

Four commits. The relevant one: WKBReader.Read now passes the Go slice pointer straight to GEOSWKBReader_read_r instead of copying via C.CBytes, and passes a nil pointer for empty input. Both of our call paths stay correct — processGeometryData rejects len(data) <= 4 before slicing (flow/connectors/mysql/qvalue_convert.go:155), and an empty buffer still lands on the GEOS parse-error path rather than a deref. The collection-ownership change and new ReleaseCollection (needs GEOS ≥ 3.11 symbols) are unused by PeerDB, which only calls NewGeomFromWKB/WKT plus ToWKT/ToWKB; Alpine geos-dev and ubuntu-24.04 libgeos-dev both provide the symbol, confirmed by the passing docker-build.

Smaller ones

  • pgvector-go 0.4.0 → 0.4.1: fixes possible panics in Parse/DecodeBinary — a genuine robustness win for the vector paths in connectors/postgres/cdc.go and qvalue_convert.go.
  • grpc-gateway 2.29.0 → 2.30.0: essentially all generator-side (openapiv2/v3); no runtime behavior change for already-generated gateway code.
  • go.temporal.io/api 1.63.5: additive only (new REQUEST_TOO_LARGE workflow-task-failed cause, namespace size limit in DescribeNamespace).
  • go-elasticsearch 8.19.7: typed-API spec refresh plus test/CI changes.
  • AWS SDK patches (rds/auth, kms, ses): clock-skew persistence fix and dependency rollups.
  • Indirect churn (go-openapi/jsonpointer v1.0.0, swag 0.28.0, httpsnoop 1.1.0, spiffe 2.7.0, moby/moby/client 0.5.1, cel.dev/expr 0.25.2, yaml/v3 3.0.5) is routine; the go-openapi majors are version-scheme stabilizations pulled in via k8s deps, not API rewrites we touch.

One housekeeping note

The PR body table is stale relative to the diff (it lists rds/auth v1.6.34, kms v1.55.3, ses v1.37.3; the diff has v1.6.35, v1.55.4, v1.37.4) — Renovate rebased after the description was written. Nothing to fix, just do not review from the table alone.

@github-actions

Copy link
Copy Markdown
Contributor

🔄 Flaky Test Detected

Analysis: Flaky infrastructure failure: two matrix jobs failed with a transient HTTP 503 from GitHub releases while curl-downloading the Tilt binary in the "Install Tilt" step, so no tests ever ran (the third matrix job on the same commit passed).
Confidence: 0.97

✅ Automatically retrying the workflow

View workflow run

@github-actions

Copy link
Copy Markdown
Contributor

🔄 Flaky Test Detected

Analysis: TestApiPg/TestResyncWithSnapshotConfigOnPausedPipe timed out after 3 minutes waiting for the terminated flow to be dropped (api_test.go:1851) in only the pg16 matrix job, while the same test passed in the pg17/pg18 jobs and for the MySQL/Maria/Mongo source variants within the failing job — a timing/infra flake on a Renovate dependency-bump PR, not a code regression.
Confidence: 0.75

✅ Automatically retrying the workflow

View workflow run

@renovate
renovate Bot force-pushed the renovate/gomod branch 2 times, most recently from ba40d89 to d00e2d1 Compare August 13, 2026 06:44
@claude

claude Bot commented Aug 13, 2026

Copy link
Copy Markdown

Renovate bump review — no findings

Reviewed every bumped module against its upstream release notes / commit log for the exact bumped range. There are breaking changes upstream, but none of them touch code paths PeerDB uses. Details below so the analysis is auditable.

clickhouse-go v2.47.0 → v2.48.0 (direct, both flow and flow/pkg)

  • Breaking for implementers: driver.Conn gained the experimental HTTP-only QueryFormat/InsertFormat methods. PeerDB only consumes clickhouse.Conn/driver.Conn (flow/connectors/clickhouse, flow/pkg/clickhouse, flow/e2e) and never implements the interface — no mocks or var _ driver.Conn assertions exist.
  • Parameter-binding behavior changes (float params now bound as typed Float literals, Array(Bool) rendered as true/false, Map string-key escaping, fully timezone-aware time formatting): inert here. All ClickHouse SQL is built with fmt.Sprintf plus PeerDB's own QuoteLiteral, and every call into the Exec/Query/QueryRow wrappers in flow/pkg/clickhouse/query_retry.go passes zero bind args.
  • HTTP structured exceptions / HTTPError and the new arbitrary input/output format feature are HTTP-protocol-only. PeerDB connects over the native protocol (flow/connectors/clickhouse/clickhouse.go:233), so *clickhouse.Exception matching in query_retry.go, validation.go, cdc.go and alerting/classifier.go is unaffected. The new Parquet/ArrowStream codecs do not pull arrow-go into our module graph (nothing arrow-related lands in go.sum).
  • resources.ClientMeta.IsSupportedClickHouseVersion → hardcoded MinSupportedVersion + proto.CheckMinVersion: warning-log path only, and PeerDB never imports resources. This is also why go.yaml.in/yaml/v3 correctly disappears from flow/pkg/go.mod.
  • "Return errors when scanning Tuple maps" surfaces previously-silent scan errors — all PeerDB ClickHouse scans are scalars (string/bool/uint64), so no new error paths.
  • Upstream also removed stray HTTP compression debug output; nothing in the bumped range adds stdout/log output or credential-bearing output.

opentelemetry-go 1.44 → 1.45, contrib 0.69 → 0.70

  • Breaking: WithEndpointURL on the OTLP HTTP metric/trace exporters no longer appends /v1/metrics / /v1/traces. Not applicable — flow/otel_metrics/otel_manager.go:778-780 builds exporters with only WithMaxRequestSize(0) and relies on env-var configuration, whose path handling is explicitly unchanged.
  • Breaking: log-package removals (Kind/Value/KeyValue constructors, RecordFactory attribute limits) and log bodies moving to attribute.Value — PeerDB uses no otel logs SDK or bridge.
  • Breaking: otelgrpc dropped the deprecated WithSpanOptions; flow/cmd/api.go:240 uses only NewServerHandler + WithMeterProvider.
  • Behavior: time-unbiased exemplar reservoir sampling, plus fixes for concurrent baggage panics, exemplar reservoir memory leaks and Retry-After parsing — all upside.

grpc-go 1.82.1 → 1.83.0

Includes a DoS mitigation relevant to the gRPC server we expose: the server now stops reading from connections flooded with HTTP/2 control frames (default 100, excluding DATA/HEADERS, tunable via GRPC_GO_EXPERIMENTAL_CONTROL_BUFFER_THROTTLE_LIMIT). Worth remembering that env var exists if a legitimate high-concurrency client is ever throttled. The rest are xDS/RBAC and ALTS panic fixes on paths PeerDB does not use.

go-geos v0.21.0 → v0.22.0

Only four commits: NewGeometryCollection now takes ownership of unowned geoms, new ReleaseCollection, dep updates. PeerDB uses NewGeomFromWKB/NewGeomFromWKT, IsValidReason, ToWKT/ToWKB, SRID (flow/shared/datatypes/geo.go, flow/connectors/mysql/qvalue_convert.go) — all untouched. The Points of LinearRing do not form a closed linestring message that alerting/classifier.go classification depends on is unchanged.

pgvector-go v0.4.0 → v0.4.1

Pure bug-fix release: panics fixed in Parse and DecodeBinary, stricter SparseVector/NewSparseVectorFromMap validation. Directly beneficial to the Postgres vector decode path.

Remaining bumps (low risk, verified)

  • grpc-gateway 2.29.0 → 2.30.0: changes are in the openapiv2/v3 generators; the runtime stays compatible with our checked-in *.pb.gw.go. Side note (pre-existing, not introduced here): buf.gen.yaml still pins the gateway codegen plugin at v2.28.0.
  • temporal.io/api 1.63.4 → 1.63.5: additive proto fields (worker heartbeat type info, REQUEST_TOO_LARGE cause, activity request IDs, etc.).
  • go-elasticsearch 8.19.6 → 8.19.7: typed-API spec refresh plus test/CI changes.
  • go-openapi jsonpointer v0.22.5 → v1.0.0 is a stable-API pledge with no code change since v0.24.0; jsonreference v1.0.0 and swag 0.28.0 are additive (swag/jsonname dropped, swag/pools added, matching upstream's module restructure). All indirect via apimachinery/kube-openapi.
  • AWS SDK bumps (feature/rds/auth 1.6.35, service/kms 1.55.4, service/ses 1.37.4) are "Dependency Update" entries only per their per-module changelogs — no API, signing or token-generation behavior changes.
  • spiffe 2.7.0, httpsnoop 1.1.0, brotli 1.2.2, yaml/v3 3.0.5, cel.dev/expr 0.25.2, moby/moby/client 0.5.1, GCP detectors 1.33.0 and the genproto digest: patch/additive indirect updates.

Other checks

  • No stdout/stderr/log additions and no PII/secret exposure — the PR touches only go.mod/go.sum.
  • The flow/pkg/go.mod changes (drop go.yaml.in/yaml/v3, bump golang.org/x/net to v0.57.0) are exactly what clickhouse-go v2.48.0's own requirements imply, so the tidy result is consistent.

CI at review time: docker-build passed, confirming the tree compiles against the new versions. lint and the three flow_test matrices were still running, so final sign-off should wait for those.

@claude

claude Bot commented Aug 13, 2026

Copy link
Copy Markdown

Dependency bump review — no regressions found

Reviewed per .claude/REVIEW.md. The diff is flow/go.mod, flow/go.sum, flow/pkg/go.mod, flow/pkg/go.sum only — no source changes, so nothing new is written to stdout/stderr/logs and no PII/secret exposure surface is added.

I read the upstream release notes and commit logs for the bumped ranges of the direct dependencies with real surface area here, checked the remainder against their changelogs, and traced each behavior change back to how this repo actually uses the library. Nothing found that warrants blocking. Details below for the non-trivial ones.

clickhouse-go v2.47.0 → v2.48.0 (largest change in this PR)

  • driver.Conn gained QueryFormat/InsertFormat (experimental, HTTP-only) — upstream flags this as a breaking change for implementers of the interface. We only consume clickhouse.Conn (flow/connectors/clickhouse/clickhouse.go:32, flow/pkg/clickhouse/query_retry.go), never implement it, so no compile break.
  • Parameter-binding changes (bind.go +156/-26, query_parameters.go +103/-9: floats now bind as typed Float literals, bools render true/false for Array(Bool), Map string-key escaping, Field dump backslash escaping, timezone-aware time formatting). All four peerdb_clickhouse.Exec/Query/QueryRow call sites pass zero args — queries are built with fmt.Sprintf — so these paths are inert for us. (The $1-style parameters in s3_stage.go are pgx against the catalog, not ClickHouse.)
  • New HTTP structured exceptions / HTTPError (conn_http_errors.go, conn_http_format.go) — Connect() sets no Protocol, so we are on native; error classification in isRetryableException and alerting/classifier.go still sees *clickhouse.Exception. Exception only gained an additive CodeName field (HTTP-only, best-effort) and Error() is unchanged, so the ErrIncorrectDataMessage = "REDACTED" scrubbing in query_retry.go:82 still works. Every clickhouse.Exception{...} literal in alerting/classifier_test.go is keyed, so the new field does not break them.
  • ⚠️ Worth knowing: resources/meta.yml was deleted and replaced by a hardcoded MinSupportedVersion = 25.8.0. The previous floor was effectively 22.11 (greatest entry in meta.yml). It is log-only — conn.go still just calls logger.Warn("unsupported clickhouse version", ...) for the first connection in the pool, no error — so no functional break. CI's oldest image is clickhouse-server:25.8.28.1, exactly at the new floor, so CI stays quiet; self-hosted destinations below 25.8 will start emitting that warning.
  • Also included: Tuple map scan now returns errors instead of swallowing them (return reflect.Value{}, nilerr), per-query JWT preserved in QueryOptions.clone(), connID moved to atomic.Int64 for 386 alignment, stray HTTP compression debug output removed.

opentelemetry-go v1.44.0 → v1.45.0 + contrib v0.69.0 → v0.70.0

  • The headline breaking change — WithEndpointURL no longer appending the default signal path (/v1/metrics, /v1/traces) when the URL has no path — does not affect us: otel_metrics/otel_manager.go:768 builds exporters from env config only (otlpmetrichttp.New(ctx, WithMaxRequestSize(0))), never WithEndpointURL. Env-var behavior is unchanged by design; that is what the new behavior was aligned to.
  • The otel/log API removals (Kind, Value, KeyValue) and the attribute.Value log-body migration do not apply — we have no dependency on the OTel log SDK.
  • WithMaxRequestSize semantics are untouched in 1.45.0, so the v1.44.0 workaround comment at otel_manager.go:773 remains accurate.
  • otelgrpc: only the deprecated WithSpanOptions was removed — we use otelgrpc.NewServerHandler (flow/cmd/api.go:240). Semconv moved to v1.42/v1.43, and server.address/server.port now prefer the gRPC dial target over the resolved peer IP, but that is client-side instrumentation; our server handler is unaffected, and no committed dashboards reference rpc.server/server.address.

grpc-go v1.82.1 → v1.83.0

New server-side HTTP/2 frame-flood mitigation: the server stops reading a connection past 100 pending non-DATA/non-HEADERS frames, tunable via GRPC_GO_EXPERIMENTAL_CONTROL_BUFFER_THROTTLE_LIMIT. Our gRPC server (flow/cmd/api.go) serves low-volume UI/API traffic so this should not trip, but it is the one new knob to remember if anyone ever sees stalled connections. The rest is xDS/RBAC/ALTS panic fixes and Plan 9 build repair, none of which we exercise.

grpc-gateway v2.29.0 → v2.30.0

Verified generator-only: comparing the runtime/ and utilities/ trees at both tags, the only blobs that differ are runtime/convert_test.go and runtime/internal/ (test fixtures); utilities/ is byte-identical. Since our gateway stubs are generated and committed, the new openapiv3 generator and openapiv2 fixes are no-ops until someone regenerates.

pgvector-go v0.4.0 → v0.4.1 — net win for us

A real reliability improvement on a hot path. Vector.DecodeBinary, HalfVector (including its pgx scan plan) and SparseVector gained length/bounds validation; previously a truncated or malformed binary payload indexed past the end of the buffer and panicked. We register these codecs in shared/postgres.go:51-56 and decode them during CDC and initial load (connectors/postgres/qvalue_convert.go:590, connectors/postgres/cdc.go:489), and the pgx VectorCodec scan plan delegates straight to the hardened Vector.DecodeBinary, so the fix covers our path. The string Parse methods got the same treatment.

go-geos v0.21.0 → v0.22.0

Two behavior-bearing changes: NewCollection now takes ownership of un-owned geoms instead of cloning (plus a new ReleaseCollection), and WKBReader.Read passes &wkb[0] straight to cgo instead of copying through C.CBytes. We never call the collection APIs. We do hit the WKB reader via NewGeomFromWKB (shared/datatypes/geo.go:19, connectors/mysql/qvalue_convert.go:158) — the new zero-copy path is a straight perf win, and the empty-input edge case (data[4:] on a 4-byte payload now yields a nil pointer with size 0) is safe: GEOS raises ParseException on a zero-size read before dereferencing, so we still get an error rather than a crash. IsValidReason/ToWKT/ToWKB/SRID are untouched.

Remaining bumps — routine, no impact

Bump Assessment
go-elasticsearch 8.19.6 → 8.19.7 Typed-API spec refresh only; we use the classic client + esutil
temporal.io/api 1.63.4 → 1.63.5 Additive proto fields. The one removal (reset_attempts/reset_heartbeat from UnpauseActivityExecution) is unreferenced here
aws-sdk-go-v2 rds/auth, kms, ses "Updated to the latest SDK module versions" plus smithy-go v1.27.6 HTTP-binding serialization fix
go.yaml.in/yaml/v3 3.0.4 → 3.0.5 Test-suite migration and retraction of uninstallable v3 tags; no parser changes
spiffe/go-spiffe 2.6.0 → 2.7.0 Carries a breaking X509-SVID verification change, but it is an unused indirect dep of grpc's xDS
felixge/httpsnoop 1.0.4 → 1.1.0 Additive interfaces plus panic-duration and hook-preservation fixes
go-openapi jsonpointer/jsonreference → v1.0.0, swag → v0.28.0 v1.0.0 is a stability declaration ("no change from v0.24.0"). Indirect via k8s; swag/jsonname correctly dropped and swag/pools added, with no dangling jsonname entries left in go.sum
cel.dev/expr, detectors/gcp, proto/otlp, genproto api/rpc, moby/moby/client, brotli, otel/metric/x Routine patch bumps, all indirect

flow/pkg/go.mod correctly drops go.yaml.in/yaml/v3 (clickhouse-go removed its YAML dependency in this release) and moves golang.org/x/net to 0.57.0, matching flow/go.mod — both modules are internally consistent.

Build/lint/e2e verification is left to CI; the Go toolchain was not runnable in this review environment.

@renovate
renovate Bot force-pushed the renovate/gomod branch from d00e2d1 to 6980ebc Compare August 13, 2026 16:57
@claude

claude Bot commented Aug 13, 2026

Copy link
Copy Markdown

Dependency-bump review (go.mod/go.sum only)

Reviewed per .claude/REVIEW.md: read the upstream release notes / commit logs for every direct bump and checked each behavior change against how this repo actually uses the library. No findings — nothing here looks like a regression for PeerDB.

Notable upstream changes, and why they do not bite us

ClickHouse/clickhouse-go v2.47.0 → v2.48.0 — the release has a documented breaking change to the driver.Conn interface (arbitrary input/output formats, HTTP only) plus several parameter-binding changes: floats bound as typed Float literals, timezone-aware time formatting, fixed escaping of string keys in Map binding, Array(Bool) params rendered as true/false.

  • We only consume clickhouse.Conn (flow/connectors/clickhouse/clickhouse.go:32, flow/pkg/clickhouse/*); no type in the repo implements it, so the interface change is source-compatible.
  • Connect uses the default Native protocol with LZ4 (flow/connectors/clickhouse/clickhouse.go:233), so the HTTP-only changes (structured Exception for HTTP, removal of the stray HTTP compression debug print) are not on our path.
  • All ClickHouse statements go through peerdb_clickhouse.Exec/Query/QueryRow with no bound args (queries are built as strings), so the bind/format changes cannot alter emitted SQL. The conn.Exec/conn.QueryRow calls in flow/connectors/clickhouse/s3_stage.go are the Postgres catalog pool, not ClickHouse.
  • Fixes we do gain: connID atomic alignment and Tuple-map scan error handling.

opentelemetry-go v1.44.0 → v1.45.0 — the breaking change is WithEndpointURL no longer appending the default signal path (/v1/metrics, /v1/traces) when the URL has no path. We never call WithEndpointURL; exporters are configured purely from OTEL_* env vars (flow/otel_metrics/otel_manager.go:768), and env-var semantics are unchanged. Also verified WithMaxRequestSize(0) is still documented as "no request-size limit" in v1.45.0, so the workaround added for the v1.44 64 MiB default still holds. Bonus: memory-leak, concurrent-baggage and exemplar off-by-one fixes.

twpayne/go-geos v0.21.0 → v0.22.0NewGeometryCollection now takes ownership of unowned geoms instead of cloning (behavior change), and ReleaseCollection is new. Neither is called anywhere; our usage is WKB/WKT parsing only (flow/shared/datatypes/geo.go, flow/connectors/mysql/qvalue_convert.go, flow/model/qvalue/equals.go). ReleaseCollection binds GEOSGeom_releaseCollection_r unguarded, but that symbol exists since GEOS 3.4, so no libgeos floor is raised for geos-dev in stacks/flow.Dockerfile or libgeos-dev in CI.

otelgrpc v0.69.0 → v0.70.0 — semconv bumped to v1.42/v1.43, and server.address/server.port now prefer the gRPC dial target over the resolved peer IP. That change is client-handler only; we use otelgrpc.NewServerHandler (flow/cmd/api.go:240).

grpc-go v1.82.1 → v1.83.0 — adds HTTP/2 control-frame flood backpressure: the transport stops reading when more than 100 pending frames (excluding DATA/HEADERS) accumulate. Tunable via GRPC_GO_EXPERIMENTAL_CONTROL_BUFFER_THROTTLE_LIMIT — worth remembering if gRPC throughput anomalies show up after this merges. Also ALTS malformed-frame panic fix and xDS/RBAC matcher fixes.

pgvector-go v0.4.0 → v0.4.1 — fixes panics in Parse/DecodeBinary for Vector/HalfVector/SparseVector and tightens SparseVector validation. Net win for the codecs registered in flow/shared/postgres.go:51-56: a malformed vector payload now returns an error instead of panicking mid-sync. Only nuance: stricter validation may surface an error where a malformed sparsevec previously decoded to garbage.

grpc-gateway v2.29.0 → v2.30.0 — runtime bump only. buf.gen.yaml:32 still pins the gateway codegen plugin at v2.28.0, so the generator-side fixes in 2.29/2.30 (nested oneof body init, request draining after ParseForm) are not actually picked up. A runtime newer than the generator is fine, but that pin drifts a bit further with each Renovate runtime bump — probably worth bumping it separately at some point.

Low-risk remainder — elasticsearch v8.19.7 (typed-API spec sync + test fix), temporal api v1.63.5 (additive proto fields/enums), aws-sdk feature/rds/auth, service/kms, service/ses patch releases. Indirects: go-openapi jsonpointer/jsonreference v1.0.0 are stability-tag releases with an explicit "no API change from v0.24.0" pledge; swag v0.28.0 adds conv.AppendXXX and reshuffles its module set (jsonname dropped, pools added — consistent with the tidy result here); httpsnoop v1.1.0 raises the Go floor to 1.25 (we are on 1.26); go-spiffe v2.7.0 now rejects leaf certs whose SPIFFE ID has a root path, reached only via grpc xds, which we do not use; plus moby/moby/client, brotli, cel.dev/expr and go.yaml.in/yaml/v3 patch bumps.

Other checks

  • No new stdout/stderr/log output, so nothing that could leak credentials or PII (only go.mod/go.sum changed).
  • Module skew between flow and flow/pkg stays consistent: clickhouse-go is v2.48.0 in both, and golang.org/x/net in flow/pkg moves to 0.57.0 to match flow.
  • At review time: lint, docker-build and CodeQL/Analyze (go) are green (so the module graph resolves and everything compiles); the flow_test e2e matrix is still running — those runs are the real gate for the clickhouse-go and pgvector bumps.

@claude

claude Bot commented Aug 13, 2026

Copy link
Copy Markdown

Code review

No issues found. Checked for bugs and CLAUDE.md compliance.

Upstream regression check (per .claude/REVIEW.md)

Diff is flow/go.mod, flow/go.sum, flow/pkg/go.mod, flow/pkg/go.sum only — no Go source, so the log/secret-leak rule has nothing to bite on. Manifest checks: every bumped version has matching h1:/go.mod h1: pairs in the corresponding go.sum (including the swag/jsonnameswag/pools swap, which is removed/added cleanly in both files); no downgrades; no new direct dependencies. flow/go.mod has replace github.com/PeerDB-io/peerdb/flow/pkg => ./pkg, and the shared deps move in lockstep — clickhouse-go v2.48.0 on both sides, and golang.org/x/net is now v0.57.0 in both (flow/pkg previously lagged at v0.56.0).

Reviewed the bumped ranges against upstream release notes / commit logs. There are breaking changes upstream, but none reach a PeerDB call site:

Library Range Relevant upstream change Impact
ClickHouse/clickhouse-go/v2 v2.47.0 → v2.48.0 #1928 adds QueryFormat/InsertFormat to driver.Conn — flagged breaking Breaks implementers only; PeerDB is a pure consumer (no mocks/wrappers implement clickhouse.Conn). Parameter-binding changes (#1894, #1892, #1897, #1899) do not apply — PeerDB builds SQL as strings and passes zero bind args. #1910 (structured *clickhouse.Exception over HTTP) strictly helps isRetryableException in flow/pkg/clickhouse/query_retry.go.
twpayne/go-geos v0.21.0 → v0.22.0 #243 NewGeometryCollection ownership change, #244 ReleaseCollection, #245 re-enable GEOS_USE_ONLY_R_API PeerDB only calls NewGeomFromWKB/NewGeomFromWKT/IsValidReason/ToWKT/ToWKB/SRID. The "drop GEOS < 3.12.1" change landed in v0.21.0, not this range.
pgvector/pgvector-go v0.4.0 → v0.4.1 Bug-fix only: panics in Parse / DecodeBinary turned into errors Improvement for the Vector/HalfVector/SparseVector decode paths in the Postgres connector.
go.opentelemetry.io/otel* v1.44.0 → v1.45.0 ⚠️ otel/log Kind/Value/KeyValue removed (#8490); ⚠️ WithEndpointURL no longer appends the default signal path (#8538) PeerDB does not use the OTel logs SDK and does not call WithEndpointURL — exporters are built with only WithMaxRequestSize(0) and rely on OTEL_EXPORTER_OTLP_* env vars, whose behaviour is unchanged.
otelgrpc v0.69.0 → v0.70.0 #8904 prefers dial target over resolved peer IP for server.address/server.port Client-instrumentation only; PeerDB uses otelgrpc.NewServerHandler.
google.golang.org/grpc v1.82.1 → v1.83.0 Mostly xDS/ALTS work; #9231 re-adds redacted metadata.MD.String() None of xDS, ALTS, or MD.String are used.
grpc-gateway/v2 v2.29.0 → v2.30.0 #7192, #7191, #7180 All in the protoc plugin / codegen templates, not the runtime package PeerDB imports.
spiffe/go-spiffe v2.7.0, felixge/httpsnoop v1.1.0, go-openapi/swag v0.28.0 (jsonpointer/jsonreference v1.0.0) indirect No direct imports under flow/; pulled in via k8s.io/apimachinery/kube-openapi. jsonpointer/jsonreference v0.x → v1.0.0 is a legitimate v0→v1 promotion, so the unsuffixed module path is correct.

AWS SDK (rds/auth, kms, ses), genproto, go.temporal.io/api v1.63.5, elastic/go-elasticsearch v8.19.7, cel.dev/expr, moby/moby/client, andybalholm/brotli, go.yaml.in/yaml/v3 are patch-level with no API surface changes affecting this repo.

One note, not a defect: go.yaml.in/yaml/v3 v3.0.4 is dropped from flow/pkg/go.mod while flow/go.mod bumps it to v3.0.5. These are independent main modules with separate build lists, and the stale v3.0.4 lines left in flow/pkg/go.sum are harmless — only missing go.sum entries break go build/go mod verify.

@renovate
renovate Bot force-pushed the renovate/gomod branch from 6980ebc to e2d2580 Compare August 13, 2026 17:21
Comment thread flow/go.mod Outdated
google.golang.org/grpc v1.82.1
google.golang.org/genproto/googleapis/api v0.0.0-20260803160001-6ac0973c030d
google.golang.org/genproto/googleapis/rpc v0.0.0-20260803160001-6ac0973c030d
google.golang.org/grpc v1.83.0

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

grpc-go v1.83.0 substantially widens what counts against the HTTP/2 control-buffer read throttle.

This is the one behavioural change in the bump with production blast radius. In internal/transport/controlbuf.go the marker was inverted:

  • v1.82.1: isTransportResponseFrame() returned true only for items that produce a RST_STREAM (cleanupStream{rst:true}, headerFrame with cleanup.rst), against a hardcoded maxQueuedTransportResponseFrames = 50. In practice almost nothing counted.
  • v1.83.0: every control-buffer item now embeds throttledItem except clientHeaders, serverHeaders and dataFrame. So incomingWindowUpdate, outgoingWindowUpdate, registerStream, ping, incomingSettings/outgoingSettings, goAway and cleanupStream (rst or not) all count, against maxQueuedControlBufferItems = envconfig.ControlBufferThrottleLimit (default 100).

controlBuf.throttle() is called from the reader loop of both http2_server.go and http2_client.go, so it applies to the gRPC API server (flow/cmd/api.go:240) and to client transports, including flow worker connections to Temporal.

Failure scenario: a connection streaming large payloads (activity results, workflow histories, or a busy API server) where the loopy writer is momentarily blocked on a backpressured socket. Incoming DATA keeps generating incomingWindowUpdate/outgoingWindowUpdate items; once more than 100 are queued the reader loop stops reading that connection until the queue drains. That surfaces as latency spikes or apparent stalls rather than errors, so no test will catch it — it shows up in production tail latency.

Upstream ships this as a flood / resource-exhaustion mitigation, so keeping it is right. Noting the escape hatch in case worker-to-Temporal latency regresses after deploy: GRPC_GO_EXPERIMENTAL_CONTROL_BUFFER_THROTTLE_LIMIT (1-10000, default 100). Upstream marks that env var as temporary, so it is a stopgap rather than a long-term knob.

Also in v1.83.0: an ALTS panic fix on malformed frames, plus xDS/RBAC fixes (not used here). v1.83.0 is the latest release with no follow-up patch, and it has cleared the Renovate minimum release age.


The rest of the bump set was read against upstream notes and commit logs, and is clean: otel 1.45 / contrib 0.70 breaking removals are confined to otel/log, sdk/log/logtest and otelgrpc.WithSpanOptions (none used — we use NewServerHandler + WithMeterProvider), and the new attribute.MAP kind hits no exhaustive attribute.Kind switch in flow/; go-geos 0.22 changes WKBReader.Read to pass the Go slice pointer straight to C (cgo-safe, GEOS does not retain it) and reworks collection ownership, but we only call NewGeomFromWKB/NewGeomFromWKT and the MySQL path already guards len(data) <= 4; pgvector-go 0.4.1 is a straight win (fixes panics in Parse/DecodeBinary on malformed vectors); grpc-gateway 2.30 touches only the openapiv2/v3 generators, not the imported runtime; go-openapi jsonpointer/jsonreference v1.0.0 are API-stability pledges with no code change, and swag 0.26-0.28 are additive with swag/jsonname folded into jsonpointer (hence the jsonname line dropping and pools appearing); the three aws-sdk-go-v2 bumps are Dependency Update only, with smithy-go correctly staying at v1.27.6; temporal api 1.63.5 is additive-only per upstream; go-elasticsearch 8.19.7 is typed-API regeneration; go-spiffe 2.7 tightens X509-SVID verification but is reachable only transitively via go-control-plane; httpsnoop 1.1.0 adds deadline / full-duplex support and is consumed only by otelhttp. No bumped dependency adds log output carrying credentials or PII — two of them remove existing noise (otel no longer logs trace-exporter endpoint config, clickhouse-go removes a stray HTTP compression debug print).

Comment thread flow/go.mod
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/eventhub/armeventhub v1.3.0
github.com/ClickHouse/ch-go v0.74.0
github.com/ClickHouse/clickhouse-go/v2 v2.47.0
github.com/ClickHouse/clickhouse-go/v2 v2.48.0

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clickhouse-go v2.48.0 is tagged as a breaking change upstream — verified PeerDB is not exposed. No action needed; recording the check so it does not have to be re-derived.

Upstream flags #1928 (arbitrary input/output formats) as "breaking change if you depend on the driver.Conn interface". Nothing in this repo implements clickhouse.Conn/driver.Conn — it is only consumed (connectors/clickhouse/clickhouse.go:32,199, pkg/clickhouse/query_retry.go), and adding methods to an interface only breaks implementers. The passing CodeQL Go build confirms it.

The other semantic changes in 2.48.0 all sit in query parameter binding: floats now bound as typed Float literals (#1894), bools rendered true/false (#1892), Map string-key escaping (#1897), fully timezone-aware time formatting (#1904). Every production ClickHouse call goes through peerdb_clickhouse.Exec/Query/QueryRow with no bind args (queries are string-built), so none of those paths are reachable.

Two things worth keeping an eye on:

  1. #1944 makes Scan return errors when scanning a Tuple into a map, instead of silently succeeding. Production does not scan tuples, but if a ClickHouse e2e assertion does, this bump is what changed its behaviour.
  2. #1902 replaces resources.ClientMeta.IsSupportedClickHouseVersion with a plain proto.CheckMinVersion(resources.MinSupportedVersion, ...). It only affects the "unsupported clickhouse version" warn log, but it also drops the clickhouse-go yaml dependency — that is why go.yaml.in/yaml/v3 disappears from flow/pkg/go.mod in this diff. Expected, not an accidental removal; it stays in flow/go.mod, bumped to 3.0.5 via other deps.

The remaining 2.48.0 changes are HTTP-protocol-only (structured exceptions #1910, the formats work, and removal of a stray HTTP compression debug print), and Connect uses the default native protocol, so they do not apply. ch-go is already at the 0.74.0 that 2.48.0 wants, so no follow-up bump is needed.

@github-actions

Copy link
Copy Markdown
Contributor

🔄 Flaky Test Detected

Analysis: TestApiPg/TestResyncWithSnapshotConfigOnPausedPipe timed out waiting for the resynced ClickHouse table to reach 2 rows (stuck at 1) on only the pg16/ch-lts matrix leg, while the same test passed on pg17 and pg18 for the identical commit — a convergence-timeout flake, not a regression from this Renovate gomod bump.
Confidence: 0.85

✅ Automatically retrying the workflow

View workflow run

@claude

claude Bot commented Aug 26, 2026

Copy link
Copy Markdown

Renovate dependency bump review

Scope is flow/go.mod, flow/go.sum, flow/pkg/go.mod, flow/pkg/go.sum only — no source changes, so there is nothing to check for PII/secret exposure in logs or output.

Per .claude/REVIEW.md I read the upstream release notes / commit logs for the bumps that touch runtime-critical paths, looking for regressions. No blocking findings. Several of these releases do carry breaking or behavior-changing items, so here is each one and why it does not bite us:

Bump Upstream change worth noting Impact here
clickhouse-go v2.47.0v2.48.0 Explicitly marked breaking for anyone implementing the driver.Conn interface (#1928). Client-side param binding changed: floats now render as a typed cast(...) literal (#1894), bools as true/false (#1892), Map string-key escaping fixed (#1897). New structured Exception for the HTTP protocol (#1910). Safe. We only consume clickhouse.Conn / driver.Rows, never implement them. Every production CH query is built with fmt.Sprintf and goes through peerdb_clickhouse.Exec/Query with no bound args, so the binding fixes are inert. clickhouse.Open in flow/connectors/clickhouse/clickhouse.go:233 does not set Protocol, so we stay on Native and the HTTP-exception change never reaches the *clickhouse.Exception branch in flow/alerting/classifier.go:1111.
otel v1.44.0v1.45.0 Breaking: WithEndpointURL in otlpmetrichttp / otlptracehttp no longer appends the default signal path (/v1/metrics, /v1/traces) when the URL has no path — it now uses /. Safe. flow/otel_metrics/otel_manager.go:795 calls otlpmetrichttp.New(ctx, otlpmetrichttp.WithMaxRequestSize(0)) and relies on OTEL_EXPORTER_OTLP_*_ENDPOINT, whose semantics are unchanged (the new WithEndpointURL behavior was aligned to it). Also welcome: v1.45 stops including exporter endpoint configuration in internal SDK logs.
otelgrpc v0.69.0v0.70.0 Deprecated WithSpanOptions removed; the default otelhttp server span name becomes {method} {route}. Safe. flow/cmd/api.go:240 only uses NewServerHandler + WithMeterProvider. The otelhttp span-name change can shift span names in dashboards for traffic going through otelhttp (indirect dep).
grpc v1.82.1v1.83.0 Security: the server now stops reading from a connection flooded with non-DATA/HEADERS HTTP/2 frames. Default limit is 100, tunable via GRPC_GO_EXPERIMENTAL_CONTROL_BUFFER_THROTTLE_LIMIT. Behavior change on the flow API gRPC server, but it only trips on abusive frame patterns. Worth remembering if unexplained connection resets ever show up.
x/crypto v0.54.0v0.55.0 ssh: an empty-but-non-nil HostKeyAlgorithms / KeyExchanges / Ciphers / MACs is now honored as "none allowed" instead of falling back to defaults. Plus SSH hardening (idempotent channel close, no longer closing the connection on an unparseable public key, RSA modulus limit raised to 16384). Safe — we never set those fields (grep finds no occurrences); SSH tunnel setup uses library defaults.
temporal sdk v1.47.0v1.48.0 Fixes workflow-task failures when an activity with a custom ID completes while its cancellation command is pending; Nexus data-converter errors now propagate as-is instead of becoming a generic BAD_REQUEST; new interceptor/tracing backing an opt-in contrib/opentelemetry-v2 that is explicitly not span-compatible with v1. Safe. contrib/opentelemetry stays at v0.8.1, so our spans keep their current shape; the v2 interceptor is opt-in.
testify v1.11.1v1.12.0 Vendors go-difflib and go-spew (which is why pmezard/go-difflib drops out of both go.mod files); mock argument matching for mutating stringers reverted to pre-1.11 behavior; long objects truncated in failure messages; suite now validates method signatures. Test-only. We do not use testify/suite, so the signature validation does not apply. The mutating-stringer revert is a fix, not a regression.
pgvector-go v0.4.0v0.4.1 Fixes panics in Parse / DecodeBinary on malformed input, stricter SparseVector validation. Strict improvement for pgvector column handling.
franz-go v1.21.5v1.21.6 kgo fix for a KIP-848 regex topic stranded when assigned before metadata catches up; kprom native-histogram options renamed. Safe — we only use plugin/kslog, not kprom, so the renames do not reach us.
go-geos v0.21.0v0.22.0 NewGeometryCollection now takes ownership of unowned geoms; adds ReleaseCollection. Safe — we only use NewGeomFromWKB / NewGeomFromWKT / NewGeomFromGeoJSON.
protobuf v1.36.12-0.20260120151049-f2248ac996afv1.36.12 The tagged release is 3 commits ahead of and 0 behind the pinned pseudo-version, so this is a strict forward move off the pre-release pin.
go-openapi jsonpointer v0.22.5v1.0.0, swag v0.25.5v0.28.0 jsonpointer v1.0.0 is purely an API-stability pledge, with no code change since v0.24.0. swag adds AppendXXX conv helpers and a new pools submodule (replacing jsonname in the graph). Indirect deps of k8s apimachinery; despite the v0 → v1 jump there is no API break.
testcontainers-go v0.43.0v0.44.0 Exec exit code now read only after draining the output stream, container-name escaping in the Docker name filter, proper Ryuk startup wait when reusing the reaper. No breaking changes listed. Test-only; these should reduce e2e flakiness rather than add it.
aws-sdk-go-v2 (s3 v1.106.5v1.107.2, smithy-go v1.27.6v1.27.8, and friends) s3 v1.107.2 forwards the original response body Closer in HTTP-200-error handling instead of wrapping it in io.NopCloser (TCP connection-reuse fix observed on CompleteMultipartUpload); v1.106.4+ expand which operations check for an error inside an HTTP 200. Bug fixes that help the S3/avro staging upload path.
spiffe v2.6.0v2.7.0 X509-SVID verification now rejects leaf certs whose SPIFFE ID has a root path. Indirect (envoy go-control-plane); not on any PeerDB code path.
elasticsearch v8.19.6v8.19.7, grpc-gateway v2.29.0v2.30.0, plus cel, gcp detectors, moby, gopsutil, httpsnoop, x/net, x/text, x/tools, x/mod Typed-API spec refresh, OpenAPI generator work (build-time only), routine patches. No runtime impact.

Two minor observations, neither actionable:

  • flow/pkg/go.mod keeps golang.org/x/crypto v0.54.0 / x/net v0.57.0 / x/text v0.40.0 while flow/go.mod moves to v0.55.0 / v0.58.0 / v0.41.0. That is expected, since MVS resolves to the higher versions in the main module, but the two modules will keep drifting until Renovate catches flow/pkg up.
  • docker-build is green here, which confirms the tree still compiles against the new module graph, including past the driver.Conn and WithSpanOptions removals above.

LGTM.

@renovate
renovate Bot force-pushed the renovate/gomod branch from a105932 to db8c5ad Compare August 26, 2026 06:32
Comment thread flow/go.mod
github.com/testcontainers/testcontainers-go v0.43.0
github.com/twmb/franz-go v1.21.5
github.com/stretchr/testify v1.12.0
github.com/testcontainers/testcontainers-go v0.44.0

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

testcontainers-go v0.43.0 → v0.44.0 — this one does change runtime output in our CI. Highest-impact behaviour change in the PR.

#3459 inverts the default logger:

-var defaultLogger Logger = &noopLogger{}
+var defaultLogger Logger = log.New(os.Stderr, "", log.LstdFlags)

-        if strings.EqualFold(arg, "-test.v=true") || strings.EqualFold(arg, "-v") {
-            defaultLogger = log.New(os.Stderr, "", log.LstdFlags)
+        if strings.EqualFold(arg, "-test.v=false") {
+            defaultLogger = NewNoopLogger()

Before: logging was on only for a literal -test.v=true / -v. After: on unless -test.v=false.

Our CI runs tests through gotestsum (.github/workflows/tilt-flow.yml:576), which invokes go test -json — that passes -test.v=test2json to the test binary, matching neither old trigger. So testcontainers was silent in CI before this bump and will now write container lifecycle lines to stderr for the MySQL/MariaDB containers in flow/e2e/mysql.go.

I checked this against .claude/REVIEW.md rule 1 (no new output that can carry secrets), since that container request carries MYSQL_ROOT_PASSWORD/MARIADB_ROOT_PASSWORD (CI_MYSQL_ROOT_PASSWORD, flow/internal/test_env.go:140) and the wait.ForSQL probe builds a DSN embedding root:<password>. It is clean: every Logger.Printf in docker.go at v0.44.0 formats only image names, container IDs, and registry/auth-absence notices — the Env map is never logged, and wait/sql.go neither logs the URL nor includes it in its Description(). The residual exposure would be a wait-retry error string echoing the DSN, which go-sql-driver/mysql does not do.

Net effect: noisier e2e logs, no credential leak. If the extra noise is unwanted, pass -test.v=false or set an explicit noop logger in the e2e helper.

Also in range and useful for us: exec exit code now read only after draining output (#3766), Ryuk startup properly awaited when reusing the reaper (#3761), and container names escaped in the Docker name filter (#3837) — all three are plausible flake sources in the current e2e setup.

Comment thread flow/go.mod
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/eventhub/armeventhub v1.3.0
github.com/ClickHouse/ch-go v0.74.0
github.com/ClickHouse/clickhouse-go/v2 v2.47.0
github.com/ClickHouse/clickhouse-go/v2 v2.48.0

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clickhouse-go v2.47.0 → v2.48.0 — upstream declares a breaking change; verified not hit here.

Release notes flag #1928 (arbitrary input/output formats) as a breaking change if you depend on the driver.Conn interface. This repo only ever consumes clickhouse.Conn (flow/connectors/clickhouse/clickhouse.go:199, plus flow/pkg/clickhouse/query_retry.go and validation.go) and never implements it, so the interface widening is source-compatible here.

Other behaviour changes in this range and their applicability:

  • Query-parameter binding changed: floats now bind as typed Float literals (#1894), bools render as true/false (#1892), Map string-key escaping fixed (#1897). PeerDB builds ClickHouse SQL with fmt.Sprintf, and the args ...any pass-through in flow/pkg/clickhouse/query_retry.go has no float/bool/map call sites, so no bound-parameter rendering changes.
  • Scan on Tuple-to-map now returns errors instead of silently succeeding (#1944). All Scan targets in flow/connectors/clickhouse and flow/pkg/clickhouse are scalars/strings, so no previously-swallowed error becomes a new failure.
  • Structured HTTP exceptions (#1910) and the stray HTTP-compression debug print removal (#1937) are HTTP-protocol only; Connect sets no Protocol, so the native protocol is used. Error classification in flow/alerting/classifier.go keys off *clickhouse.Exception.Code rather than message text, so the exception-parser rework is not observable there.

No action needed — noting it so the driver.Conn warning in the changelog is not mistaken for an unaddressed break.

Comment thread flow/go.mod
go.temporal.io/api v1.63.4
go.temporal.io/sdk v1.47.0
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.70.0
go.opentelemetry.io/otel v1.45.0

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

opentelemetry-go v1.44.0 → v1.45.0 — four breaking changes upstream; none reachable, but one is a latent trap.

Upstream breaking changes and their applicability:

  • otel/log loses Kind/Value/KeyValue and their constructors, and log bodies/attrs move to attribute.Value (#8490); sdk/log/logtest RecordFactory loses its attribute-limit fields (#8556). The OTel logs SDK is not used here (metrics + traces only), so no impact.
  • ⚠️ The trap: WithEndpointURL in otlpmetrichttp / otlptracehttp no longer appends the default signal path when the URL has no path — it now uses / (#8538). That would silently POST metrics to the wrong path. We are safe only because flow/otel_metrics/otel_manager.go:795 constructs exporters as otlpmetrichttp.New(ctx, otlpmetrichttp.WithMaxRequestSize(0)) and lets OTEL_EXPORTER_OTLP_*_ENDPOINT drive the endpoint. Anyone adding WithEndpointURL later needs url.JoinPath(endpoint, "/v1/metrics") to keep pre-1.45 behaviour.

WithMaxRequestSize(0) — added in 1.44, and the subject of the comment above that call — is untouched in 1.45.

Two fixes in range that are relevant to us: exporter endpoint configuration is no longer included in internal SDK logs (#8438), reducing the chance of an endpoint-embedded credential reaching logs (rule 1); and Retry-After is finally parsed as seconds rather than nanoseconds (#8383) plus HTTP-date support (#8417) — so OTLP HTTP export retry backoff will behave very differently (correctly) against a collector that returns Retry-After.

Comment thread flow/go.mod Outdated
google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af
google.golang.org/genproto/googleapis/api v0.0.0-20260803160001-6ac0973c030d
google.golang.org/genproto/googleapis/rpc v0.0.0-20260803160001-6ac0973c030d
google.golang.org/grpc v1.83.0

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

grpc-go v1.82.1 → v1.83.0 — new server-side default that changes behaviour under load.

Security hardening in this release: the server now stops reading from a connection when flooded with HTTP/2 frames, with a default limit of 100 frames (excluding DATA and HEADERS), tunable via GRPC_GO_EXPERIMENTAL_CONTROL_BUFFER_THROTTLE_LIMIT.

This applies to gRPC servers, so it lands on the flow-api gRPC server, not on our Temporal or other outbound gRPC clients. Risk is low — flow-api serves comparatively low-frequency UI/API calls rather than bulk data (replication traffic goes over the native DB protocols, and the OTLP exporter is a client) — but it is a new backpressure path that did not exist in 1.82.1. Worth knowing the env var exists if flow-api ever shows unexplained stalls on connections with many concurrent streams.

The rest of the release is xDS/ALTS RBAC panic and fail-open fixes (unused paths here) plus a Plan 9 build fix.

Comment thread flow/go.mod
golang.org/x/sync v0.22.0
golang.org/x/text v0.40.0
golang.org/x/tools v0.48.0
golang.org/x/text v0.41.0

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

golang.org/x/text v0.40.0 → v0.41.0 — security fix, argues for merging.

The single functional commit in this range fixes CVE-2026-56851 (golang/go#80112): the secure/precis Nickname profile wrote an interior space to the destination buffer without first checking there was room for both the space and the next rune, so a short destination could cause out-of-bounds writes or incomplete copies. It now returns transform.ErrShortDst.

Reached only transitively here, but it is a memory-safety fix in a text-transform path, so it argues for merging rather than holding this PR.

Comment thread flow/go.mod
golang.org/x/net v0.57.0 // indirect
go.yaml.in/yaml/v3 v3.0.5 // indirect
golang.org/x/mod v0.39.0 // indirect
golang.org/x/net v0.58.0 // indirect

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

golang.org/x/net v0.57.0 → v0.58.0 (indirect) — one silent behaviour change in proxy resolution.

http/httpproxy: prioritize lowercase proxy environment variables. If a deployment sets both HTTP_PROXY and http_proxy (or the HTTPS_/NO_ pairs) to different values, the winner changes after this bump. Anything reaching an external endpoint through net/http in a proxied environment — S3/KMS/SES, BigQuery, Snowflake, Elasticsearch, Slack alerts, OTLP HTTP export — resolves its proxy through this package. Not a code change we need to make; just a deploy-config edge case to be aware of if a customer environment sets both casings inconsistently.

Also in range: dns/dnsmessage gained a boundary check in unpackSVCBResource, where a malformed record header length could exceed the buffer and cause an out-of-bounds slice on the second-pass copy — a memory-safety fix. The remaining commits are quic and internal/http3 work (HTTP/3 server deadlines, keep-alive busy-loop, Config.Clone on nil), none of which this repo uses.

Comment thread flow/go.mod Outdated
github.com/stretchr/testify v1.11.1
github.com/testcontainers/testcontainers-go v0.43.0
github.com/twmb/franz-go v1.21.5
github.com/stretchr/testify v1.12.0

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

testify v1.11.1 → v1.12.0 — test-only, but one change degrades CI failure triage.

#1646 makes assert/require truncate very long objects in failure messages. The e2e suites here diff whole row sets, and per .claude/CLAUDE.md failure traces are what land in ci_peerdb_test_runs.reason — so expect less detail in exactly the output used to debug failing branches. Nothing to fix in this PR; just be aware that a thinner reason column after this merge is the dependency, not a change on our side.

Other changes checked and not applicable: the suite method-signature validation (#1665) and the SetupTest-skip panic fix (#1877) need testify/suite, which this repo does not use; the mock argument-matching revert (#1786) and AssertExpectationsForObjects panic fix (#1795) need testify/mock, also unused. *AssertionFunc types becoming plain aliases (#1563) is source-compatible for callers.

This is also what drops github.com/pmezard/go-difflib from both go.mod files — testify vendored it (#1708), so that removal is expected rather than a lost dependency.

Comment thread flow/go.mod
go.opentelemetry.io/otel/sdk/metric v1.45.0
go.opentelemetry.io/otel/trace v1.45.0
go.temporal.io/api v1.63.5
go.temporal.io/sdk v1.48.0

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

temporal sdk v1.47.0 → v1.48.0 — no breaks; one fix lands directly on a PeerDB failure mode.

Relevant fix: #2513 prevents workflow task failures when an activity with a custom activity ID completes while its cancellation command is still pending. Given how much of the CDC/QRep orchestration cancels and restarts activities, this is a genuine stability improvement rather than a neutral bump.

Compatibility checked: v1.48.0 adds a reworked go.temporal.io/sdk/interceptor/tracing that backs the new contrib/opentelemetry-v2 module and is explicitly not span-compatible with the v1 tracing interceptor. This PR keeps go.temporal.io/sdk/contrib/opentelemetry v0.8.1 (v1) pinned and unchanged, so emitted span shapes and parenting do not change — no dashboard or trace-query breakage. go.temporal.io/api v1.63.5 is additive-only (adds WORKFLOW_TASK_FAILED_CAUSE_REQUEST_TOO_LARGE, no enum renumbering).

Comment thread flow/go.mod
github.com/twmb/franz-go/plugin/kslog v1.0.0
github.com/twpayne/go-geos v0.21.0
github.com/urfave/cli/v3 v3.10.1
github.com/twpayne/go-geos v0.22.0

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

go-geos v0.21.0 → v0.22.0 — ownership-semantics change with a CGO double-free flavour; verified not reachable.

There is no GitHub release for this tag; the only functional commits in the range are feat: make NewGeometryCollection take ownership of unowned geoms and feat: support ReleaseCollection. Ownership transfer on a CGO-backed geometry type is exactly the kind of change that turns previously-correct caller code into a use-after-free or double-free.

Not reachable here: all call sites use only the NewGeomFrom* constructors — NewGeomFromWKB (flow/shared/datatypes/geo.go:19, flow/connectors/mysql/qvalue_convert.go:164), NewGeomFromWKT (flow/shared/datatypes/geo.go:39, flow/model/qvalue/equals.go:255 and :267), NewGeomFromGeoJSON (flow/connectors/cockroachdb/changefeed.go:876). NewGeometryCollection and ReleaseCollection are unused repo-wide. Worth remembering if geometry-collection construction is ever added.

Comment thread flow/go.mod
github.com/orcaman/concurrent-map/v2 v2.0.1
github.com/pgvector/pgvector-go v0.4.0
github.com/pgvector/pgvector-go/pgx v0.4.0
github.com/pgvector/pgvector-go v0.4.1

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pgvector-go v0.4.0 → v0.4.1 — real robustness win for CDC, worth calling out.

No GitHub release for this tag; the commit log for the range is almost entirely "Fixed panics with Parse methods" (#29), "Fixed panics with DecodeBinary methods", and added length/validation checks for SparseVector and NewSparseVectorFromMap.

That matters here because these decode paths run on input we do not control — vector column values coming off a customer Postgres. Previously a malformed or truncated vector/sparsevec payload could panic inside the decoder rather than surface as an error; now it errors. Good bump to take.

Comment thread flow/go.mod
github.com/aws/aws-sdk-go-v2/config v1.32.37
github.com/aws/aws-sdk-go-v2/credentials v1.19.36
github.com/aws/aws-sdk-go-v2/feature/rds/auth v1.6.37
github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager v0.3.14

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

aws-sdk-go-v2 s3 stack — two fixes worth knowing, plus one note on where Renovate stopped.

  • feature/s3/transfermanager v0.3.10 → v0.3.14 fixes a real leak: "Close each file transferred during directory upload/download to avoid leaking file handles" (v0.3.14). Relevant for long-running avro staging uploads.
  • service/s3 v1.106.5 → v1.107.2 carries "Forward the original response body Closer in S3 200-error handling instead of wrapping it in io.NopCloser, to avoid issues with TCP connection reuse (observed on CompleteMultipartUpload)" — directly on the multipart path used for staging.
  • Core aws-sdk-go-v2 v1.43.5 fixes a recorded clock skew persisting on the client even after client and server clocks realign.

Note for whoever merges: upstream service/s3 v1.107.3 extends the "error inside an HTTP 200 response" detection (wave 2/4) and is not in this PR — the renovate/stability-days gate held it back. Not a blocker, it will arrive in the next sweep.

No API-shape changes across these ranges; the s3 bump is a minor only because of an unrelated AWS Backup access-point feature (v1.107.0).

@claude

claude Bot commented Aug 26, 2026

Copy link
Copy Markdown

Renovate bump review — summary

Reviewed per .claude/REVIEW.md. I pulled the upstream release notes / commit logs for the bumped range of every direct dependency (and the risk-bearing indirect ones) and checked each behaviour change against how this repo actually calls the API. No blocking regression found. 11 inline notes above cover the items worth a reviewer's attention.

The three that actually change behaviour for us

Bump Effect
testcontainers-go v0.43→v0.44 Default logger flipped from noop-unless--v to on-unless--test.v=false. Under gotestsum (go test -json-test.v=test2json) neither old trigger matched, so e2e container lifecycle logs go from silent to stderr. Verified no Env/DSN/password reaches those log lines (rule 1).
grpc-go v1.82.1→v1.83.0 New server-side HTTP/2 frame-flood throttle, default 100 control frames, GRPC_GO_EXPERIMENTAL_CONTROL_BUFFER_THROTTLE_LIMIT. Applies to flow-api.
golang.org/x/net v0.57→v0.58 http/httpproxy now prioritizes lowercase proxy env vars — matters only if a deployment sets both casings to different values.

Declared-breaking upstream, verified not reachable: clickhouse-go v2.48.0 (driver.Conn — we only consume it), otel v1.45.0 (otel/log + WithEndpointURL — we configure endpoints via env), go-geos v0.22.0 (NewGeometryCollection ownership transfer — unused).

Security fixes carried in: CVE-2026-56851 in x/text v0.41.0 (secure/precis OOB write); dns/dnsmessage OOB boundary check in x/net v0.58.0; gRPC frame-flood mitigation; xDS RBAC fail-open fixes.

Robustness fixes on paths we exercise: pgvector-go v0.4.1 panic→error in Parse/DecodeBinary (customer vector columns); temporal sdk v1.48.0 custom-activity-ID cancel/complete race; transfermanager v0.3.14 file-handle leak on directory transfers; s3 v1.107.2 body-Closer fix on CompleteMultipartUpload; x/crypto v0.55.0 makes ssh channel.close idempotent (we use x/crypto/ssh in flow/connectors/utils/ssh.go); testcontainers exec-exit-code and Ryuk-startup fixes, both plausible current flake sources.

Checked and clean, no note needed:

  • slack-go/slack v0.27→v0.29 — absent from Renovate's table (lookup failure), so no release notes in the PR body. Checked directly: #1572 is purely additive and SendMessageContext still has its 4-value signature at v0.29.0, matching flow/alerting/slack_alert_sender.go:63.
  • franz-go v1.21.6 — KIP-848 server-side-regex consumer fix (we are producer-side) and kprom native histograms with option renames; we use plugin/kslog, not kprom.
  • protobuf v1.36.12-0.20260120151049-f2248ac996afv1.36.12 — pre-release sorts before the release, so this is strictly forward and removes a pseudo-version pin. Good cleanup.
  • go-openapi/jsonpointer v0.22.5 → v1.0.0 — major on paper only; the release states "Stable API pledge - no change from v0.24.0". Indirect via k8s.io/apimachinery. Same for swag v0.28.0 (adds swag/pools, drops swag/jsonname).
  • urfave/cli v3.11.0 — nil-deref fix for interface-typed flag values and an index-out-of-range panic fix when Run gets no args; completion-only changes otherwise.
  • elastic/go-elasticsearch v8.19.7 — typed-API spec regen only; we use the root client + esutil.
  • grpc-gateway v2.30.0 — new openapiv3 generator plus openapiv2 output tweaks. Checked-in .pb.gw.go files are not regenerated here, which is fine; the generator changes only land on the next codegen run.
  • httpsnoop v1.1.0 (adds deadline/full-duplex pass-through, min Go 1.25 — repo is on 1.26), spiffe/go-spiffe v2.7.0 (X509-SVID now rejects leaf certs whose SPIFFE ID has a root path), smithy-go v1.27.8, nexus-rpc/sdk-go v0.7.0, cel.dev/expr, moby/*, gopsutil, go.yaml.in/yaml/v3 — all indirect, no reachable behaviour change.

flow/pkg/go.mod moves consistently with the root module; the pmezard/go-difflib and go.yaml.in/yaml/v3 drops there are testify v1.12.0 vendoring its own copies, not lost dependencies.

CI was still pending when I reviewed, so compile-level verification of the bumps rests on lint / docker-build / flow_test going green.

@claude

claude Bot commented Aug 26, 2026

Copy link
Copy Markdown

One correction to the last line of my summary, since it affects how you read the yaml deps: the go.yaml.in/yaml/v3 drop from flow/pkg/go.mod is not vendoring. testify v1.12.0's go.mod requires gopkg.in/yaml.v3 v3.0.1 — it moved back off the go.yaml.in/yaml/v3 fork that v1.11.x had adopted. gopkg.in/yaml.v3 v3.0.1 was already an indirect dep in both modules (flow/pkg/go.mod:67, flow/go.mod:315), so nothing new is pulled in; testify was simply the only consumer of go.yaml.in/yaml/v3 in flow/pkg, which is why it disappears there while flow/go.mod keeps it (bumped 3.0.4 → 3.0.5) via other dependencies.

The pmezard/go-difflib removal is vendoring (#1708), as stated.

Worth noting as a supply-chain direction: this bump moves the testify yaml path from the actively-maintained go.yaml.in fork back to gopkg.in/yaml.v3 v3.0.1, which has been unmaintained since 2022. Both modules already carried it, so this PR does not change our exposure — flagging it only so it is not a surprise later.

@renovate
renovate Bot force-pushed the renovate/gomod branch from db8c5ad to 010edf1 Compare August 26, 2026 16:52
@claude

claude Bot commented Aug 26, 2026

Copy link
Copy Markdown

Renovate gomod bump — reviewed, looks clean ✅

Automated review per .claude/REVIEW.md. Diff is flow/go.mod, flow/go.sum, flow/pkg/go.mod, flow/pkg/go.sum only — no Go source changes, so rule 1 (no new stdout/stderr/log output that could leak PII or secrets) is trivially satisfied. Rule 2 (upstream release notes / commit logs for the bumped range) is covered below.

Verdict

No regressions found that affect how PeerDB uses these libraries. docker-build is already green, so the tree compiles. lint, Analyze (go) and the three flow_test matrices were still pending at review time.

Breaking changes upstream — checked, none apply

Bump Upstream breaking change Impact here
clickhouse-go v2.47.0 → v2.48.0 PR 1928 adds arbitrary input/output format support and explicitly flags this as breaking if you depend on the driver.Conn interface PeerDB only consumes clickhouse.Conn (connectors/clickhouse/clickhouse.go, pkg/clickhouse/query_retry.go, pkg/clickhouse/validation.go); nothing implements or embeds it, so the added method is not a break
otel v1.44.0 → v1.45.0 WithEndpointURL in otlpmetrichttp/otlptracehttp no longer appends the default signal path (/v1/metrics, /v1/traces) when the URL has no path; log body/attribute types moved to attribute.Value PeerDB never calls WithEndpointURLotel_metrics/otel_manager.go:795-797 and otel_metrics/trace_provider.go:25 use only WithMaxRequestSize(0) and rely on OTEL_EXPORTER_OTLP_* env vars. The otel/log changes are unused
otelgrpc v0.69.0 → v0.70.0 deprecated otelgrpc.WithSpanOptions removed (PR 8991); otelhttp default server span name is now {method} {route} cmd/api.go:240 uses NewServerHandler(WithMeterProvider(...)) only. otelhttp is indirect-only
temporal sdk v1.47.0 → v1.48.0 new interceptor/tracing backing contrib/opentelemetry-v2 is not span-compatible with contrib/opentelemetry (v1) PeerDB imports the v1 module (cmd/api.go, cmd/worker.go, cmd/snapshot_worker.go), pinned at contrib/opentelemetry v0.8.1 and unchanged by this PR. No span-shape change
nexus-rpc/sdk-go v0.6.0 → v0.7.0 💥 serializer errors no longer wrapped in the service handler Indirect, via Temporal SDK, which bumped in lockstep
franz-go v1.21.5 → v1.21.6 kprom option renames (NativeHistogram*Native*, DisableClassicHistogramsNativeBucketsOnly) PeerDB does not use kprom. The kgo fix (KIP-848 regex topic stranding) is consumer-side; PeerDB is a producer
testify v1.11.1 → v1.12.1 *AssertionFunc types are now plain aliases; suite validates method signatures and continues on invalid ones; long objects truncated in failure messages Test-only. Worth a glance at flow_test output — the suite signature validation can newly surface previously-silent suite methods
go-spiffe v2.6.0 → v2.7.0 X509-SVID verification now rejects leaf certs whose SPIFFE ID has a root path Indirect (gRPC/xDS path), not exercised
go-openapi/jsonpointer, jsonreference v0.2x → v1.0.0 none — v1.0.0 is a stability pledge, no code change from v0.24.0 Indirect

Also confirmed no impact from the clickhouse-go query-parameter binding fixes (typed Float literals, Array(Bool) rendering, Map string-key escaping, Tuple-map scan errors): every call site passes a fully-built query string with zero bound args (connectors/clickhouse/clickhouse.go:267-279), and PeerDB has no ClickHouse Tuple handling. go-geos v0.22.0 changes NewGeometryCollection ownership semantics — that symbol is not referenced anywhere in flow/.

Fixes worth having

  • pgvector-go v0.4.0 → v0.4.1 — fixes panics in DecodeBinary and Parse plus tightened SparseVector length validation. Directly on PeerDB hot paths: connectors/postgres/cdc.go:489-501 and connectors/postgres/qvalue_convert.go:590-602 decode Vector/HalfVector/SparseVector straight from the replication stream, so a malformed value previously risked panicking the CDC loop.
  • grpc-go v1.82.1 → v1.83.1 — security: server now stops reading from connections flooded with HTTP/2 frames (resource-exhaustion mitigation, default 100 non-DATA/HEADERS frames, tunable via GRPC_GO_EXPERIMENTAL_CONTROL_BUFFER_THROTTLE_LIMIT), several xds/rbac fail-open fixes, and reduced memory overhead for small data frames.
  • aws-sdk-go-v2/feature/s3/transfermanager v0.3.10 → v0.3.14 — closes each file during directory upload/download, fixing a file-handle leak.
  • aws-sdk-go-v2/service/s3 v1.106.5 → v1.107.2 — forwards the original response body Closer in S3 HTTP-200-error handling instead of io.NopCloser, fixing TCP connection reuse (seen on CompleteMultipartUpload).
  • clickhouse-go v2.48.0 — removes stray HTTP compression debug output, preserves per-query JWT in QueryOptions.clone(), and fixes atomic.Int64 alignment for connID on 32-bit.
  • temporal sdk v1.48.0 — prevents workflow task failures when an activity with a custom ID completes while its cancellation command is pending.
  • otel v1.45.0 — stops including trace exporter endpoint configuration in internal logs, and fixes a memory leak in the metric exemplar Reservoir that pinned gRPC transport buffers via a retained context.Context.

Minor notes (no action needed)

  • google.golang.org/protobuf moves off the pseudo-version v1.36.12-0.20260120151049-f2248ac996af onto the tagged v1.36.12 — a strict upgrade and a nice cleanup; the only intentional pins in flow/go.mod are the two replace lines for tikv, which are untouched.
  • gopkg.in/yaml.v3, pmezard/go-difflib and rogpeppe/go-internal drop out of the indirect blocks because testify v1.12 vendored go-difflib and go-spew. go-openapi/swag/jsonnameswag/pools reflects the swag v0.28.0 restructuring. All consistent.
  • flow/pkg/go.mod keeps older x/crypto, x/text, grpc and protobuf versions than flow/go.mod. Harmless: flow/go.mod:329 has replace github.com/PeerDB-io/peerdb/flow/pkg => ./pkg, so MVS resolves the union to the newer versions for the real build.
  • service/s3 lands on v1.107.2; v1.107.3 (wave 2/4 of the HTTP-200-error expansion) exists upstream but falls outside the Renovate minimum-release-age window. Not a regression, just a heads-up for the next bump.

@renovate
renovate Bot force-pushed the renovate/gomod branch from 010edf1 to d372d56 Compare August 26, 2026 17:16
@claude

claude Bot commented Aug 26, 2026

Copy link
Copy Markdown

Renovate gomod bump — reviewed

Reviewed every module bump in flow/go.mod and flow/pkg/go.mod against upstream release notes and against how this repo actually uses each library. No blocking issues found.

Secrets / PII in output (REVIEW.md rule 1)

No new stdout/stderr or log output is introduced. If anything it moves the other way: clickhouse-go v2.48.0 removes a stray HTTP-compression debug print, and the unsupported-server-version warning in its conn.go now logs minimum_supported_version instead of the full supported-version list. Neither carries credentials.

Regression review of the notable bumps

ClickHouse/clickhouse-go/v2 v2.47.0 → v2.48.0 — the release notes explicitly flag a breaking change to the driver.Conn interface: two experimental methods (QueryFormat, InsertFormat) were added. That only breaks types that hand-implement the interface. This repo consumes clickhouse.Conn everywhere (flow/connectors/clickhouse, flow/pkg/clickhouse, flow/e2e) and never implements it — there are no PrepareBatch/AsyncInsert/ServerVersion method definitions anywhere — so it stays source-compatible.

Three other changes in the same release that I checked and cleared:

  • Client-side float binding now renders as cast(1.5, 'Float64') instead of the bare literal 1.5. Inert here: the ClickHouse connector builds SQL with fmt.Sprintf and never passes float args through ? / $1 / @name placeholders.
  • resources.ClientMeta.IsSupportedClickHouseVersion / SupportedVersions() were replaced by proto.CheckMinVersion / resources.MinSupportedVersion. Not referenced in this repo.
  • proto.Exception gained a CodeName field and structured exception parsing was extended to the HTTP protocol. The addition is keyed-field-compatible, all clickhouse.Exception literals in flow/alerting/classifier_test.go are keyed, and flow/alerting/classifier.go:1111 plus flow/pkg/clickhouse/query_retry.go branch on Code, which is unchanged. No error-classification regression.

google.golang.org/grpc v1.82.1 → v1.83.1 — the one behavior change worth being aware of operationally: v1.83.0 turns on HTTP/2 frame throttling by default on servers (the server stops reading from a connection flooded with non-DATA/HEADERS frames, default limit 100, tunable via GRPC_GO_EXPERIMENTAL_CONTROL_BUFFER_THROTTLE_LIMIT). It is a resource-exhaustion mitigation and the limit sits far above normal control-frame traffic for the flow API server, so I do not expect impact — flagging it so it is on the radar if anyone later sees unexplained gRPC stalls. v1.83.1 is xds/RBAC security fixes plus a transport memory improvement; xds is not used here.

go.opentelemetry.io/otel v1.44.0 → v1.45.0 — two upstream breaking changes: WithEndpointURL no longer appends the default signal path, and Kind/Value/KeyValue were removed from otel/log. Neither applies. flow/otel_metrics builds exporters via otlpmetricgrpc.New / otlpmetrichttp.New / otlptracegrpc.New with WithMaxRequestSize(0) and relies on OTEL_EXPORTER_OTLP_* env vars, whose semantics are unchanged — the changelog notes the option was aligned to env-var behavior, not away from it. otel/log is not imported.

twpayne/go-geos v0.21.0 → v0.22.0 — the notable commit is "make NewGeometryCollection take ownership of unowned geoms", a GEOS memory-ownership semantics change with double-free potential for callers. Not used here: the repo only calls NewGeomFromWKB, NewGeomFromWKT and NewGeomFromGeoJSON.

stretchr/testify v1.11.1 → v1.12.1 — v1.12.0 changes mock argument matching for mutating stringers and makes IsIncreasing et al. return false without failing the test. Neither testify/mock nor the IsIncreasing family appears in this repo. v1.12.1 swaps gopkg.in/yaml.v3 for go.yaml.in/yaml/v3, which is why gopkg.in/yaml.v3, pmezard/go-difflib and rogpeppe/go-internal drop out of both go.mod files — expected, not an accidental removal.

twmb/franz-go v1.21.5 → v1.21.6 — bug fixes only, several directly relevant to the Kafka connector: a panic: close of closed channel on an acks=0 produce connection, an EndTransaction unconfirmed-outcome bug where the next transaction could silently commit the records of the prior failed transaction under KIP-890, and a GroupTransactSession.End hang. Net improvement.

testcontainers-go v0.43.0 → v0.44.0 — no breaking changes or deprecations; includes Ryuk reuse synchronization and exec exit-code fixes, both flakiness-relevant. Only used in flow/e2e/mysql.go.

slack-go/slack v0.27.0 → v0.29.0 (two minors) — additive only (Channels field for multi-conversation file sharing, container block support, full message object returned from chat.postMessage; v0.29.0 is a single action-token parsing fix). flow/alerting/slack_alert_sender.go only calls slack.New and SendMessageContext, whose 4-value signature is unchanged.

grpc-ecosystem/grpc-gateway/v2 v2.29.0 → v2.30.0 — the changes are in protoc-gen-openapiv2 and in generated code ("drain request only after ParseForm"). This repo consumes only the runtime / utilities packages, and the gateway plugin is pinned separately in buf.gen.yaml, so nothing regenerates here.

The rest — go.temporal.io/sdk 1.47→1.48 (additive experimental APIs plus fixes), the aws-sdk-go-v2 patch train, urfave/cli 3.10.1→3.11.0 (panic fixes, no API change), elastic/go-elasticsearch 8.19.6→8.19.7, pgvector-go 0.4.0→0.4.1, x/crypto, x/net, x/text, x/tools, and the indirect set including the go-openapi/swag 0.25.5→0.28.0 module reshuffle (swag/jsonname out, swag/pools in) — are patch/minor with additive or bug-fix-only notes. google.golang.org/protobuf moves from the v1.36.12-0.20260120151049-f2248ac996af pseudo-version to the real v1.36.12 tag, which is a forward move, not a downgrade.

Note (pre-existing, not introduced by this PR)

buf.gen.yaml pins buf.build/grpc-ecosystem/gateway:v2.28.0 and buf.build/protocolbuffers/go:v1.36.11, which now trail the runtime versions in flow/go.mod (v2.30.0 / v1.36.12). Generated code stays compatible with the newer runtimes so this is not a problem today, but the gap widens with every one of these bumps — worth having Renovate manage the buf.gen.yaml plugin versions too.

CI at review time

docker-build, Analyze (go), Analyze (javascript-typescript) and the migration-version check pass, which confirms the tree compiles against the new module set. lint and the three flow_test matrix legs were still running.

@renovate
renovate Bot force-pushed the renovate/gomod branch from d372d56 to 05eae0c Compare August 26, 2026 18:11
Comment thread flow/go.mod
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/eventhub/armeventhub v1.3.0
github.com/ClickHouse/ch-go v0.74.0
github.com/ClickHouse/clickhouse-go/v2 v2.47.0
github.com/ClickHouse/clickhouse-go/v2 v2.48.0

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clickhouse-go v2.48.0 raises the driver's declared minimum ClickHouse server from ~22.11 to 25.8.0.

v2.48.0 deletes resources/meta.yml and Meta.IsSupportedClickHouseVersion and replaces them with a hardcoded resources.MinSupportedVersion = {25, 8, 0}. conn.dial now does proto.CheckMinVersion(resources.MinSupportedVersion, ...), where v2.47.0 checked against a version list whose greatest entry was 22.11.

Impact is log-only — a Warn("unsupported clickhouse version") on the first connection in the pool, no error — and CI is unaffected since .github/workflows/flow.yml:64 pins LTS at 25.8.28.1. But PeerDB deliberately supports older servers: connectors/clickhouse/staging_s3.go:73-85 gates S3 session tokens on >= 24.3.1, and model/qvalue/kind.go:121 gates JSON on >= 25.3. Self-hosted users on 23.x/24.x will now see this warning on every connector startup. Worth deciding whether to suppress it or raise PeerDB's own documented ClickHouse floor.

The rest of the 2.47→2.48 delta I checked and it is clear for this repo:

  • driver.Conn gained QueryFormat/InsertFormat; upstream flags this as a breaking change for implementers. Every use here consumes the interface (clickhouse.go:32,199,270, pkg/clickhouse/*, e2e/clickhouse.go:404) and no type implements it, so no compile break.
  • bind.go / query_parameters.go were substantially rewritten: floats now render as cast(x, 'Float64') for client-side binding, and server-side {name:Type} parameters now send times as epoch, nil as \N, bools as true/false, and maps as {'k':v}. No impact — every ClickHouse statement in this repo is built with fmt.Sprintf and passes zero bind args (the one Query call with a dynamic query, clickhouse.go:479, passes none).
  • lib/column/tuple.go scan now returns the error it previously swallowed (return reflect.Value{}, nilerr). Only reachable when scanning a Tuple into a Go map, which this repo does not do.

Comment thread flow/go.mod
google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af
google.golang.org/genproto/googleapis/api v0.0.0-20260803160001-6ac0973c030d
google.golang.org/genproto/googleapis/rpc v0.0.0-20260803160001-6ac0973c030d
google.golang.org/grpc v1.83.1

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

grpc-go v1.83.0 turns on a server-side HTTP/2 control-frame throttle by default.

From the v1.83.0 release notes:

server: Stop reading from connections when flooded by HTTP/2 frames to mitigate resource exhaustion. The default value for this limit is 100 frames, excluding DATA and HEADERS, and may be changed by setting environment variable GRPC_GO_EXPERIMENTAL_CONTROL_BUFFER_THROTTLE_LIMIT.

PeerDB runs gRPC servers (flow/cmd/api.go), so this applies to the flow API. It is a security hardening fix and the default is unlikely to affect normal traffic, but it does change read behaviour under load: a peer that accumulates more than 100 pending non-DATA/non-HEADERS frames (SETTINGS / WINDOW_UPDATE / PING / RST_STREAM bursts from many concurrent streams) will have its connection reads paused. Flagging so the env-var escape hatch is known if anyone reports API stalls after this ships.

v1.83.1 on top is xds/RBAC matcher hardening (xds is not used here) plus a transport fix restricting memory overhead when buffering small DATA frames — both safe.

Comment thread flow/go.mod
github.com/stretchr/testify v1.11.1
github.com/testcontainers/testcontainers-go v0.43.0
github.com/twmb/franz-go v1.21.5
github.com/stretchr/testify v1.12.1

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

testify v1.12.0 truncates very long objects in assertion failure messages (stretchr/testify#1646).

Worth knowing because the e2e suites assert on whole row sets — failure output that previously dumped the full value will now be cut off, making CI failures harder to diagnose from logs alone. No correctness impact, just diagnosability.

Everything else in the v1.11.1→v1.12.1 range is benign here:

  • *AssertionFunc types became plain aliases — source-compatible.
  • suite now validates Test* method signatures and continues with the valid ones instead of aborting the suite.
  • mock reverted to pre-v1.11.0 argument matching for mutating stringers, and no longer panics on nil expected types.
  • v1.12.1 swaps gopkg.in/yaml.v3 for go.yaml.in/yaml/v3 and vendors go-difflib/go-spew. That is what drops gopkg.in/yaml.v3 and pmezard/go-difflib from the indirect blocks in both flow/go.mod and flow/pkg/go.mod — no first-party file imports either package, so the removals are correct.

@claude

claude Bot commented Aug 26, 2026

Copy link
Copy Markdown

Renovate gomod bump — dependency regression review

No code changes in this PR, so nothing to check against the stdout/stderr/log PII-and-secrets rule. Per .claude/REVIEW.md, I read the upstream release notes and commit logs for each bumped range. Three advisory findings posted inline (clickhouse-go, grpc-go, testify) — none blocking.

CI note: flow_test and lint were still pending when this was written.

Checked and clear

  • aws-sdk-go-v2 1.43.4→1.43.6 / smithy-go 1.27.6→1.27.8 / s3 1.106.5→1.107.2 — the substantive change in this range is feat: move close-body, logger, and service-metadata work out of the middleware stack aws/aws-sdk-go-v2#3480, moving close-body, logger and service-metadata work out of the middleware stack. PeerDB registers no custom AWS middleware (only a smithyendpoints EndpointResolverV2 in flow/connectors/utils/aws.go:355), so it is unaffected. feature/s3/transfermanager 0.3.10→0.3.14 touches only UploadDirectory/DownloadDirectory; PeerDB calls UploadObject (staging_s3.go:131, avro_writer.go:148). Also picks up a fix to close the original S3 response body in 200-error handling.
  • otel 1.44→1.45 — the two breaking changes flagged upstream are WithEndpointURL no longer appending /v1/metrics and /v1/traces, and the otel/log Kind/Value/KeyValue removal. Neither applies: exporters here are configured purely from environment variables (otel_metrics/otel_manager.go:795-797, otel_metrics/trace_provider.go:25), and otel/log is not used. otelgrpc 0.70.0 removes the deprecated WithSpanOptions — not referenced in this repo.
  • grpc-gateway 2.29.0→2.30.0 — every change is in the codegen plugins. The runtime/ package has zero changed files between the two tags, so the library bump is a no-op for the checked-in .pb.gw.go files and there is no codegen/runtime skew to worry about.
  • protobuf v1.36.12-0.20260120151049-f2248ac996afv1.36.12 — confirmed via the compare API that the v1.36.12 tag is 3 commits ahead of and 0 behind the pinned commit, so dropping the pseudo-version is a strict forward move and does not lose whatever fix it was pinned for.
  • pgvector-go 0.4.0→0.4.1 — entirely panic fixes in Parse/DecodeBinary plus sparse-vector validation. Strictly better for untrusted CDC payloads.
  • temporal sdk 1.47.0→1.48.0 — the reworked tracing interceptor ships as a separate contrib/opentelemetry-v2 module and is explicitly not span-compatible with v1; PeerDB pins contrib/opentelemetry v0.8.1, which is untouched. The rest is fixes (activity cancellation with custom IDs, Nexus data-converter error propagation) and additive APIs.
  • testcontainers 0.43→0.44 — new modules plus fixes (exec exit code read only after draining output, Ryuk startup wait on reaper reuse, container-name escaping in the Docker filter).
  • franz-go 1.21.5→1.21.6 — a KIP-848 regex-topic stranding fix in kgo, plus a kprom native-histogram rework that renames options. PeerDB uses the kslog plugin, not kprom.
  • slack-go 0.27.0→0.29.0 — purely additive (Channels on uploads, container block, PostMessageWithResponse, top-level action_token parsing). No exported signature changed.
  • urfave/cli 3.10.1→3.11.0 — nil-deref and index-out-of-range panic fixes, plus shell-completion fixes.
  • go-geos 0.21.0→0.22.0NewGeometryCollection now takes ownership of unowned geoms, and ReleaseCollection was added. PeerDB calls neither; usage is limited to WKB parsing in datatypes/geo.go, mysql/qvalue_convert.go and cockroachdb/changefeed.go.
  • x/crypto 0.54.0→0.55.0ssh channel-close hardening and ocsp.ParseRequest doc/error tightening. SSH tunnel path unaffected.
  • go-openapi/jsonpointer 0.22.5→1.0.0, jsonreference 0.21.5→1.0.0 — these look alarming in the diff, but both v1.0.0 releases are stability pledges with no code change from v0.24.0. Transitive via k8s.io/kube-openapi.
  • elasticsearch 8.19.6→8.19.7, moby / gopsutil / spiffe / swag indirect bumps — no API or behaviour changes reaching first-party code.

@renovate
renovate Bot force-pushed the renovate/gomod branch from 05eae0c to f7b23fe Compare August 26, 2026 18:52
@claude

claude Bot commented Aug 26, 2026

Copy link
Copy Markdown

Dependency bump review — no regressions found

Reviewed per .claude/REVIEW.md. Diff is confined to flow/go.mod, flow/go.sum, flow/pkg/go.mod, flow/pkg/go.sum; every go.sum addition is a well-formed h1://go.mod h1: hash line, no replace directives or unexpected module paths. No source changes, so nothing new is written to stdout/stderr/logs.

I read the upstream release notes/commit logs for the bumped ranges. Four bumps carry upstream breaking changes; I checked each against actual usage in this repo and all land in code paths PeerDB does not use:

Bump Upstream breaking change Impact here
clickhouse-go/v2 v2.47.0 → v2.48.0 #1928 adds QueryFormat/InsertFormat to the driver.Conn interface — breaks any implementor None. PeerDB only consumes clickhouse.Conn (flow/connectors/clickhouse/, flow/pkg/clickhouse/); no type in the repo implements it.
otel v1.44.0 → v1.45.0 WithEndpointURL in otlpmetrichttp/otlptracehttp no longer appends the default signal path (#8538) — silently posts to / instead of /v1/metrics None. flow/otel_metrics/otel_manager.go:795 uses otlpmetrichttp.New(ctx, WithMaxRequestSize(0)) and configures the endpoint via OTEL_EXPORTER_OTLP_* env vars, which the release note calls out as the behavior the new default aligns to.
otelgrpc v0.69.0 → v0.70.0 Deprecated WithSpanOptions removed (#8991) None. flow/cmd/api.go:240 uses NewServerHandler(WithMeterProvider(...)) only.
nexus-rpc/sdk-go v0.6.0 → v0.7.0 💥 serializer errors no longer wrapped in the service handler None — indirect via Temporal, and sdk-go v1.48.0 explicitly accounts for the new error propagation.

Other bumps I specifically vetted:

  • google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996afv1.36.12 — verified the pinned commit f2248ac is an ancestor of the v1.36.12 tag (tag is 3 commits ahead, 0 behind), so the previously-pinned unreleased fix is retained. Clean un-pin, not a downgrade.
  • grpc v1.82.1 → v1.83.1 — v1.83.0 adds a security mitigation that stops reading from a connection when flooded with >100 non-DATA/HEADERS HTTP/2 frames. This applies backpressure (it does not error), and the limit is tunable via GRPC_GO_EXPERIMENTAL_CONTROL_BUFFER_THROTTLE_LIMIT if the API server ever hits it. Remaining v1.83.x changes are xDS/RBAC and ALTS, none of which PeerDB uses.
  • clickhouse-go param-binding fixes (typed float literals, Array(Bool) rendering, Map key escaping, timezone-aware time helpers) — not reachable: every Exec/Query/QueryRow call site passes a fully-formatted SQL string with no bound args. Likewise #1944 (Tuple-map scan now returns errors) — no Tuple scanning in the repo.
  • twpayne/go-geos v0.21.0 → v0.22.0 — the ownership-semantics change is in NewGeometryCollection; PeerDB only uses NewGeomFromWKB/WKT/GeoJSON.
  • testify v1.11.1 → v1.12.1 — the new suite method-signature validation is inapplicable; the repo uses its own e2eshared.RunSuite, not testify/suite. Explains the pmezard/go-difflib and gopkg.in/yaml.v3 drops (both vendored upstream).
  • pgvector-go v0.4.0 → v0.4.1 — fixes panics in Parse/DecodeBinary and tightens SparseVector validation. Net improvement for the PG CDC decode path.
  • x/crypto v0.55.0 — makes ssh channel.close idempotent, a hardening win for flow/connectors/utils/ssh.go. x/net v0.58.0 — HTTP/3 deadlines + a dnsmessage bounds fix; neither is on a PeerDB path.
  • slack-go v0.27.0 → v0.29.0, urfave/cli v3.11.0, grpc-gateway v2.30.0, franz-go v1.21.6, elasticsearch v8.19.7, temporal sdk v1.48.0 / api v1.63.5, AWS SDK + smithy-go v1.27.8 — additive features and bug fixes only. transfermanager v0.3.14 notably fixes a file-handle leak on directory upload/download.

One non-blocking heads-up: testcontainers-go v0.44.0 flips the default logger from noop to stderr (#3459) — logging is now on unless -test.v=false is passed. Expect noisier e2e CI output from flow/e2e/mysql.go. It logs container lifecycle messages only, not ContainerRequest.Env, so no credential exposure.

docker-build and Analyze (go) are green, confirming the tree compiles against the new module graph.

🤖 Generated with Claude Code

@renovate
renovate Bot merged commit 677eebe into main Aug 26, 2026
24 checks passed
@renovate
renovate Bot deleted the renovate/gomod branch August 26, 2026 20:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant