> This page is for version 0.6.0.
> For other versions, use one of these documentation indexes:
> - Main (default): https://docs.nvidia.com/nemo/gym/main/llms.txt
> - 0.7.0: https://docs.nvidia.com/nemo/gym/v0.7.0/llms.txt
> - 0.6.0: https://docs.nvidia.com/nemo/gym/v0.6.0/llms.txt
> - 0.5.1: https://docs.nvidia.com/nemo/gym/v0.5.1/llms.txt
> - 0.5.0: https://docs.nvidia.com/nemo/gym/v0.5.0/llms.txt
> - 0.4.0: https://docs.nvidia.com/nemo/gym/v0.4.0/llms.txt
> - 0.3.0: https://docs.nvidia.com/nemo/gym/v0.3.0/llms.txt
> - 0.2.1: https://docs.nvidia.com/nemo/gym/v0.2.1/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/gym/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/gym/_mcp/server.

# Release Notes

#### v0.6.0

### Release Summary

NeMo Gym v0.6.0 lets you use external agent harnesses during RL training and adds Switchyard for evaluating model-routing strategies.

Highlights:

* Use supported external agent harnesses during RL training; NeMo Gym preserves each model call's token IDs and reconstructs the multi-step run as one training response
* Run routing-aware evaluations with Switchyard by comparing fixed and routed conditions on the same benchmark
* Trust and debug rollouts with automatic health checks, end-to-end traces, and per-agent token, turn, tool-call, and latency diagnostics
* Evaluate and compare multiple agents and datasets in one run, with task-level routing to the appropriate harness
* Submit eval jobs to a Slurm cluster directly from NeMo Gym, scaling vLLM across GPUs or nodes for higher rollout concurrency

### First-Time Contributors

We welcomed **19 new contributors** to NeMo Gym with this release:

* **@giuliolovisotto** added automatic rollout health checks and documented how to diagnose rollout quality
* **@mlazuka** added per-rollout and per-run aggregate observability metrics
* **@imxj** added the LiteLLM model server
* **@max-sudolabs** added the E2B sandbox provider
* **@aroshanghias-nvd** added a simple agent with configurable context-compaction policies
* **@ehosseiniasl** added video input support to the vLLM model server
* **@adv-andrew** added the synthetic OpenAir 5G congestion-control environment
* **@knayaka** added the Citation IF instruction-following benchmark
* **@nickson-quak** added a social-bias evaluation environment that separately scores answer correctness and whether explanations rely on stereotypes
* **@gnalbandyan** added the multimodal HLE vision benchmark
* **@michal2409** improved OpenHands reliability and generation-limit handling for SWE agents

Thank you to all **64 NeMo Gym contributors** this cycle, including 19 first-time contributors!

### Configure Tasks and Data

* Resources servers can declare their datasets, and `gym dataset collate` records each row's `task_source` so NeMo Gym can select the correct agent at run time
* Use `agent_map` to reroute selected tasks or fan-out to run the same tasks with multiple agents; invalid agent mappings fail before execution
* Each resources server defines a typed `task_data` schema. Collation validates rows before a run, and `gym env schema --resources-server <name>` shows the expected data shape

### Configure Agent Harnesses

* Use `--agent-type` to swap a benchmark or environment's configured harness, with compatibility checks for unsupported pairings
* **OpenCode Sandboxed Agent** runs OpenCode inside task-specific NeMo Gym sandboxes, with configurations for SWE-Bench Verified and Multilingual, DeepSWE, and Terminal-Bench 2.1
* **Cline Agent** runs the Cline CLI headlessly and converts its tool-use trace into a NeMo Gym trajectory; this initial integration is evaluation-only
* **Conversational Tool Use workflow** adds three agents that generate customer-service domains, policies, tools, and scenarios, plus a policy-loop agent and resources server that simulate and score multi-turn customer and tool interactions
* **OSWorld Agent** runs OSWorld desktop tasks end to end, executes model-generated GUI actions, and returns NeMo Gym trajectories with OSWorld rewards
* **Prime Agent** runs Prime Intellect's agent headlessly through NeMo Gym, with included math and Reasoning Gym environments
* **Simple Strands Agent** wraps the Simple Strands Resolver agent with configurable local tools; included environments cover math and Reasoning Gym
* **Terminus-2 Agent** runs Harbor's terminal-command agent through NeMo Gym, with AnyTerminal integration and support for other terminal-compatible resources servers
* **Simple Agent with Compaction** applies configurable history policies before each model call, including policies that omit older image observations or reasoning blocks
* **Image Tools Agent** lets models iteratively transform and inspect images, scores their image-tool calls, and delegates final-answer verification to the mapped environment
* **Verified Code QA (VCQA) Agent** gives models read-only repository snapshots or Git histories to investigate with file, search, and shell tools, then scores answers against a rubric with an LLM judge
* **OpenClaw with AnyTerminal** runs the evaluation-only OpenClaw harness inside Terminal Bench task containers and scores each run with the task's tests

### Configure Models

* **LiteLLM Model** connects NeMo Gym to providers supported by LiteLLM
* **Switchyard Model** compares model-routing strategies on the same benchmark and records the route and configuration used for reproducible results
* The vLLM model server now supports video inputs
* Use `sampling_overrides` to enforce generation settings when external agent harnesses omit them, preserving on-policy training behavior
* Use `endpoint_file` to update a vLLM backend address without restarting NeMo Gym, with bounded connection retries during endpoint rotation

### Rollout Observability and Export

* Export configs, metrics, and rollouts through a shared exporter framework. MLflow is new; W\&B uses the same path
* Automatic rollout health checks flag missing turns, inconsistent model calls, token-count mismatches, and runaway generation, with structured reports from evaluation and aggregation
* NeMo Lens telemetry traces each rollout across NeMo Gym's agent, model, and resources servers, making latency and failures easier to diagnose
* Rollout diagnostics report token usage, turns, tool calls, and latency, with agent-level traces for OpenClaw, Hermes, Pi, OpenCode, and SWE agents
* Repeated-rollout metrics now include variability and 95% confidence intervals

### Evaluation and Training

* Compatible external agent harnesses can produce on-policy training data: NeMo Gym preserves exact token IDs across model calls and rebuilds each multi-step episode as one training response
* Opt in to `route_failures_to_sidecar` to keep an evaluation running when agent calls fail; coverage reporting identifies excluded rollouts, and selected failure classes can instead count as zero
* Trust eval artifacts: automatic health checks catch missing turns, broken model calls, and runaway generation; rollouts record tokens, turns, tool calls, and latency
* Verifiers can return a human-readable `failure_reason` to explain unsuccessful rollouts

### Sandboxing and Orchestration

* **E2B** joins the built-in sandbox providers with template building, command execution, file operations, and lifecycle management
* The OpenSandbox provider adds asynchronous interactive PTY sessions and detached PTY execution for long-running commands
* OpenSandbox adds configurable network policy, run-scoped cleanup, bounded background-status polling, and an OpenSandbox backend for OSWorld
* The Apptainer provider accepts a custom binary path
* Experimental `gym eval submit` runs one or more vLLM instances on a Slurm node or distributes whole replicas across nodes, with configurable environment variables, container mounts, and outputs

### Environments and Benchmarks

* **Software engineering and agentic workflows:** Sandboxed OpenCode configurations for SWE-Bench Verified and Multilingual repository repair, DeepSWE software-engineering tasks, and Terminal-Bench 2.1 terminal tasks; Verified Code QA for repository investigation; OSWorld for desktop automation; and synthetic conversational tool use
* **Finance:** Vals Finance Agent v2 for multi-step financial analysis and local full-text search over SEC filings
* **Long context, knowledge, and reasoning:** LongMemEval for conversational memory, RULER v2 for long-context reasoning, SpartQA for spatial reasoning, and new math and Reasoning Gym pairings across agent harnesses
* **Safety and instruction following:** AgentIF for agentic instruction-following scenarios, Citation IF for citation compliance, and synthetic social-bias questions that separately score answer correctness and whether explanations rely on stereotypes
* **Science and multimodal:** Expanded Litmus ADME drug-discovery profiles, HLE vision for multimodal expert-level questions, image-tool PivotRL verification, and a synthetic OpenAir 5G congestion-control environment
* **Aviary environments:** Standalone entries for scientific data analysis with BixBench-Hypothesis and BixBench, grade-school math with GSM8K, and multi-hop question answering with HotpotQA

See the [Available Environments](https://github.com/NVIDIA-NeMo/Gym#-available-environments) table for the full list.

### Deprecation Notices

* `upload_rollouts_to_wandb` has been renamed to `upload_rollouts` because it now controls rollout uploads to every configured exporter. The old name still works but emits a deprecation warning
* NeMo Gym now requires `openai==2.44.0` instead of `openai<=2.7.2`. A parent environment that forces another version fails configuration by default. Set `allow_openai_version_skew: true` only when intentionally allowing the parent and server environments to use different SDK versions
* `+agent_name=<name>` now sends every row to that agent. Previously, it only applied to rows that did not specify an agent. Use `+agent_map=...` to reroute only selected rows
* Datasets collated before v0.6.0 may contain `agent_ref` without `task_source`. They still run, but this routing format is deprecated; run `gym dataset collate` again or set `agent_map` explicitly
* Because collation now validates task data, malformed or mismatched rows that were previously accepted may fail during preparation. Use `gym env schema --resources-server <name>` to see the expected shape
* Agentic math environments now use harness-first names. Previous environment names, config paths, preparation scripts, and agent references remain supported as deprecated aliases and emit migration warnings:
  * `reasoning_gym_claude_code` → `claude_code_reasoning_gym`
  * `reasoning_gym_hermes` → `hermes_reasoning_gym`
  * `reasoning_gym_orchestrator` → `langgraph_orchestrator_reasoning_gym`
  * `reasoning_gym_parallel_thinking` → `langgraph_parallel_thinking_reasoning_gym`
  * `reasoning_gym_reflection` → `langgraph_reflection_reasoning_gym`
  * `reasoning_gym_rewoo` → `langgraph_rewoo_reasoning_gym`
* The following agent config files were renamed. Previous config paths and `--agent-type` flavors remain supported as deprecated aliases and emit migration warnings:
  * `stirrup_gdpval.yaml` → `stirrup_agent.yaml`
  * `tau2_agent.yaml` → `tau2.yaml`
  * `acereason-math.yaml` → `verifiers_agent.yaml`

### Bug Fixes

* Converting between Responses and Chat Completions now preserves structured tool outputs and reasoning metadata and supports audio, file, custom-tool, and parallel tool-call inputs
* Fixed recursive `config_paths` overrides so nested configurations apply in the intended order
* `gym eval run --split` now fails immediately when no declared dataset matches the requested split
* Dry runs now fail when server environment setup fails and report unresolved configuration values and catalog lookups clearly
* Improved OpenSandbox reliability around authentication, startup races, unavailable backends, out-of-memory failures, and cleanup
* Added support for running Docker sandboxes as a non-root user
* Preserved exact vLLM token metadata instead of re-tokenizing prompts
* Improved SWE agent reliability across OpenHands, OpenCode, and SWE-Bench
* Fresh runs now clear outdated failure reports when reusing an output path
* Fixed AnyTerminal secret redaction so unrelated configuration values are not modified
* OpenClaw now preserves partial execution traces when a run times out

### Documentation

* Added reproducible Nemotron 3.5 Lightning evaluation recipe across agentic, knowledge, reasoning, and science benchmarks
* Added a guide for diagnosing rollout quality with `gym eval health-check`
* Added a tutorial for using external agent harnesses to generate on-policy training rollouts.
* Added a setup guide for the E2B sandbox provider
* Added a guide for running routing-aware evaluations with Switchyard and comparing results across routing conditions
* Added practical guidance for verifying equivalent answers

#### v0.5.1

Patch release focused on security, container reliability, and legal/attribution updates — no breaking changes from v0.5.0.

* **Security**: removed bundled royalty-bearing codec binaries and dependencies flagged in legal review; bumped `orjson`, `msgpack`, and `python-multipart` for CVE remediation
* **Docker**: installed `enroot` and declared a `bash` entrypoint in the Gym container; installed `nvidia-container-toolkit` so enroot's NVIDIA GPU hook works inside the container; documented the pre-built image's `docker run` usage
* **Legal**: expanded `ATTRIBUTIONS.md` to a full 167-package inventory; added the PinchBench modified-component notice and NVIDIA disclaimer
* **Documentation**: fixed stale Python version references (3.12 → 3.13.14) across install and setup guides; cherry-picked the model-call capture guide and tutorial path redirects from v0.5.0

#### v0.5.0

### Release Summary

The NeMo Gym 0.5.0 release expands the sandbox ecosystem to seven providers, adds four new general-purpose agent harnesses (Codex, KiloCode, RemoteAgent, and Any-SWE) bringing the total to 20, adds 21 new benchmarks and environments, and wires rollout observability end-to-end from the model server boundary through agent transcripts.

Highlights:

* Seven sandbox providers: Docker, Daytona, ECS Fargate, Enroot, and OpenShell join OpenSandbox and Apptainer; large-scale OpenSandbox reliability significantly improved
* Four new agent harnesses: Codex CLI, KiloCode, RemoteAgent, and `anyswe_agent`
* Recompute rewards from stored rollouts without re-running inference with `gym eval reverify`
* Rollout observability joined end-to-end: model-call capture, agent observations, and a standardized `ng_trajectory` schema
* 21 new environments across six domains: Agentic, Knowledge and instruction following, Long context, Science and coding, Translation and multilingual, and Reasoning

### First-Time Contributors

We welcomed 22 new contributors to NeMo Gym with this release:

* **@mpatel31415** added `gym eval reverify` command and `--judge-failed-only` flag for recovering failed judge rows
* **@Glorf** added per-rollout model-call capture, Docker and ECS Fargate sandbox providers, rollout observation contract, Claude Code rollout observations, and standardized `ng_trajectory` schema
* **@nblintao** added per-request policy endpoint override for the SWE agents, enabling RL training frameworks to route each episode through a per-episode recording proxy
* **@JeffPengCoder** brought OSWorld — a stateful desktop GUI benchmark — into the benchmark catalog
* **@rystewart-nvidia** added the Legal Agent Bench integration, exposing Harvey's 1,749-task LAB benchmark through standard Gym eval commands
* **@fallintoplace** fixed the long-standing disagreement between runtime aggregate metrics and the persisted `output.jsonl`
* **@jonathanlli** added RULER pretrain evaluation, enabling text-completion scoring for base and midtraining checkpoints
* **@thompsonb** overhauled WMT24++ and FLORES translation evaluation (55 locales, 219 language pairs, chrF/spBLEU scoring); expanded MMLU-ProX to 29 languages
* **@hkumar92** added the PinchBench agentic benchmark
* **@pachmu** added ToolSandbox, IHEval, RoleMRC, and RAGTruth benchmarks

Thank you to all 57 NeMo Gym contributors this cycle, including 22 first-time contributors!

### Command Line Interface

* **`gym eval reverify`** — re-run only the verifier on stored rollouts; `--judge-failed-only` recovers rows that failed due to a flaky judge without re-verifying successful rollouts
* `gym list` and `gym search` extended to cover models, resources-servers, and agents; `gym list <type> <name>` drills into a single artifact
* External plugins discoverable via `--search-dir` and environment variables; `-v/--verbose` now accepted before any subcommand

### Sandboxing

Five new built-in providers: **Docker**, **Daytona**, **ECS Fargate**, **Enroot**, and **OpenShell** join OpenSandbox and Apptainer. Provider choice is a one-line config swap — any agent built on `nemo_gym.sandbox` works with any provider unchanged.

OpenSandbox reliability at scale is significantly improved: keepalive-bounded transport eliminates silent rollout zeroing at concurrency 300–1500; image registry auth supports private container images; sandbox resources are automatically labeled with team, user, and workload identifiers.

See [Available Sandbox Providers](/nemo-gym/nemo_gym/sandbox/providers) for the full list.

### Configure Agent Harnesses

New harnesses join the existing set (Claude Code, Hermes, mini-SWE-Agent, OpenClaw, Pi, and more):

* **Codex** and **KiloCode** integrate `codex exec` and `kilo run` respectively, routing model calls through Gym for per-rollout capture
* **`anyswe_agent`** runs any Gym harness inside a SWE task container
* **`swe_agents`** adds OpenCode as a supported agent framework alongside OpenHands, with DeepSWE and DeNovoSWE dataset support and message replay for trajectory branching
* **RemoteAgent** drives any external service that implements `POST /v1/responses`, with Gym owning the tool loop and verification

### Configure Models

* vLLM can now drive `/v1/completions` for base and pretrain checkpoint evaluation via opt-in `use_completions_api`
* All Gym model servers now accept `stream: true` on `/v1/chat/completions` via synthesized SSE, unblocking streaming-first clients such as OpenClaw and Codex
* Add `expose_tools_over_mcp: true` to any resources server config to serve its tools over MCP with no handler code changes

### Rollout Observability

* Per-rollout model-call capture records requests, responses, token usage, and latency at the model server boundary
* Claude Code transcripts populate `ng_agent_observations`; agent observations and model-call capture are joined through a standardized `ng_trajectory` schema
* Judge failures are routed to a `_failures.jsonl` sidecar, keeping aggregate metrics over successfully-judged rows only

### New Benchmarks and Environments

21 new environments across six domains:

* **Agentic:** PinchBench (147 real-world tasks), OSWorld (desktop GUI with VM-backed evaluation), Legal Agent Bench (1,749 Harvey LAB tasks), ToolSandbox (Apple multi-turn tool-use), BrowseComp (web research), BioMNIBench DA, Tau3 banking (BM25+grep offline eval path)
* **Knowledge and instruction following:** SECQUE, FinanceBench, Finance SEC Search, IHEval (instruction hierarchy, rule-based), Litmus-Bench v0.1, RoleMRC (role-play MRC), RAGTruth (hallucination detection)
* **Long context:** NIAH (retrieval with overlap penalty)
* **Science and coding:** CVDP Agentic (expanded to support the agentic subset, harness-agnostic)
* **Translation and multilingual:** WMT24++ (expanded from 5 to 55 locales), FLORES (expanded from 30 to 219 language pairs, chrF/spBLEU scoring), MMLU-ProX (expanded to 29 languages); RULER now supports pretrain text-completion evaluation
* **Reasoning:** ReasoningGym environments — six agentic variants: Claude Code, Hermes, and four LangGraph-based variants (orchestrator, reflection, parallel thinking, and ReWOO)

See the [Available Environments](https://github.com/NVIDIA-NeMo/Gym#-available-environments) table for the full list.

### Deprecation Notices

* WMT24++ and FLORES scores from prior versions are not comparable with this version's chrF/spBLEU output
* Python 3.13.14 is now required (previously 3.12); users running Gym in Python 3.12 environments must upgrade

### Bug Fixes

* SciCode realigned to the AA 65-problem test set with per-rollout subtask accuracy reporting
* Fixed silent rollout zeros at high concurrency against OpenSandbox (keepalive-bounded transport)
* Fixed frozen rollouts in long-running benchmarks (TCP keepalive on global aiohttp connector)
* Fixed `gym eval run` failing with `FileNotFoundError` when the output directory did not exist
* Fixed `tool_choice` sent to vLLM without `tools`, causing request rejection
* Fixed Claude Code `max_turns` hardcoded to 30; `max_turns: null` now removes the cap
* Fixed Apptainer sandbox env vars injected into subprocess argv instead of environment
* Fixed MCQA answer parsing for wrapped formats (`$D$`, `(D)`, `\boxed{\text{Answer: G}}`)
* Fixed aggregate metrics including non-persisted rollouts, causing disagreement with `output.jsonl`

### Documentation

* Rewrote the key terminology glossary with a Gym overview, component map, and links to how-to pages
* New page documenting the Anthropic Messages dialect (`POST /v1/messages`) and wiring Claude Code through a Gym model server
* Updated NeMo RL v0.7.0 compatibility guidance
* Migrated all remaining docs examples from legacy `ng_run`/`ng_collect_rollouts` to the unified `gym` CLI
* Documented `gym list` and `gym search` extensions, external plugin discovery, and MCP auto-exposure
* Added `gym eval reverify` and multi-reward verification contract documentation

### Release Assets

[GitHub Release v0.5.0](https://github.com/NVIDIA-NeMo/Gym/releases/tag/v0.5.0)

#### v0.4.0

### Release Summary

NeMo Gym v0.4.0 expands evaluation tooling and agent integrations. It establishes a new monthly release cadence; we will continue to provide day-zero support for Nemotron models, datasets, and environments.

Highlights:

* Unified `gym` CLI: find agents and benchmarks by name with `gym list`, and catch config mistakes early with `gym env validate`
* Diagnose evaluations with BLADE, an analysis skill for agents that reads your evaluation results and produces an evidence-backed report of which tasks failed, why, and the highest-impact fix (e.g. to the agent harness, training, verifier, or prompt)
* Measure the impact of agent skills: run the same tasks with different skill sets and compare how each changes agent performance
* Run agents in isolated sandboxes through a new pluggable provider framework
* More agent harnesses out of the box, including OpenClaw, Pi, and OpenCode
* Connect to hosted inference providers: Fireworks, Together.ai, OpenRouter, and more
* New benchmarks across science, long-context, and interactive tasks

### First-Time Contributors

We welcomed 20+ new contributors to this release! A few highlights:

* **@marta-sd** and **@wprazuch** led the CLI refactor and clearer config errors
* **@hemildesai** added the pluggable sandbox provider infrastructure and OpenSandbox as the first built-in
* **@adil-a** laid the groundwork for Gym-owned MCP resources servers, letting a server expose its tools over MCP
* **@eric-tramel** added the BunsenChem chemistry benchmark
* **@jeffwillette** added the long machine translation datasets and servers

Thank you to all the new contributors for helping make NeMo Gym better!

### Command Line Interface

* One `gym` command for the full workflow, with `gym env`, `gym eval`, `gym list`, and `gym dataset` subcommands
* Reference agents, benchmarks, and environments by name: use `gym list` to see what is available
* `gym env validate` checks your config for missing, malformed, or empty values before a run and reports actionable errors

### Evaluation & Diagnostics

* Skill evaluation: measure how agent skills affect performance by running the same tasks with different skill sets. Skills apply at rollout time as a run-level knob, so one dataset works across all skill variants and every rollout is tagged for comparison
* BLADE (Benchmark Level Analysis and Diagnostics Engine): a built-in analysis skill that reads an agent run's rollouts, metrics, and configs and produces an evidence-backed report of which tasks failed, why, and the highest-impact fix (e.g. harness, training, verifier, or prompt)

### Sandboxing

* Run tool-using and coding agents in isolated sandboxes through a pluggable provider framework
* Built-in OpenSandbox and Apptainer providers, with third-party providers discoverable via entry points

### Configure Agent Harnesses

New harnesses join the existing built-in set (Claude Code, Hermes, OpenHands, and more):

* Added OpenCode, OpenClaw, and Pi agents for evaluation
* Claude Code runtime capabilities (tool access, MCP servers, and bare vs. native auto-discovery mode) are now easily set via the server config

### Configure Models

* New `inference_provider` model server connects to any OpenAI-compatible hosted provider (Fireworks, Together.ai, OpenRouter, DeepInfra, Gemini, and more) with ready-made configs
* Every Gym model server now speaks the Anthropic Messages API, so Anthropic-native harnesses like the Claude Code CLI can run against any model you serve with Gym — see [Anthropic Messages](/model-server/anthropic-messages)

### New Benchmarks

* **Science:** CritPt (research-level physics), SciCode (scientific coding), BunsenChem (chemistry multiple-choice), and FrontierScience Research (rubric-scored science)
* **Long context:** Graphwalks (long-context graph reasoning) and Long Machine Translation (PG19, WMT24++)
* **Interactive:** TALES, a text-adventure game suite

See the [Available Environments](https://github.com/NVIDIA-NeMo/Gym#-available-environments) table for the full list.

### Deprecation Notices

* The legacy `ng_*` and `nemo_gym_*` CLI commands (such as `ng_run` and `ng_collect_rollouts`) are deprecated in favor of the unified `gym` CLI. They still work for now but will be removed in a future release.

### Bug Fixes

* Fixed intermittent connection errors during high-concurrency rollout collection
* Clear error messages instead of crashes when a config file contains invalid YAML

### Documentation

* New Build Verifiers section with verification patterns and multi-reward verification
* New Evaluate section covering benchmarks, evaluation metrics, and a guide to agent-native results diagnostics
* New page for configuring and evaluating agent skills

### Release Assets

[GitHub Release v0.4.0](https://github.com/NVIDIA-NeMo/Gym/releases/tag/v0.4.0)

#### v0.3.0

### Release Summary

NeMo Gym v0.3.0 ships alongside the NVIDIA Nemotron 3 Ultra model release, open sourcing the environments and corresponding datasets used during training.

Highlights:

* 70+ new environments, including benchmarks such as Tau2 and Nemotron RL training environments
* Popular harness available out-of-the-box such as Claude Code and Hermes
* Integrations with OpenEnv and Harbor - use environments from these libraries directly with NeMo Gym
* Integration with VeRL - train with VeRL and scale rollout collection with NeMo Gym

### First-Time Contributors

We welcomed 30+ new contributors to this release! Here are a few highlights:

* **@grace-lam** added the integration to run Harbor environments with NeMo Gym
* **@aleksficek** — added Competitive Coding Challenges environment
* **@jthomson04** improved rollout resilience when models emit malformed tool-call arguments or missing message content

Thank you to all the new contributors for helping make NeMo Gym better!

### New Environments & Benchmarks

Added 70+ new environments including novel datasets and integrations of popular benchmarks. New coverage spans:

* **Coding** — competitive programming, code infilling, SQL generation, and software-engineering benchmarks with execution-based verification
* **Math & proofs** — olympiad-style problems, proof grading and validation, and formal verification (including Lean)
* **Knowledge & science** — graduate-level QA, chemistry and physics tasks, and lab-style reasoning (including multimodal figure, table, and protocol tasks)
* **Agentic** — multi-turn tool use, search, sandboxed execution, finance workflows, and tau-bench-style conversational agents
* **Instruction following** — format constraints, citation compliance, and IFBench-style rule verification
* **Safety & RLHF** — jailbreak detection, abstention calibration, prompt-injection resistance, and generative reward modeling
* **Multimodal, speech & translation** — VLM benchmarks, visual grounding, ASR evaluation, and machine-translation quality metrics
* **Chat & broad knowledge** — arena-style preference evaluation and MMLU-family benchmarks
* **Interactive RL** — Gymnasium-style multi-step environments for spatial and game-based training

See the [Available Environments](https://github.com/NVIDIA-NeMo/Gym#-available-environments) table for the full list.

### Configure Agent Harnesses

* Claude Code — available out of the box in NeMo Gym
* Hermes — available out of the box in NeMo Gym
* LangGraph agent — an adapter that lets you build custom agents using LangGraph patterns (reflection, subagent orchestration, parallel thinking, rewoo)
* Gymnasium agent — generic multi-turn harness for use with OpenAI Gym-style environments

### Configure Models

* Optional `max_concurrent_requests` on the OpenAI model server to cap in-flight API calls — useful for rate-limited external endpoints when rollout concurrency is high

### Rollout Collection & Profiling

* New `ng_aggregate_rollouts` command to merge rollout shards collected independently across multiple nodes, enabling distributed eval without requiring a single coordinated collection job

### Environment Library Integrations

* OpenEnv — combine OpenEnv environments with NeMo Gym environments
* Harbor — combine Harbor environments with NeMo Gym environments

### Deprecation Notices

* Documentation has moved from Sphinx to Fern. Old Sphinx URLs redirect to the new site at docs.nvidia.com/nemo/gym. The retired `docs/` directory has been removed.

### Bug Fixes

* Fixed aiohttp connection limit exhaustion under FastAPI/Uvicorn with multiple workers
* Fixed session cookie propagation for Starlette >= 1.0.0
* Fixed duplicated usage counting and errors on empty usage in subsequent model calls
* Improved rollout resilience when models emit malformed tool-call arguments or missing message content
* Fixed prompt-key hashing when inputs contain Pydantic BaseModel objects

### Documentation

* New concepts pages for environments, evaluation, and training
* Improved Architecture page to clarify how environments map to NeMo Gym components
* Consolidated detailed setup and quickstart into a single improved quickstart with clearer descriptions
* Expanded Ecosystem page with environment library, training framework, and agent harness integrations

### Release Assets

[GitHub Release v0.3.0](https://github.com/NVIDIA-NeMo/Gym/releases/tag/v0.3.0)

#### v0.2.1

Fixed PyPI package distribution that was broken in v0.2.0. No functional changes — all features and fixes from v0.2.0 apply.

#### v0.2.0

NeMo Gym v0.2.0 ships alongside the NVIDIA Nemotron 3 Super model release, open sourcing the RL environments and corresponding datasets used during training. This release adds 17 new training environments across coding, math, science, reasoning, agentic tasks, and safety, plus integrations with Aviary, Reasoning Gym, and Verifiers to combine additional environments. You can now run end-to-end rollout collection locally with vLLM and install directly from PyPI.

### New Environments

Added 17 new resources servers spanning:

* **Coding**: Text to SQL, SWE RL Gen, SWE RL LLM Judge
* **Math**: Lean4 Mathematical Proofs
* **Science**: Aviary, NewtonBench
* **Reasoning**: MultiChallenge, ARC-AGI
* **Agent tasks**: xLAM Function Calling, Tavily Search, Single Step Tool Use, Terminus Judge, NeMo Skills Tools
* **Safety**: Jailbreak Detection, Over Refusal Detection
* **RLHF**: Generative Reward Model Compare

Added 5 new agent servers: Aviary agent, proof refinement agent, SWE agents, tool simulation agent, and verifiers agent.

**Environment library integrations**: Future House Aviary, Open-Thought Reasoning Gym, Prime Intellect Verifiers.

### Model Serving

* Local vLLM model server with end-to-end rollout collection without an external API
* vLLM 0.16+ support for the reasoning field in responses
* Per-task chat templates and extra body args to support different model configurations across environments in multi-environment training

### Rollout Collection & Profiling

* New `ng_reward_profile` command to compute per-task pass rates and aggregate metrics
* CPU profiling for rollout performance analysis
* Seeding on num\_repeats for reproducible rollouts

### Infrastructure & Developer Experience

* PyPI compatibility: install via `pip install nemo-gym`
* Dry run mode: `ng_run +dry_run=true` to validate configs and install environments without starting servers
* `ng_status` command to list running servers and their health
* FastAPI worker support for higher throughput across multiple workers
* Server stdout/stderr redirection with server name prefixes

### Model Recipes

* Nemotron 3 Nano 30B end-to-end training recipe with single-GPU and multi-node tutorials

### Documentation

* Added training tutorials for Unsloth, TRL, and Nemotron 3 Nano (single-GPU and multi-node)
* Added environment tutorials for creating environments, custom data preparation, and integrating external libraries
* Rewrote concepts documentation with new training approaches page, architecture diagrams, and expanded agent/resources server docs
* Revamped ecosystem page with training framework and environment library integrations
* Added deployment topology and SWE RL infrastructure case study
* Site-wide quality sweep: consistent naming, style guide, redirects, and FAQ additions

### Bug Fixes

* Fixed 0.1.1 environments to work correctly with RL training pipelines
* Fixed crash when server receives malformed JSON during rollout collection
* Fixed dry run mode failing after initial implementation
* Fixed nested `responses_create_params` overrides not merging correctly from CLI
* Fixed `ng_prepare_data` failing when multiple environments define overlapping metrics
* Fixed reward profiling failing when model response doesn't include usage stats
* Fixed NeMo-Skills python tool to use HTTP calls instead of subprocess execution
* Bumped Pillow and other packages to address security vulnerabilities
* `ng_dump_config` now redacts API key values from output

### First-Time Contributors

We'd like to highlight the following first-time contributors:

* **@sidnarayanan** added the Aviary integration to enable training on any Aviary environment, a library of interactive RL environments spanning math, science, biology, and more
* **@3mei** added the text-to-SQL environment to generate SQL queries from natural language across multiple SQL dialects
* **@Kelvin0110** added the NewtonBench environment to discover scientific laws through interactive experimentation

#### v0.1.1

Initial public release of NeMo Gym.