RStudio v0.97 — Release Notes
v0.97.551 — May 11th, 2013
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_modewhen 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::compileAttributesfor 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