Skip to content

Conversation

@rockhowse
Copy link
Contributor

Description

This PR supports handling the new main branch strategy outlined below:

The update-version.sh script should now supports two modes controlled via CLI params or ENV vars:

CLI arguments: --run-context=main|release
ENV var RAPIDS_RUN_CONTEXT=main|release

xref: rapidsai/build-planning#224

@copy-pr-bot
Copy link

copy-pr-bot bot commented Nov 12, 2025

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@rockhowse
Copy link
Contributor Author

rockhowse commented Nov 12, 2025

command

❯ ./ci/release/update-version.sh --run-context=main 26.02.00
Using run-context from CLI: main
Preparing development branch update 25.12.00a => 26.02.00 (targeting main branch)

39 files changed!

❯ git status
On branch ops-4339-update-version-sh-support-main-branching-strategy
Your branch is up to date with 'origin/ops-4339-update-version-sh-support-main-branching-strategy'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	modified:   .devcontainer/cuda12.9-conda/devcontainer.json
	modified:   .devcontainer/cuda12.9-pip/devcontainer.json
	modified:   .devcontainer/cuda13.0-conda/devcontainer.json
	modified:   .devcontainer/cuda13.0-pip/devcontainer.json
	modified:   .github/workflows/build.yaml
	modified:   .github/workflows/pr.yaml
	modified:   .github/workflows/publish-rust.yaml
	modified:   .github/workflows/test.yaml
	modified:   README.md
	modified:   VERSION
	modified:   conda/environments/all_cuda-129_arch-aarch64.yaml
	modified:   conda/environments/all_cuda-129_arch-x86_64.yaml
	modified:   conda/environments/all_cuda-130_arch-aarch64.yaml
	modified:   conda/environments/all_cuda-130_arch-x86_64.yaml
	modified:   conda/environments/bench_ann_cuda-129_arch-aarch64.yaml
	modified:   conda/environments/bench_ann_cuda-129_arch-x86_64.yaml
	modified:   conda/environments/bench_ann_cuda-130_arch-aarch64.yaml
	modified:   conda/environments/bench_ann_cuda-130_arch-x86_64.yaml
	modified:   conda/environments/go_cuda-129_arch-aarch64.yaml
	modified:   conda/environments/go_cuda-129_arch-x86_64.yaml
	modified:   conda/environments/go_cuda-130_arch-aarch64.yaml
	modified:   conda/environments/go_cuda-130_arch-x86_64.yaml
	modified:   conda/environments/rust_cuda-129_arch-aarch64.yaml
	modified:   conda/environments/rust_cuda-129_arch-x86_64.yaml
	modified:   conda/environments/rust_cuda-130_arch-aarch64.yaml
	modified:   conda/environments/rust_cuda-130_arch-x86_64.yaml
	modified:   dependencies.yaml
	modified:   docs/source/cuvs_bench/index.rst
	modified:   examples/go/README.md
	modified:   java/benchmarks/pom.xml
	modified:   java/build.sh
	modified:   java/cuvs-java/pom.xml
	modified:   java/examples/README.md
	modified:   java/examples/pom.xml
	modified:   python/cuvs/pyproject.toml
	modified:   python/cuvs_bench/pyproject.toml
	modified:   python/libcuvs/pyproject.toml
	modified:   rust/Cargo.toml
	modified:   rust/cuvs/Cargo.toml

no changes added to commit (use "git add" and/or "git commit -a")

full diff

❯ git diff | cat
diff --git a/.devcontainer/cuda12.9-conda/devcontainer.json b/.devcontainer/cuda12.9-conda/devcontainer.json
index f7565bbe..7528d199 100644
--- a/.devcontainer/cuda12.9-conda/devcontainer.json
+++ b/.devcontainer/cuda12.9-conda/devcontainer.json
@@ -5,19 +5,19 @@
     "args": {
       "CUDA": "12.9",
       "PYTHON_PACKAGE_MANAGER": "conda",
-      "BASE": "rapidsai/devcontainers:25.12-cpp-mambaforge"
+      "BASE": "rapidsai/devcontainers:26.02-cpp-mambaforge"
     }
   },
   "runArgs": [
     "--rm",
     "--name",
-    "${localEnv:USER:anon}-rapids-${localWorkspaceFolderBasename}-25.12-cuda12.9-conda",
+    "${localEnv:USER:anon}-rapids-${localWorkspaceFolderBasename}-26.02-cuda12.9-conda",
     "--ulimit",
     "nofile=500000"
   ],
   "hostRequirements": {"gpu": "optional"},
   "features": {
-    "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:25.12": {}
+    "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:26.2": {}
   },
   "overrideFeatureInstallOrder": [
     "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils"
diff --git a/.devcontainer/cuda12.9-pip/devcontainer.json b/.devcontainer/cuda12.9-pip/devcontainer.json
index b7b43b9b..652d9974 100644
--- a/.devcontainer/cuda12.9-pip/devcontainer.json
+++ b/.devcontainer/cuda12.9-pip/devcontainer.json
@@ -5,26 +5,26 @@
     "args": {
       "CUDA": "12.9",
       "PYTHON_PACKAGE_MANAGER": "pip",
-      "BASE": "rapidsai/devcontainers:25.12-cpp-cuda12.9-ucx1.19.0-openmpi5.0.7"
+      "BASE": "rapidsai/devcontainers:26.02-cpp-cuda12.9-ucx1.19.0-openmpi5.0.7"
     }
   },
   "runArgs": [
     "--rm",
     "--name",
-    "${localEnv:USER:anon}-rapids-${localWorkspaceFolderBasename}-25.12-cuda12.9-pip",
+    "${localEnv:USER:anon}-rapids-${localWorkspaceFolderBasename}-26.02-cuda12.9-pip",
     "--ulimit",
     "nofile=500000"
   ],
   "hostRequirements": {"gpu": "optional"},
   "features": {
-    "ghcr.io/rapidsai/devcontainers/features/cuda:25.12": {
+    "ghcr.io/rapidsai/devcontainers/features/cuda:26.2": {
       "version": "12.9",
       "installcuBLAS": true,
       "installcuSOLVER": true,
       "installcuRAND": true,
       "installcuSPARSE": true
     },
-    "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:25.12": {}
+    "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:26.2": {}
   },
   "overrideFeatureInstallOrder": [
     "ghcr.io/rapidsai/devcontainers/features/ucx",
diff --git a/.devcontainer/cuda13.0-conda/devcontainer.json b/.devcontainer/cuda13.0-conda/devcontainer.json
index f4e2e662..5c0beccf 100644
--- a/.devcontainer/cuda13.0-conda/devcontainer.json
+++ b/.devcontainer/cuda13.0-conda/devcontainer.json
@@ -5,19 +5,19 @@
     "args": {
       "CUDA": "13.0",
       "PYTHON_PACKAGE_MANAGER": "conda",
-      "BASE": "rapidsai/devcontainers:25.12-cpp-mambaforge"
+      "BASE": "rapidsai/devcontainers:26.02-cpp-mambaforge"
     }
   },
   "runArgs": [
     "--rm",
     "--name",
-    "${localEnv:USER:anon}-rapids-${localWorkspaceFolderBasename}-25.12-cuda13.0-conda",
+    "${localEnv:USER:anon}-rapids-${localWorkspaceFolderBasename}-26.02-cuda13.0-conda",
     "--ulimit",
     "nofile=500000"
   ],
   "hostRequirements": {"gpu": "optional"},
   "features": {
-    "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:25.12": {}
+    "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:26.2": {}
   },
   "overrideFeatureInstallOrder": [
     "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils"
diff --git a/.devcontainer/cuda13.0-pip/devcontainer.json b/.devcontainer/cuda13.0-pip/devcontainer.json
index 1fd01118..88b6bc9d 100644
--- a/.devcontainer/cuda13.0-pip/devcontainer.json
+++ b/.devcontainer/cuda13.0-pip/devcontainer.json
@@ -5,26 +5,26 @@
     "args": {
       "CUDA": "13.0",
       "PYTHON_PACKAGE_MANAGER": "pip",
-      "BASE": "rapidsai/devcontainers:25.12-cpp-cuda13.0-ucx1.19.0-openmpi5.0.7"
+      "BASE": "rapidsai/devcontainers:26.02-cpp-cuda13.0-ucx1.19.0-openmpi5.0.7"
     }
   },
   "runArgs": [
     "--rm",
     "--name",
-    "${localEnv:USER:anon}-rapids-${localWorkspaceFolderBasename}-25.12-cuda13.0-pip",
+    "${localEnv:USER:anon}-rapids-${localWorkspaceFolderBasename}-26.02-cuda13.0-pip",
     "--ulimit",
     "nofile=500000"
   ],
   "hostRequirements": {"gpu": "optional"},
   "features": {
-    "ghcr.io/rapidsai/devcontainers/features/cuda:25.12": {
+    "ghcr.io/rapidsai/devcontainers/features/cuda:26.2": {
       "version": "13.0",
       "installcuBLAS": true,
       "installcuSOLVER": true,
       "installcuRAND": true,
       "installcuSPARSE": true
     },
-    "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:25.12": {}
+    "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:26.2": {}
   },
   "overrideFeatureInstallOrder": [
     "ghcr.io/rapidsai/devcontainers/features/ucx",
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index 29128311..4f48f9b2 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -58,7 +58,7 @@ jobs:
       branch: ${{ inputs.branch }}
       arch: "amd64"
       date: ${{ inputs.date }}
-      container_image: "rapidsai/ci-conda:25.12-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13"
+      container_image: "rapidsai/ci-conda:26.02-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13"
       node_type: "gpu-l4-latest-1"
       script: "ci/build_rust.sh"
       sha: ${{ inputs.sha }}
@@ -79,7 +79,7 @@ jobs:
       branch: ${{ inputs.branch }}
       arch: "amd64"
       date: ${{ inputs.date }}
-      container_image: "rapidsai/ci-conda:25.12-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13"
+      container_image: "rapidsai/ci-conda:26.02-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13"
       node_type: "gpu-l4-latest-1"
       script: "ci/build_go.sh"
       sha: ${{ inputs.sha }}
@@ -100,7 +100,7 @@ jobs:
       branch: ${{ inputs.branch }}
       arch: "amd64"
       date: ${{ inputs.date }}
-      container_image: "rapidsai/ci-conda:25.12-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13"
+      container_image: "rapidsai/ci-conda:26.02-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13"
       script: "ci/build_java.sh"
       artifact-name: "cuvs-java-cuda${{ matrix.cuda_version }}"
       file_to_upload: "java/cuvs-java/target/"
@@ -138,7 +138,7 @@ jobs:
       arch: "amd64"
       branch: ${{ inputs.branch }}
       build_type: ${{ inputs.build_type || 'branch' }}
-      container_image: "rapidsai/ci-conda:25.12-latest"
+      container_image: "rapidsai/ci-conda:26.02-latest"
       date: ${{ inputs.date }}
       node_type: "gpu-l4-latest-1"
       script: "ci/build_docs.sh"
diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml
index a69bb193..61def437 100644
--- a/.github/workflows/pr.yaml
+++ b/.github/workflows/pr.yaml
@@ -165,7 +165,7 @@ jobs:
       build_type: pull-request
       node_type: "gpu-l4-latest-1"
       arch: "amd64"
-      container_image: "rapidsai/ci-conda:25.12-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13"
+      container_image: "rapidsai/ci-conda:26.02-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13"
       script: "ci/test_java.sh"
       artifact-name: "cuvs-java-cuda${{ matrix.cuda_version }}"
       file_to_upload: "java/cuvs-java/target/"
@@ -177,7 +177,7 @@ jobs:
       build_type: pull-request
       node_type: "gpu-l4-latest-1"
       arch: "amd64"
-      container_image: "rapidsai/ci-conda:25.12-latest"
+      container_image: "rapidsai/ci-conda:26.02-latest"
       script: "ci/build_docs.sh"
   rust-build:
     needs: conda-cpp-build
@@ -195,7 +195,7 @@ jobs:
       build_type: pull-request
       node_type: "gpu-l4-latest-1"
       arch: "amd64"
-      container_image: "rapidsai/ci-conda:25.12-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13"
+      container_image: "rapidsai/ci-conda:26.02-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13"
       script: "ci/build_rust.sh"
   go-build:
     needs: conda-cpp-build
@@ -213,7 +213,7 @@ jobs:
       build_type: pull-request
       node_type: "gpu-l4-latest-1"
       arch: "amd64"
-      container_image: "rapidsai/ci-conda:25.12-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13"
+      container_image: "rapidsai/ci-conda:26.02-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13"
       script: "ci/build_go.sh"
   wheel-build-libcuvs:
     needs: checks
diff --git a/.github/workflows/publish-rust.yaml b/.github/workflows/publish-rust.yaml
index aa9438e5..3b7fc41a 100644
--- a/.github/workflows/publish-rust.yaml
+++ b/.github/workflows/publish-rust.yaml
@@ -16,7 +16,7 @@ jobs:
         cuda_version:
           - '12.9.1'
     container:
-      image: "rapidsai/ci-conda:25.12-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13"
+      image: "rapidsai/ci-conda:26.02-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13"
     steps:
       - uses: actions/checkout@v4
       - name: Check if release build
diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml
index 28d72b0c..77648919 100644
--- a/.github/workflows/test.yaml
+++ b/.github/workflows/test.yaml
@@ -68,7 +68,7 @@ jobs:
       sha: ${{ inputs.sha }}
       node_type: "gpu-l4-latest-1"
       arch: "amd64"
-      container_image: "rapidsai/ci-conda:25.12-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13"
+      container_image: "rapidsai/ci-conda:26.02-cuda${{ matrix.cuda_version }}-ubuntu24.04-py3.13"
       script: "ci/test_java.sh"
   wheel-tests-cuvs:
     secrets: inherit
diff --git a/README.md b/README.md
index 5dba0cfc..5da834f4 100755
--- a/README.md
+++ b/README.md
@@ -108,10 +108,10 @@ If installing a version that has not yet been released, the `rapidsai` channel c

 ```bash
 # CUDA 13
-conda install -c rapidsai-nightly -c conda-forge cuvs=25.12 cuda-version=13.0
+conda install -c rapidsai-nightly -c conda-forge cuvs=26.02 cuda-version=13.0

 # CUDA 12
-conda install -c rapidsai-nightly -c conda-forge cuvs=25.12 cuda-version=12.9
+conda install -c rapidsai-nightly -c conda-forge cuvs=26.02 cuda-version=12.9
 cuVS also has `pip` wheel packages that can be installed. Please see the [Build and Install Guide](https://docs.rapids.ai/api/cuvs/nightly/build/) for more information on installing the available cuVS packages and building from source.
diff --git a/VERSION b/VERSION
index 7924af61..5c33046a 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-25.12.00
+26.02.00
diff --git a/conda/environments/all_cuda-129_arch-aarch64.yaml b/conda/environments/all_cuda-129_arch-aarch64.yaml
index af56842a..82a4d846 100644
--- a/conda/environments/all_cuda-129_arch-aarch64.yaml
+++ b/conda/environments/all_cuda-129_arch-aarch64.yaml
@@ -31,7 +31,7 @@ dependencies:
 - libcurand-dev
 - libcusolver-dev
 - libcusparse-dev
-- librmm==25.12.*,>=0.0.0a0
+- librmm==26.2.*,>=0.0.0a0
 - make
 - nccl>=2.19
 - ninja
@@ -39,7 +39,7 @@ dependencies:
 - numpydoc
 - openblas
 - pre-commit
-- pylibraft==25.12.*,>=0.0.0a0
+- pylibraft==26.2.*,>=0.0.0a0
 - pytest
 - pytest-cov
 - rapids-build-backend>=0.4.0,<0.5.0.dev0
diff --git a/conda/environments/all_cuda-129_arch-x86_64.yaml b/conda/environments/all_cuda-129_arch-x86_64.yaml
index 44739ffd..a1d50aff 100644
--- a/conda/environments/all_cuda-129_arch-x86_64.yaml
+++ b/conda/environments/all_cuda-129_arch-x86_64.yaml
@@ -31,7 +31,7 @@ dependencies:
 - libcurand-dev
 - libcusolver-dev
 - libcusparse-dev
-- librmm==25.12.*,>=0.0.0a0
+- librmm==26.2.*,>=0.0.0a0
 - make
 - nccl>=2.19
 - ninja
@@ -39,7 +39,7 @@ dependencies:
 - numpydoc
 - openblas
 - pre-commit
-- pylibraft==25.12.*,>=0.0.0a0
+- pylibraft==26.2.*,>=0.0.0a0
 - pytest
 - pytest-cov
 - rapids-build-backend>=0.4.0,<0.5.0.dev0
diff --git a/conda/environments/all_cuda-130_arch-aarch64.yaml b/conda/environments/all_cuda-130_arch-aarch64.yaml
index 3a812108..1448a75b 100644
--- a/conda/environments/all_cuda-130_arch-aarch64.yaml
+++ b/conda/environments/all_cuda-130_arch-aarch64.yaml
@@ -31,7 +31,7 @@ dependencies:
 - libcurand-dev
 - libcusolver-dev
 - libcusparse-dev
-- librmm==25.12.*,>=0.0.0a0
+- librmm==26.2.*,>=0.0.0a0
 - make
 - nccl>=2.19
 - ninja
@@ -39,7 +39,7 @@ dependencies:
 - numpydoc
 - openblas
 - pre-commit
-- pylibraft==25.12.*,>=0.0.0a0
+- pylibraft==26.2.*,>=0.0.0a0
 - pytest
 - pytest-cov
 - rapids-build-backend>=0.4.0,<0.5.0.dev0
diff --git a/conda/environments/all_cuda-130_arch-x86_64.yaml b/conda/environments/all_cuda-130_arch-x86_64.yaml
index 2e93cf14..c46108a7 100644
--- a/conda/environments/all_cuda-130_arch-x86_64.yaml
+++ b/conda/environments/all_cuda-130_arch-x86_64.yaml
@@ -31,7 +31,7 @@ dependencies:
 - libcurand-dev
 - libcusolver-dev
 - libcusparse-dev
-- librmm==25.12.*,>=0.0.0a0
+- librmm==26.2.*,>=0.0.0a0
 - make
 - nccl>=2.19
 - ninja
@@ -39,7 +39,7 @@ dependencies:
 - numpydoc
 - openblas
 - pre-commit
-- pylibraft==25.12.*,>=0.0.0a0
+- pylibraft==26.2.*,>=0.0.0a0
 - pytest
 - pytest-cov
 - rapids-build-backend>=0.4.0,<0.5.0.dev0
diff --git a/conda/environments/bench_ann_cuda-129_arch-aarch64.yaml b/conda/environments/bench_ann_cuda-129_arch-aarch64.yaml
index d00d6f1b..8005d907 100644
--- a/conda/environments/bench_ann_cuda-129_arch-aarch64.yaml
+++ b/conda/environments/bench_ann_cuda-129_arch-aarch64.yaml
@@ -17,7 +17,7 @@ dependencies:
 - cuda-python>=12.9.2,<13.0a0
 - cuda-version=12.9
 - cupy>=13.6.0
-- cuvs==25.12.*,>=0.0.0a0
+- cuvs==26.2.*,>=0.0.0a0
 - cxx-compiler
 - cython>=3.0.0
 - dlpack>=0.8,<1.0
@@ -29,15 +29,15 @@ dependencies:
 - libcurand-dev
 - libcusolver-dev
 - libcusparse-dev
-- libcuvs==25.12.*,>=0.0.0a0
-- librmm==25.12.*,>=0.0.0a0
+- libcuvs==26.2.*,>=0.0.0a0
+- librmm==26.2.*,>=0.0.0a0
 - matplotlib-base>=3.9
 - nccl>=2.19
 - ninja
 - nlohmann_json>=3.12.0
 - openblas
 - pandas
-- pylibraft==25.12.*,>=0.0.0a0
+- pylibraft==26.2.*,>=0.0.0a0
 - pyyaml
 - rapids-build-backend>=0.4.0,<0.5.0.dev0
 - requests
diff --git a/conda/environments/bench_ann_cuda-129_arch-x86_64.yaml b/conda/environments/bench_ann_cuda-129_arch-x86_64.yaml
index cd451346..0b117723 100644
--- a/conda/environments/bench_ann_cuda-129_arch-x86_64.yaml
+++ b/conda/environments/bench_ann_cuda-129_arch-x86_64.yaml
@@ -17,7 +17,7 @@ dependencies:
 - cuda-python>=12.9.2,<13.0a0
 - cuda-version=12.9
 - cupy>=13.6.0
-- cuvs==25.12.*,>=0.0.0a0
+- cuvs==26.2.*,>=0.0.0a0
 - cxx-compiler
 - cython>=3.0.0
 - dlpack>=0.8,<1.0
@@ -31,8 +31,8 @@ dependencies:
 - libcurand-dev
 - libcusolver-dev
 - libcusparse-dev
-- libcuvs==25.12.*,>=0.0.0a0
-- librmm==25.12.*,>=0.0.0a0
+- libcuvs==26.2.*,>=0.0.0a0
+- librmm==26.2.*,>=0.0.0a0
 - matplotlib-base>=3.9
 - mkl-devel=2023
 - nccl>=2.19
@@ -40,7 +40,7 @@ dependencies:
 - nlohmann_json>=3.12.0
 - openblas
 - pandas
-- pylibraft==25.12.*,>=0.0.0a0
+- pylibraft==26.2.*,>=0.0.0a0
 - pyyaml
 - rapids-build-backend>=0.4.0,<0.5.0.dev0
 - requests
diff --git a/conda/environments/bench_ann_cuda-130_arch-aarch64.yaml b/conda/environments/bench_ann_cuda-130_arch-aarch64.yaml
index 98f3b0c3..5457e1d4 100644
--- a/conda/environments/bench_ann_cuda-130_arch-aarch64.yaml
+++ b/conda/environments/bench_ann_cuda-130_arch-aarch64.yaml
@@ -17,7 +17,7 @@ dependencies:
 - cuda-python>=13.0.1,<14.0a0
 - cuda-version=13.0
 - cupy>=13.6.0
-- cuvs==25.12.*,>=0.0.0a0
+- cuvs==26.2.*,>=0.0.0a0
 - cxx-compiler
 - cython>=3.0.0
 - dlpack>=0.8,<1.0
@@ -29,15 +29,15 @@ dependencies:
 - libcurand-dev
 - libcusolver-dev
 - libcusparse-dev
-- libcuvs==25.12.*,>=0.0.0a0
-- librmm==25.12.*,>=0.0.0a0
+- libcuvs==26.2.*,>=0.0.0a0
+- librmm==26.2.*,>=0.0.0a0
 - matplotlib-base>=3.9
 - nccl>=2.19
 - ninja
 - nlohmann_json>=3.12.0
 - openblas
 - pandas
-- pylibraft==25.12.*,>=0.0.0a0
+- pylibraft==26.2.*,>=0.0.0a0
 - pyyaml
 - rapids-build-backend>=0.4.0,<0.5.0.dev0
 - requests
diff --git a/conda/environments/bench_ann_cuda-130_arch-x86_64.yaml b/conda/environments/bench_ann_cuda-130_arch-x86_64.yaml
index 451b4037..c4bb4f03 100644
--- a/conda/environments/bench_ann_cuda-130_arch-x86_64.yaml
+++ b/conda/environments/bench_ann_cuda-130_arch-x86_64.yaml
@@ -17,7 +17,7 @@ dependencies:
 - cuda-python>=13.0.1,<14.0a0
 - cuda-version=13.0
 - cupy>=13.6.0
-- cuvs==25.12.*,>=0.0.0a0
+- cuvs==26.2.*,>=0.0.0a0
 - cxx-compiler
 - cython>=3.0.0
 - dlpack>=0.8,<1.0
@@ -31,8 +31,8 @@ dependencies:
 - libcurand-dev
 - libcusolver-dev
 - libcusparse-dev
-- libcuvs==25.12.*,>=0.0.0a0
-- librmm==25.12.*,>=0.0.0a0
+- libcuvs==26.2.*,>=0.0.0a0
+- librmm==26.2.*,>=0.0.0a0
 - matplotlib-base>=3.9
 - mkl-devel=2023
 - nccl>=2.19
@@ -40,7 +40,7 @@ dependencies:
 - nlohmann_json>=3.12.0
 - openblas
 - pandas
-- pylibraft==25.12.*,>=0.0.0a0
+- pylibraft==26.2.*,>=0.0.0a0
 - pyyaml
 - rapids-build-backend>=0.4.0,<0.5.0.dev0
 - requests
diff --git a/conda/environments/go_cuda-129_arch-aarch64.yaml b/conda/environments/go_cuda-129_arch-aarch64.yaml
index b8bf5578..9ce9093e 100644
--- a/conda/environments/go_cuda-129_arch-aarch64.yaml
+++ b/conda/environments/go_cuda-129_arch-aarch64.yaml
@@ -24,8 +24,8 @@ dependencies:
 - libcurand-dev
 - libcusolver-dev
 - libcusparse-dev
-- libcuvs==25.12.*,>=0.0.0a0
-- libraft==25.12.*,>=0.0.0a0
+- libcuvs==26.2.*,>=0.0.0a0
+- libraft==26.2.*,>=0.0.0a0
 - nccl>=2.19
 - ninja
 - sysroot_linux-aarch64==2.28
diff --git a/conda/environments/go_cuda-129_arch-x86_64.yaml b/conda/environments/go_cuda-129_arch-x86_64.yaml
index adc12d64..42430775 100644
--- a/conda/environments/go_cuda-129_arch-x86_64.yaml
+++ b/conda/environments/go_cuda-129_arch-x86_64.yaml
@@ -24,8 +24,8 @@ dependencies:
 - libcurand-dev
 - libcusolver-dev
 - libcusparse-dev
-- libcuvs==25.12.*,>=0.0.0a0
-- libraft==25.12.*,>=0.0.0a0
+- libcuvs==26.2.*,>=0.0.0a0
+- libraft==26.2.*,>=0.0.0a0
 - nccl>=2.19
 - ninja
 - sysroot_linux-64==2.28
diff --git a/conda/environments/go_cuda-130_arch-aarch64.yaml b/conda/environments/go_cuda-130_arch-aarch64.yaml
index ca450a31..962d5f10 100644
--- a/conda/environments/go_cuda-130_arch-aarch64.yaml
+++ b/conda/environments/go_cuda-130_arch-aarch64.yaml
@@ -24,8 +24,8 @@ dependencies:
 - libcurand-dev
 - libcusolver-dev
 - libcusparse-dev
-- libcuvs==25.12.*,>=0.0.0a0
-- libraft==25.12.*,>=0.0.0a0
+- libcuvs==26.2.*,>=0.0.0a0
+- libraft==26.2.*,>=0.0.0a0
 - nccl>=2.19
 - ninja
 - sysroot_linux-aarch64==2.28
diff --git a/conda/environments/go_cuda-130_arch-x86_64.yaml b/conda/environments/go_cuda-130_arch-x86_64.yaml
index 58738366..ca8dc8a8 100644
--- a/conda/environments/go_cuda-130_arch-x86_64.yaml
+++ b/conda/environments/go_cuda-130_arch-x86_64.yaml
@@ -24,8 +24,8 @@ dependencies:
 - libcurand-dev
 - libcusolver-dev
 - libcusparse-dev
-- libcuvs==25.12.*,>=0.0.0a0
-- libraft==25.12.*,>=0.0.0a0
+- libcuvs==26.2.*,>=0.0.0a0
+- libraft==26.2.*,>=0.0.0a0
 - nccl>=2.19
 - ninja
 - sysroot_linux-64==2.28
diff --git a/conda/environments/rust_cuda-129_arch-aarch64.yaml b/conda/environments/rust_cuda-129_arch-aarch64.yaml
index 28d7701d..8da31cef 100644
--- a/conda/environments/rust_cuda-129_arch-aarch64.yaml
+++ b/conda/environments/rust_cuda-129_arch-aarch64.yaml
@@ -21,8 +21,8 @@ dependencies:
 - libcurand-dev
 - libcusolver-dev
 - libcusparse-dev
-- libcuvs==25.12.*,>=0.0.0a0
-- libraft==25.12.*,>=0.0.0a0
+- libcuvs==26.2.*,>=0.0.0a0
+- libraft==26.2.*,>=0.0.0a0
 - make
 - nccl>=2.19
 - ninja
diff --git a/conda/environments/rust_cuda-129_arch-x86_64.yaml b/conda/environments/rust_cuda-129_arch-x86_64.yaml
index a2193218..3cbf7fad 100644
--- a/conda/environments/rust_cuda-129_arch-x86_64.yaml
+++ b/conda/environments/rust_cuda-129_arch-x86_64.yaml
@@ -21,8 +21,8 @@ dependencies:
 - libcurand-dev
 - libcusolver-dev
 - libcusparse-dev
-- libcuvs==25.12.*,>=0.0.0a0
-- libraft==25.12.*,>=0.0.0a0
+- libcuvs==26.2.*,>=0.0.0a0
+- libraft==26.2.*,>=0.0.0a0
 - make
 - nccl>=2.19
 - ninja
diff --git a/conda/environments/rust_cuda-130_arch-aarch64.yaml b/conda/environments/rust_cuda-130_arch-aarch64.yaml
index 7533f45e..c71dff5b 100644
--- a/conda/environments/rust_cuda-130_arch-aarch64.yaml
+++ b/conda/environments/rust_cuda-130_arch-aarch64.yaml
@@ -21,8 +21,8 @@ dependencies:
 - libcurand-dev
 - libcusolver-dev
 - libcusparse-dev
-- libcuvs==25.12.*,>=0.0.0a0
-- libraft==25.12.*,>=0.0.0a0
+- libcuvs==26.2.*,>=0.0.0a0
+- libraft==26.2.*,>=0.0.0a0
 - make
 - nccl>=2.19
 - ninja
diff --git a/conda/environments/rust_cuda-130_arch-x86_64.yaml b/conda/environments/rust_cuda-130_arch-x86_64.yaml
index 0b4dbd7b..a229c277 100644
--- a/conda/environments/rust_cuda-130_arch-x86_64.yaml
+++ b/conda/environments/rust_cuda-130_arch-x86_64.yaml
@@ -21,8 +21,8 @@ dependencies:
 - libcurand-dev
 - libcusolver-dev
 - libcusparse-dev
-- libcuvs==25.12.*,>=0.0.0a0
-- libraft==25.12.*,>=0.0.0a0
+- libcuvs==26.2.*,>=0.0.0a0
+- libraft==26.2.*,>=0.0.0a0
 - make
 - nccl>=2.19
 - ninja
diff --git a/dependencies.yaml b/dependencies.yaml
index f6a8a023..9d215484 100644
--- a/dependencies.yaml
+++ b/dependencies.yaml
@@ -470,7 +470,7 @@ dependencies:
       - output_types: [conda, pyproject, requirements]
         packages:
           - click
-          - cuvs==25.12.*,>=0.0.0a0
+          - cuvs==26.2.*,>=0.0.0a0
           - pandas
           - pyyaml
           - requests
@@ -497,17 +497,17 @@ dependencies:
     common:
       - output_types: conda
         packages:
-          - cuvs==25.12.*,>=0.0.0a0
+          - cuvs==26.2.*,>=0.0.0a0
   depends_on_cuvs_bench:
     common:
       - output_types: conda
         packages:
-          - cuvs-bench==25.12.*,>=0.0.0a0
+          - cuvs-bench==26.2.*,>=0.0.0a0
   depends_on_libcuvs:
     common:
       - output_types: conda
         packages:
-          - &libcuvs_unsuffixed libcuvs==25.12.*,>=0.0.0a0
+          - &libcuvs_unsuffixed libcuvs==26.2.*,>=0.0.0a0
       - output_types: requirements
         packages:
           # pip recognizes the index as a global option for the requirements.txt file
@@ -520,23 +520,23 @@ dependencies:
               cuda: "12.*"
               cuda_suffixed: "true"
             packages:
-              - libcuvs-cu12==25.12.*,>=0.0.0a0
+              - libcuvs-cu12==26.2.*,>=0.0.0a0
           - matrix:
               cuda: "13.*"
               cuda_suffixed: "true"
             packages:
-              - libcuvs-cu13==25.12.*,>=0.0.0a0
+              - libcuvs-cu13==26.2.*,>=0.0.0a0
           - {matrix: null, packages: [*libcuvs_unsuffixed]}
   depends_on_libcuvs_tests:
     common:
       - output_types: conda
         packages:
-          - libcuvs-tests==25.12.*,>=0.0.0a0
+          - libcuvs-tests==26.2.*,>=0.0.0a0
   depends_on_libraft:
     common:
       - output_types: conda
         packages:
-          - &libraft_unsuffixed libraft==25.12.*,>=0.0.0a0
+          - &libraft_unsuffixed libraft==26.2.*,>=0.0.0a0
       - output_types: requirements
         packages:
           # pip recognizes the index as a global option for the requirements.txt file
@@ -549,18 +549,18 @@ dependencies:
               cuda: "12.*"
               cuda_suffixed: "true"
             packages:
-              - libraft-cu12==25.12.*,>=0.0.0a0
+              - libraft-cu12==26.2.*,>=0.0.0a0
           - matrix:
               cuda: "13.*"
               cuda_suffixed: "true"
             packages:
-              - libraft-cu13==25.12.*,>=0.0.0a0
+              - libraft-cu13==26.2.*,>=0.0.0a0
           - {matrix: null, packages: [*libraft_unsuffixed]}
   depends_on_librmm:
     common:
       - output_types: conda
         packages:
-          - &librmm_unsuffixed librmm==25.12.*,>=0.0.0a0
+          - &librmm_unsuffixed librmm==26.2.*,>=0.0.0a0
       - output_types: requirements
         packages:
           # pip recognizes the index as a global option for the requirements.txt file
@@ -573,18 +573,18 @@ dependencies:
               cuda: "12.*"
               cuda_suffixed: "true"
             packages:
-              - librmm-cu12==25.12.*,>=0.0.0a0
+              - librmm-cu12==26.2.*,>=0.0.0a0
           - matrix:
               cuda: "13.*"
               cuda_suffixed: "true"
             packages:
-              - librmm-cu13==25.12.*,>=0.0.0a0
+              - librmm-cu13==26.2.*,>=0.0.0a0
           - {matrix: null, packages: [*librmm_unsuffixed]}
   depends_on_pylibraft:
     common:
       - output_types: conda
         packages:
-          - &pylibraft_unsuffixed pylibraft==25.12.*,>=0.0.0a0
+          - &pylibraft_unsuffixed pylibraft==26.2.*,>=0.0.0a0
       - output_types: requirements
         packages:
           # pip recognizes the index as a global option for the requirements.txt file
@@ -597,12 +597,12 @@ dependencies:
               cuda: "12.*"
               cuda_suffixed: "true"
             packages:
-              - pylibraft-cu12==25.12.*,>=0.0.0a0
+              - pylibraft-cu12==26.2.*,>=0.0.0a0
           - matrix:
               cuda: "13.*"
               cuda_suffixed: "true"
             packages:
-              - pylibraft-cu13==25.12.*,>=0.0.0a0
+              - pylibraft-cu13==26.2.*,>=0.0.0a0
           - {matrix: null, packages: [*pylibraft_unsuffixed]}
   depends_on_nccl:
     common:
diff --git a/docs/source/cuvs_bench/index.rst b/docs/source/cuvs_bench/index.rst
index 16914ac5..cc5f2731 100644
--- a/docs/source/cuvs_bench/index.rst
+++ b/docs/source/cuvs_bench/index.rst
@@ -89,7 +89,7 @@ The following command pulls the nightly container for Python version 3.10, CUDA

 .. code-block:: bash

-   docker pull rapidsai/cuvs-bench:25.12a-cuda12.5-py3.10 # substitute cuvs-bench for the exact desired container.
+   docker pull rapidsai/cuvs-bench:26.02a-cuda12.5-py3.10 # substitute cuvs-bench for the exact desired container.

 The CUDA and python versions can be changed for the supported values:
 - Supported CUDA versions: 12
@@ -237,7 +237,7 @@ For GPU-enabled systems, the `DATA_FOLDER` variable should be a local folder whe
     export DATA_FOLDER=path/to/store/datasets/and/results
     docker run --gpus all --rm -it -u $(id -u)                      \
         -v $DATA_FOLDER:/data/benchmarks                            \
-        rapidsai/cuvs-bench:25.12-cuda12.9-py3.13              \
+        rapidsai/cuvs-bench:26.02-cuda12.9-py3.13              \
         "--dataset deep-image-96-angular"                           \
         "--normalize"                                               \
         "--algorithms cuvs_cagra,cuvs_ivf_pq --batch-size 10 -k 10" \
@@ -250,7 +250,7 @@ Usage of the above command is as follows:
  * - Argument
    - Description

- * - `rapidsai/cuvs-bench:25.12-cuda12.9-py3.13`
+ * - `rapidsai/cuvs-bench:26.02-cuda12.9-py3.13`
    - Image to use. Can be either `cuvs-bench` or `cuvs-bench-datasets`

  * - `"--dataset deep-image-96-angular"`
@@ -297,7 +297,7 @@ All of the `cuvs-bench` images contain the Conda packages, so they can be used d
         --entrypoint /bin/bash                          \
         --workdir /data/benchmarks                      \
         -v $DATA_FOLDER:/data/benchmarks                \
-        rapidsai/cuvs-bench:25.12-cuda12.9-py3.13
+        rapidsai/cuvs-bench:26.02-cuda12.9-py3.13

 This will drop you into a command line in the container, with the `cuvs-bench` python package ready to use, as described in the [Running the benchmarks](#running-the-benchmarks) section above:

diff --git a/examples/go/README.md b/examples/go/README.md
index f49020de..2588ae19 100644
--- a/examples/go/README.md
+++ b/examples/go/README.md
@@ -24,7 +24,7 @@ export CC=clang

 2. Install the Go module:
 ```bash
-go get github.com/rapidsai/cuvs/go@v25.12.00 # 25.02.00 being your desired version, selected from https://github.com/rapidsai/cuvs/tags
+go get github.com/rapidsai/cuvs/go@v26.02.00 # 25.02.00 being your desired version, selected from https://github.com/rapidsai/cuvs/tags

Then you can build your project with the usual go build.

diff --git a/java/benchmarks/pom.xml b/java/benchmarks/pom.xml
index 45588933..52cf0130 100644
--- a/java/benchmarks/pom.xml
+++ b/java/benchmarks/pom.xml
@@ -10,7 +10,7 @@

 <groupId>com.nvidia.cuvs</groupId>
 <artifactId>benchmarks</artifactId>
  • 25.12.0
  • 26.02.0

    jar

    cuvs-java-benchmarks
    @@ -30,7 +30,7 @@

    com.nvidia.cuvs
    cuvs-java

  •        <!--CUVS_JAVA#VERSION_UPDATE_MARKER_START--><version>25.12.0</version><!--CUVS_JAVA#VERSION_UPDATE_MARKER_END-->
    
  •        <!--CUVS_JAVA#VERSION_UPDATE_MARKER_START--><version>26.02.0</version><!--CUVS_JAVA#VERSION_UPDATE_MARKER_END-->
           <type>jar</type>
       </dependency>
    

diff --git a/java/build.sh b/java/build.sh
index d40e97ad..339857bf 100755
--- a/java/build.sh
+++ b/java/build.sh
@@ -8,7 +8,7 @@ set -e -u -o pipefail
ARGS="$*"
NUMARGS=$#

-VERSION="25.12.0" # Note: The version is updated automatically when ci/release/update-version.sh is invoked
+VERSION="26.02.0" # Note: The version is updated automatically when ci/release/update-version.sh is invoked
GROUP_ID="com.nvidia.cuvs"

Identify CUDA major version.

diff --git a/java/cuvs-java/pom.xml b/java/cuvs-java/pom.xml
index 99d0eb5e..d0eb079f 100644
--- a/java/cuvs-java/pom.xml
+++ b/java/cuvs-java/pom.xml
@@ -11,7 +11,7 @@
com.nvidia.cuvs
cuvs-java

  • 25.12.0
  • 26.02.0 cuvs-java

    This project provides Java bindings for cuVS, enabling approximate nearest neighbors search and clustering
    diff --git a/java/examples/README.md b/java/examples/README.md
    index 9a48ad6e..58f7acdb 100644
    --- a/java/examples/README.md
    +++ b/java/examples/README.md
    @@ -11,17 +11,17 @@ This maven project contains examples for CAGRA, HNSW, and Bruteforce algorithms.

CAGRA Example

In the current directory do:

-mvn package && java --enable-native-access=ALL-UNNAMED -cp target/cuvs-java-examples-25.12.0.jar:$HOME/.m2/repository/com/nvidia/cuvs/cuvs-java/25.12.0/cuvs-java-25.12.0.jar com.nvidia.cuvs.examples.CagraExample
+mvn package && java --enable-native-access=ALL-UNNAMED -cp target/cuvs-java-examples-26.02.0.jar:$HOME/.m2/repository/com/nvidia/cuvs/cuvs-java/26.02.0/cuvs-java-26.02.0.jar com.nvidia.cuvs.examples.CagraExample

HNSW Example

In the current directory do:

-mvn package && java --enable-native-access=ALL-UNNAMED -cp target/cuvs-java-examples-25.12.0.jar:$HOME/.m2/repository/com/nvidia/cuvs/cuvs-java/25.12.0/cuvs-java-25.12.0.jar com.nvidia.cuvs.examples.HnswExample
+mvn package && java --enable-native-access=ALL-UNNAMED -cp target/cuvs-java-examples-26.02.0.jar:$HOME/.m2/repository/com/nvidia/cuvs/cuvs-java/26.02.0/cuvs-java-26.02.0.jar com.nvidia.cuvs.examples.HnswExample

Bruteforce Example

In the current directory do:

-mvn package && java --enable-native-access=ALL-UNNAMED -cp target/cuvs-java-examples-25.12.0.jar:$HOME/.m2/repository/com/nvidia/cuvs/cuvs-java/25.12.0/cuvs-java-25.12.0.jar com.nvidia.cuvs.examples.BruteForceExample
+mvn package && java --enable-native-access=ALL-UNNAMED -cp target/cuvs-java-examples-26.02.0.jar:$HOME/.m2/repository/com/nvidia/cuvs/cuvs-java/26.02.0/cuvs-java-26.02.0.jar com.nvidia.cuvs.examples.BruteForceExample

diff --git a/java/examples/pom.xml b/java/examples/pom.xml
index 8ab8a7a5..0b312af5 100644
--- a/java/examples/pom.xml
+++ b/java/examples/pom.xml
@@ -5,7 +5,7 @@
com.nvidia.cuvs.examples
cuvs-java-examples

  • 25.12.0
  • 26.02.0

    cuvs-java-examples

@@ -18,7 +18,7 @@
com.nvidia.cuvs
cuvs-java

  •  <!--CUVS_JAVA#VERSION_UPDATE_MARKER_START--><version>25.12.0</version><!--CUVS_JAVA#VERSION_UPDATE_MARKER_END-->
    
  •  <!--CUVS_JAVA#VERSION_UPDATE_MARKER_START--><version>26.02.0</version><!--CUVS_JAVA#VERSION_UPDATE_MARKER_END-->
    

diff --git a/python/cuvs/pyproject.toml b/python/cuvs/pyproject.toml
index 6edc2a15..be55ee46 100644
--- a/python/cuvs/pyproject.toml
+++ b/python/cuvs/pyproject.toml
@@ -21,9 +21,9 @@ license = { text = "Apache-2.0" }
requires-python = ">=3.10"
dependencies = [
"cuda-python>=13.0.1,<14.0a0",

  • "libcuvs==25.12.*,>=0.0.0a0",
  • "libcuvs==26.2.*,>=0.0.0a0",
    "numpy>=1.23,<3.0a0",
  • "pylibraft==25.12.*,>=0.0.0a0",
  • "pylibraft==26.2.*,>=0.0.0a0",
    ] # This list was generated by rapids-dependency-file-generator. To make changes, edit ../../dependencies.yaml and run rapids-dependency-file-generator.
    classifiers = [
    "Intended Audience :: Developers",
    @@ -108,9 +108,9 @@ requires = [
    "cmake>=3.30.4",
    "cuda-python>=13.0.1,<14.0a0",
    "cython>=3.0.0",
  • "libcuvs==25.12.*,>=0.0.0a0",
  • "libraft==25.12.*,>=0.0.0a0",
  • "librmm==25.12.*,>=0.0.0a0",
  • "libcuvs==26.2.*,>=0.0.0a0",
  • "libraft==26.2.*,>=0.0.0a0",
  • "librmm==26.2.*,>=0.0.0a0",
    "ninja",
    ] # This list was generated by rapids-dependency-file-generator. To make changes, edit ../../dependencies.yaml and run rapids-dependency-file-generator.
    build-backend = "scikit_build_core.build"
    diff --git a/python/cuvs_bench/pyproject.toml b/python/cuvs_bench/pyproject.toml
    index ce772119..cafbe615 100644
    --- a/python/cuvs_bench/pyproject.toml
    +++ b/python/cuvs_bench/pyproject.toml
    @@ -20,7 +20,7 @@ license = { text = "Apache-2.0" }
    requires-python = ">=3.10"
    dependencies = [
    "click",
  • "cuvs==25.12.*,>=0.0.0a0",
  • "cuvs==26.2.*,>=0.0.0a0",
    "matplotlib>=3.9",
    "pandas",
    "pyyaml",
    diff --git a/python/libcuvs/pyproject.toml b/python/libcuvs/pyproject.toml
    index 9690708c..cc60040c 100644
    --- a/python/libcuvs/pyproject.toml
    +++ b/python/libcuvs/pyproject.toml
    @@ -20,8 +20,8 @@ license = { text = "Apache-2.0" }
    requires-python = ">=3.10"
    dependencies = [
    "cuda-toolkit[cublas,curand,cusolver,cusparse]>=12,<14",
  • "libraft==25.12.*,>=0.0.0a0",
  • "librmm==25.12.*,>=0.0.0a0",
  • "libraft==26.2.*,>=0.0.0a0",
  • "librmm==26.2.,>=0.0.0a0",
    ] # This list was generated by rapids-dependency-file-generator. To make changes, edit ../../dependencies.yaml and run rapids-dependency-file-generator.
    classifiers = [
    "Intended Audience :: Developers",
    @@ -79,8 +79,8 @@ regex = "(?P.
    )"
    build-backend = "scikit_build_core.build"
    requires = [
    "cmake>=3.30.4",
  • "libraft==25.12.*,>=0.0.0a0",
  • "librmm==25.12.*,>=0.0.0a0",
  • "libraft==26.2.*,>=0.0.0a0",
  • "librmm==26.2.*,>=0.0.0a0",
    "ninja",
    ] # This list was generated by rapids-dependency-file-generator. To make changes, edit ../../dependencies.yaml and run rapids-dependency-file-generator.
    dependencies-file = "../../dependencies.yaml"
    diff --git a/rust/Cargo.toml b/rust/Cargo.toml
    index 3e45ac65..2ad456db 100644
    --- a/rust/Cargo.toml
    +++ b/rust/Cargo.toml
    @@ -6,7 +6,7 @@ members = [
    resolver = "2"

[workspace.package]
-version = "25.12.0"
+version = "26.2.0"
edition = "2021"
repository = "https://github.com/rapidsai/cuvs"
homepage = "https://github.com/rapidsai/cuvs"
diff --git a/rust/cuvs/Cargo.toml b/rust/cuvs/Cargo.toml
index 30429f81..62b6d513 100644
--- a/rust/cuvs/Cargo.toml
+++ b/rust/cuvs/Cargo.toml
@@ -9,7 +9,7 @@ authors.workspace = true
license.workspace = true

[dependencies]
-ffi = { package = "cuvs-sys", path = "../cuvs-sys", version = "25.12.0" }
+ffi = { package = "cuvs-sys", path = "../cuvs-sys", version = "26.2.0" }
ndarray = "0.15"

[dev-dependencies]

@rockhowse
Copy link
Contributor Author

--run-context=release with version 25.12.00

command

❯ ./ci/release/update-version.sh --run-context=release 25.12.00
Using run-context from CLI: release
Preparing release branch update 25.12.00a => 25.12.00 (targeting release/25.12 branch)

5 files changed

❯ git status
On branch ops-4339-update-version-sh-support-main-branching-strategy
Your branch is up to date with 'origin/ops-4339-update-version-sh-support-main-branching-strategy'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	modified:   .github/workflows/build.yaml
	modified:   .github/workflows/pr.yaml
	modified:   .github/workflows/test.yaml
	modified:   .github/workflows/trigger-breaking-change-alert.yaml
	modified:   RAPIDS_BRANCH

full diff

❯ git diff | cat
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index 29128311..0ccfe1e6 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -34,7 +34,7 @@ concurrency:
 jobs:
   cpp-build:
     secrets: inherit
-    uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@main
+    uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@release/25.12
     with:
       build_type: ${{ inputs.build_type || 'branch' }}
       branch: ${{ inputs.branch }}
@@ -44,7 +44,7 @@ jobs:
   rust-build:
     needs: cpp-build
     secrets: inherit
-    uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main
+    uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@release/25.12
     # Artifacts are not published from these jobs, so it's safe to run for multiple CUDA versions.
     # If these jobs start producing artifacts, the names will have to differentiate between CUDA versions.
     strategy:
@@ -65,7 +65,7 @@ jobs:
   go-build:
     needs: cpp-build
     secrets: inherit
-    uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main
+    uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@release/25.12
     # Artifacts are not published from these jobs, so it's safe to run for multiple CUDA versions.
     # If these jobs start producing artifacts, the names will have to differentiate between CUDA versions.
     strategy:
@@ -86,7 +86,7 @@ jobs:
   java-build:
     needs: cpp-build
     secrets: inherit
-    uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main
+    uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@release/25.12
     # Artifacts are not published from these jobs, so it's safe to run for multiple CUDA versions.
     # If these jobs start producing artifacts, the names will have to differentiate between CUDA versions.
     strategy:
@@ -108,7 +108,7 @@ jobs:
   python-build:
     needs: [cpp-build]
     secrets: inherit
-    uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@main
+    uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@release/25.12
     with:
       build_type: ${{ inputs.build_type || 'branch' }}
       branch: ${{ inputs.branch }}
@@ -118,7 +118,7 @@ jobs:
   upload-conda:
     needs: [cpp-build, python-build]
     secrets: inherit
-    uses: rapidsai/shared-workflows/.github/workflows/conda-upload-packages.yaml@main
+    uses: rapidsai/shared-workflows/.github/workflows/conda-upload-packages.yaml@release/25.12
     with:
       build_type: ${{ inputs.build_type || 'branch' }}
       branch: ${{ inputs.branch }}
@@ -133,7 +133,7 @@ jobs:
     if: github.ref_type == 'branch'
     needs: python-build
     secrets: inherit
-    uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main
+    uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@release/25.12
     with:
       arch: "amd64"
       branch: ${{ inputs.branch }}
@@ -145,7 +145,7 @@ jobs:
       sha: ${{ inputs.sha }}
   wheel-build-libcuvs:
     secrets: inherit
-    uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main
+    uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@release/25.12
     with:
       build_type: ${{ inputs.build_type || 'branch' }}
       branch: ${{ inputs.branch }}
@@ -159,7 +159,7 @@ jobs:
   wheel-publish-libcuvs:
     needs: wheel-build-libcuvs
     secrets: inherit
-    uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@main
+    uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@release/25.12
     with:
       build_type: ${{ inputs.build_type || 'branch' }}
       branch: ${{ inputs.branch }}
@@ -170,7 +170,7 @@ jobs:
   wheel-build-cuvs:
     needs: wheel-build-libcuvs
     secrets: inherit
-    uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main
+    uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@release/25.12
     with:
       build_type: ${{ inputs.build_type || 'branch' }}
       branch: ${{ inputs.branch }}
@@ -182,7 +182,7 @@ jobs:
   wheel-publish-cuvs:
     needs: wheel-build-cuvs
     secrets: inherit
-    uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@main
+    uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@release/25.12
     with:
       build_type: ${{ inputs.build_type || 'branch' }}
       branch: ${{ inputs.branch }}
diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml
index a69bb193..fc99ae51 100644
--- a/.github/workflows/pr.yaml
+++ b/.github/workflows/pr.yaml
@@ -27,7 +27,7 @@ jobs:
       - devcontainer
       - telemetry-setup
     secrets: inherit
-    uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@main
+    uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@release/25.12
     if: always()
     with:
       needs: ${{ toJSON(needs) }}
@@ -54,7 +54,7 @@ jobs:
   changed-files:
     needs: telemetry-setup
     secrets: inherit
-    uses: rapidsai/shared-workflows/.github/workflows/changed-files.yaml@main
+    uses: rapidsai/shared-workflows/.github/workflows/changed-files.yaml@release/25.12
     with:
       files_yaml: |
         test_cpp:
@@ -106,14 +106,14 @@ jobs:
   checks:
     needs: telemetry-setup
     secrets: inherit
-    uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@main
+    uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@release/25.12
     with:
       enable_check_generated_files: false
       ignored_pr_jobs: "telemetry-summarize"
   conda-cpp-build:
     needs: checks
     secrets: inherit
-    uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@main
+    uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@release/25.12
     with:
       build_type: pull-request
       node_type: cpu16
@@ -121,7 +121,7 @@ jobs:
   conda-cpp-tests:
     needs: [conda-cpp-build, changed-files]
     secrets: inherit
-    uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@main
+    uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@release/25.12
     if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_cpp
     with:
       build_type: pull-request
@@ -129,21 +129,21 @@ jobs:
   conda-cpp-checks:
     needs: conda-cpp-build
     secrets: inherit
-    uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-post-build-checks.yaml@main
+    uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-post-build-checks.yaml@release/25.12
     with:
       build_type: pull-request
       symbol_exclusions: (void (thrust::|cub::))
   conda-python-build:
     needs: conda-cpp-build
     secrets: inherit
-    uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@main
+    uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@release/25.12
     with:
       build_type: pull-request
       script: ci/build_python.sh
   conda-python-tests:
     needs: [conda-python-build, changed-files]
     secrets: inherit
-    uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@main
+    uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@release/25.12
     if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python
     with:
       build_type: pull-request
@@ -151,7 +151,7 @@ jobs:
   conda-java-tests:
     needs: [conda-cpp-build, changed-files]
     secrets: inherit
-    uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main
+    uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@release/25.12
     if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_java
     # Artifacts are not published from these jobs, so it's safe to run for multiple CUDA versions.
     # If these jobs start producing artifacts, the names will have to differentiate between CUDA versions.
@@ -172,7 +172,7 @@ jobs:
   docs-build:
     needs: conda-python-build
     secrets: inherit
-    uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main
+    uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@release/25.12
     with:
       build_type: pull-request
       node_type: "gpu-l4-latest-1"
@@ -182,7 +182,7 @@ jobs:
   rust-build:
     needs: conda-cpp-build
     secrets: inherit
-    uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main
+    uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@release/25.12
     # Artifacts are not published from these jobs, so it's safe to run for multiple CUDA versions.
     # If these jobs start producing artifacts, the names will have to differentiate between CUDA versions.
     strategy:
@@ -200,7 +200,7 @@ jobs:
   go-build:
     needs: conda-cpp-build
     secrets: inherit
-    uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main
+    uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@release/25.12
     # Artifacts are not published from these jobs, so it's safe to run for multiple CUDA versions.
     # If these jobs start producing artifacts, the names will have to differentiate between CUDA versions.
     strategy:
@@ -218,7 +218,7 @@ jobs:
   wheel-build-libcuvs:
     needs: checks
     secrets: inherit
-    uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main
+    uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@release/25.12
     with:
       build_type: pull-request
       script: ci/build_wheel_libcuvs.sh
@@ -229,7 +229,7 @@ jobs:
   wheel-build-cuvs:
     needs: wheel-build-libcuvs
     secrets: inherit
-    uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main
+    uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@release/25.12
     with:
       build_type: pull-request
       script: ci/build_wheel_cuvs.sh
@@ -238,7 +238,7 @@ jobs:
   wheel-tests-cuvs:
     needs: [wheel-build-cuvs, changed-files]
     secrets: inherit
-    uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@main
+    uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@release/25.12
     if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python
     with:
       build_type: pull-request
@@ -246,7 +246,7 @@ jobs:
   devcontainer:
     secrets: inherit
     needs: telemetry-setup
-    uses: rapidsai/shared-workflows/.github/workflows/build-in-devcontainer.yaml@main
+    uses: rapidsai/shared-workflows/.github/workflows/build-in-devcontainer.yaml@release/25.12
     with:
       arch: '["amd64", "arm64"]'
       cuda: '["13.0"]'
diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml
index 28d72b0c..1af29bbc 100644
--- a/.github/workflows/test.yaml
+++ b/.github/workflows/test.yaml
@@ -25,7 +25,7 @@ on:
 jobs:
   conda-cpp-checks:
     secrets: inherit
-    uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-post-build-checks.yaml@main
+    uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-post-build-checks.yaml@release/25.12
     with:
       build_type: ${{ inputs.build_type }}
       branch: ${{ inputs.branch }}
@@ -34,7 +34,7 @@ jobs:
       symbol_exclusions: (void (thrust::|cub::))
   conda-cpp-tests:
     secrets: inherit
-    uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@main
+    uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@release/25.12
     with:
       build_type: ${{ inputs.build_type }}
       branch: ${{ inputs.branch }}
@@ -43,7 +43,7 @@ jobs:
       sha: ${{ inputs.sha }}
   conda-python-tests:
     secrets: inherit
-    uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@main
+    uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@release/25.12
     with:
       build_type: ${{ inputs.build_type }}
       branch: ${{ inputs.branch }}
@@ -52,7 +52,7 @@ jobs:
       sha: ${{ inputs.sha }}
   conda-java-tests:
     secrets: inherit
-    uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main
+    uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@release/25.12
     # Artifacts are not published from these jobs, so it's safe to run for multiple CUDA versions.
     # If these jobs start producing artifacts, the names will have to differentiate between CUDA versions.
     strategy:
@@ -72,7 +72,7 @@ jobs:
       script: "ci/test_java.sh"
   wheel-tests-cuvs:
     secrets: inherit
-    uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@main
+    uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@release/25.12
     with:
       build_type: ${{ inputs.build_type }}
       branch: ${{ inputs.branch }}
diff --git a/.github/workflows/trigger-breaking-change-alert.yaml b/.github/workflows/trigger-breaking-change-alert.yaml
index c471e2a1..0b885544 100644
--- a/.github/workflows/trigger-breaking-change-alert.yaml
+++ b/.github/workflows/trigger-breaking-change-alert.yaml
@@ -12,7 +12,7 @@ jobs:
   trigger-notifier:
     if: contains(github.event.pull_request.labels.*.name, 'breaking')
     secrets: inherit
-    uses: rapidsai/shared-workflows/.github/workflows/breaking-change-alert.yaml@main
+    uses: rapidsai/shared-workflows/.github/workflows/breaking-change-alert.yaml@release/25.12
     with:
       sender_login: ${{ github.event.sender.login }}
       sender_avatar: ${{ github.event.sender.avatar_url }}
diff --git a/RAPIDS_BRANCH b/RAPIDS_BRANCH
index ba2906d0..26b84372 100644
--- a/RAPIDS_BRANCH
+++ b/RAPIDS_BRANCH
@@ -1 +1 @@
-main
+release/25.12

@rockhowse rockhowse changed the title Ops 4339 update version sh support main branching strategy refactored update-version.sh to handle new branching strategy Nov 12, 2025
@rockhowse rockhowse marked this pull request as ready for review November 12, 2025 16:45
@rockhowse rockhowse requested review from a team as code owners November 12, 2025 16:45
@rockhowse rockhowse requested a review from gforsyth November 12, 2025 16:45

### #include style
[include_checker.py](https://github.com/rapidsai/raft/blob/branch-25.12/cpp/scripts/include_checker.py) is used to enforce the include style as follows:
[include_checker.py](https://github.com/rapidsai/raft/blob/main/cpp/scripts/include_checker.py) is used to enforce the include style as follows:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we might want to change this to /cuvs/ while we're at it

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like this wasn't part of the changes we made, but I agree, let's update it as part of this PR:

I confirmed that the URL exists and is valid:

:
elif [[ "${RUN_CONTEXT}" == "release" ]]; then
# In release context, use release branch for documentation links (word boundaries to avoid partial matches)
sed_runner "/rapidsai\\/raft/ s|\\bmain\\b|release/${NEXT_SHORT_TAG}|g" docs/source/developer_guide.md
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be \\/cuvs/? Not sure if the raft was intentional here

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yup, this looks like a potential copy-pasta thing. I have updated it to use cuvs

Copy link
Contributor

@mythrocks mythrocks left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, barring what @cjnolet points out regarding the raft reference.

@rockhowse
Copy link
Contributor Author

/merge

@rapids-bot rapids-bot bot merged commit 55a31fd into rapidsai:main Nov 13, 2025
79 checks passed
enp1s0 pushed a commit to enp1s0/cuvs that referenced this pull request Nov 16, 2025
…ai#1535)

This PR supports handling the new main branch strategy outlined below:

* [RSN 47 - Changes to RAPIDS branching strategy in 25.12](https://docs.rapids.ai/notices/rsn0047/)

The `update-version.sh` script should now supports two modes controlled via  `CLI` params or `ENV` vars:

CLI arguments: `--run-context=main|release`
ENV var `RAPIDS_RUN_CONTEXT=main|release`

xref: rapidsai/build-planning#224

Authors:
  - Nate Rock (https://github.com/rockhowse)

Approvers:
  - Jake Awe (https://github.com/AyodeAwe)
  - Corey J. Nolet (https://github.com/cjnolet)
  - MithunR (https://github.com/mythrocks)

URL: rapidsai#1535
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working non-breaking Introduces a non-breaking change

Development

Successfully merging this pull request may close these issues.

4 participants