Skip to content

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented Jul 5, 2025

This PR contains the following updates:

Package Change Age Confidence
github.com/getsentry/sentry-go v0.5.1 -> v0.35.3 age confidence

Release Notes

getsentry/sentry-go (github.com/getsentry/sentry-go)

v0.35.3: 0.35.3

Compare Source

The Sentry SDK team is happy to announce the immediate availability of Sentry Go SDK v0.35.3.

Bug Fixes
  • Add missing rate limit categories (#​1082)

v0.35.2: 0.35.2

Compare Source

The Sentry SDK team is happy to announce the immediate availability of Sentry Go SDK v0.35.2.

Bug Fixes
  • Fix OpenTelemetry spans being created as transactions instead of child spans (#​1073)
Misc
  • Add MockTransport to test clients for improved testing (#​1071)

v0.35.1: 0.35.1

Compare Source

The Sentry SDK team is happy to announce the immediate availability of Sentry Go SDK v0.35.1.

Bug Fixes
  • Fix race conditions when accessing the scope during logging operations (#​1050)
  • Fix nil pointer dereference with malformed URLs when tracing is enabled in fasthttp and fiber integrations (#​1055)
Misc
  • Bump github.com/gofiber/fiber/v2 from 2.52.5 to 2.52.9 in /fiber (#​1067)

v0.35.0: 0.35.0

Compare Source

The Sentry SDK team is happy to announce the immediate availability of Sentry Go SDK v0.35.0.

Breaking Changes

The logging API now supports a fluent interface for structured logging with attributes:

// usage before
logger := sentry.NewLogger(ctx)
// attributes weren't being set permanently
logger.SetAttributes(
    attribute.String("version", "1.0.0"),
)
logger.Infof(ctx, "Message with parameters %d and %d", 1, 2)

// new behavior
ctx := context.Background()
logger := sentry.NewLogger(ctx)

// Set permanent attributes on the logger
logger.SetAttributes(
    attribute.String("version", "1.0.0"),
)

// Chain attributes on individual log entries
logger.Info().
    String("key.string", "value").
    Int("key.int", 42).
    Bool("key.bool", true).
    Emitf("Message with parameters %d and %d", 1, 2)
Bug Fixes
  • Correctly serialize FailureIssueThreshold and RecoveryThreshold onto check-in payloads (#​1060)

v0.34.1: 0.34.1

Compare Source

The Sentry SDK team is happy to announce the immediate availability of Sentry Go SDK v0.34.1.

Bug Fixes
  • Allow flush to be used multiple times without issues, particularly for the batch logger (#​1051)
  • Fix race condition in Scope.GetSpan() method by adding proper mutex locking (#​1044)
  • Guard transport on Close() to prevent panic when called multiple times (#​1044)

v0.34.0: 0.34.0

Compare Source

The Sentry SDK team is happy to announce the immediate availability of Sentry Go SDK v0.34.0.

Breaking Changes
  • Logrus structured logging support replaces the sentrylogrus.Hook signature from a *Hook to an interface.
var hook *sentrylogrus.Hook
hook = sentrylogrus.New(
    // ... your setup
)

// should change the definition to 
var hook sentrylogrus.Hook
hook = sentrylogrus.New(
    // ... your setup
)
Features
ctx := context.Background()
handler := sentryslog.Option{
    EventLevel: []slog.Level{slog.LevelError, sentryslog.LevelFatal}, // Only Error and Fatal as events
    LogLevel:   []slog.Level{slog.LevelWarn, slog.LevelInfo},         // Only Warn and Info as logs
}.NewSentryHandler(ctx)
logger := slog.New(handler)
logger.Info("hello"))
logHook, _ := sentrylogrus.NewLogHook(
    []logrus.Level{logrus.InfoLevel, logrus.WarnLevel}, 
    sentry.ClientOptions{
        Dsn: "your-dsn",
        EnableLogs: true, // Required for log entries    
    })
defer logHook.Flush(5 * time.Secod)
logrus.RegisterExitHandler(func() {
    logHook.Flush(5 * time.Second)
})

logger := logrus.New()
logger.AddHook(logHook)
logger.Infof("hello")
  • Add support for flushing events with context using FlushWithContext(). (#​935)
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()

if !sentry.FlushWithContext(ctx) {
    // Handle timeout or cancellation
}
  • Add support for custom fingerprints in slog integration. (#​1039)
Deprecations
  • Slog structured logging support replaces Level option with EventLevel and LogLevel options, for specifying fine-grained levels for capturing events and logs.
handler := sentryslog.Option{
    EventLevel: []slog.Level{slog.LevelWarn, slog.LevelError, sentryslog.LevelFatal},
    LogLevel:   []slog.Level{slog.LevelDebug, slog.LevelInfo, slog.LevelWarn, slog.LevelError, sentryslog.LevelFatal},
}.NewSentryHandler(ctx)
  • Logrus structured logging support replaces New and NewFromClient functions to NewEventHook, NewEventHookFromClient, to match the newly added NewLogHook functions, and specify the hook type being created each time.
logHook, err := sentrylogrus.NewLogHook(
    []logrus.Level{logrus.InfoLevel},
    sentry.ClientOptions{})
eventHook, err := sentrylogrus.NewEventHook([]logrus.Level{
    logrus.ErrorLevel,
    logrus.FatalLevel,
    logrus.PanicLevel,
}, sentry.ClientOptions{})
Bug Fixes
  • Fix issue where ContinueTrace() would panic when sentry-trace header does not exist. (#​1026)
  • Fix incorrect log level signature in structured logging. (#​1034)
  • Remove sentry.origin attribute from Sentry logger to prevent confusion in spans. (#​1038)
  • Don't gate user information behind SendDefaultPII flag for logs. (#​1032)
Misc
  • Add more sensitive HTTP headers to the default list of headers that are scrubbed by default. (#​1008)

v0.33.0: 0.33.0

Compare Source

The Sentry SDK team is happy to announce the immediate availability of Sentry Go SDK v0.33.0.

Breaking Changes
  • Rename the internal Logger to DebugLogger. This feature was only used when you set Debug: True in your sentry.Init() call. If you haven't used the Logger directly, no changes are necessary. (#​1012)
Features
  • Add support for Structured Logging. (#​1010)

    logger := sentry.NewLogger(ctx)
    logger.Info(ctx, "Hello, Logs!")

    You can learn more about Sentry Logs on our docs and the examples.

  • Add new attributes APIs, which are currently only exposed on logs. (#​1007)

Bug Fixes
  • Do not push a new scope on StartSpan. (#​1013)
  • Fix an issue where the propagated smapling decision wasn't used. (#​995)
  • [Otel] Prefer httpRoute over httpTarget for span descriptions. (#​1002)
Misc
  • Update github.com/stretchr/testify to v1.8.4. (#​988)

v0.32.0: 0.32.0

Compare Source

The Sentry SDK team is happy to announce the immediate availability of Sentry Go SDK v0.32.0.

Breaking Changes
  • Bump the minimum Go version to 1.22. The supported versions are 1.22, 1.23 and 1.24. (#​967)
  • Setting any values on span.Extra has no effect anymore. Use SetData(name string, value interface{}) instead. (#​864)
Features
  • Add a MockTransport and MockScope. (#​972)
Bug Fixes
  • Fix writing *http.Request in the Logrus JSONFormatter. (#​955)
Misc
  • Transaction data attributes are now seralized as trace context data attributes, allowing you to query these attributes in the Trace Explorer.

v0.31.1: 0.31.1

Compare Source

The Sentry SDK team is happy to announce the immediate availability of Sentry Go SDK v0.31.1.

Bug Fixes
  • Correct wrong module name for sentry-go/logrus (#​950)

v0.31.0: 0.31.0

Compare Source

Breaking Changes
  • Remove support for metrics. Read more about the end of the Metrics beta here. (#​914)

  • Remove support for profiling. (#​915)

  • Remove Segment field from the User struct. This field is no longer used in the Sentry product. (#​928)

  • Every integration is now a separate module, reducing the binary size and number of dependencies. Once you update sentry-go to latest version, you'll need to go get the integration you want to use. For example, if you want to use the echo integration, you'll need to run go get github.com/getsentry/sentry-go/echo (#​919).

Features
  • Add the ability to override hub in context for integrations that use custom context. (#​931)

  • Add HubProvider Hook for sentrylogrus, enabling dynamic Sentry hub allocation for each log entry or goroutine. (#​936)

This change enhances compatibility with Sentry's recommendation of using separate hubs per goroutine. To ensure a separate Sentry hub for each goroutine, configure the HubProvider like this:

hook, err := sentrylogrus.New(nil, sentry.ClientOptions{})
if err != nil {
    log.Fatalf("Failed to initialize Sentry hook: %v", err)
}

// Set a custom HubProvider to generate a new hub for each goroutine or log entry
hook.SetHubProvider(func() *sentry.Hub {
    client, _ := sentry.NewClient(sentry.ClientOptions{})
    return sentry.NewHub(client, sentry.NewScope())
})

logrus.AddHook(hook)
Bug Fixes
  • Add support for closing worker goroutines started by the HTTPTranport to prevent goroutine leaks. (#​894)
client, _ := sentry.NewClient()
defer client.Close()

Worker can be also closed by calling Close() method on the HTTPTransport instance. Close should be called after Flush and before terminating the program otherwise some events may be lost.

transport := sentry.NewHTTPTransport()
defer transport.Close()
Misc

v0.30.0: 0.30.0

Compare Source

The Sentry SDK team is happy to announce the immediate availability of Sentry Go SDK v0.30.0.

Features
  • Add sentryzerolog integration (#​857)
  • Add sentryslog integration (#​865)
  • Always set Mechanism Type to generic (#​896)
Bug Fixes
  • Prevent panic in fasthttp and fiber integration in case a malformed URL has to be parsed (#​912)
Misc

Drop support for Go 1.18, 1.19 and 1.20. The currently supported Go versions are the last 3 stable releases: 1.23, 1.22 and 1.21.

v0.29.1: 0.29.1

Compare Source

The Sentry SDK team is happy to announce the immediate availability of Sentry Go SDK v0.29.1.

Bug Fixes
  • Correlate errors to the current trace (#​886)
  • Set the trace context when the transaction finishes (#​888)
Misc
  • Update the sentrynegroni integration to use the latest (v3.1.1) version of Negroni (#​885)

v0.29.0: 0.29.0

Compare Source

The Sentry SDK team is happy to announce the immediate availability of Sentry Go SDK v0.29.0.

Breaking Changes
  • Remove the sentrymartini integration (#​861)
  • The WrapResponseWriter has been moved from the sentryhttp package to the internal/httputils package. If you've imported it previosuly, you'll need to copy the implementation in your project. (#​871)
Features
  • Add new convenience methods to continue a trace and propagate tracing headers for error-only use cases. (#​862)

    If you are not using one of our integrations, you can manually continue an incoming trace by using sentry.ContinueTrace() by providing the sentry-trace and baggage header received from a downstream SDK.

    hub := sentry.CurrentHub()
    sentry.ContinueTrace(hub, r.Header.Get(sentry.SentryTraceHeader), r.Header.Get(sentry.SentryBaggageHeader)),

    You can use hub.GetTraceparent() and hub.GetBaggage() to fetch the necessary header values for outgoing HTTP requests.

    hub := sentry.GetHubFromContext(ctx)
    req, _ := http.NewRequest("GET", "http://localhost:3000", nil)
    req.Header.Add(sentry.SentryTraceHeader, hub.GetTraceparent())
    req.Header.Add(sentry.SentryBaggageHeader, hub.GetBaggage())
Bug Fixes
  • Initialize HTTPTransport.limit if nil (#​844)
  • Fix sentry.StartTransaction() returning a transaction with an outdated context on existing transactions (#​854)
  • Treat Proxy-Authorization as a sensitive header (#​859)
  • Add support for the http.Hijacker interface to the sentrynegroni package (#​871)
  • Go version >= 1.23: Use value from http.Request.Pattern for HTTP transaction names when using sentryhttp & sentrynegroni (#​875)
  • Go version >= 1.21: Fix closure functions name grouping (#​877)
Misc

v0.28.1: 0.28.1

Compare Source

The Sentry SDK team is happy to announce the immediate availability of Sentry Go SDK v0.28.1.

Bug Fixes
  • Implement http.ResponseWriter to hook into various parts of the response process (#​837)

v0.28.0: 0.28.0

Compare Source

The Sentry SDK team is happy to announce the immediate availability of Sentry Go SDK v0.28.0.

Features
  • Add a Fiber performance tracing & error reporting integration (#​795)
  • Add performance tracing to the Echo integration (#​722)
  • Add performance tracing to the FastHTTP integration (#​732)
  • Add performance tracing to the Iris integration (#​809)
  • Add performance tracing to the Negroni integration (#​808)
  • Add FailureIssueThreshold & RecoveryThreshold to MonitorConfig (#​775)
  • Use errors.Unwrap() to create exception groups (#​792)
  • Add support for matching on strings for ClientOptions.IgnoreErrors & ClientOptions.IgnoreTransactions (#​819)
  • Add http.request.method attribute for performance span data (#​786)
  • Accept interface{} for span data values (#​784)
Fixes
  • Fix missing stack trace for parsing error in logrusentry (#​689)

v0.27.0: 0.27.0

Compare Source

The Sentry SDK team is happy to announce the immediate availability of Sentry Go SDK v0.27.0.

Breaking Changes
  • Exception.ThreadId is now typed as uint64. It was wrongly typed as string before. (#​770)
Misc
  • Export Event.Attachments (#​771)

v0.26.0: 0.26.0

Compare Source

The Sentry SDK team is happy to announce the immediate availability of Sentry Go SDK v0.26.0.

Breaking Changes

As previously announced, this release removes some methods from the SDK.

  • sentry.TransactionName() use sentry.WithTransactionName() instead.
  • sentry.OpName() use sentry.WithOpName() instead.
  • sentry.TransctionSource() use sentry.WithTransactionSource() instead.
  • sentry.SpanSampled() use sentry.WithSpanSampled() instead.
Features
  • Add WithDescription span option (#​751)

    span := sentry.StartSpan(ctx, "http.client", WithDescription("GET /api/users"))
  • Add support for package name parsing in Go 1.20 and higher (#​730)

Bug Fixes
  • Apply ClientOptions.SampleRate only to errors & messages (#​754)
  • Check if git is available before executing any git commands (#​737)

v0.25.0: 0.25.0

Compare Source

The Sentry SDK team is happy to announce the immediate availability of Sentry Go SDK v0.25.0.

Breaking Changes

As previously announced, this release removes two global constants from the SDK.

  • sentry.Version was removed. Use sentry.SDKVersion instead (#​727)
  • sentry.SDKIdentifier was removed. Use Client.GetSDKIdentifier() instead (#​727)
Features
  • Add ClientOptions.IgnoreTransactions, which allows you to ignore specific transactions based on their name (#​717)
  • Add ClientOptions.Tags, which allows you to set global tags that are applied to all events. You can also define tags by setting SENTRY_TAGS_ environment variables (#​718)
Bug fixes
  • Fix an issue in the profiler that would cause an infinite loop if the duration of a transaction is longer than 30 seconds (#​724)
Misc
  • dsn.RequestHeaders() is not to be removed, though it is still considered deprecated and should only be used when using a custom transport that sends events to the /store endpoint (#​720)

v0.24.1: 0.24.1

Compare Source

The Sentry SDK team is happy to announce the immediate availability of Sentry Go SDK v0.24.1.

Bug fixes
  • Prevent a panic in sentryotel.flushSpanProcessor() ((#​711))
  • Prevent a panic when setting the SDK identifier (#​715)

v0.24.0: 0.24.0

Compare Source

The Sentry SDK team is happy to announce the immediate availability of Sentry Go SDK v0.24.0.

Deprecations
  • sentry.Version to be removed in 0.25.0. Use sentry.SDKVersion instead.
  • sentry.SDKIdentifier to be removed in 0.25.0. Use Client.GetSDKIdentifier() instead.
  • dsn.RequestHeaders() to be removed after 0.25.0, but no earlier than December 1, 2023. Requests to the /envelope endpoint are authenticated using the DSN in the envelope header.
Features
  • Run a single instance of the profiler instead of multiple ones for each Go routine (#​655)
  • Use the route path as the transaction names when using the Gin integration (#​675)
  • Set the SDK name accordingly when a framework integration is used (#​694)
  • Read release information (VCS revision) from debug.ReadBuildInfo (#​704)
Bug fixes
  • [otel] Fix incorrect usage of attributes.Value.AsString (#​684)
  • Fix trace function name parsing in profiler on go1.21+ (#​695)
Misc

v0.23.0: 0.23.0

Compare Source

The Sentry SDK team is happy to announce the immediate availability of Sentry Go SDK v0.23.0.

Features
  • Initial support for Cron Monitoring (#​661)

    This is how the basic usage of the feature looks like:

    // 🟡 Notify Sentry your job is running:
    checkinId := sentry.CaptureCheckIn(
      &sentry.CheckIn{
        MonitorSlug: "<monitor-slug>",
        Status:      sentry.CheckInStatusInProgress,
      },
      nil,
    )
    
    // Execute your scheduled task here...
    
    // 🟢 Notify Sentry your job has completed successfully:
    sentry.CaptureCheckIn(
      &sentry.CheckIn{
        ID:          *checkinId,
        MonitorSlug: "<monitor-slug>",
        Status:      sentry.CheckInStatusOK,
      },
      nil,
    )

    A full example of using Crons Monitoring is available here.

    More documentation on configuring and using Crons can be found here.

  • Add support for Event Attachments (#​670)

    It's now possible to add file/binary payloads to Sentry events:

    sentry.ConfigureScope(func(scope *sentry.Scope) {
      scope.AddAttachment(&Attachment{
        Filename:    "report.html",
        ContentType: "text/html",
        Payload:     []byte("<h1>Look, HTML</h1>"),
      })
    })

    The attachment will then be accessible on the Issue Details page.

  • Add sampling decision to trace envelope header (#​666)

  • Expose SpanFromContext function (#​672)

Bug fixes
  • Make Span.Finish a no-op when the span is already finished (#​660)

v0.22.0: 0.22.0

Compare Source

The Sentry SDK team is happy to announce the immediate availability of Sentry Go SDK v0.22.0.

This release contains initial profiling support, as well as a few bug fixes and improvements.

Features
  • Initial (alpha) support for profiling (#​626)

    Profiling is disabled by default. To enable it, configure both TracesSampleRate and ProfilesSampleRate when initializing the SDK:

    err := sentry.Init(sentry.ClientOptions{
      Dsn: "__DSN__",
      EnableTracing: true,
      TracesSampleRate: 1.0,
      // The sampling rate for profiling is relative to TracesSampleRate. In this case, we'll capture profiles for 100% of transactions.
      ProfilesSampleRate: 1.0,
    })

    More documentation on profiling and current limitations can be found here.

  • Add transactions/tracing support go the Gin integration (#​644)

Bug fixes
  • Always set a valid source on transactions (#​637)
  • Clone scope.Context in more places to avoid panics on concurrent reads and writes (#​638)
  • Fix frames recognized as not being in-app still showing as in-app (#​647)

v0.21.0: 0.21.0

Compare Source

The Sentry SDK team is happy to announce the immediate availability of Sentry Go SDK v0.21.0.

Note: this release includes one breaking change and some deprecations, which are listed below.

Breaking Changes

This change does not apply if you use https://sentry.io

  • Remove support for the /store endpoint (#​631)
    • This change requires a self-hosted version of Sentry 20.6.0 or higher. If you are using a version of self-hosted Sentry (aka on-premise) older than 20.6.0, then you will need to upgrade your instance.
Features
  • Rename four span option functions (#​611, #​624)
    • TransctionSource -> WithTransactionSource
    • SpanSampled -> WithSpanSampled
    • OpName -> WithOpName
    • TransactionName -> WithTransactionName
    • Old functions TransctionSource, SpanSampled, OpName, and TransactionName are still available but are now deprecated and will be removed in a future release.
  • Make client.EventFromMessage and client.EventFromException methods public (#​607)
  • Add client.SetException method (#​607)
    • This allows to set or add errors to an existing Event.
Bug Fixes
  • Protect from panics while doing concurrent reads/writes to Span data fields (#​609)
  • [otel] Improve detection of Sentry-related spans (#​632, #​636)
    • Fixes cases when HTTP spans containing requests to Sentry were captured by Sentry (#​627)
Misc

v0.20.0: 0.20.0

Compare Source

The Sentry SDK team is happy to announce the immediate availability of Sentry Go SDK v0.20.0.

Note: this release has some breaking changes, which are listed below.

Breaking Changes
  • Remove the following methods: Scope.SetTransaction(), Scope.Transaction() (#​605)

    Span.Name should be used instead to access the transaction's name.

    For example, the following TracesSampler function should be now written as follows:

    Before:

    TracesSampler: func(ctx sentry.SamplingContext) float64 {
      hub := sentry.GetHubFromContext(ctx.Span.Context())
      if hub.Scope().Transaction() == "GET /health" {
        return 0
      }
      return 1
    },

    After:

    TracesSampler: func(ctx sentry.SamplingContext) float64 {
      if ctx.Span.Name == "GET /health" {
        return 0
      }
      return 1
    },
Features
  • Add Span.SetContext() method (#​599)
    • It is recommended to use it instead of hub.Scope().SetContext when setting or updating context on transactions.
  • Add DebugMeta interface to Event and extend Frame structure with more fields (#​606)
    • More about DebugMeta interface here.
Bug Fixes
  • [otel] Fix missing OpenTelemetry context on some events (#​599, #​605)
  • [otel] Better handling for HTTP span attributes (#​610)
Misc

v0.19.0: 0.19.0

Compare Source

The Sentry SDK team is happy to announce the immediate availability of Sentry Go SDK v0.19.0.

Features
  • Add support for exception mechanism metadata (#​564)
    • More about exception mechanisms here.
Bug Fixes
  • [otel] Use the correct "trace" context when sending a Sentry error (#​580)
Misc
  • Drop support for Go 1.17, add support for Go 1.20 (#​563)
    • According to our policy, we're officially supporting the last three minor releases of Go.
  • Switch repository license to MIT (#​583)
    • More about Sentry licensing here.
  • Bump golang.org/x/text minimum required version to 0.3.8 (#​586)

v0.18.0: 0.18.0

Compare Source

The Sentry SDK team is happy to announce the immediate availability of Sentry Go SDK v0.18.0.
This release contains initial support for OpenTelemetry and various other bug fixes and improvements.

Note: This is the last release supporting Go 1.17.

Features
  • Initial support for OpenTelemetry.
    You can now send all your OpenTelemetry spans to Sentry.

    Install the otel module

    go get github.com/getsentry/sentry-go \
           github.com/getsentry/sentry-go/otel

    Configure the Sentry and OpenTelemetry SDKs

    import (
        "go.opentelemetry.io/otel"
        sdktrace "go.opentelemetry.io/otel/sdk/trace"
        "github.com/getsentry/sentry-go"
        "github.com/getsentry/sentry-go/otel"
        // ...
    )
    
    // Initlaize the Sentry SDK
    sentry.Init(sentry.ClientOptions{
        Dsn:              "__DSN__",
        EnableTracing:    true,
        TracesSampleRate: 1.0,
    })
    
    // Set up the Sentry span processor
    tp := sdktrace.NewTracerProvider(
        sdktrace.WithSpanProcessor(sentryotel.NewSentrySpanProcessor()),
        // ...
    )
    otel.SetTracerProvider(tp)
    
    // Set up the Sentry propagator
    otel.SetTextMapPropagator(sentryotel.NewSentryPropagator())

    You can read more about using OpenTelemetry with Sentry in our docs.

Bug Fixes
  • Do not freeze the Dynamic Sampling Context when no Sentry values are present in the baggage header (#​532)
  • Create a frozen Dynamic Sampling Context when calling span.ToBaggage() (#​566)
  • Fix baggage parsing and encoding in vendored otel package (#​568)
Misc
  • Add Span.SetDynamicSamplingContext() (#​539)
  • Add various getters for Dsn (#​540)
  • Add SpanOption::SpanSampled (#​546)
  • Add Span.SetData() (#​542)
  • Add Span.IsTransaction() (#​543)
  • Add Span.GetTransaction() method (#​558)

v0.17.0: 0.17.0

Compare Source

The Sentry SDK team is happy to announce the immediate availability of Sentry Go SDK v0.17.0.
This release contains a new BeforeSendTransaction hook option and corrects two regressions introduced in 0.16.0.

Features
  • Add BeforeSendTransaction hook to ClientOptions (#​517)
    • Here's an example of how BeforeSendTransaction can be used to modify or drop transaction events.
Bug Fixes
  • Do not crash in Span.Finish() when the Client is empty (#​520)
  • Attach non-PII/non-sensitive request headers to events when ClientOptions.SendDefaultPii is set to false (#​524)
Misc
  • Clarify how to handle logrus.Fatalf events (#​501)
  • Rename the examples directory to _examples (#​521)
    • This removes an indirect dependency to github.com/golang-jwt/jwt

v0.16.0: 0.16.0

Compare Source

The Sentry SDK team is happy to announce the immediate availability of Sentry Go SDK v0.16.0.
Due to ongoing work towards a stable API for v1.0.0, we sadly had to include two breaking changes in this release.

Breaking Changes
  • Add EnableTracing, a boolean option flag to enable performance monitoring (false by default).
    • If you're using TracesSampleRate or TracesSampler, this option is required to enable performance monitoring.

      sentry.Init(sentry.ClientOptions{
          EnableTracing: true,
          TracesSampleRate: 1.0,
      })
  • Unify TracesSampler #​498
    • TracesSampler was changed to a callback that must return a float64 between 0.0 and 1.0.

      For example, you can apply a sample rate of 1.0 (100%) to all /api transactions, and a sample rate of 0.5 (50%) to all other transactions.
      You can read more about this in our SDK docs.

      sentry.Init(sentry.ClientOptions{
          TracesSampler: sentry.TracesSampler(func(ctx sentry.SamplingContext) float64 {
               hub := sentry.GetHubFromContext(ctx.Span.Context())
               name := hub.Scope().Transaction()
      
               if strings.HasPrefix(name, "GET /api") {
                   return 1.0
               }
      
               return 0.5
           }),
       }
Features
  • Send errors logged with Logrus to Sentry.
  • Add support for Dynamic Sampling #​491
    • You can read more about Dynamic Sampling in our product docs.
  • Add detailed logging about the reason transactions are being dropped.
    • You can enable SDK logging via sentry.ClientOptions.Debug: true.
Bug Fixes
  • Do not clone the hub when calling StartTransaction #​505

v0.15.0: 0.15.0

Compare Source

  • fix: Scope values should not override Event values (#​446)
  • feat: Make maximum amount of spans configurable (#​460)
  • feat: Add a method to start a transaction (#​482)
  • feat: Extend User interface by adding Data, Name and Segment (#​483)
  • feat: Add ClientOptions.SendDefaultPII (#​485)

v0.14.0: 0.14.0

Compare Source

  • feat: Add function to continue from trace string (#​434)
  • feat: Add max-depth options (#​428)
  • [breaking] ref: Use a Context type mapping to a map[string]interface{} for all event contexts (#​444)
  • [breaking] ref: Replace deprecated ioutil pkg with os & io (#​454)
  • ref: Optimize stacktrace.go from size and speed (#​467)
  • ci: Test against go1.19 and go1.18, drop go1.16 and go1.15 support (#​432, #​477)
  • deps: Dependency update to fix CVEs (#​462, #​464, #​477)

NOTE: This version drops support for Go 1.16 and Go 1.15. The currently supported Go versions are the last 3 stable releases: 1.19, 1.18 and 1.17.

v0.13.0

Compare Source

  • ref: Change DSN ProjectID to be a string (#​420)
  • fix: When extracting PCs from stack frames, try the PC field (#​393)
  • build: Bump gin-gonic/gin from v1.4.0 to v1.7.7 (#​412)
  • build: Bump Go version in go.mod (#​410)
  • ci: Bump golangci-lint version in GH workflow (#​419)
  • ci: Update GraphQL config with appropriate permissions (#​417)
  • ci: ci: Add craft release automation (#​422)

v0.12.0

Compare Source

NOTE:
This version drops support for Go 1.14, however no changes have been made that would make the SDK not work with Go 1.14. The currently supported Go versions are the last 3 stable releases: 1.15, 1.16 and 1.17.
There are two behavior changes related to LastEventID, both of which were intended to align the behavior of the Sentry Go SDK with other Sentry SDKs.
The new automatic release detection feature makes it easier to use Sentry and separate events per release without requiring extra work from users. We intend to improve this functionality in a future release by utilizing information that will be available in runtime starting with Go 1.18. The tracking issue is #​401.

v0.11.0

Compare Source

NOTE:
This version drops support for Go 1.13. The currently supported Go versions are the last 3 stable releases: 1.14, 1.15 and 1.16.
Users of the tracing functionality (StartSpan, etc) should upgrade to this version to benefit from separate rate limits for errors and transactions.
There are no breaking changes and upgrading should be a smooth experience for all users.

v0.10.0

Compare Source

  • feat: Debug connection reuse (#​323)
  • fix: Send root span data as Event.Extra (#​329)
  • fix: Do not double sample transactions (#​328)
  • fix: Do not override trace context of transactions (#​327)
  • fix: Drain and close API response bodies (#​322)
  • ci: Run tests against Go tip (#​319)
  • ci: Move away from Travis in favor of GitHub Actions (#​314) (#​321)

v0.9.0

Compare Source

  • feat: Initial tracing and performance monitoring support (#​285)
  • doc: Revamp sentryhttp documentation (#​304)
  • fix: Hub.PopScope never empties the scope stack (#​300)
  • ref: Report Event.Timestamp in local time (#​299)
  • ref: Report Breadcrumb.Timestamp in local time (#​299)

NOTE:
This version introduces support for Sentry's Performance Monitoring.
The new tracing capabilities are beta, and we plan to expand them on future versions. Feedback is welcome, please open new issues on GitHub.
The sentryhttp package got better API docs, an updated usage example and support for creating automatic transactions as part of Performance Monitoring.

v0.8.0

Compare Source

  • build: Bump required version of Iris (#​296)
  • fix: avoid unnecessary allocation in Client.processEvent (#​293)
  • doc: Remove deprecation of sentryhttp.HandleFunc (#​284)
  • ref: Update sentryhttp example (#​283)
  • doc: Improve documentation of sentryhttp package (#​282)
  • doc: Clarify SampleRate documentation (#​279)
  • fix: Remove RawStacktrace (#​278)
  • docs: Add example of custom HTTP transport
  • ci: Test against go1.15, drop go1.12 support (#​271)

NOTE:
This version comes with a few updates. Some examples and documentation have been
improved. We've bumped the supported version of the Iris framework to avoid
LGPL-licensed modules in the module dependency graph.
The Exception.RawStacktrace and Thread.RawStacktrace fields have been
removed to conform to Sentry's ingestion protocol, only Exception.Stacktrace
and Thread.Stacktrace should appear in user code.

v0.7.0

Compare Source

  • feat: Include original error when event cannot be encoded as JSON (#​258)
  • feat: Use Hub from request context when available (#​217, #​259)
  • feat: Extract stack frames from golang.org/x/xerrors (#​262)
  • feat: Make Environment Integration preserve existing context data (#​261)
  • feat: Recover and RecoverWithContext with arbitrary types (#​268)

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


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

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

Copy link
Author

renovate bot commented Jul 5, 2025

ℹ Artifact update notice

File name: 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
  • The go directive was updated for compatibility reasons

Details:

Package Change
go 1.19 -> 1.22
github.com/stretchr/testify v1.8.1 -> v1.8.4
github.com/go-errors/errors v1.0.2 -> v1.4.2
golang.org/x/sys v0.3.0 -> v0.18.0
golang.org/x/text v0.5.0 -> v0.14.0

@renovate renovate bot force-pushed the renovate/github.com-getsentry-sentry-go-0.x branch from 6037035 to 0e049f2 Compare July 13, 2025 07:46
@renovate renovate bot changed the title fix(deps): update module github.com/getsentry/sentry-go to v0.34.0 fix(deps): update module github.com/getsentry/sentry-go to v0.34.1 Jul 13, 2025
@renovate renovate bot force-pushed the renovate/github.com-getsentry-sentry-go-0.x branch from 0e049f2 to 49dcbc9 Compare August 4, 2025 20:11
@renovate renovate bot changed the title fix(deps): update module github.com/getsentry/sentry-go to v0.34.1 fix(deps): update module github.com/getsentry/sentry-go to v0.35.0 Aug 4, 2025
@renovate renovate bot force-pushed the renovate/github.com-getsentry-sentry-go-0.x branch 2 times, most recently from 51467f2 to c1c1ee0 Compare August 15, 2025 23:31
@renovate renovate bot changed the title fix(deps): update module github.com/getsentry/sentry-go to v0.35.0 fix(deps): update module github.com/getsentry/sentry-go to v0.35.1 Aug 15, 2025
@renovate renovate bot force-pushed the renovate/github.com-getsentry-sentry-go-0.x branch from c1c1ee0 to 5d371f3 Compare September 14, 2025 12:13
@renovate renovate bot changed the title fix(deps): update module github.com/getsentry/sentry-go to v0.35.1 fix(deps): update module github.com/getsentry/sentry-go to v0.35.2 Sep 14, 2025
@renovate renovate bot force-pushed the renovate/github.com-getsentry-sentry-go-0.x branch from 5d371f3 to b7bd8e9 Compare September 16, 2025 20:10
@renovate renovate bot changed the title fix(deps): update module github.com/getsentry/sentry-go to v0.35.2 fix(deps): update module github.com/getsentry/sentry-go to v0.35.3 Sep 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants