Skip to content

Commit

Permalink
Updated changelog (and little fix in readme)
Browse files Browse the repository at this point in the history
  • Loading branch information
antonpirker committed Feb 26, 2024
1 parent b3fafae commit 1a5e983
Show file tree
Hide file tree
Showing 2 changed files with 87 additions and 29 deletions.
113 changes: 86 additions & 27 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,34 +2,93 @@

## 2.0.0a1

### Various fixes & improvements
**Sentry SDK 2.0a1 is alpha software and not yet ready for production!**

Please give it a spin and test it with your project. If you have any questions or feedback please contact us on [Discord](https://discord.gg/Ww9hbqr) in the [#python](https://discord.com/channels/621778831602221064/621783758739079168) channel or create a [GitHub Issue](https://github.com/getsentry/sentry-python/issues) or start a [GitHub Discussion](https://github.com/getsentry/sentry-python/discussions).

Thanks!

### New Features

- 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.

### Changed

- The Pyramid integration will not capture errors that might happen in `authenticated_userid()` in a custom `AuthenticationPolicy` class.
- The method `need_code_loation` of the `MetricsAggregator` was renamed to `need_code_location`.
- The `BackgroundWorker` thread used to process events was renamed from `raven-sentry.BackgroundWorker` to `sentry-sdk.BackgroundWorker`.
- The `reraise` function was moved from `sentry_sdk._compat` to `sentry_sdk.utils`.
- The `_ScopeManager` was moved from `sentry_sdk.hub` to `sentry_sdk.scope`.
- Moved the contents of `tracing_utils_py3.py` to `tracing_utils.py`. The `start_child_span_decorator` is now in `sentry_sdk.tracing_utils`.
- 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.
- `sentry_sdk.tracing_utils.get_current_span()` does now take a `scope` instead of a `hub` as parameter.
- `sentry_sdk.utils._get_contextvars` does not return a tuple with three values, but a tuple with two values. The `copy_context` was removed.
- 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:
Your existing implementation:
```python
transaction = sentry_sdk.transaction(...)

# later in the code execution:

with sentry_sdk.configure_scope() as scope:
scope.set_transaction_name("new-transaction-name")
```

needs to be changed to this:
```python
transaction = sentry_sdk.transaction(...)

# later in the code execution:

scope = sentry_sdk.Scope.get_current_scope()
scope.set_transaction_name("new-transaction-name")
```
- 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.
<details>
<summary><b>Show table</b></summary>

| Class | Abstract methods |
| ------------------------------------- | -------------------------------------- |
| `sentry_sdk.integrations.Integration` | `setup_once` |
| `sentry_sdk.metrics.Metric` | `add`, `serialize_value`, and `weight` |
| `sentry_sdk.profiler.Scheduler` | `setup` and `teardown` |
| `sentry_sdk.transport.Transport` | `capture_envelope` |

</details>

### Removed

- Removed support for Python 2 and Python 3.5. The SDK now requires at least Python 3.6.
- Removed support for Celery 3.\*.
- Removed support for Django 1.8, 1.9, 1.10.
- Removed support for Flask 0.\*.
- 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.
- 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.
- 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.
- 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.
- Removed support for `user.segment`. It was also removed from the trace header as well as from the dynamic sampling context.
- Removed support for the `install` method for custom integrations. Please use `setup_once` instead.
- Removed `sentry_sdk.tracing.Span.new_span`. Use `sentry_sdk.tracing.Span.start_child` instead.
- Removed `sentry_sdk.tracing.Transaction.new_span`. Use `sentry_sdk.tracing.Transaction.start_child` instead.
- Removed `sentry_sdk.utils.Auth.store_api_url`.
- `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.
- Removed `tracing_utils_py2.py`. The `start_child_span_decorator` is now in `sentry_sdk.tracing_utils`.
- 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.

### Deprecated

- `profiler_mode` and `profiles_sample_rate` have been deprecated as `_experiments` options. Use them as top level options instead:
```python
sentry_sdk.init(
...,
profiler_mode="thread",
profiles_sample_rate=1.0,
)
```
- Deprecated `sentry_sdk.transport.Transport.capture_event`. Please use `sentry_sdk.transport.Transport.capture_envelope`, instead.
- 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.
- The parameter `propagate_hub` in `ThreadingIntegration()` was deprecated and renamed to `propagate_scope`.

- Temporarily disable tests for alpha release (fa5f50b0) by @antonpirker
- channel link (0594cfa5) by @antonpirker
- Added note to README (cdf4f901) by @antonpirker
- Updated migration guide (ad4ff19c) by @antonpirker
- ref(api): Abstract base classes (#2667) by @szokeasaurusrex
- Scope refactoring (merge Hubs and Scopes) (#2610) by @antonpirker
- docs: Update readme, migration guide (#2754) by @sentrivana
- Remove PY2 (8aa95995) by @sentrivana
- fix(query-source): Fix query source relative filepath (#2717) by @gggritso
- Support clickhouse-driver==0.2.7 (#2752) by @sentrivana
- build(deps): bump checkouts/data-schemas from `6121fd3` to `eb941c2` (#2747) by @dependabot
- Added last_event_id() to the stuff that has been removed. (93f89e00) by @antonpirker
- ref: Use new-style super() (#2744) by @sentrivana
- ref(docs): Tweak migration guide (#2742) by @sentrivana
- fix(metrics): Fix typo (#2735) by @sentrivana
- Deprecate profiler `_experiments` options (#2737) by @sentrivana
- Remove `user.segment` (#2726) by @sentrivana
- ref(transport): Remove compatibility import (#2698) by @sentrivana
- Typo (#2690) by @sentrivana
- Update MIGRATION_GUIDE.md (#2690) by @sentrivana
- Update MIGRATION_GUIDE.md (#2690) by @sentrivana
- ref(api): Remove store endpoint (#2656) by @szokeasaurusrex
- Remove deprecated code (#2666) by @sentrivana
- Auto-enable more integrations (#2671) by @sentrivana

_Plus 17 more_

## 1.40.5

Expand Down
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,10 @@ This is the official Python SDK for [Sentry](http://sentry.io/)

**Sentry SDK 2.0a1** is alpha software and not yet ready for production.

Please give it a spin and test it with your project. If you have any questions or feedback please contact us on [Discord](https://discord.gg/Ww9hbqr) in the [#python](https://discord.com/channels/621778831602221064/621783758739079168) channel or create a [GitHub Issue](https://github.com/getsentry/sentry-python/issues) or start a [GitHub Discussion](https://github.com/getsentry/sentry-python/discussions).
Please give it a spin and test it with your project. If you have any questions or feedback please contact us on [Discord](https://discord.gg/Ww9hbqr) in the [#python](https://discord.com/channels/621778831602221064/621783758739079168) channel or create a [GitHub Issue](https://github.com/getsentry/sentry-python/issues) or start a [GitHub Discussion](https://github.com/getsentry/sentry-python/discussions).

Thanks!

https://discord.com/channels/621778831602221064/621783758739079168

## Getting Started

Expand Down

0 comments on commit 1a5e983

Please sign in to comment.