Releases: elastic/apm-agent-python
v3.0.2
v3.0.1
- added sanitization for
Set-Cookieresponse 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=Falseoption (#278) - fixed a race condition with managing the timer-send thread (#279)
v3.0.0
- 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_durationsetting
from-1(always collect) to5(only collect for spans longer than 5 ms) (#243) - added instrumentation for pymssql (#241)
- added instrumentation for pyodbc (#238)
v2.2.1
v2.2.0
- 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
StreamingHTTPResponsenot 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
v2.1.0
v2.0.1
v2.0.0
-
moved the library-frame detection from a processor to the stacktrace collection (#113).
-
added settings to enable/disable source code collection and local variables collection for errors and transactions (#117)
-
added
service.environmentto provide an environment name (e.g. "production", "staging") (#123) -
added
transaction.idto errors to better correlate errors with transactions (#122) -
added
transaction_sample_rateto define a rate with which transactions are sampled (#116) -
added
error.handledto indicate if an exception was handled or not (#124). -
added
transaction_max_spanssetting to limit the amount of spans that are recorded per transaction (#127) -
added configuration options to limit captured local variables to a certain length (#130)
-
added options for configuring the amount of context lines that are captured with each frame (#136)
-
added support for tracing queries formatted as
psycopg2.sql.SQLobjects (#148) -
switched to
time.perf_counteras timing function on Python 3 (#138) -
added option to disable capturing of request body (#151)
-
BREAKING: Several settings and APIs have been renamed (#111, #119, #143):
- The decorator for custom instrumentation,
elasticapm.trace, is nowelasticapm.capture_span - The setting
traces_send_frequencyhas been renamed toflush_interval. The name of the analogous environment variable changed fromELASTIC_APM_TRACES_SEND_FREQtoELASTIC_APM_FLUSH_INTERVAL - The
app_namesetting has been renamed toservice_name. The name of the analogous environment variable changed fromELASTIC_APM_APP_NAMEtoELASTIC_APM_SERVICE_NAME. app_namearguments to API calls in the whole code base changed toservice_name.- The
app_versionsetting has been renamed toservice_version. The name of the analogous environment variable changed fromELASTIC_APM_APP_VERSIONtoELASTIC_APM_SERVICE_VERSION. context.request.url.rawhas been renamed tocontext.request.url.full(#121)
- The decorator for custom instrumentation,
-
BREAKING: added
elasticapm.set_custom_contextin favor of the more genericset_custom_datafunction (#133) -
BREAKING:
include_patternsandexclude_patternsnow use shell globs instead of regular expressions, and are matched against the full path file path of the module, not against the module name (#137) -
BREAKING: renamed several configuration options to align better with other language agents (#145):
disable_instrumentationbecameinstrumentand inverted its meaningmax_event_queue_lengthbecamemax_queue_sizetimeoutbecameserver_timeout