RStudio IDE and Posit Workbench 2023.12.0: What’s New

Explore new features in Posit Workbench and RStudio IDE 2023.12.0, including: GitHub Copilot integration, Databricks Pane in RStudio Pro, and enhancements in Quarto/R Markdown.
2024-01-11
Product Release RStudio 2023.12.0 What's New, with Posit Workbench logo and a view into the new Databricks pane

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

 

RStudio improvements

 

GitHub Copilot

 

GitHub Copilot was introduced in 2023.09 as a Preview feature and is now generally available. There is Preview support for proxying access to GitHub Copilot in RStudio Pro for Posit Workbench.

To enable Copilot, you must first have an active subscription for GitHub Copilot Personal or Business. Some students, teachers, and maintainers of popular open-source projects may also qualify for free access to GitHub Copilot.

Importantly, by using GitHub Copilot, a 3rd party tool, you agree to abide by the GitHub Copilot terms of service. After acquiring an active Copilot license, you can log in and start using GitHub Copilot in RStudio by navigating to Tools > Global Options > Copilot. Click “Enable GitHub Copilot”, install the Copilot agent, and then sign in to your GitHub account. This will take you through the GitHub authentication flow and store a persistent token for access. 

GitHub Copilot is disabled by default in RStudio Server and Posit Workbench, to enable Copilot in RStudio Server or Workbench, an admin will need to add copilot-enabled=1 to the /etc/rstudio/rsession.conf configuration file.

 

Quarto and R Markdown improvements

 

There were a number of improvements and bug fixes for Quarto/R Markdown content in RStudio.

    • Quarto’s YAML-style chunk options are now highlighted to make differentiating between key: value pairs much easier.

Quarto’s YAML style chunk options highlighted in Posit Workbench

Inline code including an external file

In a rendered Quarto document, the Graphviz diagram is parsed by a web browser without local dependencies, but inline execution will display a local image of the same content that requires local execution. Note that this may require installing the graphviz tool in your environment.

Graphviz diagram example in Quarto

 

Posit Workbench improvements

 

Additional Workbench-managed credentials

 

Posit Workbench has existing support for AWS credential passthrough and Azure delegated credentials in RStudio. We’ve now brought support for Databricks auth and our first support for Workbench-managed credentials to Code-OSS (VS Code Open Source) sessions! 

Our current support for providers by IDE (new support highlighted in bold):

  • RStudio Pro: AWS, Azure, Databricks
  • Code: AWS, Databricks

Many Cloud-based services and data storage solutions are accessible via R and Python packages, typically relying on long-lived personal access tokens (PATs). An alternative workflow relies on OAuth-backed refresh tokens, which have a better security model given their short-lived nature (typically 1-hour expiration) at the tradeoff of the user needing to go through a complex and frequent manual refresh or deal with expired tokens. 

As such, we have added to the existing first-class support for Workbench passing through credentials to users for more Cloud providers and IDEs. These Workbench-managed credentials eliminate the need for end users to manage complex authentication workflows or manual refresh when accessing specific Cloud services from within Workbench.

Workbench-managed credentials have a number of benefits:

  • Users arrive in a session to find that tools like the CLI and most official SDKs and drivers “magically” work without needing a separate step to set up credentials.
  • Administrators no longer need to accept blanket access to an overloaded instance profile (or an equivalent) by all Workbench users so that they can access Cloud-based resources.
  • Users do not need to manage sensitive, long-lived credentials/PATs themselves to have individually scoped permissions.
  • Administrators can grant or revoke granular access for individuals at the Identity Access or Single Sign-On provider level.

For more information, see Databricks integration in the Posit Workbench Admin Guide or Databricks integration for Users in the Posit Workbench User Guide.

 

Databricks Pane

 

As part of the strategic partnership between Posit and Databricks, we have continued to invest in R and Python tooling that makes Posit Workbench and Databricks better together.

For more information, see the RStudio Pro + Databricks integration in the Workbench user guide. We also covered the Databricks integration in a recent webinar: Databricks x Posit: Improved Productivity for your Data Teams.

While Posit Workbench and RStudio users have already been able to execute code in remote Spark clusters via Databricks, there were no UI elements for easily managing or connecting to these clusters. We have introduced a Databricks Pane in RStudio Pro, which allows for easily discovering and managing Databricks clusters. This allows R users to stay in RStudio Pro without having to navigate back and forth to the Databricks web interface. It also combines with the new auth passthrough for Databricks to make accessing Databricks clusters or data seamless!

 

Databricks pane in Posit Workbench showing the connection to the cluster

 

Given our recent investments and improvements in Sparklyr, we have also extended this pane with a feature that simplifies forming the initial connection to a Databricks cluster via Sparklyr.

For an active cluster, click on the “Connect to” icon, which will open up a New Databricks Connection pop-up.

New Databricks Connection pop-up

After clicking on “OK” in this pop-up, you will have a new Databricks connection in RStudio’s Connections pane.

ew Databricks connection in RStudio’s Connections pane

 

Databricks ODBC Driver

 

Posit Workbench includes access to our Pro Drivers for the most popular databases. As of this release, we now also include a Databricks driver.

The odbc R package, in combination with a driver, provides DBI support, and an ODBC connection. Starting with version 1.4.0, the odbc package makes it much easier to connect. The new databricks() function has built-in ways to determine, and set, most of the connection settings. This method for connecting should be used whenever possible over the more generic approach of using odbc::odbc() to connect.

For more information see the Databricks + ODBC overview at: https://solutions.posit.co/connections/db/databases/databricks/

 

Admin Quality of Life Improvements

 

We have also made several quality-of-life improvements for admins of Posit Workbench:

  • Increased the built-in nginx server’s max connection limit, enabled nginx error logging and allow both to be configured.
  • The Logs tab of the Admin Dashboard now allows viewing other server log files. A new Server tab provides real-time performance info and on-the-fly adjustment of the rserver log-level.
  • Added requestTime to nginx access logs when rserver.conf’s server-access-log=1. 
  • Format for rserver-http-access.log has changed to add a request time field useful for seeing how long it takes rserver to respond to requests. WARNING: if you have code that processes the log file, expect a new field.

Build updates

 

  • Updated Ace editor to v1.28
  • Updated Boost to version 1.83.0.
  • Updated Electron to version 26.2.4
  • Updated openssl to 1.1.1w on Mac and Windows
  • Updated Quarto to version 1.3.450
  • Updated rserver-saml to 0.7.0

 

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 2023.12.0 “Ocean Storm” 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.