|
| 1 | +# Changelog |
| 2 | + |
| 3 | +## v2.2.0 |
| 4 | + |
| 5 | +[Check the diff](https://github.com/elastic/apm-agent-python/compare/v2.1.1...v2.2.0) |
| 6 | + - introduced consistent logger name scheme for all elasticapm internal log messages (#212) |
| 7 | + - added instrumentation of cassandra-driver (#205) |
| 8 | + - added instrumentation of elasticsearch-py (#191) |
| 9 | + - added Flask 1.0 to the test matrix (#207) |
| 10 | + - fixed an issue with our minimalistic SQL parser and "fully qualified" table names (#206) |
| 11 | + - fixed issue with spans in Django’s `StreamingHTTPResponse` not being captured (#201, #202) |
| 12 | + - fixed issue with spans with Flask’s streaming response not being captured (#201, #202) |
| 13 | + |
| 14 | +## v2.1.1 |
| 15 | + |
| 16 | +[Check the diff](https://github.com/elastic/apm-agent-python/compare/v2.1.0...v2.1.1) |
| 17 | + - 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) |
| 18 | + - fix an encoding issue with log messages that are hit in rare cases (#188, #189) |
| 19 | + |
| 20 | +## v2.1.0 |
| 21 | + |
| 22 | +[Check the diff](https://github.com/elastic/apm-agent-python/compare/v2.0.1...v2.1.0) |
| 23 | + - made skipping of initial `elasticapm` frames for span stack traces more generic (#167) |
| 24 | + - added `context.process.ppid` field (supported in apm-server 6.3+) (#168) |
| 25 | + - added option to disable stack frame collection for very short spans (#142) |
| 26 | + - several bug fixes: |
| 27 | + - fix an issue in boto3 instrumentation with nonstandard endpoint URLs (#178) |
| 28 | + - fix bug with OPTIONS requests and body capturing (#174) |
| 29 | + - fix issue when message has `%` character, but no params (#175) |
| 30 | + |
| 31 | +## v2.0.1 |
| 32 | + |
| 33 | +[Check the diff](https://github.com/elastic/apm-agent-python/compare/v2.0.0...v2.0.1) |
| 34 | + - fixed compatibility issue with aiohttp 3.0 (#157) |
| 35 | + - Added truncation for fields that have a `maxLength` in the JSON Schema (#159) |
| 36 | + |
| 37 | +## v2.0.0 |
| 38 | + |
| 39 | +[Check the diff](https://github.com/elastic/apm-agent-python/compare/v1.0.0...v2.0.0) |
| 40 | + - moved the library-frame detection from a processor to the stacktrace collection (#113). |
| 41 | + - added settings to enable/disable source code collection and local variables collection for errors and transactions (#117) |
| 42 | + - added `service.environment` to provide an environment name (e.g. "production", "staging") (#123) |
| 43 | + - added `transaction.id` to errors to better correlate errors with transactions (#122) |
| 44 | + - added `transaction_sample_rate` to define a rate with which transactions are sampled (#116) |
| 45 | + - added `error.handled` to indicate if an exception was handled or not (#124). |
| 46 | + - added `transaction_max_spans` setting to limit the amount of spans that are recorded per transaction (#127) |
| 47 | + - added configuration options to limit captured local variables to a certain length (#130) |
| 48 | + - added options for configuring the amount of context lines that are captured with each frame (#136) |
| 49 | + - added support for tracing queries formatted as [`psycopg2.sql.SQL`](http://initd.org/psycopg/docs/sql.html) objects (#148) |
| 50 | + - switched to `time.perf_counter` as timing function on Python 3 (#138) |
| 51 | + - added option to disable capturing of request body (#151) |
| 52 | + - BREAKING: Several settings and APIs have been renamed (#111, #119, #143): |
| 53 | + - The decorator for custom instrumentation, `elasticapm.trace`, is now `elasticapm.capture_span` |
| 54 | + - The setting `traces_send_frequency` has been renamed to `flush_interval`. The name of the analogous environment variable changed from `ELASTIC_APM_TRACES_SEND_FREQ` to `ELASTIC_APM_FLUSH_INTERVAL` |
| 55 | + - The `app_name` setting has been renamed to `service_name`. The name of the analogous environment variable changed from `ELASTIC_APM_APP_NAME` to `ELASTIC_APM_SERVICE_NAME`. |
| 56 | + - `app_name` arguments to API calls in the whole code base changed to `service_name`. |
| 57 | + - The `app_version` setting has been renamed to `service_version`. The name of the analogous environment variable changed from `ELASTIC_APM_APP_VERSION` to `ELASTIC_APM_SERVICE_VERSION`. |
| 58 | + - `context.request.url.raw` has been renamed to `context.request.url.full` (#121) |
| 59 | + - BREAKING: added `elasticapm.set_custom_context` in favor of the more generic `set_custom_data` function (#133) |
| 60 | + - BREAKING: `include_patterns` and `exclude_patterns` now 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) |
| 61 | + - BREAKING: renamed several configuration options to align better with other language agents (#145): |
| 62 | + - `disable_instrumentation` became `instrument` and inverted its meaning |
| 63 | + - `max_event_queue_length` became `max_queue_size` |
| 64 | + - `timeout` became `server_timeout` |
| 65 | + |
| 66 | +## v1.0.0 |
| 67 | + |
| 68 | +[Check the diff](https://github.com/elastic/apm-agent-python/compare/v1.0.0.dev3...v1.0.0) |
| 69 | + - added `max-event-queue-length` setting. (#67) |
| 70 | + - changed name that the agent reports itself with to the APM server from `elasticapm-python` to `python`. This aligns the Python agent with other languages. (#104) |
| 71 | + - changed Celery integration to store the task state (e.g. `SUCCESS` or `FAILURE`) in `transaction.result` (#100) |
| 72 | + - added setting to disable SSL certificate verification (#108) |
| 73 | + - BREAKING: renamed `server` configuration variable to `server_url` to better align with other language agents (#105) |
| 74 | + - BREAKING: removed the old and unused urllib2-based HTTP transport, and renamed the urllib3 transport (#107) |
| 75 | + - BREAKING: several API changes to `capture_exception`, `capture_message`, and added documentation for these and other APIs (#112) |
| 76 | + |
| 77 | +## v1.0.0.dev3 |
| 78 | + |
| 79 | +[Check the diff](https://github.com/elastic/apm-agent-python/compare/v1.0.0.dev2...v1.0.0.dev2) |
| 80 | + - added a background thread to process the transactions queue every 60 seconds (configurable) (#68) |
| 81 | + - adapted trace context for SQL traces to new API (#77) |
| 82 | + - ensured that transaction data is also passed through processors (#84) |
| 83 | + - added `uninstrument` function to reverse instrumentation, and exposed both `instrument` and `uninstrument` as public API in the `elasticapm` namespace (#90) |
| 84 | + - added normalization of HTTP status codes into classes for the `transaction.result` field. A HTTP status of `200` will be turned into `HTTP 2xx`. The unchanged status code is still available in `context.response.status_code`. (#85) |
| 85 | + |
| 86 | +## v1.0.0.dev2 |
| 87 | + |
| 88 | +[Check the diff](https://github.com/elastic/apm-agent-python/compare/v1.0.0.dev1...v1.0.0.dev2) |
| 89 | + - added request context information for Flask (#58) |
| 90 | + - added response context information for Flask (#65) |
| 91 | + - BREAKING: changed the `SERVERS` list setting to a single `SERVER` string setting. With this change, we now only support sending events to a single server (#59) |
| 92 | + - BREAKING: removed root trace. Due to historical reason, we used to create a "root trace" which was equivalent to the transaction. This is no longer necessary. #61 |
| 93 | + |
| 94 | +## v1.0.0.dev1 |
| 95 | + |
| 96 | +[Check the diff](https://github.com/elastic/apm-agent-python/compare/v1.0.0.dev0...v1.0.0.dev1) |
| 97 | + - unified configuration across supported frameworks (#33) |
| 98 | + - added in-app frame detection (#36) |
| 99 | + - added tagging functionality (#28) |
| 100 | + - preliminary support for Django 2.0 (#26) |
| 101 | + - initial set of documentation |
| 102 | + |
| 103 | +## v1.0.0.dev0 |
| 104 | + |
| 105 | +First release of the Python agent for Elastic APM |
0 commit comments