Migration Guide#

NeMo Agent toolkit is designed to be backwards compatible with the previous version of the toolkit except for changes documented on this page.

Additionally, all new contributions should rely on the most recent version of the toolkit and not rely on any deprecated functionality.

Migrating to a new version of NeMo Agent toolkit#

It is strongly encouraged to migrate any existing code to the latest conventions and remove any deprecated functionality.

Version Specific Changes#

v1.3.0#

CLI Changes#

The MCP server CLI commands have been restructured.

  • nat mcp is now a command group and can no longer be used to start the MCP server.

  • nat mcp serve is now the main command to start the MCP server.

  • nat info mcp has been removed. Use the new nat mcp client command instead.

Listing MCP Tools:

# Old (v1.2)
nat info mcp
nat info mcp --tool tool_name

# New (v1.3)
nat mcp client tool list
nat mcp client tool list --tool tool_name

Pinging MCP Server:

# Old (v1.2)
nat info mcp ping --url http://localhost:9901/sse

# New (v1.3)
nat mcp client ping --url http://localhost:9901/mcp

API Changes#

API Server Data Models#

The nat.data_models.api_server module has been updated to improve type safety and OpenAI API compatibility.

Builder get_* methods switched to asynchronous#

The following builder methods have been switched to asynchronous to be aligned with other builder methods.

  • nat.builder.Builder.get_function() is now marked as async

  • nat.builder.Builder.get_functions() is now marked as async

  • nat.builder.Builder.get_memory_client() is now marked as async

  • nat.builder.Builder.get_memory_clients() is now marked as async

  • nat.builder.Builder.get_tool() is now marked as async

  • nat.builder.Builder.get_tools() is now marked as async

Migration example:

# Old (v1.2)
function = builder.get_function("my_function")

# New (v1.3)
function = await builder.get_function("my_function")
MCP Default Transport Changed#
  • v1.2: Used SSE transport at http://localhost:9901/sse

  • v1.3: Uses streamable-http transport at http://localhost:9901/mcp

To use SSE transport for backward compatibility:

nat mcp serve --config_file config.yml --transport sse

Warning

SSE transport does not support authentication. For production deployments, use streamable-http transport with authentication configured.

Package Changes#

Core MCP functionality has been moved to the nvidia-nat-mcp package.

If you are using MCP functionality, you will need to install the nvidia-nat[mcp] extra.

Package Dependency Updates#

The following dependency updates may affect your workflows:

  • mcp updated from ~1.10 to ~1.13 - Update your MCP server configurations if needed

  • uvicorn limited to <0.36 for nest_asyncio compatibility

  • langchain-core updated to ~0.3.75 - Review any custom LangChain workflows for compatibility

  • langgraph updated to ~0.6.7 - Review any custom LangGraph workflows for compatibility

  • crewai updated to ~0.193.2 - Review any custom CrewAI workflows for compatibility

  • semantic-kernel updated to ~1.35 - Review any custom Semantic Kernel workflows for compatibility

Deprecations#

Warning

The following features are deprecated and will be removed in a future release.

  • nat.telemetry_exporters.weave.WeaveTelemetryExporter.entity - The entity field is deprecated. Remove this field from your Weave exporter configuration.

  • use_uvloop configuration option - This setting in the general section of the config is deprecated. Remove this option from your workflow configurations.

v1.2.0#

Package Changes#

  • The aiqtoolkit package has been renamed to nvidia-nat.

Warning

aiqtoolkit will be removed in a future release and is published as a transitional package.

Module Changes#

  • The aiq module has been deprecated. Use nat instead.

Warning

aiq will be removed in a future release.

CLI Changes#

  • The aiq command has been deprecated. Use nat instead.

Warning

The aiq command will be removed in a future release.

API Changes#

Note

Compatibility aliases are in place to ensure backwards compatibility, however it is strongly encouraged to migrate to the new names.

v1.1.0#

Package Changes#

  • The agentiq package has been renamed to aiqtoolkit.

Warning

agentiq will be removed in a future release and is published as a transitional package.