Release Notes for NVIDIA NeMo Relay

View as Markdown

This page contains the release notes for NVIDIA NeMo Relay.

Release 0.6

NVIDIA NeMo Relay 0.6 strengthens local coding-agent observability, event sanitization, observability exports, and dynamic plugin lifecycle management.

Highlights

  • Coding agents now connect through nemo-relay mcp, which starts or adopts a shared authenticated gateway before hooks or routed provider traffic arrive. Codex, Claude Code, and Hermes clients can share the gateway and coordinate recovery before idle shutdown.
  • Relay adds global, scope-local, and plugin-installed sanitizers for mark, scope-start, and scope-end events. The PII redaction plugin now supports ordered, composable profiles and the opt-in trajectory_context preset.
  • ATOF configuration version 2 supports multiple independently configured file and stream sinks. OpenTelemetry and OpenInference now use typed attributes, and trace exporters can project selected marks as tool spans.
  • Rust, Python, and Node.js embedding hosts can own native and worker dynamic plugin lifecycles. Experimental Go and C entry points expose the same source-first lifecycle.
  • The coding-agent gateway supports lossless request annotations for Anthropic Messages, OpenAI Chat Completions, and OpenAI Responses generation routes.
  • The CLI adds recursive plugin configuration editing and configurable human-readable or JSONL operational logging.
  • The opt-in Switchyard integration can validate and route buffered or streaming provider requests through a separately managed Decision API.

Support Matrix and Compatibility Updates

The Support Matrix is the canonical reference for supported platforms and architectures, worker runtimes, coding agents, and integrations. It also records current limitations, including platform-specific worker requirements.

This release requires migration work for persistent coding-agent installations, ATOF configuration, typed observability attributes, annotated-request plugin consumers, and managed LLM streams. Refer to the Migration Guides for upgrade actions from 0.5 to 0.6.

Fixed Known Issues in 0.6

  • Coding-agent gateway generation routes now decode request annotations for Anthropic Messages, OpenAI Chat Completions, and OpenAI Responses while preserving unchanged nested fields, explicit nulls, and provider representations.
  • Installed coding-agent sessions now acquire the shared gateway through MCP before hooks or routed provider traffic, preventing cold-start loss and coordinating concurrent startup and recovery.
  • Transparent Codex routing now recognizes at-... access tokens and sends them to the ChatGPT Codex backend without rewriting unrelated bearer tokens or provider API keys.
  • Relay now asks Codex to prefer the readable legacy multi-agent path during managed runs and restores the user’s prior setting during uninstall.
  • ATIF now reports the normalized provider response model when a routed or translated call runs on a model that differs from the request.
  • The NeMo Flow migration skill now skips credential-bearing dotenv files and symbolic links, requires exact project-root confirmation, and refuses write mode for filesystem roots and home directories.

Known Issues in 0.6

  • Go and the raw C FFI remain experimental and source-first. Generated API pages focus on Rust, Python, and Node.js.
  • Local coding-agent observability depends on host hooks and provider traffic reaching the local gateway. Relay cannot fully capture remote or cloud execution that bypasses the local host.
  • Persistent Codex, Claude Code, and Hermes integrations use user-scoped configuration and a shared loopback gateway. Use nemo-relay run when a launch must retain project-specific configuration.
  • On Windows, a restrictive host Job Object can limit gateway reuse or prevent persistent bootstrap. Codex can also make a cold-start /models request before required MCP servers start; Relay retries the request.
  • Codex 0.143 does not expose SessionEnd, and Codex multi-agent v2 encrypts delegated-task payloads that Relay cannot decrypt or reliably link.
  • The Node.js binding and package workflows require Node.js 24 or later.
  • Switchyard is experimental, excluded from default CLI builds, and requires a separately managed compatible service and a named authenticated ATOF HTTP stream sink.
  • OpenClaw has public hook-backed telemetry. Its security and optimization coverage is partial because it does not own a managed execution path.
  • The NeMo Guardrails remote backend inherits its configured service’s availability, latency, and policy behavior. The local backend requires Python 3.11 or later and nemoguardrails==0.22.0.
  • The PII redaction plugin currently supports its deterministic local backend; local-model backend configuration is reserved for future work.
  • Pricing and optimization estimates depend on model names, token data, pricing sources, and freshness evidence. Missing or inconsistent evidence produces partial or absent cost fields rather than zero values.
  • ATOF stream sinks and remote ATIF storage require reachable, correctly configured destinations. A failed stream sink does not stop file output or other active sinks.
  • ATIF omits point-in-time marks. Use ATOF for the canonical mark stream; OpenTelemetry and OpenInference tool-style mark projection is only a visualization aid.
  • Native dynamic plugins run in the Relay process and are not sandboxed. A grpc-v1 worker runs in a separate process, but that process is not a security sandbox.
  • Treat Python LLMRequest objects as immutable. Request middleware that changes content must return a new request object.
  • Native subscriber callbacks arrive asynchronously. Flush subscribers before depending on their side effects, captured events, files, or exporter output.
  • Operational logging configuration and sink lifecycle are available, but broad operational log coverage across commands is not yet available.

Previous Releases

For previous release notes, release artifacts, and the complete PR-by-PR history, refer to GitHub Releases.