This document contains the notes associated with each release of RStudio Package Manager. Please contact RStudio customer support (firstname.lastname@example.org) with questions about the described changes.
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 26, 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 email@example.com 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.