RStudio v0.97.551

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

Rcpp

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)

Console

  • 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)

Plots

  • 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)

Packages

  • 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)

Workspace

  • 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

Sweave/knitr

  • 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

Miscellaneous

  • 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

Robustness/Diagnostics

  • 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 R.app 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