Changelog History
Page 1
-
v5.6.0 Changes
๐ Features
๐ Allow users to configure their asset-skipping pattern #1915
Users can now configure their own pattern to skip asset requests' transactions
Sentry.init do |config| config.rails.assets_regexp = /my_regexp/ end
Use
Sentry.with_child_span
in redis and net/http instead ofspan.start_child
#1920- This might change the nesting of some spans and make it more accurate
- Followup fix to set the sentry-trace header in the correct place #1922
๐ Use
Exception#detailed_message
when generating exception message if applicable #1924๐ Make
sentry-sidekiq
compatible with Sidekiq 7 #1930
๐ Bug Fixes
- ๐
Sentry::BackgroundWorker
will releaseActiveRecord
connection pool only when theActiveRecord
connection is established - ๐ Remove bad encoding arguments in redis span descriptions #1914
- Fixes #1911
- โ Add missing
initialized?
checks tosentry-rails
#1919- Fixes #1885
โก๏ธ Update Tracing Span's op names #1923
Currently, Ruby integrations' Span op names aren't aligned with the core specification's convention, so we decided to update them altogether in this PR. If you rely on Span op names for fine-grained event filtering, this may affect the data your app sends to Sentry. Also make sure to update your
traces_sampler
if you rely on theop
for filtering some requests.
๐จ Refactoring
- ๐ Make transaction a required argument of Span #1921
-
v5.5.0 Changes
๐ Features
๐ Support rack 3 #1884
- We no longer need the
HTTP_VERSION
check for ignoring the header
- We no longer need the
โ Add Dynamic Sampling support The SDK now supports Sentry's Dynamic Sampling product.
Note that this is not supported for users still using the
config.async
option.- Parse incoming W3C Baggage Headers and propagate them to continue traces #1869
- in all outgoing requests in our net/http patch
- in Sentry transactions as Dynamic Sampling Context
- Create new Baggage entries as Head SDK (originator of trace) #1898
- Add Transaction source annotations to classify low quality (high cardinality) transaction names #1902
๐ Bug Fixes
-
v5.4.1 Changes
๐ Bug Fixes
- ๐ Fix missing
spec.files
insentry-ruby.gemspec
- Fixes #1856
- ๐ Fix missing
-
v5.4.0 Changes
๐ Features
๐ฆ Expose
:values
inExceptionInterface
, so that it can be accessed inbefore_send
underevent.exception.values
#1843โ Add top level
Sentry.close
API #1844- Cleans up SDK state and sets it to uninitialized
- No-ops all SDK APIs and also disables the transport layer, so nothing will be sent to Sentry after closing the SDK
๐ Handle exception with large stacktrace without dropping entire item #1807
๐ Capture Rails runner's exceptions before exiting #1820
๐ป Add
Sentry.with_exception_captured
helper #1814Usage:
Sentry.with_exception_captured do 1/1 #=> 1 will be returned end Sentry.with_exception_captured do 1/0 #=> ZeroDivisionError will be reported and re-raised end
๐ Prepare for Rails 7.1's error reporter API change #1834
Set
sentry.error_event_id
in request env if the middleware captures errors #1849
If the SDK's Rack middleware captures an error, the reported event's id will be stored in the request env. For example:
env["sentry.error_event_id"] #=> "507bd4c1a07e4355bb70bcd7afe8ab17"
Users can display this information on the error page via a middleware as proposed in #1846
๐ Bug Fixes
- Respect
report_rescued_exceptions
config #1847- Fixes #1840
- ๐ Rescue event's to JSON conversion error #1853
- ๐ Rescue
ThreadError
inSessionFlusher
and stop creating threads if flusher is killed #1851- Fixes #1848
๐จ Refactoring
- ๐ Move envelope item processing/trimming logic to the Item class #1824
- ๐ Replace sentry-ruby-core with sentry-ruby as integration dependency #1825
โ Test Helpers
โ The SDK now provides a set of test helpers to help users setup and teardown Sentry related tests.
To get started:
require "sentry/test_helper"
-
v5.3.0 Changes
๐ Features
- Add
Sentry.with_child_span
for easier span recording #1783
operation_result = Sentry.with_child_span(op: "my op") do |child_span| my_operation end
- Add
-
v5.2.0 Changes
๐ Features
- ๐ Log Redis command arguments when sending PII is enabled #1726
- โ Add request env to sampling context #1749
Example
Sentry.init do |config| config.traces_sampler = lambda do |sampling_context| env = sampling_context[:env] if env["REQUEST_METHOD"] == "GET" 0.01 else 0.1 end end end
- ๐ Check envelope size before sending it #1747
The SDK will now check if the envelope's event items are oversized before sending the envelope. It goes like this:
- If an event is oversized (200kb), the SDK will remove its breadcrumbs (which in our experience is the most common cause).
- If the event size now falls within the limit, it'll be sent.
- Otherwise, the event will be thrown away. The SDK will also log a debug message about the event's attributes size (in bytes) breakdown. For example,
{event_id: 34, level: 7, timestamp: 22, environment: 13, server_name: 14, modules: 935, message: 5, user: 2, tags: 2, contexts: 820791, extra: 2, fingerprint: 2, platform: 6, sdk: 40, threads: 51690}
This will help users report size-related issues in the future.
- ๐ Automatic session tracking #1715
Example:
The SDK now supports automatic session tracking / release health by default in Rack based applications.
Aggregate statistics on successful / errored requests are collected and sent to the server every minute.
To use this feature, make sure the SDK can detect your app's release. Or you have set it with:Sentry.init do |config| config.release = 'release-foo-v1' end
To disable this feature, set
config.auto_session_tracking
tofalse
.๐ Bug Fixes