This repository has been archived by the owner on Jul 19, 2024. It is now read-only.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^1.45.0
->^2.0.0
Release Notes
getsentry/sentry-python (sentry-sdk)
v2.0.1
Compare Source
Various fixes & improvements
pid
for test database name in Django tests (#2998) by @antonpirker1e17eb5
to4aa14a7
(#2997) by @dependabotv2.0.0
Compare Source
This is the first major update in a long time!
We dropped support for some ancient languages and frameworks (Yes, Python 2.7 is no longer supported). Additionally we refactored a big part of the foundation of the SDK (how data inside the SDK is handled).
We hope you like it!
For a shorter version of what you need to do, to upgrade to Sentry SDK 2.0 see: https://docs.sentry.io/platforms/python/migration/1.x-to-2.x
New Features
new_scope
,isolation_scope
. See the Deprecated section to see how they map to the existing APIs.Changed
(These changes are all backwards-incompatible. Breaking Change (if you are just skimming for that phrase))
authenticated_userid()
in a customAuthenticationPolicy
class.need_code_loation
of theMetricsAggregator
was renamed toneed_code_location
.BackgroundWorker
thread used to process events was renamed fromraven-sentry.BackgroundWorker
tosentry-sdk.BackgroundWorker
.reraise
function was moved fromsentry_sdk._compat
tosentry_sdk.utils
._ScopeManager
was moved fromsentry_sdk.hub
tosentry_sdk.scope
.tracing_utils_py3.py
totracing_utils.py
. Thestart_child_span_decorator
is now insentry_sdk.tracing_utils
.get_current_span
was moved tosentry_sdk.tracing_utils
.sentry_sdk.get_current_span
is still accessible as part of the top-level API.sentry_sdk.tracing_utils.add_query_source()
: Removed thehub
parameter. It is not necessary anymore.sentry_sdk.tracing_utils.record_sql_queries()
: Removed thehub
parameter. It is not necessary anymore.sentry_sdk.tracing_utils.get_current_span()
does now take ascope
instead of ahub
as parameter.sentry_sdk.tracing_utils.should_propagate_trace()
now takes aClient
instead of aHub
as first parameter.sentry_sdk.utils.is_sentry_url()
now takes aClient
instead of aHub
as first parameter.sentry_sdk.utils._get_contextvars
does not return a tuple with three values, but a tuple with two values. Thecopy_context
was removed.configure_scope
block this does not work anymore. Here is a recipe on how to change your code to make it work:Your existing implementation:
later in the code execution:
later in the code execution:
The classes listed in the table below are now abstract base classes. Therefore, they can no longer be instantiated. Subclasses can only be instantiated if they implement all of the abstract methods.
Show table
sentry_sdk.integrations.Integration
setup_once
sentry_sdk.metrics.Metric
add
,serialize_value
, andweight
sentry_sdk.profiler.Scheduler
setup
andteardown
sentry_sdk.transport.Transport
capture_envelope
Removed
(These changes are all backwards-incompatible. Breaking Change (if you are just skimming for that phrase))
last_event_id()
top level API. The last event ID is still returned bycapture_event()
,capture_exception()
andcapture_message()
but the top level APIsentry_sdk.last_event_id()
has been removed./store
endpoint. Everything is now sent to the/envelope
endpoint. If you're on SaaS you don't have to worry about this, but if you're running Sentry yourself you'll need version20.6.0
or higher of self-hosted Sentry.with_locals
configuration option was removed. Useinclude_local_variables
instead. See https://docs.sentry.io/platforms/python/configuration/options/#include-local-variables.request_bodies
configuration option was removed. Usemax_request_body_size
. See https://docs.sentry.io/platforms/python/configuration/options/#max-request-body-size.user.segment
. It was also removed from the trace header as well as from the dynamic sampling context.install
method for custom integrations. Please usesetup_once
instead.sentry_sdk.tracing.Span.new_span
. Usesentry_sdk.tracing.Span.start_child
instead.sentry_sdk.tracing.Transaction.new_span
. Usesentry_sdk.tracing.Transaction.start_child
instead.sentry_sdk.tracing.Span(transaction=...)
. To create a transaction, please usesentry_sdk.tracing.Transaction(name=...)
.sentry_sdk.utils.Auth.store_api_url
.sentry_sdk.utils.Auth.get_api_url
's now accepts asentry_sdk.consts.EndpointType
enum instead of a string as its only parameter. We recommend omitting this argument when calling the function, since the parameter's default value is the only possiblesentry_sdk.consts.EndpointType
value. The parameter exists for future compatibility.tracing_utils_py2.py
. Thestart_child_span_decorator
is now insentry_sdk.tracing_utils
.sentry_sdk.profiler.Scheduler.stop_profiling
method. Any calls to this method can simply be removed, since this was a no-op method.Deprecated
Using the
Hub
directly as well as using hub-based APIs has been deprecated. Where available, use the top-level API instead; otherwise use the scope API or the client API.Before:
do something
Hub cloning is deprecated.
Before:
do something with the cloned hub
configure_scope
is deprecated. Use the new isolation scope directly viaScope.get_isolation_scope()
instead.Before:
do something with
scope
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.