diff --git a/.github/workflows/deploy-cudf-java-docs.yaml b/.github/workflows/deploy-cudf-java-docs.yaml index 287fb0e5453..03ead9694be 100644 --- a/.github/workflows/deploy-cudf-java-docs.yaml +++ b/.github/workflows/deploy-cudf-java-docs.yaml @@ -2,10 +2,6 @@ name: Deploy cudf-java docs on: workflow_dispatch: inputs: - new_stable_value: - description: "New stable value for cudf-java" - required: true - default: "1" version: description: "Version being released. Format: YY.MM or YY.MM.P e.g 24.08 or 24.08.1" required: true @@ -27,6 +23,17 @@ jobs: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: persist-credentials: false + - name: Update cudf-java source data and generated artifacts + env: + VERSION: ${{ inputs.version }} + run: | + python3 -m venv /tmp/docs-automation + /tmp/docs-automation/bin/python -m pip install pyyaml ruamel.yaml + /tmp/docs-automation/bin/python ci/update-docs-project.py \ + --project cudf-java \ + --channel stable \ + --version "${VERSION}" + /tmp/docs-automation/bin/python ci/generate-projects-to-versions.py - uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 #v5.1.1 with: role-to-assume: ${{ vars.AWS_ROLE_ARN }} @@ -36,22 +43,6 @@ jobs: env: VERSION: ${{ inputs.version }} run: ci/upload_cudf_java_docs.sh "${VERSION}" - - name: Update stable value for cudf-java in docs.yml and projects-to-versions.json - env: - NEW_STABLE_VALUE: ${{ inputs.new_stable_value }} - VERSION: ${{ inputs.version }} - run: | - if [ "$NEW_STABLE_VALUE" != "1" ]; then - echo "Invalid value for new_stable_value: $NEW_STABLE_VALUE" - exit 1 - fi - - sed -i '/cudf-java:/,/stable:/s/stable: .*/stable: '"$NEW_STABLE_VALUE"'/' _data/docs.yml - echo "Updated stable value for cudf-java to $NEW_STABLE_VALUE in _data/docs.yml" - - jq --arg version "$VERSION" '."cudf-java".stable = $version' ci/customization/projects-to-versions.json > tmp.json \ - && mv tmp.json ci/customization/projects-to-versions.json - echo "Updated cudf-java stable version to $VERSION in projects-to-versions.json" - name: Create Pull Request uses: peter-evans/create-pull-request@5f6978faf089d4d20b00c7766989d076bb2fc7f1 # v8.1.1 with: diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 6cde6c075a7..8e633f3184e 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -20,3 +20,27 @@ jobs: with: persist-credentials: false - uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # v3.0.1 + build-site: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + persist-credentials: false + - name: Validate source data and generated artifacts + run: | + python3 -m venv /tmp/docs-validation + /tmp/docs-validation/bin/python -m pip install pyyaml + /tmp/docs-validation/bin/python ci/generate-release-data.py --check + /tmp/docs-validation/bin/python ci/generate-projects-to-versions.py --check + /tmp/docs-validation/bin/python ci/validate-platform-support.py + /tmp/docs-validation/bin/python ci/validate-install-packages.py + /tmp/docs-validation/bin/python ci/validate-notices.py + # This step uses the `.ruby-version` file. + - uses: ruby/setup-ruby@6aaa311d81eba98ae12eaffbcb63296ace0efcde # v1.307.0 + - name: Build Jekyll site + run: | + bundle install + bundle exec jekyll build + - name: Test rendered install selector + run: node ci/test-selector.mjs diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 404742e42c5..8641c45c966 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,4 +1,4 @@ -# Copyright (c) 2024-2025, NVIDIA CORPORATION. +# Copyright (c) 2024-2026, NVIDIA CORPORATION. ci: autofix_commit_msg: "[pre-commit.ci] auto code formatting" @@ -37,6 +37,13 @@ repos: - id: check-yaml - repo: local hooks: + - id: generate-release-data + name: generate-release-data + entry: ./ci/generate-release-data.py + language: python + pass_filenames: false + additional_dependencies: + - pyyaml - id: generate-projects-to-versions name: generate-projects-to-versions entry: ./ci/generate-projects-to-versions.py @@ -44,6 +51,30 @@ repos: pass_filenames: false additional_dependencies: - pyyaml + - id: validate-platform-support + name: validate-platform-support + entry: ./ci/validate-platform-support.py + language: python + pass_filenames: false + files: ^(ci/(data_utils|validate-platform-support)\.py|_data/platform_support\.yml|_data/releases\.json|_includes/selector\.html)$ + additional_dependencies: + - pyyaml + - id: validate-install-packages + name: validate-install-packages + entry: ./ci/validate-install-packages.py + language: python + pass_filenames: false + files: ^(ci/(data_utils|validate-install-packages)\.py|_data/(docs|install_packages|platform_support|releases)\.(json|yml)|_includes/selector\.html)$ + additional_dependencies: + - pyyaml + - id: validate-notices + name: validate-notices + entry: ./ci/validate-notices.py + language: python + pass_filenames: false + files: ^(ci/(new-notice|validate-notices)\.py|_notices/.*\.md)$ + additional_dependencies: + - pyyaml - repo: https://github.com/sirosen/texthooks rev: 0.7.1 hooks: diff --git a/_config.yml b/_config.yml index 19896d9c2fc..d8f457b4dd3 100644 --- a/_config.yml +++ b/_config.yml @@ -11,6 +11,7 @@ permalink: pretty exclude: - CONTRIBUTING.md - README.md + - automation-proposal.md - release_checklist.md - ci/ - node_modules/ diff --git a/_data/docs.yml b/_data/docs.yml index 939c48953e9..35c35b6ecfe 100644 --- a/_data/docs.yml +++ b/_data/docs.yml @@ -5,6 +5,7 @@ apis: cudf: name: cuDF path: cudf + redirect: stable desc: 'cuDF is a Python GPU DataFrame library (built on the [Apache Arrow](http://arrow.apache.org/) columnar memory format) for loading, joining, aggregating, filtering, and otherwise manipulating data.' ghlink: https://github.com/rapidsai/cudf cllink: https://github.com/rapidsai/cudf/blob/main/CHANGELOG.md @@ -16,6 +17,7 @@ apis: dask-cudf: name: dask-cuDF path: dask-cudf + redirect: stable desc: 'Dask-cuDF extends Dask where necessary to allow its DataFrame partitions to be processed using cuDF GPU DataFrames instead of Pandas DataFrames. Dask-cuDF is used to leverage multiple gpus and multiple nodes for more performance at larger scales' ghlink: https://github.com/rapidsai/cudf cllink: https://github.com/rapidsai/cudf/blob/main/CHANGELOG.md @@ -27,6 +29,7 @@ apis: cuml: name: cuML path: cuml + redirect: stable desc: 'cuML is a suite of libraries that implement machine learning algorithms and mathematical primitives functions that share compatible APIs with other RAPIDS projects.' ghlink: https://github.com/rapidsai/cuml cllink: https://github.com/rapidsai/cuml/blob/main/CHANGELOG.md @@ -38,6 +41,7 @@ apis: cugraph: name: cuGraph path: cugraph + redirect: stable desc: 'cuGraph is a GPU accelerated graph analytics library, the core part of an ecosystem of libraries supporting graph-processing workloads like NetworkX integration (nx-cugraph), GNNs with PyG (cugraph-pyg), and more efficient memory management for large graphs (pylibwholegraph).' ghlink: https://github.com/rapidsai/cugraph cllink: https://github.com/rapidsai/cugraph/blob/main/CHANGELOG.md @@ -49,6 +53,7 @@ apis: cuxfilter: name: cuxfilter path: cuxfilter + redirect: stable desc: 'cuxfilter acts as a connector library, which provides the connections between different visualization libraries and a GPU dataframe without much hassle. This also allows the user to use charts from different libraries in a single dashboard, while also providing the interaction.' ghlink: https://github.com/rapidsai/cuxfilter cllink: https://github.com/rapidsai/cuxfilter/blob/main/CHANGELOG.md @@ -60,6 +65,7 @@ apis: cudf-java: name: 'Java + cuDF' path: cudf-java + redirect: stable desc: 'Java bindings for the cuDF library.' ghlink: https://github.com/rapidsai/cudf/tree/main/java cllink: https://github.com/rapidsai/cudf/blob/main/CHANGELOG.md @@ -71,6 +77,7 @@ apis: cucim: name: cuCIM path: cucim + redirect: stable desc: 'The RAPIDS cuCIM is an extensible toolkit designed to provide GPU accelerated I/O, computer vision & image processing primitives for N-Dimensional images with a focus on biomedical imaging.' ghlink: https://github.com/rapidsai/cucim cllink: https://github.com/rapidsai/cucim/blob/main/CHANGELOG.md @@ -82,6 +89,7 @@ apis: cuvs: name: cuVS path: cuvs + redirect: stable desc: 'cuVS is a library for GPU-accelerated vector search and clustering.' ghlink: https://github.com/rapidsai/cuvs cllink: https://github.com/rapidsai/cuvs/blob/main/CHANGELOG.md @@ -93,6 +101,7 @@ apis: kvikio: name: KvikIO path: kvikio + redirect: stable desc: "KvikIO is a Python and C++ library for high performance file IO using GPUDirect Storage (GDS)." ghlink: https://github.com/rapidsai/kvikio cllink: https://github.com/rapidsai/kvikio/blob/main/CHANGELOG.md @@ -104,6 +113,7 @@ apis: raft: name: RAFT path: raft + redirect: stable desc: "RAFT contains fundamental widely-used algorithms and primitives for vector search, machine learning, and information retrieval." ghlink: https://github.com/rapidsai/raft cllink: https://github.com/rapidsai/raft/blob/main/CHANGELOG.md @@ -115,6 +125,7 @@ apis: dask-cuda: name: Dask-CUDA path: dask-cuda + redirect: stable desc: "Various utilities to improve deployment and management of Dask workers on CUDA-enabled systems." ghlink: https://github.com/rapidsai/dask-cuda cllink: https://github.com/rapidsai/dask-cuda/blob/main/CHANGELOG.md @@ -126,6 +137,7 @@ apis: rmm: name: RMM path: rmm + redirect: stable desc: 'RAPIDS Memory Manager (RMM) is a central place for all device memory allocations in cuDF (C++ and Python) and other RAPIDS libraries. In addition, it is a replacement allocator for CUDA Device Memory (and CUDA Managed Memory) and a pool allocator to make CUDA device memory allocation / deallocation faster and asynchronous.' ghlink: https://github.com/rapidsai/rmm cllink: https://github.com/rapidsai/rmm/blob/main/CHANGELOG.md @@ -137,6 +149,7 @@ apis: rapidsmpf: name: RapidsMPF path: rapidsmpf + redirect: stable desc: 'RAPIDS Multi-Process Foundation (rapidsmpf) is a collection of multi-GPU, distributed memory algorithms written in C++ and exposed to Python.' ghlink: https://github.com/rapidsai/rapidsmpf versions: @@ -147,6 +160,8 @@ apis: ucxx: name: UCXX path: ucxx + release_version_field: ucxx_version + redirect: stable desc: 'UCXX is the Python interface for [UCX](https://github.com/openucx/ucx), a low-level high-performance networking library. UCX and UCXX support several transport methods including InfiniBand and NVLink while still using traditional networking protocols like TCP.' ghlink: https://github.com/rapidsai/ucxx cllink: https://github.com/rapidsai/ucxx/blob/main/CHANGELOG.md @@ -159,6 +174,7 @@ apis: nvforest: name: nvForest path: nvforest + redirect: stable desc: 'nvForest is a highly-optimized and lightweight RAPIDS library that enables fast inference for decision tree models on NVIDIA GPUs and CPUs.' ghlink: https://github.com/rapidsai/nvforest cllink: https://github.com/rapidsai/nvforest/blob/main/CHANGELOG.md @@ -174,6 +190,7 @@ libs: librmm: name: librmm path: librmm + redirect: /api/rmm/stable/ desc: 'RAPIDS Memory Manager (RMM) is a central place for all device memory allocations in cuDF (C++ and Python) and other RAPIDS libraries. In addition, it is a replacement allocator for CUDA Device Memory (and CUDA Managed Memory) and a pool allocator to make CUDA device memory allocation / deallocation faster and asynchronous.' ghlink: https://github.com/rapidsai/rmm cllink: https://github.com/rapidsai/rmm/blob/main/CHANGELOG.md @@ -186,6 +203,7 @@ libs: libcudf: name: libcudf path: libcudf + redirect: stable desc: 'libcudf is a C/C++ CUDA library for implementing standard dataframe operations.' ghlink: https://github.com/rapidsai/cudf cllink: https://github.com/rapidsai/cudf/blob/main/CHANGELOG.md @@ -197,6 +215,7 @@ libs: libcuml: name: libcuml path: libcuml + redirect: stable desc: 'libcuml is a C/C++ CUDA library for cuML.' ghlink: https://github.com/rapidsai/cuml cllink: https://github.com/rapidsai/cuml/blob/main/CHANGELOG.md @@ -208,6 +227,7 @@ libs: libkvikio: name: libkvikio path: libkvikio + redirect: stable desc: "libkvikio is a C++ header-only library providing bindings to cuFile, which enables GPUDirect Storage (GDS)." ghlink: https://github.com/rapidsai/kvikio cllink: https://github.com/rapidsai/kvikio/blob/main/CHANGELOG.md @@ -219,6 +239,7 @@ libs: librapidsmpf: name: librapidsmpf path: librapidsmpf + redirect: stable desc: "librapidsmpf is a C++ collection of multi-GPU, distributed memory algorithms." ghlink: https://github.com/rapidsai/rapidsmpf versions: @@ -229,6 +250,8 @@ libs: libucxx: name: libucxx path: libucxx + release_version_field: ucxx_version + redirect: stable desc: "libucxx is an object-oriented C++ interface for UCX, with native support for Python bindings." ghlink: https://github.com/rapidsai/ucxx versions: @@ -239,6 +262,7 @@ libs: rapids-cmake: name: rapids-cmake path: rapids-cmake + redirect: stable desc: "This is a collection of CMake modules that are useful for all CUDA RAPIDS projects. By sharing the code in a single place it makes rolling out CMake fixes easier." ghlink: https://github.com/rapidsai/rapids-cmake cllink: https://github.com/rapidsai/rapids-cmake/blob/main/CHANGELOG.md @@ -254,6 +278,7 @@ inactive-projects: cuproj: name: cuProj path: cuProj + redirect: false # Historical docs have no lowercase root redirect. desc: 'cuProj is a GPU-accelerated geographic and geodetic coordinate transformation library which supports projecting coordinates between coordinate reference systems (CRSes), compatible with PyProj.' ghlink: https://github.com/rapidsai/cuspatial/tree/main/python/cuproj cllink: https://github.com/rapidsai/cuspatial/blob/main/CHANGELOG.md # cuProj is housed within cuSpatial so updates remain in the cuSpatial changelog @@ -281,6 +306,7 @@ inactive-projects: cuspatial: name: cuSpatial path: cuspatial + redirect: stable desc: 'cuSpatial is a GPU-accelerated vector GIS library including binary predicates (DE-9IM), point-in-polygon, spatial join, distances, and trajectory analysis.' ghlink: https://github.com/rapidsai/cuspatial cllink: https://github.com/rapidsai/cuspatial/blob/main/CHANGELOG.md @@ -297,6 +323,7 @@ inactive-projects: libcuproj: name: libcuproj path: libcuproj + redirect: false # Historical docs have no root redirect. desc: 'libcuproj is a C++ header-only library for GPU-accelerated geographic and geodetic coordinate transformation library which supports projecting coordinates between coordinate reference systems (CRSes), similar to PROJ.' ghlink: https://github.com/rapidsai/cuspatial/tree/main/cpp/cuproj cllink: https://github.com/rapidsai/cuspatial/blob/main/CHANGELOG.md # Shares a changelog with cuSpatial @@ -313,6 +340,7 @@ inactive-projects: libcuspatial: name: libcuspatial path: libcuspatial + redirect: stable desc: 'libcuspatial is a GPU-accelerated header-only C++ vector GIS library including binary predicates (DE-9IM), point-in-polygon, spatial join, distances, and trajectory analysis.' ghlink: https://github.com/rapidsai/cuspatial cllink: https://github.com/rapidsai/cuspatial/blob/main/CHANGELOG.md diff --git a/_data/install_packages.yml b/_data/install_packages.yml new file mode 100644 index 00000000000..237da32ad16 --- /dev/null +++ b/_data/install_packages.yml @@ -0,0 +1,128 @@ +# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. +# SPDX-License-Identifier: Apache-2.0 +# +# Selector package policy. Release bounds are inclusive: added_in_release is the +# first release shown, and removed_after_release is the last release shown. + +packages: + cudf: + display_name: cuDF + docs_project: cudf + standard_bundle: [conda, pip, docker] + conda: + packages: [cudf] + pip: + packages: [cudf] + pypi: true + nightly_dependencies: [dask-cuda] + + dask-cudf: + display_name: dask-cuDF + docs_project: dask-cudf + standard_bundle: [pip] + pip: + packages: [dask-cudf] + pypi: true + nightly_dependencies: [dask-cuda] + + cuml: + display_name: cuML + docs_project: cuml + standard_bundle: [conda, pip, docker] + conda: + packages: [cuml] + pip: + packages: [cuml] + pypi: true + nightly_dependencies: [dask-cuda] + + cugraph: + display_name: cuGraph + docs_project: cugraph + standard_bundle: [conda, pip, docker] + bundle_display_names: [cuGraph, nx-cugraph] + conda: + packages: [cugraph] + pip: + display_name: cuGraph/nx-cugraph + packages: [cugraph, nx-cugraph] + nightly_dependencies: [dask-cuda] + + cuxfilter: + display_name: cuxfilter + docs_project: cuxfilter + removed_after_release: "26.06" + standard_bundle: [conda, pip, docker] + conda: + packages: [cuxfilter] + pip: + packages: [cuxfilter] + nightly_dependencies: [dask-cuda] + + cucim: + display_name: cuCIM + docs_project: cucim + standard_bundle: [conda, pip, docker] + conda: + packages: [cucim] + pip: + packages: [cucim] + + raft: + display_name: RAFT + docs_project: raft + standard_bundle: [conda, pip, docker] + conda: + packages: [pylibraft, raft-dask] + pip: + packages: [pylibraft, raft-dask] + pypi: true + nightly_dependencies: [dask-cuda] + + cuvs: + display_name: cuVS + docs_project: cuvs + standard_bundle: [conda, pip, docker] + conda: + packages: [cuvs] + pip: + packages: [cuvs] + nightly_packages: [cuvs, pylibraft] + nightly_dependencies: [dask-cuda] + + nvforest: + display_name: nvForest + docs_project: nvforest + added_in_release: "26.04" + standard_bundle: [] + conda: + packages: [nvforest] + pip: + packages: [nvforest] + pypi: true + nightly_dependencies: [dask-cuda] + +third_party_packages: + graphistry: + display_name: Graphistry + conda_packages: [graphistry] + jupyterlab: + display_name: JupyterLab + conda_packages: [jupyterlab] + networkx: + display_name: NetworkX + nx-cugraph + conda_packages: [networkx, "nx-cugraph={rapids_version}"] + plotly-dash: + display_name: Plotly Dash + conda_packages: [dash] + pytorch: + display_name: PyTorch + conda_packages: ["'pytorch=*=*cuda*'"] + cuda_majors: [12] + tensorflow: + display_name: TensorFlow + conda_packages: [tensorflow] + cuda_majors: [12] + xarray-spatial: + display_name: Xarray-Spatial + conda_packages: [xarray-spatial] diff --git a/_data/previous_releases.json b/_data/previous_releases.json index d21d15cf16a..87e35193dbb 100644 --- a/_data/previous_releases.json +++ b/_data/previous_releases.json @@ -2,1498 +2,2304 @@ { "version": "26.06", "ucxx_version": "0.50", - "dev": { - "start": "Mar 12 2026", - "end": "May 13 2026", - "days": "43" - }, - "cudf_burndown": { - "start": "May 14 2026", - "end": "May 20 2026", - "days": "5" - }, - "other_burndown": { - "start": "May 14 2026", - "end": "May 27 2026", - "days": "10" - }, - "cudf_codefreeze": { - "start": "May 21 2026", - "end": "Jun 2 2026", - "days": "8" - }, - "other_codefreeze": { - "start": "May 28 2026", - "end": "Jun 2 2026", - "days": "4" - }, - "release": { - "start": "Jun 3 2026", - "end": "Jun 4 2026", - "days": "2" - } + "phases": [ + { + "name": "Development", + "cohort": "all", + "cohort_label": "", + "start": "2026-03-12", + "end": "2026-05-13" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/RAFT/Dask-CUDA/KvikIO/UCXX/RapidsMPF", + "start": "2026-05-14", + "end": "2026-05-20", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2026-05-14", + "end": "2026-05-27", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/RAFT/Dask-CUDA/KvikIO/UCXX/RapidsMPF", + "start": "2026-05-21", + "end": "2026-06-02", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2026-05-28", + "end": "2026-06-02", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2026-06-03", + "end": "2026-06-04", + "process_anchor": "releasing" + } + ] }, { "version": "26.04", "ucxx_version": "0.49", - "dev": { - "start": "Jan 15 2026", - "end": "Mar 11 2026", - "days": "38" - }, - "cudf_burndown": { - "start": "Mar 12 2026", - "end": "Mar 18 2026", - "days": "5" - }, - "other_burndown": { - "start": "Mar 12 2026", - "end": "Apr 1 2026", - "days": "12" - }, - "cudf_codefreeze": { - "start": "Mar 19 2026", - "end": "Apr 7 2026", - "days": "12" - }, - "other_codefreeze": { - "start": "Apr 2 2026", - "end": "Apr 7 2026", - "days": "4" - }, - "release": { - "start": "Apr 8 2026", - "end": "Apr 9 2026", - "days": "2" - } + "phases": [ + { + "name": "Development", + "cohort": "all", + "cohort_label": "", + "start": "2026-01-15", + "end": "2026-03-11" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/RAFT/Dask-CUDA/KvikIO/UCXX/RapidsMPF", + "start": "2026-03-12", + "end": "2026-03-18", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2026-03-12", + "end": "2026-04-01", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/RAFT/Dask-CUDA/KvikIO/UCXX/RapidsMPF", + "start": "2026-03-19", + "end": "2026-04-07", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2026-04-02", + "end": "2026-04-07", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2026-04-08", + "end": "2026-04-09", + "process_anchor": "releasing" + } + ] }, { "version": "26.02", "ucxx_version": "0.48", - "cudf_dev": { - "start": "Nov 13 2025", - "end": "Jan 14 2026", - "days": "39" - }, - "other_dev": { - "start": "Nov 20 2025", - "end": "Jan 21 2026", - "days": "39" - }, - "cudf_burndown": { - "start": "Jan 15 2026", - "end": "Jan 21 2026", - "days": "5" - }, - "other_burndown": { - "start": "Jan 22 2026", - "end": "Jan 28 2026", - "days": "5" - }, - "cudf_codefreeze": { - "start": "Jan 22 2026", - "end": "Feb 3 2026", - "days": "9" - }, - "other_codefreeze": { - "start": "Jan 29 2026", - "end": "Feb 3 2026", - "days": "4" - }, - "release": { - "start": "Feb 4 2026", - "end": "Feb 5 2026", - "days": "2" - } + "phases": [ + { + "name": "Development", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/RAFT", + "start": "2025-11-13", + "end": "2026-01-14" + }, + { + "name": "Development", + "cohort": "remaining", + "cohort_label": "others", + "start": "2025-11-20", + "end": "2026-01-21" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/RAFT", + "start": "2026-01-15", + "end": "2026-01-21", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2026-01-22", + "end": "2026-01-28", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/RAFT", + "start": "2026-01-22", + "end": "2026-02-03", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2026-01-29", + "end": "2026-02-03", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2026-02-04", + "end": "2026-02-05", + "process_anchor": "releasing" + } + ] }, { "version": "25.12", "ucxx_version": "0.47", - "cudf_dev": { - "start": "Sep 18 2025", - "end": "Nov 12 2025", - "days": "39" - }, - "other_dev": { - "start": "Sep 25 2025", - "end": "Nov 19 2025", - "days": "39" - }, - "cudf_burndown": { - "start": "Nov 13 2025", - "end": "Nov 19 2025", - "days": "5" - }, - "other_burndown": { - "start": "Nov 20 2025", - "end": "Dec 3 2025", - "days": "8" - }, - "cudf_codefreeze": { - "start": "Nov 20 2025", - "end": "Dec 9 2025", - "days": "12" - }, - "other_codefreeze": { - "start": "Dec 4 2025", - "end": "Dec 9 2025", - "days": "4" - }, - "release": { - "start": "Dec 10 2025", - "end": "Dec 11 2025", - "days": "2" - } + "phases": [ + { + "name": "Development", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/RAFT", + "start": "2025-09-18", + "end": "2025-11-12" + }, + { + "name": "Development", + "cohort": "remaining", + "cohort_label": "others", + "start": "2025-09-25", + "end": "2025-11-19" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/RAFT", + "start": "2025-11-13", + "end": "2025-11-19", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2025-11-20", + "end": "2025-12-03", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/RAFT", + "start": "2025-11-20", + "end": "2025-12-09", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2025-12-04", + "end": "2025-12-09", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2025-12-10", + "end": "2025-12-11", + "process_anchor": "releasing" + } + ] }, { "version": "25.10", "ucxx_version": "0.46", - "cudf_dev": { - "start": "Jul 17 2025", - "end": "Sep 17 2025", - "days": "42" - }, - "other_dev": { - "start": "Jul 24 2025", - "end": "Sep 24 2025", - "days": "42" - }, - "cudf_burndown": { - "start": "Sep 18 2025", - "end": "Sep 24 2025", - "days": "5" - }, - "other_burndown": { - "start": "Sep 25 2025", - "end": "Oct 1 2025", - "days": "5" - }, - "cudf_codefreeze": { - "start": "Sep 25 2025", - "end": "Oct 7 2025", - "days": "9" - }, - "other_codefreeze": { - "start": "Oct 2 2025", - "end": "Oct 7 2025", - "days": "4" - }, - "release": { - "start": "Oct 8 2025", - "end": "Oct 9 2025", - "days": "2" - } + "phases": [ + { + "name": "Development", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/RAFT", + "start": "2025-07-17", + "end": "2025-09-17" + }, + { + "name": "Development", + "cohort": "remaining", + "cohort_label": "others", + "start": "2025-07-24", + "end": "2025-09-24" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/RAFT", + "start": "2025-09-18", + "end": "2025-09-24", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2025-09-25", + "end": "2025-10-01", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/RAFT", + "start": "2025-09-25", + "end": "2025-10-07", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2025-10-02", + "end": "2025-10-07", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2025-10-08", + "end": "2025-10-09", + "process_anchor": "releasing" + } + ] }, { "version": "25.08", "ucxx_version": "0.45", - "cudf_dev": { - "start": "May 15 2025", - "end": "Jul 16 2025", - "days": "40" - }, - "other_dev": { - "start": "May 22 2025", - "end": "Jul 23 2025", - "days": "40" - }, - "cudf_burndown": { - "start": "Jul 17 2025", - "end": "Jul 23 2025", - "days": "5" - }, - "other_burndown": { - "start": "Jul 24 2025", - "end": "Jul 30 2025", - "days": "5" - }, - "cudf_codefreeze": { - "start": "Jul 24 2025", - "end": "Aug 5 2025", - "days": "9" - }, - "other_codefreeze": { - "start": "Jul 31 2025", - "end": "Aug 5 2025", - "days": "4" - }, - "release": { - "start": "Aug 6 2025", - "end": "Aug 7 2025", - "days": "2" - } + "phases": [ + { + "name": "Development", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/RAFT", + "start": "2025-05-15", + "end": "2025-07-16" + }, + { + "name": "Development", + "cohort": "remaining", + "cohort_label": "others", + "start": "2025-05-22", + "end": "2025-07-23" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/RAFT", + "start": "2025-07-17", + "end": "2025-07-23", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2025-07-24", + "end": "2025-07-30", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/RAFT", + "start": "2025-07-24", + "end": "2025-08-05", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2025-07-31", + "end": "2025-08-05", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2025-08-06", + "end": "2025-08-07", + "process_anchor": "releasing" + } + ] }, { "version": "25.06", "ucxx_version": "0.44", - "cudf_dev": { - "start": "Mar 13 2025", - "end": "May 14 2025", - "days": "43" - }, - "other_dev": { - "start": "Mar 20 2025", - "end": "May 21 2025", - "days": "43" - }, - "cudf_burndown": { - "start": "May 15 2025", - "end": "May 21 2025", - "days": "5" - }, - "other_burndown": { - "start": "May 22 2025", - "end": "May 28 2025", - "days": "4" - }, - "cudf_codefreeze": { - "start": "May 22 2025", - "end": "Jun 3 2025", - "days": "8" - }, - "other_codefreeze": { - "start": "May 29 2025", - "end": "Jun 3 2025", - "days": "4" - }, - "release": { - "start": "Jun 4 2025", - "end": "Jun 5 2025", - "days": "2" - } + "phases": [ + { + "name": "Development", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/RAFT", + "start": "2025-03-13", + "end": "2025-05-14" + }, + { + "name": "Development", + "cohort": "remaining", + "cohort_label": "others", + "start": "2025-03-20", + "end": "2025-05-21" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/RAFT", + "start": "2025-05-15", + "end": "2025-05-21", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2025-05-22", + "end": "2025-05-28", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/RAFT", + "start": "2025-05-22", + "end": "2025-06-03", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2025-05-29", + "end": "2025-06-03", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2025-06-04", + "end": "2025-06-05", + "process_anchor": "releasing" + } + ] }, { "version": "25.04", "ucxx_version": "0.43", - "cudf_dev": { - "start": "Jan 23 2025", - "end": "Mar 12 2025", - "days": "34" - }, - "other_dev": { - "start": "Jan 30 2025", - "end": "Mar 19 2025", - "days": "34" - }, - "cudf_burndown": { - "start": "Mar 13 2025", - "end": "Mar 19 2025", - "days": "5" - }, - "other_burndown": { - "start": "Mar 20 2025", - "end": "Apr 2 2025", - "days": "8" - }, - "cudf_codefreeze": { - "start": "Mar 20 2025", - "end": "Apr 8 2025", - "days": "12" - }, - "other_codefreeze": { - "start": "Apr 3 2025", - "end": "Apr 8 2025", - "days": "4" - }, - "release": { - "start": "Apr 9 2025", - "end": "Apr 10 2025", - "days": "2" - } + "phases": [ + { + "name": "Development", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/RAFT", + "start": "2025-01-23", + "end": "2025-03-12" + }, + { + "name": "Development", + "cohort": "remaining", + "cohort_label": "others", + "start": "2025-01-30", + "end": "2025-03-19" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/RAFT", + "start": "2025-03-13", + "end": "2025-03-19", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2025-03-20", + "end": "2025-04-02", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/RAFT", + "start": "2025-03-20", + "end": "2025-04-08", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2025-04-03", + "end": "2025-04-08", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2025-04-09", + "end": "2025-04-10", + "process_anchor": "releasing" + } + ] }, { "version": "25.02", "ucxx_version": "0.42", - "cudf_dev": { - "start": "Nov 14 2024", - "end": "Jan 22 2025", - "days": "43" - }, - "other_dev": { - "start": "Nov 21 2024", - "end": "Jan 29 2025", - "days": "43" - }, - "cudf_burndown": { - "start": "Jan 23 2025", - "end": "Jan 29 2025", - "days": "5" - }, - "other_burndown": { - "start": "Jan 30 2025", - "end": "Feb 5 2025", - "days": "5" - }, - "cudf_codefreeze": { - "start": "Jan 30 2025", - "end": "Feb 11 2025", - "days": "9" - }, - "other_codefreeze": { - "start": "Feb 6 2025", - "end": "Feb 11 2025", - "days": "4" - }, - "release": { - "start": "Feb 12 2025", - "end": "Feb 13 2025", - "days": "2" - } + "phases": [ + { + "name": "Development", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/RAFT", + "start": "2024-11-14", + "end": "2025-01-22" + }, + { + "name": "Development", + "cohort": "remaining", + "cohort_label": "others", + "start": "2024-11-21", + "end": "2025-01-29" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/RAFT", + "start": "2025-01-23", + "end": "2025-01-29", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2025-01-30", + "end": "2025-02-05", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/RAFT", + "start": "2025-01-30", + "end": "2025-02-11", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2025-02-06", + "end": "2025-02-11", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2025-02-12", + "end": "2025-02-13", + "process_anchor": "releasing" + } + ] }, { "version": "24.12", "ucxx_version": "0.41", - "cudf_dev": { - "start": "Sep 19 2024", - "end": "Nov 13 2024", - "days": "39" - }, - "other_dev": { - "start": "Sep 26 2024", - "end": "Nov 20 2024", - "days": "39" - }, - "cudf_burndown": { - "start": "Nov 14 2024", - "end": "Nov 20 2024", - "days": "5" - }, - "other_burndown": { - "start": "Nov 21 2024", - "end": "Dec 4 2024", - "days": "8" - }, - "cudf_codefreeze": { - "start": "Nov 21 2024", - "end": "Dec 10 2024", - "days": "12" - }, - "other_codefreeze": { - "start": "Dec 5 2024", - "end": "Dec 10 2024", - "days": "4" - }, - "release": { - "start": "Dec 11 2024", - "end": "Dec 12 2024", - "days": "2" - } + "phases": [ + { + "name": "Development", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/cugraph-ops/RAFT", + "start": "2024-09-19", + "end": "2024-11-13" + }, + { + "name": "Development", + "cohort": "remaining", + "cohort_label": "others", + "start": "2024-09-26", + "end": "2024-11-20" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/cugraph-ops/RAFT", + "start": "2024-11-14", + "end": "2024-11-20", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2024-11-21", + "end": "2024-12-04", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/cugraph-ops/RAFT", + "start": "2024-11-21", + "end": "2024-12-10", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2024-12-05", + "end": "2024-12-10", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2024-12-11", + "end": "2024-12-12", + "process_anchor": "releasing" + } + ] }, { "version": "24.10", "ucxx_version": "0.40", - "cudf_dev": { - "start": "Jul 18 2024", - "end": "Sep 18 2024", - "days": "42" - }, - "other_dev": { - "start": "Jul 25 2024", - "end": "Sep 25 2024", - "days": "42" - }, - "cudf_burndown": { - "start": "Sep 19 2024", - "end": "Sep 25 2024", - "days": "5" - }, - "other_burndown": { - "start": "Sep 26 2024", - "end": "Oct 2 2024", - "days": "5" - }, - "cudf_codefreeze": { - "start": "Sep 26 2024", - "end": "Oct 8 2024", - "days": "9" - }, - "other_codefreeze": { - "start": "Oct 3 2024", - "end": "Oct 8 2024", - "days": "4" - }, - "release": { - "start": "Oct 9 2024", - "end": "Oct 10 2024", - "days": "2" - } + "phases": [ + { + "name": "Development", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/cugraph-ops/RAFT", + "start": "2024-07-18", + "end": "2024-09-18" + }, + { + "name": "Development", + "cohort": "remaining", + "cohort_label": "others", + "start": "2024-07-25", + "end": "2024-09-25" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/cugraph-ops/RAFT", + "start": "2024-09-19", + "end": "2024-09-25", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2024-09-26", + "end": "2024-10-02", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/cugraph-ops/RAFT", + "start": "2024-09-26", + "end": "2024-10-08", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2024-10-03", + "end": "2024-10-08", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2024-10-09", + "end": "2024-10-10", + "process_anchor": "releasing" + } + ] }, { "version": "24.08", "ucxx_version": "0.39", - "cudf_dev": { - "start": "May 16 2024", - "end": "Jul 17 2024", - "days": "40" - }, - "other_dev": { - "start": "May 23 2024", - "end": "Jul 24 2024", - "days": "40" - }, - "cudf_burndown": { - "start": "Jul 18 2024", - "end": "Jul 24 2024", - "days": "5" - }, - "other_burndown": { - "start": "Jul 25 2024", - "end": "Jul 31 2024", - "days": "5" - }, - "cudf_codefreeze": { - "start": "Jul 25 2024", - "end": "Aug 6 2024", - "days": "9" - }, - "other_codefreeze": { - "start": "Aug 1 2024", - "end": "Aug 6 2024", - "days": "4" - }, - "release": { - "start": "Aug 7 2024", - "end": "Aug 8 2024", - "days": "2" - } + "phases": [ + { + "name": "Development", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/cugraph-ops/RAFT", + "start": "2024-05-16", + "end": "2024-07-17" + }, + { + "name": "Development", + "cohort": "remaining", + "cohort_label": "others", + "start": "2024-05-23", + "end": "2024-07-24" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/cugraph-ops/RAFT", + "start": "2024-07-18", + "end": "2024-07-24", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2024-07-25", + "end": "2024-07-31", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/cugraph-ops/RAFT", + "start": "2024-07-25", + "end": "2024-08-06", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2024-08-01", + "end": "2024-08-06", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2024-08-07", + "end": "2024-08-08", + "process_anchor": "releasing" + } + ] }, { "version": "24.06", "ucxx_version": "0.38", - "cudf_dev": { - "start": "Mar 14 2024", - "end": "May 15 2024", - "days": "43" - }, - "other_dev": { - "start": "Mar 21 2024", - "end": "May 22 2024", - "days": "43" - }, - "cudf_burndown": { - "start": "May 16 2024", - "end": "May 22 2024", - "days": "5" - }, - "other_burndown": { - "start": "May 23 2024", - "end": "May 29 2024", - "days": "4" - }, - "cudf_codefreeze": { - "start": "May 23 2024", - "end": "Jun 4 2024", - "days": "8" - }, - "other_codefreeze": { - "start": "May 30 2024", - "end": "Jun 4 2024", - "days": "4" - }, - "release": { - "start": "Jun 5 2024", - "end": "Jun 6 2024", - "days": "2" - } + "phases": [ + { + "name": "Development", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/cugraph-ops/RAFT", + "start": "2024-03-14", + "end": "2024-05-15" + }, + { + "name": "Development", + "cohort": "remaining", + "cohort_label": "others", + "start": "2024-03-21", + "end": "2024-05-22" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/cugraph-ops/RAFT", + "start": "2024-05-16", + "end": "2024-05-22", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2024-05-23", + "end": "2024-05-29", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/cugraph-ops/RAFT", + "start": "2024-05-23", + "end": "2024-06-04", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2024-05-30", + "end": "2024-06-04", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2024-06-05", + "end": "2024-06-06", + "process_anchor": "releasing" + } + ] }, { "version": "24.04", "ucxx_version": "0.37", - "cudf_dev": { - "start": "Jan 18 2024", - "end": "Mar 13 2024", - "days": "39" - }, - "other_dev": { - "start": "Jan 25 2024", - "end": "Mar 20 2024", - "days": "39" - }, - "cudf_burndown": { - "start": "Mar 14 2024", - "end": "Mar 20 2024", - "days": "5" - }, - "other_burndown": { - "start": "Mar 21 2024", - "end": "Apr 3 2024", - "days": "8" - }, - "cudf_codefreeze": { - "start": "Mar 21 2024", - "end": "Apr 9 2024", - "days": "12" - }, - "other_codefreeze": { - "start": "Apr 4 2024", - "end": "Apr 9 2024", - "days": "4" - }, - "release": { - "start": "Apr 10 2024", - "end": "Apr 11 2024", - "days": "2" - } + "phases": [ + { + "name": "Development", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/cugraph-ops/RAFT", + "start": "2024-01-18", + "end": "2024-03-13" + }, + { + "name": "Development", + "cohort": "remaining", + "cohort_label": "others", + "start": "2024-01-25", + "end": "2024-03-20" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/cugraph-ops/RAFT", + "start": "2024-03-14", + "end": "2024-03-20", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2024-03-21", + "end": "2024-04-03", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/cugraph-ops/RAFT", + "start": "2024-03-21", + "end": "2024-04-09", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2024-04-04", + "end": "2024-04-09", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2024-04-10", + "end": "2024-04-11", + "process_anchor": "releasing" + } + ] }, { "version": "24.02", - "cudf_dev": { - "start": "Nov 9 2023", - "end": "Jan 17 2024", - "days": "42" - }, - "other_dev": { - "start": "Nov 16 2023", - "end": "Jan 24 2024", - "days": "43" - }, - "cudf_burndown": { - "start": "Jan 18 2024", - "end": "Jan 24 2024", - "days": "5" - }, - "other_burndown": { - "start": "Jan 25 2024", - "end": "Jan 31 2024", - "days": "5" - }, - "cudf_codefreeze": { - "start": "Jan 25 2024", - "end": "Feb 6 2024", - "days": "9" - }, - "other_codefreeze": { - "start": "Feb 1 2024", - "end": "Feb 6 2024", - "days": "4" - }, - "release": { - "start": "Feb 7 2024", - "end": "Feb 8 2024", - "days": "2" - } + "phases": [ + { + "name": "Development", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/cugraph-ops/RAFT", + "start": "2023-11-09", + "end": "2024-01-17" + }, + { + "name": "Development", + "cohort": "remaining", + "cohort_label": "others", + "start": "2023-11-16", + "end": "2024-01-24" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/cugraph-ops/RAFT", + "start": "2024-01-18", + "end": "2024-01-24", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2024-01-25", + "end": "2024-01-31", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/cugraph-ops/RAFT", + "start": "2024-01-25", + "end": "2024-02-06", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2024-02-01", + "end": "2024-02-06", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2024-02-07", + "end": "2024-02-08", + "process_anchor": "releasing" + } + ] }, { "version": "23.12", - "cudf_dev": { - "start": "Sep 21 2023", - "end": "Wed Nov 8 2023", - "days": "35" - }, - "other_dev": { - "start": "Sep 28 2023", - "end": "Wed Nov 15 2023", - "days": "34" - }, - "cudf_burndown": { - "start": "Nov 9 2023", - "end": "Wed Nov 15 2023", - "days": "4" - }, - "other_burndown": { - "start": "Nov 16 2023", - "end": "Wed Nov 29 2023", - "days": "8" - }, - "cudf_codefreeze": { - "start": "Nov 16 2023", - "end": "Tue Dec 5 2023", - "days": "12" - }, - "other_codefreeze": { - "start": "Nov 30 2023", - "end": "Tue Dec 5 2023", - "days": "4" - }, - "release": { - "start": "Dec 6 2023", - "end": "Thu Dec 7 2023", - "days": "2" - } + "phases": [ + { + "name": "Development", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/cugraph-ops/RAFT", + "start": "2023-09-21", + "end": "2023-11-08" + }, + { + "name": "Development", + "cohort": "remaining", + "cohort_label": "others", + "start": "2023-09-28", + "end": "2023-11-15" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/cugraph-ops/RAFT", + "start": "2023-11-09", + "end": "2023-11-15", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2023-11-16", + "end": "2023-11-29", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/cugraph-ops/RAFT", + "start": "2023-11-16", + "end": "2023-12-05", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2023-11-30", + "end": "2023-12-05", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2023-12-06", + "end": "2023-12-07", + "process_anchor": "releasing" + } + ] }, { "version": "23.10", - "cudf_dev": { - "start": "Jul 20 2023", - "end": "Sep 20 2023", - "days": 42 - }, - "other_dev": { - "start": "Jul 27 2023", - "end": "Sep 27 2023", - "days": 42 - }, - "cudf_burndown": { - "start": "Sep 21 2023", - "end": "Sep 27 2023", - "days": 5 - }, - "other_burndown": { - "start": "Sep 28 2023", - "end": "Oct 4 2023", - "days": 5 - }, - "cudf_codefreeze": { - "start": "Sep 28 2023", - "end": "Oct 10 2023", - "days": 9 - }, - "other_codefreeze": { - "start": "Oct 5 2023", - "end": "Oct 10 2023", - "days": 4 - }, - "release": { - "start": "Oct 11 2023", - "end": "Oct 12 2023", - "days": 2 - } + "phases": [ + { + "name": "Development", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/cugraph-ops/RAFT", + "start": "2023-07-20", + "end": "2023-09-20" + }, + { + "name": "Development", + "cohort": "remaining", + "cohort_label": "others", + "start": "2023-07-27", + "end": "2023-09-27" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/cugraph-ops/RAFT", + "start": "2023-09-21", + "end": "2023-09-27", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2023-09-28", + "end": "2023-10-04", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/cugraph-ops/RAFT", + "start": "2023-09-28", + "end": "2023-10-10", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2023-10-05", + "end": "2023-10-10", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2023-10-11", + "end": "2023-10-12", + "process_anchor": "releasing" + } + ] }, { "version": "23.08", - "cudf_dev": { - "start": "May 18 2023", - "end": "Jul 19 2023", - "days": 40 - }, - "other_dev": { - "start": "May 25 2023", - "end": "Jul 26 2023", - "days": 40 - }, - "cudf_burndown": { - "start": "Jul 20 2023", - "end": "Jul 26 2023", - "days": 5 - }, - "other_burndown": { - "start": "Jul 27 2023", - "end": "Aug 2 2023", - "days": 5 - }, - "cudf_codefreeze": { - "start": "Jul 27 2023", - "end": "Aug 8 2023", - "days": 9 - }, - "other_codefreeze": { - "start": "Aug 3 2023", - "end": "Aug 8 2023", - "days": 4 - }, - "release": { - "start": "Aug 9 2023", - "end": "Aug 10 2023", - "days": 2 - } + "phases": [ + { + "name": "Development", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/cugraph-ops/RAFT", + "start": "2023-05-18", + "end": "2023-07-19" + }, + { + "name": "Development", + "cohort": "remaining", + "cohort_label": "others", + "start": "2023-05-25", + "end": "2023-07-26" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/cugraph-ops/RAFT", + "start": "2023-07-20", + "end": "2023-07-26", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2023-07-27", + "end": "2023-08-02", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/cugraph-ops/RAFT", + "start": "2023-07-27", + "end": "2023-08-08", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2023-08-03", + "end": "2023-08-08", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2023-08-09", + "end": "2023-08-10", + "process_anchor": "releasing" + } + ] }, { "version": "23.06", - "cudf_dev": { - "start": "Mar 23 2023", - "end": "May 17 2023", - "days": 40 - }, - "other_dev": { - "start": "Mar 30 2023", - "end": "May 24 2023", - "days": 40 - }, - "cudf_burndown": { - "start": "May 18 2023", - "end": "May 24 2023", - "days": 5 - }, - "other_burndown": { - "start": "May 25 2023", - "end": "May 31 2023", - "days": 4 - }, - "cudf_codefreeze": { - "start": "May 25 2023", - "end": "June 6 2023", - "days": 9 - }, - "other_codefreeze": { - "start": "Jun 1 2023", - "end": "Jun 6 2023", - "days": 4 - }, - "release": { - "start": "Jun 7 2023", - "end": "Jun 8 2023", - "days": 2 - } + "phases": [ + { + "name": "Development", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/cugraph-ops/RAFT", + "start": "2023-03-23", + "end": "2023-05-17" + }, + { + "name": "Development", + "cohort": "remaining", + "cohort_label": "others", + "start": "2023-03-30", + "end": "2023-05-24" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/cugraph-ops/RAFT", + "start": "2023-05-18", + "end": "2023-05-24", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2023-05-25", + "end": "2023-05-31", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/cugraph-ops/RAFT", + "start": "2023-05-25", + "end": "2023-06-06", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2023-06-01", + "end": "2023-06-06", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2023-06-07", + "end": "2023-06-08", + "process_anchor": "releasing" + } + ] }, { "version": "23.04", - "cudf_dev": { - "start": "Jan 19 2023", - "end": "Mar 22 2023", - "days": 42 - }, - "other_dev": { - "start": "Jan 26 2023", - "end": "Mar 29 2023", - "days": 42 - }, - "cudf_burndown": { - "start": "Mar 23 2023", - "end": "Mar 29 2023", - "days": 5 - }, - "other_burndown": { - "start": "Mar 30 2023", - "end": "Apr 5 2023", - "days": 5 - }, - "cudf_codefreeze": { - "start": "Mar 30 2023", - "end": "Apr 4 2023", - "days": 4 - }, - "other_codefreeze": { - "start": "Apr 6 2023", - "end": "Apr 11 2023", - "days": 4 - }, - "release": { - "start": "Apr 12 2023", - "end": "Apr 13 2023", - "days": 2 - } + "phases": [ + { + "name": "Development", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2023-01-19", + "end": "2023-03-22" + }, + { + "name": "Development", + "cohort": "remaining", + "cohort_label": "others", + "start": "2023-01-26", + "end": "2023-03-29" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2023-03-23", + "end": "2023-03-29", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2023-03-30", + "end": "2023-04-05", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2023-03-30", + "end": "2023-04-04", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2023-04-06", + "end": "2023-04-11", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2023-04-12", + "end": "2023-04-13", + "process_anchor": "releasing" + } + ] }, { "version": "23.02", - "cudf_dev": { - "start": "Nov 10 2022", - "end": "Jan 18 2023", - "days": 42 - }, - "other_dev": { - "start": "Nov 17 2022", - "end": "Jan 25 2023", - "days": 43 - }, - "cudf_burndown": { - "start": "Jan 19 2023", - "end": "Jan 25 2023", - "days": 5 - }, - "other_burndown": { - "start": "Jan 26 2023", - "end": "Feb 1 2023", - "days": 5 - }, - "cudf_codefreeze": { - "start": "Jan 26 2023", - "end": "Jan 31 2023", - "days": 4 - }, - "other_codefreeze": { - "start": "Feb 2 2023", - "end": "Feb 7 2023", - "days": 4 - }, - "release": { - "start": "Feb 8 2023", - "end": "Feb 9 2023", - "days": 2 - } + "phases": [ + { + "name": "Development", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2022-11-10", + "end": "2023-01-18" + }, + { + "name": "Development", + "cohort": "remaining", + "cohort_label": "others", + "start": "2022-11-17", + "end": "2023-01-25" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2023-01-19", + "end": "2023-01-25", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2023-01-26", + "end": "2023-02-01", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2023-01-26", + "end": "2023-01-31", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2023-02-02", + "end": "2023-02-07", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2023-02-08", + "end": "2023-02-09", + "process_anchor": "releasing" + } + ] }, { "version": "22.12", - "cudf_dev": { - "start": "Sep 22 2022", - "end": "Nov 9 2022", - "days": 35 - }, - "other_dev": { - "start": "Sep 29 2022", - "end": "Nov 16 2022", - "days": 34 - }, - "cudf_burndown": { - "start": "Nov 10 2022", - "end": "Nov 16 2022", - "days": 4 - }, - "other_burndown": { - "start": "Nov 17 2022", - "end": "Nov 30 2022", - "days": 8 - }, - "cudf_codefreeze": { - "start": "Nov 17 2022", - "end": "Nov 30 2022", - "days": 8 - }, - "other_codefreeze": { - "start": "Dec 1 2022", - "end": "Dec 6 2022", - "days": 4 - }, - "release": { - "start": "Dec 7 2022", - "end": "Dec 8 2022", - "days": 2 - } + "phases": [ + { + "name": "Development", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2022-09-22", + "end": "2022-11-09" + }, + { + "name": "Development", + "cohort": "remaining", + "cohort_label": "others", + "start": "2022-09-29", + "end": "2022-11-16" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2022-11-10", + "end": "2022-11-16", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2022-11-17", + "end": "2022-11-30", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2022-11-17", + "end": "2022-11-30", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2022-12-01", + "end": "2022-12-06", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2022-12-07", + "end": "2022-12-08", + "process_anchor": "releasing" + } + ] }, { "version": "22.10", - "cudf_dev": { - "start": "Jul 21 2022", - "end": "Sep 21 2022", - "days": 42 - }, - "other_dev": { - "start": "Jul 28 2022", - "end": "Sep 28 2022", - "days": 42 - }, - "cudf_burndown": { - "start": "Sep 22 2022", - "end": "Sep 28 2022", - "days": 5 - }, - "other_burndown": { - "start": "Sep 29 2022", - "end": "Oct 5 2022", - "days": 5 - }, - "cudf_codefreeze": { - "start": "Sep 29 2022", - "end": "Oct 5 2022", - "days": 5 - }, - "other_codefreeze": { - "start": "Oct 6 2022", - "end": "Oct 11 2022", - "days": 4 - }, - "release": { - "start": "Oct 12 2022", - "end": "Oct 13 2022", - "days": 2 - } + "phases": [ + { + "name": "Development", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2022-07-21", + "end": "2022-09-21" + }, + { + "name": "Development", + "cohort": "remaining", + "cohort_label": "others", + "start": "2022-07-28", + "end": "2022-09-28" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2022-09-22", + "end": "2022-09-28", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2022-09-29", + "end": "2022-10-05", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2022-09-29", + "end": "2022-10-05", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2022-10-06", + "end": "2022-10-11", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2022-10-12", + "end": "2022-10-13", + "process_anchor": "releasing" + } + ] }, { "version": "22.08", - "cudf_dev": { - "start": "May 18 2022", - "end": "Jul 20 2022", - "days": 41 - }, - "other_dev": { - "start": "May 25 2022", - "end": "Jul 27 2022", - "days": 41 - }, - "cudf_burndown": { - "start": "Jul 21 2022", - "end": "Jul 27 2022", - "days": 5 - }, - "other_burndown": { - "start": "Jul 28 2022", - "end": "Aug 3 2022", - "days": 5 - }, - "cudf_codefreeze": { - "start": "Jul 28 2022", - "end": "Aug 3 2022", - "days": 5 - }, - "other_codefreeze": { - "start": "Aug 4 2022", - "end": "Aug 10 2022", - "days": 5 - }, - "release": { - "start": "Aug 11 2022", - "end": "Aug 17 2022", - "days": 5 - } + "phases": [ + { + "name": "Development", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2022-05-18", + "end": "2022-07-20" + }, + { + "name": "Development", + "cohort": "remaining", + "cohort_label": "others", + "start": "2022-05-25", + "end": "2022-07-27" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2022-07-21", + "end": "2022-07-27", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2022-07-28", + "end": "2022-08-03", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2022-07-28", + "end": "2022-08-03", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2022-08-04", + "end": "2022-08-10", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2022-08-11", + "end": "2022-08-17", + "process_anchor": "releasing" + } + ] }, { "version": "22.06", - "cudf_dev": { - "start": "Mar 17 2022", - "end": "May 17 2022", - "days": 44 - }, - "other_dev": { - "start": "Mar 24 2022", - "end": "May 24 2022", - "days": 44 - }, - "cudf_burndown": { - "start": "May 18 2022", - "end": "May 24 2022", - "days": 5 - }, - "other_burndown": { - "start": "May 25 2022", - "end": "Jun 1 2022", - "days": 5 - }, - "cudf_codefreeze": { - "start": "May 25 2022", - "end": "May 31 2022", - "days": 4 - }, - "other_codefreeze": { - "start": "Jun 2 2022", - "end": "Jun 6 2022", - "days": 3 - }, - "release": { - "start": "Jun 7 2022", - "end": "Jun 8 2022", - "days": 2 - } + "phases": [ + { + "name": "Development", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2022-03-17", + "end": "2022-05-17" + }, + { + "name": "Development", + "cohort": "remaining", + "cohort_label": "others", + "start": "2022-03-24", + "end": "2022-05-24" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2022-05-18", + "end": "2022-05-24", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2022-05-25", + "end": "2022-06-01", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2022-05-25", + "end": "2022-05-31", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2022-06-02", + "end": "2022-06-06", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2022-06-07", + "end": "2022-06-08", + "process_anchor": "releasing" + } + ] }, { "version": "22.04", - "cudf_dev": { - "start": "Jan 12 2022", - "end": "Mar 16 2022", - "days": 44 - }, - "other_dev": { - "start": "Jan 20 2022", - "end": "Mar 23 2022", - "days": 44 - }, - "cudf_burndown": { - "start": "Mar 17 2022", - "end": "Mar 23 2022", - "days": 5 - }, - "other_burndown": { - "start": "Mar 24 2022", - "end": "Mar 30 2022", - "days": 5 - }, - "cudf_codefreeze": { - "start": "Mar 24 2022", - "end": "Mar 30 2022", - "days": 5 - }, - "other_codefreeze": { - "start": "Mar 31 2022", - "end": "Apr 5 2022", - "days": 4 - }, - "release": { - "start": "Apr 6 2022", - "end": "Apr 7 2022", - "days": 2 - } + "phases": [ + { + "name": "Development", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2022-01-12", + "end": "2022-03-16" + }, + { + "name": "Development", + "cohort": "remaining", + "cohort_label": "others", + "start": "2022-01-20", + "end": "2022-03-23" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2022-03-17", + "end": "2022-03-23", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2022-03-24", + "end": "2022-03-30", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2022-03-24", + "end": "2022-03-30", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2022-03-31", + "end": "2022-04-05", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2022-04-06", + "end": "2022-04-07", + "process_anchor": "releasing" + } + ] }, { "version": "22.02", - "cudf_dev": { - "start": "Nov 4 2021", - "end": "Jan 11 2022", - "days": 43 - }, - "other_dev": { - "start": "Nov 11 2021", - "end": "Jan 19 2022", - "days": 43 - }, - "cudf_burndown": { - "start": "Jan 12 2022", - "end": "Jan 19 2022", - "days": 5 - }, - "other_burndown": { - "start": "Jan 20 2022", - "end": "Jan 26 2022", - "days": 5 - }, - "cudf_codefreeze": { - "start": "Jan 20 2022", - "end": "Jan 26 2022", - "days": 5 - }, - "other_codefreeze": { - "start": "Jan 27 2022", - "end": "Feb 1 2022", - "days": 4 - }, - "release": { - "start": "Feb 2 2022", - "end": "Feb 3 2022", - "days": 2 - } + "phases": [ + { + "name": "Development", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2021-11-04", + "end": "2022-01-11" + }, + { + "name": "Development", + "cohort": "remaining", + "cohort_label": "others", + "start": "2021-11-11", + "end": "2022-01-19" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2022-01-12", + "end": "2022-01-19", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2022-01-20", + "end": "2022-01-26", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2022-01-20", + "end": "2022-01-26", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2022-01-27", + "end": "2022-02-01", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2022-02-02", + "end": "2022-02-03", + "process_anchor": "releasing" + } + ] }, { "version": "21.12", - "cudf_dev": { - "start": "Sep 16 2021", - "end": "Nov 3 2021", - "days": 35 - }, - "other_dev": { - "start": "Sep 23 2021", - "end": "Nov 10 2021", - "days": 35 - }, - "cudf_burndown": { - "start": "Nov 4 2021", - "end": "Nov 10 2021", - "days": 5 - }, - "other_burndown": { - "start": "Nov 11 2021", - "end": "Nov 17 2021", - "days": 5 - }, - "cudf_codefreeze": { - "start": "Nov 11 2021", - "end": "Nov 17 2021", - "days": 5 - }, - "other_codefreeze": { - "start": "Nov 18 2021", - "end": "Nov 30 2021", - "days": 7 - }, - "release": { - "start": "Dec 8 2021", - "end": "Dec 9 2021", - "days": 2 - } + "phases": [ + { + "name": "Development", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2021-09-16", + "end": "2021-11-03" + }, + { + "name": "Development", + "cohort": "remaining", + "cohort_label": "others", + "start": "2021-09-23", + "end": "2021-11-10" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2021-11-04", + "end": "2021-11-10", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2021-11-11", + "end": "2021-11-17", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2021-11-11", + "end": "2021-11-17", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2021-11-18", + "end": "2021-11-30", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2021-12-08", + "end": "2021-12-09", + "process_anchor": "releasing" + } + ] }, { "version": "21.10", - "cudf_dev": { - "start": "Jul 14 2021", - "end": "Sep 15 2021", - "days": 45 - }, - "other_dev": { - "start": "Jul 21 2021", - "end": "Sep 22 2021", - "days": 45 - }, - "cudf_burndown": { - "start": "Sep 16 2021", - "end": "Sep 22 2021", - "days": 5 - }, - "other_burndown": { - "start": "Sep 23 2021", - "end": "Sep 28 2021", - "days": 4 - }, - "cudf_codefreeze": { - "start": "Sep 23 2021", - "end": "Sep 28 2021", - "days": 4 - }, - "other_codefreeze": { - "start": "Sep 29 2021", - "end": "Oct 5 2021", - "days": 5 - }, - "release": { - "start": "Oct 6 2021", - "end": "Oct 7 2021", - "days": 2 - } + "phases": [ + { + "name": "Development", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2021-07-14", + "end": "2021-09-15" + }, + { + "name": "Development", + "cohort": "remaining", + "cohort_label": "others", + "start": "2021-07-21", + "end": "2021-09-22" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2021-09-16", + "end": "2021-09-22", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2021-09-23", + "end": "2021-09-28", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2021-09-23", + "end": "2021-09-28", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2021-09-29", + "end": "2021-10-05", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2021-10-06", + "end": "2021-10-07", + "process_anchor": "releasing" + } + ] }, { "version": "21.08", - "cudf_dev": { - "start": "May 19 2021", - "end": "Jul 14 2021", - "days": 39 - }, - "other_dev": { - "start": "May 26 2021", - "end": "Jul 21 2021", - "days": 39 - }, - "cudf_burndown": { - "start": "Jul 15 2021", - "end": "Jul 21 2021", - "days": 5 - }, - "other_burndown": { - "start": "Jul 22 2021", - "end": "Jul 28 2021", - "days": 5 - }, - "cudf_codefreeze": { - "start": "Jul 22 2021", - "end": "Jul 28 2021", - "days": 5 - }, - "other_codefreeze": { - "start": "Jul 29 2021", - "end": "Aug 3 2021", - "days": 4 - }, - "release": { - "start": "Aug 4 2021", - "end": "Aug 5 2021", - "days": 2 - } + "phases": [ + { + "name": "Development", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2021-05-19", + "end": "2021-07-14" + }, + { + "name": "Development", + "cohort": "remaining", + "cohort_label": "others", + "start": "2021-05-26", + "end": "2021-07-21" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2021-07-15", + "end": "2021-07-21", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2021-07-22", + "end": "2021-07-28", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2021-07-22", + "end": "2021-07-28", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2021-07-29", + "end": "2021-08-03", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2021-08-04", + "end": "2021-08-05", + "process_anchor": "releasing" + } + ] }, { "version": "21.06", - "cudf_dev": { - "start": "Mar 25 2021", - "end": "May 18 2021", - "days": 39 - }, - "other_dev": { - "start": "Apr 1 2021", - "end": "May 25 2021", - "days": 39 - }, - "cudf_burndown": { - "start": "May 19 2021", - "end": "May 25 2021", - "days": 5 - }, - "other_burndown": { - "start": "May 26 2021", - "end": "Jun 2 2021", - "days": 5 - }, - "cudf_codefreeze": { - "start": "May 26 2021", - "end": "Jun 2 2021", - "days": 4 - }, - "other_codefreeze": { - "start": "Jun 3 2021", - "end": "Jun 8 2021", - "days": 4 - }, - "release": { - "start": "Jun 9 2021", - "end": "Jun 10 2021", - "days": 2 - } + "phases": [ + { + "name": "Development", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2021-03-25", + "end": "2021-05-18" + }, + { + "name": "Development", + "cohort": "remaining", + "cohort_label": "others", + "start": "2021-04-01", + "end": "2021-05-25" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2021-05-19", + "end": "2021-05-25", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2021-05-26", + "end": "2021-06-02", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2021-05-26", + "end": "2021-06-02", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2021-06-03", + "end": "2021-06-08", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2021-06-09", + "end": "2021-06-10", + "process_anchor": "releasing" + } + ] }, { "version": "0.19", - "cudf_dev": { - "start": "Jan 27 2021", - "end": "Mar 24 2021", - "days": 40 - }, - "other_dev": { - "start": "Feb 3 2021", - "end": "Mar 31 2021", - "days": 40 - }, - "cudf_burndown": { - "start": "Mar 25 2021", - "end": "Mar 31 2021", - "days": 5 - }, - "other_burndown": { - "start": "Apr 1 2021", - "end": "Apr 7 2021", - "days": 5 - }, - "cudf_codefreeze": { - "start": "Apr 1 2021", - "end": "Apr 7 2021", - "days": 5 - }, - "other_codefreeze": { - "start": "Apr 8 2021", - "end": "Apr 20 2021", - "days": 9 - }, - "release": { - "start": "Apr 21 2021", - "end": "Apr 22 2021", - "days": 2 - } + "phases": [ + { + "name": "Development", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2021-01-27", + "end": "2021-03-24" + }, + { + "name": "Development", + "cohort": "remaining", + "cohort_label": "others", + "start": "2021-02-03", + "end": "2021-03-31" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2021-03-25", + "end": "2021-03-31", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2021-04-01", + "end": "2021-04-07", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2021-04-01", + "end": "2021-04-07", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2021-04-08", + "end": "2021-04-20", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2021-04-21", + "end": "2021-04-22", + "process_anchor": "releasing" + } + ] }, { "version": "0.18", - "cudf_dev": { - "start": "Nov 24 2020", - "end": "Jan 26 2021", - "days": 34 - }, - "other_dev": { - "start": "Nov 24 2020", - "end": "Feb 2 2021", - "days": 39 - }, - "cudf_burndown": { - "start": "Jan 27 2021", - "end": "Feb 16 2021", - "days": 14 - }, - "other_burndown": { - "start": "Feb 3 2021", - "end": "Feb 16 2021", - "days": 9 - }, - "cudf_codefreeze": { - "start": "Feb 17 2021", - "end": "Feb 23 2021", - "days": 5 - }, - "other_codefreeze": { - "start": "Feb 17 2021", - "end": "Feb 23 2021", - "days": 5 - }, - "release": { - "start": "Feb 24 2021", - "end": "Feb 25 2021", - "days": 2 - } + "phases": [ + { + "name": "Development", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2020-11-24", + "end": "2021-01-26" + }, + { + "name": "Development", + "cohort": "remaining", + "cohort_label": "others", + "start": "2020-11-24", + "end": "2021-02-02" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2021-01-27", + "end": "2021-02-16", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2021-02-03", + "end": "2021-02-16", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM", + "start": "2021-02-17", + "end": "2021-02-23", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2021-02-17", + "end": "2021-02-23", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2021-02-24", + "end": "2021-02-25", + "process_anchor": "releasing" + } + ] }, { "version": "0.17", - "dev": { - "start": "Oct 1 2020", - "end": "Nov 23 2020", - "days": 38 - }, - "burndown": { - "start": "Nov 24 2020", - "end": "Dec 3 2020", - "days": 6 - }, - "codefreeze": { - "start": "Dec 4 2020", - "end": "Dec 9 2020", - "days": 4 - }, - "release": { - "start": "Dec 10 2020", - "end": "Dec 10 2020", - "days": 1 - } + "phases": [ + { + "name": "Development", + "cohort": "all", + "cohort_label": "", + "start": "2020-10-01", + "end": "2020-11-23" + }, + { + "name": "Burn Down", + "cohort": "all", + "cohort_label": "", + "start": "2020-11-24", + "end": "2020-12-03", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "all", + "cohort_label": "", + "start": "2020-12-04", + "end": "2020-12-09", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2020-12-10", + "end": "2020-12-10", + "process_anchor": "releasing" + } + ] }, { "version": "0.16", - "dev": { - "start": "Aug 6 2020", - "end": "Sep 30 2020", - "days": 39 - }, - "burndown": { - "start": "Oct 1 2020", - "end": "Oct 14 2020", - "days": 10 - }, - "codefreeze": { - "start": "Oct 15 2020", - "end": "Oct 20 2020", - "days": 4 - }, - "release": { - "start": "Oct 21 2020", - "end": "Oct 21 2020", - "days": 1 - } + "phases": [ + { + "name": "Development", + "cohort": "all", + "cohort_label": "", + "start": "2020-08-06", + "end": "2020-09-30" + }, + { + "name": "Burn Down", + "cohort": "all", + "cohort_label": "", + "start": "2020-10-01", + "end": "2020-10-14", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "all", + "cohort_label": "", + "start": "2020-10-15", + "end": "2020-10-20", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2020-10-21", + "end": "2020-10-21", + "process_anchor": "releasing" + } + ] }, { "version": "0.15", - "dev": { - "start": "May 19 2020", - "end": "Aug 5 2020", - "days": 56 - }, - "burndown": { - "start": "Aug 6 2020", - "end": "Aug 19 2020", - "days": 10 - }, - "codefreeze": { - "start": "Aug 20 2020", - "end": "Aug 25 2020", - "days": 4 - }, - "release": { - "start": "Aug 26 2020", - "end": "Aug 26 2020", - "days": 1 - } + "phases": [ + { + "name": "Development", + "cohort": "all", + "cohort_label": "", + "start": "2020-05-19", + "end": "2020-08-05" + }, + { + "name": "Burn Down", + "cohort": "all", + "cohort_label": "", + "start": "2020-08-06", + "end": "2020-08-19", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "all", + "cohort_label": "", + "start": "2020-08-20", + "end": "2020-08-25", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2020-08-26", + "end": "2020-08-26", + "process_anchor": "releasing" + } + ] }, { "version": "0.14", - "dev": { - "start": "Mar 9 2020", - "end": "May 18 2020", - "days": 51 - }, - "burndown": { - "start": "May 19 2020", - "end": "May 27 2020", - "days": 6 - }, - "codefreeze": { - "start": "May 28 2020", - "end": "Jun 2 2020", - "days": 4 - }, - "release": { - "start": "Jun 3 2020", - "end": "Jun 3 2020", - "days": 1 - } + "phases": [ + { + "name": "Development", + "cohort": "all", + "cohort_label": "", + "start": "2020-03-09", + "end": "2020-05-18" + }, + { + "name": "Burn Down", + "cohort": "all", + "cohort_label": "", + "start": "2020-05-19", + "end": "2020-05-27", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "all", + "cohort_label": "", + "start": "2020-05-28", + "end": "2020-06-02", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2020-06-03", + "end": "2020-06-03", + "process_anchor": "releasing" + } + ] }, { "version": "0.13", - "dev": { - "start": "Jan 16 2020", - "end": "Mar 6 2020", - "days": 35 - }, - "burndown": { - "start": "Mar 9 2020", - "end": "Mar 26 2020", - "days": 14 - }, - "codefreeze": { - "start": "Mar 27 2020", - "end": "Mar 30 2020", - "days": 2 - }, - "release": { - "start": "Mar 31 2020", - "end": "Mar 31 2020", - "days": 1 - } + "phases": [ + { + "name": "Development", + "cohort": "all", + "cohort_label": "", + "start": "2020-01-16", + "end": "2020-03-06" + }, + { + "name": "Burn Down", + "cohort": "all", + "cohort_label": "", + "start": "2020-03-09", + "end": "2020-03-26", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "all", + "cohort_label": "", + "start": "2020-03-27", + "end": "2020-03-30", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2020-03-31", + "end": "2020-03-31", + "process_anchor": "releasing" + } + ] }, { "version": "0.12", - "dev": { - "start": "Nov 21 2019", - "end": "Jan 15 2020", - "days": 36 - }, - "burndown": { - "start": "Jan 16 2020", - "end": "Jan 23 2020", - "days": 5 - }, - "codefreeze": { - "start": "Jan 24 2020", - "end": "Feb 3 2020", - "days": 9 - }, - "release": { - "start": "Feb 4 2020", - "end": "Feb 4 2020", - "days": 1 - } + "phases": [ + { + "name": "Development", + "cohort": "all", + "cohort_label": "", + "start": "2019-11-21", + "end": "2020-01-15" + }, + { + "name": "Burn Down", + "cohort": "all", + "cohort_label": "", + "start": "2020-01-16", + "end": "2020-01-23", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "all", + "cohort_label": "", + "start": "2020-01-24", + "end": "2020-02-03", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2020-02-04", + "end": "2020-02-04", + "process_anchor": "releasing" + } + ] }, { "version": "0.11", - "dev": { - "start": "Sep 26 2019", - "end": "Nov 20 2019", - "days": 40 - }, - "burndown": { - "start": "Nov 21 2019", - "end": "Dec 4 2019", - "days": 8 - }, - "codefreeze": { - "start": "Dec 5 2019", - "end": "Dec 10 2019", - "days": 4 - }, - "release": { - "start": "Dec 11 2019", - "end": "Dec 11 2019", - "days": 1 - } + "phases": [ + { + "name": "Development", + "cohort": "all", + "cohort_label": "", + "start": "2019-09-26", + "end": "2019-11-20" + }, + { + "name": "Burn Down", + "cohort": "all", + "cohort_label": "", + "start": "2019-11-21", + "end": "2019-12-04", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "all", + "cohort_label": "", + "start": "2019-12-05", + "end": "2019-12-10", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2019-12-11", + "end": "2019-12-11", + "process_anchor": "releasing" + } + ] }, { "version": "0.10", - "dev": { - "start": "Aug 14 2019", - "end": "Sep 25 2019", - "days": 30 - }, - "burndown": { - "start": "Sep 26 2019", - "end": "Oct 2 2019", - "days": 5 - }, - "codefreeze": { - "start": "Oct 10 2019", - "end": "Oct 16 2019", - "days": 5 - }, - "release": { - "start": "Oct 17 2019", - "end": "Oct 17 2019", - "days": 1 - } + "phases": [ + { + "name": "Development", + "cohort": "all", + "cohort_label": "", + "start": "2019-08-14", + "end": "2019-09-25" + }, + { + "name": "Burn Down", + "cohort": "all", + "cohort_label": "", + "start": "2019-09-26", + "end": "2019-10-02", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "all", + "cohort_label": "", + "start": "2019-10-10", + "end": "2019-10-16", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2019-10-17", + "end": "2019-10-17", + "process_anchor": "releasing" + } + ] }, { "version": "0.9", - "dev": { - "start": "Jun 24 2019", - "end": "Aug 6 2019", - "days": 30 - }, - "burndown": { - "start": "Aug 7 2019", - "end": "Aug 13 2019", - "days": 5 - }, - "codefreeze": { - "start": "Aug 14 2019", - "end": "Aug 20 2019", - "days": 5 - }, - "release": { - "start": "Aug 21 2019", - "end": "Aug 21 2019", - "days": 1 - } + "phases": [ + { + "name": "Development", + "cohort": "all", + "cohort_label": "", + "start": "2019-06-24", + "end": "2019-08-06" + }, + { + "name": "Burn Down", + "cohort": "all", + "cohort_label": "", + "start": "2019-08-07", + "end": "2019-08-13", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "all", + "cohort_label": "", + "start": "2019-08-14", + "end": "2019-08-20", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2019-08-21", + "end": "2019-08-21", + "process_anchor": "releasing" + } + ] }, { "version": "0.8", - "date": "Jun 27 2019" + "date": "2019-06-27" }, { "version": "0.7", - "date": "May 10 2019" + "date": "2019-05-10" }, { "version": "0.6", - "date": "Mar 22 2019" + "date": "2019-03-22" }, { "version": "0.5", - "date": "Jan 31 2019" + "date": "2019-01-31" }, { "version": "0.4", - "date": "Dec 10 2018" + "date": "2018-12-10" }, { "version": "0.3", - "date": "Nov 29 2018" + "date": "2018-11-29" }, { "version": "0.2", - "date": "Nov 14 2018" + "date": "2018-11-14" }, { "version": "0.1", - "date": "Oct 28 2018" + "date": "2018-10-28" } ] diff --git a/_data/redirects.yml b/_data/redirects.yml new file mode 100644 index 00000000000..12fcd6bd4f4 --- /dev/null +++ b/_data/redirects.yml @@ -0,0 +1,16 @@ +# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. +# SPDX-License-Identifier: Apache-2.0 +# +# Redirects that cannot be derived from docs.yml. A source without a trailing +# slash emits both forms. Generated project redirects are declared in docs.yml. + +redirects: + - source: /api/cusignal + target: /api/cusignal/stable/ + reason: Preserve the retired project's historical entry point. + - source: /api/libcugraph + target: /api/libcugraph/stable/ + reason: Preserve a published path that has no docs catalog entry. + - source: /deployment + target: /deployment/stable/ + reason: Deployment docs are hosted outside the API project catalog. diff --git a/_data/release_calendar.yml b/_data/release_calendar.yml new file mode 100644 index 00000000000..ba6e5831b2b --- /dev/null +++ b/_data/release_calendar.yml @@ -0,0 +1,1328 @@ +# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. +# SPDX-License-Identifier: Apache-2.0 +# +# Canonical RAPIDS release channels and schedules. Generated projections live in +# releases.json and previous_releases.json; edit this file instead of those files. + +channels: + legacy: '26.04' + stable: '26.06' + nightly: '26.08' + next_nightly: '26.10' +project_labels: + cudf: cuDF + rmm: RMM + rapids-cmake: rapids-cmake + cugraph-ops: cugraph-ops + raft: RAFT + dask-cuda: Dask-CUDA + kvikio: KvikIO + ucxx: UCXX + rapidsmpf: RapidsMPF + nvforest: nvForest +cohort_sets: + current: + early: + - cudf + - rmm + - rapids-cmake + - raft + - dask-cuda + - kvikio + - ucxx + - rapidsmpf + - nvforest + 26.04-26.06: + early: + - cudf + - rmm + - rapids-cmake + - raft + - dask-cuda + - kvikio + - ucxx + - rapidsmpf + 25.02-26.02: + early: + - cudf + - rmm + - rapids-cmake + - raft + 23.06-24.12: + early: + - cudf + - rmm + - rapids-cmake + - cugraph-ops + - raft + legacy-core: + early: + - cudf + - rmm +releases: + '26.10': + ucxx_version: '0.52' + cohort_set: current + phases: + - phase: development + cohort: all + start: '2026-07-16' + end: '2026-09-09' + - phase: burn_down + cohort: early + start: '2026-09-10' + end: '2026-09-16' + - phase: burn_down + cohort: remaining + start: '2026-09-10' + end: '2026-09-30' + - phase: code_freeze + cohort: early + start: '2026-09-17' + end: '2026-10-06' + - phase: code_freeze + cohort: remaining + start: '2026-10-01' + end: '2026-10-06' + - phase: release + cohort: all + start: '2026-10-07' + end: '2026-10-08' + '26.08': + ucxx_version: '0.51' + cohort_set: current + phases: + - phase: development + cohort: all + start: '2026-05-14' + end: '2026-07-15' + - phase: burn_down + cohort: early + start: '2026-07-16' + end: '2026-07-22' + - phase: burn_down + cohort: remaining + start: '2026-07-16' + end: '2026-07-29' + - phase: code_freeze + cohort: early + start: '2026-07-23' + end: '2026-08-04' + - phase: code_freeze + cohort: remaining + start: '2026-07-30' + end: '2026-08-04' + - phase: release + cohort: all + start: '2026-08-05' + end: '2026-08-06' + '26.06': + ucxx_version: '0.50' + cohort_set: 26.04-26.06 + phases: + - phase: development + cohort: all + start: '2026-03-12' + end: '2026-05-13' + - phase: burn_down + cohort: early + start: '2026-05-14' + end: '2026-05-20' + - phase: burn_down + cohort: remaining + start: '2026-05-14' + end: '2026-05-27' + - phase: code_freeze + cohort: early + start: '2026-05-21' + end: '2026-06-02' + - phase: code_freeze + cohort: remaining + start: '2026-05-28' + end: '2026-06-02' + - phase: release + cohort: all + start: '2026-06-03' + end: '2026-06-04' + '26.04': + ucxx_version: '0.49' + cohort_set: 26.04-26.06 + phases: + - phase: development + cohort: all + start: '2026-01-15' + end: '2026-03-11' + - phase: burn_down + cohort: early + start: '2026-03-12' + end: '2026-03-18' + - phase: burn_down + cohort: remaining + start: '2026-03-12' + end: '2026-04-01' + - phase: code_freeze + cohort: early + start: '2026-03-19' + end: '2026-04-07' + - phase: code_freeze + cohort: remaining + start: '2026-04-02' + end: '2026-04-07' + - phase: release + cohort: all + start: '2026-04-08' + end: '2026-04-09' + '26.02': + ucxx_version: '0.48' + cohort_set: 25.02-26.02 + phases: + - phase: development + cohort: early + start: '2025-11-13' + end: '2026-01-14' + - phase: development + cohort: remaining + start: '2025-11-20' + end: '2026-01-21' + - phase: burn_down + cohort: early + start: '2026-01-15' + end: '2026-01-21' + - phase: burn_down + cohort: remaining + start: '2026-01-22' + end: '2026-01-28' + - phase: code_freeze + cohort: early + start: '2026-01-22' + end: '2026-02-03' + - phase: code_freeze + cohort: remaining + start: '2026-01-29' + end: '2026-02-03' + - phase: release + cohort: all + start: '2026-02-04' + end: '2026-02-05' + '25.12': + ucxx_version: '0.47' + cohort_set: 25.02-26.02 + phases: + - phase: development + cohort: early + start: '2025-09-18' + end: '2025-11-12' + - phase: development + cohort: remaining + start: '2025-09-25' + end: '2025-11-19' + - phase: burn_down + cohort: early + start: '2025-11-13' + end: '2025-11-19' + - phase: burn_down + cohort: remaining + start: '2025-11-20' + end: '2025-12-03' + - phase: code_freeze + cohort: early + start: '2025-11-20' + end: '2025-12-09' + - phase: code_freeze + cohort: remaining + start: '2025-12-04' + end: '2025-12-09' + - phase: release + cohort: all + start: '2025-12-10' + end: '2025-12-11' + '25.10': + ucxx_version: '0.46' + cohort_set: 25.02-26.02 + phases: + - phase: development + cohort: early + start: '2025-07-17' + end: '2025-09-17' + - phase: development + cohort: remaining + start: '2025-07-24' + end: '2025-09-24' + - phase: burn_down + cohort: early + start: '2025-09-18' + end: '2025-09-24' + - phase: burn_down + cohort: remaining + start: '2025-09-25' + end: '2025-10-01' + - phase: code_freeze + cohort: early + start: '2025-09-25' + end: '2025-10-07' + - phase: code_freeze + cohort: remaining + start: '2025-10-02' + end: '2025-10-07' + - phase: release + cohort: all + start: '2025-10-08' + end: '2025-10-09' + '25.08': + ucxx_version: '0.45' + cohort_set: 25.02-26.02 + phases: + - phase: development + cohort: early + start: '2025-05-15' + end: '2025-07-16' + - phase: development + cohort: remaining + start: '2025-05-22' + end: '2025-07-23' + - phase: burn_down + cohort: early + start: '2025-07-17' + end: '2025-07-23' + - phase: burn_down + cohort: remaining + start: '2025-07-24' + end: '2025-07-30' + - phase: code_freeze + cohort: early + start: '2025-07-24' + end: '2025-08-05' + - phase: code_freeze + cohort: remaining + start: '2025-07-31' + end: '2025-08-05' + - phase: release + cohort: all + start: '2025-08-06' + end: '2025-08-07' + '25.06': + ucxx_version: '0.44' + cohort_set: 25.02-26.02 + phases: + - phase: development + cohort: early + start: '2025-03-13' + end: '2025-05-14' + - phase: development + cohort: remaining + start: '2025-03-20' + end: '2025-05-21' + - phase: burn_down + cohort: early + start: '2025-05-15' + end: '2025-05-21' + - phase: burn_down + cohort: remaining + start: '2025-05-22' + end: '2025-05-28' + - phase: code_freeze + cohort: early + start: '2025-05-22' + end: '2025-06-03' + - phase: code_freeze + cohort: remaining + start: '2025-05-29' + end: '2025-06-03' + - phase: release + cohort: all + start: '2025-06-04' + end: '2025-06-05' + '25.04': + ucxx_version: '0.43' + cohort_set: 25.02-26.02 + phases: + - phase: development + cohort: early + start: '2025-01-23' + end: '2025-03-12' + - phase: development + cohort: remaining + start: '2025-01-30' + end: '2025-03-19' + - phase: burn_down + cohort: early + start: '2025-03-13' + end: '2025-03-19' + - phase: burn_down + cohort: remaining + start: '2025-03-20' + end: '2025-04-02' + - phase: code_freeze + cohort: early + start: '2025-03-20' + end: '2025-04-08' + - phase: code_freeze + cohort: remaining + start: '2025-04-03' + end: '2025-04-08' + - phase: release + cohort: all + start: '2025-04-09' + end: '2025-04-10' + '25.02': + ucxx_version: '0.42' + cohort_set: 25.02-26.02 + phases: + - phase: development + cohort: early + start: '2024-11-14' + end: '2025-01-22' + - phase: development + cohort: remaining + start: '2024-11-21' + end: '2025-01-29' + - phase: burn_down + cohort: early + start: '2025-01-23' + end: '2025-01-29' + - phase: burn_down + cohort: remaining + start: '2025-01-30' + end: '2025-02-05' + - phase: code_freeze + cohort: early + start: '2025-01-30' + end: '2025-02-11' + - phase: code_freeze + cohort: remaining + start: '2025-02-06' + end: '2025-02-11' + - phase: release + cohort: all + start: '2025-02-12' + end: '2025-02-13' + '24.12': + ucxx_version: '0.41' + cohort_set: 23.06-24.12 + phases: + - phase: development + cohort: early + start: '2024-09-19' + end: '2024-11-13' + - phase: development + cohort: remaining + start: '2024-09-26' + end: '2024-11-20' + - phase: burn_down + cohort: early + start: '2024-11-14' + end: '2024-11-20' + - phase: burn_down + cohort: remaining + start: '2024-11-21' + end: '2024-12-04' + - phase: code_freeze + cohort: early + start: '2024-11-21' + end: '2024-12-10' + - phase: code_freeze + cohort: remaining + start: '2024-12-05' + end: '2024-12-10' + - phase: release + cohort: all + start: '2024-12-11' + end: '2024-12-12' + '24.10': + ucxx_version: '0.40' + cohort_set: 23.06-24.12 + phases: + - phase: development + cohort: early + start: '2024-07-18' + end: '2024-09-18' + - phase: development + cohort: remaining + start: '2024-07-25' + end: '2024-09-25' + - phase: burn_down + cohort: early + start: '2024-09-19' + end: '2024-09-25' + - phase: burn_down + cohort: remaining + start: '2024-09-26' + end: '2024-10-02' + - phase: code_freeze + cohort: early + start: '2024-09-26' + end: '2024-10-08' + - phase: code_freeze + cohort: remaining + start: '2024-10-03' + end: '2024-10-08' + - phase: release + cohort: all + start: '2024-10-09' + end: '2024-10-10' + '24.08': + ucxx_version: '0.39' + cohort_set: 23.06-24.12 + phases: + - phase: development + cohort: early + start: '2024-05-16' + end: '2024-07-17' + - phase: development + cohort: remaining + start: '2024-05-23' + end: '2024-07-24' + - phase: burn_down + cohort: early + start: '2024-07-18' + end: '2024-07-24' + - phase: burn_down + cohort: remaining + start: '2024-07-25' + end: '2024-07-31' + - phase: code_freeze + cohort: early + start: '2024-07-25' + end: '2024-08-06' + - phase: code_freeze + cohort: remaining + start: '2024-08-01' + end: '2024-08-06' + - phase: release + cohort: all + start: '2024-08-07' + end: '2024-08-08' + '24.06': + ucxx_version: '0.38' + cohort_set: 23.06-24.12 + phases: + - phase: development + cohort: early + start: '2024-03-14' + end: '2024-05-15' + - phase: development + cohort: remaining + start: '2024-03-21' + end: '2024-05-22' + - phase: burn_down + cohort: early + start: '2024-05-16' + end: '2024-05-22' + - phase: burn_down + cohort: remaining + start: '2024-05-23' + end: '2024-05-29' + - phase: code_freeze + cohort: early + start: '2024-05-23' + end: '2024-06-04' + - phase: code_freeze + cohort: remaining + start: '2024-05-30' + end: '2024-06-04' + - phase: release + cohort: all + start: '2024-06-05' + end: '2024-06-06' + '24.04': + ucxx_version: '0.37' + cohort_set: 23.06-24.12 + phases: + - phase: development + cohort: early + start: '2024-01-18' + end: '2024-03-13' + - phase: development + cohort: remaining + start: '2024-01-25' + end: '2024-03-20' + - phase: burn_down + cohort: early + start: '2024-03-14' + end: '2024-03-20' + - phase: burn_down + cohort: remaining + start: '2024-03-21' + end: '2024-04-03' + - phase: code_freeze + cohort: early + start: '2024-03-21' + end: '2024-04-09' + - phase: code_freeze + cohort: remaining + start: '2024-04-04' + end: '2024-04-09' + - phase: release + cohort: all + start: '2024-04-10' + end: '2024-04-11' + '24.02': + cohort_set: 23.06-24.12 + phases: + - phase: development + cohort: early + start: '2023-11-09' + end: '2024-01-17' + - phase: development + cohort: remaining + start: '2023-11-16' + end: '2024-01-24' + - phase: burn_down + cohort: early + start: '2024-01-18' + end: '2024-01-24' + - phase: burn_down + cohort: remaining + start: '2024-01-25' + end: '2024-01-31' + - phase: code_freeze + cohort: early + start: '2024-01-25' + end: '2024-02-06' + - phase: code_freeze + cohort: remaining + start: '2024-02-01' + end: '2024-02-06' + - phase: release + cohort: all + start: '2024-02-07' + end: '2024-02-08' + '23.12': + cohort_set: 23.06-24.12 + phases: + - phase: development + cohort: early + start: '2023-09-21' + end: '2023-11-08' + - phase: development + cohort: remaining + start: '2023-09-28' + end: '2023-11-15' + - phase: burn_down + cohort: early + start: '2023-11-09' + end: '2023-11-15' + - phase: burn_down + cohort: remaining + start: '2023-11-16' + end: '2023-11-29' + - phase: code_freeze + cohort: early + start: '2023-11-16' + end: '2023-12-05' + - phase: code_freeze + cohort: remaining + start: '2023-11-30' + end: '2023-12-05' + - phase: release + cohort: all + start: '2023-12-06' + end: '2023-12-07' + '23.10': + cohort_set: 23.06-24.12 + phases: + - phase: development + cohort: early + start: '2023-07-20' + end: '2023-09-20' + - phase: development + cohort: remaining + start: '2023-07-27' + end: '2023-09-27' + - phase: burn_down + cohort: early + start: '2023-09-21' + end: '2023-09-27' + - phase: burn_down + cohort: remaining + start: '2023-09-28' + end: '2023-10-04' + - phase: code_freeze + cohort: early + start: '2023-09-28' + end: '2023-10-10' + - phase: code_freeze + cohort: remaining + start: '2023-10-05' + end: '2023-10-10' + - phase: release + cohort: all + start: '2023-10-11' + end: '2023-10-12' + '23.08': + cohort_set: 23.06-24.12 + phases: + - phase: development + cohort: early + start: '2023-05-18' + end: '2023-07-19' + - phase: development + cohort: remaining + start: '2023-05-25' + end: '2023-07-26' + - phase: burn_down + cohort: early + start: '2023-07-20' + end: '2023-07-26' + - phase: burn_down + cohort: remaining + start: '2023-07-27' + end: '2023-08-02' + - phase: code_freeze + cohort: early + start: '2023-07-27' + end: '2023-08-08' + - phase: code_freeze + cohort: remaining + start: '2023-08-03' + end: '2023-08-08' + - phase: release + cohort: all + start: '2023-08-09' + end: '2023-08-10' + '23.06': + cohort_set: 23.06-24.12 + phases: + - phase: development + cohort: early + start: '2023-03-23' + end: '2023-05-17' + - phase: development + cohort: remaining + start: '2023-03-30' + end: '2023-05-24' + - phase: burn_down + cohort: early + start: '2023-05-18' + end: '2023-05-24' + - phase: burn_down + cohort: remaining + start: '2023-05-25' + end: '2023-05-31' + - phase: code_freeze + cohort: early + start: '2023-05-25' + end: '2023-06-06' + - phase: code_freeze + cohort: remaining + start: '2023-06-01' + end: '2023-06-06' + - phase: release + cohort: all + start: '2023-06-07' + end: '2023-06-08' + '23.04': + cohort_set: legacy-core + phases: + - phase: development + cohort: early + start: '2023-01-19' + end: '2023-03-22' + - phase: development + cohort: remaining + start: '2023-01-26' + end: '2023-03-29' + - phase: burn_down + cohort: early + start: '2023-03-23' + end: '2023-03-29' + - phase: burn_down + cohort: remaining + start: '2023-03-30' + end: '2023-04-05' + - phase: code_freeze + cohort: early + start: '2023-03-30' + end: '2023-04-04' + - phase: code_freeze + cohort: remaining + start: '2023-04-06' + end: '2023-04-11' + - phase: release + cohort: all + start: '2023-04-12' + end: '2023-04-13' + '23.02': + cohort_set: legacy-core + phases: + - phase: development + cohort: early + start: '2022-11-10' + end: '2023-01-18' + - phase: development + cohort: remaining + start: '2022-11-17' + end: '2023-01-25' + - phase: burn_down + cohort: early + start: '2023-01-19' + end: '2023-01-25' + - phase: burn_down + cohort: remaining + start: '2023-01-26' + end: '2023-02-01' + - phase: code_freeze + cohort: early + start: '2023-01-26' + end: '2023-01-31' + - phase: code_freeze + cohort: remaining + start: '2023-02-02' + end: '2023-02-07' + - phase: release + cohort: all + start: '2023-02-08' + end: '2023-02-09' + '22.12': + cohort_set: legacy-core + phases: + - phase: development + cohort: early + start: '2022-09-22' + end: '2022-11-09' + - phase: development + cohort: remaining + start: '2022-09-29' + end: '2022-11-16' + - phase: burn_down + cohort: early + start: '2022-11-10' + end: '2022-11-16' + - phase: burn_down + cohort: remaining + start: '2022-11-17' + end: '2022-11-30' + - phase: code_freeze + cohort: early + start: '2022-11-17' + end: '2022-11-30' + - phase: code_freeze + cohort: remaining + start: '2022-12-01' + end: '2022-12-06' + - phase: release + cohort: all + start: '2022-12-07' + end: '2022-12-08' + '22.10': + cohort_set: legacy-core + phases: + - phase: development + cohort: early + start: '2022-07-21' + end: '2022-09-21' + - phase: development + cohort: remaining + start: '2022-07-28' + end: '2022-09-28' + - phase: burn_down + cohort: early + start: '2022-09-22' + end: '2022-09-28' + - phase: burn_down + cohort: remaining + start: '2022-09-29' + end: '2022-10-05' + - phase: code_freeze + cohort: early + start: '2022-09-29' + end: '2022-10-05' + - phase: code_freeze + cohort: remaining + start: '2022-10-06' + end: '2022-10-11' + - phase: release + cohort: all + start: '2022-10-12' + end: '2022-10-13' + '22.08': + cohort_set: legacy-core + phases: + - phase: development + cohort: early + start: '2022-05-18' + end: '2022-07-20' + - phase: development + cohort: remaining + start: '2022-05-25' + end: '2022-07-27' + - phase: burn_down + cohort: early + start: '2022-07-21' + end: '2022-07-27' + - phase: burn_down + cohort: remaining + start: '2022-07-28' + end: '2022-08-03' + - phase: code_freeze + cohort: early + start: '2022-07-28' + end: '2022-08-03' + - phase: code_freeze + cohort: remaining + start: '2022-08-04' + end: '2022-08-10' + - phase: release + cohort: all + start: '2022-08-11' + end: '2022-08-17' + '22.06': + cohort_set: legacy-core + phases: + - phase: development + cohort: early + start: '2022-03-17' + end: '2022-05-17' + - phase: development + cohort: remaining + start: '2022-03-24' + end: '2022-05-24' + - phase: burn_down + cohort: early + start: '2022-05-18' + end: '2022-05-24' + - phase: burn_down + cohort: remaining + start: '2022-05-25' + end: '2022-06-01' + - phase: code_freeze + cohort: early + start: '2022-05-25' + end: '2022-05-31' + - phase: code_freeze + cohort: remaining + start: '2022-06-02' + end: '2022-06-06' + - phase: release + cohort: all + start: '2022-06-07' + end: '2022-06-08' + '22.04': + cohort_set: legacy-core + phases: + - phase: development + cohort: early + start: '2022-01-12' + end: '2022-03-16' + - phase: development + cohort: remaining + start: '2022-01-20' + end: '2022-03-23' + - phase: burn_down + cohort: early + start: '2022-03-17' + end: '2022-03-23' + - phase: burn_down + cohort: remaining + start: '2022-03-24' + end: '2022-03-30' + - phase: code_freeze + cohort: early + start: '2022-03-24' + end: '2022-03-30' + - phase: code_freeze + cohort: remaining + start: '2022-03-31' + end: '2022-04-05' + - phase: release + cohort: all + start: '2022-04-06' + end: '2022-04-07' + '22.02': + cohort_set: legacy-core + phases: + - phase: development + cohort: early + start: '2021-11-04' + end: '2022-01-11' + - phase: development + cohort: remaining + start: '2021-11-11' + end: '2022-01-19' + - phase: burn_down + cohort: early + start: '2022-01-12' + end: '2022-01-19' + - phase: burn_down + cohort: remaining + start: '2022-01-20' + end: '2022-01-26' + - phase: code_freeze + cohort: early + start: '2022-01-20' + end: '2022-01-26' + - phase: code_freeze + cohort: remaining + start: '2022-01-27' + end: '2022-02-01' + - phase: release + cohort: all + start: '2022-02-02' + end: '2022-02-03' + '21.12': + cohort_set: legacy-core + phases: + - phase: development + cohort: early + start: '2021-09-16' + end: '2021-11-03' + - phase: development + cohort: remaining + start: '2021-09-23' + end: '2021-11-10' + - phase: burn_down + cohort: early + start: '2021-11-04' + end: '2021-11-10' + - phase: burn_down + cohort: remaining + start: '2021-11-11' + end: '2021-11-17' + - phase: code_freeze + cohort: early + start: '2021-11-11' + end: '2021-11-17' + - phase: code_freeze + cohort: remaining + start: '2021-11-18' + end: '2021-11-30' + - phase: release + cohort: all + start: '2021-12-08' + end: '2021-12-09' + schedule_exception: Preserves a gap in the historically published schedule. + '21.10': + cohort_set: legacy-core + phases: + - phase: development + cohort: early + start: '2021-07-14' + end: '2021-09-15' + - phase: development + cohort: remaining + start: '2021-07-21' + end: '2021-09-22' + - phase: burn_down + cohort: early + start: '2021-09-16' + end: '2021-09-22' + - phase: burn_down + cohort: remaining + start: '2021-09-23' + end: '2021-09-28' + - phase: code_freeze + cohort: early + start: '2021-09-23' + end: '2021-09-28' + - phase: code_freeze + cohort: remaining + start: '2021-09-29' + end: '2021-10-05' + - phase: release + cohort: all + start: '2021-10-06' + end: '2021-10-07' + '21.08': + cohort_set: legacy-core + phases: + - phase: development + cohort: early + start: '2021-05-19' + end: '2021-07-14' + - phase: development + cohort: remaining + start: '2021-05-26' + end: '2021-07-21' + - phase: burn_down + cohort: early + start: '2021-07-15' + end: '2021-07-21' + - phase: burn_down + cohort: remaining + start: '2021-07-22' + end: '2021-07-28' + - phase: code_freeze + cohort: early + start: '2021-07-22' + end: '2021-07-28' + - phase: code_freeze + cohort: remaining + start: '2021-07-29' + end: '2021-08-03' + - phase: release + cohort: all + start: '2021-08-04' + end: '2021-08-05' + '21.06': + cohort_set: legacy-core + phases: + - phase: development + cohort: early + start: '2021-03-25' + end: '2021-05-18' + - phase: development + cohort: remaining + start: '2021-04-01' + end: '2021-05-25' + - phase: burn_down + cohort: early + start: '2021-05-19' + end: '2021-05-25' + - phase: burn_down + cohort: remaining + start: '2021-05-26' + end: '2021-06-02' + - phase: code_freeze + cohort: early + start: '2021-05-26' + end: '2021-06-02' + - phase: code_freeze + cohort: remaining + start: '2021-06-03' + end: '2021-06-08' + - phase: release + cohort: all + start: '2021-06-09' + end: '2021-06-10' + '0.19': + cohort_set: legacy-core + phases: + - phase: development + cohort: early + start: '2021-01-27' + end: '2021-03-24' + - phase: development + cohort: remaining + start: '2021-02-03' + end: '2021-03-31' + - phase: burn_down + cohort: early + start: '2021-03-25' + end: '2021-03-31' + - phase: burn_down + cohort: remaining + start: '2021-04-01' + end: '2021-04-07' + - phase: code_freeze + cohort: early + start: '2021-04-01' + end: '2021-04-07' + - phase: code_freeze + cohort: remaining + start: '2021-04-08' + end: '2021-04-20' + - phase: release + cohort: all + start: '2021-04-21' + end: '2021-04-22' + '0.18': + cohort_set: legacy-core + phases: + - phase: development + cohort: early + start: '2020-11-24' + end: '2021-01-26' + - phase: development + cohort: remaining + start: '2020-11-24' + end: '2021-02-02' + - phase: burn_down + cohort: early + start: '2021-01-27' + end: '2021-02-16' + - phase: burn_down + cohort: remaining + start: '2021-02-03' + end: '2021-02-16' + - phase: code_freeze + cohort: early + start: '2021-02-17' + end: '2021-02-23' + - phase: code_freeze + cohort: remaining + start: '2021-02-17' + end: '2021-02-23' + - phase: release + cohort: all + start: '2021-02-24' + end: '2021-02-25' + '0.17': + phases: + - phase: development + cohort: all + start: '2020-10-01' + end: '2020-11-23' + - phase: burn_down + cohort: all + start: '2020-11-24' + end: '2020-12-03' + - phase: code_freeze + cohort: all + start: '2020-12-04' + end: '2020-12-09' + - phase: release + cohort: all + start: '2020-12-10' + end: '2020-12-10' + '0.16': + phases: + - phase: development + cohort: all + start: '2020-08-06' + end: '2020-09-30' + - phase: burn_down + cohort: all + start: '2020-10-01' + end: '2020-10-14' + - phase: code_freeze + cohort: all + start: '2020-10-15' + end: '2020-10-20' + - phase: release + cohort: all + start: '2020-10-21' + end: '2020-10-21' + '0.15': + phases: + - phase: development + cohort: all + start: '2020-05-19' + end: '2020-08-05' + - phase: burn_down + cohort: all + start: '2020-08-06' + end: '2020-08-19' + - phase: code_freeze + cohort: all + start: '2020-08-20' + end: '2020-08-25' + - phase: release + cohort: all + start: '2020-08-26' + end: '2020-08-26' + '0.14': + phases: + - phase: development + cohort: all + start: '2020-03-09' + end: '2020-05-18' + - phase: burn_down + cohort: all + start: '2020-05-19' + end: '2020-05-27' + - phase: code_freeze + cohort: all + start: '2020-05-28' + end: '2020-06-02' + - phase: release + cohort: all + start: '2020-06-03' + end: '2020-06-03' + '0.13': + phases: + - phase: development + cohort: all + start: '2020-01-16' + end: '2020-03-06' + - phase: burn_down + cohort: all + start: '2020-03-09' + end: '2020-03-26' + - phase: code_freeze + cohort: all + start: '2020-03-27' + end: '2020-03-30' + - phase: release + cohort: all + start: '2020-03-31' + end: '2020-03-31' + schedule_exception: Preserves a gap in the historically published schedule. + '0.12': + phases: + - phase: development + cohort: all + start: '2019-11-21' + end: '2020-01-15' + - phase: burn_down + cohort: all + start: '2020-01-16' + end: '2020-01-23' + - phase: code_freeze + cohort: all + start: '2020-01-24' + end: '2020-02-03' + - phase: release + cohort: all + start: '2020-02-04' + end: '2020-02-04' + '0.11': + phases: + - phase: development + cohort: all + start: '2019-09-26' + end: '2019-11-20' + - phase: burn_down + cohort: all + start: '2019-11-21' + end: '2019-12-04' + - phase: code_freeze + cohort: all + start: '2019-12-05' + end: '2019-12-10' + - phase: release + cohort: all + start: '2019-12-11' + end: '2019-12-11' + '0.10': + phases: + - phase: development + cohort: all + start: '2019-08-14' + end: '2019-09-25' + - phase: burn_down + cohort: all + start: '2019-09-26' + end: '2019-10-02' + - phase: code_freeze + cohort: all + start: '2019-10-10' + end: '2019-10-16' + - phase: release + cohort: all + start: '2019-10-17' + end: '2019-10-17' + schedule_exception: Preserves a gap in the historically published schedule. + '0.9': + phases: + - phase: development + cohort: all + start: '2019-06-24' + end: '2019-08-06' + - phase: burn_down + cohort: all + start: '2019-08-07' + end: '2019-08-13' + - phase: code_freeze + cohort: all + start: '2019-08-14' + end: '2019-08-20' + - phase: release + cohort: all + start: '2019-08-21' + end: '2019-08-21' + '0.8': + released_on: '2019-06-27' + '0.7': + released_on: '2019-05-10' + '0.6': + released_on: '2019-03-22' + '0.5': + released_on: '2019-01-31' + '0.4': + released_on: '2018-12-10' + '0.3': + released_on: '2018-11-29' + '0.2': + released_on: '2018-11-14' + '0.1': + released_on: '2018-10-28' diff --git a/_data/releases.json b/_data/releases.json index 860e7955e45..8eabd3c0b19 100644 --- a/_data/releases.json +++ b/_data/releases.json @@ -2,79 +2,117 @@ "legacy": { "version": "26.04", "ucxx_version": "0.49", - "date": "Apr 9 2026" + "date": "2026-04-09" }, "stable": { "version": "26.06", "ucxx_version": "0.50", - "date": "Jun 4 2026" + "date": "2026-06-04" }, "nightly": { "version": "26.08", "ucxx_version": "0.51", - "dev": { - "start": "May 14 2026", - "end": "July 15 2026", - "days": "40" - }, - "cudf_burndown": { - "start": "Jul 16 2026", - "end": "Jul 22 2026", - "days": "6" - }, - "other_burndown": { - "start": "Jul 16 2026", - "end": "Jul 29 2026", - "days": "10" - }, - "cudf_codefreeze": { - "start": "Jul 23 2026", - "end": "Aug 4 2026", - "days": "9" - }, - "other_codefreeze": { - "start": "Jul 30 2026", - "end": "Aug 4 2026", - "days": "4" - }, - "release": { - "start": "Aug 5 2026", - "end": "Aug 6 2026", - "days": "2" - } + "phases": [ + { + "name": "Development", + "cohort": "all", + "cohort_label": "", + "start": "2026-05-14", + "end": "2026-07-15" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/RAFT/Dask-CUDA/KvikIO/UCXX/RapidsMPF/nvForest", + "start": "2026-07-16", + "end": "2026-07-22", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2026-07-16", + "end": "2026-07-29", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/RAFT/Dask-CUDA/KvikIO/UCXX/RapidsMPF/nvForest", + "start": "2026-07-23", + "end": "2026-08-04", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2026-07-30", + "end": "2026-08-04", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2026-08-05", + "end": "2026-08-06", + "process_anchor": "releasing" + } + ] }, "next_nightly": { "version": "26.10", "ucxx_version": "0.52", - "dev": { - "start": "Jul 16 2026", - "end": "Sep 9 2026", - "days": "39" - }, - "cudf_burndown": { - "start": "Sep 10 2026", - "end": "Sep 16 2026", - "days": "5" - }, - "other_burndown": { - "start": "Sep 10 2026", - "end": "Sep 30 2026", - "days": "15" - }, - "cudf_codefreeze": { - "start": "Sep 17 2026", - "end": "Oct 6 2026", - "days": "12" - }, - "other_codefreeze": { - "start": "Oct 1 2026", - "end": "Oct 6 2026", - "days": "5" - }, - "release": { - "start": "Oct 7 2026", - "end": "Oct 8 2026", - "days": "2" - } + "phases": [ + { + "name": "Development", + "cohort": "all", + "cohort_label": "", + "start": "2026-07-16", + "end": "2026-09-09" + }, + { + "name": "Burn Down", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/RAFT/Dask-CUDA/KvikIO/UCXX/RapidsMPF/nvForest", + "start": "2026-09-10", + "end": "2026-09-16", + "process_anchor": "burn-down" + }, + { + "name": "Burn Down", + "cohort": "remaining", + "cohort_label": "others", + "start": "2026-09-10", + "end": "2026-09-30", + "process_anchor": "burn-down" + }, + { + "name": "Code Freeze/Testing", + "cohort": "early", + "cohort_label": "cuDF/RMM/rapids-cmake/RAFT/Dask-CUDA/KvikIO/UCXX/RapidsMPF/nvForest", + "start": "2026-09-17", + "end": "2026-10-06", + "process_anchor": "code-freeze" + }, + { + "name": "Code Freeze/Testing", + "cohort": "remaining", + "cohort_label": "others", + "start": "2026-10-01", + "end": "2026-10-06", + "process_anchor": "code-freeze" + }, + { + "name": "Release", + "cohort": "all", + "cohort_label": "", + "start": "2026-10-07", + "end": "2026-10-08", + "process_anchor": "releasing" + } + ] } } diff --git a/_includes/api-docs.html b/_includes/api-docs.html index bfa66cdae21..ef1854d9894 100644 --- a/_includes/api-docs.html +++ b/_includes/api-docs.html @@ -6,15 +6,14 @@ {% if api.hidden != true %} {% comment %} HACK: below operation returns an array of stable/nightly/legacy values only if they're enabled in docs.yml. see issue #97 {% endcomment %} {% assign versions = api.versions | sort | where_exp: "item", "item[1] == 1" | join: "" | split: "1" | reverse %} +{% assign release_version_field = api.release_version_field | default: "version" %} ### {{ api.name }} {{ api.desc }} #### DOCS {% for version_name in versions -%} {%- if api.version-overrides -%} **[{{ version_name }} ({{ api.version-overrides[version_name] }})](/api/{{ api.path }}/{{ version_name }})** - {%- elsif api.name == "libucxx" or api.name == "UCXX" -%} - **[{{ version_name }} ({{ site.data.releases[version_name].ucxx_version }})](/api/{{ api.path }}/{{ version_name }})** {%- else -%} - **[{{ version_name }} ({{ site.data.releases[version_name].version }})](/api/{{ api.path }}/{{ version_name }})** + **[{{ version_name }} ({{ site.data.releases[version_name][release_version_field] }})](/api/{{ api.path }}/{{ version_name }})** {%- endif -%} {%- unless forloop.last %} | {% endunless -%} {%- endfor %} diff --git a/_includes/release-schedule.html b/_includes/release-schedule.html new file mode 100644 index 00000000000..4d4b8ef6252 --- /dev/null +++ b/_includes/release-schedule.html @@ -0,0 +1,40 @@ + +{% if include.release.phases %} + + + + + + + + + + {% for phase in include.release.phases %} + + + + + + {% endfor %} + +
PhaseStartEnd
+ {% if phase.process_anchor %}{{ phase.name }}{% else %}{{ phase.name }}{% endif %}{% if phase.cohort_label != "" %} ({{ phase.cohort_label }}){% endif %} + {{ phase.start | date: "%a, %b %e, %Y" }}{{ phase.end | date: "%a, %b %e, %Y" }}
+{% else %} + + + + + + + + + + + + + +
PhaseDate
Release{{ include.release.date | date: "%a, %b %e, %Y" }}
+{% endif %} diff --git a/_includes/selector.html b/_includes/selector.html index 6bf2875a5ee..2ddb28fc20c 100644 --- a/_includes/selector.html +++ b/_includes/selector.html @@ -249,7 +249,7 @@
ENV. CUDA
-