Release Notes
Added
-
ARF_R_HOMEandARF_R_VERSIONcan now select the R installation through environment variables (#271). -
--with-r-versionand:switchnow accept version ranges (^4.4,~4.4,>=4.3, <5.0,*) in addition to exact and partial version numbers such as4.4.2and4.4(#271). Range operators come from the convention Cargo and npm use; R's own version numbers are plainmajor.minor.patchreleases, so prerelease identifiers and build metadata are rejected. -
Experimental: arf can now read the R version a project has pinned and start that version instead of the configured default (#271, #288).
It is opt-in throughexperimental.r_source_overridesin thearf.tomlconfig.For example, the following configuration looks for two TOML files named
rproject.tomlandrproj.tomlin the current directory, in order:[experimental] r_source_overrides = [ { type = "toml-key", file = "rproject.toml", key = "project.r_version" }, { type = "toml-key", file = "rproj.toml", key = "r.version" }, ]
If arf finds an R version defined in one of these files, it will select a matching version from the list of versions installed by rig and start that R.
If none of them yields a matching version, arf falls back to the R selected bystartup.r_source.The first of the two,
rproject.toml, is used by rv.
It looks like this:[project] r_version = "4.4"
The second,
rproj.toml, is a draft proposal from Tidyup 9.
Unlike rv'srproject.toml, it also supports Cargo-style version ranges:[r] version = ">= 4.1.0, < 4.5.0"
For now, it seems neither of these formats is widely adopted, so arf introduces a generic
toml-keytype that allows us to specify the filename and key path and supports Cargo-style version ranges.
Of course, we can also support other TOML files with different names and keys for specifying the R version. -
Experimental:
arf ipc listnow reports asession_typefield ("headless"or"interactive") for each session, so external clients can tell an agent-started headless session from an interactive REPL a person is using before sending it ashutdown. Sessions started by an older arf reportnull, which clients should treat as unknown (#283). -
Experimental:
arf ipc session,arf ipc list, andarf headless --jsonnow reportr_home, the R installation the session is using, so an editor can use the same R instead of discovering one for itself. Sessions started by an older arf omit it, which clients should treat as unknown (#294). -
Experimental:
arf r resolvelets external tools such as editors learn which R arf would use without starting R. It always emits JSON on success (#290, #291, #293).
Changed
- Partial version numbers passed to
--with-r-versionand:switch(e.g.4.4) now match only that release series (4.4.x) instead of any version starting with the same text (#271).
Fixed
- arf could fail to start a different R version when
R_HOMEwas set in the environment to point at another R installation (#295). - Switching R versions with
:switchno longer leaves stale.libPaths()entries from the previous R version, including after a:restart. R-related variables you set before starting arf are kept, apart fromR_HOMEandLD_LIBRARY_PATH, which are always removed.:restartstill leaves the environment untouched (#295). - Flags placed before a subcommand no longer get silently ignored; arf now reports the error and explains where the flag belongs (#275).
- Experimental: Commands sent with
arf ipc sendare now recorded in the history database, so they can be recalled with Ctrl+R, the history browser, and the up arrow like typed commands. Previously they were echoed and evaluated but only saved in some cases, depending on when the request arrived (#268). - Experimental: IPC requests containing incomplete R expressions are now rejected before they can enter the continuation prompt.
Install arf-console 0.4.5
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/eitsupi/arf/releases/download/v0.4.5/arf-console-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/eitsupi/arf/releases/download/v0.4.5/arf-console-installer.ps1 | iex"Download arf-console 0.4.5
| File | Platform | Checksum |
|---|---|---|
| arf-console-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| arf-console-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| arf-console-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| arf-console-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| arf-console-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| arf-console-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
| arf-console-aarch64-unknown-linux-musl.tar.xz | ARM64 MUSL Linux | checksum |
| arf-console-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |