Releases: getsentry/sentry-python
3.0.0a1
We're excited to announce that version 3.0 of the Sentry Python SDK is now available. This release is the result of a long-term effort to use OpenTelemetry under the hood for tracing. This switch opens the door for us to leverage the full power of OpenTelemetry, so stay tuned for more integrations and features in future releases.
Looking to upgrade from Sentry SDK 2.x to 3.x? See the full list of changes for a comprehensive overview of what's new. Looking for a more digestible summary? See the migration guide in the docs with the most common migration patterns.
2.27.0
Various fixes & improvements
- fix: Make sure to use the default decimal context in our code (#4231) by @antonpirker
- fix(integrations): ASGI integration not capture transactions in Websocket (#4293) by @guodong000
- feat(typing): Make all relevant types public (#4315) by @antonpirker
- feat(spans): Record flag evaluations as span attributes (#4280) by @cmanallen
- test(logs): Avoid failure when running with integrations enabled (#4316) by @rominf
- tests: Remove unused code and rerun (#4313) by @sentrivana
- tests: Add cohere to toxgen (#4304) by @sentrivana
- tests: Migrate fastapi to toxgen (#4302) by @sentrivana
- tests: Add huggingface_hub to toxgen (#4299) by @sentrivana
- tests: Add huey to toxgen (#4298) by @sentrivana
- tests: Update tox.ini (#4297) by @sentrivana
- tests: Move aiohttp under toxgen (#4319) by @sentrivana
- tests: Fix version picking in toxgen (#4323) by @sentrivana
- build(deps): bump codecov/codecov-action from 5.4.0 to 5.4.2 (#4318) by @dependabot
2.26.1
Various fixes & improvements
- fix(threading): Data leak in ThreadingIntegration between threads (#4281) by @antonpirker
- fix(logging): Clarify separate warnings case is for Python <3.11 (#4296) by @szokeasaurusrex
- fix(logging): Add formatted message to log events (#4292) by @szokeasaurusrex
- fix(logging): Send raw logging parameters (#4291) by @szokeasaurusrex
- fix: Revert "chore: Deprecate
same_process_as_parent(#4244)" (#4290) by @sentrivana
2.26.0
Various fixes & improvements
- fix(debug): Do not consider parent loggers for debug logging (#4286) by @szokeasaurusrex
- test(tracing): Simplify static/classmethod tracing tests (#4278) by @szokeasaurusrex
- feat(transport): Add a timeout (#4252) by @sentrivana
- meta: Change CODEOWNERS back to Python SDK owners (#4269) by @sentrivana
- feat(logs): Add sdk name and version as log attributes (#4262) by @AbhiPrasad
- feat(logs): Add server.address to logs (#4257) by @AbhiPrasad
- chore: Deprecate
same_process_as_parent(#4244) by @sentrivana - feat(logs): Add sentry.origin attribute for log handler (#4250) by @AbhiPrasad
- feat(tests): Add optional cutoff to toxgen (#4243) by @sentrivana
- toxgen: Retry & fail if we fail to fetch PyPI data (#4251) by @sentrivana
- build(deps): bump actions/create-github-app-token from 1.12.0 to 2.0.2 (#4248) by @dependabot
- Trying to prevent the grpc setup from being flaky (#4233) by @antonpirker
- feat(breadcrumbs): add
_metainformation for truncation of breadcrumbs (#4007) by @shellmayr - tests: Move django under toxgen (#4238) by @sentrivana
- fix: Handle JSONDecodeError gracefully in StarletteRequestExtractor (#4226) by @moodix
- fix(asyncio): Remove shutdown handler (#4237) by @sentrivana
2.25.1
Various fixes & improvements
- fix(logs): Add a class which batches groups of logs together. (#4229) by @colin-sentry
- fix(logs): Use repr instead of json for message and arguments (#4227) by @colin-sentry
- fix(logs): Debug output from Sentry logs should always be
debuglevel. (#4224) by @antonpirker - fix(ai): Do not consume anthropic streaming stop (#4232) by @colin-sentry
- fix(spotlight): Do not spam sentry_sdk.warnings logger w/ Spotlight (#4219) by @BYK
- fix(docs): fixed code snippet (#4218) by @antonpirker
- build(deps): bump actions/create-github-app-token from 1.11.7 to 1.12.0 (#4214) by @dependabot
2.25.0
Various fixes & improvements
-
New Beta Feature Enable Sentry logs in
loggingIntegration (#4143) by @colin-sentryYou can now send existing log messages to the new Sentry Logs feature.
For more information see: https://github.com/getsentry/sentry/discussions/86804
This is how you can use it (Sentry Logs is in beta right now so the API can still change):
import logging import sentry_sdk from sentry_sdk.integrations.logging import LoggingIntegration # Setup Sentry SDK to send log messages with a level of "error" or higher to Sentry. sentry_sdk.init( dsn="...", _experiments={ "enable_sentry_logs": True } integrations=[ LoggingIntegration(sentry_logs_level=logging.ERROR), ] ) # Your existing logging setup some_logger = logging.Logger("some-logger") some_logger.info('In this example info events will not be sent to Sentry logs. my_value=%s', my_value) some_logger.error('But error events will be sent to Sentry logs. my_value=%s', my_value)
-
Spotlight: Sample everything 100% w/ Spotlight & no DSN set (#4207) by @BYK
-
Dramatiq: use set_transaction_name (#4175) by @timdrijvers
-
toxgen: Make it clearer which suites can be migrated (#4196) by @sentrivana
-
Move Litestar under toxgen (#4197) by @sentrivana
-
Added flake8 plugings to pre-commit call of flake8 (#4190) by @antonpirker
-
Deprecate Scope.user (#4194) by @sentrivana
-
Fix hanging when capturing long stacktrace (#4191) by @szokeasaurusrex
-
Fix GraphQL failures (#4208) by @sentrivana
-
Fix flaky test (#4198) by @sentrivana
-
Update Ubuntu in Github test runners (#4204) by @antonpirker
2.24.1
Various fixes & improvements
- Always set
_spotlight_url(#4186) by @BYK - Broader except in Django
parsed_body(#4189) by @orhanhenrik - Add platform header to the
chunkitem-type in the envelope (#4178) by @viglia - Move
mypyconfig intopyproject.toml(#4181) by @antonpirker - Move
flake8config intopyproject.toml(#4185) by @antonpirker - Move
pytestconfig intopyproject.toml(#4184) by @antonpirker - Bump
actions/create-github-app-tokenfrom1.11.6to1.11.7(#4188) by @dependabot - Add
CODEOWNERS(#4182) by @sentrivana
2.24.0
Various fixes & improvements
- fix(tracing): Fix
InvalidOperation(#4179) by @szokeasaurusrex - Fix memory leak by not piling up breadcrumbs forever in Spark workers. (#4167) by @antonpirker
- Update scripts sources (#4166) by @emmanuel-ferdman
- Fixed flaky test (#4165) by @antonpirker
- chore(profiler): Add deprecation warning for session functions (#4171) by @sentrivana
- feat(profiling): reverse profile_session start/stop methods deprecation (#4162) by @viglia
- Reset
DedupeIntegration'slast-seenifbefore_senddropped the event (#4142) by @sentrivana - style(integrations): Fix captured typo (#4161) by @pimuzzo
- Handle loguru msg levels that are not supported by Sentry (#4147) by @antonpirker
- feat(tests): Update tox.ini (#4146) by @sentrivana
- Support Starlette/FastAPI
app.host(#4157) by @sentrivana
2.23.1
Various fixes & improvements
- Fix import problem in release 2.23.0 (#4140) by @antonpirker
2.23.0
Various fixes & improvements
- Feat(profiling): Add new functions to start/stop continuous profiler (#4056) by @Zylphrex
- Feat(profiling): Export start/stop profile session (#4079) by @Zylphrex
- Feat(tracing): Backfill missing
sample_randonPropagationContext(#4038) by @szokeasaurusrex - Feat(logs): Add alpha version of Sentry logs (#4126) by @colin-sentry
- Security(gha): fix potential for shell injection (#4099) by @mdtro
- Docs: Add
init()parameters to ApiDocs. (#4100) by @antonpirker - Docs: Document that caller must check
mutable(#4010) by @szokeasaurusrex - Fix(Anthropic): Add partial json support to streams (#3674)
- Fix(ASGI): Fix KeyError if transaction does not exist (#4095) by @kevinji
- Fix(asyncio): Improve asyncio integration error handling. (#4129) by @antonpirker
- Fix(AWS Lambda): Fix capturing errors during AWS Lambda INIT phase (#3943)
- Fix(Bottle): Prevent internal error on 404 (#4131) by @sentrivana
- Fix(CI): Fix API doc failure in CI (#4075) by @sentrivana
- Fix(ClickHouse) ClickHouse in test suite (#4087) by @antonpirker
- Fix(cloudresourcecontext): Added timeout to HTTP requests in CloudResourceContextIntegration (#4120) by @antonpirker
- Fix(crons): Fixed bug when
cron_jobsis set toNonein arq integration (#4115) by @antonpirker - Fix(debug): Take into account parent handlers for debug logger (#4133) by @sentrivana
- Fix(FastAPI/Starlette): Fix middleware with positional arguments. (#4118) by @antonpirker
- Fix(featureflags): add LRU update/dedupe test coverage (#4082)
- Fix(logging): Coerce None values into strings in logentry params. (#4121) by @antonpirker
- Fix(pyspark): Grab
attemptIdmore defensively (#4130) by @sentrivana - Fix(Quart): Support
quart_flask_patch(#4132) by @sentrivana - Fix(tests): A way to locally run AWS Lambda functions (#4128) by @antonpirker
- Fix(tests): Add concurrency testcase for arq (#4125) by @sentrivana
- Fix(tests): Add fail_on_changes to toxgen by @sentrivana
- Fix(tests): Run AWS Lambda tests locally (#3988) by @antonpirker
- Fix(tests): Test relevant prereleases and allow to ignore releases
- Fix(tracing): Move
TRANSACTION_SOURCE_*constants toEnum(#3889) by @mgaligniana - Fix(typing): Add more typing info to Scope.update_from_kwargs's "contexts" (#4080)
- Fix(typing): Set correct type for
set_contexteverywhere (#4123) by @sentrivana - Chore(tests): Regenerate tox.ini (#4108) by @sentrivana
- Build(deps): bump actions/create-github-app-token from 1.11.5 to 1.11.6 (#4113) by @dependabot
- Build(deps): bump codecov/codecov-action from 5.3.1 to 5.4.0 (#4112) by @dependabot