Repository navigation
Description
Analyze all old deprecated and experimental APIs and either remove them, promote them to stable, or deprecate as appropriate.
Experimental APIs
Stack unwinding (6y, #2135)
Introduced on 2019-12-22 in 6d81c66f.
These are the oldest APIs that remain experimental.
Manual native exception capture (6y, #2135)
Introduced on 2020-03-30 in eb73904a.
This permits forwarding manually handled POSIX signals or Windows SEH exceptions through the SDK.
Module cache (5-6y, #2184)
| API | Introduced | Age |
|---|---|---|
sentry_clear_modulecache |
2020-04-03 | 6y 4mo |
sentry_get_modules_list |
2020-11-11 | 5y 9mo |
These expose SDK internals related to loaded-module discovery.
Backend reinstall (5y, #2159)
| API | Introduced | Age |
|---|---|---|
sentry_reinstall_backend |
2021-01-05 | 5y 7mo |
Crash-handler re-installation.
Exception, thread, and stacktrace construction (5y, #2135)
The base API was introduced on 2021-04-19 in 60afb29c.
sentry_value_new_exceptionsentry_value_new_threadsentry_value_new_stacktracesentry_event_add_exceptionsentry_event_add_thread
Later additions:
| API | Introduced | Age |
|---|---|---|
sentry_value_set_stacktrace |
2022-06-14 | 4y 1mo |
sentry_value_new_exception_n |
2023-04-25 | 3y 3mo |
sentry_value_new_thread_n |
2023-04-25 | 3y 3mo |
Performance monitoring and tracing (4y, #2012)
This is the largest experimental area, containing 67 functions or approximately 52% of the experimental API.
Initial configuration was introduced on 2021-12-08.
sentry_options_set_max_spanssentry_options_get_max_spanssentry_options_set_traces_sample_ratesentry_options_get_traces_sample_ratesentry_transaction_finish
Subsequent additions:
The tag/data families include transaction and span forms, with ordinary and _n variants:
Crashed-last-run state (4y, #2127)
Introduced on 2022-03-09 in 9eecb1bd.
Ending sessions with an explicit status (3y, #2127)
Introduced on 2023-02-02 in a11a1073.
The basic session start and end APIs are stable. Only explicit-status termination is marked experimental.
Linux and Android crash-handler strategy (1y)
Introduced on 2024-11-15 in 7c1d428b.
Note: This is conceptually problematic. Based on unreliable .NET runtime-specific IP/SP heuristics to detect what happened in the chained signal handler. It is much better to use SDK preload to swap the signal handlers instead. However, Sentry.NET is going to be stuck with this for the lifetime of .NET 10 LTS, and there are some other external users too. Keep experimental forever?
This controls whether the previous signal handler runs before or after Sentry’s handler, primarily for CLR/Mono interoperability.
Screenshot capture (1y, #2130)
| API | Introduced | Age |
|---|---|---|
sentry_options_set_attach_screenshot |
2025-03-19 | 1y 4mo |
sentry_options_set_before_screenshot |
2026-04-14 | 3mo |
This is currently Windows-specific, with backend-dependent behavior.
Windows thread stack guarantee (1y)
Introduced on 2025-04-15 in 4150d410.
This reserves enough thread stack for crash handling after a stack overflow.
Structured logs (1y, #2101)
The base feature was introduced on 2025-09-23 in 1f8e4c45.
sentry_options_set_enable_logssentry_options_get_enable_logssentry_log_tracesentry_log_debugsentry_log_infosentry_log_warnsentry_log_errorsentry_log_fatalsentry_options_set_before_send_log
Later additions:
| APIs | Introduced | Age |
|---|---|---|
sentry_options_set_logs_with_attributes, sentry_options_get_logs_with_attributes |
2025-11-14 | 8mo |
sentry_log |
2026-03-09 | 5mo |
sentry_scope_capture_log |
2026-07-17 | 27d |
Metrics (February, #2101)
Introduced on 2026-02-05 in 17bf7631.
sentry_options_set_enable_metricssentry_options_get_enable_metricssentry_options_set_before_send_metricsentry_metrics_countsentry_metrics_gaugesentry_metrics_distribution
Scoped capture was added on 2026-07-17.
HTTP retry (March, #2246)
Introduced on 2026-03-31 in 72e1d425.
Large attachment uploads (April)
Introduced on 2026-04-30 in cbe330b9.
This uses out-of-band TUS uploads and requires corresponding server support.
Xbox session replay (May)
Introduced on 2026-05-12 in f95daa75.
This captures a short retroactive OS-managed recording and attaches it to crash envelopes.
App-hang tracking (June)
Introduced on 2026-06-22 in 1cee0971.
sentry_options_set_enable_app_hang_trackingsentry_options_get_enable_app_hang_trackingsentry_options_set_app_hang_timeoutsentry_options_get_app_hang_timeoutsentry_app_hang_heartbeat
Added on 2026-07-30.
Deprecated APIs
sentry_new_function_transport(2020-05-13, f52bf3a, 0.3.0)- mixed feelings: it was deprecated in favor of
sentry_transport_new, but the old name would make more sense after exposingsentry_http_transport_new(or perhaps bring it back assentry_function_transport_newfor the sake of consistency?)
- mixed feelings: it was deprecated in favor of
sentry_event_value_add_stacktrace(2021-04-19, 60afb29, 0.4.9)sentry_shutdown(2021-04-19, 3c7f5b2, 0.4.9)sentry_sdk_name,sentry_sdk_user_agent(2023-04-28, daf2d1c, 0.6.2)sentry_options_set_http_proxy,sentry_options_set_http_proxy_n(2024-11-21, 99b1539, 0.7.16)sentry_value_new_user_feedback,sentry_value_new_user_feedback_n,sentry_capture_user_feedback(2025-07-11, bffc57d, 0.10.0)sentry_options_add_view_hierarchy,sentry_options_add_view_hierarchy_n,sentry_options_add_view_hierarchyw,sentry_options_add_view_hierarchyw_n(2026-05-12, 3b0f1f0, 0.14.1)sentry_capture_event_with_scope(2026-07-17, 46aee2b, 0.15.4)sentry_clear_crashed_last_run(2026-09-09, 26cfeb2, 0.16.7)sentry_regenerate_trace(2026-09-14, 73067dd, 0.16.7)
Old deprecated APIs were removed in #2230.
Activity
linear-code commentedon Sep 21, 2026
NATIVE-232
[-]Analyze experimental APIs[/-][+]Analyze experimental features[/+][-]Analyze experimental features[/-][+]Analyze experimental & deprecated features[/+][-]Analyze experimental & deprecated features[/-][+]Promote experimental & remove deprecated features[/+]chore: Promote exception, event and stack handling APIs to stable (#2135
feat: bidirectional JSON & MessagePack (de)serialization (#2153)
fix: provide `debug_meta.images` to `on_crash`
fix: provide `debug_meta.images` to `on_crash`
fix: provide `debug_meta.images` to `on_crash` (#2184)