0.9.2 - 2026-09-10
Release Notes
This release reduces false positives in package code and fixes a crash when
reading serialized package data.
Fixed
- Keep subset results unknown when the receiver has no known subsetting
contract. This avoids a false condition-length warning inrstan, and
likewise keeps union receivers such as
if (p) c("a", "b") else c("a", "b", "c")from carrying their
source lengths past a[subset into a false condition-length
warning. - Read cyclic serialized objects without a stack overflow, including the
package data used byworkflowsets. - Keep
.dataopaque in data-masked calls such asaes()when no usable
data argument is available. Calls with known data frames still report
missing columns (#383). - Correct
mirai::status()to accept.computeand return a list, so$
access no longer produces a false RY061 error (#382). - Keep class information unknown for opaque stub results without class
metadata. This avoids false RY092 diagnostics (#341). - Skip non-function bindings when looking for outward functions at bare
call heads. Package functions take precedence over dataset names (#384). - Keep later assignments from invalidating forwarded defaults at earlier
direct calls (#342). - Widen default-derived parameter types in branches that reject their
inferred mode, avoiding false$errors in those branches (#343). - Accept scalar character, raw, and complex conditions that R can coerce
to logical. Known invalid literals still produce RY001. Multi-value
conditions are newly visible as RY001 warnings in default output:
numeric conditions previously carried only the default-off RY003
nudge, and multi-element logical loop conditions were not reported
(#373). Review baselines and--error-on-warningruns for new
findings. - Report files whose parser cannot be initialized instead of panicking the
whole check, and fall back to serial indexing in the language server when
its parse pool cannot be built.
Changed
- Raise the default serialized-data cap from 2 MiB to 16 MiB. Packages such
as gt can resolve their internal data names without custom configuration.
Larger files still produce a degraded-scope notice (#378). - Reduce binary size with symbol stripping, full LTO, and compressed
embedded stubs. Load package stubs when needed (#340). - Speed up workspace indexing and project checks with bounded parallel
processing and cached package discovery (#340). - Hash checker-internal identifier maps with FxHash instead of SipHash.
Scope's public collections (bindings,parameter_bindings,
function_aliases, and siblings) are nowFxMap/FxSetrather than
HashMap/HashSet; a source-level change for library consumers (#340). - Clarify RY001 and RY070 messages. Baselines match message text, so
previously accepted findings can reappear after upgrading. Review them
before regenerating the entries you still accept.
Editors and maintenance
- Align the core and VS Code/Positron extension at 0.9.2. The extension uses
a smaller production bundle and reuses successful binary-version checks
during the same editor session; see its changelog. - Use
scholzmx.ry-checkerfor the VS Code Marketplace listing and keep
scholzmx.ryfor Open VSX. Preparery-lspas the Zed gallery identity. - Update R setup, Pages deployment, and workflow security Actions.
Install ry-cli 0.9.2
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/sims1253/ry/releases/download/v0.9.2/ry-cli-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/sims1253/ry/releases/download/v0.9.2/ry-cli-installer.ps1 | iex"Download ry-cli 0.9.2
| File | Platform | Checksum |
|---|---|---|
| ry-cli-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| ry-cli-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| ry-cli-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| ry-cli-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| ry-cli-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| ry-cli-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |