Releases: DataDog/dd-trace-py
0.29.0
Upgrading to 0.29.0
This release introduces a new contextvars-based context manager in Python 3.7 and adds support for Tornado 5 and 6 with Python 3.7. In addition, the release includes several updates for our Django integration.
Changes
Core
[internal] Add generic rate limiter (#1029)
[internal] Add support for contextvars to tracer in py37 (#990)
[internal] Vendor monotonic package (#1026)
[dev] Update span test utils (#1028)
[dev] Allow extra args to scripts/run-tox-scenario (#1027)
[dev] Remove unused circle env vars for release (#1016)
Integrations
[tornado] minor documentation fix (#1038)
[tornado] document overriding on_finish and log_exception (#1037)
[tornado] Add support for Tornado 5 and 6 with Python 3.7 (#1034)
[pymongo] Add support for PyMongo 3.9 (#1023)
[django] enable distributed tracing by default (#1031)
[django] Create test for empty middleware (#1022 -- thanks @ryanwilsonperkin)
[django] Patch DBs in django app config (#1019 -- thanks @JBKahn)
[django] Setup pytest-django (#995)
Read the full changeset and the release milestone.
0.28.0
Upgrading to 0.28.0
This release introduces container tagging and adds support for gRPC server.
Changes
Integrations
- [grpc] Add support for GRPC server (#960)
- [django] Only set sample rate if rate is set (#1009)
- [django] Update how we get the http.url (#1010)
- [django] Improve Django docs (#1002 -- thanks @adamchainz)
- [pylibmc] Fix client when tracer is disabled (#1004)
Core
- [core] Parse and send container id with payloads to the agent (#1007)
- [internal] Change log from exception to debug (#1013)
- documentation bugfix (#1017)
- Add back release:wheel (#1015)
- [tests] Adding in helpful default packages (#1008)
- [dev] Map .git into ddtest for setuptools_scm (#1006)
- Use setuptools_scm to handle version numbers (#999)
- Use Python 3 for test_build job (#994)
- writer: fix deprecated log.warn use (#993 -- thanks @deterralba)
- Upload wheels on release (#989)
Read the full changeset and the release milestone.
0.27.1
Upgrading to 0.27.1
This patch release includes performance fix which is highly recommended for anyone currently using 0.27.0.
Changes
- 0.27 Performance Fix #1000
Read the full changeset
0.27.0
Upgrading to 0.27.0
This release introduces improvements to the trace writer. In addition, the release fixes some issues with integrations.
Changes
Core
- api: implement str (#980)
- API: add Unix Domain Socket connection support (#975)
- [core] Remove references to runtime-id (#971)
- sampler: rewrite RateByServiceSampler without using Lock (#959)
- Handle HTTP timeout in API writer (#955)
- payload: raise PayloadFull on full payload (#941)
Integrations
- [pymongo] Support newer msg requests (#985)
- pymongo: Add missing 2013 opcode (#961)
- Refs #983 - Make AIOTracedCursor an async generator (#984 -- thanks @ewjoachim)
- Fix a typo in AIOTracedCursor docstring (#982 -- thanks @ewjoachim)
- [sqlalchemy] Only set sample rate if configured (#978)
Documentation
Read the full changeset and the release milestone.
0.26.0
Upgrading to 0.26.0
This release introduces several core improvements and continues addressing pain points in our tooling and testing.
Changes
Core
- Add a PeriodicWorker base class for periodic tasks (#934)
- Fix runtime workers not flushing to Dogstatsd (#939)
- api: simplify _put codepath (#956)
- make psutil requirement more accurate (#949 -- thanks @chrono)
- writer: log a message when a trace is dropped (#942)
- span: use system random source to generate span id (#940)
- [core] Add config to set hostname tag on trace root span (#938)
Integrations
- Support keyword 'target' parameter when wrapping GRPC channels (#946 -- thanks @asnr)
- Record HTTP status code correctly when using abort() with Bottle (#943 -- thanks @equake)
- boto: add support for Python 3.5+ (#930)
Documentation
Tooling
- Run flake8 with Python 3 (#957)
- tox: fix ignore path for integrations (#954)
- Remove mention of -dev branch in CircleCI (#931)
Testing
- [tests] Add benchmarks (#952)
- [tests] increase deviation for sampler by service test (#948)
- [tests] Fix thread synchronization (#947)
- [tests] fix brittle deviation test for tracer (#945)
- [tests] fix threading synchronization to opentracer test (#944
- [pyramid] Fix dotted name for autopatched config test (#932)
- tests: always skip sdist, use develop mode (#928)
Read the full changeset and the release milestone.
0.25.0
Upgrading to 0.25.0
This release includes several core improvements and addresses pain points in our testing/CI. The release also adds a new integration for Algolia Search.
Changes
Improvements
- Type cast port number to avoid surprise unicode type (#892 -- thanks @tancnle)
- Add support for Python 3.7 (#864)
- [writer] Enhance Q implementation with a wait based one (#862)
- [core] Add Span 'manual.keep' and 'manual.drop' tag support (#849)
- [core] Vendor msgpack dependency (#848)
- Fix http.url tag inconsitency (#899)
- aiohttp: do not set query string in http.url tag (#923)
- tornado: do not include query string in the http.url tag (#922)
- bottle: fix query string embedded in URL (#921)
- django: remove query string from http.url tag (#920)
Integrations
- Implement algolia search (#894)
Tooling
- [dev/tooling] Enforce single quote strings (#884)
- [tests] Leverage tox environment listing to simplify CircleCI tox target list (#882)
Testing
0.24.0
Upgrading to 0.24.0
This release introduces a new feature (disabled by default), supports new versions of integrations and improves our testing and tooling.
Changes
Improvements
- [core] Enable requests integration by default (#879)
- [core] Fix logging with unset DATADOG_PATCH_MODULES (#872)
- [core] Use DEBUG log level for RateSampler initialization (#861 -- thanks @bmurphey)
- [core] Guard against when there is no current call context (#852)
- [core] Collect run-time metrics (#819)
Integrations
- [mysql] Remove mysql-connector 2.1 support (#866)
- [aiobotocore] Add support for versions up to 0.10.0 (#865)
Tooling
- [dev/tooling] Update flake8 to 3.7 branch (#856)
- [dev/tooling] Add script to build wheels (#853)
- [ci] Use tox.ini checksum to update cache (#850)
Testing
- [tests] Use a macro to persist result to workspace in CircleCI (#880)
- [tests] add psycopg2 2.8 support (#878)
- [aiohttp] Fix race condition in testing (#877)
- [docs] Remove confusing testing instructions from README (#874)
- [tests] Add support for aiohttp up to 3.5 (#873)
- Remove useless future imports (#871)
- [testing] Remove nose usage (#870)
- [tests] Add support for pytest4 (#869)
- [tests] Add testing for Celery 4.3 (#868)
- [tests] Enable integration tests in docker-compose environment (#863)
- [tests] Do not test celery 4.2 with Kombu 4.4 (#858)
- [tests] Fix ddtrace sitecustomize negative test (#857)
- [tests] Use spotify cassandra image for tests (#855)
- [tests] Fix requests gevent tests (#854)
0.23.0
Upgrading to 0.23.0
With this release we are introducing a new configuration system across integrations to generate APM events for Trace Search & Analytics. The other core changes are the beginnings of a new approach to address issues with tracer loads and improve debugging.
Changes
Improvements
- Trace search client configuration (#828)
- [core] fix wrapt wrappers sources (#836)
- [core] Add Payload class helper (#834)
- [internal] Add rate limited logger (#822)
Bugs
Read the full changeset and the release milestone.
0.22.0
Upgrading to 0.22.0
This release contains a few improvements for not marking a Celery task as an error if it is an expected and allowed exception, for propagating synthetics origin header, and to vendor our six and wrapt dependencies.
Changes
Improvements
- [celery] Don't mark expected failures as errors (#820 -- thanks @sciyoshi)
- [core] Propagate x-datadog-origin (#821)
- [core] vendor wrapt and six dependencies (#755)
Read the full changeset and the release milestone.
0.21.1
Upgrading to 0.21.1
This is a bug fix release that requires no changes to your code.
Included in this release is a fix for some database cursors where we would force Cursor.execute and Cursor.executemany to return a cursor instead of the originally intended output. This caused an issue specifically with MySQL libraries which tried to return the row count and we were returning a cursor instead.
Changes
Bugs
- [core] Patch logging earlier for ddtrace-run (#832)
- [dbapi2] Fix dbapi2 execute/executemany return value (#830 )
- [core] Use case-insensitive comparison of header names during extract (#826 -- thanks @defanator)
Read the full changeset and the release milestone.