python-sentry-sdk/python-sentry-sdk.changes

640 lines
26 KiB
Plaintext

-------------------------------------------------------------------
Mon Nov 14 15:19:03 UTC 2022 - ecsos <ecsos@opensuse.org>
- Update to 1.11.0
- NEW: Support for MongoDB (#1590)
Queries to MongoDB are now instrumented!
See https://docs.sentry.io/platforms/python/guides/pymongo/
for more information.
- Profiling: Do not error if already setup (#1731)
- Profiling: Use sleep scheduler by default (#1729)
- Profiling: Extract more frame info (#1702)
- Profiling: Tune the sample profile generation code for performance (#1694)
- Fix: Reading FastAPI request body twice. (#1724)
- Fix: Django signals problem on sentry.io (#1732)
- Fix: Performance optimizations for Django signals (#1725)
- Fix: Move relay to port 5333 to avoid collisions (#1716)
- Fix: strip_string() checks text length counting bytes not chars (#1711)
- Chore: remove jira workflow (#1707)
- Update actions/upload-artifact to v3.1.1 (#1718)
- Update checkouts/data-schemas from a214fbc to 20ff3b9 (#1703)
-------------------------------------------------------------------
Sun Oct 23 10:40:00 UTC 2022 - John Vandenberg <jayvdb@gmail.com>
- Update to v1.10.1
* Bug fixes for FastAPI and Sentry SDK 1.10.0
* The wrapped receive() did not return anything
- from v1.10.0
* Unified naming for span ops
We have unified the strings of our span operations.
See https://develop.sentry.dev/sdk/performance/span-operations/
* Include framework in SDK name
* Asyncio integration
* Add exception handling to Asyncio Integration
* Fix asyncio task factory
* Have instrumentation for ASGI middleware receive/send callbacks.
* Use Django internal ASGI handling from Channels version 4.0.0.
* fix(integrations): Fix http putrequest when url is None
* Check for Decimal is in_valid_sample_rate
* Add session for aiohttp integration
* feat(profiling): Extract qualified name for each frame
* feat(profiling): Attach thread metadata to profiles
* ref(profiling): Rename profiling frame keys
* fix(profiling): get_frame_name only look at arguments
* fix(profiling): Need to sample profile correctly
* fix(profiling): Race condition spawning multiple profiling threads
- from v1.9.10
* Use content-length header in ASGI instead of reading request body
* Added newer Celery versions to test suite
* Django 4.x support
* Increase max string size for desc
* Fix for partial signals in old Django and old Python versions
* Convert profile output to the sample format
* Dynamically adjust profiler sleep time
- from v1.9.9
* Instrument Django Signals so they show up in "Performance" view
* include other Django enhancements brought up by the community
* fix(profiling): Profiler mode type hints
* New ASGIMiddleware tests
* ref: upgrade linters to flake8 5.x
* feat(profiling): Introduce different profiler schedulers
* fix(profiling): Check transaction sampled status before profiling
* Wrap Baggage ser/deser in capture_internal_exceptions
* feat(profiling): Add support for profiles_sample_rate
* feat(profiling): Support for multithreaded profiles
- from v1.9.8
* Baggage creation for head of trace
The SDK now also generates new baggage entries for dynamic sampling
when it is the first (head) SDK in the pipeline.
- from v1.9.7
* Let SentryAsgiMiddleware work with Starlette and FastAPI integrations
- from v1.9.6
* Auto-enable Starlette and FastAPI
* Add more version constraints
- from v1.9.5
* fix(redis): import redis pipeline using full path
- from v1.9.4
* Remove TRANSACTION_SOURCE_UNKNOWN and default to CUSTOM
* feat(redis): Add instrumentation for redis pipeline
* Handle no release when uploading profiles
- from v1.9.3
* Wrap StarletteRequestExtractor in capture_internal_exceptions
- from v1.9.2
* chore: remove quotes
- from v1.9.1
* Fix FastAPI issues
* Add deprecation warning for 3.4, 3.5
* Update Flask and Quart integrations
* fix(django): Send correct "url" transaction source if Django resolver fails to resolve
- from v1.9.0
* feat(profiler): Add experimental profiler under experiments.enable_profiling
* Fixed problem with broken response and python-multipart
1.8.0
* feat(starlette): add Starlette integration
Important: Remove manual usage of SentryAsgiMiddleware!
* fix: avoid sending empty Baggage header
* fix: properly freeze Baggage object
- from v1.7.2
* feat(transactions): Transaction Source
* Removed (unused) sentry_timestamp header
- from v1.7.1
* Skip malformed baggage items
- from v1.7.0
* feat(tracing): Dynamic Sampling Context / Baggage continuation
* The SDK now propagates the W3C Baggage Header from incoming
transactions to outgoing requests. It also extracts Sentry
specific sampling information and adds it to the transaction
headers to enable Dynamic Sampling in the product.
-------------------------------------------------------------------
Sun Jul 3 09:34:55 UTC 2022 - ecsos <ecsos@opensuse.org>
- Update to 1.6.0
- Fix Deployment (#1474)
- Serverless V2 (#1450)
- Use logging levelno instead of levelname. Levelnames can be
overridden (#1449)
-------------------------------------------------------------------
Sun Jul 3 09:24:33 UTC 2022 - ecsos <ecsos@opensuse.org>
- Update to 1.5.12
- feat(measurements): Add experimental set_measurement api on
transaction (#1359)
- fix: Remove incorrect usage from flask helper example (#1434)
- Update to 1.5.11
- chore: Bump mypy and fix abstract ContextManager typing (#1421)
- chore(issues): add link to Sentry support (#1420)
- fix: replace git.io links with redirect targets (#1412)
- ref: Update error verbose for sentry init (#1361)
- fix(sessions): Update session also for non sampled events and
change filter order (#1394)
- Update to 1.5.10
- Remove Flask version contraint (#1395)
- Change ordering of event drop mechanisms (#1390)
- Update to 1.5.9
- fix(sqlalchemy): Use context instead of connection in
sqlalchemy integration (#1388)
- Update correct test command in contributing docs (#1377)
- Update black (#1379)
- build(deps): bump sphinx from 4.1.1 to 4.5.0 (#1376)
- fix: Auto-enabling Redis and Pyramid integration (#737)
- feat(testing): Add pytest-watch (#853)
- Treat x-api-key header as sensitive (#1236)
- fix: Remove obsolete MAX_FORMAT_PARAM_LENGTH (#1375)
- Update to 1.5.8
- feat(asgi): Add support for setting transaction name to path
in FastAPI (#1349)
- fix(sqlalchemy): Change context manager type to avoid race in
threads (#1368)
- fix(perf): Fix transaction setter on scope to use
containing_transaction to match with getter (#1366)
- chore(ci): Change stale GitHub workflow to run once a day
(#1367)
- feat(django): Make django middleware expose more wrapped
attributes (#1202)
- Update to 1.5.7
- fix(serializer): Make sentry_repr dunder method to avoid mock
problems (#1364)
- Update to 1.5.6
- Create feature.yml (#1350)
- Update contribution guide (#1346)
- chore: add bug issue template (#1345)
- Added default value for auto_session_tracking (#1337)
- docs(readme): reordered content (#1343)
- fix(tests): Removed unsupported Django 1.6 from tests to avoid
confusion (#1338)
- Group captured warnings under separate issues (#1324)
- build(changelogs): Use automated changelogs from Craft (#1340)
- fix(aiohttp): AioHttpIntegration sentry_app_handle() now
ignores ConnectionResetError (#1331)
- meta: Remove black GH action (#1339)
- feat(flask): Add sentry_trace() template helper (#1336)
- Update to 1.5.5
- Add session tracking to ASGI integration (#1329)
- Pinning test requirements versions (#1330)
- Allow classes to short circuit serializer with sentry_repr
(#1322)
- Set default on json.dumps in compute_tracestate_value to ensure
string conversion (#1318)
-------------------------------------------------------------------
Sun Jan 30 11:20:25 UTC 2022 - ecsos <ecsos@opensuse.org>
- Update to 1.5.4
- Add Python 3.10 to test suite (#1309)
- Capture only 5xx HTTP errors in Falcon Integration (#1314)
- Attempt custom urlconf resolve in got_request_exception
as well (#1317)
- Update to 1.5.3
- Pick up custom urlconf set by Django middlewares from request
if any (#1308)
- Update to 1.5.2
- Record event_processor client reports #1281
- Add a Quart integration #1248
- Sanic v21.12 support #1292
- Support Celery abstract tasks #1287
- Update to 1.5.1
- Fix django legacy url resolver regex substitution due to
upstream CVE-2021-44420 fix #1272
- Record lost sample_rate events only if tracing is enabled #1268
- Fix gevent version parsing for non-numeric parts #1243
- Record span and breadcrumb when Django opens db connection #1250
- Disable check test_leaks to build Leap.
-------------------------------------------------------------------
Fri Nov 19 08:41:01 UTC 2021 - ecsos <ecsos@opensuse.org>
- Update to 1.5.0
- Also record client outcomes for before send #1211
- Add support for implicitly sized envelope items #1229
- Fix integration with Apache Beam 2.32, 2.33 #1233
- Remove Python 2.7 support for AWS Lambda layers in craft config #1241
- Refactor Sanic integration for v21.9 support #1212
- AWS Lambda Python 3.9 runtime support #1239
- Fix "shutdown_timeout" typing #1256
- Disable of python36 build, because out of support at 2021-12-23.
-------------------------------------------------------------------
Mon Oct 25 20:39:36 UTC 2021 - Martin Hauke <mardnh@gmx.de>
- Update to 1.4.3
* Turned client reports on by default.
- Update to 1.4.2
* Made envelope modifications in the HTTP transport non
observable.
- Update to 1.4.1
* Fix race condition between finish and start_child in tracing.
- Update to 1.4.0
* No longer set the last event id for transactions.
* Added support for client reports (disabled by default for now).
* Added tracestate header handling.
* Added real ip detection to asgi integration.
-------------------------------------------------------------------
Wed Aug 25 12:00:44 UTC 2021 - Martin Hauke <mardnh@gmx.de>
- Update to 1.3.1
* Fix detection of contextvars compatibility with Gevent
versions >=20.9.0 .
- Update to 1.3.0
* Add support for Sanic versions 20 and 21 .
- Update to 1.2.0
* Fix for AWSLambda Integration to handle other path formats
for function initial handler #1139
* Fix for worker to set deamon attribute instead of deprecated
setDaemon method #1093
* Fix for bottle Integration that discards -dev for version
extraction #1085
* Fix for transport that adds a unified hook for capturing
metrics about dropped events #1100
* Add Httpx Integration #1119
* Add support for china domains in AWSLambda Integration #1051
-------------------------------------------------------------------
Thu May 6 18:54:28 UTC 2021 - ecsos <ecsos@opensuse.org>
- Update to 1.1.0
- Fix for AWSLambda integration returns value of original handler
#1106
- Fix for RQ integration that only captures exception if RQ job
has failed and ignore retries #1076
- Feature that supports Tracing for the Tornado integration #1060
- Feature that supports wild cards in ignore_logger in the
Logging Integration #1053
- Fix for django that deals with template span description names
that are either lists or tuples #1054
-------------------------------------------------------------------
Wed Mar 10 06:36:59 UTC 2021 - ecsos <ecsos@opensuse.org>
- Update to 1.0.0
- BREAKING CHANGE: Feat: Moved auto_session_tracking experimental
flag to a proper option and removed explicitly setting
experimental session_mode in favor of auto detecting its value,
hence enabling release health by default #994
- Fixed Django transaction name by setting the name to
request.path_info rather than request.path
- Fix for tracing by getting HTTP headers from span rather than
transaction when possible #1035
- Fix for Flask transactions missing request body in non errored
transactions #1034
- Fix for honoring the X-Forwarded-For header #1037
- Fix for worker that logs data dropping of events with level
error #1032
- Changes from 0.20.3
- Added scripts to support auto instrumentation of no code AWS
lambda Python functions
- Changes from 0.20.2
- Fix incorrect regex in craft to include wheel file in pypi
release
- Changes from 0.20.1
- Fix for error that occurs with Async Middlewares when the
middleware is a function rather than a class
- Changes from 0.20.0
- Fix for header extraction for AWS lambda/API extraction
- Fix multiple **kwargs type hints # 967
- Fix that corrects AWS lambda integration failure to detect
the aws-lambda-ric 1.0 bootstrap #976
- Fix AWSLambda integration: variable "timeout_thread" referenced
before assignment #977
- Use full git sha as release name #960
- BREAKING CHANGE: The default environment is now production,
not based on release
- Django integration now creates transaction spans for template
rendering
- Fix headers not parsed correctly in ASGI middleware,
Decode headers before creating transaction #984
- Restored ability to have tracing disabled #991
- Fix Django async views not behaving asynchronously
- Performance improvement: supported pre-aggregated sessions
-------------------------------------------------------------------
Thu Dec 10 13:23:46 UTC 2020 - ecsos <ecsos@opensuse.org>
- Update to 0.19.5
- Fix two regressions added in 0.19.2 with regard to sampling
behavior when reading the sampling decision from headers.
- Increase internal transport queue size and make it configurable.
-------------------------------------------------------------------
Wed Dec 2 12:33:17 UTC 2020 - ecsos <ecsos@opensuse.org>
- Add additional and missing requirements.
-------------------------------------------------------------------
Tue Dec 1 21:41:22 UTC 2020 - Hans-Peter Jansen <hpj@urpla.net>
- Update to version 0.19.4
* Fix a bug that would make applications crash if an old version
of boto3 was installed.
- Update to version 0.19.3
* Automatically pass integration-relevant data to traces_sampler
for AWS, AIOHTTP, ASGI, Bottle, Celery, Django, Falcon, Flask,
GCP, Pyramid, Tryton, RQ, and WSGI integrations
* Fix a bug where the AWS integration would crash if event was
anything besides a dictionary
* Fix the Django integrations's ASGI handler for Channels 3.0.
Thanks Luke Pomfrey!
- Update to version 0.19.2
* Add traces_sampler option.
* The SDK now attempts to infer a default release from various
environment variables and the current git repo.
* Fix a crash with async views in Django 3.1.
* Fix a bug where complex URL patterns in Django would create
malformed transaction names.
* Add options for transaction styling in AIOHTTP.
* Add basic attachment support (documentation tbd).
* fix a crash in the pure_eval integration.
* Integration for creating spans from boto3.
- Update to version 0.19.1
* Fix dependency check for blinker fixes #858
* Fix incorrect timeout warnings in AWS Lambda and GCP
integrations #854
- Update to version 0.19.0
* Removed _experiments.auto_enabling_integrations in favor of
just auto_enabling_integrations which is now enabled by
default.
- Update to version 0.18.0
* Breaking change: The no_proxy environment variable is now
honored when inferring proxy settings from the system. Thanks
Xavier Fernandez!
* Added Performance/Tracing support for AWS and GCP functions.
* Fix an issue with Django instrumentation where the SDK modified
resolver_match.callback and broke user code.
- Update to version 0.17.8
* Fix yet another bug with disjoint traces in Celery.
* Added support for Chalice 1.20. Thanks again to the folks at
Cuenca MX!
- Update to version 0.17.7
* Internal: Change data category for transaction envelopes.
* Fix a bug under Celery 4.2+ that may have caused disjoint
traces or missing transactions.
- Update to version 0.17.6
* Support for Flask 0.10 (only relaxing version check)
- Update to version 0.17.5
* Work around an issue in the Python stdlib that makes the entire
process deadlock during garbage collection if events are sent
from a __del__ implementation.
* Add possibility to wrap ASGI application twice in middleware to
enable split up of request scope data and exception catching.
- Update to version 0.17.4
* New integration for the Chalice web framework for AWS Lambda.
Thanks to the folks at Cuenca MX!
- Update to version 0.17.3
* Fix an issue with the pure_eval integration in interaction with
trimming where pure_eval would create a lot of useless local
variables that then drown out the useful ones in trimming.
- Update to version 0.17.2
* Fix timezone bugs in GCP integration.
- Update to version 0.17.1
* Fix timezone bugs in AWS Lambda integration.
* Fix crash on GCP integration because of missing parameter
timeout_warning.
- Update to version 0.17.0
* Fix a bug where class-based callables used as Django views
(without using Django's regular class-based views) would not
have csrf_exempt applied.
* New integration for Google Cloud Functions.
* Fix a bug where a recently released version of urllib3 would
cause the SDK to enter an infinite loop on networking and SSL
errors.
* Breaking change: Remove the traceparent_v2 option. The option
has been ignored since 0.16.3, just remove it from your code.
- Update to version 0.16.5
* Fix a bug that caused Django apps to crash if the view didn't
have a __name__ attribute.
- Update to version 0.16.4
* Add experiment to avoid trunchating span descriptions.
Initialize with
init(_experiments={"smart_transaction_trimming": True}).
* Add a span around the Django view in transactions to
distinguish its operations from middleware operations.
- Update to version 0.16.3
* Fix AWS Lambda support for Python 3.8.
* The AWS Lambda integration now captures initialization/import
errors for Python 3.
* The AWS Lambda integration now supports an option to warn about
functions likely to time out.
* Testing for RQ 1.5
* Flip default of traceparent_v2. This change should have zero
impact. The flag will be removed in 0.17.
* Fix compatibility bug with Django 3.1.
- Update to version 0.16.2
* New (optional) integrations for richer stacktraces: pure_eval
for additional variables, executing for better function names.
- Update to version 0.16.1
* Flask integration: Fix a bug that prevented custom tags from
being attached to transactions.
- Update to version 0.16.0
* Redis integration: add tags for more commands
* Redis integration: Patch rediscluster package if installed.
* Session tracking: A session is no longer considered crashed if
there has been a fatal log message (only unhandled exceptions
count).
* Breaking change: Revamping of the tracing API.
* Breaking change: before_send is no longer called for
transactions.
- Update to version 0.15.1
* Fix fatal crash in Pyramid integration on 404.
- Update to version 0.15.0
* Breaking change: The ASGI middleware will now raise an
exception if contextvars are not available, like it is already
the case for other asyncio integrations.
* Contextvars are now used in more circumstances following a
bugfix release of gevent. This will fix a few instances of
wrong request data being attached to events while using an
asyncio-based web framework.
* APM: Fix a bug in the SQLAlchemy integration where a span was
left open if the database transaction had to be rolled back.
This could have led to deeply nested span trees under that db
query span.
* Fix a bug in the Pyramid integration where the transaction name
could not be overridden at all.
* Fix a broken type annotation on capture_exception.
* Basic support for Django 3.1. More work is required for async
middlewares to be instrumented properly for APM.
- Add new dependencies
-------------------------------------------------------------------
Thu Jun 18 16:32:19 UTC 2020 - Martin Hauke <mardnh@gmx.de>
- update to 0.14.4
* Fix bugs in transport rate limit enforcement for specific data
categories.
* The bug should not have affected anybody because we do not yet
emit rate limits for specific event types/data categories.
* Fix a bug in capture_event where it would crash if given
additional kwargs.
* Fix a bug where contextvars from the request handler were
inaccessible in AIOHTTP error handlers.
* Fix a bug where the Celery integration would crash if newrelic
instrumented Celery as well.
-------------------------------------------------------------------
Thu Mar 26 12:36:49 UTC 2020 - Marketa Calabkova <mcalabkova@suse.com>
- update to 0.14.3
* Attempt to use a monotonic clock to measure span durations in Performance/APM.
* Avoid overwriting explicitly set user data in web framework integrations.
* Allow to pass keyword arguments to `capture_event` instead of configuring the scope.
* Feature development for session tracking.
-------------------------------------------------------------------
Wed Mar 18 14:30:44 UTC 2020 - pgajdos@suse.com
- version update to 0.14.2
* Fix a crash in the Django integration when used in combination with Django Rest Framework's test utilities for request.
* Fix high memory consumption when sending a lot of errors in the same process. Particularly noticeable in async environments.
* Show ASGI request data in Django 3.0
* New integration for the Trytond ERP framework. Thanks n1ngu!
* Fix trace continuation bugs in APM.
* No longer report `asyncio.CancelledError` as part of AIOHTTP integration.
* Fix package classifiers to mark this package as supporting Python 3.8. The SDK supported 3.8 before though.
* Update schema sent for transaction events (transaction status).
* Fix a bug where `None` inside request data was skipped/omitted.
* Fix an issue with the ASGI middleware that would cause Uvicorn to infer the wrong ASGI versions and call the wrapped application with the wrong argument count.
* Do not ignore the `tornado.application` logger.
* The Redis integration now instruments Redis blaster for breadcrumbs and transaction spans.
- test at least something
- deleted sources
- pytest.ini (not needed)
-------------------------------------------------------------------
Fri Nov 8 23:09:33 UTC 2019 - Jimmy Berry <jberry@suse.com>
- Update to 0.13.2
- Fix a bug in APM that would cause wrong durations to be
displayed on non-UTC servers.
-------------------------------------------------------------------
Fri Oct 25 14:53:43 UTC 2019 - Jimmy Berry <jberry@suse.com>
- Update to 0.13.1
- Add new global functions for setting scope/context data.
- Fix a bug that would make Django 1.11+ apps crash when using
function-based middleware.
-------------------------------------------------------------------
Thu Oct 17 21:13:24 UTC 2019 - Jimmy Berry <jberry@suse.com>
- Update to 0.13.0
- Remove an old deprecation warning (behavior itself already
changed since a long time).
- The AIOHTTP integration now attaches the request body to crash
reports. Thanks to Vitali Rebkavets!
- Add an experimental PySpark integration.
- First release to be tested under Python 3.8. No code changes
were necessary though, so previous releases also might have
worked.
-------------------------------------------------------------------
Wed Oct 2 20:34:44 UTC 2019 - Jimmy Berry <jberry@suse.com>
- Update to 0.12.3
- Various performance improvements to event sending.
- Avoid crashes when scope or hub is racy.
- Revert a change that broke applications using gevent and channels
(in the same virtualenv, but different processes).
- Fix a bug that made the SDK crash on unicode in SQL.
- Comment out test build dependencies since tests are disabled.
-------------------------------------------------------------------
Mon Sep 30 22:28:19 UTC 2019 - Jimmy Berry <jberry@suse.com>
- Add pytest.ini source to ignore deprecation warning from eventlet
- Disable %check since pytest does not want to follow documentation
-------------------------------------------------------------------
Mon Sep 30 22:07:37 UTC 2019 - Jimmy Berry <jberry@suse.com>
- Update to 0.12.2
- Temporarily remove sending of SQL parameters (as part of
breadcrumbs or spans for APM) to Sentry to avoid memory
consumption issues.
- Fix a crash with ASGI (Django Channels) when the ASGI request
type is neither HTTP nor Websockets.
-------------------------------------------------------------------
Thu Sep 19 13:34:03 UTC 2019 - Jimmy Berry <jberry@suse.com>
- Update to 0.12.0
- Fix a bug where the response object for httplib (or requests)
was held onto for an unnecessarily long amount of time.
- APM: Add spans for more methods on subprocess.Popen objects.
- APM: Add spans for Django middlewares.
- APM: Add spans for ASGI requests.
-------------------------------------------------------------------
Fri Aug 30 15:36:40 UTC 2019 - Jimmy Berry <jberry@suse.com>
- Update to 0.11.2
- fixed shutdown bug while runnign under eventlet
- added missing data to Redis breadcrumbs
- Include build requirement on python eventlet module for the tests
while exclusing a subset of new tests
-------------------------------------------------------------------
Sat Aug 24 06:02:01 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Trim time-dependent wording from description.
-------------------------------------------------------------------
Mon Aug 19 20:18:33 UTC 2019 - Jimmy Berry <jberry@suse.com>
- Update to 0.11.1
- Remove a faulty assertion (observed in environment with
Django Channels and ASGI).
-------------------------------------------------------------------
Fri Aug 16 21:37:16 UTC 2019 - Jimmy Berry <jberry@suse.com>
- Update to 0.11.0
- mostly bug fixes
- integration with SQLAlchemy and Apache Beam
-------------------------------------------------------------------
Mon Aug 12 14:19:52 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Format with spec-cleaner
- Run tests
-------------------------------------------------------------------
Fri Aug 9 22:36:25 UTC 2019 - Jimmy Berry <jberry@suse.com>
- Set BuildArch to noarch.
-------------------------------------------------------------------
Fri Aug 9 22:30:15 UTC 2019 - Jimmy Berry <jberry@suse.com>
- Update to 0.10.2.
-------------------------------------------------------------------
Fri Jun 7 10:19:06 UTC 2019 - ecsos@opensuse.org
- initial version 0.9.0