Skip to content

Commit 0dce793

Browse files
Merge pull request #1779 from eitsupi/release/3.0.0
chore: prepare 3.0.0 release
2 parents ce7fa64 + 2b8ba5f commit 0dce793

4 files changed

Lines changed: 191 additions & 84 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 182 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -1,79 +1,187 @@
11
# Changelog
22

3-
## Unreleased
4-
5-
v3.0.0 of the R Extension for VS code is a major release. It introduces a
6-
significant architectural change via the
7-
[**`sess`**](https://github.com/REditorSupport/vscode-R/tree/master/sess) R
8-
Package, which powers faster and more robust communication with the underlying R
9-
session. In turn, this enables a variety of ancillary improvements and feature
10-
requests, which we hope to continue building on. The extension will
11-
automatically prompt users to install `sess` (on their behalf) if it is not
12-
detected.
13-
14-
### Bug Fixes
15-
16-
* fix(dataview): fit columns to the viewer width by default and preserve fit-width sizing when scrolling, resizing, or refreshing the viewer
17-
* fix(dataview): use supported grid and row-selection APIs in file-backed tables, initialize the grid after the document is ready, and preserve date and integer64 handling in both viewer modes
18-
* fix(console): use the workspace directory as terminal cwd when given a file URI
19-
* fix(console): preserve remote workspace configuration for R terminals created from the terminal profile
20-
21-
* fix(sess): clean up failed runtime and server initialization and preserve the selected terminal during reconnect
22-
23-
* fix(sess): share server startup across concurrent session clients and wait for startup during shutdown
24-
25-
* fix(sess): defer workspace and plot notifications until task callbacks return
26-
27-
* fix(sess): refresh JGD renderer discovery on reconnect and identify managed terminals by discovery ownership
28-
29-
* fix(sess): reconnect managed R sessions after window reload and prioritize manual recovery of the selected R terminal
30-
31-
* fix(rstudioapi): resolve emulation issues and viewer routing
32-
* fix(workspace): fix code submission delays when the workspace contains many or large objects
33-
34-
### Features
35-
36-
* feat(dataview): upgrade AG Grid Community to 36.2.0, add searchable column pinning, inline filters and clear-all controls, row counts, saved view settings, full-value tooltips, and column sizing controls
37-
* feat(sess): migrate session watcher to WebSockets/JSON-RPC 2.0
38-
* feat(sess): migrate session watcher to Unix domain sockets / Windows named pipes with JSON Lines framing and JSON-RPC 2.0
39-
* feat: implement rstudioapi::showPrompt() and rstudioapi::askForPassword() for sess package
40-
* feat: evaluate params from YAML header in Rmd files before running code
41-
* feat: check sess package version and prompt for update
42-
* feat(session): implement file-based reconnection and suppress verbose logs
43-
* feat(plot): new `r.plot.backend` enum setting for finer-grained control of the preferred plotting backend, including integration with the lightweight `jgd` graphics device (default if installed). `r.plot.useHttpgd` is deprecated in favor of `r.plot.backend`; it remains supported for compatibility with existing configurations but will be removed in a future release.
44-
* feat(r-path): add `r.executablePath` as the canonical setting for vanilla R used by background processes and `r.consolePath` for the interactive R console. Both accept an absolute or substituted path, or a bare executable name available on `PATH`; for example, `r.executablePath` can be the bare vanilla executable name `R`, while `r.consolePath` can be `arf` (or `radian`). Path settings are resolved against the relevant workspace resource when one is available. When `r.consolePath` and the legacy `r.rterm.<platform>` setting are unset, an explicitly configured `r.executablePath` is also used for the console. The legacy `r.rpath.<platform>` settings never affect console selection. The legacy `r.rpath.<platform>` and `r.rterm.<platform>` settings are deprecated in favor of the canonical settings, remain supported for backward compatibility, and may be removed in a future release.
45-
* feat(dataview): keep one viewer per data name, refreshing the existing viewer on repeated `View()` calls
46-
* feat(dataview): load data rows on demand while scrolling, with support for Arrow and Polars DataFrames
47-
* feat(workspace): support recursive expansion of nested lists, environments, pairlists, S4 objects, and data frames
48-
49-
### Performance
50-
51-
* perf: optimize package monitoring in helpServer.R
52-
53-
### Other
54-
55-
* Hide context-dependent plot commands from the Command Palette while keeping the Show Viewers command discoverable for reopening plot viewers and retaining viewer-local controls.
56-
57-
* Remove Live Share integration, including its commands and settings. Remove other obsolete session settings that are no longer consumed.
58-
* Stop writing `~/.vscode-R/settings.json`; the current sess protocol no longer reads the propagated configuration. Remove the unused WebSocket server compatibility function, the unused `SESS_USE_HTTPGD` environment variable, and the path override argument left by the removed help-path setting.
59-
* Remove the unused `r.workspaceViewer.showObjectSize` setting and obsolete object-size tooltip support
60-
* Remove obsolete `r.session.objectLengthLimit`, `r.session.objectTimeout`, and `r.session.levelOfObjectDetail` settings following the switch to on-demand workspace inspection
61-
* Remove `r.helpPanel.rpath`, which was previously deprecated and no longer used by the extension
62-
63-
### Configuration
64-
65-
* Add `r.consoleArgs` and `r.consoleSendDelay` as canonical settings, with legacy `r.rterm.option` and `r.rtermSendDelay` deprecated and supported for backward compatibility. Resolve renamed console and executable-path settings by workspace folder (where supported), workspace, then user scope; plot-backend settings use workspace then user scope. Prefer the canonical name within each scope. Empty paths and automatic backend selection retain their fallback behavior.
66-
67-
### Styling
68-
69-
* style: fix line length lint error in sess/R/rstudioapi.R
70-
71-
### Testing
72-
73-
* test: implement comprehensive integration test suite and modernize CI
74-
* test: add Rmd params tests and cleanup test files
75-
* test(session): add retry logic for plot tests to avoid timeouts on Windows
76-
* test(session): add version check, retry logic, and fix lint warnings
3+
## 3.0.0 - 2026-09-27
4+
5+
`v3.0.0` of the R Extension for VS Code is a major release. It introduces a
6+
significant architectural change via the (new)
7+
[**`sess`**](https://github.com/REditorSupport/vscode-R/tree/main/sess) R
8+
package, which powers faster and more robust communication with the underlying R
9+
session. In turn, this has allowed us to close numerous long-standing bugs, as
10+
well as enable a variety of ancillary improvements and feature requests. The
11+
extension bundles its own copy of `sess` and will offer to install it (on your
12+
behalf) if it is missing or outdated. See the
13+
[`sess`
14+
README](https://github.com/REditorSupport/vscode-R/tree/main/sess#readme) for
15+
more details.
16+
17+
### Highlights
18+
19+
- **More reliable R sessions:** Session communication now uses `sess` with
20+
local sockets or named pipes. Managed R sessions can reconnect after a VS
21+
Code window reload, and workspace updates no longer delay code submission
22+
when the environment contains large objects.
23+
- **More flexible plot viewing:** `r.plot.backend` selects `jgd`, `httpgd`, or
24+
the standard graphics device. Automatic selection prefers `jgd` when
25+
installed, then `httpgd`, then the standard device.
26+
- **Faster, more capable data and workspace viewers:** Data rows and workspace
27+
objects load on demand, including Arrow and Polars data frames in the data
28+
viewer, which also gains column controls, filtering, and row counts.
29+
- **R Markdown and RStudio API:** YAML parameters are evaluated before running
30+
R Markdown code, and `rstudioapi::showPrompt()` and
31+
`rstudioapi::askForPassword()` are now supported.
32+
- **Improved console configuration:** Console and background R executables can
33+
be set separately, including executable names found on `PATH`.
34+
35+
### Breaking changes
36+
37+
- **VS Code 1.110 or later is now required.**
38+
- The session watcher has been rewritten around the new `sess` package, which
39+
replaces the R scripts that previously lived under `~/.vscode-R/`. The
40+
extension and R now talk over a local socket (Unix) or named pipe (Windows),
41+
rather than by watching files. For most users, this change should be
42+
invisible apart from being faster and more reliable. However, users who
43+
customized the old session watcher should note the following:
44+
- The R-side `vsc.*` options (e.g., `vsc.plot`, `vsc.viewer`, `vsc.browser`,
45+
`vsc.row_limit`) are no longer read. Use the equivalent `r.*` VS Code
46+
settings instead.
47+
- The `~/.vscode-R/init.R` script and the **R: Attach Active Terminal**
48+
command have been removed.
49+
- Live Share integration has been removed, including its commands and
50+
`r.liveShare.*` settings. (#1684 @randy3k)
51+
- Several settings that no longer had any effect have been removed:
52+
`r.helpPanel.rpath`, `r.session.useWebServer`, `r.session.data.rowLimit`
53+
(superseded by on-demand loading in the data viewer), `r.session.objectLengthLimit`,
54+
`r.session.objectTimeout`, `r.session.levelOfObjectDetail`, and
55+
`r.workspaceViewer.showObjectSize`. (#1713, #1734 @Fred-Wu, #1762 @eitsupi)
56+
57+
### Renamed settings
58+
59+
Several settings have been given clearer, platform-independent names. The old
60+
names are deprecated but still work, so existing configurations will continue
61+
to behave as before. If both are set, the new name takes precedence (within the
62+
same user/workspace scope).
63+
64+
| Old (deprecated) | New |
65+
|------------------------|-----------------------|
66+
| `r.rpath.<platform>` | `r.executablePath` |
67+
| `r.rterm.<platform>` | `r.consolePath` |
68+
| `r.rterm.option` | `r.consoleArgs` |
69+
| `r.rtermSendDelay` | `r.consoleSendDelay` |
70+
| `r.plot.useHttpgd` | `r.plot.backend` |
71+
72+
(#1733, #1735, #1762 @eitsupi)
73+
74+
### New features
75+
76+
#### Plot viewer
77+
78+
- New `r.plot.backend` setting for choosing the plot viewer: `"standard"`,
79+
`"httpgd"`, `"jgd"`, or `"auto"` (the default). The latter picks the best
80+
available backend, trying [jgd](https://github.com/REditorSupport/jgd) first
81+
(see next bullet), then httpgd, then the standard viewer. Changes should take
82+
effect without reloading VS Code, and you'll get a warning if the requested
83+
backend isn't installed. This supersedes the old `r.plot.useHttpgd` setting,
84+
which is deprecated but still respected (see "Renamed settings" above).
85+
(#1706, #1716, #1766 @grantmcdermott, #1733 @eitsupi)
86+
- Native integration with the lightweight `jgd` graphics device, including
87+
plot history and export. Only the `jgd` R package is needed; no separate VS
88+
Code extension required. See the `r.plot.jgd.*` settings for history and
89+
export options. (#1706 @grantmcdermott)
90+
- The standard plot viewer now re-renders plots to fit the viewer panel as it
91+
is resized, rather than displaying a fixed-size image. It also produces
92+
crisp SVG output by default if the `svglite` package is installed, falling
93+
back to PNG otherwise. Use the new `r.plot.format` setting to choose
94+
explicitly. (#1684 @randy3k)
95+
- Plot navigation commands (next, previous, zoom, export, etc.) are now hidden
96+
from the Command Palette, since they only apply to an open plot viewer. They
97+
remain available from the viewer toolbar. (#1762 @eitsupi)
98+
99+
#### R executable and console
100+
101+
- `r.executablePath` sets the R used for background tasks (e.g., the help
102+
server and package installation), while `r.consolePath` sets the interactive
103+
console. The latter makes it easy to use alternative consoles like
104+
[arf](https://github.com/eitsupi/arf) or
105+
[radian](https://github.com/randy3k/radian). Both accept either a full path
106+
or a bare command name on your `PATH` (e.g., `"R"` or `"arf"`), and support
107+
variables like `${workspaceFolder}`. If `r.consolePath` is unset,
108+
`r.executablePath` is used for the console too. (#1735, #1762 @eitsupi)
109+
110+
#### Data viewer
111+
112+
- Much faster for large datasets. Rows are loaded on demand as you scroll,
113+
rather than all at once. Arrow tables and Polars DataFrames are also
114+
supported. (#1703 @renkun-ken, #1717 @Fred-Wu)
115+
- New column panel to search, show/hide, and pin columns, plus inline filters,
116+
a "clear all filters" button, row counts, and full-value tooltips. Columns
117+
fit the viewer width by default, and your view settings are remembered.
118+
(#1747 @Fred-Wu, #1765 @renkun-ken)
119+
- Calling `View()` on the same object again refreshes the existing viewer tab,
120+
instead of opening a new one. The viewer also keeps its column layout if the
121+
column names, order, and types are unchanged. (#1707 @Fred-Wu, #1765
122+
@renkun-ken)
123+
124+
#### Workspace viewer
125+
126+
- Nested objects (lists, environments, pairlists, S4 and R6 objects, data
127+
frames) can now be expanded recursively. Large objects load 500 items at a
128+
time, with a "..." row to load more. (#1713, #1730 @Fred-Wu)
129+
130+
#### Session
131+
132+
- R terminals now reconnect automatically after reloading the VS Code window.
133+
(#1764 @eitsupi)
134+
135+
#### Other
136+
137+
- `rstudioapi::showPrompt()` and `rstudioapi::askForPassword()` are now
138+
supported. (#1684 @randy3k)
139+
- R Markdown `params` from the YAML header are now evaluated before running
140+
code chunks. (#1684 @randy3k)
141+
- The extension now activates when an R or R Markdown file is opened, not just
142+
when a workspace contains one. (#1768 @ThomasSoeiro)
143+
- New R documentation files default to the `.Rd` extension. (#1773
144+
@ThomasSoeiro)
145+
146+
### Bug fixes
147+
148+
- Fixed lag when sending code to the console while the workspace contains many
149+
or large objects. (#1713, #1720 @Fred-Wu)
150+
- The data viewer no longer displays very small numbers as `0`. (#1738, #1757
151+
@Fred-Wu)
152+
- Fixed various `rstudioapi` emulation issues, including viewer routing.
153+
(#1684 @randy3k)
154+
- Removed the spurious "No text editor active" warning. (#1704 @renkun-ken)
155+
- The help viewer no longer disables TLS certificate validation when fetching
156+
from CRAN. (@tomaioo)
157+
- Session files are now created with owner-only permissions. (#1705
158+
@renkun-ken)
159+
- `r.session.viewers.viewColumn.helpPanel` is now respected for help pages
160+
opened from R, including `"Disable"`. (#1762 @eitsupi)
161+
- Language server diagnostics now ignore virtual and deleted files.
162+
(#1697 @toscm)
163+
- When the session watcher is disabled, the warning now links to the relevant
164+
setting rather than an empty wiki page. (#1760 @Fred-Wu)
165+
166+
### Internals
167+
168+
- New integration test suite. (#1684 @randy3k)
169+
- Modernized CI, including Node.js 24, updated GitHub Actions, and Dependabot
170+
updates for workflow dependencies. (#1731, #1771 @eitsupi)
171+
- The `sess` R tests use
172+
[tinytest](https://github.com/markvanderloo/tinytest). (#1706
173+
@grantmcdermott)
174+
175+
### Organization
176+
177+
- New maintainers with write access: @eitsupi, @Fred-Wu, and @grantmcdermott.
178+
- The [jgd](https://github.com/REditorSupport/jgd) graphics device package
179+
has joined the REditorSupport organization.
180+
- REditorSupport now has its own
181+
[R-universe](https://reditorsupport.r-universe.dev), providing up-to-date
182+
(dev) binary builds of our various R packages.
183+
184+
**Full Changelog**: <https://github.com/REditorSupport/vscode-R/compare/v2.8.8...v3.0.0>
77185

78186
## 2.8.8 - 2026-03-24
79187

‎README.md‎

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,12 @@ This [VS Code](https://code.visualstudio.com/) extension provides support for th
1212

1313
The R and R Markdown syntaxes are located in a sibling package [vscode-R-syntax](https://github.com/REditorSupport/vscode-R-syntax).
1414

15-
## What's new in 3.0.0-rc
15+
## What's new in 3.0.0
1616

17-
v3.0.0 of the R Extension for VS Code is a major release. It introduces a
18-
significant architectural change via the [**`sess`**](./sess/README.md) R
19-
package, which powers faster and more robust communication with the underlying R
20-
session. `sess` is bundled with the extension and installed automatically if it
21-
is missing or outdated, so no manual setup is needed.
17+
v3.0.0 is a major release with faster, more reliable R session communication,
18+
powered by the [`sess`](./sess/README.md) package. The extension includes `sess`
19+
and prompts to install or update it when needed. See the [changelog](./CHANGELOG.md)
20+
for other changes and upgrade notes.
2221

2322
## Quickstart
2423

@@ -30,7 +29,7 @@ is missing or outdated, so no manual setup is needed.
3029
install.packages("languageserver")
3130
```
3231

33-
3. Install the stable release of this extension from the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=reditorsupport.r) or the [Open VSX Registry](https://open-vsx.org/extension/reditorsupport/r).
32+
3. Install the stable release of this extension from the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=reditorsupport.r) or the [Open VSX Registry](https://open-vsx.org/extension/reditorsupport/r). This release requires VS Code 1.110 or later.
3433

3534
```sh
3635
code --install-extension REditorSupport.r

‎package-lock.json‎

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "r",
33
"displayName": "R",
44
"description": "R Extension for Visual Studio Code",
5-
"version": "3.0.0-rc.0",
5+
"version": "3.0.0",
66
"author": "REditorSupport",
77
"license": "SEE LICENSE IN LICENSE",
88
"publisher": "REditorSupport",

0 commit comments

Comments
 (0)