Skip to content

Releases: elastic/apm-agent-python

v4.0.0

14 Nov 15:23
f600230

Choose a tag to compare

BREAKING Version 4 of the agent implements a new wire protocol for communicating with
the APM Server. This format is only supported in APM Server 6.5+.

Further breaking changes:

  • the undocumented AsyncioHTTPTransport has been removed.
  • the flush_interval and max_queue_size settings have been removed.
  • new settings introduced: api_request_time and api_request_size.
  • Some settings now require a unit for duration or size. See documentation on
    configuration for more information.
  • The option to provide a custom date for exceptions and messages has been removed.

Other changes:

  • on Python 3.7, use contextvars instead of threadlocals for storing
    current transaction and span. This is a necessary precursor for full asyncio support. (#291)

v3.0.3

07 Nov 10:21
e0bc2ae

Choose a tag to compare

  • fixed an issue when logging messages that are not strings (#295, #312)
  • backported some documentation fixes

v3.0.2

17 Oct 14:53
57f4010

Choose a tag to compare

  • fixed an issue with detecting names of wrapped functions that are partials (#294)
  • fixed a bug in Flask instrumentation that could appear together with FlaskAPI (#286)

v3.0.1

30 Aug 12:53
3f44c9c

Choose a tag to compare

  • added sanitization for Set-Cookie response headers (#264)
  • added instrumentation for the non-standard Connection.execute() method for SQLite3 (#271)
  • added "authorization" to list of sensitive keywords, to ensure that "Authorization"
    HTTP headers are properly sanitized (#275)
  • taught the Logbook handler how to handle the stack=False option (#278)
  • fixed a race condition with managing the timer-send thread (#279)

v3.0.0

20 Jul 08:22
f190877

Choose a tag to compare

  • adapted "black" code formatter for this repository (#262)
  • BREAKING: dropped support for Python 3.3 (#242)
  • BREAKING: changed order of precedence when evaluating configuration (#255, #261)
  • BREAKING: changed default value of span_frames_min_duration setting
    from -1 (always collect) to 5 (only collect for spans longer than 5 ms) (#243)
  • added instrumentation for pymssql (#241)
  • added instrumentation for pyodbc (#238)

v2.2.1

13 Jun 20:07
v2.2.1
c8ae9e4

Choose a tag to compare

  • fixed an issue with Django Channels (#232, #233)

v2.2.0

13 Jun 11:44
v2.2.0
f264e1d

Choose a tag to compare

  • introduced consistent logger name scheme for all elasticapm internal log messages (#212)
  • added instrumentation of cassandra-driver (#205)
  • added instrumentation of elasticsearch-py (#191)
  • added Flask 1.0 to the test matrix (#207)
  • fixed an issue with our minimalistic SQL parser and "fully qualified" table names (#206)
  • fixed issue with spans in Django’s StreamingHTTPResponse not being captured (#201, #202)
  • fixed issue with spans with Flask’s streaming response not being captured (#201, #202)

NOTE: This will be the last release with support for Python 3.3.

v2.1.1

09 Apr 14:24
v2.1.1
9821378

Choose a tag to compare

  • fixed bug in Django management command that would be triggered on Django 1.10 or 1.11 while using the MIDDLEWARE_CLASSES setting (#186, #187)
  • fix an encoding issue with log messages that are hit in rare cases (#188, #189)

v2.1.0

20 Mar 08:59
v2.1.0
5ce9c6b

Choose a tag to compare

  • made skipping of initial elasticapm frames for span stack traces more generic (#167)
  • added context.process.ppid field (supported in apm-server 6.3+) (#168)
  • added option to disable stack frame collection for very short spans (#142)
  • several bug fixes:
    • fix an issue in boto3 instrumentation with nonstandard endpoint URLs (#178)
    • fix bug with OPTIONS requests and body capturing (#174)
    • fix issue when message has % character, but no params (#175)

v2.0.1

15 Feb 13:14
v2.0.1
3e26e5c

Choose a tag to compare

  • fixed compatibility issue with aiohttp 3.0 (#157)
  • Added truncation for fields that have a maxLength in the JSON Schema (#159)