RStudio IDE and Posit Workbench 2024.09.0: What’s New

2024-09-24
RStudio IDE and Posit Workbench 2024.09.0: What’s New

This post highlights some of the improvements in the latest RStudio IDE and Posit Workbench release 2024.09.0, code-named “Cranberry Hibiscus”. You can find more details in the Release Notes.

 

RStudio

 

Quarto 1.5

 

RStudio and Posit Workbench 2024.09 bundle Quarto version 1.5, which brings new support for Table CSS translation into Typst-based PDFs, improved website development, and many other updates. For more information, please see the Quarto 1.5 release post.  To use this bundled Quarto in Posit Workbench for VS Code or JupyterLab, please have your admin follow the make Quarto available documentation.

 

Save as Image can now use the device pixel ratio

 

The “Save as Image” dialog now includes a checkbox “Use device pixel ratio,” which controls whether plots are scaled according to the current display’s DPI. This feature aims to save the image faithfully to what the user is seeing on the screen on their specific device.

 

 

Improved Data Viewer performance with list columns that contain data frames

 

In previous versions of RStudio, the Data Viewer would operate very slowly when working with data frames with list-columns that contain other large data frames. To avoid slowdowns or potential crashes, the Data Viewer now displays a summary of the dimensions of list-columns that contain data frames. This is similar to how tibble prints the data in the console.

 

 

Improved performance on slow filesystems

 

A number of users have reported trouble related to RStudio’s attempts to read/write content in the project’s .Rproj.user folder. This includes, broadly:

  • Slow networked filesystems, where the repeated accesses made by RStudio are prohibitively slow.
  • Tools like Google Drive / Dropbox might lock files for editing in the .Rproj.user folder, leading to unexpected errors when saving files.

We have made it possible to configure the location of the project .Rproj.user folder to help alleviate the performance problems or issues that arise in these scenarios. Users can opt into a different .Rproj.user folder location by modifying the “Project scratch path” as accessed via RStudio > Project Options menu. In one user example, moving the .Rproj.user folder outside of the slow network drive led to a nearly 10x speed improvement.

 

 

We do suggest not loading Project roots into Dropbox or similar file sync tools as these tools can conflict with frequent or fast read or write operations that occur with RMarkdown, Quarto, or RStudio. However, we believe that modifying the .Rproj.user folder location to be outside of these Cloud or network drives can resolve many of the most common issues.

 

Toggle console language

 

Users can now toggle between R and Python in the RStudio console via a dropdown at the top left corner of the console. Previously you could toggle between R and Python in the environment pane, but RStudio required manual steps for getting into and out of the reticulate Python REPL in the console. Switching between R and Python at the console will also switch the environment pane from R to Python to match the active console language.

 

 

 

Posit Workbench

 

Quality of Life improvements

 

  • Workbench Jobs now set resource profiles correctly
  • Resource profiles on Kubernetes and Slurm are now listed in the order in which they appear in the configuration file
  • The “New Project” dialog in RStudio Pro now defaults to the R version of the current session, rather than the system default
  • Workbench Jobs launched from RStudio Pro now default to the R version of the current session, rather than the system default

 

Just in Time (JIT) User Provisioning

 

We added support for SCIM-based automatic user provisioning in the 2024.04.0 release of Posit Workbench. We’ve now extended support to include “Just in Time” (JIT) provisioning of local user accounts for Proxied Auth, OpenID Connect, and SAML Authentication. Just-in-time provisioning creates users on first login, and can also serve as an alternative to SCIM-based provisioning for Identity Providers that do not support the SCIM protocol. Please see the Posit Workbench Admin documentation on Just in Time provisioning for more information.

 

Managed credentials for Snowflake

 

Posit Workbench has a native integration for Snowflake that includes support for managed Snowflake OAuth credentials in RStudio Pro or VS Code sessions. See https://www.snowflake.com for more information on Snowflake. Posit Workbench managed Snowflake credentials include support for different accounts and roles. Please see Posit Workbench Snowflake credentials for more information.

Workbench-managed Snowflake credentials allow you to sign in with a Snowflake role and account from the home page and be immediately granted access to data warehouses and compute resources using your existing Snowflake identity. Managed credentials avoid the burden (and risk) of manually entering your Snowflake credentials or storing a long-lived PAT (personal access token) on disk when connecting to Snowflake.

Workbench-managed Snowflake credentials are refreshed automatically while your session is active. In RStudio Pro sessions, we also display the current role in the Workbench managed credentials dropdown.

 

 

Workbench Managed Credentials UI overhaul

 

Over the past two years, the Posit Workbench team has been adding support for additional cloud provider-managed credentials. For the 2024.09.0 release, we overhauled the “New Session” UI to improve the experience of signing into and managing various credentials. We now have managed credential support for AWS, Azure, Databricks, and Snowflake.

The UI now includes:

  • Visual highlighting and indicators for signed-in vs signed-out state, as well as one-click to initiate the sign-in flow for credentials you have not yet signed into
  • The ability to quickly toggle specific provider credentials on and off for specific sessions
  • A dropdown to select from specific workspaces, accounts, or roles per provider
  • More informative errors and warnings when login or credentials have failed

 

 

We have also added an “Edit Credentials” dialog to allow users to select and sign into Workbench-supported cloud providers, with a few additional controls over the selection widget. This dialog also displays credentials that are supported but not configured by your administrator as a form of discovery. For providers such as Snowflake, we have also added the ability to “Add Role” for manual use and refresh to automatically discover additional roles granted by your Snowflake administrator.

 

 

Code OSS update

 

As mentioned in the 2024.04.0 release blog, we have replaced the Code OSS tool with our own fork of Code OSS (PWB Code Server) and deprecated the previous implementation via coder/code-server.  Users will still be able to use VS Code sessions as expected.

If Workbench 2024.09 is being installed as a fresh install, the PWB Code server (Code – OSS v1.93.0) is configured as the default Code Server. PWB Code Server comes bundled with Workbench version 2024.09 and greater. However, if you’re upgrading from a previously installed version, your preexisting configuration may still be configured for the legacy code-server installation.  Full details can be found in our PWB Code Server migration guide.

For more information, please refer to the Posit Workbench Code Server documentation.

 

Deprecation of JupyterLab 3

 

As of May 15, 2024, the JupyterLab team has ended maintenance support for JupyterLab 3. We added JupyterLab 4 support in 2024.04.0 and have now deprecated JupyterLab 3 sessions in Posit Workbench 2024.09.0 and later.

We have also added support for Jupyter Notebook Classic v7, which is built off of JupyterLab 4 components. However, given the overlap in capabilities and components, we have also disabled the Jupyter Notebook Classic interface by default in new installations, as we are prioritizing JupyterLab sessions as the main IDE for native Jupyter tooling. JupyterLab is a better fit for using Jupyter Notebooks on Posit Workbench, given the more advanced and full-featured IDE experience compared to Notebook Classic.

 

Preview support for API to Workbench

 

We have added preview support for a new API to Workbench. The Posit Workbench API can be used to perform certain actions remotely outside of Workbench and enables third-party software to interface with Posit Workbench. For more information, please see the Posit Workbench API documentation.

The current feature set includes preview support for interfaces to:

  • Launch sessions
  • Poll for session status and properties
  • Suspend and stop sessions
  • Check system version
  • Get compute environment – cluster information and IDE (RStudio, VS Code, JupyterLab, or Jupyter Notebook)

Support for Workbench Jobs is targeted for a future release of Workbench.

Authentication is required via an API token, which can be generated by a sys-admin using the Posit Workbench command line interface. 

API tokens can be one of the following access levels:

  1. A user token is created on behalf of a user, that allows that specific user to launch, query, suspend, and stop their own sessions only.
  2. An admin token allows that user to see the metadata, suspend, or stop sessions and jobs on behalf of any system user.
  3. A super-admin token allows all operations on behalf of any user, including the ability to impersonate that user and launch a session on their behalf.

Each token can be created with the --read-only option to limit it to non-destructive operations. For example, it will allow getting session/job status but not stopping, suspending, or launching.

For more information, please see the Posit Workbench API documentation.

 

AES-256 Support

 

Posit Workbench safeguards its internal data using AES encryption. We have added optional support for AES 256 encryption in addition to the existing AES 128 encryption. 

Note

Posit recommends leaving encryption versions at their default values (AES 128). Modification of the encryption algorithm can prevent effective downgrade or resuming pre-existing sessions. However, if your security requires it Workbench can be manually configured to use a different version (AES 256) than the default by defining environment variables that define the minimum and maximum versions allowed. These environment variables are read by Workbench on startup.

For more information, please see the Posit Workbench Encryption documentation.

 

Build updates

 

  • Updated MathJax to version 2.7.9 (#11535)
  • Updated node.js to version 20.15.1 (#14826)
  • Updated Electron to version 30.2.0 (#14582; Desktop)
  • Updated Quarto to version 1.5.54 (#14884)

Learn more

 

There’s lots more in this release, and it’s available for download today. You can read about all the features & bug fixes in the Posit Workbench and RStudio 2024.09.0 “Cranberry Hibiscus” release in the RStudio/Posit Workbench Release Notes. We’d love to hear your feedback about the new release on our community forum.

To be notified of product updates, patches, etc., please subscribe to the Product Information email list from the Posit Subscription Management page.