Skip to content

Commit 2b8ba5f

Browse files
docs(changelog): incorporate gm notes
1 parent e27f22b commit 2b8ba5f

1 file changed

Lines changed: 176 additions & 16 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 176 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,184 @@
22

33
## 3.0.0 - 2026-09-27
44

5-
This major release updates the R session integration and adds substantial improvements to the plot, data, and workspace viewers. The extension bundles the [`sess`](https://github.com/REditorSupport/vscode-R/tree/main/sess) R package and prompts to install or update it when needed.
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.
616

717
### Highlights
818

9-
* **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.
10-
* **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. JGD adds plot history and navigation; the Show Viewers command can reopen existing plot panels.
11-
* **Faster, more capable data and workspace viewers:** Data rows load on demand, including for Arrow and Polars data frames. The data viewer adds column controls, filtering, row counts, full-value tooltips, and saved sizing and layout; repeated `View()` calls refresh the existing viewer and retain its state when column names, order, and types are unchanged. Workspace objects also load their contents on demand and support nested lists, environments, pairlists, S4 objects, and data frames.
12-
* **R Markdown and RStudio API:** YAML parameters are evaluated before running R Markdown code. The session integration implements `rstudioapi::showPrompt()` and `rstudioapi::askForPassword()`.
13-
* **Improved console configuration:** Console and background R executable paths can be set separately, including executable names found on `PATH`; settings resolve in the relevant workspace context.
14-
15-
### Upgrade notes
16-
17-
* **VS Code 1.110 or later is required.**
18-
* The canonical settings are `r.executablePath` (background R), `r.consolePath` (interactive console), `r.consoleArgs`, and `r.consoleSendDelay`. The old `r.rpath.<platform>`, `r.rterm.<platform>`, `r.rterm.option`, and `r.rtermSendDelay` settings remain supported but are deprecated.
19-
* Use `r.plot.backend` instead of `r.plot.useHttpgd`. The old setting remains supported; when the backend is `auto`, `r.plot.useHttpgd: true` continues to select httpgd. An explicitly selected backend takes precedence.
20-
* Live Share support and its `r.liveShare.*` settings have been removed.
21-
* The obsolete settings `r.helpPanel.rpath`, `r.session.useWebServer`, `r.session.data.rowLimit`, `r.session.objectLengthLimit`, `r.session.objectTimeout`, `r.session.levelOfObjectDetail`, and `r.workspaceViewer.showObjectSize` have been removed. On-demand loading replaces the old object detail and row limit controls.
22-
* Context-dependent plot commands are hidden from the Command Palette to keep viewer-specific actions out of the general command list. They remain registered for existing viewer controls and user keybindings; **R Plot: Show Viewers** remains discoverable for reopening plot panels.
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.
23183

24184
**Full Changelog**: <https://github.com/REditorSupport/vscode-R/compare/v2.8.8...v3.0.0>
25185

@@ -62,6 +222,6 @@ This major release updates the R session integration and adds substantial improv
62222

63223
**Full Changelog**: <https://github.com/REditorSupport/vscode-R/compare/v2.8.5...v2.8.6>
64224

65-
See [CHANGELOG.old.md](https://github.com/REditorSupport/vscode-R/blob/main/CHANGELOG.old.md) for changes before v2.8.5.
225+
See [CHANGELOG.old.md](https://github.com/REditorSupport/vscode-R/blob/master/CHANGELOG.old.md) for changes before v2.8.5.
66226

67227
<!-- generated by git-cliff -->

0 commit comments

Comments
 (0)