1.1
1.1.2
May 25, 2026- Bug Fixes
- Suppressed
gen_ai.llm.contexton routing-only LLM spans: When an LLM span’s output is purelytool_calls(a routing decision with no text content), the SDK now blanksgen_ai.llm.contexton that span. Previously, RAG context set earlier in the same turn viaset_llm_context()leaked onto these routing spans, triggering faithfulness evaluation on spans that produce no answer text.
- Suppressed
1.1.1
May 12, 2026-
Bug Fixes
- Fixed
wrapt2.x compatibility:wrapt2.0 renamed the first parameter ofwrap_function_wrapper()frommoduletotarget. The SDK passed it as a keyword argument (module='...'), which raisedTypeError: wrap_function_wrapper() got an unexpected keyword argument 'module'onwrapt >= 2.0. Fixed with a version-detecting helper that dispatches the correct keyword argument name based on the installedwraptmajor version (module=for 1.x,target=for 2.x).
- Fixed
-
Dependencies
- Bumps
fiddler-oteldependency to1.2.0.
- Bumps
1.1.0
April 14, 2026- New Features
-
clear_llm_context()function: New convenience function to explicitly remove RAG context from an LLM instance, preventing faithfulness evaluation on subsequent non-RAG spans. In multi-step agent workflows, context set after a RAG retrieval step previously leaked into later non-RAG LLM calls (tool planning, routing, etc.), causing unintended faithfulness evaluation.set_llm_context(llm, None)also now clears context. - Python 3.14 support: Added Python 3.14 to CI test matrix and PyPI classifiers. All runtime dependencies have compatible wheels.
-
1.0
1.0.1
March 20, 2026- Bug Fixes
- Fixed
fiddler-oteldependency constraint: Relaxed thefiddler-otelupper bound from<1.0.0to<2.0.0, resolving a dependency conflict when installing alongsidefiddler-otel 1.x.
- Fixed
1.0.0
March 18, 2026 Initial release of the Fiddler LangChain SDK.- Added
FiddlerLangChainInstrumentor: Auto-instrumentor for LangChain V1 agents. Monkey-patcheslangchain.agents.create_agentso every subsequent call automatically receives aFiddlerAgentMiddleware. Idempotent — callinginstrument()multiple times is safe.instrument(): Enable automatic instrumentation of allcreate_agentcalls.uninstrument(): Restore the originalcreate_agentfunction. Does not affect already-created agents.is_instrumented_by_opentelemetry: Property indicating whether instrumentation is currently active.
FiddlerAgentMiddleware: LangChain V1AgentMiddlewarethat instruments agents with Fiddler tracing. Produces a clean, flat trace hierarchy: agent → LLM calls → tool calls, with no noisy Chain wrappers.before_agent(): Opens a root Agent span (TYPE=agent) at the start of each invocation.after_agent(): Closes the root Agent span.wrap_model_call()/awrap_model_call(): Wraps synchronous and asynchronous model calls with LLM spans (TYPE=llm). Captures model name, provider, system prompt, user prompt, full message history, output messages, token usage, LLM context, and tool definitions.wrap_tool_call()/awrap_tool_call(): Wraps synchronous and asynchronous tool calls with Tool spans (TYPE=tool). Captures tool name, input, and output.
set_llm_context(): Attach a context string to aBaseLanguageModelorRunnableBinding. The middleware reads this at invocation time and setsgen_ai.llm.contexton the LLM span.add_span_attributes(**kwargs): Attach custom metadata to a specific LangChain component (model, tool, or retriever). Emitted asfiddler.span.user.{key}only on the span for that component — scoped, unlikeadd_session_attributes.set_conversation_id(): Re-exported fromfiddler_otelfor convenience. Propagates conversation ID to all spans in the current execution context.add_session_attributes(): Re-exported fromfiddler_otel. Attaches session-level metadata to all spans in the current context.- Full async support:
awrap_model_callandawrap_tool_callhooks fully supportagent.ainvoke(). - Error handling: Failing LLM or tool spans are marked
StatusCode.ERRORwith the exception recorded. The root Agent span is always closed cleanly, preventing dangling open spans. Exceptions are re-raised so normal application error handling is unaffected. - Multi-agent single-trace nesting: When a sub-agent is invoked from within a delegation tool, its root Agent span is automatically created as a child of the active tool span — the entire multi-agent flow appears in one trace. Top-level agents (no active parent span) start a new trace as usual.
- Retriever-as-tool: Retrievers wrapped with
@toolare automatically traced asTYPE=toolspans. - JSONL local capture: Inherited from
fiddler-otel. Usejsonl_capture_enabled=TrueonFiddlerClient. TheFIDDLER_JSONL_FILEenvironment variable overrides the output file path.