Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 11 additions & 11 deletions .github/workflows/nrl-docs-nvidia-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,17 @@
# Variables (optional): DOCS_AWS_REGION, NRL_DOCS_PUBLISH_VERSION, DOCS_RELEASE_EMAILS
#
# S3 layout written under developer/docs/nemo/retriever/:
# index.html, versions.json, latest/, <version>/ (e.g. 26.5.0/)
# index.html, versions.json, latest/, <version>/ (e.g. 26.8.0/)
#
# Manual publish only (workflow_dispatch). Do not re-enable push/tag auto-publish
# while docs.nvidia.com 26.5.0 / latest are frozen to the 26.05 release docs.
# while docs.nvidia.com 26.8.0 / latest are frozen to the 26.08 release docs.
#
# Operator steps when ready to publish:
# 1. Merge doc changes to the 26.05 branch (content source for the build).
# 1. Merge doc changes to the 26.08 branch (content source for the build).
# 2. Keep docs/publish/versions.json on main accurate (version picker + latest alias).
# 3. Actions → "NRL documentation — docs.nvidia.com publish" → Run workflow:
# dry-run: false
# docs-version-override: 26.5.0 (or leave empty to use NRL_DOCS_PUBLISH_VERSION / default)
# docs-version-override: 26.8.0 (or leave empty to use NRL_DOCS_PUBLISH_VERSION / default)
# publish-as-latest: true only when intentionally refreshing latest/
# Backports: publish-as-latest: false; do not move the "latest" alias in versions.json.
name: NRL documentation — docs.nvidia.com publish
Expand All @@ -35,7 +35,7 @@ on:
type: boolean
default: true
docs-version-override:
description: Version folder to publish (e.g. 26.5.0). Empty uses NRL_DOCS_PUBLISH_VERSION, or 26.5.0.
description: Version folder to publish (e.g. 26.8.0). Empty uses NRL_DOCS_PUBLISH_VERSION, or 26.8.0.
required: false
type: string
default: ""
Expand Down Expand Up @@ -93,7 +93,7 @@ jobs:
VERSION="${NRL_DOCS_PUBLISH_VERSION_VAR}"
fi
if [[ -z "${VERSION}" ]]; then
VERSION="26.5.0"
VERSION="26.8.0"
fi
echo "docs_version=${VERSION}" >> "$GITHUB_OUTPUT"
echo "site_url=${{ env.DOCS_SITE_URL_BASE }}/${VERSION}/" >> "$GITHUB_OUTPUT"
Expand All @@ -116,16 +116,16 @@ jobs:
needs: resolve
runs-on: ubuntu-latest
steps:
# Publish the doc pages from the 26.05 release branch, not main. main keeps
# Publish the doc pages from the 26.08 release branch, not main. main keeps
# moving toward the next release, so its docs must not be published under the
# 26.5.0 label. mkdocs.yml, requirements.txt, and docs/docs/** come from 26.05.
- name: Checkout 26.05 docs content
# 26.8.0 label. mkdocs.yml, requirements.txt, and docs/docs/** come from 26.08.
- name: Checkout 26.08 docs content
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: "26.05"
ref: "26.08"

# versions.json (the version picker + "latest" alias) is canonical on main and
# does not exist on 26.05, so fetch just that file from main into a side path.
# does not exist on 26.08, so fetch just that file from main into a side path.
- name: Checkout version-picker metadata from main
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/perform-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ on:
workflow_dispatch:
inputs:
source-branch:
description: 'Git ref to build from (e.g. `26.05`). When empty, RC versions like `26.05-RC8` build from `26.05`; otherwise uses the branch selected in "Run workflow".'
description: 'Git ref to build from (e.g. `26.08`). When empty, prerelease versions build from `26.08`; otherwise uses the branch selected in "Run workflow".'
required: false
type: string
default: ''
version:
description: 'Release version for artifacts and git tag (e.g. `26.05-RC8`). Does not need to exist before the run.'
description: 'Release version for artifacts and git tag (e.g. `26.08`). Does not need to exist before the run.'
required: false
type: string
default: ''
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-helm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on:
workflow_dispatch:
inputs:
version:
description: 'Chart version (e.g. 26.5.0)'
description: 'Chart version (e.g. 26.8.0)'
required: true
type: string
source-ref:
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ FROM install AS service

# Optional release metadata for OpenAPI ``info.version`` and package version helpers.
# Release builds should pass matching values, for example:
# --build-arg RETRIEVER_VERSION=26.08-RC4 --build-arg RETRIEVER_RELEASE_TYPE=release
# --build-arg RETRIEVER_VERSION=26.08 --build-arg RETRIEVER_RELEASE_TYPE=release
ARG RETRIEVER_VERSION=
ARG RETRIEVER_RELEASE_TYPE=dev
ENV RETRIEVER_VERSION=${RETRIEVER_VERSION}
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ SPDX-License-Identifier: Apache-2.0

**Important: The default branch is main, which tracks active development and may be ahead of the latest supported release.**

For the latest supported release, use the [26.05 branch](https://github.com/NVIDIA/NeMo-Retriever/tree/26.05) (GA PyPI and Helm chart version `26.5.0`). The previous stable line is [26.03](https://github.com/NVIDIA/NeMo-Retriever/tree/26.03).
For the latest supported release, use the [26.08 branch](https://github.com/NVIDIA/NeMo-Retriever/tree/26.08) (GA PyPI and Helm chart version `26.8.0`). The previous stable line is [26.03](https://github.com/NVIDIA/NeMo-Retriever/tree/26.03).

See the corresponding [NeMo Retriever Library documentation](https://docs.nvidia.com/nemo/retriever/latest/extraction/overview/).

Expand Down
17 changes: 8 additions & 9 deletions docs/docs/extraction/releasenotes.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,25 @@ This documentation contains the release notes for [NeMo Retriever Library](overv

## 26.08 Release Notes (26.8.0) { #release-2608 }

NVIDIA® NeMo Retriever Library version 26.08 adds a shared text-generation task API, configurable large language model (LLM) settings, grounded answer-generation model paths, agentic retrieval, and updated Helm NIM defaults. It continues the 26.05 graph ingest, multimodal extraction, and Helm-first deployment foundation.
NVIDIA® NeMo Retriever Library version 26.08 adds a shared text-generation task API, configurable large language model (LLM) settings, grounded answer-generation model paths, agentic retrieval, and updated Helm NIM defaults. It builds on the graph ingest, multimodal extraction, and Helm-first deployment foundation.

To upgrade the Helm charts for this release, refer to the [NeMo Retriever Library Helm Charts](https://github.com/NVIDIA/NeMo-Retriever/blob/main/nemo_retriever/helm/README.md).

The following sections summarize user-visible changes introduced in 26.08. Capabilities first documented in 26.05 that remain current are listed under [Continuing from 26.05](#continuing-from-2605).
The following sections summarize user-visible changes introduced in 26.08 and foundational capabilities that remain current.

### Upgrade notes { #upgrade-notes }

- Nemotron OCR v2 is now the default OCR engine for local Hugging Face, hosted CPU actors, and Helm NIM deployments. 26.05 kept Helm on OCR v1. The Helm default image is `nvcr.io/nim/nvidia/nemotron-ocr-v2:2.0.1`.
- Nemotron OCR v2 is now the default OCR engine for local Hugging Face, hosted CPU actors, and Helm NIM deployments. The previous release kept Helm on OCR v1. The Helm default image is `nvcr.io/nim/nvidia/nemotron-ocr-v2:2.0.1`.
- Helm replaces separate page-elements and table-structure NIMs with the combined `nemotron-object-detection:2.0.1` image. Development Compose uses the same combined object-detection image and OCR v2, but still defaults to `2.0.0` tags unless you override `NIM_*_TAG`.
- Helm default VL embed and VL rerank NIM images bump to `2.3.0`. 26.05 used `1.12.0` and `1.11.0`. Development Compose still defaults to `1.12.0` and `1.11.0` unless you override `NIM_EMBED_TAG` and `NIM_RERANK_TAG`.
- Helm default VL embed and VL rerank NIM images bump to `2.3.0`. The previous release used `1.12.0` and `1.11.0`. Development Compose still defaults to `1.12.0` and `1.11.0` unless you override `NIM_EMBED_TAG` and `NIM_RERANK_TAG`.
- Default VLM image captioning is Nemotron 3 Nano Omni for local and hosted paths. Chart-classified PDF regions remain on the layout and OCR path.
- Hosted Nemotron Parse and self-hosted Nemotron Parse use distinct HTTP contracts. Select the matching client path for your endpoint.
- macOS Intel (x86_64) is no longer supported for package installs. Use Apple Silicon (arm64) macOS, Windows x64, or Linux. Refer to [Packaging and platform](#packaging-and-platform).
- Legacy `nv-ingest` and compatibility pipeline CLI code paths are removed. Use `retriever ingest` and the graph stage registry.
- Self-hosted Parakeet on Helm requires both `nimOperator.audio.enabled=true` and `serviceConfig.nimEndpoints.audioGrpcEndpoint=audio:50051`. Enabling the audio NIM alone does not wire the service ASR endpoint.
- Changing a Helm NIM image repository or tag on an existing release cannot patch `NIMCache` `spec.source.ngc.modelPuller`. Delete the `NIMCache` and its PVC, then upgrade. The affected NIM is unavailable while the operator re-caches weights. Refer to [Changing a NIM image repository or tag](https://github.com/NVIDIA/NeMo-Retriever/blob/main/nemo_retriever/helm/README.md#changing-nim-image-repository-or-tag).
- A document whose VectorDB write is not acknowledged now fails instead of reporting `completed` with a positive row count. Earlier builds failed only collection-managed writes and logged a legacy fixed-table failure as a warning. The worker acknowledgement timeout is configurable through `serviceConfig.vectordb.writeTimeoutSeconds` (rendered as `vectordb.write_timeout_s`) and defaults to 300 seconds. Refer to [Ingest fails with a VectorDB write error](troubleshoot.md#vectordb-write-not-acknowledged).
- Retriever Service OpenAPI `info.version` no longer reports a stale `26.5.0` value. The service reports the package version, and Helm sets `RETRIEVER_SERVICE_VERSION` from the running service image tag so `/openapi.json` matches the deployed release.
- Retriever Service OpenAPI `info.version` no longer reports a stale package-version value. The service reports the package version, and Helm sets `RETRIEVER_SERVICE_VERSION` from the running service image tag so `/openapi.json` matches the deployed release.

### Text generation and LLM configuration { #text-generation-and-llm-configuration }

Expand Down Expand Up @@ -109,7 +109,7 @@ The following sections summarize user-visible changes introduced in 26.08. Capab
### Packaging and platform { #packaging-and-platform }

- Public nightlies are published to PyPI while local install extras remain stable.
- Ray is raised to `>=2.56.1` for CVE remediation. 26.05 used `>=2.49.0`. Ray no longer publishes wheels for macOS Intel (x86_64), so `pip` and `uv` installs fail on Intel Macs, including in-process library mode. Apple Silicon (arm64) macOS remains supported for slim remote or NIM-only installs, alongside Windows x64.
- Ray is raised to `>=2.56.1` for CVE remediation. The previous release used `>=2.49.0`. Ray no longer publishes wheels for macOS Intel (x86_64), so `pip` and `uv` installs fail on Intel Macs, including in-process library mode. Apple Silicon (arm64) macOS remains supported for slim remote or NIM-only installs, alongside Windows x64.

### Helm chart { #helm-chart }

Expand All @@ -121,9 +121,9 @@ The following sections summarize user-visible changes introduced in 26.08. Capab
- Published [One-shot text generation](nemo-retriever-api-reference.md#one-shot-text-generation) for `TextGenerationTask`, `GenericGenerationOperator`, `SummarizationOperator`, and `TextGenerationParams`.
- Clarified Super-49B and Omni answer-generation paths on this page and in [Answer generation](prerequisites-support-matrix.md#answer-generation). For Helm enablement and slot overrides, refer to [Answer generation (operator-managed LLM)](https://github.com/NVIDIA/NeMo-Retriever/blob/main/nemo_retriever/helm/README.md#answer-generation-llm).

### Continuing from 26.05 { #continuing-from-2605 }
### Current foundational capabilities { #current-foundational-capabilities }

The following capabilities shipped in 26.05 and remain current in 26.08. They are not new 26.08 highlights. For the original 26.05 wording, refer to the [26.05 Release Notes](https://docs.nvidia.com/nemo/retriever/26.5.0/extraction/releasenotes-nv-ingest/).
The following foundational capabilities remain current. They are not new 26.08 highlights.

- Text splitting for graph and library ingest uses `.extract(split_config=...)` instead of standalone `.split()` on the graph ingest path. The service ingestor API can still expose `.split()` separately.
- Direct `Retriever(...)` construction uses `vdb_kwargs`, `embed_kwargs`, and `rerank` instead of flat `lancedb_uri`, `lancedb_table`, `embedder`, `embedding_endpoint`, `local_query_embed_backend`, and `reranker` arguments.
Expand All @@ -150,7 +150,6 @@ The following capabilities shipped in 26.05 and remain current in 26.08. They ar

## Release Notes for Previous Versions { #previous-versions }

- [26.05](https://docs.nvidia.com/nemo/retriever/26.5.0/extraction/releasenotes-nv-ingest/) (GA on docs.nvidia.com at time of 26.08 RC)
- [26.03](https://docs.nvidia.com/nemo/retriever/26.3.0/extraction/releasenotes-nv-ingest/)
- [26.1.2](https://archive.docs.nvidia.com/nemo/retriever/26.1.2/extraction/releasenotes-nv-ingest/)
- [26.1.1](https://archive.docs.nvidia.com/nemo/retriever/26.1.1/extraction/releasenotes-nv-ingest/)
Expand Down
4 changes: 2 additions & 2 deletions docs/publish/versions.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[
{
"version": "26.5.0",
"title": "26.5.0",
"version": "26.8.0",
"title": "26.8.0",
"aliases": ["latest"]
},
{
Expand Down
2 changes: 1 addition & 1 deletion nemo_retriever/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ try prerelease/nightly Nemotron packages from PyPI within the same supported
major-version windows, opt in with `--pre`:

```bash
uv pip install --pre "nemo-retriever[local]==26.08-RC1"
uv pip install --pre "nemo-retriever[local]==26.08"
```

**Remote NIM (no local GPU)**
Expand Down
4 changes: 2 additions & 2 deletions nemo_retriever/docker.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ For a release-tagged image whose OpenAPI document should report a specific versi
docker build \
-f Dockerfile \
--target service \
--build-arg RETRIEVER_VERSION=26.08-RC4 \
--build-arg RETRIEVER_VERSION=26.08 \
--build-arg RETRIEVER_RELEASE_TYPE=release \
-t nemo-retriever-service:26.08-RC4 \
-t nemo-retriever-service:26.08 \
.
```

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Historical managed NRL Helm service configuration for the 26.05 perf sweep.
# Historical managed NRL Helm service configuration for the 26.08 perf sweep.
#
# This body preserves the retired nested harness schema for release reference;
# it is not accepted by the current managed-Helm runner. For current runs, use
Expand All @@ -11,9 +11,9 @@
# - ngc-api: opaque secret with the NGC API key entries required by the NIM operator
# Keep credentials out of this file and out of command history.

# Use the official 26.5.0 NGC chart. The chart defaults to the matching
# nvcr.io/nvidia/nemo-microservices/nrl-service:26.5.0 service image.
x-nrl-chart-version: &nrl_chart_version "26.5.0"
# Use the official 26.8.0 NGC chart. The chart defaults to the matching
# nvcr.io/nvidia/nemo-microservices/nrl-service:26.8.0 service image.
x-nrl-chart-version: &nrl_chart_version "26.8.0"

active:
dataset: bo767
Expand Down
4 changes: 2 additions & 2 deletions nemo_retriever/helm/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ description: |
work and status history.

type: application
version: "26.5.0"
appVersion: "26.5.0"
version: "26.8.0"
appVersion: "26.8.0"
kubeVersion: ">=1.25.0-0"
home: https://github.com/NVIDIA/NeMo-Retriever
sources:
Expand Down
4 changes: 2 additions & 2 deletions nemo_retriever/helm/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -324,7 +324,7 @@ If `helm install` already succeeded and NIM pods stay `Pending` on
The chart defaults to the image published to NGC:

```
nvcr.io/nvidia/nemo-microservices/nrl-service:26.5.0
nvcr.io/nvidia/nemo-microservices/nrl-service:26.8.0
```

Pulling from `nvcr.io` requires an NGC pull secret — either set
Expand Down Expand Up @@ -567,7 +567,7 @@ short list of knobs you'll touch first.
| Path | Default | Notes |
|-------------------------------|------------------------------------|-------|
| `service.image.repository` | `nvcr.io/nvidia/nemo-microservices/nrl-service` | NGC image; override to pin a different build or use a local registry. |
| `service.image.tag` | `26.5.0` | Also injected as `RETRIEVER_SERVICE_VERSION` so `/openapi.json` `info.version` matches the running image tag. |
| `service.image.tag` | `26.8.0` | Also injected as `RETRIEVER_SERVICE_VERSION` so `/openapi.json` `info.version` matches the running image tag. |

| `service.replicas` | `1` | Keep at 1 because standalone job and scheduler state are process-local. |
| `service.installFfmpeg` | `false` | Install `ffmpeg`/`ffprobe` at container startup by setting `INSTALL_FFMPEG=true`. Requires network egress, writable root filesystem, and sudo/setuid allowed. Not for air-gapped clusters — use a custom image instead. |
Expand Down
Loading
Loading