This document contains the notes associated with each release of RStudio Package Manager. Please contact RStudio customer support (email@example.com) with questions about the described changes.
RStudio Package Manager 2021.09.0#
September 08, 2021
This release of RStudio Package Manager contains a new calender view and improved way to freeze your set of packages. It also contains logging improvements and many important bug fixes.
- Introduces a new, more flexible repository calendar. Users can now freeze to any date
in the repository's history, and frozen repository URLs now include the snapshot date
YYYY-MM-DDformat. The calendar is now supported in many cases where it previously was not, particularly for repositories with multiple sources. Existing repository URLs that use a numeric identifier (e.g.,
/repo/4155) are still supported, and will continue to work. More information about the calendar is available in the User Interface Overview section of the Admin Guide.
- Adds a
rspm url createcommand to create a frozen repository URL, and a
rspm url explaincommand to explain what a frozen repository URL encodes.
- RSPM can now serve binary packages for new R versions and operating systems without upgrading to a new version. The list of supported platforms is now synced from the RStudio Package Service.
- Git-builders may now be edited using the
rspm edit git-buildercommand to change the SSH key, Git URL, branch, and subdirectory.
- Git-builders using "commits" triggers may now be configured to use the version in the DESCRIPTION file instead
of the unique, timestamped version. See the new
Git.ForceDescriptionVersionconfiguration option for more information.
- Adds additional logging indicating when CRAN, Bioconductor, and PyPI packages are being checked for updates.
- A PID file is now created to track the Package Manager process ID.
- Adds two new sections to the documentation that describe available command-line options: Command-Line Interface and Offline Downloader.
- Logs are now available through journalctl.
- The UI and CLI will now provide better error messages to help customers get started with setting up repositories and sources.
- The general performance of the
rspm-offline-downloader get crancommand has been improved. By default the
concurrencyvalue is set to 10 and the
--concurrencyflag accepts higher values for quicker downloads.
- Adds a more helpful error message when attempting to unsubscribe a Bioconductor repo from a source. This action is not allowed because Bioconductor repos are automatically subscribed to sources.
- Adds support for the Bioconductor
booksrepository will be available in Bioconductor sources after the next Bioconductor sync.
- The PyPI source now supports
YYYY-MM-DDdate aliases for frozen repository URLs.
- Adds a new
rspm completioncommand to generate a CLI autocompletion script for Bash. More information is available in the Admin Guide.
- Starting with this release, RSPM will now use a calendar-based versioning scheme.
- Fixes an issue where Bioconductor syncs could treat the order of sync actions incorrectly, leading to sources that
fail to sync. This issue only affects users of Bioconductor repositories. If you are upgrading from RSPM 1.2.0 or
1.2.2, please use
rspm sync --type=bioconductorto re-sync your Bioconductor sources. The 220.127.116.11 release includes this step, and you need not repeat it if you already updated to that release.
- Fixes a bug that could schedule two or more interfering package updates for the same source.
- Fixes a bug where some SSH keys with passphrases were not being imported correctly.
- Fixes a bug that prevented packages from being added to curated CRAN sources with
- Fixes a bug that could prevent the election of a leader in HA clusters.
- The PostgreSQL driver has been upgraded to recover more quickly from lost connections and TCP resets. This also
fixes an issue where some Azure customers were seeing a
read: connection reset by peererror.
- Fixes a bug where HA clusters could not verify node integrity.
- Fixes loss of state in leader election during a loss of Postgres connection.
- All errors in PyPI sync are now retried so that more syncs are successful.
- Fixes confusing error message when
Server.TempDiris not writable.
- The recommended CRAN snapshots for Bioconductor were too early and could cause Bioconductor package installations to fail. For Bioconductor repositories, we recommend configuring R to use the revised CRAN snapshots on the Setup page. For R repositories, we recommend adding an appropriate CRAN snapshot using the revised instructions in the Admin Guide.
- Fixes the instructions for using Bioconductor packages in an offline environment with newer versions of BiocManager (1.30.12 and above). If you are unable to use BiocManager offline, refer to the revised instructions on the Bioconductor repository Setup page.
- Fixes a XSS-vulnerability with the experimental API swagger docs. The swagger UI has been upgraded to the latest
3.51.1in the process.
- Fixes a PyPI sync bug that was impacting PostgreSQL users with the
- Fixes a rare bug that could prevent the application from starting after upgrading from version
- Fixes an issue with serving PyPI packages with plus signs in their filename.
- The default logging location has been moved from
/var/log/rstudio/rstudio-pm/rstudio-pm.log. This will also impact the access logs.
- Running RSPM on Ubuntu 16 (Xenial), openSUSE 42, openSUSE 15.1, and SLES 15 SP1 is no longer supported as they have passed vendor end of life.
- Dates returned to the Usage Stats page are now ISO 8601 dates rather than a full RFC3339 timestamp.
- The minimum number of
PostgresPool.MaxOpenConnectionswill now be set to 10.
- Air-gapped customers using Bioconductor with RSPM 1.2.0 or 1.2.2 are required to fetch the new v4/1 schema after upgrading RSPM to 2021.09.0, but before syncing the Bioconductor source. Please refer to the admin guide for more details. The 18.104.22.168 release includes this step, and you need not repeat it if you already updated to that release.
- The date aliases for the CRAN source will now use UTC as the basis for the date.
- Both the Activity page and the Setup page will now use UTC for all dates and times.
- Deprecates the Git
--branchoption when used in conjunction with the
- Discontinues support of openSUSE 15.1, SLES 15 SP1, and Ubuntu 16 (Xenial Xerus) R binary packages. RSPM will continue to serve existing binary packages for these operating systems in perpetuity, but no longer provide new binary packages after several months. Please refer to the Admin Guide for more information about the supported operating systems and R versions for binary packages.
- Internet Explorer 11 is no longer supported. Please see our Platform Support page for a list of supported browsers.
- Deprecates the
--cache-dirflag from the
rspm-offline-downloader get crancommand as caching and fast updates will now be enabled by default.
RStudio Package Manager 22.214.171.124#
May 13, 2021
- Adds support for serving precompiled binary packages for R 4.1.
- Fixed an issue where Bioconductor syncs could treat the order of sync actions incorrectly, leading to sources that
fail to sync. This issue only affects users of Bioconductor repositories. After installing this release, please use
rspm sync --type=bioconductorto re-sync your Bioconductor sources. Bioconductor updates for the previous RSPM versions (1.2.0, 1.2.2) will not be updated going forward.
- Fixed an issue where Bioconductor syncs could fail when using PostgreSQL.
- Air-gapped customers using Bioconductor with RSPM 1.2.0 or 1.2.2 are required to fetch the new v4/1 schema after upgrading RSPM to 126.96.36.199, but before syncing the Bioconductor source. Please refer to the admin guide for more details.
RStudio Package Manager 1.2.2#
March 02, 2021
- Package Manager now provides filesystem storage auditing and alerting. When storage exceeds user-configurable thresholds, the server will alert in the log as well as the UI. More information is available in the Admin Guide.
- Operational metrics can now be exported via a Prometheus-compatible endpoint to empower your own monitoring and alerting systems. More information is available in the Admin Guide.
- Python packages now display additional release information including download links, SHA256 values, and the yank status.
- Python packages release are now paginated in the UI.
- Use the new
[Storage].Defaultoption to configure all variable storage classes together, for example setting
[Storage].Default = S3will ensure all packages are written to your
- Configure the maximum time to wait when connecting to the database by using the
- Package Manager can now be installed on both openSUSE 15.2 and SLES 15 SP2 systems.
- Precompiled R binary packages are now available for openSUSE 15.2 and SLES 15 SP2.
- System requirements information can now be listed for openSUSE 15.2 and SLES 15 SP2.
- Additional startup validation is performed when using PostgreSQL with a search path.
- Clusters now automatically elect a leader node. The leader manages jobs like schedule syncing and cache eviction to avoid duplicated work.
- Package Manager now uses asynchronous messaging instead of database locking to track active work (like syncing CRAN sources); this improves performance and helps eliminate database resource contention.
- Fixes an issue that could result in syncing snapshots more than once, resulting
in corrupted data. In the unlikely event that your installation is affected by
this bug, you will be unable to start RSPM, and you will see the following error
in the log:
If your installation is affected, please contact support. You can reinstall the previous RSPM version and continue using RSPM until the issue is resolved.
Error running services: Error: Unable to initialize a connection to the database: UNIQUE constraint failed: checkpoints.source_id, checkpoints.guid, checkpoints.version
- Some malformed or incorrect database configurations prevented startup and did not crash, these will now timeout accordingly.
- Improves robustness of PostgreSQL database connections by automatically reconnecting when connections are lost.
- Git builders now respect the specified
--ssh-keyflag when cloning repositories.
- Fixes a race condition when building large Git repositories that was causing intermittent failures.
- Fixes an issue with adding Git packages that have blank lines in their DESCRIPTION file.
- Duplicate Python packages are no longer presented in the UI.
- Some Python packages and files were missing from RSPM.
- Patches the UI dependency
markedto remove a potential Denial-of-Service (DoS) vulnerability.
- We've improved the PyPI source sync operation; syncing should complete much more quickly and reliably. See the breaking change below about resubscribing and resyncing Python repositories.
- RStudio Package Manager no longer supports Red Hat Enterprise Linux/CentOS Linux 6.x.
- Any Python repositories previously subscribed to the PyPI source need to be resubscribed and resynchronized. For more information, see the PyPI quickstart guide.
- Removes Git support from the
rspm addcommand. Use the new
rspm create git-buildercommand going forward.
- Removes deprecated
rspm clear-crancommand. Use the new
rspm clear --type=crancommand going forward.
- RSPM will now validate
S3storage configuration options on start up.
RStudio Package Manager 1.2.0#
November 24, 2020
- Bioconductor is now supported through a series of changes. We recommend upwards of 1 TB additional disk storage, and admin CLI actions are required to enable Bioconductor. Learn more about how to serve Bioconductor packages in the admin guide.
- Adds a new Bioconductor repository type. Bioconductor repositories
can be created using the
rspm create repo --type=bioconductorcommand.
- Adds new source types representing Bioconductor releases and R repositories within a release. These sources can be added to Bioconductor or R repositories.
- Adds a new
--typeflag to the
synccommand that distinguishes between syncing CRAN and Bioconductor metadata.
rspm-offline-downloadersupport for Bioconductor data.
- Adds support in the web interface for Bioconductor repositories, including a new Setup page for working with BiocManager and Bioconductor repositories.
- Adds support in the CLI for listing Bioconductor repositories, sources, and packages. Adds a new
rspm list bioconductor versionscommand to list available Bioconductor releases.
- Adds support to the Server API for Bioconductor metadata and repository information.
- PyPI mirroring is now supported in beta through a series of changes and additions. We recommend upwards of 1 TB additional disk storage, and admin CLI actions are required to enable PyPI. Learn more about how to serve PyPI packages in the admin guide.
- Adds a new Python repository type. Python repositories can be created using the
rspm create repo --type=pythoncommand.
- Adds new
--typeflag to the
synccommand that distinguishes between syncing CRAN and PyPI metadata.
- Adds a
PyPIconfig section for setting PyPI related configuration attributes such as the PyPI sync schedule.
- Adds a new
pypisource that is enabled by default when using a Python repository.
- Adds support for listing and searching for Python packages.
- Adds support in the web interface for PyPI repositories including searching for and displaying package data.
- Adds support for routing pip requests.
- Adds support for tracking PyPI package downloads and corresponding display in the Usage section of the web interface.
- Adds support to the Server API for PyPI metadata and repository information.
- Adds a new
rspm clear --type=pypicommand to clear PyPI metadata, for removing PyPI as a source, or for re-syncing a fresh copy.
Changes to Curated CRAN Sources
- Curated-CRAN sources can now be created using a
--snapshotflag to specify an initial snapshot date. For example
--snapshot=2019-11-07. A new
rspm list cran snapshotscommand shows the available snapshot dates.
- Curated-CRAN source
updateoperations now support passing a snapshot date via the
--snapshot=2019-11-07. Passing the
--transaction-idflag is deprecated but still supported. The
--commitflag is now required for both.
- A new source type,
cran-snapshotis available for creating a source that contains ALL of CRAN but only for a specific date. Like Curated-CRAN sources, CRAN-Snapshot sources can be updated using the
- Adds new storage classes for Bioconductor and PyPI. If you use a non-default storage location for packages (e.g., S3), please configure the correct storage location for Bioconductor and PyPI before upgrading.
- BREAKING: Removes the
rspm-offline-downloader get-crancommand. Use
rspm-offline-downloader get crangoing forward.
- Improves download resiliency of the
rspm-offline-downloadertool through increasing the number of retries and adding a timeout using exponential back-off.
- Adds new
--starting-snapshotflag to the
rspm-offline-downloadertool that can be used to download RSPM CRAN data starting at a particular snapshot. Note: This does not impact R package binary downloads.
- Adds new
validate-crancommand to the
rspm-offline-downloaderto validate that the destination contains all relevant snapshots and directories for RSPM to work correctly.
- Updates the
rspm edit repocommand to no longer require the
--new-nameflag when updating a repository's description.
- Fixes a bug where local and Git packages could have missing package dependencies.
- Prevents source sync from occurring thirty minutes after the desired schedule.
- NOTICE: When using Postgres, RStudio Package Manager now verifies that a minimum version of 9.5 is being used. A warning message will be logged if the version of Postgres being used is older. The 9.5 minimum version is also noted in the PostgreSQL section of the Database chapter of the Admin Guide.
- Updates UI search to prioritize exact matches first, also restricts matching-search to three or more characters.
- Deprecates the
clear-crancommand. Use the new
clear --type=crancommand going forward.
- Fixes a bug that could result in job queue deadlock under load. This prevents issues that could cause the RSPM service to stop responding.
- Adds a response header to help identify Package Manager in requests:
- The Activity page in the web interface now shows the snapshot dates for the
cransource, not the dates the snapshots were synchronized. This makes the Activity page easier to navigate and consistent with the repository calendar.
- A repository that only subscribes to the
cransource can now be indexed by dates as well as transaction IDs. The date aliases are shown in the repository Setup page where applicable.
- The Package page now displays older package versions in descending chronological order.
RStudio Package Manager 188.8.131.52#
July 13, 2020
- Fixes a bug where Git builders could be created in non-Git sources, causing
rspm list git-buildersand
rspm list git-buildscommands to fail.
RStudio Package Manager 1.1.6#
June 23, 2020
- BREAKING: Removes the
--dryrunCLI flag that was required when adding or updating packages to curated-CRAN sources. Attempting to use this flag will result in a command error.
- BREAKING: Use the Apache Combined Log Format as the default access log format
instead of the Apache Common Log Format. Switch back by setting
Server.AccessLogFormat = "common".
- BREAKING: The CLI now waits for commands to complete by default. The following CLI commands
rspm create git-builder,
rspm run git-builder, and
rspm rerun git-builder. Use the new
--no-waitflag to run these commands asynchronously without waiting. The
--waitflag remains available for backwards compatibility.
rspm onlineadmin CLI commands to support taking services offline and bringing them back online safely.
rspm cluster offlineand
rspm cluster onlinecommands to the admin CLI to support taking multiple nodes in a cluster offline and bringing them back online.
- Adds a
rspm cluster nodescommand to the admin CLI to support listing nodes in a cluster.
- Adds a
rspm config debug loggercommmand to temporarily alter the debug log configuration without restarting the Package Manager server.
- Updates the Admin Guide High Availability and Load Balancing chapter with a new guide for upgrading a cluster.
- Adds a new experimental Server API documentation for commonly requested endpoints. For more information see the new documentation.
- Adds support for Ubuntu 20.04 LTS.
- Adds support for serving precompiled binary packages for Ubuntu 20.04 LTS.
- Adds support for listing system requirements of packages on Ubuntu 20.04 LTS.
- Adds new
Proxy.Passwordconfiguration options to securely configure outbound proxies.
- Deprecates the
rspm addcommand for Git packages. Use
rspm create git-buildergoing forward.
RStudio Package Manager 184.108.40.206#
May 20, 2020
- Adds support for serving precompiled binary packages for R 4.0.
RStudio Package Manager 1.1.4#
April 10, 2020
- Adds a new storage class for CRAN. Upgrading will result in a migration of existing CRAN packages and README files to the new storage class. If you use a non-default storage location for packages (e.g., S3), please configure the correct storage location for CRAN before upgrading. All CRAN packages will be moved to the new CRAN storage location upon service startup. If your installation has downloaded many CRAN packages, this may take some time, and the service will be unavailable until the migration is complete.
If the storage class configured for CRAN is of a different type than the packages storage class, startup will fail. If you wish to migrate CRAN packages to a different storage type, enable the
Migration.EnableMixedClassMigration = trueconfiguration property.
- Adds eviction for orphaned packages. Git and local packages that are stored but no longer referenced in any sources will be removed periodically.
- Adds a new CLI command
list git-buildsthat can be used to review Git builder runs and debug potential problems.
- Adds better caching and improves performance by:
- Adding configurable settings for in-memory caching.
- Caching system requirements data for better performance.
- Enabling package request caching by default.
- Updates the
license-managercommand to incorporate recent bug fixes.
- Adds the package size for local and Git packages to the Web client.
- Adds the Git SHA to the Web client when displaying package information for packages from Git sources.
- Adds an example configuration file that includes all the available configuration
settings and their defaults at
- Fixes a bug where adding Git packages via SSH could fail with certain SSH server configurations.
- Fixes a bug where adding Git packages could fail with custom R startup files present.
- Fixes an issue with rendering SVG images in package READMEs.
- Fixes an issue where build-id files installed in
/usr/lib/.build-id/could conflict with other RStudio products and cause install errors.
- Fixes an issue where out-of-sync system requirements could prevent the server from starting. This improves support for running RStudio Package Manager in offline (air-gapped) environments.
- Updates the admin guide, licenses, and news documentation to use
RStudio Package Manager 1.1.2#
February 26, 2020
- RStudio Package Manager 1.1.2 includes beta support for pre-compiled R package binaries for Windows. Windows R package binaries can be installed much faster without the need to install system dependencies. More details are available in the admin guide.
- Support for CRAN repos with versions older than 1.0.6 has been removed. Updating to version 1.0.6 or later is now required for CRAN support.
- Eviction Policies
- Adds the ability to configure eviction policies that control the lifetime of stored objects. Eviction policies can be used to keep server disk usage to a minimum. Learn more in the admin guide.
- Startup after upgrading RStudio Package Manager may take some time since all stored objects will be recorded in the database. If you are upgrading multiple nodes in a cluster, please allow the first node to completely start up before starting additional nodes.
- Fixes a bug where a bad database connection to PostgreSQL or SQLite would cause a panic.
- Support for TLS 1.3. Access to this TLS version is available without additional configuration.
- The setting
HTTPS.ExcludedCiphershas been removed and is no longer supported. The
HTTPS.MinimumTLSsetting should be used to specify a minimum accepted TLS version. We recommend running a secure proxy when your organization has more complex HTTPS requirements.
- Adds support for serving precompiled binary packages for CentOS/RHEL 8.
- Adds support for listing system requirements of packages on CentOS/RHEL 8.
- Fixes a bug where shutting down the server sometimes resulted in orphaned job launcher processes.
- Adds a migration utility that can be used to migrate to a different database provider. Learn more in the admin guide.
- Fixed a bug in which CPU usage of the
rstudio-pmservice would increase over time when using SQLite as a database.
RStudio Package Manager 220.127.116.11#
November 22, 2019
- Fixes a bug that both impacted the server performance and resulted in potentially serving incorrect binaries when fetching binary packages for a non-current checkpoint.
RStudio Package Manager 1.1.0#
October 31, 2019
- Adds two new configuration settings,
Server.PackageRewriteBufferSizethat can be used to improve performance when installing packages in local sources. Learn more in the admin guide.
- Deprecates the
--dryrunflag that was required when updating packages to curated-CRAN sources.
rspm-offline-downloadernow supports downloading Linux R package binaries for offline environments. Learn more in the admin guide.
- Adds a new
Proxy.URLconfiguration option to have RStudio Package manager use an outbound server proxy when making HTTP and HTTPS requests.
- Stops support of Ubuntu 14 (Trusty Tahr). With the Ubuntu EOL, and RStudio six-month support coming to a close, we will no longer be testing or supporting RStudio Package Manager on this version of Ubuntu.
- Deprecates the
CRAN.SyncModesetting. Future releases will not support eager syncing for CRAN and curated-CRAN sources. The air-gapped installation approach can be used for situations that require preemptive downloads for CRAN or curated-CRAN packages. Learn more in the admin guide.
- Fixes a bug preventing git packages with a large number of tags from building.
- Adds support for installing very large packages in local sources.
- Adds support for SUSE Linux package binaries. See the repo setup page for more information.
RStudio Package Manager 1.0.14#
October 2, 2019
- This release includes bug fixes and significant performance improvements.
- Deprecates the
--dryrunflag that was required when adding packages to curated-CRAN sources.
- Adds support for RHEL 8.
RStudio Package Manager 1.0.12#
September 10, 2019
- Beta: Introduces support for linux package binaries. Precompiled package binaries will be available for the majority of CRAN packages using R 3.4, 3.5 and 3.6 for Ubuntu 16.04 (Xenial), Ubuntu 18.04 (Bionic) and CentOS/RHEL 7. Please refer to the admin guide to start serving binaries.
- Introduces a service log which can be used to analyze how Package Manager is serving source vs. binary packages. Learn more in the admin guide
- RStudio Package Manager installers are now signed. Our signing key is available on the RStudio website. The Installation instructions in the RStudio Package Manager Admin Guide explains adding the RStudio key to your Linux distribution.
- Fixed bugs related to building Git packages and added log messages which can help diagnose Git problems more quickly.
RStudio Package Manager 1.0.10#
July 8, 2019
- Introduces a new CLI command to list system requirements for packages in a
given repository. Run
rspm list requirements --helpfor more information.
- The system requirements for a repository are also available in the UI. See the Setup page for a respository in the UI.
- Fixed a bug that prevented package system requirements from displaying correctly in certain circumstances.
- Fixed bugs and improved performance for transaction handling (i.e. "pinning" a repository to a certain date).
- NOTICE: When using Postgres, RStudio Package Manager now verifies that a minimum version of 9.4 is being used. A warning message will be logged if the version of Postgres being used is older. The 9.4 minimum version is also noted in the PostgreSQL section of the Database chapter of the Admin Guide.
RStudio Package Manager 1.0.8#
April 18, 2019
- RStudio Package Manager now helps users find and install system dependencies of R packages for supported Linux operating systems. Installation commands for known system dependencies are displayed on the package page. System dependency information will be available after syncing. See the Admin Guide for more details.
- The process for setting up an air-gapped environment is simplified by using a new tool which does not require the AWS CLI. See the Admin Guide for updated setup instructions.
- Running RStudio Package Manager in a clustered environment using S3 as a backing filesystem is now officially out of beta.
- Improvements to logging when Git builders fail will help to more quickly diagnose problems with the build environment.
- Package listing and search is now much faster.
- Rendering package README files is improved and several layout bugs are fixed.
- RStudio Package Manager is now available for SUSE Linux Enterprise 15.
RStudio Package Manager 1.0.6#
March 11, 2019
- BREAKING: Air-gapped customers are required to fetch the new
v3/1schema after upgrading before syncing the CRAN source. See the Admin Guide for more information.
- Important updates and fixes to Package Manager's CRAN source. Past CRAN checkpoints will remain available. Users will see corrected browsing behavior for a small percentage of packages for new syncs.
- README files are rendered in the web page for each package. READMEs for packages in existing local and Git sources will be extracted automatically upon upgrading. READMEs for the CRAN source will be available after syncing. READMEs for existing packages in curated-CRAN sources will be unavailable, but, after syncing the CRAN source and updating the curated-CRAN source, READMEs for new and updated packages will be available.
RStudio Package Manager 1.0.4#
January 25, 2019
- BREAKING: The R processes that build Git packages now run inside a sandbox
for security. Only customers using Git sources are affected. SUSE/Ubuntu users
will not require any changes. If you are using CentOS/RHEL, you will need to
either (a) configure the
Git.AllowUnsandboxedGitBuilds = trueconfiguration setting, (b) reconfigure RStudio Package Manager to run as
root, or (c) enable user namespace support (CentOS/RHEL 7 only). If you are running RStudio Package Manager in a Docker container, you will need to either (a) start the container with the
--privilegedflag or (b) configure the
Git.AllowUnsandboxedGitBuilds = trueconfiguration setting. Please consult the Admin Guide for more information.
- Archived packages (packages with no current versions) are now displayed in the RStudio Package Manager UI.
- The Setup page in the UI now includes a calendar that allows you to freeze your set of packages to a particular checkpoint.
- Added beta support for shared storage using AWS S3. See the Admin Guide for more information. IMPORTANT: AWS S3 support is in beta. Please do not use S3 for production data at this time.
RStudio Package Manager 1.0.2#
December 5, 2018
- Git packages can now be built from subdirectories within a Git filesystem.
- Git packages can now use SSH keys with or without a passphrase.
- SSH connections when performing Git operations now utilize a private SSH agent process for improved security.
- Git packages now include the commit SHA in the package DESCRIPTION file for reference.
- Fixed a bug where Git commits could be built out of order if they were recorded in different timezones.
- Fixed a bug where Curated CRAN sources might need an CRAN update prior to an initial sync.
RStudio Package Manager 1.0.0#
October 17, 2018
- RStudio 1.0 is the first generally available release of the product. RStudio license terms, conditions, and limits apply. Contact firstname.lastname@example.org for more details.
- RStudio Package Manager can automatically track R packages in Git (including GitHub, Bitbucket, and GitLab). Tracking Git endpoints requires a valid installation and configuration of R. Private endpoints are supported using ssh-keys. See the Admin Guide for details.
- Improved messaging for CLI commands and CRAN sync operations.
- CRAN synchronization will not happen until a manual sync has occurred or a repository subscribes to a cran source or curated cran source.
- BREAKING: A sync schedule of 12:00AM (server time) daily is now enabled by
default. To only have manual syncs, configure a blank
[CRAN]configuration. See the Admin Guide for details.
RStudio Package Manager 0.7.0#
September 4, 2018
- BREAKING: The new default minimum TLS version for the HTTPS listener is "1.1",
in compliance with PCI Data Security Standards. Previously, TLS 1.0 was enabled
by default. Additionally, it is now possible to specify the minimum TLS version
- Fixed a bug in which CPU usage of the
rstudio-pmservice would increase over time.
- Added a new configuration flag,
HTTP.ForceSecure, that makes RStudio Package Manager set the
Secureflag on all of its cookies. This provides extra security when running RStudio Package Manager behind a HTTPS-terminating proxy.
HTTP.ForceSecurealso sets the
Strict-Transport-Securityheader on all web connections.
RStudio Package Manager 0.6.0.1#
August 2, 2018
- Fixed a bug in which empty files were being served for
packages.gzfiles in the
/bin/directory. This was causing problems in R versions 3.4.4 and greater when a user attempted to install more than one package.
RStudio Package Manager 0.6.0#
July 31, 2018
- Added Usage Statistics for analyzing package downloads and package licenses over time.
- Compress (gzip) the packages and archive RDS files before serving them to clients.
- Added row.names to the packages RDS file.
- The CLI
list sourcesoutput now includes source types.
- Added a CLI
listcommand that outputs a tree of all repos and sources.
- Added a CLI
fetchcommand to initial eager package fetching.
- The CLI now uploads local packages using multi-part uploads to the API. Only the CLI needs permission to read files you are uploading, and relative paths are supported.
- Added support for minor migrations for CRAN sources. Minor migrations are typically used for supplementing CRAN sources with additional metadata.
- Added the
NeedsCompilationfields to CRAN sources.
- Improved the informational and error messages displayed during curated CRAN operations.
- Fixed a bug that resulted in reading the wrong package DESCRIPTION file in some CRAN packages that include DESCRIPTION files at multiple paths.
RStudio Package Manager 0.5.0#
June 28, 2018
- BREAKING: RStudio Package Manager's support for CRAN metadata was simplified.
RStudio Package Manager now includes a single, default CRAN source and the
fetch mode and sync schedules are defined server-wide in the configuration
file. If you have existing CRAN sources, they will be dropped when upgrading.
cransource will be created automatically. Use the CLI to subscribe existing repositories to the new
cransource and to sync the new
cransource. Example: If you had a repository named
prodthat subscribed to an CRAN source named
cran-src, you will need to run:
rspm subscribe --repo=prod --source=cranand
rspm syncafter upgrading.
- BREAKING: The
FetchTimeoutconfiguration properties have been moved to a new
[CRAN]configuration section. If you included either of these two properties under your
[Server]configuration section, you will need to move them to a new
- RStudio Package Manager now includes curated CRAN sources, giving administrators the ability to host approved subsets of CRAN instead of taking an all-or-nothing approach. Administrators add packages, preview changes, and even perform dry runs before running updates. The admin guide contains examples and quick start guides.
[CRAN]configuration section now includes
SyncSchedulesetting accepts a crontab format for scheduling synchronization of the CRAN source. The
SyncModesetting defaults to
lazybut can be configured as
eagerfor eager package downloading. The sync schedule and mode were previously configured using the CLI.
- Admins can now edit source names, repository names, and repository descriptions
- Added an
[API]configuration section that includes the settings
DefaultApiResultsLimitfor configurable API result limits.
- Added documentation for air-gapped environments. See the Admin Guide for details.
- Eliminates external fonts in the UI.
- The activity page for a CRAN source now lists the historical date represented by a sync operation instead of the date the sync occurred.
- Removed the CLI
sync-waitcommand and replaced it with a flag. You can now run
rspm sync --waitinstead.
- Better support for the URL property that appears in many CRAN package
DESCRIPTION files. This property appears in CRAN packages as
url, which are all now supported.
- The package date for archived packages is now displayed in the UI.
- The CLI
reordercommand allows reordering source subscriptions for a repository. This allows you to change the priority for resolving conflicts when two sources include a package with the same name.
- Fixed a bug that prevented using the UI through a proxy that prepends a prefix to the RStudio Package Manager URL.
Last-Modifiedheaders when serving a package tarball.
- Support for Ubuntu 18.04.
- SUSE Enterprise Linux 12 SP3+ Support.
RStudio Package Manager 0.4.0#
May 3, 2018
- BREAKING: Sources can no longer be hidden. Since repositories can subscribe and unsubscribe from sources (since 0.2.0), there is no need to hide sources. Sources that were previously hidden will no longer be hidden after upgrading to this release. If your repositories subscribed to hidden sources that should remain hidden, please unsubscribe those repositories from the hidden sources before upgrading.
- Added the ability to version and migrate CRAN sources. This allows RStudio Package Manager to replace outdated or flawed CRAN sources without losing transaction history.
- Added a /ping endpoint to allow services to more easily monitor the service's status. It always responds with an empty JSON message and a 200 status code.
- Sources cannot be deleted when associated with any repositories. A repository's source subscriptions and unsubscriptions are all recorded permanently. To preserve a repository's immutable historical records, no sources that were ever associated with an existing repository may be deleted. If you need to delete a source, you must first delete any repositories that at any time subscribed to the source.
RStudio Package Manager 0.3.0#
March 26, 2018
- BREAKING: This release incorporates major improvements to sources typed as
cran. Packages in existing sources typed as
cranwill be removed when upgrading. Administrators should initiate synchronization for any sources typed as
- KNOWN BUG: When using an NFS share for
[Server].DataDir, there can be delays of up to 60 seconds when initailly serving particular files including the PACKAGES files for a particular repository. When using the "lazy" sync mode with CRAN, this delay can also occur the first time a version of a package is served. This latency can be improved by shortening the length of time attributes are cached on your NFS clients (see the
noacNFS mount options). We will work to resolve this latency in a subsequent release.
- Added support for multiple current versions of CRAN packages.
- Support synchronizing multiple CRAN checkpoints simultaneously. This greatly reduces the time to synchronize a CRAN source.
- CRAN checkpoints are cached to avoid redundant downloads. This greatly reduces the time to synchronize CRAN sources.
- Introduced better logging configuration options to provide helpful logging during CRAN synchronization without overwhelming logs. Also added trace-level synchronization logging.
- Added a
sync-waitcommand to the CLI. This command lets you wait for synchronization to complete after you initiate a synchronization.
- The RStudio Package Manager service now manages its
/var/run/rstudio-pmdirectory correctly to avoid missing domain socket files on operating systems that use temporary file systems for the
- More consistently sort/order packages. Previous RStudio Package Manager releases ordered packages inconsistently when using PostgreSQL vs. SQLite.
- Sort archived packages by version in the RStudio Package Manager Web client.
- Fixed a bug that prevented package link (depends, imports, etc.) versions from being displayed in the RStudio Package Manager Web client.
- Added the ability to specify a description for repositories, which are displayed via the CLI and the UI.
RStudio Package Manager 0.2.0#
January 29, 2018
- The RStudio Package Manager service now runs under an unprivileged account. By
default, the service runs under the
rstudio-pmaccount. See the admin guide appendix on changing the RunAs User if you need to adjust the service account.
- BREAKING: Upon upgrading, if you previously configured RStudio Package Manager
with alternative data directories, cache directories, log files, or .gcfg
locations, you will need to manually change ownership on these
files/directories to the new
rstudio-pmservice account. See the admin guide appendix on changing the RunAs User for more information.
- BREAKING: The internal structure of Package Manager has changed. Repositories
no longer contain packages directly, but instead repositories are composed of
one or more "sources". Sources are typed as either
cran. See the admin guide for more details. Due to this change, upgrading to 0.2 will wipe all existing repositories. Administrators should recreate the repositories using the source + repo model. Any CRAN packages that were previously downloaded will be retained on the server and can be accessed after a new repository is configured. Local packages will need to be re-added. Additionally, the cache directory,
/var/lib/rstudio-pm/cachecan be removed prior to upgrading to save disk space.
- BREAKING: The administrator command line interface (CLI) has been significantly
refactored for easier use. Any scripts developed with the previous CLI should
be rewritten. The new CLI does not require root. Instead, admins should be
part of the
rstudio-pmunix group. Instructions for changing the group are included in the admin guide.
- BREAKING: Package Manager now tracks the number of downloads for each package.
To do so, a new database was added for storing metrics. Servers using Postgres
will need to create a new database and populate the
[Postgres].MetricsURLconfiguration option or disable metrics by setting
[Server].MetricsEnabled = false. Servers using the SQLite database (the default) will not need to alter their configuration; a new database will be created alongside your existing one.
[Server].MetricsRetentionconfiguration option specifies when to reap metrics that have expired.
- The Package Manager web interface displays additional information about packages, including prior archived versions.
- In version 0.1.0 users were prompted to name the repository
RSPM. The new Overview page suggests naming the repository according to the repository name on Package Manager.
- A date parsing error that occurred when adding local packages was fixed.
- A number of bugs were fixed to properly sync CRAN packages including properly
archiving prior package versions and correctly displaying the
RStudio Package Manager 0.1.0#
November 20, 2017
- This is the initial alpha release of RStudio Package Manager.