This repository was archived by the owner on Aug 13, 2025. It is now read-only.
Releases: honeycombio/beeline-python
Releases · honeycombio/beeline-python
v2.15.0
v2.14.0
v2.13.1
v2.13.0
2.13.0
Features
We have added new functionality for http_trace_parse_hook
and http_trace_propagation_hook
. These hooks allow beeline users
to parse incoming headers, as well as add outgoing headers, allowing for interoperability between Honeycomb,
OpenTelemetry (W3C) and other tracing formats.
- New
beeline
configuration parameters forhttp_trace_parse_hook
andhttp_trace_propagation_hook
- New
propagate_and_start_trace
function for use by middleware to invoke thehttp_trace_parse_hook
- New
beeline.propagation
package to centralize propagation-related classes and functions. beeline.propagation.honeycomb
package contains hooks to support parsing and propagation using honeycomb headers.beeline.propagation.w3c
package contains hooks to support parsing and propagation using w3c headers.
Deprecation Notice
- Deprecated the existing
beeline.marshal_trace_context
, and migrated all usage to new
beeline.propagation.honeycomb
functions.beeline.marshal_trace_context
will be removed when the next major version of the beeline is released.
Implementation details
- Implemented
beeline.propagation.Request
classes for middleware to aid in support of header and propagation hooks. - Migrateed existing middleware to use new
beeline.propagation
classes and functions to supporthttp_trace_parse_hooks
. - Centralized duplicated code for WSGI variants (Flask, Bottle, Werkzeug) into a single location.
- Added
http_trace_propagation_hook
support to requests and urllib.
Fixes
- Fixed a bug where
urllib.request.urlopen
would fail if given a string URL as an argument.
v2.12.2
Improvements
- Trace IDs and Span IDs now correspond to W3C trace context specification. See https://www.w3.org/TR/trace-context/
- Now using poetry for packaging and dependency management.
- Tests now exclude
test_async
on Python versions which don't support async instead of requiring maintenance of an includelist of tests. - No longer use
pyflask
in tests aspylint
covers all issues checked bypyflask
Misc
- Files have been reformatted to pass pycodestyle (PEP8)
- Now enforce passing pycodestyle in CI.
- Now do CI testing against Python 3.8.