Skip to content

Commit 263544a

Browse files
authored
Update CHANGELOG.md
1 parent e600e9d commit 263544a

File tree

1 file changed

+160
-31
lines changed

1 file changed

+160
-31
lines changed

CHANGELOG.md

Lines changed: 160 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,38 +2,167 @@
22

33
## 2.0.0rc4
44

5-
### Better async support (ongoing)
6-
7-
By: @sentrivana (#2912)
8-
9-
### Various fixes & improvements
10-
11-
- feat(crons): Allow to upsert monitors (#2929) by @sentrivana
12-
- fix(types): Fixed `Event | None` runtime `TypeError` (#2928) by @szokeasaurusrex
13-
- docs: Document top-level `start_transaction` function (#2924) by @colin-sentry
14-
- ref(integrations): Use `ensure_integration_enabled` decorator (#2906) by @sentrivana
15-
- docs: Document Transaction and Span kwargs typed dicts (#2923) by @colin-sentry
16-
- ref(otel): Use new scopes API (#2865) by @sentrivana
17-
- docs: Document arguments for `Span` (#2919) by @colin-sentry
18-
- docs: Move transaction __init__ doc comment content (#2918) by @colin-sentry
19-
- Update and cleanup Celery integration (#2891) by @antonpirker
20-
- ref: Remove deprecated `Transaction` creation method (#2917) by @colin-sentry
21-
- Revert "ref: Remove deprecated `Transaction` creation method" (#2911) by @colin-sentry
22-
- ref: Remove deprecated `Transaction` creation method (#2911) by @colin-sentry
23-
- ref: Correct `api.start_transaction` method signature (#2905) by @szokeasaurusrex
24-
- Update CHANGELOG.md (4d8db718) by @szokeasaurusrex
25-
- release: 1.44.0 (a4e44fa6) by @getsentry-bot
26-
- ref(tornado): Use new scopes API (#2907) by @sentrivana
27-
- ref(socket): Use new scopes API (#2915) by @colin-sentry
28-
- ref: Define types at runtime (#2914) by @szokeasaurusrex
29-
- Explicit reexport of types (#2866) (#2913) by @szokeasaurusrex
30-
- ref(beam): Use new scopes API (#2879) by @sentrivana
31-
- ref(starlite): Use new scopes API (#2876) by @sentrivana
32-
- ref(sanic): Use new scopes API (#2875) by @sentrivana
33-
- ref: `ensure_integration_enabled` without original function (#2893) by @szokeasaurusrex
34-
- ref(arq): Use new scopes API (#2878) by @sentrivana
5+
## New Features
6+
7+
- Additional integrations will now be activated automatically if the SDK detects the respective package is installed: Ariadne, ARQ, asyncpg, Chalice, clickhouse-driver, GQL, Graphene, huey, Loguru, PyMongo, Quart, Starlite, Strawberry.
8+
- Added new API for custom instrumentation: `new_scope`, `isolation_scope`. See the [Deprecated](#deprecated) section to see how they map to the existing APIs.
9+
10+
## Changed
11+
12+
- The Pyramid integration will not capture errors that might happen in `authenticated_userid()` in a custom `AuthenticationPolicy` class.
13+
- The method `need_code_loation` of the `MetricsAggregator` was renamed to `need_code_location`.
14+
- The `BackgroundWorker` thread used to process events was renamed from `raven-sentry.BackgroundWorker` to `sentry-sdk.BackgroundWorker`.
15+
- The `reraise` function was moved from `sentry_sdk._compat` to `sentry_sdk.utils`.
16+
- The `_ScopeManager` was moved from `sentry_sdk.hub` to `sentry_sdk.scope`.
17+
- Moved the contents of `tracing_utils_py3.py` to `tracing_utils.py`. The `start_child_span_decorator` is now in `sentry_sdk.tracing_utils`.
18+
- The actual implementation of `get_current_span` was moved to `sentry_sdk.tracing_utils`. `sentry_sdk.get_current_span` is still accessible as part of the top-level API.
19+
- `sentry_sdk.tracing_utils.add_query_source()`: Removed the `hub` parameter. It is not necessary anymore.
20+
- `sentry_sdk.tracing_utils.record_sql_queries()`: Removed the `hub` parameter. It is not necessary anymore.
21+
- `sentry_sdk.tracing_utils.get_current_span()` does now take a `scope` instead of a `hub` as parameter.
22+
- `sentry_sdk.tracing_utils.should_propagate_trace()` now takes a `Client` instead of a `Hub` as first parameter.
23+
- `sentry_sdk.utils.is_sentry_url()` now takes a `Client` instead of a `Hub` as first parameter.
24+
- `sentry_sdk.utils._get_contextvars` does not return a tuple with three values, but a tuple with two values. The `copy_context` was removed.
25+
- If you create a transaction manually and later mutate the transaction in a `configure_scope` block this does not work anymore. Here is a recipe on how to change your code to make it work:
26+
Your existing implementation:
27+
```python
28+
transaction = sentry_sdk.transaction(...)
29+
30+
# later in the code execution:
31+
32+
with sentry_sdk.configure_scope() as scope:
33+
scope.set_transaction_name("new-transaction-name")
34+
```
35+
36+
needs to be changed to this:
37+
```python
38+
transaction = sentry_sdk.transaction(...)
3539

36-
_Plus 30 more_
40+
# later in the code execution:
41+
42+
scope = sentry_sdk.Scope.get_current_scope()
43+
scope.set_transaction_name("new-transaction-name")
44+
```
45+
- 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.
46+
<details>
47+
<summary><b>Show table</b></summary>
48+
49+
| Class | Abstract methods |
50+
| ------------------------------------- | -------------------------------------- |
51+
| `sentry_sdk.integrations.Integration` | `setup_once` |
52+
| `sentry_sdk.metrics.Metric` | `add`, `serialize_value`, and `weight` |
53+
| `sentry_sdk.profiler.Scheduler` | `setup` and `teardown` |
54+
| `sentry_sdk.transport.Transport` | `capture_envelope` |
55+
56+
</details>
57+
58+
## Removed
59+
60+
- Removed support for Python 2 and Python 3.5. The SDK now requires at least Python 3.6.
61+
- Removed support for Celery 3.\*.
62+
- Removed support for Django 1.8, 1.9, 1.10.
63+
- Removed support for Flask 0.\*.
64+
- Removed support for gRPC < 1.39.
65+
- Removed support for Tornado < 6.
66+
- Removed `last_event_id()` top level API. The last event ID is still returned by `capture_event()`, `capture_exception()` and `capture_message()` but the top level API `sentry_sdk.last_event_id()` has been removed.
67+
- Removed support for sending events to the `/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 version `20.6.0` or higher of self-hosted Sentry.
68+
- The deprecated `with_locals` configuration option was removed. Use `include_local_variables` instead. See https://docs.sentry.io/platforms/python/configuration/options/#include-local-variables.
69+
- The deprecated `request_bodies` configuration option was removed. Use `max_request_body_size`. See https://docs.sentry.io/platforms/python/configuration/options/#max-request-body-size.
70+
- Removed support for `user.segment`. It was also removed from the trace header as well as from the dynamic sampling context.
71+
- Removed support for the `install` method for custom integrations. Please use `setup_once` instead.
72+
- Removed `sentry_sdk.tracing.Span.new_span`. Use `sentry_sdk.tracing.Span.start_child` instead.
73+
- Removed `sentry_sdk.tracing.Transaction.new_span`. Use `sentry_sdk.tracing.Transaction.start_child` instead.
74+
- Removed support for creating transactions via `sentry_sdk.tracing.Span(transaction=...)`. To create a transaction, please use `sentry_sdk.tracing.Transaction(name=...)`.
75+
- Removed `sentry_sdk.utils.Auth.store_api_url`.
76+
- `sentry_sdk.utils.Auth.get_api_url`'s now accepts a `sentry_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 possible `sentry_sdk.consts.EndpointType` value. The parameter exists for future compatibility.
77+
- Removed `tracing_utils_py2.py`. The `start_child_span_decorator` is now in `sentry_sdk.tracing_utils`.
78+
- Removed the `sentry_sdk.profiler.Scheduler.stop_profiling` method. Any calls to this method can simply be removed, since this was a no-op method.
79+
80+
## Deprecated
81+
82+
- Using the `Hub` directly as well as using hub-based APIs has been deprecated. Where available, use [the top-level API instead](sentry_sdk/api.py); otherwise use the [scope API](sentry_sdk/scope.py) or the [client API](sentry_sdk/client.py).
83+
84+
Before:
85+
86+
```python
87+
with hub.start_span(...):
88+
# do something
89+
```
90+
91+
After:
92+
93+
```python
94+
import sentry_sdk
95+
96+
with sentry_sdk.start_span(...):
97+
# do something
98+
```
99+
100+
- Hub cloning is deprecated.
101+
102+
Before:
103+
104+
```python
105+
with Hub(Hub.current) as hub:
106+
# do something with the cloned hub
107+
```
108+
109+
After:
110+
111+
```python
112+
import sentry_sdk
113+
114+
with sentry_sdk.isolation_scope() as scope:
115+
# do something with the forked scope
116+
```
117+
118+
- `configure_scope` is deprecated. Use the new isolation scope directly via `Scope.get_isolation_scope()` instead.
119+
120+
Before:
121+
122+
```python
123+
with configure_scope() as scope:
124+
# do something with `scope`
125+
```
126+
127+
After:
128+
129+
```python
130+
from sentry_sdk.scope import Scope
131+
132+
scope = Scope.get_isolation_scope()
133+
# do something with `scope`
134+
```
135+
136+
- `push_scope` is deprecated. Use the new `new_scope` context manager to fork the necessary scopes.
137+
138+
Before:
139+
140+
```python
141+
with push_scope() as scope:
142+
# do something with `scope`
143+
```
144+
145+
After:
146+
147+
```python
148+
import sentry_sdk
149+
150+
with sentry_sdk.new_scope() as scope:
151+
# do something with `scope`
152+
```
153+
154+
- Accessing the client via the hub has been deprecated. Use the top-level `sentry_sdk.get_client()` to get the current client.
155+
- `profiler_mode` and `profiles_sample_rate` have been deprecated as `_experiments` options. Use them as top level options instead:
156+
```python
157+
sentry_sdk.init(
158+
...,
159+
profiler_mode="thread",
160+
profiles_sample_rate=1.0,
161+
)
162+
```
163+
- Deprecated `sentry_sdk.transport.Transport.capture_event`. Please use `sentry_sdk.transport.Transport.capture_envelope`, instead.
164+
- Passing a function to `sentry_sdk.init`'s `transport` keyword argument has been deprecated. If you wish to provide a custom transport, please pass a `sentry_sdk.transport.Transport` instance or a subclass.
165+
- The parameter `propagate_hub` in `ThreadingIntegration()` was deprecated and renamed to `propagate_scope`.
37166

38167
## 2.0.0rc3
39168

0 commit comments

Comments
 (0)