|
34 | 34 | ### Bug Fixes |
35 | 35 |
|
36 | 36 | - Handle empty frames case gracefully with local vars ([#2807](https://github.com/getsentry/sentry-ruby/pull/2807)) |
| 37 | +- Handle more extra attribute types when using `extra` attributes for structured logging ([#2815](https://github.com/getsentry/sentry-ruby/pull/2815)) |
| 38 | + ```ruby |
| 39 | + # This now works too and the nested hash is dumped to JSON string |
| 40 | + Sentry.logger.info("Hello World", extra: { today: Date.today, user_id: user.id }) |
| 41 | + ``` |
37 | 42 |
|
38 | 43 | ## 6.2.0 |
39 | 44 |
|
|
544 | 549 | - Use `Concurrent.available_processor_count` instead of `Concurrent.usable_processor_count` ([#2358](https://github.com/getsentry/sentry-ruby/pull/2358)) |
545 | 550 |
|
546 | 551 | - Support for tracing Faraday requests ([#2345](https://github.com/getsentry/sentry-ruby/pull/2345)) |
547 | | - |
548 | 552 | - Closes [#1795](https://github.com/getsentry/sentry-ruby/issues/1795) |
549 | 553 | - Please note that the Faraday instrumentation has some limitations in case of async requests: <https://github.com/lostisland/faraday/issues/1381> |
550 | 554 |
|
|
567 | 571 | ``` |
568 | 572 |
|
569 | 573 | - Transaction data are now included in the context ([#2365](https://github.com/getsentry/sentry-ruby/pull/2365)) |
570 | | - |
571 | 574 | - Closes [#2363](https://github.com/getsentry/sentry-ruby/issues/2363) |
572 | 575 |
|
573 | 576 | - Inject Sentry meta tags in the Rails application layout automatically in the generator ([#2369](https://github.com/getsentry/sentry-ruby/pull/2369)) |
|
681 | 684 | - Fix warning about default gems on Ruby 3.3.0 ([#2225](https://github.com/getsentry/sentry-ruby/pull/2225)) |
682 | 685 | - Add `hint:` support to `Sentry::Rails::ErrorSubscriber` [#2235](https://github.com/getsentry/sentry-ruby/pull/2235) |
683 | 686 | - Add [Metrics](https://docs.sentry.io/product/metrics/) support |
684 | | - |
685 | 687 | - Add main APIs and `Aggregator` thread [#2247](https://github.com/getsentry/sentry-ruby/pull/2247) |
686 | 688 | - Add `Sentry::Metrics.timing` API for measuring block duration [#2254](https://github.com/getsentry/sentry-ruby/pull/2254) |
687 | 689 | - Add metric summaries on spans [#2255](https://github.com/getsentry/sentry-ruby/pull/2255) |
|
841 | 843 | - Improve default slug generation for Crons [#2168](https://github.com/getsentry/sentry-ruby/pull/2168) |
842 | 844 | - Change release name generator to use full SHA commit hash and align with `sentry-cli` and other Sentry SDKs [#2174](https://github.com/getsentry/sentry-ruby/pull/2174) |
843 | 845 | - Automatic Crons support for scheduling gems |
844 | | -
|
845 | 846 | - Add support for [`sidekiq-cron`](https://github.com/sidekiq-cron/sidekiq-cron) [#2170](https://github.com/getsentry/sentry-ruby/pull/2170) |
846 | 847 |
|
847 | 848 | You can opt in to the `sidekiq-cron` patch and we will automatically monitor check-ins for all jobs listed in your `config/schedule.yml` file. |
|
897 | 898 | - Adopt Rails 7.1's new BroadcastLogger [#2120](https://github.com/getsentry/sentry-ruby/pull/2120) |
898 | 899 | - Support sending events after all retries were performed (sentry-resque) [#2087](https://github.com/getsentry/sentry-ruby/pull/2087) |
899 | 900 | - Add [Cron Monitoring](https://docs.sentry.io/product/crons/) support |
900 | | -
|
901 | 901 | - Add `Sentry.capture_check_in` API for Cron Monitoring [#2117](https://github.com/getsentry/sentry-ruby/pull/2117) |
902 | 902 |
|
903 | 903 | You can now track progress of long running scheduled jobs. |
|
980 | 980 | ``` |
981 | 981 |
|
982 | 982 | - Tracing without Performance |
983 | | - |
984 | 983 | - Implement `PropagationContext` on `Scope` and add `Sentry.get_trace_propagation_headers` API [#2084](https://github.com/getsentry/sentry-ruby/pull/2084) |
985 | 984 | - Implement `Sentry.continue_trace` API [#2089](https://github.com/getsentry/sentry-ruby/pull/2089) |
986 | 985 |
|
|
1067 | 1066 | ``` |
1068 | 1067 |
|
1069 | 1068 | Some implementation caveats: |
1070 | | - |
1071 | 1069 | - Profiles are sampled **relative** to traces, so if both rates are 0.5, we will capture 0.25 of all requests. |
1072 | 1070 | - Profiles are only captured for code running within a transaction. |
1073 | 1071 | - Profiles for multi-threaded servers like `puma` might not capture frames correctly when async I/O is happening. This is a `stackprof` limitation. |
|
1152 | 1150 | - Expose `end_timestamp` in `Span#finish` and `Transaction#finish` [#1946](https://github.com/getsentry/sentry-ruby/pull/1946) |
1153 | 1151 | - Add `Transaction#set_context` api [#1947](https://github.com/getsentry/sentry-ruby/pull/1947) |
1154 | 1152 | - Add OpenTelemetry support with new `sentry-opentelemetry` gem |
1155 | | - |
1156 | 1153 | - Add `config.instrumenter` to switch between `:sentry` and `:otel` instrumentation [#1944](https://github.com/getsentry/sentry-ruby/pull/1944) |
1157 | 1154 |
|
1158 | 1155 | The new `sentry-opentelemetry` gem adds support to automatically integrate OpenTelemetry performance tracing with Sentry. [Give it a try](https://github.com/getsentry/sentry-ruby/tree/master/sentry-opentelemetry#getting-started) and let us know if you have any feedback or problems with using it. |
|
1172 | 1169 | ``` |
1173 | 1170 |
|
1174 | 1171 | - Use `Sentry.with_child_span` in redis and net/http instead of `span.start_child` [#1920](https://github.com/getsentry/sentry-ruby/pull/1920) |
1175 | | - |
1176 | 1172 | - This might change the nesting of some spans and make it more accurate |
1177 | 1173 | - Followup fix to set the sentry-trace header in the correct place [#1922](https://github.com/getsentry/sentry-ruby/pull/1922) |
1178 | 1174 |
|
|
1201 | 1197 | ### Features |
1202 | 1198 |
|
1203 | 1199 | - Support rack 3 [#1884](https://github.com/getsentry/sentry-ruby/pull/1884) |
1204 | | - |
1205 | 1200 | - We no longer need the `HTTP_VERSION` check for ignoring the header |
1206 | 1201 |
|
1207 | 1202 | - Add [Dynamic Sampling](https://docs.sentry.io/product/sentry-basics/sampling/) support |
1208 | 1203 | The SDK now supports Sentry's Dynamic Sampling product. |
1209 | 1204 |
|
1210 | 1205 | Note that this is not supported for users still using the `config.async` option. |
1211 | | - |
1212 | 1206 | - Parse incoming [W3C Baggage Headers](https://www.w3.org/TR/baggage/) and propagate them to continue traces [#1869](https://github.com/getsentry/sentry-ruby/pull/1869) |
1213 | 1207 | - in all outgoing requests in our net/http patch |
1214 | 1208 | - in Sentry transactions as [Dynamic Sampling Context](https://develop.sentry.dev/sdk/performance/dynamic-sampling-context/) |
|
1244 | 1238 | - Expose `:values` in `ExceptionInterface`, so that it can be accessed in `before_send` under `event.exception.values` [#1843](https://github.com/getsentry/sentry-ruby/pull/1843) |
1245 | 1239 |
|
1246 | 1240 | - Add top level `Sentry.close` API [#1844](https://github.com/getsentry/sentry-ruby/pull/1844) |
1247 | | - |
1248 | 1241 | - Cleans up SDK state and sets it to uninitialized |
1249 | 1242 | - No-ops all SDK APIs and also disables the transport layer, so nothing will be sent to Sentry after closing the SDK |
1250 | 1243 |
|
@@ -1406,7 +1399,6 @@ end |
1406 | 1399 | - Check envelope size before sending it [#1747](https://github.com/getsentry/sentry-ruby/pull/1747) |
1407 | 1400 |
|
1408 | 1401 | The SDK will now check if the envelope's event items are oversized before sending the envelope. It goes like this: |
1409 | | - |
1410 | 1402 | 1. If an event is oversized (200kb), the SDK will remove its breadcrumbs (which in our experience is the most common cause). |
1411 | 1403 | 2. If the event size now falls within the limit, it'll be sent. |
1412 | 1404 | 3. 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, |
@@ -1725,7 +1717,6 @@ When `config.send_default_pii` is set as `true`, `:http_logger` will include que |
1725 | 1717 | ### Features |
1726 | 1718 |
|
1727 | 1719 | - Support exception frame's local variable capturing |
1728 | | - |
1729 | 1720 | - [#1580](https://github.com/getsentry/sentry-ruby/pull/1580) |
1730 | 1721 | - [#1589](https://github.com/getsentry/sentry-ruby/pull/1589) |
1731 | 1722 |
|
|
0 commit comments