Skip to content

Releases: getsentry/sentry-go

0.48.0

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 14 Jul 11:29

Breaking Changes 🛠

New Features ✨

  • Add ClientOptions.DataCollection for granular control over data collected by automatic instrumentation, replacing the broad SendDefaultPII switch. DataCollection can independently configure automatic user.* population, cookies, request/response headers, HTTP bodies, and query parameters. When configured, it is the source of truth and SendDefaultPII is ignored. by @giortzisg in #1339
    • For backwards compatibility, clients that do not configure DataCollection keep a best-effort mapping of the previous SendDefaultPII behavior. To opt in to the new defaults, pass an empty DataCollection and then restrict individual categories as needed.
    sentry.Init(sentry.ClientOptions{
        Dsn: "https://public@example.com/1",
    
        // Opt in to the new data collection defaults. Omitted fields use their
        // defaults: user info, cookies, headers, query params, and supported HTTP
        // bodies are collected, with sensitive values filtered.
        DataCollection: &sentry.DataCollection{},
    })
    • To opt in while disabling automatic user info and HTTP bodies, configure those fields explicitly:
    sentry.Init(sentry.ClientOptions{
        Dsn: "https://public@example.com/1",
        DataCollection: &sentry.DataCollection{
            UserInfo:   sentry.Set(false),
            HTTPBodies: []sentry.BodyType{},
        },
    })
  • PushScope shorthand now returns the new scope reference by @DoctorJohn in #1335

Bug Fixes 🐛

Internal Changes 🔧

Deps

  • Bump fiber/v2 to 2.52.14 by @giortzisg in #1359
  • Bump actions/checkout from 6.0.3 to 7.0.0 by @dependabot in #1349
  • Bump golangci/golangci-lint-action from 9.2.1 to 9.3.0 by @dependabot in #1346
  • Bump codecov/codecov-action from 6.0.0 to 7.0.0 by @dependabot in #1347
  • Bump actions/setup-go from 6.4.0 to 6.5.0 by @dependabot in #1343
  • Bump golang.org/x/crypto to 0.52.0 and golang/x/net to 0.55.0 by @giortzisg in #1341
  • Bump getsentry/github-workflows/validate-pr from c802283cd9075b7a2b7a32655019c21c21676e34 to 4013fc6e1aeb1be1f9d3b4d232624f0ec1afa613 by @dependabot in #1344

Other

0.47.0

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 16 Jun 09:50

Breaking Changes 🛠

  • Fix transaction_info source getting set incorrectly across HTTP middleware integrations (http, fasthttp, fiber). Users should now expect traces to properly get grouped with their parameterized path. Transactions in affected integrations may regroup after upgrading. by @giortzisg in #1325
  • remove deprecatedotel.NewSentrySpanProcessor. Users should now use the sentryotlp.NewTraceExporter instead by @giortzisg in #1307
    // Before
    sentry.Init(sentry.ClientOptions{Dsn: dsn, EnableTracing: true, TracesSampleRate: 1.0})
    
    tp := sdktrace.NewTracerProvider(
    	sdktrace.WithSpanProcessor(sentryotel.NewSentrySpanProcessor()),
    )
    otel.SetTextMapPropagator(sentryotel.NewSentryPropagator())
    otel.SetTracerProvider(tp)
    
    // After:
    sentry.Init(sentry.ClientOptions{
    	Dsn: dsn, EnableTracing: true, TracesSampleRate: 1.0,
    	Integrations: func(i []sentry.Integration) []sentry.Integration {
    		return append(i, sentryotel.NewOtelIntegration())
    	},
    })
    
    exporter, _ := sentryotlp.NewTraceExporter(ctx, dsn)
    tp := sdktrace.NewTracerProvider(sdktrace.WithBatcher(exporter))
    otel.SetTracerProvider(tp)
  • Enable logs by default to skip double allow behavior. Enabling logs now happens once when setting up either sentry.NewLogger or any supported integration. Also the EnableLogs flag changes to DisableLogs for a global override switch by @giortzisg in #1306
  • Remove the ContextifyFrames integration. The recommended way to add source context is SCM by @giortzisg in #1302

New Features ✨

  • Add fiber v3 integration by @giortzisg in #1324
  • Bump fasthttp from 1.51.0 to 1.71.0 by @giortzisg in #1324
  • Add sentrysql SQL tracing integration by @giortzisg in #1305
    • Supports multiple integration paths depending on how your app opens database connections: sentrysql.Open(...), sentrysql.OpenDB(...), and wrapped drivers/connectors for custom setups.
    • Database metadata is not inferred in every setup. If the database name is not discoverable automatically, pass sentrysql.WithDatabaseName(...) so spans are populated correctly.
    • Example:
     // Simple driver-based setup
     db, err := sentrysql.Open("sqlite", ":memory:",
         sentrysql.WithDatabaseSystem(sentrysql.SystemSQLite),
         sentrysql.WithDatabaseName("main"),
     )

Internal Changes 🔧

Deps

  • Sync go.work by @giortzisg in #1326
  • Bump github.com/stretchr/testify from 1.8.4 to 1.11.1 by @giortzisg in #1326
  • Bump github.com/google/go-cmp from 0.5.9 to 0.7.0 by @giortzisg in #1326
  • Bump getsentry/github-workflows from 71588ddf95134f804e82c5970a8098588e2eaecd to c802283cd9075b7a2b7a32655019c21c21676e34 by @dependabot in #1314
  • Bump actions/create-github-app-token from 3.0.0 to 3.2.0 by @dependabot in #1316
  • Bump actions/checkout from 6.0.2 to 6.0.3 by @dependabot in #1313
  • Bump getsentry/craft/.github/workflows/changelog-preview.yml from 2.26.2 to 2.26.6 by @dependabot in #1317
  • Bump getsentry/craft from 2.26.2 to 2.26.6 by @dependabot in #1318
  • Bump golangci/golangci-lint-action from 9.2.0 to 9.2.1 by @dependabot in #1315
  • Bump github.com/gofiber/fiber/v2 from 2.52.12 to 2.52.13 in /fiber by @dependabot in #1300
  • Bump github.com/gofiber/fiber/v2 from 2.52.12 to 2.52.13 in /crosstest by @dependabot in #1301
  • Bump getsentry/craft from 2.25.2 to 2.26.2 by @dependabot in #1293
  • Bump getsentry/craft/.github/workflows/changelog-preview.yml from 2.25.2 to 2.26.2 by @dependabot in #1294

Other

0.46.2

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 04 May 10:00

Bug Fixes 🐛

0.46.1

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 28 Apr 13:05

Bug Fixes 🐛

0.46.0

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 21 Apr 12:45

Breaking Changes 🛠

New Features ✨

  • Add internal_sdk_error client report on serialization fail by @giortzisg in #1273
  • Add grpc integration support by @ribice in #938
  • Re-enable Telemetry Processor by default. To disable the behavior use the DisableTelemetryBuffer flag by @giortzisg in #1254
  • Simplify client DSN storage to internal/protocol.Dsn and make it safe to access by @giortzisg in #1254

Internal Changes 🔧

Deps

  • Bump github.com/labstack/echo/v5 from 5.0.0 to 5.0.3 in /echo by @dependabot in #1253
  • Bump github.com/labstack/echo/v5 from 5.0.0 to 5.0.3 in /crosstest by @dependabot in #1272
  • Bump golangci-lint action from 2.1.1 to 2.11.4 by @giortzisg in #1265
  • Bump go.opentelemetry.io/otel/sdk from 1.40.0 to 1.43.0 in /otel by @dependabot in #1256
  • Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp from 1.40.0 to 1.43.0 in /otel/otlp by @dependabot in #1255

Other

0.45.1

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 13 Apr 08:54

Bug Fixes 🐛

  • Add missing TracesSampler fields for SamplingContext by @giortzisg in #1259

0.45.0

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 09 Apr 09:53

Breaking Changes 🛠

New Features ✨

  • Add OTLP trace exporter via new otel/otlp sub-module by @giortzisg in #1229
    • sentryotlp.NewTraceExporter sends OTel spans directly to Sentry's OTLP endpoint.
    • sentryotel.NewOtelIntegration links Sentry errors, logs, and metrics to the active OTel trace. Works with both direct-to-Sentry and collector-based setups.
    • NewSentrySpanProcessor, NewSentryPropagator, and SentrySpanMap are deprecated and will be removed in 0.47.0. To Migrate use sentryotlp.NewTraceExporter instead:
    // Before
    sentry.Init(sentry.ClientOptions{Dsn: dsn, EnableTracing: true, TracesSampleRate: 1.0})
    
    tp := sdktrace.NewTracerProvider(
    	sdktrace.WithSpanProcessor(sentryotel.NewSentrySpanProcessor()),
    )
    otel.SetTextMapPropagator(sentryotel.NewSentryPropagator())
    otel.SetTracerProvider(tp)
    
    // After:
    sentry.Init(sentry.ClientOptions{
    	Dsn: dsn, EnableTracing: true, TracesSampleRate: 1.0,
    	Integrations: func(i []sentry.Integration) []sentry.Integration {
    		return append(i, sentryotel.NewOtelIntegration())
    	},
    })
    
    exporter, _ := sentryotlp.NewTraceExporter(ctx, dsn)
    tp := sdktrace.NewTracerProvider(sdktrace.WithBatcher(exporter))
    otel.SetTracerProvider(tp)
  • Add IsSensitiveHeader helper to easily distinguish which headers to scrub for PII. by @giortzisg in #1239

Bug Fixes 🐛

Internal Changes 🔧

Deps

Other

0.44.1

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 24 Mar 14:39

Note

v0.44.0 had to be released as v0.44.1 due to a technical issue.

New Features ✨

  • Add RemoveAttribute api on the scope. by @giortzisg in #1224
  • Deprecate Scope.SetExtra, Scope.SetExtras, and Scope.RemoveExtra in favor of Scope.SetAttributes and Scope.RemoveAttribute by @giortzisg in #1224
    • The recommended migration path is to use SetAttributes to attach values to logs and metrics. Note that attributes do not appear on error events; if you only capture errors, use SetTag or SetContext instead.
    • Before:
    scope.SetExtra("key.string", "str")
    scope.SetExtra("key.int", 42)
    • After (for error events) — use tags and contexts:
    scope.SetTag("key.string", "str")
    scope.SetContext("my_data", sentry.Context{"key.int": 42})
    • After (for logs and metrics) — use attributes:
    scope.SetAttributes(
        attribute.String("key.string", "str"),
        attribute.Int("key.int", 42),
    )
  • Add support for homogenous arrays by @giortzisg in #1203
  • Add support for client reports by @giortzisg in #1192
  • Add org id propagation in sentry_baggage by @giortzisg in #1210
  • Add OrgID and StrictTraceContinuation client options. by @giortzisg in #1210
  • Add the option to set attributes on the scope by @giortzisg in #1208

Bug Fixes 🐛

  • (serialization) Pre-serialize mutable event fields to prevent race panics by @giortzisg in #1214
  • Use HEROKU_BUILD_COMMIT with HEROKU_SLUG_COMMIT as fallback by @ericapisani in #1220

Internal Changes 🔧

Ai

Deps

  • Bump github.com/buger/jsonparser from 1.1.1 to 1.1.2 in /zerolog by @dependabot in #1231
  • Bump github.com/gofiber/fiber/v2 from 2.52.11 to 2.52.12 in /fiber by @dependabot in #1209

Other

0.44.0

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 24 Mar 13:40
65538eb

Note

v0.44.0 had to be released as v0.44.1 due to a technical issue.

New Features ✨

  • Add RemoveAttribute api on the scope. by @giortzisg in #1224
  • Deprecate Scope.SetExtra, Scope.SetExtras, and Scope.RemoveExtra in favor of Scope.SetAttributes and Scope.RemoveAttribute by @giortzisg in #1224
    • The recommended migration path is to use SetAttributes to attach values to logs and metrics. Note that attributes do not appear on error events; if you only capture errors, use SetTag or SetContext instead.
    • Before:
    scope.SetExtra("key.string", "str")
    scope.SetExtra("key.int", 42)
    • After (for error events) — use tags and contexts:
    scope.SetTag("key.string", "str")
    scope.SetContext("my_data", sentry.Context{"key.int": 42})
    • After (for logs and metrics) — use attributes:
    scope.SetAttributes(
        attribute.String("key.string", "str"),
        attribute.Int("key.int", 42),
    )
  • Add support for homogenous arrays by @giortzisg in #1203
  • Add support for client reports by @giortzisg in #1192
  • Add org id propagation in sentry_baggage by @giortzisg in #1210
  • Add OrgID and StrictTraceContinuation client options. by @giortzisg in #1210
  • Add the option to set attributes on the scope by @giortzisg in #1208

Bug Fixes 🐛

  • (serialization) Pre-serialize mutable event fields to prevent race panics by @giortzisg in #1214
  • Use HEROKU_BUILD_COMMIT with HEROKU_SLUG_COMMIT as fallback by @ericapisani in #1220

Internal Changes 🔧

Ai

Deps

  • Bump github.com/buger/jsonparser from 1.1.1 to 1.1.2 in /zerolog by @dependabot in #1231
  • Bump github.com/gofiber/fiber/v2 from 2.52.11 to 2.52.12 in /fiber by @dependabot in #1209

Other

0.43.0

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 24 Feb 14:18

Breaking Changes 🛠

  • Add support for go 1.26 by @giortzisg in #1193
    • bump minimum supported go version to 1.24
  • change type signature of attributes for Logs and Metrics. by @giortzisg in #1205
    • users are not supposed to modify Attributes directly on the Log/Metric itself, but this is still is a breaking change on the type.
  • Send uint64 overflowing attributes as numbers. by @giortzisg in #1198
    • The SDK was converting overflowing uint64 attributes to strings for slog and logrus integrations. To eliminate double types for these attributes, the SDK now sends the overflowing attribute as is, and lets the server handle the overflow appropriately.
    • It is expected that overflowing unsigned integers would now get dropped, instead of converted to strings.

New Features ✨

Bug Fixes 🐛

Internal Changes 🔧

Deps

Other