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.
MessagePack serialization (6y, #2153)
Introduced on 2019-12-22 in 6d81c66f.
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)
These expose SDK internals related to loaded-module discovery.
Backend reinstall (5y, #2159)
Crash-handler re-installation.
Exception, thread, and stacktrace construction (5y, #2135)
The base API was introduced on 2021-04-19 in 60afb29c.
Later additions:
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.
Subsequent additions:
| Date |
Age |
APIs or capabilities introduced |
| 2021-12-15 |
4y 7mo |
sentry_transaction_set_name |
| 2021-12-22 |
4y 7mo |
sentry_envelope_get_transaction |
| 2021-12-23 |
4y 7mo |
sentry_transaction_context_set_name, sentry_transaction_context_set_operation, sentry_transaction_context_set_sampled, sentry_transaction_context_remove_sampled, sentry_transaction_start |
| 2022-01-07 |
4y 7mo |
sentry_set_span |
| 2022-01-08 |
4y 7mo |
sentry_span_start_child, sentry_span_finish |
| 2022-01-11 |
4y 7mo |
Transaction and span tag/data setters and removers |
| 2022-01-13 |
4y 7mo |
sentry_transaction_context_new, sentry_transaction_start_child, sentry_span_set_status, sentry_transaction_set_status |
| 2022-01-18 |
4y 6mo |
sentry_transaction_context_update_from_header, sentry_span_iter_headers, sentry_transaction_iter_headers |
| 2022-01-24 |
4y 6mo |
sentry_set_transaction_object |
| 2023-04-25 |
3y 3mo |
_n variants for context construction and mutation, trace-header parsing, child creation, transaction naming, tags, and data |
| 2024-12-04 |
1y 8mo |
Explicit-timestamp APIs: sentry_transaction_start_ts, sentry_transaction_finish_ts, child _ts and _ts_n variants, and sentry_span_finish_ts |
| 2025-01-14 |
1y 6mo |
sentry_options_set_traces_sampler and context name/operation getters |
| 2025-05-15 |
1y 2mo |
sentry_options_set_before_transaction |
| 2025-07-01 |
1y 1mo |
sentry_regenerate_trace |
| 2025-10-08 |
10mo |
sentry_options_set_propagate_traceparent, sentry_options_get_propagate_traceparent |
| 2026-05-13 |
3mo |
sentry_options_set_org_id, sentry_options_set_org_id_n, sentry_options_set_strict_trace_continuation, and sentry_options_get_strict_trace_continuation |
| 2026-07-17 |
27d |
sentry_transaction_discard, sentry_span_discard |
| 2026-08-13 |
0d |
sentry_scope_set_transaction_object, sentry_scope_set_span |
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.
SDK version (4y, #2176)
sentry_sdk_version introduced on 2022-06-15 in b091b76c.
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)
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.
Later additions:
Metrics (February, #2101)
Introduced on 2026-02-05 in 17bf7631.
Scoped capture was added on 2026-07-17.
HTTP retry (March)
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.
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 exposing sentry_http_transport_new (or perhaps bring it back as sentry_function_transport_new for the sake of consistency?)
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)
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.sentry_unwind_stacksentry_unwind_stack_from_ucontextThese are the oldest APIs that remain experimental.
MessagePack serialization (6y, #2153)Introduced on 2019-12-22 in
6d81c66f.sentry_value_to_msgpackManual native exception capture (6y, #2135)Introduced on 2020-03-30 in
eb73904a.sentry_handle_exceptionThis permits forwarding manually handled POSIX signals or Windows SEH exceptions through the SDK.
Module cache (5-6y, #2184)sentry_clear_modulecachesentry_get_modules_listThese expose SDK internals related to loaded-module discovery.
Backend reinstall (5y, #2159)sentry_reinstall_backendCrash-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_threadLater additions:
sentry_value_set_stacktracesentry_value_new_exception_nsentry_value_new_thread_nPerformance 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_finishSubsequent additions:
sentry_transaction_set_namesentry_envelope_get_transactionsentry_transaction_context_set_name,sentry_transaction_context_set_operation,sentry_transaction_context_set_sampled,sentry_transaction_context_remove_sampled,sentry_transaction_startsentry_set_spansentry_span_start_child,sentry_span_finishsentry_transaction_context_new,sentry_transaction_start_child,sentry_span_set_status,sentry_transaction_set_statussentry_transaction_context_update_from_header,sentry_span_iter_headers,sentry_transaction_iter_headerssentry_set_transaction_object_nvariants for context construction and mutation, trace-header parsing, child creation, transaction naming, tags, and datasentry_transaction_start_ts,sentry_transaction_finish_ts, child_tsand_ts_nvariants, andsentry_span_finish_tssentry_options_set_traces_samplerand context name/operation getterssentry_options_set_before_transactionsentry_regenerate_tracesentry_options_set_propagate_traceparent,sentry_options_get_propagate_traceparentsentry_options_set_org_id,sentry_options_set_org_id_n,sentry_options_set_strict_trace_continuation, andsentry_options_get_strict_trace_continuationsentry_transaction_discard,sentry_span_discardsentry_scope_set_transaction_object,sentry_scope_set_spanThe tag/data families include transaction and span forms, with ordinary and
_nvariants:sentry_transaction_set_tagsentry_transaction_remove_tagsentry_transaction_set_datasentry_transaction_remove_datasentry_span_set_tagsentry_span_remove_tagsentry_span_set_datasentry_span_remove_dataCrashed-last-run state (4y, #2127)Introduced on 2022-03-09 in
9eecb1bd.sentry_get_crashed_last_runSDK version (4y, #2176)sentry_sdk_versionintroduced on 2022-06-15 inb091b76c.sentry_sdk_versionEnding sessions with an explicit status (3y, #2127)Introduced on 2023-02-02 in
a11a1073.sentry_end_session_with_statusThe 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?
sentry_options_get_handler_strategysentry_options_set_handler_strategyThis controls whether the previous signal handler runs before or after Sentry’s handler, primarily for CLR/Mono interoperability.
Screenshot capture (1y, #2130)sentry_options_set_attach_screenshotsentry_options_set_before_screenshotThis is currently Windows-specific, with backend-dependent behavior.
Windows thread stack guarantee (1y)
Introduced on 2025-04-15 in
4150d410.sentry_set_thread_stack_guaranteeThis 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_logLater additions:
sentry_options_set_logs_with_attributes,sentry_options_get_logs_with_attributessentry_logsentry_scope_capture_logMetrics (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_distributionScoped capture was added on 2026-07-17.
sentry_scope_capture_metricHTTP retry (March)
Introduced on 2026-03-31 in
72e1d425.sentry_options_set_http_retrysentry_options_get_http_retrysentry_transport_retryLarge attachment uploads (April)
Introduced on 2026-04-30 in
cbe330b9.sentry_options_set_enable_large_attachmentssentry_options_get_enable_large_attachmentsThis uses out-of-band TUS uploads and requires corresponding server support.
Xbox session replay (May)
Introduced on 2026-05-12 in
f95daa75.sentry_options_set_attach_session_replaysentry_options_set_session_replay_durationThis 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_heartbeatAdded on 2026-07-30.
sentry_app_hang_pauseDeprecated APIs
sentry_new_function_transport(2020-05-13, f52bf3a, 0.3.0)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?)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)