Release notes for RuyiSDK 0.19
RuyiSDK 0.19 is now released. The corresponding package manager version is also 0.19.0. You can download the RuyiSDK package manager from one of the following locations:
- https://github.com/ruyisdk/ruyi/releases/tag/0.19.0
- https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.19.0/
This update mainly consists of the following changes. Happy hacking!
RuyiSDK Package Manager
- Fixed an issue where
ruyi news list
would crash when the environment locale configuration was invalid on the local machine. This is also the first contribution to the RuyiSDK package manager from an external contributor. Thanks to RekiDunois! - Added the
ruyi admin format-manifest
command for package developers to automatically format software package description files to ensure they conform to standard formats. - Added multi-toolchain support for
ruyi venv
: It's now possible to configure multiple toolchain packages with different target tuples for a single virtual environment. - Added the
ruyi self clean
command to clean up various data generated by Ruyi, freeing up storage space. - Provided means for distribution packagers to prevent users from accidentally running
ruyi self uninstall
when distributions directly redistribute RuyiSDK's officially compiledruyi
binary. - Implemented basic telemetry functionality, currently without data upload support. See the "Telemetry" section for details.
Telemetry
To help the RuyiSDK team better understand user habits and improve the experience, we have added basic telemetry functionality to the RuyiSDK package manager. There are 3 telemetry modes:
local
: Only collects data, does not actively report. This is the default mode.on
: Collects data and reports periodically. Not yet implemented.off
: Completely disables telemetry.
Currently, we collect the following data:
- When running
ruyi
for the first time, a small amount of device information is collected once:- A unique installation ID generated only from the system random number generator, unrelated to any system configuration or local data;
- Whether the current running environment is one of several known CI services, such as GitHub Actions, GitLab CI, Travis CI, etc.;
- Operating system kernel type and processor architecture;
- C runtime library type and version (like
glibc 2.40
); - Linux distribution code name and version;
- If the processor architecture is RISC-V, RISC-V-specific information such as the system model specified by the device tree and the number of CPU cores, microarchitecture, ISA string, etc. exposed by
/proc/cpuinfo
.
- Each time
ruyi
is run, the type of command called is recorded, without parameters. - Each time a toolchain proxy in the Ruyi virtual environment is run, the name of the command being called is recorded.
If you do not wish to participate in telemetry, you can do one of the following two operations before running the new version of ruyi
. Either ensure that the environment variable RUYI_TELEMETRY_OPTOUT=1
exists (note: not OUTPUT
), or add the following to the configuration file ~/.config/ruyi/config.toml
:
[telemetry]
mode = "off"
Before RuyiSDK fully supports telemetry data upload, we will inform you, and you can decide whether to delete previous telemetry data and whether to disable telemetry. You can use ruyi self clean --telemetry
to delete all telemetry information, including device information.
Linux Distribution Packaging
RuyiSDK packages are now available for several major Linux distributions:
- Debian 13 ("trixie")
- Fedora 39, 40, 41
- openEuler 24.03
- Ubuntu 22.04 ("jammy"), 24.04 ("noble")
- Arch Linux (via AUR)
We provide binaries for all three officially supported architectures: amd64
, arm64
, and riscv64
, for all distributions except Fedora 39 and Fedora 41.