What's Changed
🚨 Breaking Changes
- chore: Remove
local_sandboxby @dagardner-nv in #2194 - fix: Don't expose the
user_idparameter to the LLM by @dagardner-nv in #2190 - Improved user identity resolution by @dagardner-nv in #2197
✨ New Features
- feat(middleware): add HITLMiddleware for human-in-the-loop function interception by @ericevans-nv in #2060
- Enable preflight authentication for applicable authentication providers by @ericevans-nv in #2078
- Track LangChain Runnable callbacks by @WilliamK112 in #2100
- Add MLflow OTLP telemetry exporter, docs, and example by @EnesYilmazcode in #2112
- feat(plugin-api): export runtime context and interactive HITL models by @DABH in #2113
- feat(core): add opt-in provider hooks for generated ids and timestamps by @DABH in #2114
- feat(plugin-api): export the interactive prompt content models by @DABH in #2145
- feat(core): route interaction prompt ids and timestamps via providers by @DABH in #2144
- feat(core): Add CircuitBreakerMiddleware for tool fault tolerance by @sankhyanreyansh in #2158
🔧 Improvements
- Update the wheel upload script by @dagardner-nv in #2101
- feat(langchain): split provider integrations into optional extras by @marcusds in #1989
- fix(finetune): apply CLI config overrides in finetuning runtime by @pranaysb in #2103
- build(ruff): enforce B019 to prevent lru_cache/cache memory leaks by @yczhang-nv in #2106
- Add option to enable redirect-based OAuth flow by @thepatrickchin in #1835
- chore: bump nat-ui submodule to 0297fb14 by @thepatrickchin in #2120
- fix(cache-middleware): bound cache size and enforce safe fuzzy threshold by @ColinM-sys in #1879
- Forward-merge release/1.8 into develop by @willkill07 in #2130
- ci(pre-commit): scope pre-commit checks to PR changes by @willkill07 in #2139
- build(core): require cryptography 48 by @DABH in #2149
- feat(core): make JobStore connection pooling configurable by @jonthedecepticon in #2150
- fix: improve content safety guard result handling by @ericevans-nv in #2180
- feat: Add a new boolean config
fail_closedtooutput_verifier_toolsby @dagardner-nv in #2187 - fix(websocket): bind conversation reconnection to user identity by @ericevans-nv in #2189
- chore: Update models by @dagardner-nv in #2195
- feat(auth): configure WebSocket identity credentials by @ericevans-nv in #2196
- fix(adk): prevent split OpenTelemetry stack by @ericevans-nv in #2209
- Package updates by @dagardner-nv in #2216
🐛 Bug Fixes
- fix(api-server): Fix OpenAI chat completions tool-call history validation by @yczhang-nv in #2077
- fix(agent): flatten list-style message content for Bedrock/Anthropic by @ctrlsam in #2064
- fix(latency_sensitivity_demo): wire draft_response fan-in as a barrier by @bbednarski9 in #2086
- fix(multi_frameworks): correct supervisor routing by @bbednarski9 in #2089
- fix(router_agent): terminate graph after branch execution by @bbednarski9 in #2088
- fix(auto_desc): reduce parallel batch summaries by @bbednarski9 in #2090
- fix(mcp): tolerate workflows without aliases by @WilliamK112 in #2097
- Honor ChatRequest.model in LangChain react_agent workflows by @marcusds in #2036
- fix memory leak lru cache by @pranaysb in #2105
- fix(mcp): sanitize parameter names from upstream MCP tool schemas by @zamal-db in #2079
- fix: support function workflows in FastMCP front end by @kiwigitops in #1993
- Fix MessageValidator default message metadata by @fallintoplace in #2011
- fix(core): resolve lru_cache memory retention in DiscoveryMetadata by @pranaysb in #2118
- fix(core): resolve string annotations against the defining module in FunctionInfo by @DABH in #2115
- fix(mcp): recover the MCP client when the lifecycle worker dies by @Hokonoken in #2121
- fix(profiler): import the CrewAI profiler handler from its real module by @EnesYilmazcode in #2128
- fix(profiler): deduplicate Semantic Kernel patch targets by @jstar0 in #2131
- fix(langchain): pass conversation_id as LangGraph thread_id by @Rahulreddy1020 in #2074
- fix(profiler): extract LlamaIndex OpenAI token usage by @jstar0 in #2132
- fix(core): guard bare generic type args in recursive_componentref_discovery by @knQzx in #2135
- fix(mcp): preserve tool schema constraints by @onurserce in #2134
- fix(observability): emit user_id as span attribute in SpanExporter by @Christian-Sidak in #2152
- Fix avg_llm_latency ATIF evaluator always reporting 0.0 by @AnishPatel526 in #2140
- fix: do not forward the unknown-model sentinel as a per-request model override by @knQzx in #2141
- fix(core): a non-positive retry budget no longer skips the wrapped call by @DABH in #2146
- fix(deps): resolve eval and langchain extra conflict by @harshtripathi6 in #2155
- fix(langchain): set a User-Agent for the wiki_search tool by @min9pm8 in #2157
- Make the async job submit timeout configurable by @AnishPatel526 in #2159
- fix(auth): isolate OAuth2 client per flow in console/MCP auth handler by @pranaysb in #2165
- fix(core): prevent duplicate middleware registrations in function chains by @alwaysprince05 in #2160
- fix(adk): resolve PEP 563 string annotations in tool wrapper by @Christian-Sidak in #2166
- fix(optimizer): reject empty search spaces by @primorLee in #2174
- fix:
local_sandboxImprovements by @dagardner-nv in #2181 - fix: Add input validation for github_tool inputs by @dagardner-nv in #2188
- fix: Misc v1.9 pre-flight fixes by @dagardner-nv in #2200
- fix: Misc bugs reported by QA by @dagardner-nv in #2206
- fix
haystack_deep_research_agentexample by @dagardner-nv in #2208
📝 Documentation Updates
- chore(deps): upgrade transformers to v5 by @bbednarski9 in #2091
- chore: Cut Redis plugin over to provider-managed package by @bbednarski9 in #2096
- docs: install config optimizer for Dynamo benchmark by @WilliamK112 in #2099
- docs: relocate ATOF spec to NeMo Relay by @bbednarski9 in #2143
- docs: restructure About Building Workflows to the about-procedural-task template by @chenopis in #2058
- docs(get-started): mark native Windows x86_64 unsupported by @MohammedAlkindi in #2169
Other Changes
- Forward-merge release/1.8 into develop by @rapids-bot[bot] in #2010
- Forward-merge release/1.8 into develop by @rapids-bot[bot] in #2014
- Forward-merge release/1.8 into develop by @rapids-bot[bot] in #2017
- Forward-merge release/1.8 into develop by @rapids-bot[bot] in #2018
- Forward-merge release/1.8 into develop by @rapids-bot[bot] in #2023
- Forward-merge release/1.8 into develop by @rapids-bot[bot] in #2024
- Forward-merge release/1.8 into develop by @rapids-bot[bot] in #2025
- Forward-merge release/1.8 into develop by @rapids-bot[bot] in #2026
- Forward-merge release/1.8 into develop by @rapids-bot[bot] in #2027
- Forward-merge release/1.8 into develop by @rapids-bot[bot] in #2030
- Forward-merge release/1.8 into develop by @rapids-bot[bot] in #2033
- Forward-merge release/1.8 into develop by @rapids-bot[bot] in #2034
- Forward-merge release/1.8 into develop by @rapids-bot[bot] in #2037
- Forward-merge release/1.8 into develop by @rapids-bot[bot] in #2038
- Forward-merge release/1.8 into develop by @rapids-bot[bot] in #2040
- Forward-merge release/1.8 into develop by @rapids-bot[bot] in #2042
- Forward-merge release/1.8 into develop by @rapids-bot[bot] in #2045
- Forward-merge release/1.8 into develop by @rapids-bot[bot] in #2047
- Forward-merge release/1.8 into develop by @rapids-bot[bot] in #2049
- Forward-merge release/1.8 into develop by @rapids-bot[bot] in #2052
- Forward-merge release/1.8 into develop by @rapids-bot[bot] in #2054
- Forward-merge release/1.8 into develop by @rapids-bot[bot] in #2055
- Forward-merge release/1.8 into develop by @rapids-bot[bot] in #2057
- Forward-merge release/1.8 into develop by @rapids-bot[bot] in #2062
- Forward-merge release/1.8 into develop by @rapids-bot[bot] in #2066
- Forward-merge release/1.8 into develop by @rapids-bot[bot] in #2069
- Forward-merge release/1.8 into develop by @rapids-bot[bot] in #2071
- [RELEASE] NeMo-Agent-Toolkit v1.9.0 by @dagardner-nv in #2198
New Contributors
- @ctrlsam made their first contribution in #2064
- @marcusds made their first contribution in #1989
- @WilliamK112 made their first contribution in #2097
- @pranaysb made their first contribution in #2105
- @zamal-db made their first contribution in #2079
- @kiwigitops made their first contribution in #1993
- @fallintoplace made their first contribution in #2011
- @EnesYilmazcode made their first contribution in #2112
- @DABH made their first contribution in #2113
- @Hokonoken made their first contribution in #2121
- @jstar0 made their first contribution in #2131
- @Rahulreddy1020 made their first contribution in #2074
- @knQzx made their first contribution in #2135
- @onurserce made their first contribution in #2134
- @Christian-Sidak made their first contribution in #2152
- @chenopis made their first contribution in #2058
- @AnishPatel526 made their first contribution in #2140
- @jonthedecepticon made their first contribution in #2150
- @harshtripathi6 made their first contribution in #2155
- @min9pm8 made their first contribution in #2157
- @MohammedAlkindi made their first contribution in #2169
- @alwaysprince05 made their first contribution in #2160
- @sankhyanreyansh made their first contribution in #2158
- @primorLee made their first contribution in #2174
Full Changelog: v1.8.0...v1.9.0