Releases: NVIDIA/NeMo-Agent-Toolkit
v1.4.3
What's Changed
🐛 Bug Fixes
- fix(release/1.4): specify explicit versions for the
nvidia-nat-allpackage by @dagardner-nv in #1801
Full Changelog: v1.4.2...v1.4.3
v1.4.2
What's Changed
🐛 Bug Fixes
- fix(release/1.4): specify explicit sub-package versions by @dagardner-nv in #1800
Full Changelog: v1.4.1...v1.4.2
v1.5.0
🚀 Notable Features and Improvements
- Dynamo Runtime Intelligence: Automatically infer per-request latency sensitivity from agent profiles and apply runtime hints for cache control, load-aware routing, and priority-aware serving.
- Agent Performance Primitives (APP): Introduce framework-agnostic performance primitives that accelerate graph-based agent frameworks such as LangChain, CrewAI, and Agno with parallel execution, speculative branching, and node-level priority routing.
- LangSmith Native Integration: Observe end-to-end agent execution with native LangSmith tracing, run evaluation experiments, compare outcomes, and manage prompt versions across development and production workflows.
- FastMCP Workflow Publishing: Publish NeMo Agent Toolkit workflows as MCP servers using the FastMCP runtime to simplify MCP-native deployment and integration.
Migration notice: 1.5.0 includes packaging and compatibility refactors (meta-package restructure, eval/profiling package split, and import-path updates). See the Migration Guide.
🚨 Breaking Changes
- Dynamic Inference Headers with Prediction Trie Integration by @dnandakumar-nv in #1483
- improvement(packaging): Packaging Restructure for libraries by @willkill07 in #1512
- fix: Langchain agents should reuse runnable config by @willkill07 in #1604
- Refactor: Split eval/profiler into optional nvidia-nat-eval package by @AnuradhaKaruppiah in #1599
- improvement: nvext.agent_hints and nvext.cache_control clean up by @bbednarski9 in #1648
✨ New Features
- Add evaluator feedback to GA optimizer by @dnandakumar-nv in #1442
- Add similarity scores and threshold filtering to Redis semantic search by @thepatrickchin in #1434
- Add end-to-end custom metadata propagation for observability by @ericevans-nv in #1480
- Expose MCP session ID and add custom headers support for session correlation by @yczhang-nv in #1500
- Preserve workflow state across WebSocket reconnections by @ericevans-nv in #1541
- feat(ci-scripts): utility scripts for license updates and SBOM by @willkill07 in #1548
- Add example of control flow composition with router agent and sequential executor by @thepatrickchin in #1550
- Add support for publishing a NeMo Agent Toolkit workflow as a MCP server via FastMCP3 by @AnuradhaKaruppiah in #1539
- Add dataset store registration and support by @dnandakumar-nv in #1576
- Allow for prompts to be stored in/loaded from files by @pastorsj in #1567
- feat(observability): Cross-Workflow Observability by @willkill07 in #1598
- FastAPI Frontend Refactor with HTTP HITL and OAuth Support by @willkill07 in #1603
- Add support for LangSmith evaluators by @mpenn in #1592
- Add automatic latency sensitivity inference by @dnandakumar-nv in #1618
- RAG Library Mode integration by @ericevans-nv in #1440
- feat: Add HuggingFace Inference API and Embedder providers by @bledden in #1570
- Integrate LangSmith Observability with Evaluation and Optimization by @pastorsj in #1593
- Add experimental nvidia-nat-app Agent Performance Primitives subpackage by @mpenn in #1636
- Add Dynamo Example for Latency Sensitivity Assignment by @dnandakumar-nv in #1634
- Revert unintended changes from PR #1704, preserve nat-ui submodule fix by @ericevans-nv in #1710
🔧 Improvements
- Restore version 1.5 on develop after forward merge by @mnajafian-nv in #1324
- Forward-merge release/1.4 into develop (conflict resolution) by @mnajafian-nv in #1394
- Add OAuth2-Protected MCP Calculator Example by @AnuradhaKaruppiah in #1403
- Forward-merge release/1.4 into develop by @mnajafian-nv in #1453
- Merge release/1.4 into develop by @willkill07 in #1459
- Add
use_native_tool_callingoption toReActagent by @yczhang-nv in #1476 - Add
raise_on_parsing_failureoption toReActagent by @yczhang-nv in #1477 - Enable per-user workflow support in nat eval by @ericevans-nv in #1503
- feat: make tavily internet search tool configurable by @cdgamarose-nv in #1518
- Update nat-ui submodule to latest main by @ericevans-nv in #1551
- chore(pre-commit): update versions in pre-commit; add root-level
uv.lockcheck by @willkill07 in #1553 - Add a new per-user MCP client tool list endpoint by @AnuradhaKaruppiah in #1561
- Add HTTP retry logic and error resilience for workflow evaluation by @ericevans-nv in #1563
- Fix workflow name regression introduced by custom OTEL span naming by @ericevans-nv in #1572
- Add Support for NVExt Annotations and Latency Sensitivity for Dynamo by @dnandakumar-nv in #1575
- chore(ci): add stale action for old Issues/PRs by @willkill07 in #1581
- Update dynamo headers to provide raw integer values by default by @dnandakumar-nv in #1583
- Resolve user ID from JWT or nat-session cookie by @AnuradhaKaruppiah in #1584
- Add support for Weave feedback comments by @thepatrickchin in #1586
- chore(llm-providers): Add env
OPENAI_BASE_URLforopenai; unify llm provider configs by @willkill07 in #1577 - HITL prompt timeouts and API error responses by @ericevans-nv in #1591
- Update nat-ui submodule to latest main by @ericevans-nv in #1594
- enh(sbom-licenses): refactor common code; enable multi-version diffs by @willkill07 in #1597
- Populate full connection attributes and payload for HTTP and WebSocket sessions by @ericevans-nv in #1602
- Refactor latency sensitivity to use integers instead of enums. by @dnandakumar-nv in #1601
- chore: update nat-ui submodule by @ericevans-nv in #1606
- Add cache pinning strategy for KV cache with TTL control by @dnandakumar-nv in #1609
- Add type converters for langgraph wrapper
nat serveendpoints by @ericevans-nv in #1610 - Add max_sensitivity for latency-based prioritization by @dnandakumar-nv in #1612
- feat(agent): add token-by-token streaming to tool_calling_agent by @MylesShannon in #1595
- chore(deps): upgrade uv.lock deps prior to release; relax dependencies by @willkill07 in #1621
- Allow running
pytestfrom project root by @dagardner-nv in #1622 - Fix warning messages emitted from
test_per_user_fastapi_integration.pyby @dagardner-nv in #1624 - feature: dynamo integration with nat profiler and prometheus/grafana dashboard by @bbednarski9 in #1486
- Remove
ci/release/update_toml_dep.pyscript by @dagardner-nv in #1646 - CI fix: exclude CHANGELOG.md from pre-commit checks by @bbednarski...
v1.4.1
What's Changed
🐛 Bug Fixes
- fix(serve): ensure a single event loop for python 3.11 by @willkill07 in #1558
📚 Documentation
- Document new
nat serveCLI flags by @dagardner-nv in #1562
Full Changelog: v1.4.0...v1.4.1
v1.4.0
🚀 Notable Features and Improvements
- LangGraph Agent Automatic Wrapper: Easily onboard existing LangGraph agents to NeMo Agent Toolkit. Use the automatic wrapper to access NeMo Agent Toolkit advanced features with very little modification of LangGraph agents.
- Automatic Reinforcement Learning (RL): Improve your agent quality by fine-tuning open LLMs to better understand your agent's workflows, tools, and prompts. Perform GRPO with OpenPipe ART or DPO with NeMo Customizer using NeMo Agent Toolkit built-in evaluation system as a verifier.
- Initial NVIDIA Dynamo Integration: Accelerate end-to-end deployment of agentic workflows with initial Dynamo support. Utilize the new agent-aware router to improve worker latency by predicting future agent behavior.
- A2A Support: Build teams of distributed agents using the A2A protocol.
- Safety and Security Engine: Strengthen safety and security workflows by simulating scenario-based attacks, profiling risk, running guardrail-ready evaluations, and applying defenses with red teaming. Validate defenses, profile risk, monitor behavior, and harden agents across any framework.
- Amazon Bedrock AgentCore and Strands Agents Support: Build agents using Strands Agents framework and deploy them securely on Amazon Bedrock AgentCore runtime.
- Microsoft AutoGen Support: Build agents using the Microsoft AutoGen framework.
- Per-User Functions: Use per-user functions for deferred instantiation, enabling per-user stateful functions, per-user resources, and other features.
🚨 Breaking Changes
- Update weave trace identifiers by @dagardner-nv in #1055
- feat: switch calculator functions to a single function group by @willkill07 in #954
- Use Pydantic
SecretStrfields for all sensitive values by @dagardner-nv in #1123 - Migrate Zep Cloud integration from v2 to v3 API by @jackaldenryan in #1122
- feat!(llm): exclude unset fields in model dump for all LLMs and Embedders by @willkill07 in #1143
- Documentation Restructure by @dagardner-nv in #1231
- Implement Per-User Function Instantiation by @yczhang-nv in #1206
- Remove
default_user_idfromGeneralConfigto prevent unsafe per-user workflow sharing by @yczhang-nv in #1282 - chore: update dependency package versions for 1.4 by @willkill07 in #1316
- improvement: change Function Group separator to
__by @willkill07 in #1328 - Refactor MCP Frontend: Move to nvidia-nat-mcp package by @AnuradhaKaruppiah in #1332
- chore: update
nvidia-nat-alland add documentation by @willkill07 in #1340
✨ New Features
- Add DBNL Telemetry Exporter by @dbnl-renaud in #1111
- Add default Phoenix session tracking support by @ericevans-nv in #1132
- Add support for workflow configuration inheritance by @thepatrickchin in #1152
- Add
Middlewareand native support forFunctionMiddlewarefor all functions by @dnandakumar-nv in #1130 - Add support for a customizable MCP service account auth provider by @AnuradhaKaruppiah in #1176
- Introduce vanna text2sql by @jiaxiangr in #974
- Strands integration by @ronjer30 in #1063
- NAT A2A Client & Server Support by @AnuradhaKaruppiah in #1147
- Introduce Finetuning Harness for In-Situ Reinforcement Learning of Agentic Workflows by @dnandakumar-nv in #1221
- Add Support for NeMo Customizer to Finetuning Harness by @dnandakumar-nv in #1241
- Register per-user
ReActagent by @yczhang-nv in #1274 - dynamo llm integration with examples, analysis, and custom predictive routers by @bbednarski9 in #1242
- Add a bridge between NAT and A2A auth mechanisms by @AnuradhaKaruppiah in #1232
- Migrate the a2a client implementation to per-user mode by @AnuradhaKaruppiah in #1281
- Add weave feedback integration for chat interactions by @thepatrickchin in #781
- Extend Middleware interface with pre/post invoke hooks and add DynamicFunctionMiddleware by @ericevans-nv in #1216
- Agent Safety And Security Engine by @ericevans-nv in #1262
- Microsoft Autogen Framework Integration [Synopsys] by @bbednarski9 in #1330
- Implement per-user resource usage monitoring endpoint by @yczhang-nv in #1280
- Add automatic wrappers for LangGraph Agents by @mdemoret-nv in #1322
- Make All CLI Commands Plugin-Discoverable by @AnuradhaKaruppiah in #1346
- feat: Add AutoMemoryWrapper agent for automatic memory management by @jackaldenryan in #1137
- Add health endpoint to FastAPI server by @antoniomtz in #1466
🔧 Improvements
- Add a configurable memory profiler for the MCP frontend by @AnuradhaKaruppiah in #961
- Optimize retry logic with memory management improvements by @dnandakumar-nv in #1014
- Refactor to make
model_namean optimizable field across LLMs by @dnandakumar-nv in #1020 - Added new agent and example utilizing the OpenAI Responses API by @dnandakumar-nv in #414
- Include input and output messages in weave observability traces by @thepatrickchin in #1050
- Allow attaching arbitrary attributes to Weave traces by @dagardner-nv in #1057
- feat: nat optimizer support for Optuna GridSearch by @bbednarski9 in #1076
- Lint fixes by @dagardner-nv in #1097
- Make the
run_workflowmethod a part of the core API by @dagardner-nv in #1098 - Support Redis password authentication by @dagardner-nv in #1110
- Update example notebook to use the
run_workflowfunction by @dagardner-nv in #1113 - Add E2E tests for Simple RAG Example by @dagardner-nv in #1114
- Add E2E test for ADK demo example by @dagardner-nv in #1115
- Cleanup E2E tests by @dagardner-nv in #1116
- Update password fields to use Pydantic
SecretStrtype by @dagardner-nv in #1118 - Update fastapi version by @AnuradhaKaruppiah in #1117
- Support custom MCP server implementations by @AnuradhaKaruppiah in #1087
- Add reference to NAT job_id in Weave evaluation attributes by @thepatrickchin in #1140
- Add evaluator reasoning to Weave score logs by @thepatrickchin in #1141
- Add E2E tests for notebook examples by @dagardner-nv in #1128
- Add E2E test for simple auth example by @dagardner-nv in https://github.com/NVIDIA/NeMo-Agent...
v1.3.1
What's Changed
✨ New Features
- feat: Add claude-sonnet-4.5 support by model-gating
top_pby @willkill07 in #1134 - Add support for arbitrary JSON body types in custom routes by @ericevans-nv in #1163
🐛 Bug Fixes
- bug: fix non json serializable objects in config by @bbednarski9 in #1112
- fix ADK demo multi-user session by @antoniomtz in #1120
- Fixes to detect optional parameters in tool conversion used by "nat mcp serve" by @willkill07 in #1133
- Async Chat fixes by @dagardner-nv in #1131
- Fix code concatenation issue with
code_execution_toolwhen using a Piston server by @dagardner-nv in #1154 - Fix documentation version switcher by @willkill07 in #1167
📝 Documentation Updates
- Misc Documentation Fixes by @dagardner-nv in #1136
- Document the need to install
nvidia-nat-testprior to usingToolTestRunnerby @dagardner-nv in #1150 - Update reasoning diagrams by @dagardner-nv in #1153
- Update Quick Start UI documentation by @ericevans-nv in #1156
- Add SECURITY.md document by @dagardner-nv in #1164
- docs: 1.3.1 changelog by @willkill07 in #1166
- Add
security-considerations.mddocument by @dagardner-nv in #1168
Other Changes
- [RELEASE] NeMo-Agent-Toolkit v1.3.1 by @willkill07 in #1169
New Contributors
- @antoniomtz made their first contribution in #1120
Full Changelog: v1.3.0...v1.3.1
v1.3.0
What's Changed
🚀 Notable Features and Improvements
- ADK Support: Supports Google Agent Development Kit (ADK). Adds tool calling, core observability, and LLM integration in this release.
- Control-Flow Agents: Sequential Executor (Linear Agent) and Router Agent now control flow patterns of tool calls and sub-agents.
- Function Groups: Packages multiple related functions together so they share configuration, context, and resources.
- Hyperparameter Agent Optimizer: Automates hyperparameter tuning and prompt engineering for workflows.
- Introductory Notebook Improvements: Reorganizes getting started notebooks and adds Open in Colab links.
- LLM Improvements
- Adds LiteLLM Provider
- Supports GPT-5 (
/chat/completionsendpoint only) - Adds Nemotron thinking configuration
- MCP Improvements
- Supports
streamable-http-sseis no longer the default transport type. - Supports initial authorization - Enables connecting to MCP servers that require authentication.
- Supports multiple MCP tools from a single configuration - Pulls in entire tool sets published by MCP servers or filters them based on user configuration.
- Enhances CLI utilities for MCP servers and clients - Improves the
nat mcpsub command for querying, calling, and listing tools.
- Supports
- Python 3.13 support
🚨 Breaking Changes
- Redis Configuration Changes in @willkill07 in #649
- MCP enhancements: improves server config and adds support for all transport types (stdio, streamable-http) by @AnuradhaKaruppiah in #718
- Move MCP client to a separate sub-package by @AnuradhaKaruppiah in #768
- Signature change for
BaseAgentby @yczhang-nv in #757 - Builtin GitHub tools switched to Function Groups by @willkill07 in #684
- Fix chat history support in tool_calling_agent by @gfreeman-nvidia in #837
- Change
nat mcpto a command group withserveandclientsubcommands by @zhongxuanwang-nv in #811 - Builder
get_*functions should be markedasyncby @willkill07 in #834 - MCP Client Auth Support (part-2) by @AnuradhaKaruppiah in #854
- ReWOO Agent Workflow Refactoring (Dependency DAG for async Executor). by @billxbf in #861
- Reduce phoenix dependencies by @willkill07 in #985
- Remove example with poor performance by @dagardner-nv in #1011
- Deprecate the
WeaveTelemetryExporter.entityfield by @dagardner-nv in #1016 - Syncing UI submodule to bring secure proxy server updates by @ericevans-nv in #1044
✨ New Features
- Add features
nat workflow createa versioned dependency anddataand symlinks folder by @zhongxuanwang-nv in #639 - Feature: Azure OpenAI LLM provider and client by @willkill07 in #643
- Timezone Support for
datetimeTool and Normalize Response Time Handling by @zhongxuanwang-nv in #660 - Feature: GPT-5 Support by @willkill07 in #664
- Customize Log Truncation in Config by @RohanAdwankar in #723
- feat: Support for Nemotron thinking configuration by @willkill07 in #717
- Track agent system prompt in config and add config to skip maintenance check by @hsin-c in #724
- Add
nvidia-nat-data-flywheelsubpackage with NeMo Data Flywheel integrations by @mpenn in #716 - Enhance
ProcessingExportersystem to support redaction of content in telemetry traces by @mpenn in #751 - feat: Python 3.13 support by @willkill07 in #761
- Add test LLM provider to support testing by @zhongxuanwang-nv in #764
- Support additional provider parameters in LLM and Embedder config by @YosiElias in #749
- Add return_direct option to tool_calling_agent for direct tool responses by @thepatrickchin in #775
- Enable MCP auth for NAT MCP clients by @AnuradhaKaruppiah in #752
- Add function group filtering by @willkill07 in #807
- Implement
Sequential Executortool by @yczhang-nv in #806 - Add a /debug route to NAT MCP frontend to expose MCP tools by @zhongxuanwang-nv in #813
- MCP OAuth2 Token Introspection Validator by @ericevans-nv in #809
- [Synopsys] Feature: Google ADK Integration by @saglave in #726
- Add a blueprint for Haystack Deep Research Agent by @oryx1729 in #461
- fix: re-add litellm after accidental removal by @willkill07 in #852
- Add
mcp/client/tool/listendpoint by @yczhang-nv in #853 - feat: LiteLLM support for LangChain/LangGraph, Agno, CrewAI, LlamaIndex by @willkill07 in #881
- Add configurable token storage to MCP auth by @yczhang-nv in #883
- feat: Improve the developer journey for example notebooks by @willkill07 in #912
- feat: Add .env loading support to NAT cli by @willkill07 in #952
- feat: make built-in agents input adaptable by @willkill07 in #959
- UI submodule update 1.3 by @ericevans-nv in #1002
- feat: switch to nemotron reasoning models by @willkill07 in #1036
🔧 Improvements
- Collapse the
docsdependency group into thedevdependencies group by @dagardner-nv in #591 - Forward-merge release/1.2 into develop by @dagardner-nv in #679
- Forward-merge release/1.2 into develop by @dagardner-nv in #690
- Weave: Group workflow traces under the parent evaluation call by @AnuradhaKaruppiah in #663
- Misc release script improvements by @dagardner-nv in #692
- Fix
pytestfixture deprecation warning by @willkill07 in #698 - Adopt ruff in CI by @dagardner-nv in #694
- Upload test results to codecov by @dagardner-nv in #699
- Add Coderabbit config by @dagardner-nv in #710
- Allow custom post-processing of EvalInput after the workflow is run by @AnuradhaKaruppiah in #701
- Adding a Needs Triage label to issues which are created externally by @mdemoret-nv in #700
- Add fixtures allowing e2e tests to be optionally skipped upon missing environment variables by @dagardner-nv in #720
- Enable running e2e tests for nightly CI by @dagardner-nv in #727
- Enable the forward merger plugin of the rapids ops bot by @dagardner-nv in #728
- Ensure error reporting and propagating in a consistent pattern by @yczhang-nv in #722
- Improve input normalization of
ReActagent by @yczhang-nv in #730 - Update version of numpy to be more recent by @zhongxuanwang-nv in #746
- chore: update LangChain and LangGraph versions by @Willki...
v1.2.1
📦 Overview
This is a documentation only release, there are no code changes in this release.
📜 Full Change Log
- Add a version switcher to the documentation builds by @dagardner-nv in #681
- Add link to GitHub repository from documentation by @dagardner-nv in #687
Full Changelog: v1.2.0...v1.2.1
v1.2.0
📦 Overview
The NeMo Agent toolkit, formerly known as Agent Intelligence (AIQ) toolkit, has been renamed to align with the NVIDIA NeMo family of products. This release brings significant new capabilities and improvements across authentication, resource management, observability, and developer experience. The toolkit continues to offer backwards compatibility, making the transition seamless for existing users.
While NeMo Agent Toolkit is designed to be compatible with the previous version, users are encouraged to update their code to follow the latest conventions and best practices. Migration instructions are provided in the migration guide.
🚨 Breaking Changes
- Remove outdated/unsupported devcontainer by @dagardner-nv in #626
- Rename
aiqnamespace tonatby @dagardner-nv in #618 - Update
AIQtoNATin documentation and comments by @yczhang-nv in #614 - Remove
AIQprefix from class and function names by @dagardner-nv in #606 - Rename aiqtoolkit packages to nvidia-nat by @dagardner-nv in #598
- Observability redesign to reduce dependencies and improve flexibility by @mpenn in #379
🚀 Notable Features and Improvements
- Authentication for Tool Calling: Implement robust authentication mechanisms that enable secure and configurable access management for tool invocation within agent workflows.
- Test Time Compute: Dynamically reallocate compute resources after model training, allowing agents to optimize reasoning, factual accuracy, and system robustness without retraining the base model.
- Sizing Calculator: Estimate GPU cluster requirements to support your target number of users and desired response times, simplifying deployment planning and scaling.
- Object Store Integration: Connect and manage data through supported object stores, improving agent extensibility and enabling advanced data workflows.
- Enhanced Cursor Rules: Build new workflows or extend existing ones by leveraging cursor rules, making agent development faster and more flexible.
- Interactive Notebooks: Access a suite of onboarding and example notebooks to accelerate agent workflow development, testing, and experimentation.
- Observability Refactor: Onboard new observability and monitoring platforms more easily, and take advantage of improved plug-in architecture for workflow inspection and analysis.
- Examples Reorganization: Organize examples by functionality, making it easier to find and use the examples.
📜 Full Change Log
- Use consistent casing for ReAct agent by @dagardner-nv in #293
- Update alert triage agent's prompt by @hsin-c in #297
- Move Wikipedia search to separate file by @jkornblum-nv in #237
- Release documentation fixes by @dagardner-nv in #300
- Add a
pyproject.tomltosimple_ragexample allowing for declared dependencies by @dagardner-nv in #284 - Update version in develop, in prep for the next release by @AnuradhaKaruppiah in #294
- Add field validation for the evaluate API by @dagardner-nv in #311
- Intermediate steps: evaluation fix by @titericz in #312
- Fix or silence warnings emitted by tests by @dagardner-nv in #305
- Add documentation for
load_workflow()by @yczhang-nv in #306 - Adding pytest-pretty for nice test outputs by @benomahony in #194
- feat(telemetry): add langfuse and langsmith telemetry exporters #233 by @briancaffey in #235
- Check links in markdown files by @dagardner-nv in #323
- Eval doc updates by @AnuradhaKaruppiah in #322
- Add unit tests for the alert triage agent example by @hsin-c in #252
- Add support for AWS Bedrock LLM Provider by @yczhang-nv in #238
- Add missing import in
load_workflowdocumentation by @yczhang-nv in #329 - propose another solution to problem[copy] by @LunaticMaestro in #298
- Support additional_instructions by @gfreeman-nvidia in #302
- Update installing.md by @manny-pi in #316
- Add an async version of the /generate endpoint by @dagardner-nv in #315
- Update trajectory eval documentation by @hsin-c in #338
- Rename test mode to offline mode by @hsin-c in #343
- Simplify offline mode with
aiq evalby @hsin-c in #344 - fix mcp client schema creation in flat lists by @slopp in #346
- Refactor for better prompt and tool description organization by @hsin-c in #350
- Extend
IntermediateStepto support tool schemas in tool calling LLM requests by @mpenn in #357 - Fix AttributeError bug for otel_telemetry_exporter by @ZhongxuanWang in #335
- Update
OpenAIModelConfigto supportstream_usageoption by @mdemoret-nv in #328 - Rename to NeMo Agent toolkit by @dagardner-nv in #359
- fix(phoenix): set project name when using phoenix telemetry exporter (#337) by @briancaffey in #347
- Account for the "required fields" list in the mcp_input_schema by @AnuradhaKaruppiah in #360
- Provide a config to pass the complete dataset entry as an EvalInputItem field to evaluators by @AnuradhaKaruppiah in #355
- Simplify custom evaluator definition by @AnuradhaKaruppiah in #358
- Add Patronus OTEL Exporter by @hersheybar in #341
- Expand Alert Triage Agent Offline Dataset by @hsin-c in #369
- Add Custom Classification Accuracy Evaluator for the Alert Triage Agent by @hsin-c in #373
- Add
Cursor rulesto improve Cursor support for development by @yczhang-nv in #319 - Added LLM retry logic to handle rate limiting LLM without frequent Exception by @liamy-nv in #368
- Fixes Function and LambdaFunction classes to push active function instance names by @mpenn in #374
- TunableRagEvaluator: Re-enable inheriting from the base abc by @AnuradhaKaruppiah in #375
- Add Job ID Appending to Output Directories and Maximum Folders Threshold by @ZhongxuanWang in #331
- Add support for custom functions in bottleneck analysis by @dnandakumar-nv in #380
- Persist chat conversation ID for workflow tool usage by @ericevans-nv in #326
- Add support for Weave evaluation by @ayulockin in #264
- Update the information displayed in the Weave Eval dashboard by @AnuradhaKaruppiah in #390
- Allow non-json string outputs for workflows that use unstructured datasets by @AnuradhaKaruppiah in #396
- Add aws region config for s3 eval uploads by @munjalp6 in #397
- add support for union types in mcp client by @cheese-head in #372
- Add percentile computation (p90, p95, p99) to profiling by @dnandakumar-nv in https://github.com/NVIDIA/NeMo-Agent-Toolkit/pull...
v1.1.0
Key Features
- Full Model Context Protocol (MCP) support. Workflows/tools can now be exposed as MCP servers.
- Deep integration with Weights and Biases’ Weave for logging and tracing support.
- Addition of the Agno LLM framework.
- A new ReWOO agent which improves on ReAct by removing the tool output from the LLM context, reducing token counts.
- A new Alert Triage Agent example which demonstrates how to build a full application with AIQ toolkit to automatically analyze system monitoring alerts, performs diagnostic checks using various tools, and generates structured triage reports with root cause categorization.
- Support for Python 3.11.
- Various quality of life improvements.
What's Changed
- Add subpackage readmes redirecting to the main package by @AnuradhaKaruppiah in #20
- Update README.md by @gzitzlsb-nv in #25
- Fix #27 Documentation fix by @atalhens in #28
- Fix #29 - Simple_calculator example throws error - list index out of range when given subtraction by @atalhens in #31
- Fix: #32 Recursion Issue by @atalhens in #33
- "Sharing NVIDIA AgentIQ Components" docs typo fix by @avoroshilov in #42
- First pass at setting up issue templates by @dagardner-nv in #6
- Provide a cleaner progress bar when running evaluators in parallel by @AnuradhaKaruppiah in #38
- Setup GHA CI by @dagardner-nv in #46
- Switch UI submodule to https by @AnuradhaKaruppiah in #53
- gitlab ci pipeline cleanup by @AnuradhaKaruppiah in #54
- Allow str or None for retriever description by @AnuradhaKaruppiah in #55
- Fix case where res['categories'] = None by @balvisio in #22
- Misc CI improvements by @dagardner-nv in #56
- CI Documentation improvements by @dagardner-nv in #24
- Add missing
platformdirsdependency by @yczhang-nv in #62 - Fix
aiqcommand error when the parent directory ofAIQ_CONFIG_DIRdoes not exist by @yczhang-nv in #63 - Fix broken image link in multi_frameworks documentation by @dagardner-nv in #61
- Updating doc string for AIQSessionManager class. by @ericevans-nv in #64
- Fix ragas evaluate unit tests by @AnuradhaKaruppiah in #68
- Normalize Gannt Chart Timestamps in Profiler Nested Stack Analysis by @dnandakumar-nv in #70
- Scripts for running CI locally by @dagardner-nv in #59
- Update types for
topicanddescriptionattributes inAIQRetrieverConfigto allowNoneby @dagardner-nv in #76 - Add support for customizing output and uploading it to remote storage (S3 bucket) by @AnuradhaKaruppiah in #71
- Support ARM in CI by @dagardner-nv in #73
- Allow overriding configuration values not set in the YAML by @dagardner-nv in #85
- Fix bug where
--workersflag was being ignored by @dagardner-nv in #88 - Adding Cors config for api server by @ericevans-nv in #89
- Update changelog for 1.1.0a1 alpha release by @AnuradhaKaruppiah in #90
- Merge develop to main for v1.1.0a1 by @AnuradhaKaruppiah in #92
- Updated changelog with another bug fix by @AnuradhaKaruppiah in #93
- Updated changelog with another bug fix (#93) by @AnuradhaKaruppiah in #94
- Adjust how the base_sha is passed into the workflow by @dagardner-nv in #81
- Changes for evaluating remote workflows by @AnuradhaKaruppiah in #57
- Fix a bug in our pytest plugin causing test coverage to be under-reported by @dagardner-nv in #105
- Docker container for AgentIQ by @dagardner-nv in #87
- Modify JSON serialization to handle non-serializable objects by @dnandakumar-nv in #106
- Upload nightly builds and release builds to pypi by @dagardner-nv in #112
- Ensure the nightly builds have a unique alpha version number by @dagardner-nv in #115
- Ensure tags are fetched prior to determining the version by @dagardner-nv in #116
- Fix CI variable value by @dagardner-nv in #117
- Use setuptools_scm environment variables to set the version by @dagardner-nv in #118
- Only set the setuptools_scm variable when performing a nightly build by @dagardner-nv in #119
- Add a release PR template by @dagardner-nv in #123
- Add an async /evaluate endpoint to trigger evaluation jobs on a remote cluster by @AnuradhaKaruppiah in #109
- Update /evaluate endpoint doc by @AnuradhaKaruppiah in #126
- Add function tracking decorator and update IntermediateStep by @dnandakumar-nv in #98
- Fix typo in aiq.profiler.decorators by @dnandakumar-nv in #132
- Update the start command to use
validate_schemaby @dagardner-nv in #82 - Document using local/self-hosted models by @dagardner-nv in #101
- added Agno integration by @wenqiglantz in #36
- MCP Front-End Implementation by @VictorYudin in #133
- Make kwargs optional to the eval output customizer scripts by @AnuradhaKaruppiah in #139
- Add an example that shows simple_calculator running with a MCP service. by @AnuradhaKaruppiah in #131
- add
gitdiagramto README by @yczhang-nv in #141 - Updating HITL reference guide to instruct users to toggle ws mode and… by @ericevans-nv in #142
- Add override option to the eval CLI command by @Hritik003 in #129
- Implement ReWOO Agent by @yczhang-nv in #75
- Fix type hints and docstrings for
ModelTrainerby @dagardner-nv in #107 - Delete workflow confirmation check in CLI - #114 by @atalhens in #137
- Improve Agent logging by @yczhang-nv in #136
- Add nicer error message for agents without tools by @jkornblum-nv in #146
- Add
coloramato core dependency by @yczhang-nv in #149 - Rename packages agentiq -> aiqtoolkit by @dagardner-nv in #152
- Rename AIQ_COMPONENT_NAME, remove unused COMPONENT_NAME by @dagardner-nv in #153
- Group wheels under a common
aiqtoolkitdirectory by @dagardner-nv in #154 - Fix wheel upload wildcards by @dagardner-nv in #155
- Support Python
3.11for AgentIQ by @yczhang-nv in #148 - fix pydantic version incompatibility, closes #74 by @zac-wang-nv in #159
- Rename AgentIQ to Agent Intelligence Toolkit by @dagardner-nv in #160
- Create config file symlink with
aiq workflow createcommand by @mpenn in #166 - Rename generate/stream/full to generate/full and add filter_steps parameter by @AnuradhaKaruppiah in #164
- Add support for environment variable interpolation in config files by @mpenn in #157
- UI submodule rename by @AnuradhaKaruppiah in #168
- Consistent Trace Nesting in Parallel Function Calling by @dnandakumar-nv in #162
- Fix broken links in examples documentation by @dagardner-nv in #177
- Remove support for Python
3.13by @yczhang-nv in htt...