Skip to content

Releases: getsentry/sentry-go

v0.8.0

16 Nov 11:24
Compare
Choose a tag to compare
  • 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

21 Jul 11:41
Compare
Choose a tag to compare
  • 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)
  • feat: Report bad usage of CaptureMessage and CaptureEvent (#269)
  • feat: Send debug logging to stderr by default (#266)
  • feat: Several improvements to documentation (#223, #245, #250, #265)
  • feat: Example of Recover followed by panic (#241, #247)
  • feat: Add Transactions and Spans (to support OpenTelemetry Sentry Exporter) (#235, #243, #254)
  • fix: Set either Frame.Filename or Frame.AbsPath (#233)
  • fix: Clone requestBody to new Scope (#244)
  • fix: Synchronize access and mutation of Hub.lastEventID (#264)
  • fix: Avoid repeated syscalls in prepareEvent (#256)
  • fix: Do not allocate new RNG for every event (#256)
  • fix: Remove stale replace directive in go.mod (#255)
  • fix(http): Deprecate HandleFunc, remove duplication (#260)

NOTE:
This version comes packed with several fixes and improvements and no breaking
changes.
Notably, there is a change in how the SDK reports file names in stack traces
that should resolve any ambiguity when looking at stack traces and using the
Suspect Commits feature.
We recommend all users to upgrade.

v0.6.1

11 May 14:42
Compare
Choose a tag to compare
  • fix: Use NewEvent to init Event struct (#220)

NOTE:
A change introduced in v0.6.0 with the intent of avoiding allocations made a
pattern used in official examples break in certain circumstances (attempting
to write to a nil map).
This release reverts the change such that maps in the Event struct are always
allocated.

v0.6.0

17 Apr 13:31
Compare
Choose a tag to compare
  • feat: Read module dependencies from runtime/debug (#199)
  • feat: Support chained errors using Unwrap (#206)
  • feat: Report chain of errors when available (#185)
  • [breaking] fix: Accept http.RoundTripper to customize transport (#205)
    Before the SDK accepted a concrete value of type *http.Transport in
    ClientOptions, now it accepts any value implementing the http.RoundTripper
    interface. Note that *http.Transport implements http.RoundTripper, so most
    code bases will continue to work unchanged.
    Users of custom transport gain the ability to pass in other implementations of
    http.RoundTripper and may be able to simplify their code bases.
  • fix: Do not panic when scope event processor drops event (#192)
  • [breaking] fix: Use time.Time for timestamps (#191)
    Users of sentry-go typically do not need to manipulate timestamps manually.
    For those who do, the field type changed from int64 to time.Time, which
    should be more convenient to use. The recommended way to get the current time
    is time.Now().UTC().
  • fix: Report usage error including stack trace (#189)
  • feat: Add Exception.ThreadID field (#183)
  • ci: Test against Go 1.14, drop 1.11 (#170)
  • feat: Limit reading bytes from request bodies (#168)
  • [breaking] fix: Rename fasthttp integration package sentryhttp => sentryfasthttp
    The current recommendation is to use a named import, in which case existing
    code should not require any change:
    package main
    
    import (
    	"fmt"
    
    	"github.com/getsentry/sentry-go"
    	sentryfasthttp "github.com/getsentry/sentry-go/fasthttp"
    	"github.com/valyala/fasthttp"
    )

NOTE:
This version includes some new features and a few breaking changes, none of
which should pose troubles with upgrading. Most code bases should be able to
upgrade without any changes.

v0.5.1

05 Feb 19:07
Compare
Choose a tag to compare
  • fix: Ignore err.Cause() when it is nil (#160)

v0.5.0

03 Feb 20:29
Compare
Choose a tag to compare
  • fix: Synchronize access to HTTPTransport.disabledUntil (#158)
  • docs: Update Flush documentation (#153)
  • fix: HTTPTransport.Flush panic and data race (#140)

NOTE:
This version changes the implementation of the default transport, modifying the
behavior of sentry.Flush. The previous behavior was to wait until there were
no buffered events; new concurrent events kept Flush from returning. The new
behavior is to wait until the last event prior to the call to Flush has been
sent or the timeout; new concurrent events have no effect. The new behavior is
inline with the Unified API
Guidelines
.

We have updated the documentation and examples to clarify that Flush is meant
to be called typically only once before program termination, to wait for
in-flight events to be sent to Sentry. Calling Flush after every event is not
recommended, as it introduces unnecessary latency to the surrounding function.
Please verify the usage of sentry.Flush in your code base.

v0.4.0

28 Dec 15:30
Compare
Choose a tag to compare
  • fix(stacktrace): Correctly report package names (#127)
  • fix(stacktrace): Do not rely on AbsPath of files (#123)
  • build: Require github.com/ugorji/go@v1.1.7 (#110)
  • fix: Correctly store last event id (#99)
  • fix: Include request body in event payload (#94)
  • build: Reset go.mod version to 1.11 (#109)
  • fix: Eliminate data race in modules integration (#105)
  • feat: Add support for path prefixes in the DSN (#102)
  • feat: Add HTTPClient option (#86)
  • feat: Extract correct type and value from top-most error (#85)
  • feat: Check for broken pipe errors in Gin integration (#82)
  • fix: Client.CaptureMessage accept nil EventModifier (#72)

v0.3.1

12 Nov 13:33
Compare
Choose a tag to compare
  • feat: Send extra information exposed by the Go runtime (#76)
  • fix: Handle new lines in module integration (#65)
  • fix: Make sure that cache is locked when updating for contextifyFramesIntegration
  • ref: Update Iris integration and example to version 12
  • misc: Remove indirect dependencies in order to move them to separate go.mod files

v0.3.0

05 Sep 20:08
Compare
Choose a tag to compare
  • feat: Retry event marshalling without contextual data if the first pass fails
  • fix: Include url.Parse error in DsnParseError
  • fix: Make more Scope methods safe for concurrency
  • fix: Synchronize concurrent access to Hub.client
  • ref: Remove mutex from Scope exported API
  • ref: Remove mutex from Hub exported API
  • ref: Compile regexps for filterFrames only once
  • ref: Change SampleRate type to float64
  • doc: Scope.Clear not safe for concurrent use
  • ci: Test sentry-go with go1.13, drop go1.10

NOTE:
This version removes some of the internal APIs that landed publicly (namely Hub/Scope mutex structs) and may require (but shouldn't) some changes to your code.
It's not done through major version update, as we are still in 0.x stage.

v0.2.1

29 Jul 11:14
Compare
Choose a tag to compare
  • fix: Run Contextify integration on Threads as well