Changelogs » Elastic-apm

PyUp Safety actively tracks 232,000 Python packages for vulnerabilities and notifies you when to upgrade.

Elastic-apm

5.8.0

Features
  
  * Added graphql (graphene) support [850]
  * Collect cloud provider metadata [826]
  * Added `sanitize_field_names` config [860]
  
  Bug fixes
  
  * Fix header fetching for ASGI implementations [856]

5.7.0

Features
  
  * capture number of affected rows for INSERT/UPDATE/DELETE SQL queries (614)
  * Added instrumentation for AsyncElasticsearch (843)
  
  Bug fixes
  
  * Added error handling around frame processing in Django (837)
  * Limit SQL queries in context data to 10000 characters (842)
  * Omit the "sync" property on spans by default (854)
  * Update the pid/ppid in transport metadata when they change (825)
  * Added better error handling around closing the transport (838)
  * Fixed an issue with the django admin command not detecting misconfigured server urls (855)

5.6.0

New features
  
  * Added `SERVICE_NODE_NAME` config [592]
  * Added instrumentation support for [`pymemcache`](https://github.com/pinterest/pymemcache) [812]
  * Added new configuration options `enabled` and `recording` [790]
  
  Bug fixes
  
  * Fixed an issue with metrics collection raising RuntimeErrors [802]
  * Fixed an issue with getting extended destination data from pymongo [797]
  * Fixed an issue with Tornado instrumentation when Tornado isn't the "main" framework [813]
  * Fixed an issue with streaming requests being consumed by the agent even if capture_body is disabled [817]
  
  Pending Deprecations
  
  * Python 2.7 support will be dropped in version 6.0 of the agent.

5.5.2

Bug fixes
  * Fixed an issue with Redis using unix domain sockets and destination information (766)

5.5.1

Bug fixes
  * Fixed Starlette middleware when capturing request body while the content-type header is absent (763)

5.5.0

Features
  
  * Added destination information to database/HTTP spans, used for service maps (618)
  
  Deprecations
  
  * *Python 3.4 is no longer supported.*

5.4.3

Bug fixes
  
  * fixed a bug in our aiohttp.client support if used with a yarl URL (733)

5.4.2

Bug fixes
  
  * fixed a bug in our celery implementation related to the threading refactor in 5.4.0 (724)

5.4.1

Bug fixes
  
  * fixed an issue with a DEBUG log message raising an error in some cases (722)

5.4.0

Deprecations
  
  This will be the last minor release to support the following versions:
  
  * Python 3.4
  * Django 1.8, 1.9 and 1.10
  * Flask < 1.0
  
  In addition, as of this release we only supported capturing extended
  information on Elasticsearch queries when using keyword arguments with the
  elasticsearch-py API. This is in keeping with the
  upstream policy (https://elasticsearch-py.readthedocs.io/en/master/api.htmlapi-documentation)
  of positional arguments being unsupported. (697)
  
  New Features
  
  * Refactored spawning of background threads (636)
  * Added support for aiohttp client and server (659)
  * Added support for tornado web framework (661)
  * Added support for starlette/fastapi (694)
  * Added support for W3C `traceparent` and `tracestate` headers (660)
  * Added Django 3.0 and Flask 1.1 to the support matrix (667)
  * Added support for aiopg (668)
  * Use Span ID as parent ID in errors if an error happens inside a span (669)
  * Added experimental support for API Key authentication (679)
  
  Bug fixes
  
  * introduced workaround to avoid instrumenting twice in rare cases (708)

5.3.3

Bugfixes
  
  * Fixed an issue with OpenTracing bridge and dropped spans (687)
  * Fixed bug that would make the agent ignore the `hostname` configuration setting (689)

5.3.2

Bug fixes
  
  * Added support for IPv6 address format when parsing urls (649)

5.3.1

New Features
  
  * Added support for shortening dicts in local variables 638

5.3.0

New Features
  
  * added instrumentation for mysql-connector and pymysql (603)
  * implemented stack_trace_limit configuration option (623)
  * autoinsert tracing middleware in django settings (625)
  
  Bugfixes
  
  * fixed issue with transactions not being captured when errors occur in Flask (635)

5.2.3

Bugfixes
  
  * ensure that metrics with value 0 are not collected if they have the `reset_on_collect` flag set (615)
  * unwrap postgres cursor for newly introduced psycopg2 extensions (621)
  * fix pod ID for kubernetes when using the systemd cgroup driver (631)

5.2.2

Bugfixes
  * fixed an issue where a `cpu_total` of `0` could cause an exception (610, 611)

5.2.1

Bugfixes
  * fixed an issue with DroppedSpans and logging integration (602)
  * fixed an issue with processors not being applied to chained exceptions (604)

5.2.0

New Features
  
  * added automatic tagging of LogRecord objects with transaction, trace, and span IDs via a LogRecordFactory (Python 3.2+) (520, 586)
  * added `logging` filter and record factory for adding transaction, trace, and span IDs (520, 586)
  * added `structlog` processor for adding transaction, trace, and span IDs (520, 586)
  * added new public API calls for getting transaction, trace, and span IDs (520, 586)
  * added support for chained exceptions in Python 3 (596).
  Note that chained exceptions will be captured and stored in Elasticsearch, but not yet
  visualized in the APM UI. The UI component will be released in an upcoming Kibana release (7.5 or later).
  * added support for using `structlog` for agent logging (591)
  
  Bugfixes
  
  * drop events immediately if a processor returns a falsy value (585)

5.1.2

Bugfixes
  
  * fixed an issue with http server_url and `'VERIFY_SERVER_CERT': False` (570, 578)
  * fixed instrumenting of psycopg2 when using their context manager interface (577, 580)
  * fixed zerorpc tests (581)
  * fixed to correctly check if gevent has patched threading.local (579

5.1.1

Bugfixes
  * fixed an issue with empty responses from APM Server's config endpoint (562, 563)
  * fixed Windows tests by avoiding time.sleep in breakdown metrics tests (537, 550)
  * fixed container ID matching to match CloudFoundry Garden container IDs (523, 564)
  * fixed an issue in the urllib instrumentation if no port is set (567)
  
  Other
  * Added Python 3.8 RC to the test matrix (565)

5.1.0

Security issues
  
  * This release fixes CVE-2019-7617 (only relevant if your deployment uses CGI)
  
  New Features
  
  * added support for global labels which will be applied to every transaction/error/metric (549)
  * added support for `NO_PROXY` environment variable (458, 551)
  
  Bugfixes
  
  * fixed an issue with using callables in set_context with unsampled transactions (541, 542)
  * limited the length of error.culprit to 1024 characters (491, 543)
  * fixed an issue with the `instrument` config option (546, 547)
  * limited the amount of distinct metrics to 1000 (540, 544)

5.0.0 not secure

Breaking changes
  
  * implemented type/subtype/action hierachy for spans. Ensure that you run at least APM Server 6.6 (377)
  * renamed tags to labels and changed API. The old API remains for backwards compatibility until 6.0 of the agent (538)
  
  Other changes
  
  * Added support for recording breakdown metrics (535)
  * Added support for central config management (511)
  * Added instrumentation for `urllib2` (Python 2) / `urllib.request` (Python 3) (464)
  * Added `disable_metrics` setting (399)
  * Updated elasticsearch instrumentation for 7.x (482, 483)
  * Fixed an issue with opentracing-python 2.1 (471)
  * Fixed an issue with certificate pinning (497)
  * Lowered log level of transport success messages (527, 531)

4.2.2 not secure

* fixed an issue with Celery and the prefork worker pool (444)
  * fixed an issue when running uwsgi without a master process (446)
  * fixed an issue with gevent/eventlet on Python 3.7 (451, 454)
  * introduced `IntervalTimer` and use it instead of `threading.Timer` (452)
  * added license header check as pre-commit hook (456)

4.2.1 not secure

* fixed an issue with the certificate pinning feature introduced in 4.2.0 (433, 434)
  * fixed incompatibility with eventlet introduced in 4.2.0 (435, 436)

4.2.0 not secure

* Implemented a new transport queue, which should avoid certain deadlock scenarios (411)
  * Implemented server certificate pinning (405)
  * Moved context.url to context.http.url for requests/urllib3 spans (393, 394)
  * Added support for using route as transaction name in Django 2.2+ (86, 396)
  * Added some randomness to time between requests to APM Server (426)
  * Fixed an issue with custom user models in Django using non-string usernames (397, 398)
  * Fixed an issue with sending kubernetes metadata to the API (401, 402)
  * Fixed an issue with parsing /proc/stat in RHEL/centos 6 (406, 407)
  * Added copyright header to all files, and a CI check (429)

4.1.0 not secure

* Added support for collecting system and process metrics (361)
  * Added an OpenTracing bridge (388)
  * Added `transaction.sampled` to errors (371)
  * Added `transaction.type` to errors (391)
  * Added parsing of `/proc/self/cgroup` to capture container meta data (352)
  * Added option to configure logging for Flask using a log level (344)
  * Added `capture_headers` config option (392)

4.0.3 not secure

* implemented de-dotting of tag names and context keys (353)
  * wrote a quickfix for the boto3/botocore instrumentation (367)
  * fixed an issue with psycopg2 and encoded strings (366)

4.0.2 not secure

* fixed another issue in the new v2 transport (351)

3.0.5 not secure


        

3.0.4 not secure

* fixed an issue with instrumenting redis-py 3.0+