Skip to content

Promote experimental & remove deprecated features #2116

Description

@jpnurmi

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)

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 and backend control (5-6y)
API Introduced Age
sentry_clear_modulecache 2020-04-03 6y 4mo
sentry_get_modules_list 2020-11-11 5y 9mo
sentry_reinstall_backend 2021-01-05 5y 7mo

These expose SDK internals related to loaded-module discovery and crash-handler installation.

Exception, thread, and stacktrace construction (5y, #2135)

The base API was introduced on 2021-04-19 in 60afb29c.

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.

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.

Runtime SDK identification (4y)

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.

This controls whether the previous signal handler runs before or after Sentry’s handler, primarily for CLR/Mono interoperability.

Screenshot capture (1y)
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.

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 (<1y, #2101)

Introduced on 2026-02-05 in 17bf7631.

Scoped capture was added on 2026-07-17.

HTTP retry (<1y)

Introduced on 2026-03-31 in 72e1d425.

Large attachment uploads (<1y)

Introduced on 2026-04-30 in cbe330b9.

This uses out-of-band TUS uploads and requires corresponding server support.

Xbox session replay (<1y)

Introduced on 2026-05-12 in f95daa75.

This captures a short retroactive OS-managed recording and attaches it to crash envelopes.

App-hang tracking (<1y)

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)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Nativeplatform labelTracking Issuetracks multiple related issues

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions