RStudio 2023.09.1+494

"Elsbeth Geranium", October 17th, 2023


  • RStudio now displays a splash screen on startup, while the R session is being initialized. (#11604)
  • Updated RStudio Desktop installer on Windows to detect running RStudio by process name. (#10588)


  • Whether pending console input is discarded on error can now be controlled via a preference in the Console pane. (#10391)
  • Improved handling of diagnostics within pipeline expressions. (#11780)
  • Improved handling of diagnostics within glue() expressions.
  • Completions within R Markdown documents now respect the knitr root.dir chunk option if set. (#12047)
  • RStudio now provides autocompletion results for packages used but not loaded within a project.
  • Improved handling of missing arguments for some functions in the diagnostics system.
  • Code editor can show previews of color in strings (R named colors e.g. “tomato3” or of the forms “#rgb”, “#rrggbb”, “#rrggbbaa”) when Options > Code > Display > [ ] enable preview of named and hexadecimal colors is checked.
  • Fixes the bug introduced with rlang >= 1.03 where Rmd documents show the error message object 'partition_yaml_front_matter' not found upon project startup. (#11552)
  • Name autocompletion following a $ now correctly quotes names that start with underscore followed by alphanumeric characters. (#11689)
  • Suspended sessions will now default to using the project directory, rather than the user home directory, if the prior working directory is no longer accessible. (#11960)
  • The fuzzy finder indexes C(++) macros. (#11981)
  • Improved handling for large amounts of message() output in the Console pane. (#12059)
  • Build output is now truncating when very large amounts of output are produced (e.g. from C++ compilation warnings).
  • Memory usage in the environment pane now works correctly on Linux when using cgroups v2. (#11894)
  • Fixed an issue where code execution could pause in RStudio Server after closing the browser tab even with active computations. (Pro #3943)
  • Chunk output calls format() method on vctrs-based classes stored in a dataframe. (#6878)


  • RStudio attempts to infer the appropriate version of Python when “Automatically activate project-local Python environments” is checked and the user has not requested a specific version of Python. This Python will be stored in the environment variable “RETICULATE_PYTHON_FALLBACK”, available from the R console, the Python REPL, and the RStudio Terminal (#9990)
  • Shiny for Python apps now display a “Run App” button on the Source editor toolbar. (Requires shiny Python package v0.2.7 or later.)


  • Support for v2 format of Quarto crossref index
  • Support for RHEL7 and CentOS7 and fixes missing Pandoc for RMarkdown (rstudio-pro#3804)

Posit Workbench

  • Rebranded Workbench from RStudio Workbench to Posit Workbench to match Posit Software, PBC’s new branding terminology and iconography
  • Adds -l (long) option to rserver-url. When /usr/lib/rstudio-server/bin/rserver-url -l <port number> is executed within a VS Code or Jupyter session, the full URL where a user can view a server proxied at that port is displayed (rstudio-pro#3620)
  • Support launcher-local-proxy load balancing option to ensure that session requests are always proxied from the local workbench server in a cluster. Eliminates the need to open a range of ports in the firewall for sessions to be reached by other workbench servers (rstudio/rstudio-pro#3670)
  • Redesigned the session launch dialog from the homepage to show all session types at once (rstudio-pro#3646)
  • Enabled the Job Launcher with the Local Launcher by default in clean installations of Workbench (rstudio-pro#3571)
  • Enabled all session types (Jupyter Lab, Jupyter Notebook, RStudio Pro, and VS Code) by default in clean installations of Workbench and added warnings to the Session Launch dialog and the Posit Workbench log when the components for a session type is not installed (rstudio-pro#3689)
  • Add support for disabling RStudio Pro sessions (rstudio-pro#3642)

Posit Workbench VS Code Sessions

  • Install VS Code session support (code-server) with Posit Workbench instead of requiring a separate download (rstudio-pro#3643)
  • Updated code-server to version 4.7.1 (VS Code version 1.71.2) (rstudio-pro#3643)
  • Sets the UVICORN_ROOT_PATH environment variable to the proxied port URL for port 8000 in VS Code and Jupyter sessions, allowing FastAPI applications to run without additional configuration. (rstudio-pro#2660)
  • Workbench now checks for the code-server binary in the WORKBENCH_VSCODE_PATH environment variable (if present) then the vscode-exe setting in vscode.conf, or falls back to the preinstalled version and finally the PATH. This allows more flexibility when launching sessions on Kubernetes or Slurm clusters. (rstudio/rstudio-pro#3942)
  • Add support for launching Workbench Jobs through VS Code Sessions (rstudio-pro#3565)

Posit Workbench VS Code Extension

  • Install VS Code Extension with Posit Workbench instead of requiring a separate download (rstudio-pro#3643)
  • Introduce Workbench Job management to VS Code Extension (rstudio/rstudio-pro#3784, rstudio/rstudio-pro#3565)
  • Added a pop-up notification when working with certain relevant filetypes that makes it easier to find the Workbench Extension. This notification is a one-time view per user. It can be re-enabled in the user settings (vscode-ext#96).
  • Rebranded the interface to match Posit Software, PBC’s new branding terminology and iconography
  • Fixed extension servers appearing in Proxied Servers list (vscode-ext#116)
  • Added support for Flask, including a help dialog and the Posit Workbench Flask Interface code snippet, for proxying Flask applications (rstudio-pro#2660)
  • Added a FastAPI help dialog and the following code snippets for setting the root_path in FastAPI applications (rstudio/rstudio-pro#3698):
    • Posit Workbench Uvicorn Root Path Snippet
    • Posit Workbench FastAPI Uvicorn Root Path Snippet
  • Added a Warning notification that appears when a uvicorn process was started with a custom port, without the root-path argument. These processes will now appear in the Proxied Servers view with a warning icon (rstudio/rstudio-pro#3699)
  • Fixed mislabelling of Shiny app in Proxied Servers list (#117)

Posit Workbench Jupyter Sessions

  • Workbench now checks for the jupyter binary in the WORKBENCH_JUPYTER_PATH environment variable (if present), then the jupyter-exe setting in jupyter.conf, and finally the PATH. This is allows more flexibility when launching sessions on Kubernetes or Slurm clusters. (rstudio/rstudio-pro#3942)
  • Fixed an issue where Workbench would not install the jupyter extension automatically if the configured jupyter path was a symlink to the actual install location. We now follow the symlink. (rstudio/rstudio-pro#3942)
  • Disabled session-cull-timeout in jupyter.conf by default for clean installations of Workbench to prevent possible data loss due to Jupyter storing all state in the browser (rstudio-pro#4010)

Posit Workbench Jupyter Extension

  • The Jupyter Notebook and JupyterLab extensions have been updated to match with the new Posit Software, PBC branding (rstudio-pro#3645)

Deprecated / Removed

  • Removed the Tools / Shell command (#11253)
  • Deprecated the vscode.conf “min-ext-version” option for specifying the minimum version of the Posit Workbench VS Code extension as the extension is now bundled with Workbench and Session packages rather than being downloaded (rstudio-pro#3643)
  • Removed the “rstudio-server install-vs-code” admin command for downloading and configuring code-server; code-server is now installed with Workbench, use the “rstudio-server configure-vs-code” command for configuration (rstudio-pro#3643)
  • It is highly recommended that you disable session culling in Jupyter sessions by done by setting session-cull-minutes=0 in jupyter.conf to prevent potential data loss (rstudio-pro#3054)

Experimental ARM64 and RedHat 9 support

  • Experimental (preview) support for Linux aarch64 platforms, such as the Raspberry Pi and AWS Graviton
  • Experimental (preview) support for RedHat Enterprise Linux 9 and compatible platforms, such as Rocky Linux 9


  • Fixed an issue where the console history scroll position was not preserved when switching focus to a separate application (#1638)
  • Fixed an issue where Find in Files could omit matches in some cases on Windows (#11736)
  • Fixed an issue where the Git History window inverted the display of merge diffs (#10150)
  • Fixed an issue where Find in Files could fail to find results with certain versions of git (#11822)
  • Fixed visual mode outline missing nested R code chunks (#11410)
  • Fixed an issue where chunks containing multibyte characters was not executed correctly (#10632)
  • Fixed bringing main window under active secondary window when executing background command (#11407)
  • Fix for schema version comparison that breaks db in downgrade -> upgrade scenarios (rstudio-pro#3572)
  • Fixed an issue in the Electron build of the IDE on Macs where users could not clone a git repository via password-protected SSH or HTTPS (#11693)
  • Fixed scroll speed sensitivity for Mac and Linux and added a preference to adjust it (#11578)
  • Fixed an issue in server environments where invoking systemd directly could lead to orphaned processes and undefined behavior. Processes are now cleaned up more consistently as a part of server or launcher shutdown. (rstudio/rstudio-pro#2585)
  • RStudio sessions now shut down and suspend properly when they receive a SIGTERM signal, as they have for SIGUSR2 (rstudio/rstudio-pro#2585)
  • Fixed an issue where ssl-hsts-include-subdomains=1 would render Workbench non-functional. The setting now works as expected. (rstudio/rstudio-pro#3010)
  • Fixed an issue where the suspend-session, suspend-all, and kill-all subcommands of rstudio-server did not work when using the Launcher. (rstudio/rstudio-pro#4007)
  • Fixed conflicting keyboard shortcut for toggling screen reader support on macOS (#12339)
  • Fixed issue with session-ssl that prevented resuming some sessions in a load-balanced environment (rstudio/rstudio-pro#3759)
  • Fixed intermittent problem where sessions in the Posit Workbench homepage would display incorrect status over NFS (rstudio/rstudio-pro#3979)
  • Fixed an issue where Workbench Job output would somtimes fail to show (rstudio-pro#3972)

Previous Release Notes


  • Fix for schema version comparison that breaks db in downgrade -> upgrade scenarios (rstudio-pro#3572)


  • Support for v2 format of Quarto crossref index


  • Fix for schema version comparison that breaks db in downgrade -> upgrade scenarios (rstudio-pro#3572)
  • Fix for Quarto crossref indexing/completion not working with Quarto v1.0
  • Fixed homepage session status problems (rstudio-pro#3644, #3671, and #3669)
  • Fixed regression in spotted-wakerobin that prevented sessions from starting when launcher-sessions-use-password=1 (rstudio-pro#3664)
  • Fixes the bug introduced with rlang >= 1.03 where Rmd documents show the error message object 'partition_yaml_front_matter' not found upon project startup (#11552)
  • Fixed regression in spotted-wakerobin that prevents R sessions from starting when the crashhandler reports an error (#11717)
  • Fixed problems with load balancing when database connections are timed out, and fail to restore (pro #3714)
  • Fixed an issue where chunks containing multibyte characters was not executed correctly (#10632)
  • Fixed an issue with signing the Ubuntu 22 package by switching the compression to a supported type
  • Fixed visual mode outline missing nested R code chunks (#11410)
  • Fixed Cannot read property 'python' error when creating new projects on some systems (#11769)


  • Fixes the bug introduced with rlang >= 1.03 where Rmd documents show the error message object 'partition_yaml_front_matter' not found upon project startup (#11552)


  • Fix for schema version comparison that breaks db in downgrade -> upgrade scenarios (rstudio-pro#3572)


  • Update Quarto to 1.0.36


  • Linux: Support for Ubuntu 22.04, Fedora 35. (#10902, #9854)
  • Source marker message can contain ANSI SGR codes for setting style and color (#9010)
  • Linux/MacOS: Executing a code selection that encounters an error will stop execution of remaining code (#3014)
  • Added support for hyperlinks in the console and build pane (#1941)
  • Added support for blurred text (#11019)
  • “Clean and Rebuild” and “Install and Restart” have been merged into “Install Package”, the “Project Options > Build” gains a “clean before install” option to toggle the –preclean flag. The Build toolbar changes to “Install | Test | Check | More v” (#4289)
  • The source button uses cpp11::source_cpp() on C++ files that have [[cpp11::register]] decorations (#10387)
  • New Relative Line Numbers preference for showing line numbers relative to the current line, rather than the first line (#1774)
  • Upgraded SOCI library dependency from version 4.0.0 to 4.0.3 (#10792)
  • (macOS only) RStudio now reads the PATH from the user’s default shell on startup (#10551)
  • (experimental) Option to display the user interface in French (#10455)
  • Label commit timestamps as being in UTC (#2544)
  • The choice of pipe operator (magrittr or native R 4.1+) inserted with the “Insert Pipe Operator” keyboard shortcut can now be configured at the project level as well as the global level (#9409)
  • The Git/SVN pane now supports creating ED25519-encrypted SSH keys by default. Newly created RSA SSH keys will now be 4096 bits instead of 2048 to increase security (#8255)
  • Read only R and C++ files (marked by “do not edit by hand”) are ignored by the fuzzy file finder (#10912)
  • Linux: For compatibility with newer versions of glibc (>= 2.34), the seccomp filter sandbox is disabled. See for more details. (#9854)
  • Changed “Jobs” tab in IDE to “Background Jobs” (#11296)
  • The fuzzy finder shows test_that() calls when the search term starts with “t " (#11082)
  • Calls to test_that() appear in the source file outline (#11082)
  • Windows: Update embedded libclang to 13.0.1 (#11186)
  • Added a warning when renv is actively overriding repository settings in Global Options (#9947)
  • Workbench now supports project sharing in single-session mode (i.e. when server-multiple-sessions=0) (rstudio-pro#1263)

Find in Files

  • Fixed Find in Files whole-word replace option, so that when “Whole word” is checked, only file matches containing the whole word are replaced, as displayed in the preview (#9813)
  • Adds support for POSIX extended regular expressions with backreferences in Find in Files find and replace modes, so that special regex characters such as + and ?, |, (, etc do not need to be escaped, and other ERE escape sequences such as \b, \w, and \d are now supported. This matches the behavior of R’s own grep() function, but note that backslashes do not need to be escaped (as they typically are in R strings) (#9344)
  • The “Common R source files” option in Find in Files has been updated to “Common source files”, with support for searching Markdown (of any type, including .Rmd), JS, and YAML files (#10526)
  • Updated support for searching paths and filenames with Unicode characters on Windows, including Chinese and non-Latin characters (#9881)
  • Add a refresh button to the Find in Files pane to enable manual refresh of Find in Files search results (#3240)


  • Added support for the _ placeholder as used by the R pipe-bind operator, to be introduced with R 4.2.0. (#10757)
  • Added support for using the AGG renderer (as provided by the ragg package) as a graphics backend for inline plot execution; also added support for using the backend graphics device requested by the knitr dev chunk option (#9931)
  • rstudioapi functions are now always evaluated in a clean environment, and will not be masked by objects in the global environment (#8031)
  • Removed support for versions of R earlier than R 3.3.0. (rstudio-pro#2887)
  • Chunk options in the body of a code chunk, prefaced by #| will be respected during inline code execution, and will take precedence over conflicting chunk options in the chunk header (#10645). Both YAML tag: value syntax and valid R expressions will be parsed.
  • Fixed issue in R debugger that caused RStudio to lose focus out of source code when interacting with the console in certain ways, such as evaluating an expression (#10664)


  • Fixed an issue where vignette content was illegible when viewed with a dark theme. (#11164)
  • Fixed an issue where previewing a plot as PDF could fail after a session restart. (#1905)
  • Fixed logging of HRESULT error values by logging them as hexadecimal instead of decimal (#10310)
  • Fixed notebook execution handling of knitr message=FALSE chunk option to suppress messages if the option is set to FALSE (#9436)
  • Fixed plot export to PDF options (#9185)
  • .rs.formatDataColumnDispatch() iterates through classes of x (#10073)
  • .rs.api.navigateToFile() is now synchronous and returns document id (#8938)
  • The Session > Load Workspace menu option now explicitly namespaces base::load if the load function has been masked in the global environment (#10089)
  • The data viewer truncates large list cells to 50 characters by default, this can be changed with the command palette or rstudioapi::writeRStudioPreference("data_viewer_max_cell_size", 10L) (#5100)
  • The R version and logo displayed in the top left of the console will update to the current R version whenever the R session is restarted (#10458)
  • Fixed issue where core::system::userBelongsToGroup errors under specific sssd configurations (ignore_group_members = true) (#10829)
  • Fixed a security issue where shiny apps and vscode sessions remained active after signout (rstudio-pro#3287)
  • Fixed an intermittent hang when invoking rstudio-server verify-installation which caused stale rserver processes to exist (rstudio-pro#3041)
  • (Windows only) Fixed an issue where multiple instances of RStudio launched at the same time could bind to the same session. (#10488)
  • Fixed unintended change of date/time formatting in the VCS commit history (#10810)
  • Fixed an issue where code of the form ‘1:2:3’ was diagnosed incorrectly. (#10979)
  • Add back link to the title of sessions so that users can easily open sessions in new tabs and copy session links (rstudio-pro#3290)
  • (Linux Only) License-manager now works in a installer-less context (rstudio-pro#3150)
  • Fixed an issue where R raw strings were not highlighted correctly in R Markdown documents. (#11087)
  • Fixed issue with using RStudio server behind multi-level proxy servers (#11010)
  • Fixed an issue with project sharing where other users’ actions could prevent a session’s auto suspend (rstudio-pro#3362)
  • Fixed a regression in which the “(Use Default Version)” option was not present in some R version selector drop downs (rstudio-pro#3451)
  • Fix opening a remote session via downloaded rdprsp file in Mac Desktop Pro when it (RDP) is already open (rstudio-pro#3291)
  • Fixed several error marker issues in visual mode where they did not display (#10949 #10483)
  • Allow Jupyter and VScode sessions to be renamed from the homepage (rstudio-pro#1686)
  • Fix an issue with the Job Launcher in the IDE and the Session Launcher in the RSW Homepage in which changing the name field manually would prevent the other fields in the options sub-section (like the image field) from auto-updating when changing the “Editor” value (rstudio-pro#3316)
  • Fixed a user-facing error and added logging when the a session fails to launch due to a misconfigured launcher (rstudio-pro#1684)

RStudio Workbench

  • Add a -G option to rsandbox to allow configuring the effective group of the process (#3214)
  • When resuming a suspended session with the Kubernetes Launcher Plugin, the container image that was previously being used will now be selected by default (#1520)
  • Upgrade the default version of code-server to 4.4.0 to resolve issue with the latest Python VS Code extension (Pro #3320)
  • Change the label of the “Jobs” section on the homepage to “Workbench Jobs” to disambiguate. Likewise, change the “Launcher” pane title in the IDE to “Workbench Jobs” (rstudio-pro#3138, rstudio-pro#3453)
  • Session status information on the homepage has been upgraded! Additional information about a session’s processes is easily accessible with a drop-down. Visual updates and cues help improve the user experience. Back-end updates improve the stability and responsiveness of session operations and status changes (rstudio-pro#2443)
  • Change the “Jobs” tab to “Launcher Diagnostics” in the session information pop-up to further distinguish it from various other references to “jobs.” Hide the “Job Name” field, as it was confusing where it was displayed in the session information details. (rstudio-pro#3453)
  • Upgrade the default version of code-server to 4.4.0 to resolve issue with the latest Python VS Code extension (Pro #3320)
  • JupyterLab Sessions are now configured to be run with the workbench_jupyterlab extension. If not globally installed, this will be auto-installed for users on their first JupyterLab session launch (Pro #3429)
  • Added ability to configure a vscode.extensions.conf file allowing admins to create a list of VS Code extension that will be pre-installed for all users (Pro #3378)

Deprecated / Removed

  • The minimum supported R version for the IDE has been increased from R 3.0.1 to R 3.3.0 (rstudio-pro#2887)
  • BREAKING: Block port proxy requests at /proxy/<port> for Jupyter sessions - previously only available if Jupyter Server Proxy was installed (Pro #3339)
  • No longer support Debian 9 (“stretch”) for Desktop, Server, and Workbench (#10981)
  • No longer support SLES 12 for Desktop, Server, and Workbench (#10583)


  • Fixed issue in R debugger that caused RStudio to lose focus out of source code when interacting with the console in certain ways, such as evaluating an expression (#10664)
  • Fixed an issue where files would appear to be blank when opened in projects not using UTF-8 encoding on Windows with R 4.2.0. (#11206)

Note on glibc 2.34+ and Chromium Sandbox

For Ubuntu 22.04 (“Jammy”), Fedora 35, and other distros with with newer versions of glibc (>= 2.34) the RStudio Desktop application now disables the Chromium security sandbox in order to workaround a library conflict between the version of chromium used in Qt 5.12 and the platform libraries. The sandbox is a second level security mechanism that prevents untrusted Javascript code from exploiting unknown security problems from using a set of protected system services.

While we will continue to support the Chromium security sandbox for other versions of Linux and in our upcoming Electron version on all platforms, we believe the product security for RStudio Desktop on Ubuntu 22.04 and Fedora 35 will not be significantly affected even with this security feature disabled. Software security is not a perfect science so we want to be clear about the implications so users can make informed choices.

RStudio Desktop is a developer’s tool that commonly runs custom code outside of the browser sandbox. Users already must take care to trust the code they run, and are protected by the language and library interfaces they use, as well as a trusted supply chain of package managers. RStudio Desktop either accesses all files on the local system, or connects through an explicit process to trusted servers.

See for more details.


  • Removed the breaking change introduced in Juliet Rose that changed the behavior of the X-Forwarded-Proto header when RSW is behind a proxy server (Pro #2657)
  • Fixed an issue where RStudio Desktop Pro could fail when connecting to remote sessions via https (Pro #2651)
  • Fixed a crash that can occur when opening a VS Code session behind a path-rewriting proxy (Pro #2699)
  • Updated embedded nginx to 1.20.1 (Pro #2676)
  • Blocked access to code-server’s /absproxy/<port> url (Pro #3275)
  • Fixed a security issue where shiny apps and vscode sessions remained active after signout (rstudio-pro#3287)


  • Support for the enhanced R help system, introduced with R 4.2.0.
  • Added editor support for the R pipe-bind placeholder (_). (#10757)


  • Fixed an issue causing tooltips and menus to render incorrectly in Safari 15.4. (#10821)
  • Fixed a security issue where shiny apps and vscode sessions remained active after signout (rstudio-pro#3287)
  • Fixed various issues with incorrect escaping of citation brackets (#10075)
  • Fixed issue with inability to insert Quarto crossrefs (#10918)
  • (Windows only) Fixed an issue where multiple instances of RStudio launched at the same time could bind to the same session. (#10488)

RStudio Workbench

  • Blocked access to code-server’s /absproxy/<port> url (Pro #3275)


  • Support for syntax highlighting of the R 4.2.0 pipe-bind operator. (#10757)


  • Reverted changes supporting UTF-8 code page with UCRT builds of R (>= 4.2.0). (#10507)
  • Fixed a security issue where shiny apps and vscode sessions remained active after signout (rstudio-pro#3287)
  • (Windows only) Fixed an issue where multiple instances of RStudio launched at the same time could bind to the same session. (#10488)
  • (macOS only) Fixed an issue causing tooltips and menus to render incorrectly in Safari 15.4. (#10821)


  • Fixed an issue preventing deployment of applications on Windows. (#10672)
  • Fixed an issue where list.files() did not handle “globs” as expected. (#10679)
  • Fixed incorrect label in Global Options for “Show full path to project in window title” (#10688)
  • Fixed hang running Rmd chunks with launcher sessions and other problems the new session-ssl feature of RStudio Workbench (Pro #3301)
  • Fixed failure to create log file for rserver-session-reaper (#3307)
  • Fixed failure to create log file for rserver-acls (#3318)
  • Fixed error refreshing the IDE when project sharing is enabled and a file is actively being shared (Pro #3321)
  • Fixed restoring session containing invalid RSTUDIO_PANDOC value


Visual Mode

  • Improved handling of table markdown in visual editor (#9830)
  • Added option to show line numbers in visual mode code chunks (#9387)
  • Made visual code chunks collapsible (#8613)
  • Show source diagnostics in visual code chunks (#9874)
  • Fixed code execution via selection in indented visual mode code chunks (#9108)
  • Fixed detection of HTTP(S) URLs on Windows in the image resolver (#9837)
  • Improved behavior of citekey removal in Insert Citation dialog (#9124)
  • Fix issue with unicode characters in citation data (#9745)
  • Fix issue with unicode characters in citekeys (#9754)
  • Fix issue with delay showing newly added Zotero references when inserting citations (#9800)
  • Add ability to insert citation for R Packages (#8921)
  • Fixed BetterBibTeX detection on Linux (#10007)
  • Fixed DT tables being squashed in the viewer pane (#10276)

RStudio Workbench

  • Added support for setting the subPath on Kubernetes sessions using KubernetesPersistentVolumeClaim mounts in /etc/rstudio/launcher-mounts (Pro #2976).
  • Added support for Slurm 21.08 to the Slurm Launcher plugin
  • Added license-warning-days setting to make it possible to adjust or disable the license warnings that appear two weeks prior to expiration (Pro #440)
  • When an R version defined in r-versions uses an environment module, the name of the module is displayed in the version select menus instead of the system R version name. (Pro #2687)
  • Clicking on a session entry in the RSW homepage will always attempt to launch it – the title is no longer a link. Clicking on “Info” will always show info. (Pro #3082)
  • With the options launcher-sessions-create-container-user, and launcher-sessions-container-forward-groups enabled, RSW will now add a group to the user even if the group with a matching id exists but with a different name. (Pro #2971)
  • Added SSL communication between RSW and remote sessions (using the job launcher). It’s enabled by default and can be disabled in rserver.conf by setting session-ssl-enabled=0. Certificates are generated for each job by default or can be manually configured. (Pro #3026)
  • Disable session SSL for Code Server 3.9.3 and support auth changes in Code Server 3.11.0 (Pro #3111)
  • Show user’s full name, or proxied auth display name, in Project Sharing presence indicator (Pro #3121)
  • Allow users to specify R version in launcher jobs (Pro #1046)
  • Show additional environment information in the IDE Job Launcher dialog (Pro #3110)
  • Allow users to specify custom path to R_HOME in the IDE Job Launcher when the target cluster or image do not match the current environment (Pro #3110)
  • Removed some unnecessary warnings in the RStudio VS Code Extension when using Dash (Ext #98)
  • Added a link to a help article about using VS Code Sessions in RStudio Workbench
  • Blocked access to code-server’s /absproxy/<port> url (Pro #3275)
  • Sessions that attempt to automatically suspend, but were blocked by some operation, will report what’s blocking suspension in the IDE in the R Console toolbar (Pro #2618)
  • Added ability to disable the dependency checker by setting the RSTUDIO_DISABLE_PACKAGE_INSTALL_PROMPT environment variable. This increases the compatibility with older R versions.


  • RStudio now supports the experimental UTF-8 UCRT builds of R (#9824)
  • Preliminary support for R graphics engine version 15 in R 4.2.0. (#10058)
  • Default file download method in Windows for R 4.2 and above changed from wininet to libcurl (#10163)
  • list.files() and list.dirs() now handle international characters on Windows (#10451)


  • Add commands to open selected files in columns or active editor (#7920)
  • Add New Blank File command to Files pane to create empty files of selected type in the directory (#1564)
  • Add CSRF token header X-RS-CSRF-Token and cookie rs-csrf-token, to avoid clashing with similarly named headers and cookies in other services (#7319)
  • Use double indent for function parameters to align with Tidyverse style (#9766)
  • Recognize id_ed25519 key file in Version Control options UI (#9991)
  • Updated Files Pane buttons to resize and remain visible at smaller widths (#9870)
  • Remove ‘Classic’ IDE theme (#9738)
  • Added support for Amazon Linux 2 (Pro #2474)
  • Treat Alt and Caption fields differently depending on file type (#9713)
  • Fixed shortcut conflict on German keyboard (#9276)
  • Updated shinymod snippet for Shiny modules (#10009)
  • Fixed an issue where conda install could fail within a Git Bash terminal on Windows (#10283)
  • Add hover text to ‘Go to project directory’ button in Files pane (#10092)


  • Fixed an issue that could cause calls to grid functions to fail after restart (#2919)
  • Fixed errors when uploading files/directory names with invalid characters (Pro #698)
  • Added error when rsession may be running a different version of R than expected (Pro #2477)
  • Fixed “No such file or directory” errors when auto-saving R Notebook chunks while running them (#9284)
  • Fixed issue causing unnecessary document switching when evaluating statements in debugger (#9918)
  • Fixed scrolling past long sub-content (like kables) in RMD files. User must interact with sub-content in order to scroll through it (#2202)
  • Fixed custom shortcuts not appearing correctly in menus (#9915)
  • Fixed custom shortcuts not appearing correctly in “Keyboard Shortcuts Help” and Electron menus. (#9953)
  • Fixed header scrolling in data viewer tables not following table contents in unfocused windows (#8208)
  • Fixed permissions on Mac Desktop application so all user accounts can launch it (#9945, #10267)
  • Fixed logging directory permissions to be more restrictive (775 instead of 777) (#3099)
  • Fixed errors when opening or saving Rmarkdown documents when R is busy (#9868)
  • Fixed issue with SLES 12 builds using OpenSSL 1.1 instead of 1.0.2
  • Fixed a bug where Slurm Launcher jobs that exited with a non-zero exit code would still have a zero exit code (Launcher #203)
  • Fixed a bug where Slurm Launcher jobs with standard error would never be written to the output file (Launcher #203)
  • Fixed a bug where Slurm Launcher jobs that exited due to a signal would not show the exit code as 128+signal (Launcher #203)
  • Fixed a bug where Launcher log files could be stuck being owned by the root user (#9728)
  • Fixed bug with customized display names and launcher sessions (Pro #3217)


See Deprecated / Removed section below.

Deprecated / Removed

  • BREAKING: Remove session-collab-server and filebase-path R Session options (pro #3181)


  • Support for the UTF-8 code page with UCRT builds of R (>= 4.2.0) (#9824)
  • Support for R (>= 4.2.0) on Windows (#9792)
  • Preliminary support for R graphics engine version 15 in R 4.2.0. (#10058)


  • Fix issue causing backslashes to be added to citations in the visual editor (#10075)
  • Fix issue preventing startup on multi-user macOS environments (#9945, #10267)


  • Fixed issue causing verify-installation to hang in load balanced launcher environments (Pro #3036)
  • Fixed bug that prevented publishing to Connect from a preview window (#9901)
  • Fixed bug that prevented RStudio from correctly reporting new versions when running ‘Check for Updates’ (Pro #9911)
  • Fixed bug that prevented disabling the “Automatically activate project-local Python environments” setting (#9952)
  • Fixed bug preventing detection of Python environments when conda installed in typical location but not on path (#9975)
  • Make Python detection less likely to override RETICULATE_PYTHON (#9999)

  • Changed from semantic versioning to calendar based versioning (Pro #2652)


  • Projects containing a Python environment are now automatically activated (#9489)


  • In an effort to help make the RStudio Team products more cohesive, logging has been changed significantly.
  • By default, server logs will now be written to file instead of syslog. Warnings and errors will still log to syslog. This can be controlled by the warn-syslog parameter in logging.conf.
  • By default, server logs will now be written under /var/log/rstudio/rstudio-server.
  • Logs can now be written in JSON lines format.
  • Reloading the logging.conf configuration by sending a SIGHUP to the rserver process will now cause all RStudio managed subprocesses to also refresh their logging configuration.
  • Logging can now be partially configured using environment variables (RS_LOGGER_TYPE, RS_LOG_LEVEL, RS_LOG_MESSAGE_FORMAT, and RS_LOG_DIR).
  • Log files will now rotate by time in addition to the existing rotation by file size. This can be controlled by the rotate-days parameter in logging.conf.
  • For more information, see section 2 of the Admin Guide.

RStudio Workbench

  • Load-balancing configuration is now automatic, stored in the internal database, and doesn’t require editing config files. Added supporting rstudio-server list-nodes command to show users the node’s status according to the database. (Pro #2167)
  • Use of the [config] or [nodes] headers, or the precense of nodes, in the load-balancing configuration file will lead to warning messages logged. (Pro #2167)
  • Use of [config] or [nodes] headers, or the precense of nodes, in the load-balancing configuration file will lead to warning messages logged. (Pro #2167)
  • Added rstudio-server delete-node command to allow users to remove a load-balancing node from the database (Pro #2800)
  • Added AWS Cognito support to OpenID integration (Pro #2313)
  • Add file uploads and downloads to session audit log (Pro #2226)
  • RStudio Workbench can now run without root access in a single-user mode (Pro #9496)
  • Updated embedded nginx in Server Pro to 1.20.1 (Pro #2676)
  • Use separate database schema for open source RStudio Server instances (rstudio-os) and RStudio Workbench instances (rstudio) to avoid conflicts (Pro #2725)
  • Prevent user preferences from setting CRAN repos when allow-cran-repos-edit=0 (Pro #1301)
  • Ensure that improperly configured launcher-sessions-callback-address values can’t hang user sessions (Pro #2532)
  • Support username aliases, where two usernames map to the same uid (Pro #2736)


  • Fixed issue where running Python chunk in notebook did not validate reticulate was installed (#9471)
  • Fixed issue where .md, .py, .sql, and .stan files had duplicate event handlers (#9106)
  • Fixed issue where output when running tests could be emitted in wrong order in Build pane (#5126)
  • Fixed issue where RStudio could crash when viewing a malformed data.frame (#9364)
  • Fixed issue where completion tooltip was erroneously shown in multi-line strings in some cases (#8677)
  • Fixed issue with autocompletion of column names within native-piped R expressions (#9385)
  • Fixed issue where help requests for Python objects would fail with reticulate 1.20 (#9311)
  • Fixed issue where busy sessions can’t be interrupted and block basic file operations (#2038)
  • Fixed issue where R Markdown error output was not properly formatted when displayed (#9390)
  • Fixed issue where R Markdown template skeletons with a ‘.rmd’ extension were not discovered (Pro #1607)
  • Fixed issue where autocompletion system could emit errors with R (< 3.3.0). (Pro #2680)
  • Fixed issues causing multiple background jobs to be created when running Shiny applications in the background (#8746, #6904)
  • Fixed issue causing an error when adding files to static content published to RStudio Connect (#9571)
  • Fixed issue where R banner could be displayed twice on startup (#6907)
  • Fixed issue where RStudio was unable to initialize a Git repository in UNC paths on Windows (#4137)
  • Removed the breaking change introduced in Juliet Rose that changed the behavior of the X-Forwarded-Proto header when RSW is behind a proxy server (Pro #2657)
  • Fixed issue where adjacent links in the Visual Editor could merge into a single link (#8471)
  • Fixed Issue where items deleted from a local Zotero Collection would still appear in the Visual Editor’s Insert Citation dialog.
  • Fixed issue where Console width was computed incorrectly with some custom fonts (#8696)
  • Fixed two 502 errors with load balancing: quick session restart, and failover for non-launcher sessions (Pro #2696)
  • Fixed problem with backspace in terminal causing incorrect display (#9249)


  • BREAKING: RStudio Desktop Pro only supports activation with license files (Pro #2300)
  • BREAKING: The session-env-var-save-blacklist option has been renamed to session-ephemeral-env-vars.
  • BREAKING: The directory-view-whitelist option has been renamed to directory-view-allow-list.
  • Update bundled Pandoc to version 2.14.1
  • Depend on new versions of rmarkdown (2.10) and shiny (1.6)
  • Fixed an issue where scroll position in PDFs was not preserved on re-render (#9603)
  • Support highlight of ‘css’ and ‘asis’ chunks in R Markdown documents (#4821)
  • Improved ordering of completion results within library() calls (#9293)
  • Syntax support for embedded knitr chunks (#9579)
  • Add option to synchronize the Files pane with the current working directory in R (#4615)
  • Add new Set Working Directory command to context menu for source files (#6781)
  • Local background jobs can now be replayed (#5548)
  • Improved display of R stack traces in R functions invoked internally by RStudio (#9307)
  • High DPI (“Retina”) plots are now supported on RStudio Server (#3896)
  • The “auto-detect indentation” preference is now off by default (#9211)
  • Make the Use renv with this project option sticky, and allow setting by admins (Pro #2671)
  • RStudio no longer treats R objects containing null external pointers specially when building Environment pane (#5546)
  • Make Cmd+Shift+0 the shortcut for restarting session on MacOS (#7695)
  • Update Plumber file template for Plumber 1.0 (#9402)
  • Support creating supplemental groups when create-container-user=1 (Pro #2276)
  • RStudio addins installed within tools:::R_user_dir(<pkg>, "config") are now discovered by RStudio. (#9648)

This is a major update to RStudio 1.4 that includes the following enhancements and bugfixes:


  • Add native support for Apple Silicon (aarch64) builds of R on macOS (#8652)
  • Show memory usage details in Environment pane (#4033)
  • Added support for the |> pipe operator and the => pipe-bind operator, proposed for R 4.1.0 (#8543)
  • Added support for the \(x) function shorthand syntax, proposed for R 4.1.0 (#8543)
  • Added preference toggle for inserting the |> pipe operator when the Insert Pipe Operator command is used (#8534)
  • Compilation of Sweave documents now uses tinytex when requested (#2788)
  • Preliminary support for R graphics engine version 14 in R 4.1.0. (#9251)


  • The Python REPL can now be interrupted (#8763, #8785)
  • Python installs within /opt/python and /opt/local/python are now discovered by RStudio (#8852)
  • Improved handling of unicode input on Windows (#8549)
  • Fixed issue where inspecting a null Python object would cause emit errors to console (#8185)
  • Detect active Python version when publishing content (#8636)
  • Use active Python version when knitting R Markdown files (#8854)
  • The active version of Python is now placed on the PATH for new Terminal sessions (#9188)

RStudio Workbench

  • RStudio Server Pro has been renamed to RStudio Workbench to more accurately reflect its cross-language editing capabilities.
  • BREAKING: RStudio Workbench’s Linux packages have new file names, rstudio-workbench-* instead of rstudio-server-pro-*. The operating system package name remains rstudio-server, so installs and upgrades will work correctly. Scripts which refer to the .deb or .rpm file names directly will need to be updated.
  • Added support for JupyterLab 3 (Pro #2022)
  • Add support for using OpenID and SAML authentication schemes when a proxy is required for outbound requests (Pro #2427)
  • Updated product licensing engine (LimeLM) to TurboActivate and TurboFloat to v4.4.3.
  • Licenses can now be applied and updated without a restart (Pro #2468)
  • Improved R session diagnostic logging; now records all instances of a session (Pro #2268)
  • Improved troubleshooting logging for PostgreSQL encrypted password configuration (Pro #2441)
  • Improved locktester file locking diagnostic utility; now tries all lock types and recommends configuration (Pro #2400)
  • Added new rstudio-server reload command to reload some server configuration settings without a restart (Pro #2139)
  • Added pool-size option in database.conf to control size of database connection pool; avoid creating a large pool on systems with many CPUs (Pro #2494)
  • Display hidden characters in filenames when logging config files with run-diagnostics (Pro #2509)
  • Add support for SSL communication between nodes when using load balancing (Pro #2565)

VS Code

  • Visual Studio Code is fully supported on RStudio Workbench and no longer in beta
  • Added support for Dash, Streamlit, and local web development servers in VS Code sessions
  • Added RStudio Workbench navigation tools in VS Code sessions
  • Added a new user settings template file for VSCode settings to allow administrators to specify a default user configuration for VSCode sessions (Pro #2014)
  • Set environment variables RS_URI_SCHEME, RS_SESSION_URL, SERVER_URL, and RS_HOME_URL when VSCode is launched (Pro #2346, Pro #2373)
  • Updated rstudio-server install-vs-code to install code-server 3.9.3 (Pro #2576)
  • BREAKING code-server 3.3.0 moves the executable to a bin directory. After upgrading code-server, the exe setting in vscode.conf may need to be updated to include bin in the path. This happens if the upgrade is not done by install-vs-code-ext or if vscode.conf is being programatically managed. If not updated, VS Code sessions will launch with “wrong version number” message. Related code-server change
  • Change the default behavior of install-vs-code to not configure a global extensions directory and allow users to manage their own extensions. If install-vs-code was run with a previous release and you’d like to change your configuration, the configuration can be manually removed from vscode.conf or the script can be rerun to regenerate vscode.conf (Pro #2516)
  • Added rstudio-server install-vs-code-ext script to install the RStudio Workbench VS Code extension in a global directory and upgrade code-server to 3.9.3 (Pro #2456)
  • When a global extensions directory isn’t configured, install the RStudio Workbench extension on the first VS Code session launch per user (Pro #2376)
  • Disable the extensions marketplace in VS Code sessions when a global directory is configured that the user does not have write access to (Pro #2507)
  • Improved error messaging for VS Code session errors from verify-installation (Pro #2442)

RStudio Server Open Source

  • BREAKING: RStudio when served via http erroneously reported its own address as https during redirects if the header X-Forwarded-Proto was defined by a proxy. That could lead to a confusing proxy setup. That has been fixed, but existing proxy installations with redirect rewite settings matching for https may have to be adjusted.
  • BREAKING: RStudio Server no longer supports Internet Explorer 11.
  • Added session-suspend-on-incomplete-statement option to enable more aggressive session suspension behavior (Pro #1934)
  • New env-vars configuration file simplifies setting environment variables for the main RStudio server process. (Pro #2433)
  • Refreshed style on sign-in page; sign-in page now has a dark mode that syncs with the operating system’s (#9092, #9093)

Visual Editor

  • Code chunks in the visual editor now respect the “Tab Key Always Moves Focus” accessibility setting (#8584)
  • The commands “Execute Previous Chunks” and “Execute Subsequent Chunks” now work when the cursor is outside a code chunk in the visual editor (#8500)
  • The commands “Go to Next Chunk” and “Go to Previous Chunk” now work in the visual editor (#9005)
  • Fixed issue causing the document to scroll unpredictably when a code chunk inside a list item is executed in the visual editor (#8883)
  • Cmd+U now toggles underlining in the visual editor on macOS (#8656)
  • Improve YAML cursor position after omni-insert in the visual editor (#8670)
  • Fix issues finding words with punctuation in visual mode (#8655)
  • Fix spurious image insertion when pasting into visual mode from Excel (#8665)
  • Fix issue causing spell check to stop identifying misspellings when switching between visual and source modes (#8473)
  • Fixed issue importing dataset author data from DOIs in the visual editor (#9059)
  • Fixed issue where the Insert Citation dialog in the visual editor would clear selected citation when typeahead searching (#8521)
  • Fixed issue where the bibliography path is assumed to be document relative when inserting citations in the visual editor (#8847)
  • Fixed error in visual mode spellcheck where underline would disappear when hitting backspace (#9187)

Job Launcher

  • Fixed an issue where the Kubernetes Launcher could hang in Azure Kubernetes Service (AKS) environments by lowering the watch-timeout-seconds parameter default down to 3 minutes instead of 5 (Pro #2312)
  • Fixed issue preventing Kubernetes sessions from starting due to incorrect SSL certificate checking on websocket connections; make websocket connections support the verify-ssl-certs option (Pro #2463)
  • Fixed an issue where the Kubernetes Launcher can sometimes get in a state where communication with Kubernetes hangs until a restart (Pro #2548)
  • Fixed an issue where Kubernetes Launcher services could sometimes leak and never be cleaned up (Pro #2548)
  • Fixed an issue causing Kubernetes plugin to fail to deserialize jobs from Kubernetes 1.19 (Pro #2605)
  • Improved a Slurm Session Launch Delay that may occur due to buffering when using Slurm job steps (Pro #2331)
  • Fixed an issue where Load Balanced Local Launcher instances could get into a state where they would no longer receive job updates from other nodes due to silent network drops (Pro #2281)


  • The mouse back / forward buttons can now be used to navigate within the Help pane (#8338)
  • Right-click on document tab provides menu with close, close all, close others (#1664)
  • Rename File added to document tab context menu (#8374)
  • Copy Path command added to document tab context menu (#7289)
  • Preliminary compatibility with UCRT builds of R-devel (#8461)
  • Update Windows Desktop to openSSL 1.1.1i (#8574)
  • Improve ordering of items in Command Palette list and search results (#7567, #7956)
  • Update embedded Pandoc to v2.11.3.2
  • Change default per-user install folder to %LocalAppData%\Programs on Windows (#8598)
  • Detect newer plumber tags when enabling plumber integration (#8118)
  • Option to restore RStudio 1.2 tab key behavior in editor find panel; search in Command Palette for “Tab key behavior in find panel matches RStudio 1.2 and earlier” (#7295)
  • Show .renvignore in Files pane (#8658)
  • Make the set of always-shown files and extensions in the Files pane configurable (#3221)
  • Log location of addins that raise parse errors at startup (#8012)
  • Support dual/charcell-spaced editor fonts (e.g., Fira Code) on Linux desktop environments (#6894)
  • Improve logging of session RPC failures (Pro #2248)
  • Add support for rstudioapi methods enabling callbacks for command execution (Pro #1846)
  • Add support for non-CRAN repositories when installing R packages in the background (#8946)
  • Add server homepage link and retry options to mitigate “Unable to connect to service” errors (Pro #2066)
  • Add support for commenting and uncommenting code in C (.c and .h) files (#4109, thanks to @cm421)
  • The R session binary (rsession) now has a --version option for reporting its version (Pro #2410)
  • RStudio Desktop startup diagnostics now include the RStudio version/platform and an option to copy to plain text (#6628, #9117)
  • Improved Spellcheck package to be compatible with all known Hunspell-compatible dictionaries, improved spellcheck initial loading and large file performance (#9161)
  • Add ‘whole word’ filter to Find in Files. (#8594)


  • Fixed an issue that could cause RStudio to crash when generating plots on Windows (#9113)
  • Fixed an issue causing slow session startup and “Unable to connect to service” errors on RStudio Server (#9152)
  • Fix Windows Desktop installer to support running from path with characters from other codepages (#8421)
  • Fixed issue where R code input could be executed in the wrong order in some cases (#8837)
  • Fixed issue where debugger could hang when debugging functions called via (#5158)
  • Fixed issue where rendering .tex document with tinytex would fail on Windows (#8725)
  • Fixed issue where reinstalling an already-loaded package could cause errors (#8265)
  • Fixed issue where RStudio would inappropriately autoload the ‘yaml’ and ‘tinytex’ packages (#8698)
  • Fixed issue where right-assignment with multi-line strings gave false-positive diagnostic errors (#8307)
  • Fixed issue where restoring R workspace could fail when project path contained non-ASCII characters (#8321)
  • Fixed issue where forked R sessions could hang after a package was loaded or unloaded (#8361)
  • Fixed issue where attempting to profile lines ending in comment would fail (#8407)
  • Fixed issue where warnings + messages were mis-encoded in chunk outputs on Windows (#8565)
  • Fixed issue where C++ compilation database was not invalidated when compiler was updated (#8588)
  • Fixed issue where SQL chunks containing non-ASCII characters could fail to run on Windows (#8900)
  • Fixed issue where ‘case:’ statements were not outdented when rainbow parentheses were active. (#8846)
  • Fixed issue where Stan completion handlers were duplicated on save (#9106)
  • Improved checks for non-writable R library paths on startup (Pro #2184)
  • Fixed issue preventing R Notebook chunks from being queued for execution if they had never been previously run (#4238)
  • Fix various issues when the “Limit Console Output” performance setting was enabled (#8544, #8504, #8529, #8552)
  • Fix display of condition messages (errors and warnings) in some character encodings (#8546)
  • Fix out-of-date tooltip when renaming files (#8490, #8491)
  • Fix incorrect keyboard shortcuts shown in some places in the Command Palette (#8735)
  • Fixed issue with formatting of closing braces when inserting newline in C++ code (#8770)
  • Fixed issue where empty panes would remain open and pop open unexpectedly (#8460)
  • Fixed issue where ‘continue comment on newline’ would treat Markdown headers as comments (#6421)
  • Fixed issue where Set Working Directory command could fail if path contained quotes (#6004)
  • Fixed issue where Pro database drivers will not install if ~/odbcinst.ini is missing (Pro #2284)
  • Fixed issue causing the mouse cursor to become too small in certain areas on Linux Desktop (#8781)
  • Fixed issue causing Run Tests command to do nothing unless the Build tab was available (#8775)
  • Fixed issue where paging in the DataViewer would throw errors and current columns wouldn’t update (#9078)
  • Fixed issue causing RStudio Server to create .local/share/rstudio folder with incorrect permissions when session-timeout-kill-hours is set (Pro #2388)
  • Fixed issue causing verify-installation to exit without showing the error that caused it to do so (Pro #2399)
  • Fixed issue causing spurious “Failed to reset ACL permission mask” errors to be logged outside shared projects on some filesystems (Pro #2406)
  • Fixed issue where sending code from Python History pane would switch Console to R mode (#8693)
  • Fixed issue where Open File dialog would fail to open files whose names were explicitly typed (#4059)
  • Fixed issue causing Project Sharing to fail to set Access Control Lists when using NFS v4 and username@domain security principals (Pro #2415)
  • Fixed issue where dialog boxes [e.g. Git commit, Installing Pro Database drivers] could fail to show output with Limit Console Output turned on (Pro #2284)
  • Fixed issue where uploading a .zip archive when unzip was not on PATH would cause a cryptic error (#9151)
  • Fixed issue where RStudio occasionally reset the locale to the “default” locale on Windows (#9350)
  • Errors that occur when R packages update the Connections pane are now better handled and reported (#9219)
  • Fixed an issue where login page could fail intermittently with slow network connections (Pro #2551)

This is a minor update to RStudio 1.4 that contains fixes for a handful of important bugs.


  • Fixed issue where R code input could be executed in the wrong order in some cases (#8837)
  • Fixed issue where default initial working directory was incorrectly set to a project directory (#8683)
  • Fixed issue causing the second inline equation in a paragraph to fail to render in visual editing mode (#8810)
  • Fixed issue where session source database sentinel file was not being written correctly when the session is suspended (#8903)


  • Update Pandoc to 2.11.4 (#8848)
  • Update jQuery to 3.5.1 (Pro #2314)


  • A new visual editor for R Markdown documents
  • Improved support for Python, including an environment pane for Python and visualization of Python objects
  • Workbench productivity improvements, including a command palette and rainbow parentheses
  • A more configurable workspace with additional source columns and improved accessibility
  • Support for SAML and OpenID authentication, and experimental support for VS Code sessions, in RStudio Server Pro
  • Dozens of small improvements and bugfixes


  • The default version of Python used by reticulate can now be customized via the Global Options pane.
  • Python indentation rules are now applied to Python code within R Markdown documents. (#5945)
  • Pressing F1 when the Python completion list is shown now opens the relevant Help documentation. (#5982)
  • Python objects are now shown in the Environment Pane when reticulate REPL is active. (#6862)
  • Python objects can now be viewed using the Data Viewer and Object Explorer. (#6862)
  • The function now displays PNG plots within the Plots pane. (#4965)
  • Plots generated via matplotlib are now shown with a higher DPI in the Plots pane when appropriate.
  • The autocompletion system can now auto-complete virtual environment names in reticulate::virtualenv().


  • The default renderer used for the RStudio graphics device can now be customized. (#2142)
  • The AGG renderer (as provided by the ragg package) is now a supported backend. (#6539)
  • Version 14 of the R Graphics Engine, which will be introduced in R 4.1, is now supported. (#8383)


  • Any tab can be hidden from view through Global Options. (#6428)
  • Accessibility preference to reduce focus rectangle display (#7242)
  • Multiple source panes can be opened in the main window via Global Options. (#2854)
  • Keyboard shortcut F6 added to navigate focus to the next pane. (#7408)
  • Accessibility preference to show a highlight around focused panel (#7881)

Configurable Paths

  • The user data folder ~/.rstudio has been moved to ~/.local/share/rstudio, and its location can now be customized with XDG_DATA_HOME. (#1846)
  • XDG_CONFIG_DIRS can be used to specify alternate directories for server configuration files. (Pro #1607)
  • It is now possible to specify the exact folder for user data and configuration files using new environment variables RSTUDIO_DATA_HOME, RSTUDIO_CONFIG_DIR, etc. (#7792)


  • The Files pane now sorts file names naturally, so that e.g. step10.R comes after step9.R. (#5766)
  • Added command to File pane’s “More” menu to copy path to clipboard (#6344)
  • Table summaries are shown for tibble objects in R Notebooks. (#5970)
  • RStudio now infers document type from shebang (e.g. #!/usr/bin/env sh) for R, Python and shell scripts (#5643)
  • New option to configure soft wrapping for R Markdown files, and command to change the soft wrap mode of the editor on the fly (#2341)
  • New Command Palette for searching and running build-in commands and add-ins (#5168)
  • Colorize parentheses, braces, and brackets in assorted colors (#7027)
  • Option to display Console error and message output in same color as regular output (#7029)
  • Moved console options to a new pane in Global Options (#7047)
  • The Data Viewer now uses the format() methods defined for columns entries when available (#7239)
  • Add support for navigating source history with mouse forward/back buttons (#7272)
  • Add ability to go directly to various Global Option panes via Command Palette (#7678)
  • R6Class method definitions are now indexed and accessible by the fuzzy finder (Ctrl + .)
  • The ‘Preview’ command for R documentation files now passes along RdMacros declared from the package DESCRIPTION file (#6871)
  • Some panes didn’t have commands for making them visible, now they do (#5775)
  • Show correct symbol for Return key in Mac menus (#6524)
  • Added command and button for clearing Build pane output (#6636)
  • Added option to disable clickable hyperlinks in the editor (#6689, thanks to Paul Kaefer)
  • Added basic editor support for Dockerfiles (#5141)
  • Markdown-style sub-sections are now rendered as nested sections in the document outline for R documents (#4124)
  • Update to Pandoc 2.11 (#7696)
  • Ctrl + D can now be used to send EOF when reading user input via readLines() (#3448)
  • External files with spaces in their path or filename are now openable on Big Sur from Files pane (#8506)
  • PDF files opened from Files pane on macOS will open in registered application, not always (#8506)
  • RStudio Server is no longer supported on RedHat Enterprise Linux 6 or CentOS 6, as these platforms have reached the vendors’ End of Life (EOL) dates (Pro #2203)

RStudio Server

  • The font used in the editor and console can now be customized on RStudio Server. (#2534)
  • The new option www-same-site provides support for the SameSite attribute on cookies issued by RStudio. (#6608)
  • New X-RStudio-Request header for specifying originating URL behind path-rewriting proxies (Pro #1579)
  • New X-RStudio-Root-Path header or the new www-root-path for specifying the exact path prefixes added by a path-rewriting proxy (Pro #1410).
  • The option www-url-path-prefix was deprecated and removed. Use www-root-path instead.
  • Improved error logging of mistyped usernames when using PAM authentication (#7501)

RStudio Server Pro

Note: RStudio Server Pro now requires a Postgres database when using its internal load balancer; this database must be set up prior to upgrade from earlier releases. If you have a multi-node RStudio Server Pro installation, consult the Administration Guide for instructions before upgrading.

Note: RStudio Server Pro uses a new location for user state; .rstudio is now .local/share/rstudio. This is a breaking change if you have symlinked .rstudio and can make downgrade more complicated. See the Administration Guide for more information, including instructions for using the old location if desired for compatibility with previous releases.

  • SAML is now supported as an authentication mechanism (Pro #1194)
  • OpenID Connect is now support as an authentication mechanism (Pro #1747)
  • Visual Studio Code is now an available editor when using Launcher sessions (Pro #1423)
  • New auth-proxy-sign-out-url option specified an endpoint to take the user to when “Sign Out” is clicked in the IDE user interface (Pro #1745)
  • New user profile option session-limit allow limiting the maximum number of sessions a user can have (Pro #540)
  • Project sharing is automatically disabled and a warning is issued when server-multiple-sessions=0. (Pro #1263)
  • New load-balancer option timeout limits how long to wait for a response from a node, defaults to 10 seconds. (Pro #1642)
  • New load-balancer option verify-ssl-certs for testing nodes with self-signed certificates when using SSL. (Pro #1504)
  • New launcher-verify-ssl-certs and launcher-sessions-callback-verify-ssl-certs options for testing with self-signed certificates when using SSL. (Pro #1504)
  • R sessions can now be renamed from within the session or the home page. (Pro #1572)
  • Project Sharing now works on Launcher sessions.
  • Remote session connections over HTTPS can now load certificates from the Apple Keychain. (Pro #1828)
  • Improved session load balancing when using the Local Job Launcher plugin to evenly spread session load between Local plugin nodes. (Pro #1814)
  • Update embedded nginx to v1.19.2 (Pro #1719)
  • Changed the command to retrieve Slurm resource utilization to be run as the current user rather than the slurm-service-user (Pro #1527)
  • Reduced supurflous log messages in the Slurm Launcher Plugin log file about non-RStudio jobs in Slurm (Pro #1528)
  • Allow administrators to disable the ability to set resource requests on jobs launched through the Slurm Launcher Plugin (Pro #1948)
  • Add support for setting GPU and GRES requests on jobs launched through the Slurm Launcher Plugin (Pro #1390)
  • Allow administrators to enable Slurm job requeueing for jobs launched through the Slurm Launcher Plugin (Pro #2025)
  • Update the version of Slurm supported by the Slurm Launcher Plugin to 20.02 (Pro #2192)
  • Project Sharing can now use raw UIDs as security principals, for compatibility with nodes that cannot resolve domains (Pro #2104)
  • RETIRED: The option auth-proxy-require-hmac is has been retired and it is no longer operational. RStudio will not start if enabled. See the documentation on [Proxy Security Considerations] for alternatives to secure RStudio. (Pro #2029)
  • Fix GetPass not working in remote sessions from Rstudio Desktop Pro (Pro #2218)
  • Fix issue with creating RSA key from remote sessions in RStudio Desktop Pro (Pro #2219)
  • Ensure error messages occurring during installation are displayed in the terminal (Pro #2214)


  • Fixed issue where debugger contexts were not displayed correctly for byte-compiled functions. (#6922)
  • UTF-8 character vectors are now properly displayed within the Environment pane. (#6877)
  • Fixed issue where diagnostics system surface “Unknown or uninitialized column” warnings in some cases. (#7372)
  • Fixed issue where hovering mouse cursor over C++ completion popup would steal focus. (#5941)
  • Fixed issue where autocompletion could fail for functions masked by objects in global environments. (#6942)
  • Fixed issue where autocompletion could fail to provide argument names for piped-to S3 generics. (#7060)
  • Fixed issue where UTF-8 output from Python chunks was mis-encoded on Windows. (#6254)
  • Git integration now works properly for project names containing the ‘!’ character. (#6160)
  • Fixed issue where loading the Rfast package could lead to session hangs. (#6645)
  • Fixed header resizing in Data Viewer (#1665)
  • Fixed resizing last column in Data Viewer (#2642)
  • Fixed inconsistencies in the resizing between a column and its header (#4361)
  • Fixed submission of inconsistently indented Python blocks to reticulate (#5094)
  • Fixed error when redirecting inside Plumber applications in RStudio Server Pro (Pro #1570)
  • Fixed failure to open files after an attempt to open a very large file (#6637)
  • Fixed Data Viewer getting out of sync with the underlying data when changing live viewer object (#1819)
  • Fixed issue where attempts to plot could fail if R tempdir was deleted (#2214)
  • Fixed issue that caused sessions to freeze due to slow I/O for monitor logs (Pro #1259)
  • Added CSRF protection to sign-in pages (Pro #1469)
  • Fixed issue that allowed multiple concurrent sign-in requests (#6502)
  • Fixed issue where the admin logs page could sometimes crash due to a malformed log statement (Pro #1768)
  • Fixed issue where the URL popped out by the Viewer pane was incorrect after navigation (#6967)
  • Fixed issue where clicking the filter UI box would sort a data viewer column (#7299)
  • Fixed issue where Windows shortcuts were not resolved correctly in file dialogs. (#7327)
  • Fixed issue where failure to rotate a log file could cause a process crash (Pro #1779)
  • Fixed issue where saving workspace could emit ‘package may not be available when loading’ warning (#7001)
  • Fixed issue where indented Python chunks could not be run (#3731)
  • Fixed disappearing commands and recent files/projects when RStudio Desktop opens new windows (#3968)
  • Fixed issue where active repositories were not propagated to newly-created renv projects (#7136)
  • Fixed issue where .DollarNames methods defined in global environment were not resolved (#7487)
  • Reduced difference in font size and spacing between Terminal and Console (#6382)
  • Fixed issue where path autocompletion in R Markdown documents did not respect Knit Directory preference (#5412)
  • Fixed issue where Job Launcher streams could remain open longer than expected when viewing the job details page (Pro #1855)
  • Fixed issue where rstudioapi::askForPassword() did not mask user input in some cases
  • Fixed issue where Job Launcher admin users would have gid=0 in Slurm Launcher Sessions (Pro #1935)
  • Fixed issue where Slurm Job Launcher jobs would not post updated resource utilization without browser refresh (Pro #2177)
  • Fixed issue causing script errors when reloading Shiny applications from the editor toolbar (#7762)
  • Fixed issue where saving a file or project located in a backed up directory (such as with Dropbox or Google Drive) would frequently fail and display an error prompt (#7131)
  • Fixed issue causing C++ diagnostics to fail when Xcode developer tools were active (#7824)
  • Added option for clickable links in Terminal pane (#6621)
  • Fixed issue where R scripts containing non-ASCII characters in their path could not be sourced as a local job on Windows (#6701)
  • Fixed issue where non-ASCII characters in Subversion commit comments were incorrect encoded on Windows (#7959)
  • Prevent Discard button from being hidden in Subversion diff viewer (#6031)
  • Fixed issue where French (AZERTY) keyboards inserted ‘/’ rather than ‘:’ in some cases (#7932)
  • readline() and readLines() can now be interrupted, even when reading from stdin() (#3448)
  • Fixed issue causing Knit button to show old formats after editing the YAML header (#7833)
  • Fixed issue wherein the Python prompt would continue to be shown after an R restart (#8011)
  • Fixed issue where searches in the console history could inappropriately preserve search position (#7682)
  • Fixed issue where auth-pam-session-use-password would not work when multiple Server nodes are used behind an external load balancer (Pro #2158)
  • Fixed issue where project sharing configured it server-project-sharing-root-dir would fail to share when the path contain mixed ACL support (Pro #2061)
  • Fixed issue where project sharing would fail to share when the path contain mixed NFS ACL support (Pro #2103)
  • Fixed issue where in sharing a project on some NFSv4 filesystems could result in damage to owner permissions (Pro #2188)
  • Fixed issue where file permissions were not corrected after uploading a file to a shared project (Pro #2208)
  • Fixed issue where the project sharing would not work behind a HTTPS proxy (Pro #2088)

This is a patch release of RStudio 1.3, consisting primarily of bugfixes and small improvements.


  • Fix an issue where a PAM session would be attempted for Launcher sessions when no password is available, potentially locking users out of their accounts (Pro #1831)
  • Fix an issue causing logs to fail to load in the admin panel when using the local time zone (Pro #1766)
  • Fix an issue where syslog and monitor log entries could contain newlines in them, preventing the admin logs page from properly displaying log entries (Pro #1782)
  • Fix an issue where failing to open the Slurm job output file could result in hanging tail -f child processes (Pro #1856)
  • Fix an issue where a delay in the creation of the Slurm job output file could result in a hanging “Determining session network” page when opening a session (Pro #1792)
  • Fix an issue where auth-none would not load sessions (#7575)
  • Fix session crashing on Windows desktop (#7637, #7652, #7665)
  • Fix an issue where launching many sessions simultaneously could cause a segfault (#7670)
  • Fix an issue where invalid logging statements were not properly skipped in the Admin log page, causing a crash of the rserver-admin process (#1766)
  • Fix an issue where sharing a project would cause extra rserver processes to be spawned into a hanging state, requiring external cleanup (Pro #1736)
  • Fix an issue where invalid logging statements were not properly skipped in the Admin log page, causing a crash of the rserver-admin process (Pro #1766)
  • Fix an issue where sessions running on Slurm compute nodes with names longer than 20 characters could not be entered (Pro #1906)
  • Fix an issue where users could not launch sessions via Kubernetes or Slurm if they belonged to a group that was innumerable (Pro #1895)
  • Fix an issue where users could not be added to shared projects when auth-required-user-group was set in some configurations (Pro #1944)
  • Fix an issue where global replace gave unexpected results outside of a project (#7736)
  • Fix an issue with session detection that could cause a failure to sign in when the authentication does not complete immediately (Pro #1104)

This is a patch release of RStudio 1.3, consisting primarily of bugfixes and small improvements to RStudio 1.3.


  • Compatible with R graphics engine version 13 (R 4.1.0+) (#7253)
  • Add support for configurable rsandbox path in Server Pro (Pro #1777)
  • Add support for running Slurm plugin in unprivileged Docker containers (Pro #1744)


  • Fix issue where files could not be uploaded when using RStudio Server load balancing (Pro #1751)
  • Fix issue where the Crash Handler notification prompt would never go away (#7243)
  • Fix issue with slow shutdown on Windows (#7117)
  • Fix issue where Launcher debug logs could contain user’s plain text password (Pro #1687)
  • Fix issue where some log entries could not be displayed on the admin logs page (Pro #1783)
  • Fix “TypeError” when sign-in using IE11 (#7359)
  • Fix issue where users belonging to more than 101 groups could not launch Kubernetes sessions (Pro #1796)
  • Fix problem with moving Console between left and right columns (#7246)
  • Fix issue with rstudioapi::setCursorPosition() not scrolling cursor into view (#7317)
  • Fix issue with rmarkdown and packrat packages being eagerly loaded on IDE launch (#7265)
  • Fix issue with folded chunk outputs getting stuck at top of IDE (#7293)
  • Fix issue where Slurm Launcher jobs could not be started on systems with root squash configured for the user home directory (Pro #1775)
  • Fix issue where locking an account would cause an infinite redirect loop on the sign-in page (Pro #1785, Pro #1764)
  • Fix issue where Jupyter sessions could not be started when the home directory was a root squash mount (Pro #1795)
  • Fix issue where large R objects in the environment pane could not be expanded (Pro #1799)
  • Fix issue where Session Server settings for a saved server could not be modified (Pro #1824)

This is a patch release of RStudio 1.3, consisting primarily of bugfixes and small improvements from the initial 1.3 stable release.


  • R 4.0.0’s raw string literals are now handled properly by the diagnostics engine. (#6788)
  • Allow projects to reopen after a crash (#3220)
  • Added spellcheck blacklist item for preview Latvian dictionary (#6594)
  • Allow multiple space-separated domains in www-frame-origin for Tutorial API (Pro)
  • Update rstudioapi highlightUi call to accept a callback variable containing an R script to be executed after the highlight element has been selected (#67565)
  • Adds class attributed to RMarkdown chunks, their control buttons, and their output based on their given labels. (#6787)
  • Add option www-url-path-prefix to force a path on auth cookies (Pro #1608)
  • Add additional keyboard shortcut (Ctrl+`) for Focus Console Output accessibility command (#6850)
  • Always set application role for screen readers and removed related accessibility preference checkbox (#6863)
  • Update NOTICE for Ace editor license (#7102)
  • Removed requirement of password forwarding for PAM sessions when using Launcher sessions (Pro #1638)


  • Announce text of warnings bar via screen reader (#6963)
  • Fix issue where projects using renv sometimes failed to load (#7077)
  • Fix issue where attempts to create clusters via parallel package failed on macOS (#6692)
  • Fix display issue with keyboard shortcut in Modify Keyboard Shortcuts dialog (#7142)
  • Fix ‘truncating string with embedded nuls’ warning being emitted when saving R Notebook (#6932)
  • Fix Compare Results and other incompatibility with newer versions of the shinytest package (#6960)
  • Fix Terminal to work with both Git-Bash and RTools4 MSYS2 installed on Windows (#6696, #6809)
  • Fix auto-activation of JAWS screen reader virtual cursor in Console Output region (#6884)
  • Fix dependency installation for untitled buffers (#6762)
  • Fix failure to open source files when debugging some functions in R 4.0.0 (work around R bug in deparse()) (#6854)
  • Fix failure to use the first project template and default open files (#6865)
  • Fix issue where R_LIBS_SITE could be forcibly set empty, overriding the value in /etc/R/REnviron (#6982)
  • Fix keybinding failure when global keybindings exists but user keybindings don’t (#6870)
  • Fixed Chromium issue when using RStudio Desktop on Linux systems with newer glibc (#6379)
  • Fixed install issue where service scripts would not be created if there was no /lib/systemd path (Pro #6710)
  • Fixed issue where an attempt to create more sessions than the license limit would fail with a generic error (Pro #1680)
  • Fixed issue where users could not save files in home directory if specified by UNC path (#6598)
  • Fixed issue where file upload would fail when the file already existed (#7015)
  • Fix sign out from the Admin Dashboard when behind a path-rewriting proxy (Pro #1709)
  • Fix “Login as user” from the Admin Dashboard when using Launcher sessions (Pro #1710)
  • Fix issue with first esc keypress being ignored (#7045)
  • Fix issue with spellcheck not working with realtime turned off (#7068)
  • Fix error when some HTML comments are included in R Markdown documents (#6997)
  • Fix issue where toolbar buttons were missing on initialization (#7076)
  • Fix error in Viewer pane when previewing Distill blogs (#6945)
  • Fix misalignment of some number cells in the data viewer (#6975)
  • Fix C++ autocompletion results missing on macOS in some contexts (#7097)
  • Fix misleading errors report for verify-installation without Launcher (Pro #1718)
  • Fix Global Options failure to launch when missing secondary repositories (#7116)
  • Send keyboard focus to the Source pane when creating new files (#7103)
  • Fix failure to open HTML widgets from the Viewer in an external web browser on Windows with R >= 4.0.0 (#6893)
  • Fix “cannot access the file” error with rstan when Viewer is open (#7046)
  • Fix launching jobs from working directories with spaces on their names (Pro #1708)
  • Update editor toolbar when R Markdown documents are switched to/from Notebook mode in YAML header (#7051)
  • Fix error when invoking spell check manually on some languages (#7018)
  • Fix RStudio Desktop Pro Job Launcher connections and path mappings (Pro #1726 and Pro #1727)
  • Fix painting of Appearance pane in Global Options on RStudio Desktop (#6268)
  • Fix Alt+- shortcut to insert assignment operator in R Markdown documents (#7169)
  • Fix issue with duplicated signature tooltips in R Markdown documents (#7154)
  • Fix issue with chunk toolbars not showing up in some cases (#7067)
  • Fix RStudio Server Pro issue where R version modules would sometimes not be able to modify the PATH environment variable (Pro #1737)
  • Fix dealing with expired sessions due to inactivity or signed out when using multiple browser tabs (Pro #1731, #7205)
  • Fix dropdowns not repopulating after being closed via keyboard shortcut (#7215)
  • Fix errors occurring during verify-installation command (#7221)

RStudio Server Pro

  • New option server-project-sharing-root-dir allows project sharing outside user home directories (Pro #1340)
  • Update embedded nginx to 1.17.10

This is a major new release of RStudio which includes the following enhancements:

  • Dramatically improved accessibility support, including support for screen readers, keyboard navigation improvements, focus indicators and contrast improvements, and more.
  • Real-time spellchecking with customizable dictionaries and inline correction suggestions.
  • Dozens of other productivity improvements, including auto-save, global search and replace, and Shiny background jobs.
  • All preferences and settings are now saved centrally in plain text files, and can be set by admins and backed up by users.
  • Compatibility with iPad OS 13 for RStudio Server.
  • RStudio Desktop Pro can now function as a client for RStudio Server Pro; access your server’s compute power and environments with the convenience of a windowed desktop application.


  • Dramatically improved accessibility for sight-impaired users, including:
    • Keyboard focus management and visibility upgrades
    • Improved keyboard navigation
    • Compatibility with popular screen readers
    • Compliant contrast ratios and other accessibility improvements
    • User preference for disabling user-interface animations such as when zooming panes

Spell Check

  • Real-time spell-checking engine for checking while editing
  • Customizable dictionaries and word ignore lists preloaded with common R terms
  • Inline correction suggestions

Preferences and Configuration

  • All user preferences and settings can now be set using a plain JSON file
  • All user preferences can now have global defaults set by a system administrator
  • New diagnostics commands for editing the prefs file, resetting state, and viewing pref system data
  • Editor themes, snippets, file templates, and keybindings are now portable and can be installed by admins
  • The content of new file templates (New R Script, New R Markdown, etc.) can now be controlled by users or administrators


  • New projects can be initialized with renv, giving them an isolated project environment

Server Security

  • New auth-timeout-minutes option signs users out after a defined period of inactivity (Pro #667)
  • CSRF hardening improvements including optional validation of the HTTP Origin header (Pro #1214)
  • Add option auth-cookies-force-secure to always mark auth cookies as secure when SSL is terminated upstream (Pro #995)
  • Set HTTP header X-Content-Type-Options to discourage MIME type sniffing (Pro #1219)
  • Authentication cookies are now revoked after signout (Pro #606)
  • File-serving resource endpoints can now be made more restrictive; added new restrict-directory-view and directory-view-whitelist options (Pro #607)
  • RStudio Server now uses 2048 bit RSA keys, for secure communication of encrypted credentials between server / session and client

iPad OS 13

  • Improved keyboard and touch support for iPadOS 13.1
  • Support Ctrl+[ as Esc key on iPadOS 13.1 keyboards lacking physical Esc key (#4663)
  • Add ability to resize panes using keyboard arrow keys via View / Panes / Adjust Splitter

Terminal Improvements

  • User preference to configure initial working directory of new terminals (#1557)
  • Command to open a new terminal at location of current editor file
  • Command to insert the full path and filename of current editor file into terminal
  • Command in File pane to open a new terminal at File pane’s current location
  • Command in to change terminal to current RStudio working directory (#2363)
  • PowerShell Core option in terminal (Windows-only)
  • Custom terminal shell option for Windows desktop (previously only on Mac, Linux, and server)
  • Change shortcuts for Next/Previous terminal to avoid clash with common Windows shortcuts (#4892)
  • Suppress macOS Catalina message about switching to zsh in Terminal pane (#6182)
  • Add ‘Close All Terminals’ command to Terminal menu (#3564)
  • Zsh option in terminal for Mac and Linux desktop, and RStudio Server (#5587)

Diagnostics and Recovery

  • Add automated crash handling and reporting
  • Show detailed logs and process output when R fails to start (#2097)
  • Add “Safe Mode” for opening sessions without profile scripts or workspace restoration (#4338)


  • Support for tutorials with the learnr package in a new Tutorials pane

Background Jobs

  • Add support for running Shiny applications as background jobs (#5190)
  • Install missing package dependencies in a background job (#5584)

Auto Save

  • Changes automatically (and optionally) saved to disk after a few seconds or when editor loses focus (#5263)
  • Option to disable real-time backup of unsaved changes to avoid conflicts with Google Drive, Dropbox, etc. (#3837)
  • Option to adjust idle interval for backup or saving changes


  • Add global replace with live preview and regular expression support (#2066)
  • Enable large file uploads (over 4GB) in RStudio Server (#3299)
  • Improved ‘Comment / Uncomment’ handling of empty lines around selection (#4163)
  • Files with extension ‘.q’ are no longer indexed or parsed as R files (#4696)
  • Add support for an API command to return the list of R packages RStudio depends on (#2332)
  • Upgrade internal JSON parsing engine for speed improvements (#1830)
  • Improved ergonomics for history prefix navigation (#2771)
  • Make columns resizable in the Environment pane (#4020)
  • Add Word Count command (#4237)
  • Keyboard shortcuts for main menu items on RStudio Server (e.g. Ctrl+Alt+F for File menu)
  • Show number of characters when entering version control commit messages (#5192)
  • Update embedded Qt to 5.12.5 for Chromium update, stability and bugfixes (#5399)
  • Add preference for changing font size on help pane (#3282)
  • Warn when Xcode license has not been agreed to on macOS when command line tools required (#5481)
  • Improved browser tab names (project name first, complete product name) (Pro #1172)
  • The diagnostics system now understands referenced symbols in glue strings (#5270)
  • Add preference for compiling .tex files with tinytex (#2788)
  • Long menus and popups now scroll instead of overflowing (#1760, #1794, #2330)
  • Sort package-installed R Markdown templates alphabetically (#4929)
  • The ‘Reopen with Encoding’ command now saves unsaved changes before re-opening the document. (#5630)
  • Autocomplete support for Plumber #* comment keywords (#2220)
  • Automatically continue Plumber #* on successive lines (#2219)
  • Comment / uncomment is now enabled for YAML documents (#3317)
  • Reflow comment has been rebound to ‘Ctrl + Shift + /’ on macOS. (#2443)
  • Allow fuzzy matches in help topic search (#3316)
  • The diagnostics system better handles missing expressions (#5660)
  • Keyboard shortcuts for debugging commands can be customized (#3539)
  • Update Pandoc to 2.7.3 (#4512)
  • Update SumatraPDF to version 3.1.2 (#3155)
  • Allow previewing PDFs in fullscreen mode in Sumatra PDF (#4301)
  • RStudio Server runtime files are stored in /var/run, or another configurable location, instead of /tmp (#4666)
  • Errors encountered when attempting to find Rtools installations are handled more gracefully (#5720)
  • Enable copying images to the clipboard from the Plots pane (#3142)
  • Update minimum supported browser versions (#5593)
  • Automatic refresh of the Git pane can now be enabled / disabled as required. (#4368)
  • Target directory can be changed from within the ‘Upload Files’ dialog (RStudio Server)
  • Zoom Left/Right Column commands for keyboard users (#5874)
  • Increase maximum plot size for large, high-DPI displays (#4968; thanks to Jan Gleixner)
  • Make maximum lines in R console configurable; was previously fixed at 1000 (#5919)
  • Option to only show project name instead of full path in desktop window title (#1817)
  • New rstudio --version command to return the version of RStudio Desktop (#3922)
  • Scan R Markdown YAML header for R packages required to render document (#4779)
  • Support use of F13 - F24 for custom keyboard shortcuts (full Mac keyboard has F13-F19, for example)
  • Keyboard shortcuts for searching R help in Help pane, and next/previous help page (#5149)
  • Keep keyboard focus in the console during debugging (#6039)
  • Enable wrap-around for previous/next source tab by default (#6139)
  • Provide full SHA in detail of Git commits (#6155)
  • File monitor now ignores Packrat, renv library folders (#3267)
  • Make global source control commands rebindable (#6503)


  • Fix issue where calling install.packages() without arguments would fail (#5154)
  • Fix issue where C code in packages would incorrectly be diagnosed as C++ (#5418)
  • Fix plot history when plot() called immediately after (#3117)
  • Fix debug stopping past breakpoint when source windows are open (#3683)
  • Fix diagnostics error with multibyte characters in R Markdown documents on Windows (#1866)
  • Fix stale processes when invoking child R processes with large command lines (#3414)
  • Fix an issue where help tooltips could become corrupt when using prettycode (#5561)
  • Fix an issue where signature tooltips were shown even when disabled by user preference (#5405)
  • Fix an issue where Git did not work within projects whose paths contained multibyte characters (#2194)
  • Fix an issue where RStudio would fail to preview self-contained bookdown books (#5371)
  • Fix modal dialog boundaries extending out of the app window in certain cases (#1605)
  • Fix issue where session restore could fail when using multiple user libraries
  • Fix issue where library paths were not forwarded when building package documentation
  • Restore ability to select and copy text in version control diffs (#4734)
  • Fix incorrect column names when non-dataframes with a column named x were viewed (#3304)
  • Fix inconsistent shading in R Markdown chunk backgrounds with folding (#2992)
  • Fix list column display in columns past 50 with data viewer (#5851)
  • Fix incorrect column type display when paging columns (#5479)
  • Fix incorrect sorting in data viewer when paging columns (#4682)
  • Fix carryover of light ANSI background colors (#6092)
  • Fix issue where Shiny applications using reticulate on Windows could crash on run (#6140)
  • Fix issue where pasting text into last chunk in document could occasionally cause hang (#6226)
  • Fix blank Viewer Pane when displaying most HTML widgets with R 4.0.0 (#6737)

RStudio Professional

  • Logging improvements; log destinations and levels are more configurable and can be changed in real time
  • RStudio Desktop Pro can now function as a client for RStudio Server Pro
  • New tools for viewing and managing server users when using named user licensing
  • Floating licensing can now pass through an HTTPS proxy
  • The Launcher service now starts and runs automatically when the system starts
  • New Kubernetes Launcher plugin feature to modify the generated job/pod specs (#1353)
  • When containers are created when running RStudio Launcher sessions, user home directories are propagated to the container instead of requiring the home directories to be mounted at /home. This is a potentially breaking change, and will requiring updating the /etc/rstudio/laucher-mounts file to mount the home directory to the correct location (#1369)
  • New Kubernetes Launcher plugin feature to allow the specification of a requests limit to allow for oversubscription of Kubernetes resources (#1360)
  • Slurm Launcher plugin will now generate jobs with much shorter names (#1595)


Thanks to Dr Jonathan Godfrey (Massey University, New Zealand), and to JooYoung Seo ( for their valuable insights on improving screen reader support in RStudio 1.3.

This is a maintenance release of RStudio containing small bugfixes and functionality enhancements.


  • Fix a crash when debugging with R 4.0+ (#5888)

Server Pro

  • Fix a crash in rserver that sometimes occurs when a port proxy request fails to connect (#1361)
  • Fix a display issue for configured Launcher session limits (#1167)
  • Fix inability to select R version in Global Options and elsewhere (#1470)
  • Fix failure to start R sessions when multiple values are present in www-frame-origin (#1529)


  • Add compatibility with recent versions of the shinytest package (#5677, #5703)
  • Eliminate warnings when using _R_CHECK_LENGTH_1_CONDITION_ (#5268, #5363)
  • Ensure compatibility with Boost 1.72.0 (#5742)
  • Set Server Name Indication (SNI) on outbound HTTPS requests for compatibility with TLS 1.3 (#5757)
  • Session configuration option to customize environment variables saved when session suspends (#5769)

Server Pro

  • Add ability to configure Slurm command line tools location for the Slurm Launcher Plugin (#1298)
  • Fix an issue where the Slurm service user must have a home directory for the Slurm Launcher Plugin (#1286)
  • Fix an issue where errors are ignored when validating the version of Slurm for the Slurm Launcher Plugin (#1287)
  • Add documentation for load balancing limitations, module support, and support for multiple versions of R with the Slurm Launcher Plugin (#1296)


  • Fully reset Connections pane objects when refreshing (#2136)
  • Fix incorrect memory.limit() result with R >= 3.6.0 (#4986)
  • Unset DYLD_INSERT_LIBRARIES after launch on macOS to prevent spurious library load errors (#5313)
  • Include R/RStudio version in HTTP user agent header when installing required packages (#5369)
  • Eliminate warnings when using _R_CHECK_LENGTH_1_LOGIC2_ (#5268, #5363)
  • Truncate console output in notebooks to avoid hang with long outputs (#5518)
  • Fix plain serif/sans-serif font rendering on macOS Catalina (#5525)
  • Restore First Project Template feature (Pro #1267)

Server Pro

  • Include Job Launcher logs in diagnostics report (#1262)
  • Add ability to specify multiple R versions with same path but differing labels (#1034)
  • Include child processes and timing information in session diagnostic traces (#1192)
  • Adds better Session UI/UX including sorting, label viewing, and creation visibility (#1215)
  • Respect user profile resource limits for local launcher R sessions (#1269)

RStudio Server Pro

* New Slurm plugin for the Job Launcher enables running R sessions and jobs on Slurm clusters * Support for starting and managing Jupyter sessions alongside R sessions * Overhaul of user dashboard for managing R sessions, Jupyter sessions, and jobs

Bug Fixes

  • Restore capability to use 32-bit R on Windows (#3150)
  • Fix pane configuration being reset after customization (#2101)
  • Fix issue where middle click failed to close editor tabs (#4379)
  • Fix incorrect application of C++ project compilation options to non-project files (#4404)
  • Fix issues on MacOS with command line tool headers when ‘/usr/include’ is missing (#4405)
  • Fix failure to start on R 3.6.0 when the error option is set in .Rprofile (#4441)
  • Fix issue where attempts to run R debugger in .Rprofile could hang RStudio (#4443)
  • Fix parsing multi-line expressions with single brackets inside strings (#4452)
  • Improve detection of remote sessions on Windows (#4466)
  • Fix issue where text in prompts would fail to display on macOS Mojave (#4497)
  • Fix “Reload App” button for Shiny applications in Firefox on RStudio Server (#4552)
  • Fix issue where themes without names would not use the file name as a name instead (#4553)
  • Fix NULL in code preview on first attempt to import data (#4563)
  • Prompt for permissions on macOS Mojave when R packages require them (#4579)
  • Add explicit dependency on required libxkbcommon package on Linux (#4610)
  • Fixed inability to execute editor commands from menu in RStudio Server (#4622)
  • Remove unnecessary dependency on rprojroot package (#4628)
  • Fix failure to launch RStudio Desktop when started as root user (#4631)
  • Fixed an issue where the Files pane occasionally would fail to scroll to bottom (#4662)
  • Fixed an issue where RStudio would always use the discrete GPU on macOS (#4672)
  • Fix startup failure when using multiple CRAN repos (#4751)
  • Fix console display issue with certain mixed color output patterns (#4777)


  • Improve detection of current working directory for terminals on macOS (#4570)
  • Update to Pandoc 2.7.2 on Windows to address occasional segfaults (#4618)
  • Qt support libraries for Wayland are now bundled on Linux (#4686)
  • Set secure flag when clearing cookies for consistency (Pro #964)

Python and Notebooks

  • Use a shared Python session to execute Python chunks via reticulate
  • Simple bindings to access R objects from Python chunks and vice versa
  • Show matplotlib plots emitted by Python chunks


  • Store passwords and secrets securely with keyring by calling rstudioapi::askForSecret()
  • Install keyring directly from dialog prompt


  • Author D3 visualizations in RStudio and preview in the Viewer pane
  • Use r2d3 D3 visualizations in R Notebook chunks


  • Run any R script as a background job in a clean R session
  • Monitor progress and see script output in real time
  • Optionally give jobs your global environment when started, and export values back when complete


  • Author SQL queries in RStudio and preview in the SQL Results pane


  • Run Tests command in testthat R scripts for direct running
  • testthat output in the Build pane with navigable issue list
  • Integration with shinytest to record and run Shiny app tests


  • Create PowerPoint presentations with R Markdown

Package Management

  • Specify a primary CRAN URL and secondary CRAN repos from the package preferences pane.
  • Link to a package’s primary CRAN page from the packages pane.
  • Configure CRAN repos with a repos.conf configuration file and the r-cran-repos-file option.
  • Suggest additional secondary CRAN repos with the r-cran-repos-url option.


  • Create Plumber APIs in RStudio
  • Execute Plumber APIs within RStudio to view Swagger documentation and make test calls to the APIs
  • Publish Plumber APIs to RStudio Connect


  • Git ‘Create Branch’ dialog defaults to remote associated w/current branch (if any)
  • Added link to purrr cheatsheet (in Help) and link to browse all cheatsheets
  • Added option to temporarily disable environment pane refreshing
  • Improve NSE detection for dplyr (better understands S3 dispatch and idioms)
  • Add ability to search for displayed database objects in Connections tab (#1549)
  • Add button to open profiler output in an external browser (#1657)
  • Add option to show the R Markdown render command used when knitting (#1658)
  • Add option to show hidden files in the Files pane (#1769)
  • Upgrade embedded Pandoc to 2.2.1 (#1807)
  • Allow renames that change only file case on Windows (#1886)
  • Remember scroll position when navigating in Help pane (#1947)
  • Show warning when attempting to edit a generated file (#2082)
  • Allow opening .ini files with file.edit (#2116)
  • Add shinymod snippet for Shiny modules (#2078)
  • Allow changing zoom level without reloading (#2125)
  • New command ‘Pull with Rebase’ to pull and rebase a branch in a single step (#2151)
  • Click on promises in the Environment pane now calls force on the promise
  • Add Rename command to File menu for quick rename of current file (#2199)
  • Numeric filtering in data viewer shows value distribution and supports user-entered values (#2230)
  • Improved support for custom knitr engines in R Notebooks (#2401)
  • Add support for viewing external web URLs in the Viewer pane (#2252)
  • Add option to disable drag-and-drop for text in the editor (#2428)
  • Add option to disable cursor save/load; improves performance on some Windows machines (#2778)
  • R startup files (e.g. .Rprofile) are now always saved with trailing newlines (#3029)
  • Update embedded libclang to 5.0.2 (Windows only)
  • RStudio now a 64-bit application on Windows (Linux and Mac are already 64-bit)

Bug Fixes

  • Fix “Invalid byte sequence” when spell checking
  • Fix incorrect Git status pane display when git detects that a file has been copied
  • Fix hang when submitting empty passwords and password encryption is turned off (#1545)
  • Fix HTTP 500 error when navigating to directories such as /js/ (#1561)
  • Fix issue where Build pane would get ‘stuck’ on failed Rcpp::compileAttributes() call (#1601)
  • Fix low/no-contrast colors with HTML widgets in notebooks with a dark theme (#1615)
  • Fix invalid YAML in some cases when changing R Markdown output type via dialog (#1609)
  • Fix error when quitting while a function named q() is present (#1647)
  • Fix crash when executing multiple R Notebook chunks with a failing Rcpp chunk (#1668)
  • Fix missing blank lines in code chunks in R Notebook preview (#1556)
  • Fix selection in Files pane when files are modified while checked (#1715)
  • Fix incorrect truncation of some R object descriptions in Environment pane (#1703)
  • Fix duplicate prompts in each window when using RStudio API showPrompt (#1706)
  • Fix proxy timeouts with the websocket used for the Terminal, via keepalive messages (#1860)
  • Fix file.edit failures with Chinese filenames on Windows (#1868)
  • Fix errors when importing non-ASCII filenames in base Import Dataset (#1910)
  • Fix rserver crash that can occur when proxying websockets to Shiny apps (#2061)
  • Fix hang on some Linux systems caused by X11 clipboard monitoring w/ option to disable monitoring (#2068)
  • Fix empty column titles when viewing matrices without column names (#2086)
  • Fix error when pressing F1 on non-function autocomplete results (#2127)
  • Fix hang when autocompleting filenames in large directories (#2236)
  • Fix inability to copy content from Viewer pane and data viewer in IE11 (#2351)
  • Fix errant addition of msys-ssh to path on non-Windows platforms (#2352)
  • Fix buggy behavior with when ANSI colors are present (#2387)
  • Fix external process slowness (git, etc.) when open file limit RLIMIT_NOFILE is high (#2470)
  • Fix issue caused by resolving symlinks when choosing Git path (#2476)
  • Fix display of consecutive spaces in the Data Viewer (#2499)
  • Fix issue where ‘#’ in YAML strings would be highlighted as comments (#2591)
  • Fix over-eager loading of yaml package when IDE starts up (#2602)
  • Fix issue on Windows with R dialogs showing behind RStudio window (#2901)
  • Fix incorrect insertion of mousewheel handler into HTML widget JavaScript (#2634)
  • Fix unresponsive buttons in Connections pane when connection deletion is cancelled (#2644)
  • Fix RStudio hang when installing packages (e.g. BH) in Packrat projects on Windows (#1864)

RStudio Server Pro

  • Overhauled R versions, allowing you to specify version labels, load environment modules, and execute a prelaunch script when loading specific versions.
  • New rsession-diagnostics-enabled option for rserver.conf to enable session launch diagnostics mode to help diagnose session launch failures.
  • Added support for auth-pam-sessions-use-password option in a load balanced setup.
  • Added ability to suspend sessions from user home page.
  • Added hmac signature verification for proxy auth mode with new auth-proxy-require-hmac option in rserver.conf.
  • Add nodes to RStudio Server Pro load-balanced clusters without service interruptions.

RStudio Pro Drivers

  • Discover, install and uninstall RStudio Pro Drivers from the New Connection wizard.

This is a maintenance release of RStudio which contains fixes for the following issues:

  • Fix sign-out issue when “stay signed in” is checked in RStudio Server (#1538)
  • Fix hang when submitting empty passwords and password encryption is turned off (#1545)
  • Fix dark theme partial application in data viewer when upgrading from 1.0 (#1573)
  • Fix overlap between Refresh icon and plot title text (#1585)
  • Fix slow File Open dialog on RStudio Desktop for Linux (#1587)
  • Fix slow open of new files on Windows when using network drives (#1592)
  • Fix build pane freeze when Rcpp::compileAttributes results in parse errors (#1601)
  • Fix issue when migrating from RStudio 1.0 which could result in empty R files (#1623)
  • Fix incorrect output type when compiling R script to non-HTML report (#1631)
  • Improve spacing in account when username and servername are short (#1637)
  • Fix incorrect background highlighting after reindent (#1643)
  • Fix autocompletion of Rcpp C++ objects (#1654)
  • Better “hand” cursor position on RStudio Desktop for Linux (#1659)
  • Fix segfault that can occur when a notebook contains a Rcpp chunk with compilation failures (#1668)
  • Fix problems with Git for Windows installations into sub-directories of home directory (#1679)
  • Fix crashes when restarting R session while using a network drive (#1690)
  • Don’t suspend R sessions with active external pointer objects (#1696)
  • Allow new “Copy To” command in Files Pane to overwite its target (#1722)
  • Respect “Load All” command shortcut when the Terminal is open (#1723)
  • Detect full-screen mode correctly in Terminal pane (#1725)
  • Support Pandoc 2 in RSTUDIO_PANDOC (#1756)
  • Allow installation of package dependencies from repos not named CRAN (#1762)
  • Fix password entry in Subversion and other shell dialogs (#1810)
  • Ensure R Markdown files are saved before publish (#1821)
  • Reconnect terminal when disconnected via proxy timeout (#1844)
  • Closing Shiny apps no longer can crash RStudio Server (#2061)
  • Avoid hang when .git folder own Windows is not hidden (#2141)
  • Setting non-default Knit Directory no longer breaks R Markdown websites (#2158)
  • Fix scrolling through database objects if there are more than 25 (#2211)
  • Pressing F1 on help autocompletions no longer raises an error (#2261)
  • RTools 3.5 compatibility (#2636)
  • R Notebook compatibility with R 3.5 (#2748)
  • Fix issues with RStudio bundled with Anaconda in Windows 10 build 1803+ (#2802)
  • Fix disconnects with latest version of Shiny, RStudio Server, and Firefox (#2940)
  • Fix paged table output R Notebooks with R 3.5.1 (#3163)
  • Fix republishing content from directories with very short names (#3168)
  • Server Pro: Update embedded nginx to 1.14.0
  • Server Pro: Can now log in to load-balanced servers when password contains a space (Pro #338)


  • New Connections tab for working with a wide variety of data sources
  • Connections to data sources are saved and can be easily reconnected and reused
  • Objects inside data sources can be browsed and contents viewed inside RStudio
  • Works with ODBC data sources and Spark, and can integrate with other R packages


  • New Terminal tab for fluid shell interaction within the IDE

  • Support for xterm emulation including color output and full-screen console apps

  • Support for multiple terminals, each with persistent scrollback buffer

  • Web links in terminal can be clicked and opened in default browser (new tab for server)

  • Windows terminal supports multiple terminal shell types

    • Git Bash, if installed
    • Command Prompt (cmd.exe), 32-bit and 64-bit depending on OS support
    • PowerShell, 32-bit and 64-bit depending on OS support
    • Bash on Windows Subsystem for Linux, if installed on 64-bit Windows 10
  • Default Windows terminal shell type set in new Global Options/Terminal preferences pane

Object Explorer

  • New view for the exploration of hierarchical / deeply-nested R objects
  • Can recursively inspect R lists, environments, functions, S4 objects
  • Integration with the xml2 package for exploration of XML documents
  • Generate R code that can be used to access a particular item within object


  • New flat, modern UI theme
  • New dark theme option
  • Retina-quality icons throughout

Data Import

  • Add support for all file encodings supported by R
  • Restore text import dialog from previous releases (uses only base R functions)
  • Code generator in import dialog now creates a relative path to data file

R Markdown

  • Added option to specify the working directory when executing R Markdown chunks
  • Added option to set preview mode (in viewer, window, etc.) in YAML header
  • Added option to skip knitting before publishing in YAML header
  • Multiline strings in YAML header are now properly highlighted

R Notebooks

  • Python chunks now respect virtualenv if present
  • ‘Rename in Scope’ now works within R chunks
  • Global chunk options (e.g. ‘echo’) now properly respected in Notebook mode
  • Fixed an issue where non-R chunk output could become duplicated
  • Added option to set notebook mode in the document’s YAML header
  • Allow setting default chunk connection option to raw connection object
  • Added an ‘Use paged tables’ checkbox under chunk options popup

Git Integration

  • Add support for creating new Git branches and setting upstream remotes
  • Git branch list is now searchable
  • RStudio warns when attempting to commit large files (>10 MB)
  • Implemented ‘ignore whitespace’ option for Git Diff view
  • Wait for index.lock file to clear before performing git operations (with recovery)
  • Improve handling of paths containing special characters


  • ANSI escape code support in console for colored output
  • Add support for custom, user-provided project templates
  • Add support for middle-click pasting using X11 global selection (Linux Desktop only)
  • Document cursor position is now saved and restored between RStudio sessions
  • Addins are now fully searchable in dropdown toolbar menu
  • Add support for changing editor tabs with the mouse wheel
  • Snippets can now be inserted in the R console
  • Add option to knit in current working directory or project directory
  • Cmd/Ctrl+Enter in Help pane now sends selected example code to console
  • View(vignette(…)) now opens editor with vignette source
  • Ctrl+P/Ctrl+N to visit previous/next console history line (like readline)
  • Ctrl+R to search console history incrementally (like readline)
  • New “Copy To” command in Files pane to copy and rename in one step
  • Added UI for loading ‘.rds’ files when clicked in Files pane
  • F2 in source editor opens data frame under cursor in a new tab
  • Highlight markdown inside ROxygen comments
  • Minor fixes to C++ syntax highlighting
  • Added syntax highlighting for TOML files
  • Provide autocompletion support for R6 ‘new()’ methods
  • Improve performance of autocompletion for installed packages
  • Add option to run multiple consecutive lines of R with Ctrl+Enter
  • Add commands to run a line, statement, or consecutive lines
  • Add Clear Console button to top of Console pane
  • Add option to wrap around when navigating to previous or next editor tab
  • Allow opening directories as projects (Server and macOS only)
  • Vim: Use ]f and [f to open adjacent files on the file system
  • Show disambiguation in overflow list when two editor tabs have the same filename
  • Respect control characters in error output; makes e.g. curl output correct
  • Add new cheatsheet links to Help: Data Import, Interfacing Spark
  • macOS: Always show project label on dock tiles
  • Remove 100 column limit in data viewer
  • Make columns in data viewer resizable
  • Add option to kill child processes when session exits
  • Upgrade to pandoc
  • Remove Packrat package sync notifications; replace with Check Library Status command
  • Add support for ligature coding fonts in RStudio Desktop for Windows and Linux
  • Added page viewer (accessible via getOption(“page_viewer”)) for viewing web content in an external window.
  • Add editor theme Dracula (thanks to Fabian Mundt)
  • Server Pro: Add option to disable file uploads
  • Server Pro: Upgrade to TurboActivate 4.0; improves licensing
  • Server Pro: Add support for floating (lease-based) licenses
  • Server Pro: Show the size of suspended sessions
  • Server Pro: Add user-defined session labels
  • Server Pro: Upgrade to nginx 1.12.0
  • Server Pro: Add support for NFSv4 Access Control Lists in Project Sharing
  • Server Pro: Add support for user-initiated session quit and force-terminate
  • Server Pro: Add support for admin-supplied notifications in R sessions
  • Server Pro: New session-timeout-kill-hours option to expire and cleanly remove old R sessions

Bug Fixes

  • Fixed an issue where dragging tabs out multiple times could revert contents to older version
  • macOS: fixed ‘crash on wake’ issue with late-2016 Macbooks
  • Fixed mangling of YAML header string values containing backticks
  • Fixed mangling of YAML indentation when re-indenting R Markdown documents
  • File downloads from the internal browser are now saved correctly on Linux and Windows
  • Rendering or running an R Markdown document no longer saves it unnecessarily
  • ‘Insert assignment operator’ shortcut now works on Firefox
  • Fixed issue where ‘execute current statement’ behaved poorly with unclosed statements
  • Fixed issue where tibble warnings could be emitted by autocompletion engine
  • Fixed issue where ‘Copy Plot to Clipboard’ from Viewer failed with macOS Sierra
  • Fixed issue where keybinding changes were not reflected in popped-out windows
  • Fix hang when replacing a misspelled word with word and punctuation
  • Fixed issue where cursor would begin blinking even when ‘Blinking Cursor’ preference disabled
  • Editor now responds correctly when renaming an open file using the Files pane
  • Fixed an issue that could cause the data viewer cache to contain orphaned entries
  • Fixed highlighting of Markdown text within Markdown blockquote
  • Invoke R without –vanilla when building R Markdown websites
  • Fixed an issue in which R Markdown documents could get stuck in notebook mode
  • Fixed an issue preventing plain .md files from being published if not rendered
  • Fixed runtime crashes in R packages that use Boost libraries
  • Fixed startup crashes associated with Boost regular expressions
  • Fixed an issue where scroll position in History pane could be lost when losing focus
  • Fixed an issue where RStudio would fail to discover build tools if R was not on PATH
  • Improve stability of crashed session recovery system
  • Fixed issues arising from restoring a session suspended with a different R version
  • Color errors in the R console correctly when resuming a session
  • Fixed an issue in which notebook tables would not print data with lists of lists
  • Fix session crash that can occur with certain malformed chunk headers
  • Fix issue preventing New Session from working on Ubuntu 16+
  • Server Pro: Fix issue with dirty indicator/saving after collaborative editing ends
  • Server Pro: Fix issue with using multiple R versions feature when multi-session is off

Bug Fixes

  • Fix for crashes in Pandoc on Ubuntu 16
  • Fix inability to open some text file types on macOS High Sierra beta
  • Fix missing output/issues pillbox on Windows Compile PDF output
  • Fix superflous warnings in install.packages
  • Fix blank data viewer issue affecting some Windows users


  • Show Python error stack traces (using reticulate)
  • Add .registration=TRUE to useDynLib when Rcpp >= 0.12.11
  • New binary release for users running Ubuntu 16+ and Debian 9+

R 3.4 Support

  • Support for debugging code in R 3.4.0
  • Support for graphical output in R 3.4.0

Bug Fixes

  • Fix bug in macOS 10.12.4 with input of extended characters
  • Fix bug causing R Notebook chunk temporary folder errors
  • Fix scroll jump when clicking on the Console pane in newer versions of Chrome
  • Fix errors when printing data frames containing dates
  • Server Pro: Fix issue with collaborative editing when owner’s session is suspended


R Notebooks

  • Improved sizing of htmlwidgets in R Notebooks
  • Allow changing to R Notebook mode without closing and reopening the file
  • Add support for knitr code chunks defined in external .R files
  • Add support for raw relative paths such as “..” in knitr root.dir option
  • Add support for ‘output.var’ chunk option for Stan chunks
  • Improve scrolling past htmlwidgets in the editor
  • Always show chunk output preferences (inline or console)
  • Add support for variable height HTML widgets (non-knitr figures)
  • Improve support for non-ASCII characters in chunk metadata and output
  • Add support for JavaScript and CSS chunks

Data Import

  • Add support for all readr locale settings (date/time format, decimal, etc.)
  • Prompt for a comma-separated list of factors instead of a collection


  • Add Ctrl+Tab / Ctrl+Shift+Tab shortcuts to navigate tabs (Desktop only)
  • Include .scala files in fuzzy file finder (Ctrl + .)
  • Add support for pre-rendered Shiny documents (shiny_prerendered)
  • Update Stan editor mode to support Stan 2.12.0
  • Server Pro: Add new www-frame-origin option for specifying framing permissions

Bug Fixes

  • Improve resilience against malformed YAML header in R Markdown documents
  • Avoid triggering active bindings in environments from the Environment pane
  • Fix encoding of R_HOME, R_USER, and R_LIBS_USER on Windows
  • Fix project-based file completion on Windows
  • Respect loaded packages in R help topic completion
  • Fix positioning of editor toolbar buttons in Safari and Mac OS client
  • Fix incorrect height of R Notebook outputs when run above viewport
  • Detect multi-line data.table chains properly
  • Allow git staging for filenames containing a space on Windows
  • Use Windows proxy settings to serve requests made by htmlwidgets
  • Fix cross-domain error when opening a link to RStudio Server in a new window
  • Fix comment toggling for ROxygen comments
  • Fix notebook resource problems occurring in projects on mounted filesystems
  • Server Pro: Allow server user to have group name differing from user name
  • Server Pro: Don’t require LDAP to support user enumeration when auth-required-user-group is set


  • Authoring tools for R Notebooks.
  • Integrated support for the sparklyr package (R interface to Spark).
  • Enhanced data import tools based on the readr, readxl and haven packages.
  • Performance profiling via integration with the profvis package.
  • Authoring tools for R Markdown websites and the bookdown package.
  • Many other miscellaneous enhancements and bug fixes.

R Notebooks

  • Authoring tools for R Notebooks
  • Inline display for text, latex, tabular data, graphics, and htmlwidgets in source editor
  • All code and output saved within a single notebook HTML file (.nb.html)
  • Multiple language engines including Python, Bash, SQL, Rcpp, and Stan
  • Tools for running various combinations of chunks (current, next, previous, remaining)

Data Import

  • Import dataset from text via readr
  • Import dataset from Excel via readxl
  • Import dataset from SAS, SPSS, and Stata via haven
  • Preview data while importing datasets
  • Explicitly set column types while importing datasets
  • Preview and copy code while importing datasets


  • Profiling features based on the profvis package
  • Visualize profiling results within the IDE
  • Profile menu enables easy stop/start of profiling or profiling of selected lines.
  • Save and load of previous profiling sessions

RStudio Connect

  • Publish reports, applications, and plots to RStudio Connect
  • One-click deployment of Shiny applications
  • Publish and schedule periodic execution of R Markdown reports
  • Set which users and/or groups have permission to view content


  • Integrated support for the sparklyr package
  • Create and manage connections to Spark clusters and local Spark instances
  • Browse tables and columns of Spark DataFrames
  • Preview the first 1,000 rows of Spark DataFrames

Source Editor

  • Ctrl+Enter now executes current R statement when selection is empty
  • Use Shift+Click to open web links in source editor (Command+Click on OS X)
  • Enabled auto-pairing of backticks
    in R documents
  • Fixed regression re: folding of unnamed sections, e.g. ‘#####’
  • Implemented folding for sub-sections in R documents
  • Added option for display of ‘end’ fold markers
  • Display function tooltip on mouse over of function name
  • Added option to display function signature tooltip on cursor idle
  • Autocompletion allows mismatch between ‘.’, ‘_’ in token
  • Improvements to refactoring utility ‘Rename in Scope’
  • Expand selection command learns how to expand to current statement
  • Added (as unbound command) Sublime Text style ‘Quick Add Next’
  • The various ‘yank’ commands are now rebindable (Ctrl + Y, Ctrl + K, Ctrl + U)
  • Insert assignment operator (Alt+-, ‘<-’) is now rebindable
  • Insert pipe operator (Cmd+Shift+M, ‘%>%’) is now rebindable
  • Enable implementors of .DollarNames to provide custom types

R Markdown

  • Inline preview for MathJax equations
  • Show custom formats in Knit menu
  • Show options menu and Knit w/ Params for custom formats
  • Use “Run Document” for custom formats with runtime: shiny
  • Add option to suppress Knit preview entirely
  • Add R Markdown pane to global options dialog
  • Build tab and preview support for R Markdown websites
  • Various enhancements for authoring with the bookdown package
  • Add command to clear knitr cache
  • Update pandoc to 1.17.2
  • Update MathJax to 2.6.1


  • Provide autocompletion of header paths
  • Syntax highlighting of raw, wide, unicode string literals (e.g R“hello”)


  • Added session-default-working-dir and session-default-new-project-dir options
  • Added sudo, lsb-release, and libssl1.0.0 packages to Debian dependencies
  • Server Pro: Auditing for authentication and session start/suspend/exit events
  • Server Pro: Ability to configure per-user and per-group session timeouts
  • Server Pro: Ability to include custom HTML within server sign-in page
  • Server Pro: Update to Nginx 1.10.1


  • Improved performance of ‘Find in Files’ tool
  • Attempting to cut or copy with an empty selection no longer clears the clipboard
  • Files pane now has a fixed header row
  • Attempting to check out remote git branch now checks out local copy tracking remote
  • Published plots are larger and responsive to changes in browser size
  • Implement gt/gT bindings in Vim mode to switch to next/previous tab
  • Always provide file completions for top-level current directory
  • Prevent wrapping of text in Files pane display
  • Indicate when object details in environment pane have been truncated
  • Improved keyboard navigation in browser file widgets
  • Added option to limit length of lines in console history
  • Improved performance when many lines of code sent to console
  • ‘save()’ warnings no longer emitted when saving session state
  • Update C++ unit testing library (catch) to v1.3.3 (fix gcc >=5 compilation errors)
  • Change default max.print to 1000 (was 10000)

Bug Fixes

  • Fixed a hang on Windows + 64bit R when errors occurred while resizing Plots pane
  • Fixed an issue where a user-defined git executable was sometimes not respected on OS X
  • Data Viewer: fixed a crash that could occur when calling ‘View()’ on matrix
  • R Markdown: hide chunk toolbar when chunk is hidden by folded Markdown section
  • R Markdown: fixed highlighting with multiple Markdown links on one line
  • R Markdown: improved highlighting for ‘’, ‘_’ text
  • R Markdown: fixed issue where sections did not display in document outline when following empty bulleted list
  • Reformat code: fixed an issue where
    was not recognized as a single token
  • SVN: avoid recursive revert when reverting changes to modified directory properties
  • Autocompletion: fixed errors printed in console when ‘devtools::load_all()’ active
  • Autocompletion: fixed errors printed in console for functions ‘force’, ‘identity’
  • Autocompletion: ensure .DollarNames method respected when discovered
  • Autocompletion: avoid errors when retrieving completions in debugger
  • Viewer: Fixed issue in ‘Export -> Copy to Clipboard’ when IDE not at default zoom level
  • Fix hang caused by large, heavily-nested S4 objects
  • Fix for ‘httpdPort’ detection error sometimes seen with R built from source
  • Fixed a hang on Windows with 64-bit R when attempting to load a corrupted workspace
  • Fixed an issue where non-interactive addins could not be executed in popped out windows
  • Diagnostics: fix false positive errors with ‘{’ following function calls
  • Diagnostics: engine better understands ‘data()’ calls (fixes ‘no symbol in scope’ false positive)
  • Improved performance of document tokenization (fix laggy typing)
  • Sweave: Fix block commenting of chunks
  • Sweave: Fixed an issue where TOC headings weren’t displayed in document outline
  • Fix highlighting of escaped ‘$’ in inline Mathjax expressions
  • Fix editor preview vanishing on zoom level change
  • Emacs mode: C-f now moves the cursor forward instead of opening Find dialog
  • Emacs mode: C-r now performs a reverse isearch on Windows (rather than running code)
  • Ensure that modal dialogs capture all input even in the presence of multiple modals
  • Filter out “00LOCK” directories from package name completions
  • Provide completions for ‘lazydata’ objects within namespaces
  • Prevent warnings from leaking when accessing refClass elements for completions
  • Fix inablity to get active frame for completions when package lfe was loaded
  • Prevent completion popup from appearing offscreen for very long completion names
  • Don’t pass encoding=“” to knitr for .Rpres files not in a project
  • Avoid duplicating keydown handlers in image list boxes (e.g. New R Markdown template)
  • Ensure editor completion popups are hidden when editor loses focus
  • Cleanup R auto-indentation for plain () or []
    (i.e., when not in a function call)
  • Suppress httpd warnings on invalid help queries
  • Correct syntax highlighting for operator « in C++ mode
  • Fix highlighting in R mode for numbers with only a trailing decimal (e.g. ‘1.’)
  • Ensure that SparkR DataFrames appear as data in environment pane
  • Avoid firing active bindings in completion system
  • Fix copy, cut, paste handling when Emacs mode enabled
  • Avoid perturbing RNG state when invoking View()
  • Fix unlinked directories in Files pane when other users’ folders are browseable
  • Fixed an issue where nested folds were not preserved correctly on save / load
  • Prevent lines terminated by from entering editor (cause of many subtle problems)
  • Fix error message when invoking View() on an object with no columns
  • Fix blank screen on log-in when PAM username capitalization doesn’t match system
  • Prompt to save untitled (never saved) documents when closing source windows
  • Don’t depend on number of call frames when detecting install.packages call
  • Fix failure to install packages with long install.packages commands after restart
  • Server Pro: Fix issue causing sporadic session launch failures when using PAM sessions


Source Editor

  • New Emacs editing mode

  • Editor and IDE keyboard shortcuts can now be customized

  • Support for multiple source windows (tear editor tabs off main window)

  • New global and per-project options for line feed conversion

  • Snippets: pass parameters to snippet generating R functions

  • Split into lines command for multiple cursors (Ctrl+Alt+A)

  • New keyboard shortcuts to expand/contract current selection

    • Cmd+Alt+Shift+{Up/Down} OS X
    • Ctrl+Shift+{Up/Down} otherwise
  • Enhanced display of sections in R scope navigator

  • Added document outline display to R and C++ documents

  • New Close All Except Current command

  • Rename variable in scope (Cmd+Shift+Alt+M)

  • More context-sensitive highlighting of R keywords

  • Option to enable highlighting of R function calls

  • F2 now navigates into files (e.g. within calls to source)

  • Yank before/after (Ctrl+K, Ctrl+U) now use system clipboard on RStudio Desktop

  • Yank after cursor (Ctrl+K) no longer eats end of line character

  • Added option controlling ‘surround on text insertion’ behavior

R Markdown

  • New run chunk and options buttons overlaid at the top right of chunks
  • New shortcut for run current chunk (Cmd+Shift+Enter)
  • Outline view for quick navigation between sections/code chunks
  • Ctrl+PageUp and Ctrl+PageDown navigate between sections within Rmd, Rpres
  • Enabled comment/uncomment (Cmd+Shift+C) for Markdown documents
  • Knit with Parameters command for previewing with varying parameters
  • Run All now executes chunks in console (rather than calling e.g. knitr::purl)
  • Reorganize toolbar commands/menu for improved discoverability
  • Added Run Setup Chunk command
  • Updated embedded pandoc to v1.15.2
  • Update embedded pdf.js to v1.3
  • Support additional options for MS Word (table of contents, keep markdown)


  • RStudio Addins

    • Register R functions as addins that can interact with the IDE using the rstudioapi package.
    • Accessible from the Addins menu and can be bound to custom keyboard shortcuts
  • New Session command (create new R session with same project or working directory)

  • Open project in a new window from the projects recently used menu

  • New Shiny App command for quick creation of Shiny applications

  • Data Viewer: Filter factor columns by text or level

  • Raise limit on shinyapps uploads to 1GB from 100MB

  • ‘Edit -> Replace and Find’ opens Find toolbar if not already open (e.g. with Cmd+Shift+J)

  • Improve performance of console for large and/or rapidly updating output

  • Roxygen quick reference available from the Help menu

  • Links to RStudio cheatsheets available on the Help menu

  • Scan for Rtools in both HKCU and HKLM (for non-Admin installs of Rtools)

  • Run app command and shortcut now works for running single file Shiny applications

  • Move running Shiny apps between IDE panes and windows without restarting the app

  • Add support for single-file, standalone Shiny applications

  • Parse TeX magic comments that start with “%%” (ESS compatibility).

  • Change default Rpres template to specify autosize: true

  • Automatically create ~/.ssh directory if necessary on Windows

  • Added Makefile mode (used for Makefile, Makevars)

  • Always use LF for line endings in Unix Makefiles in R packages

  • Return environment variables as completions within Sys.getenv(), Sys.setenv() calls

  • Add ‘R Scripts’ preset filter to Find in Files dialog

  • OS X: Support for executing commands via AppleScript via ‘cmd’ verb

  • OS X: Enable WebKit WebGL by default

  • OS X: Enable WebKit DeveloperExtras by default

  • OS X: Enable creation of directories in folder picker dialog

  • Windows: Update to SumatraPDF 3.1.1

  • Added ability to zoom panes (e.g. Ctrl+Shift+1 to zoom source pane)

  • Add Console on Left/Right commands for quick relocation of Console

  • Add product and version metadata to Windows installer

  • Add askForPassword function to rstudioapi

  • Improved detection of Msysgit installation location on Windows


  • Include active project in document title (caption of browser tab)
  • Quit session command now accessible from global toolbar
  • Added option to control how many days users stay signed in for
  • Allow specification of multiple groups in auth-required-user-group option
  • Suspend and resume running R sessions when server is restarted
  • Add kill-session and kill-all admin commands
  • Use SHA256 for signing cookies (previously used SHA1)
  • Use more resilient file locking mechanism for compatibility with NFS volumes
  • Attempt to close application window when quitting
  • Track installed client version using git commit hash rather than timestamp
  • Detect minimum user id from /etc/login.defs (can also be specified via option)
  • Save user-specific .RData and .Rhistory if .Ruserdata directory exists
  • Server Pro: Shared Projects (including concurrent multi-user editing)
  • Server Pro: Support for multiple concurrent R sessions per-user
  • Server Pro: Support for running against multiple versions of R
  • Server Pro: Ability to record user console history for audit purposes
  • Server Pro: Home page for navigating to active sessions and recent projects
  • Server Pro: Don’t close PAM sessions by default (configurable via an option)
  • Server Pro: Remove Google OpenID auth (deprecated by Google in favor of OAuth)
  • Server Pro: Add option to specify client-id for Graphite metrics back end
  • Server Pro: Supported SSL protocols is now configurable
  • Server Pro: Add option to rewrite user header in proxied authentication

Bug Fixes

  • Diagnostics: Avoid linting symbols in R formulas
  • Diagnostics: Resolve functions in correct namespace
  • Diagnostics: Fix invalid diagnostics within formulas
  • Diagnostics: Respect // [[Rcpp::export]] functions used in R code
  • Fix grid metrics issues (e.g. text too small) by using res of 96 rather than 72
  • Correct computation of getOption(“width”) on high DPI displays
  • Rcpp: Parse attributes when generating diagnostics for header files
  • Enable outdenting in Rhtml documents
  • Find all now respects active search/replace options
  • Fix issue with cursor disappearing in Rmd chunks for ambiance theme
  • Publish button shows in the editor and viewer at the appropriate times
  • Avoid spurious R warnings when autocompletions requested
  • Allow completions in statements following infix operators
  • Completions in Install Packages are now correct for the case of multiple active repositories
  • Vim mode: prevent paste operation from entering visual mode via Ctrl+V cross-talk
  • Fixed chunk highlighter issues that occurred when editing chunk label
  • Correctly handle call to edit() with no arguments
  • Fix inability to start up on OS X when multiple conflicting R versions are on the library search path
  • Prevent crash when canceling out of q() prompt on Windows
  • OS X: Fix crash which could occur when focusing text boxes with placeholders
  • OS X: Viewer now correctly recognizes session temp dir even when prefixed by /private
  • OS X: Word document preview now correctly reloads for newer versions of Office
  • Fix issue with rstudioapi previewRd function when path included spaces
  • R 3.3: Don’t call setInternet2 or use –internet2 flag for child R processes
  • Linux, Windows: ensure native printer used (don’t default to PDF printing)
  • Linux: Install on Debian Sid and Ubuntu 16.04 via addition of libgstreamer-0.10 dependencies
  • Prevent spurious navigation when user cancels from the file upload dialog
  • Don’t include H3 (and higher) headers when creating presentation slide preview navigation menu
  • Don’t allow long file paths to overflow in message dialogs
  • RPM: Set autreqprov to “no” for both desktop and server
  • Prevent periods from being used in Rmd date field (caused LaTeX errors)

Data Viewer

  • Support for viewing large data sets (removed 1k row limit)
  • Data can be filtered, searched, and sorted
  • Viewer updates to reflect changes in data

R Code Completion

  • Completions provided automatically without an explicit gesture
  • All objects visible from the current scope are now included in completions
  • Completions in more contexts including S3 and S4 methods and dplyr pipelines
  • Automatic insertion of closing parens when appropriate
  • Inline help tooltip for signatures of completed functions
  • Completion for statements spanning multiple lines
  • Specialized autocompletions provided for library, data, vignette, ?
  • For Shiny applications, autocompletions for ui.R + server.R pairs
  • Completions for dimension names in [, [[ calls
  • Completions from packages in library, require calls automatically inferred and supplied even when not loaded
  • Completions for knitr options, e.g. in opts_chunk$get(), are now supplied
  • Completions for dynamic symbols within .C, .Call, .Fortran, .External
  • Completions for object names for ‘formula’ arguments, e.g. lm(.., data = mtcars)

R Code Diagnostics

  • Syntax errors are highlighted and displayed in red (e.g. missing commas, unmatched brackets)
  • Function calls are checked and validated with e.g.
  • Warn if variable is used but no definition is available in scope
  • Warn if variable is defined but never subsequently used
  • Whitespace diagnostics to help code conform to

Source Editor

  • Improvements in file/function navigation:

    • Fuzzy matching on search terms
    • Navigate to file posititions using file:line:col
    • Include parameters in function navigation menu
  • Multiple cursors:

  • Create a new cursor above / below the current cursor with CTRL + ALT + {up / down}

  • Move the active cursor up / down with CTRL + SHIFT + ALT + {up / down}

  • Create multiple cursors by pressing CTRL + ALT and clicking + dragging the mouse

  • Improved Vim mode:

    • Various bug fixes
    • Visual block selection (CTRL + v)
    • Multiple-cursor aware
    • Macros (q)
    • Marks (m)
    • Quick find (/)
    • Support a subset of commands in :
    • Use :help for documentation on available commands
  • Configurable snippets for fast insertion of common blocks of code

  • Editor tabs in the source pane can now be rearranged

  • Automatically save files prior to sourcing (controlled by option)

  • Support for multiple cursors via Ctrl+Alt+Up/Down

  • Alt+Enter to run code while retaining cursor position

  • Ctrl+Shift+E to select within matching parens / braces

  • Ctrl+Alt+Shift+E to expand selection to matching paren / brace

  • Comment/uncomment respects indent level when appropriate

  • New Reformat Code command for R scripts

  • Shift+Enter now searches backwards in Find/Replace

  • Find All option added in Find/Replace

  • Ctrl+E now focuses the editor after finding from selection

  • New option to control comment continuation on insertion of new lines

  • Reflow text (comment) for markdown and plain text modes

  • Updated to Ace (source editor component) v1.1.8

  • Syntax highlighting for GraphViz and mermaid.js diagrams.

  • Diagram previews using the DiagrammeR package (requires recent version from GitHub).

  • Syntax highlighting modes for many new languages including Clojure, CoffeeScript, C#, Graphviz, Go, Groovy, Haskell, Java, Julia, Lisp, Lua, Matlab, Perl, Ruby, Rust, Scala, and Stan.

  • Keyword and text based code completion for many languages including JavaScript, HTML, CSS, Python, and SQL.

  • A wide variety of new editor themes (color schemes) are now available.

  • Increase file size limit to 5MB (was previously 2MB)

C/C++ Development

  • Code completion
  • Code diagnostics
  • F2 code navigation (go to definition)
  • Go to file/function for C/C++
  • Find usages for C++ symbols
  • Intelligent auto-indentation
  • Scope tree for quick intra-file navigation

Web Development (HTML/CSS/JavaScript)

  • Code completion
  • Inline diagnostics (JSHint) on syntax and other issues


  • Improved handling of objects containing or consisting of NULL externalptr


  • Allow ‘debugSource’ to be executed in user-specified environment
  • Improved heuristics for locating the stack frame where errors originated
  • Autocompletions now available when debugging
  • Improved debug stepping through statements wrapped in tryCatch()
  • Better call frame selection when using recover()
  • Keyboard shortcuts for Step Into (Shift+F4) and Step Out (Shift+F6)


  • Improvements to New Package:

    • Generate cleaner packages with no warnings
    • Respect various devtools options
  • Support for roxygen2 ‘vignette’ roclet

  • Insert Roxygen Skeleton command (Ctrl+Alt+Shift+R)

  • Default to roxygenize for Build and Reload

  • Improved checking for supported protocol with packrat package

  • Escape backslashes in library names when loading packages

  • Call to library after Build and Reload respects –library argument

  • Validate that required versions are available for prompted installs

  • Set R_BROWSER=false and R_PDFVIEWER=false (as CRAN does) for R CMD check


  • Render plots using devicePixelRatio for retina and HDPI screens
  • Preserve last exported size in Save Plot as PDF dialog
  • now creates a new desktop graphics device (e.g. quartz) if the RStudio device is already active.

R Markdown

  • Updated to pandoc 1.13.1
  • Support for parameterized R Markdown reports
  • Ensure that .RData from Rmd directory isn’t loaded during Knit
  • Improved handling of lists in editor
  • Syntax highlighting for comments in markdown documents
  • Make publishing UI easier to discover
  • Require save before previewing Rmd file
  • Handle encoding correctly for Run All Chunks on Windows
  • Support for deploying single interactive documents (not just directories)
  • Updated internal PDF viewer (PDF.js) to version 1.0.1040


  • Updated rendering engine to Qt 5.4 for improved performance
  • Windows: updated to MSYS SSH 1000.18
  • Windows: check HKCU in addition to HKLM when scanning for R versions
  • Windows: Use Rtools 3.3 when running under R 3.2
  • Use system.file() rather than .packages() to query for package availability.
  • Bind Cmd+Shift+K shortcut to Compile PDF and Preview HTML
  • When evaluating R strings ensure ‘try’ is called from base package
  • Default to current working directory for New Project from existing directory
  • Add Clear Recent Projects menu item to toolbar project menu
  • Command to sync current working directory and Files pane to project directory
  • Eliminated rstudio and manipulate packages (both now available on CRAN)
  • Respect existing values for RSTUDIO_PANDOC and RMARKDOWN_MATHJAX_PATH environment variables.
  • Added global RStudio.Version function for getting basic version info
  • Diagram previews using the DiagrammeR package (requires recent version from GitHub).
  • Added Markers pane and sourceMarker API for externals tools (e.g. linters)
  • Enable specification of Sweave driver in Rnw magic comment
  • Re-map prev/next tab shortcuts to eliminate conflicts with window managers
  • Run App command for single file Shiny applications
  • Deprecated ‘source.with.encoding’ in favor of source(…, encoding = “…”)
  • Make source code compatible with -std=c++11
  • Allow specifying character encoding, row name source, and comment character when importing data
  • Jump to the definition of a function by clicking it in the environment pane
  • Increase shinyapps upload limit to 1GB (was previously 100MB).


  • Use systemd to manage server processes on platforms where it is the default
  • Add server-set-umask option to control whether the server sets its umask to 022 at startup
  • Improved installation by reducing dependencies and providing additional platform-specific builds (e.g. SUSE, RHEL5 vs. RHEL6/7)
  • Server Pro: Support for SPDY protocol
  • Server Pro: Custom header name for proxied authentication
  • Server Pro: Option to eliminate “stay signed in” option for PAM authentication.
  • Server Pro: Update to Nginx 1.8.0

Bug Fixes

  • Prevent error dialog when getOption(“repos”) is an unnamed vector
  • Fix for regex Find/Replace lockup with empty strings
  • Fix for console text unselectable in Firefox
  • Find in Files now always activates result pane
  • Correctly reflow comments in Rmd C++ code chunks
  • Don’t warn when saving C/C++ file with .hpp extension on OS X
  • Ensure that rmarkdown documents render within input directory
  • Eliminate race condition that could cause crash when polling child processes
  • Correct handling for breakpoints in files with non-ascii filenames on Windows
  • Next/previous word behavior in Rmd is now consistent with behavior in R scripts
  • Don’t parse YAML front matter if not preceded by whitespace
  • Eliminate some UI problems on Windows HDPI systems
  • Prevent null reference exception in packages pane with active filter + packrat
  • Allow JSON as text file type in the editor
  • Only hide object files (e.g. .o) in Files pane when in package src directory
  • Ensure cursor is always visible after source navigation
  • Server: Ensure that LANG is populated from system default when not inherited
  • Server: Provide required domain socket permissions during startup
  • IE 11: Strip unprintable unicode characters in Rmd front matter dates
  • Only filter object file listings in ‘src’ directory
  • Fix crash in R tokenizer when source files have binary 0xFFF
  • Correctly navigate to package inst/include directory for template errors
  • Fix visual debugging issues when code isn’t saved in system encoding
  • Fix compilation errors that occurred as a result of GCC concept checks
  • Persist last size setting in Save Plot as PDF dialog
  • R 3.2: Specify .Platform$pkgType when installing binary package archives

Debugging Tools

  • Set breakpoints within the source editor, both inside and outside functions
  • View object values and call stack during debugging
  • Step through code line by line
  • Error inspector for quick access to tracebacks and debugger after runtime errors
  • Integration with traditional R debugging tools, such as browser() and debug()
  • For more information see Debugging with RStudio

Environment Pane

  • Browse any environment on the search path
  • Filtering by name/value
  • Expand lists, data frames, and S4 objects inline
  • Use str() for displaying object values
  • Optional grid view sortable by various attributes
  • Many other small correctness and robustness enhancements

R Presentations

  • Easy authoring of HTML5 presentations based on R Markdown
  • Extensive support for authoring and previewing inside the IDE
  • Many options for customizing layout and appearance
  • Easily published as either a standalone HTML file or to RPubs
  • For more information see Authoring R Presentations

Source Editor

  • Use Rcpp template by default for new C++ files
  • Add code folding for markdown headings/sections
  • Option to not restore source documents when re-opening projects
  • Preserve open source documents when underlying project directory is moved
  • Ability to execute roxygen example code via Cmd/Ctrl+Enter
  • Change fold/unfold all keyboard shortcut to use ‘O’ rather than ‘0’
  • Automatically insert a newline at the end of R scripts when executing the last line in the file
  • Don’t advance cursor after execute code if there is a selection
  • Detect and provide notification when editing readonly files (Linux and OSX only)
  • TeX syntax highlighting for .dtx and .ins files
  • Allow opening application/postscript files in the editor
  • Scroll to cursor when reactivating the source pane via the keyboard shortcut
  • Improve clarity of error message for moved or deleted source files
  • R code automatic indentation now adapts to alternate indentations on subsequent lines
  • Execute multi-line statements even when line delimiter is plain \r


  • Control+Enter can now execute commands in the console
  • Allow Esc key to interrupt the console even if used when focus is in the source editor
  • Scroll to cursor when reactivating the console via the keyboard shortcut


  • User option to disable the Packages pane (useful if there are hundreds of packages installed)
  • Environment variable (RSTUDIO_DISABLE_PACKAGES) that can be used to entirely disable the Packages pane.
  • Build packages using –with-keep-source by default
  • Correctly set LC_COLLATE for roxygenize (now works the same as devtools)
  • Automatically focus console after devtools Load All command


  • knitr 1.2 is now the minimum required version
  • Higher fidelity parsing of knitr error messages
  • MathJax compatability mode for IE 10
  • Correctly base64 encode images with special characters in their paths
  • Read the Sweave template from the filesystem (resources/templates/sweave.Rnw)
  • Update Windows PDF viewer to Sumatra PDF v2.4

Viewer Pane

  • New Viewer pane for viewing local web content within RStudio
  • Works with files written to the R session temporary directory or arbitrary localhost URLs
  • For more information see Extending RStudio with the Viewer Pane


  • Replaced Qt with native Cocoa implementation for Mac desktop to improve performance
  • RStudio can now build on OS X Mavericks with the latest version of XCode
  • Support the AppNap API on OS X Mavericks to prevent CPU throttling when R is busy
  • Use domain sockets (Linux/OS X) and named pipes (Windows) for R session communication rather than TCP/IP
  • Allow R help http server to handle custom URLs directly
  • Significantly more robust detection of user home paths on Windows
  • Detect R on OS X even if /usr/bin/R has been deleted
  • Add option to create projects in a new window
  • Abilty to create Shiny applications directly from the New Project dialog
  • Display row.names in data viewer
  • Compatiblity with Rtools 3.1 (R-devel)
  • Added previewRd function to RStudio package
  • Keyboard shortcut (Ctrl+Shift+F10) for restarting R session
  • Don’t add commands to history when Browser> context is active
  • Limit size of history database file to approximately 1 MB
  • Move History button to main toolbar for Git VCS
  • Always use code-search dialog for Go To Function
  • Treat objects of type data.table and cast_df as data in the environment pane
  • New RSTUDIO_HTTP_REFERER environment variable for detecting the full client URL in server mode
  • User option to disable automatic checking for updates to RStudio
  • Environment variable (RSTUDIO_DISABLE_CHECK_FOR_UPDATES) that can be used to disable automatic checking for updates to RStudio
  • Improved error message for failure to start due to version mismatch between libR and loaded packages
  • Disable spell-checking in VCS commit message widget
  • Add .travis.yml to the whitelist of hidden files displayed in the Files pane
  • Fix inability to change default working directory on Ubuntu 13.10
  • Block iframes with remote URLs rather than showing them in a new window

RStudio Server

  • Localhost URLs (e.g. for Shiny, Rook, or OpenCPU applications) are now automatically proxied back to remote clients on the main server port.
  • Add upstart script for RedHat/CentOS 6
  • No longer specify unlimited core size in upstart script
  • More permissive AA profile during startup (ability to auto-detect R in more locations)
  • Enhance fidelity of callstacks for client-side errors
  • Respect X-Forwarded-Proto header required for redirects when running behind SSL proxies
  • Deprecated rsesssion ulimit options: rsession-memory-limit-mb, rsession-stack-limit-mb, and rsession-process-limit
  • Changed Chrome close document shortcut to Cmd+Alt+W

Bug Fixes

  • Avoid evaluating promises for objects in the workspace
  • Recognize more object types as datasets (any object of class data.frame)
  • Fix for browseVignettes function not working in server mode
  • Prevent spurious console warnings when long vectors appear in the workspace
  • Recover gracefully from plot export default directory being removed during a session
  • Track multiple changes within a session to default export plot directory
  • Ignore YAML front-matter that contains multi-line lists in R Markdown documents
  • Prevent mis-detection of embedded R chunks in C++ files (space required before R on first line)
  • Don’t serve http content (javascript:false) when running behind an https proxy
  • Fix for cursor positioning bug when using Safari 7.0
  • Clear busy indicator after cancelling update packages
  • Serve woff fonts with correct mime type (avoids warnings in javascript console)
  • Ensure that the user’s own group is checked when verifying that a user belongs to a group
  • Fix for console interrupt button sometimes remaining active even when session is idle
  • Enable copying of prompt text from within the console
  • Navigate to help topics based on mouse selection (formerly requried keyboard selection)
  • Ensure that Git revert requests with no valid files don’t revert all unstaged changes
  • Prevent RPM upgrade from removing rstudio-server script from /usr/sbin
  • Fix for some text file types being incorrectly detected as binary on RedHat 5
  • Detect R location within cmake configuration even when warnings or other spurious output are generated during R startup.
  • Eliminate warnings which sometimes occurred when initializing default user package library
  • Eliminate warnings which sometimes occurred when resizing graphics devices
  • R 3.02 plots now correctly restore during session resume and build and reload
  • R 3.02 plots that occur in rapid sequence without rendering in the UI now work correctly
  • Prevent “parameter type mismatch” error when using manipulate
  • Prevent error messages which could occur when restarting R from an already suspended session

R Markdown

  • Next generation of R Markdown based on pandoc

    • Create HTML, PDF, and MS Word documents as well as Beamer and ioslides presentations
    • New markdown syntax including expanded support for tables, definition lists, and bibliographies
    • A responsive (multi-device friendly) and themeable HTML template based on Bootstrap
    • Include raw LaTeX within markdown for advanced customization of PDF output
    • Use Shiny with R Markdown to create interactive documents
    • Compile HTML, PDF, or MS Word notebooks from R scripts
    • See the rmarkdown website package for more details
  • Option to preview R Markdown HTML in Viewer Pane

  • Enhancements to HTML previewing for presentation authoring

  • Previewing for MS Word and PDF output

  • Added Run Previous Chunks command (Ctrl+Alt+P)

  • Keyboard shortcut for Knit is now Ctrl+Shift+K

Debugging Tools

  • Support for R 3.1 advanced stepping commands (step into and finish loop)
  • Allow viewing and stepping through functions that don’t have source-refs (via deparse)
  • Improved support for debugging outside of functions including stepping inside loops


  • Integrated support for packrat
  • New devtools mode for package development (uses devtools for check, document, test, etc.)
  • Keyboard shortcuts for Test (Ctrl+Shift+T) and Document (Ctrl+Shift+D)
  • Package listing is now grouped by library
  • Pick default save location for files based on type (e.g. R, src, man, etc.)
  • Don’t write HTML output when previewing package Rmd or md documentation

Shiny Development

  • Run and debug Shiny applications directly within the IDE
  • Launch applications and reload changes on the fly using Run/Reload command (Ctrl+Enter)
  • Automatically close Shiny application windows on interrupt/exit
  • Integrated support for publishing applications to

Source Editor

  • Keyboard shortcut (Ctrl+Shift+M) for magrittr pipe operator (%>%)
  • Find from selection keyboard shortcut (Mac: Cmd+E, Windows/Linux: Ctrl+F3)
  • Execute Current Section command (Mac: Cmd+Option+T, Windows/Linux: Ctrl+Alt+T)
  • Syntax highlighting modes for XML, YAML, SQL, Python, and shell scripts.
  • Command to execute Python and shell scripts (Ctrl+Shift+Enter)
  • New Extract Variable code refactoring (thanks to Dirk Schumacher)
  • Miscellaneous improvements to R and C++ syntax highlighting (thanks to Kevin Ushley)
  • Execute R code from the Source Viewer using Ctrl+Enter
  • Option to automatically strip whitespace at the end of lines
  • Option to ensure that R source files always end with newline
  • Always use tabs for indentation in Makefile and Makevars
  • Enable save command immediately for new documents
RStudio Server
  • Support for Internet Explorer 10 and 11
  • Improved satellite window reactivation (e.g. version control, preview, etc.)
  • Improved location and refresh header re-writing for localhost proxy
  • r-cran-repos option now works consistently and overrides user CRAN option
  • Fix completion window dismissal issue in Ubuntu Chrome
  • Compatibility with RHEL/CentOS 7
  • Pro: Load balancing for increased capacity and high availability
  • Pro: Allocate cores and set scheduler priority and resource limits per user or group
  • Pro: Run a different version of R per user or group
  • Pro: Optionally forward credentials to PAM sessions (e.g. for issuing Kerberos tickets)
  • Pro: New config options to disable access to various features
  • Pro: Migrate Google Accounts support to OAuth 2.0 interface
  • Pro: Login as user link now works correctly when running behind proxies
  • Pro: Updated embedded nginx to 1.6.2
  • Pro: Prevent use of SSLv3 protocol
  • Pro: Compatibility with SLES 11 (SP1, SP2, and SP3)


  • Viewer: History, Zoom, and Export commands for static HTML widgets
  • Publish to RPubs from Plots and Viewer panes
  • Keyboard shortcut quick reference (Mac: Option+Shift+K, Windows/Linux: Alt+Shift+K)
  • Mac: Overlay project name on RStudio Dock icon when multiple projects are open
  • Mac: Added New Window command to RStudio Dock icon
  • Mac: Show help PDFs in Preview rather than in an internal window
  • Mac: Correct handling of file downloads from help pane
  • Mac: Direct /usr/bin/gnutar to /usr/bin/tar if necessary on Mavericks
  • Mac: Updated code signing method for OS X 10.10 Yosemite
  • Mac: Remove duplicated PATH entries on OS X 10.10 Yosemite
  • Mac: Eliminate checkbox animation in dialog boxes on OS X 10.10 Yosemite
  • Windows: Automatically adapt typefaces for for high-dpi displays
  • Linux: Improved Ubuntu font rendering (spacing for monospace, font face for proportional)
  • Linux: Don’t link to R BLAS and LAPACK on RedHat/Fedora (R 3.1 compatibility)
  • Git/SVN menu on global toolbar with commands for active file and project
  • Added history, zoom, and export for static HTML widgets in Viewer pane
  • View/Blame on GitHub commands for GitHub projects (file or selection driven)
  • Display current Git branch in main window title
  • Added stringsAsFactors and options to Import Dataset
  • Restore previously entered input to console after executing commands
  • Increase limit on active plots from 30 to 100
  • Added documentation on which version rstudio package functions were introduced
  • Updated GWT library to version 2.6.0
  • Updated pdf.js for improved performance and fidelity of PDF preview
  • R 3.2: Use new API for accessing tools::httpdPort
  • R 3.2: Support for Rtools 3.2

Bug Fixes

  • Disable spell checking and auto-correction in text entry fields
  • Fix debugger line highlighting for functions invoked with :: at the console
  • Fix for package breakpoints set after library() sometimes missing srcrefs
  • Fix cursor positioning on OS X when CJK characters are present
  • Handle Windows junctions (soft links) in the Files Pane
  • Correctly scale satellite windows in Windows high DPI mode
  • Prevent slowdown in scrolling and editing for large Rmd and Sweave files
  • Preserve working directory when restarting R while not in a project
  • Fix for intermittent R Pubs upload failures
  • Environment: prevent view of large data frames from collapsing on update
  • Packages: Don’t check dependency status when repos = NULL
  • Packages: Respect repository option already set from .Rprofile
  • Packages: Don’t use –with-keep.source for R < 2.14
  • Plots: fix issues with copy plot to clipboard on OS X
  • Plots: prevent spurious warnings when rendering plots from already closed device
  • Help: handle internal redirects from R help correctly on Windows & Linux
  • Server: Fix issue which caused extra bytes at end of some file uploads
  • Server: Prevent freeze when concurrently reading both ends of proxied websocket
  • Server: Enable loading of IDE within an iframe in Firefox
  • Server: Don’t remove /usr/[s]bin soft links during upgrades
  • Server: Fix python egg cache issue with metrics script
  • Server: Ensure helper processes run as server user and terminate with parent
  • Server: Fix completion window dismissal issue in Ubuntu Chrome
  • Mac: Correctly detect OS X command line tools on OS X Yosemite
  • Mac: Prevent extra line from being copied in Safari 8
  • Prevent loading of videos in HTML Preview (caused crashes in some configurations)
  • Respect ‘whole word’ option in source editor replace operations
  • Eliminate compiler errors when building on Ubuntu 14.04
  • Correctly recognize application/xml as a text file type in the source editor
  • Prevent crash which occurred after opening a QtWebKit web inspector
  • Prevent error messages during session termination
  • Fix for Windows crash when ESC key pressed at startup
  • Fix for installing packages when repos option is an unnamed vector

Package Development

This release includes a variety of tools to support R package development, including:

  • A new Build tab with various package development commands and a view of build output and errors
  • Build and Reload command that rebuilds the package and reloads it in a fresh R session
  • Incremental reload is very fast and preserves the state of the previous R session, providing quick turnarounds and much more interactive workflow for package development
  • Additional commands for checking packages and building source and binary packages
  • Ability to create a new package based on existing R source files

There are also a number of features aimed at making it easier to write R documentation:

  • Preview and optional automatic preview on save for Rd files
  • Spell-checking for Rd files
  • Syntax highlighting, code-completion, and re-flowing for Roxygen comments
  • Ability to automatically invoke Roxygen prior to package builds

There is also integration with the devtools package, including:

  • Load All command and keyboard shortcut (Ctrl+Shift+L) that calls devtools::load_all
  • All package installations respect the development library established by devtools::dev_mode
  • Automatic restoration of devtools::dev_mode when reloading and restarting R sessions


This release includes many new features to support seamless R and C++ integration using Rcpp, including:

  • Syntax highlighting for C/C++

  • Quick navigation to gcc errors and warnings

  • Support for Rcpp Attributes:

    • Command w/ keyboard shortcut for Rcpp::sourceCpp
    • Editor support for embedded R code chunks in C++ source files
    • Automatic calls to Rcpp::compileAttributes for package builds
  • New project option to create “Package w/Rcpp”

  • Automatic unloading of Windows dynamic libraries before package builds

  • Editor support for Rcpp code chunks in R Markdown

Source Editor

  • Find and Replace improvements:

    • Incremental search
    • Find/Replace in selection
    • Backwards find
    • Options for whole word and wrap
  • Automatic indentation improvements:

    • Full support for auto-indent in Sweave/knitr code chunks
    • More intelligent handling of closing braces
    • Recognize operators (e.g. ‘+’ for ggplot) as expression continuations
    • Option to control whether function arguments are vertically aligned
    • Option to disable auto-indent after pasting code into editor
  • Vim editing mode

  • Tomorrow suite of editor themes

  • Surround selected text with quote/brace/paren/etc. on key input

  • Jump to matching brace/param (Ctrl+P)

  • New options: show whitespace, show indent guides, non-blinking cursor

  • Advance to next line after executing a selection from the editor

  • Significantly improved file-type detection (automatically open all files detected as text)


  • More intelligent history navigation with up/down arrow keys
  • Confirm if attempting to quit while R console is busy
  • Improved auto-scroll behavior in the console
  • Option to focus console after executing code from editor
  • Send interrupt for ESC key even if server doesn’t appear to be busy
  • Display error output in distinct color for TextMate theme (and some others)


  • Plot zoom window improvements:

    • Automatically refreshes with plots pane
    • Remembers and restores it’s size (within each session)
  • Use bg=transparent option for plots to RStudio device

  • Always use native R png device with cairo bitmapType on Linux

  • Default plot export dialogs to current size of plots pane

  • Option to use cairo_pdf for PDF plot export on platforms where it is available

  • Set useDingbats = FALSE for PDF plot export (for compatibility with broader set of PDF viewers)

  • Compatibility with R Graphics Engine version 10 (R-devel)


  • Install Packages dialog can now install both source and binary packages
  • Warn and offer optional restart when updating packages that are currently loaded
  • Display package version and tooltip indicating which library they are installed in
  • Option to use RStudio CRAN mirror (Amazon S3/CloudFront)
  • Install rstudio and manipulate packages in default user library (R 3.0)


  • New option to control whether hidden objects are removed in Clear All
  • Confirm prior to editing large (length >= 100) workspace objects
  • Call read.csv directly when possible in import dataset (compatibility with spreadsheets exported as CSV from LibreOffice)
  • Custom workspace display for ore.frame objects
  • Treat objects of type data.table and cast_df as data


  • Added a Log button to the HTML preview window for reviewing the compilation log
  • Changed insert chunk keyboard shortcut to Cmd+Alt+I
  • Enable syntax highlighting inside of Markdown lists
  • Add docs on inline R code to markdown quick reference
  • Markdown rendering no longer performs a hard wrap for newlines
  • Ignore Pandoc title blocks and YAML front-matter when rendering markdown
  • Don’t use new window to open links from Markdown generated HTML documents
  • Parse new knitr error message format for enhanced R error diagnostics
  • Removed stitch notebook option
  • Append rather than prepend /opt/local/bin to path (prefer MacTeX over MacPorts Tex)
  • Explicitly pass file encoding to Sweave and knitr


  • Compatibility with R 3.0
  • Ability to specify a global UI zoom-level
  • Improved keyboard navigation for the Help pane (Ctrl+F, incremental search)
  • Show directory disambiguater when multiple projects in the MRU share the same name
  • Support for OS X Lion full screen mode
  • Add Ctrl+Q shortcut for quit on Windows on Linux
  • Change replace and find keyboard shortcut to Cmd+Shift+J
  • Change Chrome close window shortcut to Cmd+Shift+Z
  • Preface Alt keyboard shortcuts on the Mac with Cmd (international keyboard compatibility)
  • Preference to control whether –internet2 is enabled on Windows
  • Find in files search pattern defaults to current selection
  • Remember find in files search scope (per-project) across sessions
  • RSTUDIO environment variable is set at startup (for detecting RStudio within .Rprofile)
  • New ‘rstudio’ package with versionInfo and diagnosticsReport functions
  • Change Windows stack size to 20MB (was 10MB in v0.96)
  • Sign Windows installer using Authenticode
  • Use DYLD_FALLBACK_LIBRARY_PATH rather than DYLD_LIBRARY_PATH to bind to libR on OS X
  • More robust handling of errors that occur during quit
  • Reduce error option related overhead of calls from C++ to R
  • Remove legacy 32MB minimum memory limit


  • New Restart R and Terminate R commands
  • More graceful recovery if the underlying R session crashes or is unable to start
  • Diagnostic tools for troubleshooting startup and configuration problems
  • Prohibit opening binary files in the source editor
  • Improved detection of invalid or too-large source files at startup
  • Prevent OS X freeze which occurs when more than one modal dialog shows at startup.
  • Use Recycle Bin for file deletion on Windows and OS X

RStudio Server

  • Suspend now saves and restores .libPaths and environment variables
  • Suspend now correctly handles packages loaded from a custom lib.loc
  • Option to automatically re-execute .Rprofile on session resume
  • Automatic installation of dependencies on Debian/Ubuntu using gdebi
  • Fix execute rule conflict with AppArmor base abstraction
  • Ability to discover R in non-standard filesystem locations

Bug Fixes

  • Don’t allow console width to be set to an invalid value
  • Correct default project file name for project directories containing a period
  • Remove files from MRU list if an error occurs while opening them
  • Recognize .q and .s files as R source files
  • Show forward and back buttons for Rmd and Rnw source documents
  • Enable shell escape option for LaTeX now works correctly on Windows
  • Fix for execute current/next chunk not working in certain cursor states
  • Code folding keyboard shortcuts now work for non-top level code blocks
  • Correctly display next/previous tab shortcuts on Linux
  • Advance to empty line after executing last line in the document
  • Yank (Ctrl+U) shortcut now works as intended on all platforms
  • Prevent selection of user-interface elements (only text can be selected)
  • Ensure that serialization progress always appears above global toolbar
  • Restore focus to editor after switching file types
  • Restore focus to main window after open/save dialogs are dismissed
  • Ensure that Git/SVN and document preview windows correctly reactivate in Chrome
  • Use correct SVN directory even when working directory changes
  • Set locale correctly on OS X (including respecting locale preferences)
  • Set R_ARCH in multi-arch builds of R for OS X
  • Print warning when running against MacPorts R that is compiled without aqua/quartz
  • When scanning for R script don’t treat /usr/bin/R as a script if it’s actually a directory
  • Fix OS X crashes that occurred sporadically for some list boxes in the options dialog
  • Don’t prevent application exit when errors occur while reverting source documents
  • Don’t show plot preview if it’s larger than available screen space
  • Prevent simultaneous display of message box and update dialog
  • Ctrl+W can now closes the plot zoom window
  • Use correct parameters to ensure a valid EPS file is exported
  • Show correct number of variables in data viewer
  • Automatically hide history popup panel when clicking away from it
  • Correctly handle package status when multiple versions of packages are installed
  • Update status of packages even when they are hidden by a filter
  • Don’t call packageVersion for compatibility with R 2.11.1
  • RShowDoc type=html now works correctly on Windows
  • browseURL can now open HTML documents now prefaced by the file:// protocol
  • browseURL in desktop mode no longer performs additional URL encoding
  • Ensure that PDF preview works even when concordance isn’t available
  • Display search results when looking up help term with more than one matching symbol
  • PDF links now open correctly from the Help pane
  • Always use bundled gnu grep on windows (rather than other versions of grep that might be in the path)
  • Eliminate upstart and AppArmor mis-detection on Debian testing
  • Prevent freeze when loading large line-wrapped source files on Chrome for Linux

Sweave / knitr

  • Spell checking for Sweave and TeX documents.
  • Integrated PDF previewer that supports two-way synchronization (SyncTeX) between the editor and PDF view.
  • Support for weaving Rnw files using the knitr package (requires knitr version 0.5 or higher).
  • Parsing of TeX error logs to extract errors, warnings, and bad boxes and present them in a navigable list.

Web Publishing

  • Editing and previewing R Markdown and R HTML files (like Sweave except for web pages).
  • Creation of easy to distribute standalone HTML files (with embedded images).
  • Support for including LaTeX and MathML equations in web pages using MathJax.

Source Editing

  • Find in files with regular expressions.
  • Code folding (expanding and collapsing regions of code).

0.96.331 — August 27th, 2012


  • Fix issue with git console flashing on windows

0.96.330 — August 6th, 2012


  • Retina display font rendering for new MacBook Pro
  • Add Ctrl+R as a shortcut for Run Code on Windows
  • Improved window restoration behavior (especially for multi-monitor configurations)
  • Prevent console from flickering after it has been cleared
  • Always initialize projects even while the underlying filesystem doesn’t support locking
  • Never overwrite exiting project file when creating a new project
  • Ensure that source-on-save setting is always respected
  • Source documents no longer marked as dirty if they are changed while RStudio is closed
  • Find in Files updated to work correctly with OS X 10.8 grep
  • RStudio Server compatibility with Safari 6

0.96.316 — June 29th, 2012


  • Ability to define custom markdown rendering function to override default handling
  • HTML preview improvements: set focus on load, preserve anchor when refreshing
  • New notebook types based on calling knitr::stitch and knitr::silk
  • No longer require \ escape for MathJax native equations


  • Syntax highlighting mode for C/C++
  • Use current project directory as default for save as dialog
  • Fix for narrowing of console width after external PDF preview

0.96.304 — June 8th, 2012


  • Added Create Notebook for quick reports from R scripts


  • Support for wider variety of equation delimiters

0.96.233 — June 7th, 2012


  • Rebuild from correct v0.96 branch

0.96.231 — June 5th, 2012


  • Fix publish to RPubs on Windows

0.96.230 — June 4th, 2012


  • Support for publishing markdown documents to RPubs

0.96.228 — May 26th, 2012


  • Fix symbol lookup incompatibility with R-devel

0.96.227 — May 25th, 2012


  • Introduce more explicit syntax for equation embedding to eliminate parsing ambiguities
  • Update docs to reflect no current support for ASCIIMath equations

0.96.225 — May 23rd, 2012


  • Comment/Uncomment for LaTeX and Sweave files
  • Call Sweave/knitr with –no-save and –no-restore (rather than –vanilla)
  • Default to calling pdflatex or xelatex directly (rather than using texi2dvi)
  • Don’t spell-check cite* or bibitem commands


  • Create new documents using a basic template that documents R Markdown syntax
  • Eliminate table borders in Markdown CSS
  • Improved document title detection
  • Added documentation on R code blocks to Markdown quick reference


  • Use a local version of MathJax for previews (enabling MathJax preview even when offline)
  • Use SVG for local MathJax previews on the Mac (but still publish as HTML/CSS)
  • Allow embedding multiple inline equations on a single line
  • Allow inline equation definitions to span across multiple lines
  • Only include HTML-CSS options in local preview mode
  • Link to the https version of the MathJax scripts in generated HTML file

Source Editing

  • Changed Comment/Uncomment shortcut to Ctrl+Shift+C
  • Fixed issue with clipboard shortcuts on Japanese keyboard layouts
  • Fixed inability to enter braces in international keyboard layouts on the Mac
  • Execute current function now works (fixed regression)


  • Developer ID code signing for Mac
  • Add libjpeg62 dependency for Ubuntu 12.04
  • Fix symbol lookup incompatibility with R-devel
  • Prevent console access by forked child processes

0.96.122 — May 14th, 2012

Sweave / knitr

  • Spell checking for Sweave and TeX documents.
  • Integrated PDF previewer that supports two-way synchronization (SyncTeX) between the editor and PDF view.
  • Support for weaving Rnw files using the knitr package (requires knitr version 0.5 or higher).
  • Parsing of TeX error logs to extract errors, warnings, and bad boxes and present them in a navigable list.
  • Chunk option auto-complete, chunk folding, jump to chunk, and iterative execution of chunks.
  • Compilation based on multiple input files (support for specifying a root TeX document) .
  • TeX formatting commands, block comment/uncomment, and various new compilation options.

Web Publishing

  • Editing and previewing R Markdown and R HTML files (like Sweave except for web pages).
  • Creation of easy to distribute standalone HTML files (with embedded images).
  • Support for including LaTeX and MathML equations in web pages using MathJax.

Source Editing

  • Find in files with regular expressions.
  • Code folding (expanding and collapsing regions of code).
  • Automatic comment reflowing (Cmd+Shift+/).
  • Smart editing of Roxygen comments.
  • Syntax highlighting for Markdown, HTML, Javascript, and CSS files.
  • New font customization options.


  • Fixed incompatibility with Winbind for PAM authentication.
  • Fixed editor cursor off by one line problem that occurred after rapid scrolling.
  • Updated to Qt 4.8: required for PDF viewer and to fix OS X Lion trackpad scrolling issue (however as a result 32-bit Mac systems and OS X 10.5 are no longer supported).


  • Fix R 2.15 startup problem when libraries with missing dependencies are loaded in .Rprofile

0.95.263 — March 15th, 2012


  • Shortcuts no longer disabled after showing SVN commit dialog

0.95.262 — February 28th, 2012


  • Fix JPEG, TIFF, and BMP plot exporting for R 2.14 on OS X

0.95.261 — February 15th, 2012

Source Editor

  • Bypass corrupt source documents on startup

0.95.258 — January 31st, 2012

Version Control

  • Git https authentication now works on Mac OS X
  • Fix for startup problems when a pane layout includes only a (hidden) Git or SVN panel


  • Fixed various issues with project paths containing non-Ascii characters on Windows
  • Eliminate spurious display of scrollbars for History pane with Ubuntu Mono typeface
  • Correctly launch Chrome on Windows for external URLs (when it is the default system browser)

0.95.256 — January 25th, 2012


  • Create projects that enable easy switching between working directories

  • Each project has its own RStudio context:

    • R session
    • Open source documents
    • Arrangement of panes
    • History
    • Saved workspace (.RData)
  • All R code within a project is indexed for quick navigation by filename or function

  • Projects can be bound to version control repositories (Git or Subversion)

  • File-association for .Rproj files to open projects from the shell

  • Open multiple instances of RStudio with different projects concurrently

Code Navigation

  • Quickly navigate to any file or function within a project using typeahead search

  • Go To Function Definition:

    • Go to the definition of function currently at the cursor (F2 or Ctrl+Click)
    • Works for both indexed source code as well as functions defined within packages
    • Special handling for S3/S4 methods with multiple definitions
  • Back and Forward commands for quickly traversing navigation contexts (including tab switches)

Version Control

  • Integrated support for binding projects to Git and Subversion repositories

  • Git/SVN pane:

    • View current changelist
    • Stage or revert changes
    • Push/pull/update
    • Switch branches
  • Review changes window:

    • Diff pending changes
    • Incremental stage/discard of chunks (Git)
    • All functions from Git/Svn pane also available
  • History window:

    • View the history of all changelists (and their associated diffs) for a project
    • View changelists that affect only a specific file or directory
    • Filter changelists by subject (Git)

Other New Features

  • Support for multiple concurrent instances of RStudio

  • Global toolbar for accessing common file/navigational commands

  • Source editor improvements:

    • Jump to Line
    • Reindent Lines
    • Automatically re-indent lines on paste
    • Save All and Close All commands
    • Immediate refresh of documents changed in external editors
  • Manipulate package:

    • Button control
    • Function to capture mouse coordinates (manipulatorMouseClick)
  • Shell command:

    • Desktop: open system terminal in current directory
    • Web: open web-based terminal in current directory
  • Use native Ubuntu monospace and proportional fonts on newer Ubuntu systems (11.10+)

  • Support for \1..\99 and \n, \r, \t in regex search & replace

Bug Fixes

  • Correctly highlight variables which include dot (.) in their names
  • Prevent unmapped command keys on OSX from inserting characters in the editor
  • Correctly handle context-sensitive help requests for functions which include underscore (_) in their names.
  • Remove syntax highlighting for strings within LaTeX.
  • Improve precision of click-selection on variables in the editor
  • F1-help now works properly for Google Chrome browsers
  • Don’t auto-insert matching quotes for string-terminating quotes
  • Disable quote-matching in Roxygen comments
  • Fix cursor-position issues in soft-wrapped documents
  • Run function definition now works correctly on Windows
  • Preserve scroll position for History pane across activations
  • Fix re-rendering of R 2.14 lattice plots after server suspend/resume
  • data.css is now correctly served when running behind a reverse proxy


  • Fix Ubuntu 64-bit packaging issue that was introduced in 0.94.109

0.94.110 — October 3rd, 2011

Source Editor

  • Fix Ubuntu 64-bit packaging issue that was introduced in 0.94.109

0.94.109 — October 3rd, 2011

Source Editor

  • Fix intermittent problems with autoindent

0.94.106 — September 22nd, 2011

R 2.14

  • Temporarily disable support for dev.hold / dev.flush (need to buffer flushes to reduce http round trips)

0.94.105 — September 12th, 2011

R 2.14

  • Support for Graphics Engine v9 (dev.hold, dev.flush, and dev.capabilities)
  • Parallel package compatibility (corrected problem with child process signal handling)
  • Eliminate readLines warning (for incomplete last line) from startup and after source of active document

0.94.102 — August 22nd, 2011


  • Enforce editor file size limits (1MB warning, 5MB absolute limit) in desktop mode
  • Improved track-pad responsiveness for scrolling on OSX Lion
  • Use short file name variant for R.home() on Windows
  • Use privileged mode for PAM authentication on Ubuntu
  • Correct escaping of apostrophes in settings files
  • Enable select none button in package update dialog

0.94.92 — July 11th, 2011

Source Editor and Console

  • Added Source with Echo command (Ctrl-Shift-Enter)
  • Editor toolbar menu for specifying default source echo behavior
  • Sourcing of saved files uses file’s path rather than temporary file
  • Change Run All shortcut to Ctrl-Shift+R and remove from toolbar
  • All commands from multiline input are recalled by up-arrow
  • Correctly handle spacing for ampersands within quotes
  • Fix for misalignment of text with embedded tabs
  • Correct indentation behavior when in hard tab mode


  • Improved detection of TeX installation on OS X
  • Prevent activation of external console window on Windows


  • Correct state for dev.interactive even when graphics device not yet loaded
  • Delegate to shell for unknown file types in desktop mode
  • Eliminate warning messages resulting from display of bquote assignments in workspace
  • Skip reading of .DS_Store files in source database directory
  • Prevent crash when timestamp is called from .Rprofile on Windows

0.94.82 — June 15th, 2011

Source Editor and Console

  • Run code:

    • Run all lines in source file
    • Run to current line
    • Run from current line
    • Redefine current function
    • Re-run previous region
    • Code is now run line-by-line in the console
  • Brace, paren, and quote matching

  • Improved cursor placement after newlines

  • Support for regex find and replace

  • Optional syntax highlighting for console input

  • Press F1 for help on current selection

  • Function navigation / jump to function

  • Column and line number display

  • Manually set/switch document type

  • New themes: Solarized and Solarized Dark


  • Improved image export:

    • Formats: PNG, JPEG, TIFF, SVG, BMP, Metafile, and Postscript
    • Dynamic resize with preview
    • Option to maintain aspect ratio when resizing
    • Copy to clipboard as bitmap or metafile
  • Improved PDF export:

    • Specify custom sizes
    • Preview before exporting
  • Remove individual plots from history

  • Resizable plot zoom window


  • History tab synced to loaded .Rhistory file

  • New commands:

    • Load and save history
    • Remove individual items from history
    • Clear all history
  • New options:

    • Load history from working directory or global history file
    • Save history always or only when saving .RData
    • Remove duplicate entries in history
  • Shortcut keys for inserting into console or source


  • Check for package updates

  • Filter displayed packages

  • Install multiple packages

  • Remove packages

  • New options:

    • Install from repository or local archive file
    • Target library
    • Install dependencies


  • Find text within help topic
  • Sort file listing by name, type, size, or modified
  • Set working directory based on source file, files pane, or browsed for directory.
  • Console titlebar button to view current working directory in files pane
  • Source file menu command
  • Replace space and dash with dot (.) in import dataset generated variable names
  • Add decimal separator preference for import dataset
  • Added .tar.gz (Linux) and .zip (Windows) distributions for non-admin installs
  • Read /etc/paths.d on OS X to ensure RStudio has the same path as terminal sessions do
  • Added manifest to rsession.exe to prevent unwanted program files and registry virtualization


  • Break PAM auth into its own binary for improved compatibility with 3rd party PAM authorization modules.

  • Ensure that AppArmor profile is enforced even after reboot

  • Ability to add custom LD library path for all sessions

  • Improved R discovery:

    • Use which R then fallback to scanning for R script
    • Run R discovery unconfined then switch into restricted profile
  • Default to uncompressed save.image output if the administrator or user hasn’t specified their own options (improved suspend/resume performance)

  • Ensure all running sessions are automatically updated during server version upgrade

  • Added verify-installation command to rstudio-server utility for easily capturing configuration and startup related errors

Bug Fixes

  • Undo to unedited state clears now dirty bit

  • Extract function now captures free variables used on lhs

  • Selected variable highlight now visible in all themes

  • Syncing to source file updates made outside of RStudio now happens immediately at startup and does not cause a scroll to the bottom of the document.

  • Fixed various issues related to copying and pasting into word processors

  • Fixed incorrect syntax highlighting issues in .Rd files

  • Make sure font size for printed source files matches current editor setting

  • Eliminate conflict with Ctrl+F shortcut key on OS X

  • Zoomed Google Chrome browser no longer causes cursor position to be off

  • Don’t prevent opening of unknown file types in the editor

  • Fixed sporadic missing underscores (and other bottom clipping of text) in console

  • Make sure console history is never displayed offscreen

  • Page Up and Page Down now work properly in the console

  • Substantially improved console performance for both rapid output and large quantities of output

  • Install successfully on Windows with special characters in home directory name

  • make install more tolerant of configurations where it can’t write into /usr/share

  • Eliminate spurious stderr output in forked children of multicore package

  • Ensure that file modified times always update in the files pane after a save

  • Always default to installing packages into first writeable path of .libPaths()

  • Ensure that LaTeX log files are always preserved after compilePdf

  • Fix conflicts with zap function from epicalc package

  • Eliminate shortcut key conflicts with Ubuntu desktop workspace switching shortcuts

  • Always prompt when attempting to save files of the same name

  • Maximized main window now properly restored when reopening RStudio

  • PAM authorization works correctly even if account has password expiration warning

  • Correct display of manipulate panel when Plots pane is on the left

New Features

Source editor enhancements

We’ve added some new features & options to the source editor. We’ve also received lots of feedback on more advanced capabilities users want in the editor and we will definitely address this in upcoming releases. New stuff in the editor includes:

  • Highlight all instances of selected text
  • Insert spaces for tabs (soft-tabs)
  • Customizable print margin line
  • Selected line highlight
  • Toggle line numbers on/off
  • Optional soft-wrapping for R source files

The docs on source code editing options include more details.

Customizable layout and appearance

One of the most frequently requested features we’ve have is the ability to put the Console and Source views side-by-side. This configuration (and others) are now possible. New appearance and layout options include:

  • Customize locations of panes and tabs
  • Change default font size for code views
  • Select from various editor themes including TextMate, Eclipse, and others.

For more details see the docs on appearance and layout options.

Interactive plotting (manipulate)

This release includes a package called manipulate that can be use to create interactive plots within RStudio. Manipulate is very flexible and includes the following capabilities:

  • Generate plots with inputs bound to custom controls (rather than being hard-coded to a single value)
  • Variety of control types including slider, picker, and checkbox.
  • Controls appear next to the plot and can be easily shown and hidden

More details as well as screenshots with examples can be found in the manipulate documentation.

Works with R installed from source

The first beta of RStudio was compatible with the binary version of R distributed from CRAN. The current release works with any version of R, including:

  • R built and installed from source using make install
  • MacPorts or Homebrew versions of R on MacOS X

The docs on using different versions of R describe how RStudio determines which R to run against on each platform.

Character encoding

In this release we’ve significantly improved handling of non-ASCII characters, this includes:

  • Unicode characters can be used for input and output in the console.
  • The source editor supports Unicode characters and can open/save files using any character encoding.
  • A product-wide default encoding can be set, and can be overridden on a per-document basis.

See the character encoding documentation for more details.

Improved management of working directories

We’ve added a number of new features to make it easier to switch between working contexts located in different directories. These include:

  • Option to specify a default initial working directory
  • Tools - Change Working Dir menu command to change both the working directory and Files pane.
  • Optional file associations for .RData and .R that initialize RStudio within the opened file’s directory
  • Windows: Startup in working directory specified for shortcuts
  • Mac: Startup in folder dragged and dropped on RStudio Dock icon
  • Linux: Startup in terminal working directory when run from the command line

The docs on working directories and workspaces go into more depth on these features.

Other Enhancements


  • Recognize \r character in console so that txtProgressBar works as expected
  • Lift restrictions on size of console input which can be sent to R (was 4K total, is now 4K per line)
  • Jump to next non-blank line in source after executing via Ctrl-Enter

Source Editing

  • Improved size and legibility of default fonts on Windows & Linux

  • New keyboard shortcuts:

    • Alt- for inserting assignment (“<-") operator.
    • Ctrl+Shift+Home/End for select to start/end
    • Ctrl+Shift+P for Compile PDF
  • Add “return” to list of symbols syntax highlighted as a keyword


  • Compatible with R 2.11.1 on Mac (previously required R 2.12)

  • Added CFBundleSignature to Mac version

  • Correctly initialize memory.limit to available physical memory on 64-bit Windows

  • Ensure that R uses Internet2 on Windows for interoperability with proxy servers.

  • Compatibility with changes to the R 2.13 internal web server (pass headers to custom handlers).

  • Allow RStudio desktop to run under root account

  • Improved support for openSUSE (still requires install from source):

    • Added install-dependencies-zypper script
    • Added init.d script for daemon management

Packaging and Installation

  • Added RStudio.version function to show current version of RStudio

  • Changed name of RStudio binary from rdesktop to rstudio (avoid conflict with existing rdesktop binary)

  • Added /usr/bin/rstudio soft-link

  • Change DEB and RPM dependency on base R package to “recommends” rather than “depends”

  • Made it more straightforward to install from source:

    • Eliminated git pull requirement (can now build directly from tarball)
    • Optionally use system package manager installed versions of Qt4 & Boost


  • Added Tools menu with Interrupt R, Change Working Dir, and Options commands.
  • Add support for loading .rda files into Workspace.
  • Improved file icons including new custom icons for Rnw and Rd files.
  • Respect both R_USER and HOME environment variables for determining location of R home directory
  • Render plot changes on calls to Sys.sleep (enables animated plots)
  • Workaround Ubuntu TeX ~ substitution bug by using pdflatex rather than texi2dvi

Bug Fixes


  • Workspace restored message prints at startup even if no workspace was restored
  • Numeric keypad Enter and navigation keys not correctly interpreted by console
  • Esc key not always correctly interpreted when attempting to exit from incomplete command.

Source Editing

  • Source pane can become fully selected and impossible to unselect.
  • Control-Enter to execute sometimes results in selection not updating properly
  • Jump to Word (Ctrl+Right) doesn’t navigate past ‘[’ character.
  • Ctrl+Backspace doesn’t delete previous word on Windows
  • Characters illegible when Lucida Grande is installed on Mac systems
  • Active tab in source mode sometimes hidden or partially obscured
  • Control+S repeats last Undo/Redo on Firefox 3.6
  • Print from source view not working in Firefox 4
  • Eliminate key binding conflicts for international keyboard layouts
  • Incorrect shortcut key displayed in tooltip for Run from source commands
  • Variables with dots (".") in their names not highlighting on double-click.


  • Graphics device not reselected after closing other device (e.g. pdf or png device)
  • X11 device and rgl package not working properly on on Mac.
  • Save as PNG command not working on Linux
  • Re-entrant plot rendering routine causes crash for plots which take a long time to be rendered.
  • plotmath expressions not rendered correctly
  • Plot history can grow arbitrarily large and cause disk/memory problems.


  • rJava package not working on Linux due to incomplete LD_LIBRARY_PATH
  • Not always correctly detecting whether TeX is installed
  • Dependency on psmisc package not specified for RStudio Server
  • Incorrect file association for download of RPM on Fedora


  • Failed to start when running behind some proxy server configurations.
  • Unable to initialize from .Rhistory file that is owned by root
  • Exit delay of 2-3 seconds in Mac version
  • Crash when custom gtk theme contains missing or invalid images for standard icons
  • Unresponsiveness when viewing extremely large data frames
  • Conflicting RStudio instances running in parallel if launched from different executable paths