Estimated end-of-life date, accurate to within three months: 05-2027 See the support level definitions for more information.
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 PicklingError when using multiprocessing.Manager() with lock profiling enabled on Python 3.14+. Python 3.14 changed the default multiprocessing start method from fork to forkserver, which requires all objects to be pickleable. The lock profiler's wrappers now properly support pickle serialization.
Fetched April 3, 2026