|
19 | 19 | ### Bug Fixes |
20 | 20 |
|
21 | 21 | - Handle empty frames case gracefully with local vars ([#2807](https://github.com/getsentry/sentry-ruby/pull/2807)) |
| 22 | +- Handle more extra attribute types when using `extra` attributes for structured logging ([#2815](https://github.com/getsentry/sentry-ruby/pull/2815)) |
| 23 | + ```ruby |
| 24 | + # This now works too and the nested hash is dumped to JSON string |
| 25 | + Sentry.logger.info("Hello World", extra: { today: Date.today, user_id: user.id }) |
| 26 | + ``` |
22 | 27 |
|
23 | 28 | ## 6.2.0 |
24 | 29 |
|
|
529 | 534 | - Use `Concurrent.available_processor_count` instead of `Concurrent.usable_processor_count` ([#2358](https://github.com/getsentry/sentry-ruby/pull/2358)) |
530 | 535 |
|
531 | 536 | - Support for tracing Faraday requests ([#2345](https://github.com/getsentry/sentry-ruby/pull/2345)) |
532 | | - |
533 | 537 | - Closes [#1795](https://github.com/getsentry/sentry-ruby/issues/1795) |
534 | 538 | - Please note that the Faraday instrumentation has some limitations in case of async requests: <https://github.com/lostisland/faraday/issues/1381> |
535 | 539 |
|
|
552 | 556 | ``` |
553 | 557 |
|
554 | 558 | - Transaction data are now included in the context ([#2365](https://github.com/getsentry/sentry-ruby/pull/2365)) |
555 | | - |
556 | 559 | - Closes [#2363](https://github.com/getsentry/sentry-ruby/issues/2363) |
557 | 560 |
|
558 | 561 | - Inject Sentry meta tags in the Rails application layout automatically in the generator ([#2369](https://github.com/getsentry/sentry-ruby/pull/2369)) |
|
666 | 669 | - Fix warning about default gems on Ruby 3.3.0 ([#2225](https://github.com/getsentry/sentry-ruby/pull/2225)) |
667 | 670 | - Add `hint:` support to `Sentry::Rails::ErrorSubscriber` [#2235](https://github.com/getsentry/sentry-ruby/pull/2235) |
668 | 671 | - Add [Metrics](https://docs.sentry.io/product/metrics/) support |
669 | | - |
670 | 672 | - Add main APIs and `Aggregator` thread [#2247](https://github.com/getsentry/sentry-ruby/pull/2247) |
671 | 673 | - Add `Sentry::Metrics.timing` API for measuring block duration [#2254](https://github.com/getsentry/sentry-ruby/pull/2254) |
672 | 674 | - Add metric summaries on spans [#2255](https://github.com/getsentry/sentry-ruby/pull/2255) |
|
826 | 828 | - Improve default slug generation for Crons [#2168](https://github.com/getsentry/sentry-ruby/pull/2168) |
827 | 829 | - 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) |
828 | 830 | - Automatic Crons support for scheduling gems |
829 | | -
|
830 | 831 | - Add support for [`sidekiq-cron`](https://github.com/sidekiq-cron/sidekiq-cron) [#2170](https://github.com/getsentry/sentry-ruby/pull/2170) |
831 | 832 |
|
832 | 833 | 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. |
|
882 | 883 | - Adopt Rails 7.1's new BroadcastLogger [#2120](https://github.com/getsentry/sentry-ruby/pull/2120) |
883 | 884 | - Support sending events after all retries were performed (sentry-resque) [#2087](https://github.com/getsentry/sentry-ruby/pull/2087) |
884 | 885 | - Add [Cron Monitoring](https://docs.sentry.io/product/crons/) support |
885 | | -
|
886 | 886 | - Add `Sentry.capture_check_in` API for Cron Monitoring [#2117](https://github.com/getsentry/sentry-ruby/pull/2117) |
887 | 887 |
|
888 | 888 | You can now track progress of long running scheduled jobs. |
|
965 | 965 | ``` |
966 | 966 |
|
967 | 967 | - Tracing without Performance |
968 | | - |
969 | 968 | - Implement `PropagationContext` on `Scope` and add `Sentry.get_trace_propagation_headers` API [#2084](https://github.com/getsentry/sentry-ruby/pull/2084) |
970 | 969 | - Implement `Sentry.continue_trace` API [#2089](https://github.com/getsentry/sentry-ruby/pull/2089) |
971 | 970 |
|
|
1052 | 1051 | ``` |
1053 | 1052 |
|
1054 | 1053 | Some implementation caveats: |
1055 | | - |
1056 | 1054 | - Profiles are sampled **relative** to traces, so if both rates are 0.5, we will capture 0.25 of all requests. |
1057 | 1055 | - Profiles are only captured for code running within a transaction. |
1058 | 1056 | - Profiles for multi-threaded servers like `puma` might not capture frames correctly when async I/O is happening. This is a `stackprof` limitation. |
|
1137 | 1135 | - Expose `end_timestamp` in `Span#finish` and `Transaction#finish` [#1946](https://github.com/getsentry/sentry-ruby/pull/1946) |
1138 | 1136 | - Add `Transaction#set_context` api [#1947](https://github.com/getsentry/sentry-ruby/pull/1947) |
1139 | 1137 | - Add OpenTelemetry support with new `sentry-opentelemetry` gem |
1140 | | - |
1141 | 1138 | - Add `config.instrumenter` to switch between `:sentry` and `:otel` instrumentation [#1944](https://github.com/getsentry/sentry-ruby/pull/1944) |
1142 | 1139 |
|
1143 | 1140 | 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. |
|
1157 | 1154 | ``` |
1158 | 1155 |
|
1159 | 1156 | - Use `Sentry.with_child_span` in redis and net/http instead of `span.start_child` [#1920](https://github.com/getsentry/sentry-ruby/pull/1920) |
1160 | | - |
1161 | 1157 | - This might change the nesting of some spans and make it more accurate |
1162 | 1158 | - Followup fix to set the sentry-trace header in the correct place [#1922](https://github.com/getsentry/sentry-ruby/pull/1922) |
1163 | 1159 |
|
|
1186 | 1182 | ### Features |
1187 | 1183 |
|
1188 | 1184 | - Support rack 3 [#1884](https://github.com/getsentry/sentry-ruby/pull/1884) |
1189 | | - |
1190 | 1185 | - We no longer need the `HTTP_VERSION` check for ignoring the header |
1191 | 1186 |
|
1192 | 1187 | - Add [Dynamic Sampling](https://docs.sentry.io/product/sentry-basics/sampling/) support |
1193 | 1188 | The SDK now supports Sentry's Dynamic Sampling product. |
1194 | 1189 |
|
1195 | 1190 | Note that this is not supported for users still using the `config.async` option. |
1196 | | - |
1197 | 1191 | - 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) |
1198 | 1192 | - in all outgoing requests in our net/http patch |
1199 | 1193 | - in Sentry transactions as [Dynamic Sampling Context](https://develop.sentry.dev/sdk/performance/dynamic-sampling-context/) |
|
1229 | 1223 | - 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) |
1230 | 1224 |
|
1231 | 1225 | - Add top level `Sentry.close` API [#1844](https://github.com/getsentry/sentry-ruby/pull/1844) |
1232 | | - |
1233 | 1226 | - Cleans up SDK state and sets it to uninitialized |
1234 | 1227 | - No-ops all SDK APIs and also disables the transport layer, so nothing will be sent to Sentry after closing the SDK |
1235 | 1228 |
|
@@ -1391,7 +1384,6 @@ end |
1391 | 1384 | - Check envelope size before sending it [#1747](https://github.com/getsentry/sentry-ruby/pull/1747) |
1392 | 1385 |
|
1393 | 1386 | The SDK will now check if the envelope's event items are oversized before sending the envelope. It goes like this: |
1394 | | - |
1395 | 1387 | 1. If an event is oversized (200kb), the SDK will remove its breadcrumbs (which in our experience is the most common cause). |
1396 | 1388 | 2. If the event size now falls within the limit, it'll be sent. |
1397 | 1389 | 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, |
@@ -1710,7 +1702,6 @@ When `config.send_default_pii` is set as `true`, `:http_logger` will include que |
1710 | 1702 | ### Features |
1711 | 1703 |
|
1712 | 1704 | - Support exception frame's local variable capturing |
1713 | | - |
1714 | 1705 | - [#1580](https://github.com/getsentry/sentry-ruby/pull/1580) |
1715 | 1706 | - [#1589](https://github.com/getsentry/sentry-ruby/pull/1589) |
1716 | 1707 |
|
|
0 commit comments