mirror of
https://github.com/NVIDIA/OpenShell.git
synced 2026-10-14 04:59:28 +08:00
80 lines
6.0 KiB
Plaintext
80 lines
6.0 KiB
Plaintext
---
|
|
# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
title: "NVIDIA OpenShell Release Notes"
|
|
sidebar-title: "Release Notes"
|
|
description: "Track the latest changes and improvements to NVIDIA OpenShell."
|
|
keywords: "Generative AI, Cybersecurity, Release Notes, Changelog, AI Agents"
|
|
position: 6
|
|
---
|
|
|
|
NVIDIA OpenShell follows a frequent release cadence. Use the following GitHub resources directly.
|
|
|
|
## 0.1.0 migration notes
|
|
|
|
### Workload images
|
|
|
|
The default workload image is now `nvcr.io/nvidia/base/ubuntu:24.04`. It is a
|
|
minimal Ubuntu Noble environment and does not include agent CLIs or an
|
|
image-baked OpenShell policy. OpenShell applies its built-in restrictive policy
|
|
when no explicit policy is supplied.
|
|
|
|
The CLI no longer expands bare catalog names or supports the former catalog
|
|
registry override. Build or select an OCI image and pass its explicit reference:
|
|
|
|
```shell
|
|
openshell sandbox create --from registry.example.com/agents/my-agent:1.0 -- my-agent
|
|
```
|
|
|
|
Gateway operators can replace the default with the driver configuration or the
|
|
Helm `server.sandboxImage` value.
|
|
|
|
### Network endpoint TLS handling
|
|
|
|
OpenShell 0.1.0 closes the network endpoint `tls` field to two forms: omit it to auto-detect and terminate TLS for inspection, or set `skip` to stop inspecting that endpoint. The gateway, the sandbox supervisor, provider profile lint, and agent-authored policy proposals all reject any other value, including the former `terminate` and `passthrough` spellings.
|
|
|
|
Remove the `tls` field from affected endpoints before upgrading. Removal preserves behavior, because `terminate` and `passthrough` already selected automatic termination.
|
|
|
|
Do not substitute `tls: skip` for a removed `terminate`. `skip` stops TLS inspection, credential placeholder rewriting, dynamic token grant injection, and L7 rule enforcement for that endpoint, so it widens what the endpoint allows.
|
|
|
|
A stored policy carrying a removed value fails validation on read, and affected sandboxes cannot start. Run `openshell policy list --global` to see which revision is invalid and why, then re-apply a corrected policy with `openshell policy set --global`.
|
|
|
|
A policy baked into a workload image at `/etc/openshell/policy.yaml` is rejected the same way, because the supervisor requests it over the sandbox boundary when the gateway has no policy for the sandbox. Setting a policy with `openshell policy set --global` repairs that case too; rebuilding the image without the field restores the original behavior.
|
|
|
|
### Provider profiles are import-only
|
|
|
|
OpenShell 0.1.0 stops compiling provider profiles into the gateway binary. A gateway's catalog contains exactly the profiles an operator imported, the default `provider_profile_sources` is `[{ type = "user" }]`, and the `builtin` source type is removed: a `gateway.toml` that still names it is rejected at startup with the import command. A gateway with nothing imported reaches ready and serves an empty catalog.
|
|
|
|
Export the profiles your deployment relies on **before** upgrading:
|
|
|
|
```shell
|
|
openshell provider profile export <id> -o yaml --global > <id>.yaml
|
|
```
|
|
|
|
After upgrading, import them at the scope your providers use. You can also take them from the `providers/` directory of the matching release tag:
|
|
|
|
```shell
|
|
openshell provider profile import --from ./providers --global
|
|
```
|
|
|
|
Omit `--global` for workspace-scoped providers. The canonical IDs are no longer reserved, so `github`, `openai`, `pypi` and the rest import at their own IDs, and the imported profile is the only definition for that ID.
|
|
|
|
A provider whose profile is absent after the upgrade stays listable and exportable, but creating a sandbox with it, or attaching it to one, fails with a message naming the provider, the missing profile ID, and the import command. Legacy provider type aliases are gone with the compiled catalog: use a profile's own ID, so `--type claude-code` rather than `--type claude`, and `--type github` rather than `--type gh`.
|
|
|
|
Command-to-provider inference is removed. `openshell sandbox create -- <command>` no longer derives a provider from the trailing command, and the compiled alias table that drove it is gone. A profile's `binaries` list authorizes a binary to reach that profile's endpoints; it is not a statement that running the binary asks for the provider, so treating it as attachment intent could attach credentials the operator did not select. Name providers explicitly with `--provider <name>`, which still creates a missing provider from local discovery when the name matches an imported profile ID.
|
|
|
|
The files under `providers/` are reviewable examples, not defaults. Read each file's header before importing it: several bind network access to binary paths from the image layout where they were authored, and imported unchanged into another image the profile matches nothing.
|
|
|
|
### Network policy binaries
|
|
|
|
OpenShell 0.1.0 removes the deprecated `NetworkBinary.harness` protobuf field and reserves its field number and name. Generated protobuf decoders ignore the unknown value. When the gateway loads policy history written by an older version, it migrates binaries marked by the former field into endpoint-provenance-marked rules so the upgrade cannot widen private-address access.
|
|
|
|
Remove `harness` from sandbox policies and provider profiles before upgrading. Policy and profile YAML now reject the property. Provider profiles should list binaries as scalar paths, such as `- /usr/bin/curl`; the transitional object form `- path: /usr/bin/curl` remains accepted and is exported as a scalar.
|
|
|
|
| Resource | Description |
|
|
|---|---|
|
|
| [Releases](https://github.com/NVIDIA/OpenShell/releases) | Versioned release notes and downloadable assets. |
|
|
| [Release comparison](https://github.com/NVIDIA/OpenShell/compare) | Diff between any two tags or branches. |
|
|
| [Merged pull requests](https://github.com/NVIDIA/OpenShell/pulls?q=is%3Apr+is%3Amerged) | Individual changes with review discussion. |
|
|
| [Commit history](https://github.com/NVIDIA/OpenShell/commits/main) | Full commit log on `main`. |
|