# Python SDK changelog

## 2026.10.0 (2026-10-01)

Maintenance release.

## 2026.9.1 (2026-09-11)

- Emit a valid boolean async attribute in the browser probe script tag

## 2026.9.0 (2026-09-07)

Maintenance release.

## 2026.8.0 (2026-08-13)

Maintenance release.

## 2026.5.0 (2026-05-21)

Maintenance release.

## 2026.4.0 (2026-04-30)

- Add application name to server-monitoring probes
- Internal releasing changes

## 2026.3.0 (2026-03-10)

- Change the brand in versions and licenses
- Switch versioning to calver
- Fix incorrect comment
- Update dependencies; Internal releasing changes

## 1.20.37 (2025-12-15)

Maintenance release.

## 1.20.36 (2025-12-11)

Maintenance release.

## 1.20.35 (2025-12-11)

Maintenance release.

## 1.20.34 (2025-10-27)

- Python probe `3.14` support
- Internal releasing changes

## 1.20.33 (2025-07-30)

- APM connection re-use issues
- Add Ping support to WSGI frameworks

## 1.20.32 (2025-07-21)

- [Python] Remove setuptools dependency (pkg_resources)
- Internal releasing changes

## 1.20.31 (2025-07-08)

- Hide pixel tracking
- Internal releasing changes

## 1.20.30 (2025-06-10)

Maintenance release.

## 1.20.29 (2025-06-05)

- This is the latest version supporting Python 2.7
- Internal releasing changes

## 1.20.28 (2025-06-04)

Maintenance release.

## 1.20.27 (2025-05-30)

- Inject JS probe to WSGI middleware

## 1.20.26 (2025-02-17)

- Fix Odoo v15 and up

## 1.20.25 (2025-01-28)

- Close connection before reconnect and log reconnect
- Internal releasing changes

## 1.20.24 (2025-01-13)

Maintenance release.

## 1.20.23 (2024-11-25)

- `APM` share a single connection
- Remove `eol` versions from test suite
- Internal releasing changes

## 1.20.22 (2024-10-24)

- Print `Warning` when `uwsgi` is not running on `enable-threads`

## 1.20.21 (2024-10-15)

- Test against python `3.13`
- Internal Releasing changes

## 1.20.20 (2024-09-16)

Maintenance release.

## 1.20.19 (2024-05-21)

- Fix `segfault` when extended trace is on

## 1.20.16 (2024-04-29)

Maintenance release.

## 1.20.15 (2024-03-18)

Maintenance release.

## 1.20.14 (2024-02-19)

Maintenance release.

## 1.20.13 (2024-02-02)

- Drop unnecessary getpid() in get_os_memory_usage()
- Do not call atexit.register for every txn

## 1.20.12 (2024-01-29)

- Generate manylinux aarch64 binaries

## 1.20.11 (2024-01-25)

- Reintroduce manylinux compatible binaries

## 1.20.10 (2024-01-16)

Maintenance release.

## 1.20.9 (2024-01-08)

Maintenance release.

## 1.20.8 (2024-01-05)

Maintenance release.

## 1.20.7 (2024-01-05)

Maintenance release.

## 1.20.6 (2024-01-05)

Maintenance release.

## 1.20.5 (2024-01-05)

Maintenance release.

## 1.20.4 (2024-01-05)

Maintenance release.

## 1.20.3 (2024-01-04)

Maintenance release.

## 1.20.2 (2024-01-04)

Maintenance release.

## 1.20.1 (2023-12-21)

- Update documentation links

## 1.20.0 (2023-11-03)

- Python 3.12 Windows support

## 1.19.0 (2023-10-20)

- Python 3.12 support

## 1.18.0 (2023-05-24)

- Enable monitoring by default

## 1.17.0 (2023-04-11)

- Add Pyramid WSGI integration
- Do not log to stderr when BLACKFIRE_LOG_FILE is specified
- Various fixes related to stability

## 1.16.6 (2023-02-28)

- Use `path_info` instead of `request_uri` for monitoring WSGI applications

## 1.16.5 (2023-02-21)

- fix incorrect number of args. for `send_response` in WSGI middleware

## 1.16.4 (2022-12-28)

- Workaround for a segfault happening on `3.11`
- Fix error prints when retrieving function name and `self` is not a class

## 1.16.2 (2022-12-19)

- Fix profiling on FastAPI when sub applications feature is used

## 1.16.1 (2022-12-09)

- Support Python 3.11/3.10 on Windows
- Support Python 3.7 on Mac ARM
- Add HTTP request naming support for monitoring

## 1.15.0 (2022-10-31)

- Support Python 3.11
- Change APM timespan defaults

## 1.14.0 (2022-09-06)

- Support profiling of multiple threads simultaneously

## 1.13.0 (2022-06-22)

- APM start_transaction() API now accepts `name` parameter
- Use better exception messages/types for Agent communication errors
- Fix Django middleware throwing exception when response is `FileResponse`

## 1.12.0 (2022-05-24)

- Fix a bug that affects matplotlib on 3.10 and up
- Add a generic WSGI middleware
- Lock Monitoring if there is any connection problem to the Agent

## 1.11.0 (2021-02-23)

- Alpine binaries can be installed via pip
- Odoo framework support
- Fix a memory profiling issue when numpy is used
- Small fixes&improvements

## 1.10.0 (2021-01-07)

- Add a decorator for flask views (profile_flask_view)
- Change BLACKFIRE_LOG_FILE default to stderr
- Remove all old DeprecationWarnings

## 1.9.1 (2021-12-10)

- Fix builds when a non-ASCII character used in .blackfire.yml file

## 1.9.0 (2021-12-06)

- Fix an issue that prevents APM time-threshold value to be respected
- Fix invalid cost-dimensions for extended traces
- Support APM auto-detection of the view name for FastAPI applications

## 1.8.1 (2021-11-22)

- Fix an issue that prevents running Builds on FastAPI

## 1.8.0 (2021-11-16)

- Fix encoding issue with Django middleware on Python2.7
- Fix APM daemon thread not started when gunicorn run with UvicornWorker worker class
- Add support for auto-profiling and writing scenarios to FastAPI

## 1.7.1 (2021-10-25)

- Fixed few minor memory leak issues related to asyncio profiling
- Fix an issue where Content-Length header was always expected in Flask middleware

## 1.7.0 (2021-10-13)

- FastAPI support
- Support profiling of asyncio applications
- Support nw dimension
- Fix various issues related to manual APM API and implement set_tag
- Fix an issue with pending APM transactions on interpreter shutdown

## 1.6.1 (2021-06-29)

- Release Python 3.10 wheels for various platforms
- Release Apple M1 wheels for 3.8, 3.9 and 3.10
- Implement various optimizations/refactorings to profiling and monitoring
- Fix an issue with auto-profiling for Monitoring
- Implement Monitoring SDK APIs (start_transaction/stop_transaction...)

## 1.5.6 (2021-04-26)

- Fix a protocol related bug that prevents some Python recommendations to be shown properly.
- Fix an issue where two functions sharing same Base class gets merged in a single trace.

## 1.5.5 (2021-03-22)

- Remove psutil dependency
- Add APIs to set title/transaction_name for the current profiling session
- Support http/https proxy settings for manual profiling
- Import custom sitecustomize if there is any
- Fix various issues

## 1.5.3 (2020-11-10)

- Fix an issue related to Web profiling
- Release Python 3.9 wheels on Windows
- Fix an issue with parsing an IPv6 URL scheme

## 1.5.2 (2020-11-02)

- Fix various bugs
- Add support for Python 3.9

## 1.5.1 (2020-10-20)

- Fix various bugs
- A new `blackfire-python` command for auto-instrumenting Python apps
- Deprecate `install_bootstrap/uninstall_bootstrap` commands

## 1.4.5 (2020-09-04)

- Add 3.8 support for macOS

## 1.4.4 (2020-08-26)

- Drop multiprocessing dependency (for easier AWS Lambda integration)

## 1.4.3 (2020-08-12)

- Generate wheel distribution for Alpine OS
- Capture named parameters in Python functions
- More verbose/prettier logging
- Defined/Added metrics for various frameworks
- Add '@profile' decorator to profile single functions

## 1.4.0 (2020-05-20)

- Added memory profiler
- Defined metrics for most of the stdlib. functions (socket, os, subprocess, threading...etc.)
- Defined metrics for Elasticsearch, Redis, Celery, memcache
- Add Blackfire-Auth header for Agent->Probe communication
- Support blackfire.yml
- Various fixes

## 1.3.4 (2020-03-23)

- Added timeline view support
- Capture PyCFunctionObject args
- Added Flask middleware
- Defined Django template metrics
- Various fixes

## 1.3.3 (2020-01-26)

- Added the changelog file
