Estimated end-of-life date, accurate to within three months: 05-2027
See the support level definitions for more information.
Bug Fixes
-
anthropic: Handle empty content field when tracing the beta client.
-
LLM Observability: Resolves an issue in
activate_distributed_headers()where distributed requests missing a LLM Observability trace ID would be incorrectly propagated twice. -
profiling: Fixes a bug where code that sub-classes our wrapped locks crashes with TypeError during profiling. One example of this is neo4j's AsyncRLock, which inherits from asyncio.Lock: https://github.com/neo4j/neo4j-python-driver/blob/6.x/src/neo4j/_async_compat/concurrency.py#L45
-
profiling: This fix resolves a race condition leading to incorrect stacks being reported for asyncio parent/child Tasks (e.g. when using
asyncio.gather). -
profiling: Fixes a
PicklingErrorwhen usingmultiprocessing.Manager()with lock profiling enabled on Python 3.14+. Python 3.14 changed the default multiprocessing start method fromforktoforkserver, which requires all objects to be pickleable. The lock profiler's wrappers now properly support pickle serialization.