Skip to content

Commit 2d74d09

Browse files
authored
chore: prepare release 0.4.5 (#296)
1 parent 0a649f2 commit 2d74d09

9 files changed

Lines changed: 33 additions & 31 deletions

‎CHANGELOG.md‎

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,13 @@
22

33
## [Unreleased]
44

5+
## [0.4.5] - 2026-08-01
6+
57
### Added
68

7-
- **Experimental:** arf can now read the R version a project has pinned and start that version instead of the configured default.
9+
- `ARF_R_HOME` and `ARF_R_VERSION` can now select the R installation through environment variables (#271).
10+
- `--with-r-version` and `:switch` now accept version ranges (`^4.4`, `~4.4`, `>=4.3, <5.0`, `*`) in addition to exact and partial version numbers such as `4.4.2` and `4.4` (#271). Range operators come from the convention Cargo and npm use; R's own version numbers are plain `major.minor.patch` releases, so prerelease identifiers and build metadata are rejected.
11+
- **Experimental:** arf can now read the R version a project has pinned and start that version instead of the configured default (#271, #288).
812
It is opt-in through `experimental.r_source_overrides` in the `arf.toml` config.
913

1014
For example, the following configuration looks for two TOML files named `rproject.toml` and `rproj.toml` in the current directory, in order:
@@ -39,23 +43,21 @@
3943
For now, it seems neither of these formats is widely adopted, so arf introduces a generic `toml-key` type that allows us to specify the filename and key path and supports Cargo-style version ranges.
4044
Of course, we can also support other TOML files with different names and keys for specifying the R version.
4145

42-
- `ARF_R_HOME` and `ARF_R_VERSION` can now select the R installation through environment variables.
43-
- `--with-r-version` and `:switch` now accept version ranges (`^4.4`, `~4.4`, `>=4.3, <5.0`, `*`) in addition to exact and partial version numbers such as `4.4.2` and `4.4`. Range operators come from the convention Cargo and npm use; R's own version numbers are plain `major.minor.patch` releases, so prerelease identifiers and build metadata are rejected.
44-
- `arf ipc list` now reports a `session_type` field (`"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 a `shutdown`. Sessions started by an older arf report `null`, which clients should treat as unknown.
45-
- `arf ipc session`, `arf ipc list`, and `arf headless --json` now report `r_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.
46-
- **Experimental:** `arf r resolve` lets external tools such as editors learn which R arf would use without starting R. It always emits JSON on success.
46+
- **Experimental:** `arf ipc list` now reports a `session_type` field (`"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 a `shutdown`. Sessions started by an older arf report `null`, which clients should treat as unknown (#283).
47+
- **Experimental:** `arf ipc session`, `arf ipc list`, and `arf headless --json` now report `r_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).
48+
- **Experimental:** `arf r resolve` lets external tools such as editors learn which R arf would use without starting R. It always emits JSON on success (#290, #291, #293).
4749

4850
### Changed
4951

50-
- Partial version numbers passed to `--with-r-version` and `:switch` (e.g. `4.4`) now match only that release series (`4.4.x`) instead of any version starting with the same text.
52+
- Partial version numbers passed to `--with-r-version` and `:switch` (e.g. `4.4`) now match only that release series (`4.4.x`) instead of any version starting with the same text (#271).
5153

5254
### Fixed
5355

54-
- arf could fail to start a different R version when `R_HOME` was set in the environment to point at another R installation.
55-
- Switching R versions with `:switch` no 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 from `R_HOME` and `LD_LIBRARY_PATH`, which are always removed. `:restart` still leaves the environment untouched.
56-
- Flags placed before a subcommand no longer get silently ignored; arf now reports the error and explains where the flag belongs.
57-
- Commands sent with `arf ipc send` are 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.
58-
- IPC requests containing incomplete R expressions are now rejected before they can enter the continuation prompt.
56+
- arf could fail to start a different R version when `R_HOME` was set in the environment to point at another R installation (#295).
57+
- Switching R versions with `:switch` no 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 from `R_HOME` and `LD_LIBRARY_PATH`, which are always removed. `:restart` still leaves the environment untouched (#295).
58+
- Flags placed before a subcommand no longer get silently ignored; arf now reports the error and explains where the flag belongs (#275).
59+
- **Experimental:** Commands sent with `arf ipc send` are 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).
60+
- **Experimental:** IPC requests containing incomplete R expressions are now rejected before they can enter the continuation prompt.
5961

6062
## [0.4.4] - 2026-07-26
6163

‎Cargo.lock‎

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

‎Cargo.toml‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,16 @@ members = ["crates/*"]
44
default-members = ["crates/arf-console"]
55

66
[workspace.package]
7-
version = "0.4.4"
7+
version = "0.4.5"
88
edition = "2024"
99
license = "MIT"
1010
repository = "https://github.com/eitsupi/arf"
1111

1212
[workspace.dependencies]
1313
# Internal crates
14-
arf-harp = { version = "0.4.4", path = "crates/arf-harp" }
15-
arf-libr = { version = "0.4.4", path = "crates/arf-libr" }
16-
r-vignette-to-md = { version = "0.4.4", path = "crates/r-vignette-to-md" }
14+
arf-harp = { version = "0.4.5", path = "crates/arf-harp" }
15+
arf-libr = { version = "0.4.5", path = "crates/arf-libr" }
16+
r-vignette-to-md = { version = "0.4.5", path = "crates/r-vignette-to-md" }
1717

1818
# R FFI
1919
libloading = "0.9"
@@ -39,7 +39,7 @@ tree-sitter = "0.24"
3939
tree-sitter-r = "1.3"
4040

4141
# Rd to Markdown conversion
42-
rd2qmd-core = "0.5"
42+
rd2qmd-core = "0.5.1"
4343
rd-source = "0.1"
4444
rd-helpdb = "0.1"
4545
rd-rds = "0.1"

‎crates/arf-console/src/repl/snapshots/arf__repl__banner__tests__banner_default_r_initialized.snap‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
source: crates/arf-console/src/repl/banner.rs
33
expression: banner
44
---
5-
# arf console v0.4.4
5+
# arf console v0.4.5
66
# Edit mode: emacs
77
# R is ready.
88
# Type :cmds for meta commands list, Ctrl+D to exit.

‎crates/arf-console/src/repl/snapshots/arf__repl__banner__tests__banner_default_r_not_initialized.snap‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
source: crates/arf-console/src/repl/banner.rs
33
expression: banner
44
---
5-
# arf console v0.4.4
5+
# arf console v0.4.5
66
# Edit mode: emacs
77
# R is not initialized. Commands will not be evaluated.
88
# Type :cmds for meta commands list, Ctrl+D to exit.

‎crates/arf-console/src/repl/snapshots/arf__repl__banner__tests__banner_reprex_custom_comment.snap‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
source: crates/arf-console/src/repl/banner.rs
33
expression: banner
44
---
5-
# arf console v0.4.4
5+
# arf console v0.4.5
66
# Edit mode: emacs
77
# Reprex mode: enabled | Comment: "## "
88
# R is ready.

‎crates/arf-console/src/repl/snapshots/arf__repl__banner__tests__banner_reprex_mode.snap‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
source: crates/arf-console/src/repl/banner.rs
33
expression: banner
44
---
5-
# arf console v0.4.4
5+
# arf console v0.4.5
66
# Edit mode: emacs
77
# Reprex mode: enabled | Comment: "#> "
88
# R is ready.

‎crates/arf-console/src/repl/snapshots/arf__repl__banner__tests__banner_vi_mode.snap‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
source: crates/arf-console/src/repl/banner.rs
33
expression: banner
44
---
5-
# arf console v0.4.4
5+
# arf console v0.4.5
66
# Edit mode: vi
77
# R is ready.
88
# Type :cmds for meta commands list, Ctrl+D to exit.

‎docs/r-resolve.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ arf r resolve
2727
"r_binary": "/opt/R/4.5.2/lib/R/bin/R",
2828
"resolved_version": "4.5.2"
2929
},
30-
"resolver": { "name": "arf", "version": "0.4.4" },
30+
"resolver": { "name": "arf", "version": "0.4.5" },
3131
"selected_by": {
3232
"kind": "version_request",
3333
"requested_r_home": null,

0 commit comments

Comments
 (0)