Skip to content

Latest commit

 

History

History
322 lines (241 loc) · 16.2 KB

CHANGELOG.md

File metadata and controls

322 lines (241 loc) · 16.2 KB

Changelog

3.4.0 - 2026-11-09

Compatibility and upgrade notes

  • Raised the minimum supported VS Code version to 1.101.0 (Node.js 22). (#1850, #1906)

New features

  • Terminal startup and manual attachment now offer to install jgd and rstudioapi into a vscode-R-managed tool library, with consent, without modifying user or project libraries. (#1907, #1909)

Improvements and bug fixes

  • Improved workspace refresh, R Interactive output, and editor responsiveness. (#1908, #1921)
  • Improved session startup reliability and fixed Help navigation and plot loading. (#1921)

Full Changelog: https://github.com/REditorSupport/vscode-R/compare/v3.2.2...v3.4.0

The comparison also lists #1911, which was already released in 3.2.2 via a backport.

3.2.2 - 2026-10-26

  • Restored httpgd plot and local help rendering with EJS 7. (#1911)

Full Changelog: https://github.com/REditorSupport/vscode-R/compare/v3.2.1...v3.2.2

3.2.1 - 2026-10-24

Improvements and bug fixes

  • Accepting a function or method completion that inserts parentheses now opens signature help, respecting editor.parameterHints.enabled. (#1878)
  • Fixed session column completion in grouped and nested pipelines, including native R pipes and magrittr pipes. (#1901)
  • Added an explicit Apply button and Blank option for filtering logical columns in the data viewer, including missing (NA) values.
  • Fixed R Interactive plots disappearing during incremental output updates. (#1888)
  • R Interactive execution timing now includes final output delivery and is retained across reconnects. (#1888)

Full Changelog: https://github.com/REditorSupport/vscode-R/compare/v3.2.0...v3.2.1

3.2.0 - 2026-10-15

Compatibility and upgrade notes

  • Lowered the minimum supported VS Code version from 1.110 to 1.98.2. (#1832, #1855)
  • The httpgd backend now requires httpgd 2.0.1 or later. (#1855)
  • sess now requires IPC protocol 2 and an exact bundled source revision; restart R if a different sess is already loaded. (@Fred-Wu, #1819, #1840, #1856)
  • When using isolated R libraries (e.g. with renv), install any missing R package dependencies of sess in each environment's library. (#1856)
  • Removed sess::register_hooks() and the use_httpgd/use_jgd arguments; use sess::connect(plot_backend = ...) instead. (#1847)
  • Plot backend settings are no longer synchronized between machines by Settings Sync. (#1817)

New features

  • Added paged list and vector viewers with nested expansion, parent/child navigation, and reset controls. (@Fred-Wu, #1835)
  • Data and list viewers stay bound to their source session and show its R version and process ID. (@Fred-Wu)
  • HTML Viewer now reuses a tab per session, with output history, navigation, removal, and restoration after closing the tab or reloading VS Code. (#1852)
  • Added r.plot.backend: "native" to preserve R's configured graphics device while retaining other session integrations. (#1817)
  • sess setup now uses the target R process and asks before installing into a managed library, leaving user and project libraries unchanged. (#1856)
  • Added options(sess.quiet = TRUE) to suppress successful connection messages. (#1795)
  • Experimental: Persistent R Interactive sessions with retained history, rich outputs, and automatic input formatting; requires arf on Linux/macOS, with Windows and console input/debugger prompts currently unsupported. (#1805, #1830, #1835, #1867)

Extension API

  • Added getRExecutablePath(resource?) to resolve the configured R executable. (#1813)
  • Added session.prepareAttachment() to prepare managed sess in an extension-owned R process, including through a local proxy endpoint. (#1868)
  • Extended session.activate(sessionId, { terminal }) to route Workspace actions to extension-owned terminals; bindings must be renewed after reconnecting. (#1837)
  • Added onDidChangeSessionConnection, getSessionReference(), attachment/connection IDs, and selection controls (autoActivate, select). (#1870)
  • Added session.registerTerminalIntegration() to delegate manual attachment recovery to external terminals without bypassing their transport. (#1871)

Bug fixes

  • Prevented unintended R code evaluation when hover or completion has no valid expression range. (#1803)
  • Initial code submission now waits for the terminal's own session attachment and package preparation. (#1821, #1856)
  • Applied configured R library paths before looking for renv in language server and help processes. (#1797)
  • Prevented overlapping standard plot renders and stale results after session switches or viewer changes. (#1844)
  • Fixed stale viewer disposal/responses, custom list extraction, and duplicate evaluation of active bindings. (@Fred-Wu)
  • Fixed HTML Viewer search, fragment links, authored HTML preservation, and navigation blocked by missing load confirmation. (#1852)
  • Fixed Interactive dependency loading in isolated libraries and preserved cells and drafts across reloads. (#1843, #1861)
  • Removed duplicate startup prompts and unwanted TRUE/FALSE output. (#1795, #1864)
  • Manual attachment now handles R errors and interrupts while keeping the R prompt usable. (#1868)

Internals and development builds

  • Added daily pre-releases to the VS Code Marketplace and Open VSX after successful verification. (#1833, #1834)
  • Reduced VSIX assets and runtime dependencies, including replacing httpgd-js with built-in transports. (#1849, #1855)
  • Updated build tooling, shared release verification, and dependencies, including security fixes. (#1792, #1814, #1818, #1823)

Full Changelog: https://github.com/REditorSupport/vscode-R/compare/v3.0.1...v3.2.0

3.0.1 - 2026-09-28

  • Bump version of both the extension and sess to 3.0.1 so users who installed an earlier 3.0.0 pre-release build of sess (before its connection protocol was finalized) are prompted to reinstall sess. (#1794)

Full Changelog: https://github.com/REditorSupport/vscode-R/compare/v3.0.0...v3.0.1

3.0.0 - 2026-09-27

v3.0.0 of the R Extension for VS Code is a major release. It introduces a significant architectural change via the (new) sess R package, which powers faster and more robust communication with the underlying R session. In turn, this has allowed us to close numerous long-standing bugs, as well as enable a variety of ancillary improvements and feature requests. The extension bundles its own copy of sess and will offer to install it (on your behalf) if it is missing or outdated. See the sess README for more details.

Highlights

  • More reliable R sessions: Session communication now uses sess with local sockets or named pipes. Managed R sessions can reconnect after a VS Code window reload, and workspace updates no longer delay code submission when the environment contains large objects.
  • More flexible plot viewing: r.plot.backend selects jgd, httpgd, or the standard graphics device. Automatic selection prefers jgd when installed, then httpgd, then the standard device.
  • Faster, more capable data and workspace viewers: Data rows and workspace objects load on demand, including Arrow and Polars data frames in the data viewer, which also gains column controls, filtering, and row counts.
  • R Markdown and RStudio API: YAML parameters are evaluated before running R Markdown code, and rstudioapi::showPrompt() and rstudioapi::askForPassword() are now supported.
  • Improved console configuration: Console and background R executables can be set separately, including executable names found on PATH.

Breaking changes

  • VS Code 1.110 or later is now required.
  • The session watcher has been rewritten around the new sess package, which replaces the R scripts that previously lived under ~/.vscode-R/. The extension and R now talk over a local socket (Unix) or named pipe (Windows), rather than by watching files. For most users, this change should be invisible apart from being faster and more reliable. However, users who customized the old session watcher should note the following:
    • The R-side vsc.* options (e.g., vsc.plot, vsc.viewer, vsc.browser, vsc.row_limit) are no longer read. Use the equivalent r.* VS Code settings instead.
    • The ~/.vscode-R/init.R script and the R: Attach Active Terminal command have been removed.
  • Live Share integration has been removed, including its commands and r.liveShare.* settings. (#1684 @randy3k)
  • Several settings that no longer had any effect have been removed: r.helpPanel.rpath, r.session.useWebServer, r.session.data.rowLimit (superseded by on-demand loading in the data viewer), r.session.objectLengthLimit, r.session.objectTimeout, r.session.levelOfObjectDetail, and r.workspaceViewer.showObjectSize. (#1713, #1734 @Fred-Wu, #1762 @eitsupi)

Renamed settings

Several settings have been given clearer, platform-independent names. The old names are deprecated but still work, so existing configurations will continue to behave as before. If both are set, the new name takes precedence (within the same user/workspace scope).

Old (deprecated) New
r.rpath.<platform> r.executablePath
r.rterm.<platform> r.consolePath
r.rterm.option r.consoleArgs
r.rtermSendDelay r.consoleSendDelay
r.plot.useHttpgd r.plot.backend

(#1733, #1735, #1762 @eitsupi)

New features

Plot viewer

  • New r.plot.backend setting for choosing the plot viewer: "standard", "httpgd", "jgd", or "auto" (the default). The latter picks the best available backend, trying jgd first (see next bullet), then httpgd, then the standard viewer. Changes should take effect without reloading VS Code, and you'll get a warning if the requested backend isn't installed. This supersedes the old r.plot.useHttpgd setting, which is deprecated but still respected (see "Renamed settings" above). (#1706, #1716, #1766 @grantmcdermott, #1733 @eitsupi)
  • Native integration with the lightweight jgd graphics device, including plot history and export. Only the jgd R package is needed; no separate VS Code extension required. See the r.plot.jgd.* settings for history and export options. (#1706 @grantmcdermott)
  • The standard plot viewer now re-renders plots to fit the viewer panel as it is resized, rather than displaying a fixed-size image. It also produces crisp SVG output by default if the svglite package is installed, falling back to PNG otherwise. Use the new r.plot.format setting to choose explicitly. (#1684 @randy3k)
  • Plot navigation commands (next, previous, zoom, export, etc.) are now hidden from the Command Palette, since they only apply to an open plot viewer. They remain available from the viewer toolbar. (#1762 @eitsupi)

R executable and console

  • r.executablePath sets the R used for background tasks (e.g., the help server and package installation), while r.consolePath sets the interactive console. The latter makes it easy to use alternative consoles like arf or radian. Both accept either a full path or a bare command name on your PATH (e.g., "R" or "arf"), and support variables like ${workspaceFolder}. If r.consolePath is unset, r.executablePath is used for the console too. (#1735, #1762 @eitsupi)

Data viewer

  • Much faster for large datasets. Rows are loaded on demand as you scroll, rather than all at once. Arrow tables and Polars DataFrames are also supported. (#1703 @renkun-ken, #1717 @Fred-Wu)
  • New column panel to search, show/hide, and pin columns, plus inline filters, a "clear all filters" button, row counts, and full-value tooltips. Columns fit the viewer width by default, and your view settings are remembered. (#1747 @Fred-Wu, #1765 @renkun-ken)
  • Calling View() on the same object again refreshes the existing viewer tab, instead of opening a new one. The viewer also keeps its column layout if the column names, order, and types are unchanged. (#1707 @Fred-Wu, #1765 @renkun-ken)

Workspace viewer

  • Nested objects (lists, environments, pairlists, S4 and R6 objects, data frames) can now be expanded recursively. Large objects load 500 items at a time, with a "..." row to load more. (#1713, #1730 @Fred-Wu)

Session

  • R terminals now reconnect automatically after reloading the VS Code window. (#1764 @eitsupi)

Other

  • rstudioapi::showPrompt() and rstudioapi::askForPassword() are now supported. (#1684 @randy3k)
  • R Markdown params from the YAML header are now evaluated before running code chunks. (#1684 @randy3k)
  • The extension now activates when an R or R Markdown file is opened, not just when a workspace contains one. (#1768 @ThomasSoeiro)
  • New R documentation files default to the .Rd extension. (#1773 @ThomasSoeiro)

Bug fixes

  • Fixed lag when sending code to the console while the workspace contains many or large objects. (#1713, #1720 @Fred-Wu)
  • The data viewer no longer displays very small numbers as 0. (#1738, #1757 @Fred-Wu)
  • Fixed various rstudioapi emulation issues, including viewer routing. (#1684 @randy3k)
  • Removed the spurious "No text editor active" warning. (#1704 @renkun-ken)
  • The help viewer no longer disables TLS certificate validation when fetching from CRAN. (@tomaioo)
  • Session files are now created with owner-only permissions. (#1705 @renkun-ken)
  • r.session.viewers.viewColumn.helpPanel is now respected for help pages opened from R, including "Disable". (#1762 @eitsupi)
  • Language server diagnostics now ignore virtual and deleted files. (#1697 @toscm)
  • When the session watcher is disabled, the warning now links to the relevant setting rather than an empty wiki page. (#1760 @Fred-Wu)

Internals

  • New integration test suite. (#1684 @randy3k)
  • Modernized CI, including Node.js 24, updated GitHub Actions, and Dependabot updates for workflow dependencies. (#1731, #1771 @eitsupi)
  • The sess R tests use tinytest. (#1706 @grantmcdermott)

Organization

  • New maintainers with write access: @eitsupi, @Fred-Wu, and @grantmcdermott.
  • The jgd graphics device package has joined the REditorSupport organization.
  • REditorSupport now has its own R-universe, providing up-to-date (dev) binary builds of our various R packages.
  • The default branch has been renamed from master to main. Contributors should update their local clones and target main in pull requests. (#1103, #1775 @randy3k)

Full Changelog: https://github.com/REditorSupport/vscode-R/compare/v2.8.8...v3.0.0

2.8.8 - 2026-03-24

Features

  • feat: change default of r.lsp.multiServer to false

Full Changelog: https://github.com/REditorSupport/vscode-R/compare/v2.8.7...v2.8.8

2.8.7 - 2026-03-15

Bug Fixes

  • fix: correct r.term and r.path setting names in error message

Features

  • feat: support multi-root workspaces in single-server mode

Other

  • Allow bracketedPaste on win32 platform (#1631)
  • feat: default to single language server for multi-root workspaces (#1682)

Full Changelog: https://github.com/REditorSupport/vscode-R/compare/v2.8.6...v2.8.7

2.8.6 - 2025-05-31

Other

  • Syntax update and bump to 2.8.6 (#1605)
  • Show sidebar icon only when extension is active (#1579)
  • Move R and R markdown syntaxes to vscode-R-syntax (#1606)

Refactor

  • refactor: restructure files (#1613)

Full Changelog: https://github.com/REditorSupport/vscode-R/compare/v2.8.5...v2.8.6

See CHANGELOG.old.md for changes before v2.8.5.