Posit Package Manager Offline Downloader Release Notes

Published

August 10, 2026

Please submit the Posit support form with questions about the described changes.

2026.08.0

August 10, 2026

New

  • (#19421): get cran and get bioconductor now accept a --since=YYYY-MM-DD flag that limits how much version history is downloaded, which is the largest factor in the size of a mirror. It applies to a full mirror and, with --file-in, to a chosen set of packages. The date is the mirror’s retention start: choose it once when you first build the mirror and pass the same date on every run, so each run keeps everything the previous run kept plus whatever is new. The window keeps the versions that were current on or after that date; versions already archived before it are not downloaded, which is where most of the size reduction comes from. No package is dropped entirely: a package with no release on or after the date still gets its most recent earlier version, so it remains installable. --since can also be set in the requirements file, and a flag on the command line overrides the file. It is separate from --starting-snapshot and --ending-snapshot, which limit what a single run downloads rather than how much history the mirror keeps, and the two work together: use the same --since date on every run and add --starting-snapshot to download only the files added since your last transfer. Without --since, the complete version history is downloaded as before.

  • (#19421): --starting-snapshot can no longer be combined with --file-in. --starting-snapshot downloads only the files dated on or after the date you give, on the assumption that the machine you copy the data to already holds everything older. That assumption does not hold when you select packages by name, because the set of packages you want can grow: you add a package whose versions all predate the date, or an updated package gains a new dependency whose versions predate the date, which happens without any change to your requirements file. In both cases the package index listed the package but the download did not contain it, so installing it failed. Run --file-in downloads without --starting-snapshot; a --file-in download is much smaller than a full mirror, so a complete run is inexpensive.

  • (#18526, #19337): get cran and get bioconductor now accept a --file-in requirements file and download the listed packages together with all of their dependencies, so you can mirror a specific set of R packages instead of an entire repository. The subset includes each package’s full version history. Each requirements-file entry’s dependency types are honored for that package: pkg[none] downloads only that package, and pkg[depends] follows only its Depends, while the packages they pull in are always followed through their required dependencies so that everything downloaded can be installed. If a requested package is no longer available in the repository, it is still downloaded, but a warning reports that its dependencies could not be determined and may need to be listed in the requirements file.

  • (#18373): get bioconductor now accepts --include-binaries, --distributions, --architectures, and --r-versions to mirror Bioconductor binary packages, and validate bioconductor reports how many of each platform’s binaries are present. Each Bioconductor version pins a single R version, so those R versions are derived automatically; --r-versions narrows which of them are downloaded, and any Bioconductor version pinning a different R version is reported and skipped. Binaries are available for the main Bioconductor software repository. Mirror Bioconductor and CRAN binaries into the same destination directory, because Package Manager serves both from one location.

Fixed

  • (#19426): The Air-Gapped Installations guide now states that a --file-in requirements file is the complete list of what the repository serves, not a list of packages to add. Every download rebuilds the package index to match the file, so downloading with a file that lists only a newly added package produces an index that lists only that package, and copying it into the destination directory replaces the index that listed the others. The files of the omitted packages are not deleted, so restoring the full requirements file and downloading again recovers the index without re-transferring them. This applies to CRAN, Bioconductor, Python, and Open VSX.

  • (#19463): The Air-Gapped Installations guide now states that a download made with --starting-snapshot is not a working repository on its own and must not be served or tested by itself. Such a download contains only the files added since the date given, but its package index still lists every package in the repository, so the repository looks complete while most installs fail. Verify an incremental download only after copying it into the destination directory that already holds the older files.

  • (#19356): The --skip-source flag on get cran now works. It was accepted but had no effect, so a download that specified it still retrieved every source package. Source packages are now skipped as documented, while the manifest, its metadata, and the binaries are still downloaded.

  • (#19355): get cran --include-binaries now saves the binary index in the format Package Manager reads. Previously it saved an older format, so an air-gapped server found no index for the downloaded binaries and served every package from source instead. Re-run get cran --include-binaries to add the correct index to an existing dataset. Downloads that used --file-in were not affected.

  • (#19137): get pypi now preserves each package’s release date and license information from the source manifest, so air-gapped servers show the same values as connected ones.

  • (#19364): get pypi now preserves each package’s per-version dependency information from the source manifest, so an air-gapped server shows the dependencies for every release of a Python package, matching a connected one. Re-run get pypi to add this information to an existing dataset.

2026.06.0

June 30, 2026

This release includes no changes to the Offline Downloader.

2026.05.0

May 29, 2026

This release includes no changes to the Offline Downloader.

2026.04.2

May 07, 2026

This release includes no changes to the Offline Downloader.

2026.04.1

April 17, 2026

This release includes no changes to the Offline Downloader.

2026.04.0

April 09, 2026

New

  • (#17363): Open VSX extensions can now be downloaded using the new get openvsx command. Download all extensions or specify a curated subset using an extensions.txt file, and optionally filter by target platform. The downloader resolves dependencies automatically. See the Air-Gapped Package Manager documentation for instructions on how to set up an offline Open VSX repository.

2025.12.0

December 23, 2025

New

  • (#16390): The offline downloader can now be installed for the ARM64 architecture on Linux.

2025.09.2

November 3, 2025

This release includes no changes to the Offline Downloader.

2025.09.0

September 10, 2025

New

  • (#15652): Adds support for ARM64 Linux binary packages. ARM64 Linux binaries will be downloaded by default unless the --architectures flag is specified, so set --architectures=x86_64 to limit downloads to only the x86_64 architecture if you are not using ARM64.

2025.04.4

July 07, 2025

This release includes no changes to the Offline Downloader.

2025.04.2

May 30, 2025

This release includes no changes to the Offline Downloader.

2025.04.0

April 10, 2025

This release includes no changes to the Offline Downloader.

2024.11.0

December 4, 2024

New

  • (#14528): Adds support for filtering Python package versions specified in the requirements.txt file.

2024.08.2

September 20, 2024

This release includes no changes to the Offline Downloader.

2024.08.0

August 9, 2024

Breaking

  • Air-gapped customers are required to redownload the Bioconductor data after upgrading before syncing the Bioconductor source. See the Admin Guide for more information.

2024.04.4

June 26, 2024

This release includes no changes to the Offline Downloader.

2024.04.2

June 14, 2024

New

  • (#12841): PyPI packages can now be downloaded using the new get pypi command. See the Air-Gapped Package Manager documentation for instructions on how to set up an offline PyPI repository.

  • (#11105): Concurrent downloaders up to the --concurrency setting will automatically be spawned based on network and hardware factors. The default is now 500.

  • (#11105): Allow higher concurrent downloads on rspm-offline-downloader get bioconductor.

Breaking

  • Air-gapped customers are required to redownload the CRAN data after upgrading before syncing the CRAN source. See the Admin Guide for more information.

  • The offline downloader version must now correspond with the Package Manager version.

2023.12.0

December 18, 2023

New

  • The Offline Downloader now supports downloading vulnerabilities.

2023.08.4

October 30, 2023

This release includes no changes to the Offline Downloader.

2023.08.2

October 19, 2023

This release includes no changes to the Offline Downloader.

2023.08.0

September 12, 2023

New

  • Adds the ability to specify architecture to download binaries for.

Breaking

  • The --linux-distros and --windows flags are deprecated in favor of --distributions. Use get cran --distributions=macos --architectures=x86_64 to only download x86_64 binaries for macOS, and exclude arm64. Use get cran --distributions=windows to download binaries for Windows.

2023.04.0

April 28, 2023

This release includes no changes to the Offline Downloader.

2022.11.4

December 05, 2022

This release includes no changes to the Offline Downloader.

2022.11.2

November 18, 2022

This release includes no changes to the Offline Downloader.

2022.11.0

November 14, 2022

Fixed

  • (#8088): The Offline Downloader now supports downloading binary packages for R versions that have reached end of support.

  • (#9197): The Offline Downloader no longer fails when downloading binary packages for deprecated R versions and distributions without binary packages.

2022.07.2

August 2, 2022

New

  • Introduce new standalone NEWS page to capture changes to the RSPM Offline Downloader.

Fixed

  • (#6454): The Offline Downloader now supports downloading binary packages for newly released R versions and operating systems without requiring an upgrade of the tool.

  • (#5271): The general performance of the Offline Downloader’s get cran command has been improved.

Back to top