Repository navigation
Releases
ReliefOS 5.3.2
ReliefOS 5.3.2
更新内容
- 重写离线系统更新流程,使用独立 APK 数据库和信任密钥预检目标系统、更新介质与空间;保留未涉及的软件包和配置,并迁移旧 world 请求中的历史包装包。更新事务会移除已退役的过渡包,同时保留被标记的软件包。
- 支持多系统共用 EFI System Partition。每个 ReliefOS 根分区使用 PARTUUID 隔离引导配置、内核槽位和版本状态;安装器默认保留已有 ESP 内容,更新器核对根分区与 ESP 的归属,未知 EFI 文件不会被覆盖。预制磁盘镜像可使用不同实例标识,避免并接时共享 GPT 身份。
- ReliefPlayer 新增 MP4 软件解码和画面显示,使用锁定的 LGPL FFmpeg 8.1.3 精简共享库,支持 H.264、MPEG-4 Part 2、HEVC 视频及 AAC、MP3 音轨。音画按设备播放进度同步。
- 将 sl、ncurses、zlib、libpng、SQLite 和 mbedTLS 3 从六个源码子模块迁移到带上游签名的 Alpine v3.24 APK。运行库、SDK、许可证与 APK 所有权记录按锁定版本构建;RPR 构建流程保留完整签名索引及上游 APK,不再生成这六项本地包装包或旧过渡包。
- 桌面应用采用 XDG 用户目录和标准快捷键。系统移除早期产品激活流程、旧许可证接口及对应配置。
- 安装器语言选择后显示完整 Apache License 2.0 英文原文,替代旧的感谢页。
- 文档发布工作流在构建 GitHub Pages 前分别严格验证 ReliefOS 与 ReliefNT 手册;修正若干依赖和 GNU Unifont 的下载来源。
破坏性更新
- 是。 早期私有产品激活接口及状态不再提供;依赖
include/reliefos/license.h、激活符号或旧激活配置的程序需要移除调用并重新构建。SQLite 已改用标准libsqlite3.so.0,旧sqlite.so.3、自定义 VFS 和扩展库偶然导出的厂商内部符号均不再兼容;依赖这些实现细节的程序需要迁移到标准 SQLite 接口,并使用本版 SDK 重新链接。未改变标准 Linux syscall 编号或磁盘文件系统格式。
更新与迁移注意事项
- 本次为源码 Release,只提供标签和 GitHub 自动源码归档,不附预编译 ISO、磁盘镜像、安装器、SDK 或 APK。构建前递归初始化标签固定的子模块;普通构建使用已锁定的本地依赖缓存,需要补齐缓存时执行
make fetch。 - 离线更新会将旧包装包的 world 请求映射到官方包、保留其他包和配置,并在正式更新事务中卸载旧包装包。上游 APK 的版本、签名和摘要由依赖锁固定;生成本地 RPR 发布树不表示已部署到外部服务,本次 Release 也不发布二进制 RPR。
- 多系统安装请使用手动分区并为 ReliefOS 指定独立根分区。只有明确选择格式化 ESP 才会清除其中内容;预制磁盘的逐字节副本仍具有相同 GPT 身份,同时连接前应使用不同
IMAGE_INSTANCE_ID重建。 - ReliefPlayer 使用软件解码,最高源分辨率为 4096 × 2160,显示快照上限为 1280 × 720;没有硬件加速、HDR 色调映射、字幕或多音轨选择。高分辨率视频的流畅程度取决于虚拟机性能。
- ReliefPlayer 的目标端媒体探针通过,链接锁定 FFmpeg 8.1.3 musl 库,覆盖 H.264/AAC、HEVC、MPEG-4、旋转画面、静音视频、定位、播放控制和损坏/不支持的媒体;RPR 包命名、双公钥信任和发布校验测试通过。宿主端媒体测试未通过构建:宿主只有 FFmpeg 4.4.2 头文件,缺少本实现使用的
AVChannelLayoutAPI;目标端结果不代表宿主测试通过。 - 发行验证覆盖版本生成、主仓
VERSION_ID、文档和定向构建检查。完整主仓make test的音频包、认证 staging、UEFI 安装布局和 bootstrap 检查通过;随后在test-brand-identity.sh停止,共有 32 条既有失败(一条 GRUB 安装器文案断言和 31 条旧名称 allowlist 断言),之后的构建测试未执行。发行过程没有修改 ABI golden 或绕过该检查。VMware、物理硬件和从头到尾的真实磁盘安装流程未完成本版验收,历史单项 QEMU 结果不等于整版复验。
开发者提示
- 版本由
configs/build-version确定为 5.3.2;ReliefOS 生成数字字段为 5/3/2,/etc/os-release的VERSION_ID为 5.3.2。内核版本、模块 ABI 和 gitlink 均由 ReliefNT v5.3.2 单独固定。 - MP4 运行库使用 FFmpeg LGPL 配置及独立
-reliefplayerSONAME;启用播放器时由reliefos-media-codecs包携带运行库和 LGPL 原文。SDK 与来宾运行时 APK 分开暂存,不能用宿主库替代目标库。 - 本次范围为 ReliefOS v5.3.1 提交 2f75f30 之后至 v5.3.2 标签指向的版本提交;仅汇总主仓最终生效内容,排除 ReliefNT 实现、纯合并和纯 gitlink 更新。下一版以该版本提交为起点。
ReliefOS 5.3.1
更新内容
-
Fileman 接入 inotify 自动刷新当前目录,合并短时间内的变更并保留仍存在的选中项,尽量保留滚动、键盘焦点和正在编辑的地址;同步已展开的当前目录树,监视不可用时提示并可通过 F5 重新扫描和恢复监听。
-
安装器将 BIOS/UEFI 引导方式选择前置到分区规划之前,按选择决定是否创建 BIOS Boot 分区,各组合保留 FAT32 ESP;返回修改选项不立即擦盘,同步调整图形、TTY、挂载切换及分区验证流程。
-
正常桌面启动使用普通 nice 优先级策略:XDM、Xorg 及其输入线程、IceWM 继承 nice=-10,终端及其编译子进程恢复 nice=0;优先级调整失败时仍继续登录。补充并行编译下的实际交互验证与测量说明。
-
交互式 Bash 默认启用 ls、dir、vdir 的自动终端颜色,沿用 GNU dircolors;保留用户已有颜色、分页器与别名配置,尊重 NO_COLOR、TERM=dumb 及非交互模式,管道和重定向使用纯文本输出。
-
修复 RPR 使用相对内核载荷路径时的发布失败;更新锁定的 libde265 到 1.1.3-r0、cups-libs 到 2.4.19-r1 及对应摘要和来源记录。
-
增加 xHCI Hub 的 QEMU 系统集成验证,核对实际键鼠输入、存储读写、子树移除和重建、旧描述符错误及控制器模块装卸;完善 Fileman、安装器和 XDM 测试,更新系统使用与验证边界文档。
破坏性更新
- 否,未新增既有应用入口或磁盘格式的不兼容变更。 安装器的引导选择顺序和新盘自动布局会按所选固件方式变化;已有安装通过更新流程保留分区。配套内核的内部模块 ABI 更新仍要求整套内核、initramfs、模块及清单匹配,不能混用旧 .ko。
更新与迁移注意事项
-
本次为正式源码 Release,只提供标签及 GitHub 自动源码归档,不附预编译 VMDK、ISO、Installer、SDK 或 APK。使用 Git 递归初始化标签固定的子模块;GitHub ZIP/TAR.GZ 不展开子模块。
-
更新前备份用户数据和引导配置,在新的 O 目录重建;复用配置时执行 olddefconfig 并核对内核 y/m/n。ReliefOS defconfig 会同时重置对应 ReliefNT 配置,普通构建保留已有内核设置。
-
新安装仍默认选择 BIOS 和 UEFI 两种引导方式,可分别取消;先完成选择再确认分区方案。更新已有安装不按新盘布局重新分区,保持原有 swap 设置。
-
Fileman 自动监听只覆盖当前目录直接子项,不等同于递归监听或搜索。目录被移动、删除、权限不足或事件溢出后,应以重新扫描的结果为准,必要时使用 F5。
-
桌面优先级采用普通调度策略,繁忙交互可能让出部分编译吞吐;终端重新打开后使用正常优先级。颜色配置也在新终端生效,可显式使用 --color=never 关闭单次输出。
-
本次发行检查两仓版本生成、5/3/1 数字宏、VERSION_ID 和严格文档构建,不为本标签重新打包或提供系统镜像。既有单项 QEMU 验证不等于整版复验;VMware 验证未完成,物理硬件和完整本机自举未完成验收。
-
内核功能范围、模块迁移和已知宿主测试问题以 ReliefNT 5.3.1 的独立发布说明为准;不将内核历史单项通过推导成所有应用或全部系统测试通过。
开发者提示
-
基础版本为 5.3.1,主仓生成数字字段为 5/3/1,/etc/os-release 的 VERSION_ID 为 5.3.1;内核版本及模块 ABI 身份由标签固定的 ReliefNT 自行生成。
-
内核实现、UAPI 和原生探针归属 ReliefNT;系统应用、打包、RPR 与完整虚拟机编排归属 ReliefOS。使用各目录 Kbuild 与现行 Documentation 手册,不恢复已退休桌面或私有图形接口。
-
保留 ABI golden 和音频验证策略;不通过重生成基线、修改 BusyBox 或 musl 来掩盖未解决的内核或测试问题。
-
更新范围为 5.3.0 版本提交 1f5a875 之后至本次版本提交;仅记录主仓最终有效更新,排除内核实现、纯合并和纯 gitlink 更新。下一版以本次版本提交为起点。
ReliefOS 5.3.0
ReliefOS 5.3.0
更新内容
- 新增 C++/FLTK OpenRC Controller,支持服务查询与批量操作、依赖和运行级别管理、配置编辑、备份恢复及日志导出。长操作异步执行,图形界面保持普通用户身份,由认证后的受限工作进程执行管理请求。
- 新增 C++/FLTK Network Controller,提供接口查询、DHCP/静态 IPv4/禁用配置、DNS 策略、连接诊断及配置恢复;沿用 OpenRC 网络服务和统一解析器发布流程。
- 集成 ReliefNT 原生 .ko 的配置、安装、依赖与别名数据库、模块自动加载和薄 initramfs。默认配置仍将生产组件内置,可选择支持独立生命周期的部件为模块;镜像检查根设备与文件系统依赖闭包,不静默改写内核配置。
- 内核更新按版本发布成对的内核、initramfs、模块及 ABI 清单,增加 A/B 引导选择、摘要核对和回退。签名 APK、安装器及恢复流程使用同一配套关系。
- 新安装可选择创建并配置 /swapfile,提供容量预检、完整分配、0600 权限、fstab/OpenRC 集成和启动后激活检查。默认不创建;更新已有系统保留原有 swap 设置。
- 增加 IPv6 RDNSS 守护进程与 OpenRC 服务,按路由器通告有效期维护 DNS,通过统一发布器与 DHCP DNS 合并;显式 DNS 策略优先。配套用户态接口、头导出和双栈测试同步更新。
- 接入 USB 2.0/3.x 存储及键鼠的系统配置、模块化启动和验证工具,并提供设备移除、只读介质与实际运行边界说明;驱动实现归属 ReliefNT。
- 完整打包 GNU coreutils 9.12 的 109 个命令入口,核对文件及 APK 所有权并保留旧命令路径;BusyBox 继续提供启动、救援和其余命令。
- 为 Dillo 配置不依赖界面语言的中文字体回退和用户配置初始化;恢复终端上游默认颜色,调整桌面及安装器入口,移除已退休桌面的快捷方式。
- 移除旧 ReliefOS Desktop/windowd、自研图形 UI 与相关配置和库导出,统一现行 X11/FLTK 路径。整理 Kconfig,主仓只配置产品和应用,内核配置由 ReliefNT 独立维护。
- 文档迁移至 Documentation/ 的 Sphinx/reStructuredText 手册,更新 RPR 文档集成并归档历史 Release;测试按实现归属分仓,增加模块启动、USB、内存压力与桌面延迟的系统验证工具,修复 APK/音频测试的宿主环境适配。
破坏性更新
是,涉及已退休图形接口、命令提供者、配置与开发路径。
- 旧 Desktop/windowd、鼠标区域和自研 UI 导出不再提供;依赖这些接口的程序须迁移到现行 X11/FLTK 及公开头文件并重新构建。
- 同名常用命令由 GNU coreutils 提供,选项和输出可能与 BusyBox 不同。APK 正常事务转移文件所有权;自定义脚本需核对实现,救援调用可显式使用 /bin/busybox。
- 内核、initramfs 与模块必须作为匹配的版本集合更新;旧 .ko 和 Linux 原版二进制 .ko 不能直接混用。更新选择器时需同时安装配套 BIOS/EFI GRUB 模块。
- 旧文档和已删除的配置路径不再作为开发入口;使用 Documentation/、当前组件清单和 Kbuild/Kconfig 目标。
更新与迁移注意事项
- 本次为 正式源码 Release,提供标签及 GitHub 自动源码归档,不附预编译 VMDK、ISO、Installer、SDK 或 APK。使用 Git 递归初始化标签固定的子模块;GitHub ZIP/TAR.GZ 不展开子模块。
- 更新前备份用户资料、受保护配置和引导分区。使用新的 O 目录重建;沿用配置时执行 olddefconfig,显式检查内核的 y/m/n 选择。ReliefOS defconfig 同时重置对应的 ReliefNT 配置,普通构建保留已有内核设置。
- 模块安装于 /lib/modules/<uname -r>/。保留对应恢复版本的内核、initramfs 和模块;不要只复制单个内核文件或将卸载忙碌设备失败视为异常。
- 自动 swap 只在全新安装时可选,当前要求支持的 AHCI SATA 后端及启用 swap 的配套内核;NVMe、USB 等后端尚不支持。已有系统不会被自动增添 swap,启用后应检查 /proc/swaps。
- 网络控制器的持久化编辑仍限于已支持的 IPv4 配置;IPv6 由 SLAAC 和标准命令管理,RDNSS 提供自动 DNS,没有有状态 DHCPv6 地址租约或 DNSSL 自动配置。保存并应用网络配置可能中断连接。
- 本次发布核对版本生成、数字宏和严格文档构建,不重新构建或提供系统镜像。历史单项 QEMU 结果不等于本标签整版复验;VMware 验证未完成,物理硬件未验证。桌面编译压力延迟、ReliefMath 关窗故障和完整本机自举仍有未完成项。
开发者提示
- 基础版本为 5.3.0,主仓生成数字字段为 5/3/0,/etc/os-release 的 VERSION_ID 同步为 5.3.0;内核版本与模块 ABI 身份由 ReliefNT 自身生成。
- 使用根 Make 入口及各目录 Kbuild;第三方保留原生构建系统。内核机制、UAPI 与内核测试在 ReliefNT,系统应用、打包和完整虚拟机编排在 ReliefOS。
- 驱动服务表使用版本 2,旧版本描述符会在初始化前拒绝。历史 ABI golden 保留,不能从前缀兼容或定向测试通过推导旧驱动二进制兼容或完整 Linux/POSIX 认证。
- 本说明覆盖主仓 5.1.2 版本提交 5d844df 之后至本标签的有效更新,排除内核实现及纯 gitlink 更新;下一版以本次版本提交为起点。
ReliefOS 5.1.2
ReliefOS 5.1.2
更新内容
应用与桌面
- 新增 ReliefDiagram 思维导图、流程图和逻辑关系图编辑器,提供图形与连线、分支折叠、布局排列、多选、属性编辑、撤销重做和模板。原生
.rdiagram文档保留编辑状态,支持 SVG、PNG、Markdown 导出,文件读写和原子保存由后台进程处理。 - 新增 ReliefPlayer 本地 MP3/WAV 播放器,支持播放暂停、停止、定位、前后跳转、音量和静音。解码、读取和音频输出在独立进程执行,界面显示格式与播放进度,并明确报告设备占用和输出失败。
- 新增 ReliefCapture 截图与标注工具,支持区域、窗口、全屏和延时截图,提供画笔、箭头、矩形、中文文字、撤销重做、X11 图像剪贴板及 PNG 保存。IceWM 默认增加 Win+Shift+S 选区快捷键。
- 计算器扩展为标准、科学、程序员、单位换算、统计和日期六种模式,增加精确整数位运算与位编辑器、18 类 145 个单位、会话历史、内存和快捷键;各模式保留独立输入。
- Diskmgr 从 windowd 前端迁移到原生 C++/FLTK/X11。保留 GPT 分区查看、新建、格式化、删除及挂载管理,增加中文 GPT 名称、异步操作、普通用户只读界面和 sudo 管理员窗口。破坏性操作重新核对设备与分区身份,使用明确确认,并报告部分成功。
- 修复 ReliefMail 将部分 CA 解析成功误判为整库失败的问题;连接继续校验域名、有效期和证书链。通过 ReliefAPK 提供证书恢复、备份和签名包更新流程,同步维护 CA 源包与汇总包,处理
.apk-new、旧版本约束和 apk 跳过修复等情况。 - 为新增应用接入中文翻译、图标、desktop 入口、组件选择和包归属,并增加适用的 MIME、文件管理器关联及菜单分组。
构建、安装与启动介质
- 自研运行库、应用和宿主工具改用固定的 Linux 6.12 Kbuild/Kconfig,按目录登记对象、跟踪命令和头文件依赖;移除旧自研编译规则与配置前端。第三方项目继续使用其原生构建系统,顶层 Make 继续集成 SDK、APK、镜像、测试和运行目标。
- Installer ISO、Live ISO、VMDK 默认同时支持 Legacy BIOS 与 UEFI,原有产物文件名保留。两平台 GNU GRUB 2.12 从锁定源码构建,替换旧预编译 EFI 树。
- GUI、TTY 和 CLI 安装流程共用引导校验与发布逻辑;新安装默认安装 BIOS 和 UEFI 引导器,可独立取消任一或两者。默认 GPT 包含 BIOS Boot、ESP 和 root,菜单以 GPT PARTUUID 绑定目标根分区;旧 UEFI 布局更新保留原有分区。
- 安装前检查容量、inode、分区角色及载荷,失败时保留阶段诊断;优化小文件复制的进度更新与新 root 的整体同步,减少安装滚屏及重复 journal 提交。引导资源和菜单按阶段发布,不将多文件或 BIOS 写入宣称为整体断电原子事务。
开发与验证
- 更新主仓对模块化内核的源码路径、SDK/头文件边界及测试适配,增加构建输入审计并修复 CI 对完整内核源码的集成。
- 增加应用、中文 GPT、双固件介质和实际安装、启动徽标、文字 panic 覆盖、POSIX I/O、SMP 计时、Linux exec 容量及描述符时间戳的定向回归和运行工具;内核实现详见独立的 ReliefNT 5.1.2 Release。
- 更新构建、安装、驱动与验证文档,并按完整版本提交区间独立归档两仓发布说明。
破坏性更新
是,涉及构建配置、引导布局及部分管理工作流。
- 构建配置移到
O/.config;旧mk/规则、配置前端和旧源码路径不再是生产入口。调用这些内部路径的脚本需要迁移。 - 默认新磁盘增加未格式化的 BIOS Boot 分区;硬编码旧两分区编号或旧预编译 EFI 路径的工具需调整。旧 UEFI 盘不会自动腾挪空间补装 BIOS 引导器。
- Diskmgr 需要 X11/FLTK;依赖旧 windowd 界面的启动方式需更新。普通用户修改磁盘需有相应 sudo 授权,不能依赖旧桌面角色隐式获得写权限。
- 系统信任包将
/etc/ssl/certs视为生成的证书输出目录;自定义 apk 保护规则和 CA 部署需人工合并。证书修复会刷新两个 CA 包的旧精确版本或仓库标签约束,执行前应审阅计划。
更新与迁移注意事项
- 本次为源码 Release,提供标签与 GitHub 自动源码归档,不附带预编译系统镜像。请递归初始化子模块并使用标签固定的 ReliefNT 提交;GitHub ZIP/TAR.GZ 不展开子模块。
- 备份文档、邮件与账户资料、CA、自定义桌面配置和分区数据。在新的
O目录重建;沿用旧配置时,将旧config/.config复制为新O/.config,再执行make O=新目录 olddefconfig。常用镜像仍位于O/images/。 - 新安装默认双引导;两种引导器都不选时,不会得到可直接启动的 BIOS/EFI loader。旧 UEFI 盘缺少 BIOS Boot 空间时,补装 BIOS 应在擦写前失败,勿把 ESP 直接改作 BIOS Boot。旧内核可能不识别 PARTUUID,回滚需按安装文档处理。
- ISO 是双 El Torito 光盘镜像,本版没有承诺可直接写入 U 盘作为 hybrid 镜像。证书修复应同步更新 ReliefMail、ReliefAPK 和系统信任包,保留管理员的自定义信任策略。
- ReliefCapture 的剪贴板内容由其进程提供,粘贴前需保持程序运行;窗口截图保留实际遮挡。ReliefPlayer 首版仅播放单个本地文件;ReliefDiagram 原生格式不承诺其他厂商格式兼容。
- 分项构建与 QEMU 验收记录见各应用及双启动验证文档,不能视为本标签所有组合的整版验收。VMware 验证未完成,物理硬件未验证。
- 保留已知限制:默认 OVMF 高地址 NVMe BAR 超出现有 direct map 支持范围;硬关机后 Xorg 锁文件可能阻止恢复;编译压力下 IceWM 拖动问题仍未完成验证。上一版记录的 ReliefMath 关窗崩溃在本区间没有修复或完成复验。
- 公开总测试仍有既有
soundctl包归属失败,另有音频策略/产物、部分旧 fixture 和 ABI golden 差异;本次未改变这些策略或重生成 golden,不宣称全套测试通过。
开发者提示
- 基础版本为
5.1.2,configs/build-version与/etc/os-release的VERSION_ID一致;内核版本由其自身配置生成,后缀仍使用EXTRAVERSION/LOCALVERSION。 - 生产入口继续是根 GNU Make;使用
defconfig、olddefconfig、menuconfig和各目录 Kbuild。需 GNU Make 4.3 或更新版本,目标工具链和第三方输入仍以仓库配置、锁文件为准。 - 构建新增 GUI 应用时使用目标 musl、C++17、FLTK 及系统中文字体,保持中央 FLTK 清单、组件、包归属、图标和安装器裁剪一致。自定义磁盘工具还应阅读 ReliefNT 的
BLKROGET编码和能力权限迁移说明。 make run QEMU_BOOT=bios选择 SeaBIOS,默认QEMU_BOOT=uefi使用 OVMF;test-smoke顺序检查三类介质的两种固件启动,不能替代实际安装和升级验收。- 本说明覆盖主仓 5.1.1 版本提交
10e76d319ec9ca4375d6faf9555d64f18fb80e69之后至本标签的有效变更,排除纯 gitlink 同步和内核实现。下一版以本次版本提交为区间起点。
ReliefOS 5.1.1
ReliefOS 5.1.1
发布范围
- 上一版本基线:
5.1.0的版本提交372641705ae46f7523d26fef0e4e200212842c78。 - 本次版本:
5.1.1,终点为v5.1.1指向的本次版本提交;完整提交身份以该标签为准。 - 更新区间为
(上一版本提交, 本次版本提交],起点不含、终点包含。仅总结主仓自身应用、系统配置、构建、测试与文档的有效变化;不重复 ReliefNT 实现或纯 gitlink 更新,合并提交不单列。 - 本次是正式源码 Release,提供标签、中文说明及 GitHub 自动源码归档,不附二进制镜像、SDK 或内核文件。
更新内容
办公、数学与任务管理
- 新增 ReliefMath 离线公式编辑器:一个
.rmath文档管理多条 LaTeX 公式,提供源码高亮、括号匹配、补全、参数占位跳转、131 项插入目录,以及分数、根式、上下标、积分、矩阵、分段和对齐等工具与向导。支持公式排序、筛选、样式、模板、收藏、撤销重做及错误定位。 - ReliefMath 通过独立渲染进程显示预览,支持 SVG、透明 PNG、LaTeX 源码及批量导出;SVG 字形转为轮廓。后台文档读写包含原子保存、外部修改检测和恢复快照,接入锁定的 Cairo/FreeType 开发依赖及 STIX Two Math 字体和许可文件。渲染仅支持明确列出的数学子集,不提供完整 TeX 宏包环境。
- 新增 ReliefTodo 离线任务管理器:支持标题、备注、项目、标签、优先级、截止日期和完成状态,提供日期/项目/文本筛选、排序、多选、批量处理、统计和撤销重做。使用
.rtodo原生文档,支持 CSV、Markdown 导出;文件工作进程处理冲突检测、保存锁、同步及原子替换。 - 新增 ReliefMath++ 几何与函数工作区:支持二维显函数、隐式曲线、极坐标与参数曲线,三维显函数、参数曲面与空间曲线,以及点、线段、向量、圆、椭圆、平面、球、长方体等共 23 种对象。提供四个参数滑块、二维平移和三维旋转缩放、对象属性编辑、撤销重做与示例。
- ReliefMath++ 提供函数值、导数、积分、夹根、交点、极值、切线、曲面梯度/法向量、切平面、二重积分、曲面面积和几何/向量计算,支持
.rmathpp文档、SVG/PNG 及值表 CSV。三维采用软件正交投影;计算使用数值方法,不是符号代数系统,也不要求 GPU 加速。 - 将已有 ReliefMail 邮件客户端实现接入主仓 FLTK 构建、默认组件及镜像,提供标准 desktop 启动入口,并加入 Office 分组。上一版仅交付其开发源码;本区间交付的是 SMTP/IMAP、多账户、邮件编辑与保险库等已有实现的默认系统集成。
- 三个新应用均接入默认菜单、独立图标、中文翻译、desktop/MIME 声明及原生文件打开关联。文件管理器增加
.rmath、.rtodo、.rmathpp默认打开程序,同时保留用户自定义关联的优先级。 - Excel、Word、PPT 的“文件”按钮恢复 FLTK gtk+ 默认盒型;Office 顶栏统一使用“文件”,清理
F助记标识及旧翻译,涵盖 Mail 主窗口和写信窗口。
图形桌面、账户与安装器
- 补入锁定的 Mesa Gallium DRI 子包,让桌面可使用上游
vmwgfx入口;Xorg 从固定 fbdev 配置转为标准自动探测,在具备 DRM 能力时选择 modesetting/glamor,在没有 DRM 节点时保留 fbdev 路线。默认使用软件光标并关闭 modesetting page flip;这不等于关闭 DRI3/Present。 - XDM 会话环境允许传递
RELIEFOS_XORG_EVENT_FD;非 DRM 的 fbdev 启动包装器请求 32 位色深。更新 Xorg、SVGA3D 配置、软件回退及性能诊断文档。内核 DRM、SVGA3D 和信号实现见独立 ReliefNT Release。 - 默认账户资料增加
video组(GID 44),安装账户及新建普通用户加入该组;统一账户名校验,拒绝root、nobody、wheel、video等保留名称,补充组成员和登录身份回归。 - 将 FLTK 应用清单集中到
configs/fltk-apps.list,同时供应用构建和安装器控制台目标裁剪使用。关闭 Xorg 时,安装载荷按同一清单裁剪图形应用,避免新增应用遗漏。
开发、构建与验证工具
- 为 ReliefMath、Todo、Math++ 增加组件配置、包归属、构建/资源 staging、文档格式与工作流测试;补充独立 QEMU GUI 验收工具、磁盘结果核对和原始运行截图记录。
- 主仓增加 DRM/execbuf/fence、fbdev、描述符与映射、用户异常、控制台恢复、调度和信号唤醒的用户态/宿主回归夹具,并同步 SDK 头文件导出清单。这些是主仓测试和集成更新,不作为内核实现重复列出。
- 内核版本回归脚本改为从版本配置读取字符串及数字字段,继续检查后缀、非法输入拒绝、无操作重建、父仓适配和 procfs,避免每次发布后留下旧版本断言。
破坏性更新
是,主要涉及账户配置与交互工作流。
video成为保留账户名和系统图形访问组;自定义账户库若已有同名账户、不同 GID 的video组,或 GID 44 被其他组占用,需要人工协调,不能直接覆盖账户文件。- 图形默认配置不再强制固定 fbdev。自定义 Xorg 配置、设备访问权限及只适配旧固定路径的启动脚本需重新核对;新增用户入组不会自动修订所有已有系统账户。
- 顶栏移除
F助记标签,依赖该标签自动提供的Alt+F入口的操作习惯或自动化脚本需调整;菜单项自己的 Ctrl 快捷键仍按各应用定义提供。 - 新文档使用各自原生格式,不承诺与 Microsoft Office 文件或其他数学/任务管理软件的私有格式兼容。内核 API 的迁移影响请另读 ReliefNT 5.1.1 说明。
更新与迁移注意事项
- 先备份文档、邮件资料与保险库、账户组文件及自定义 Xorg 配置。现有安装跨版本原地升级、早期 Mail 开发资料迁移及全部文件系统组合尚未完成整版验收,先在独立副本验证自己的路径。
- 从本标签递归初始化子模块,并使用该标签固定的 ReliefNT 提交;获取锁定依赖后重新构建。GitHub 自动源码归档不展开子模块,单独下载 ZIP/TAR.GZ 不能代替完整构建输入。
- 合并
video组配置并核对目标用户的补充组;已有会话需要重新登录才能重新取得组成员。保留用户个人配置,勿把示例账户文件直接覆盖到现有系统。 - 按需合并
/etc/X11/下的 Xorg/XDM 配置;是否得到加速上下文须结合设备能力、Xorg/Mesa 日志和实际绘制核实。软件回退、GPU 查询值或单个示例成功均不代表整版硬件加速验收。 - 数学公式保存为
.rmath,几何场景保存为.rmathpp,任务清单保存为.rtodo。导出的图像、CSV、Markdown、LaTeX 用于交换,不保留全部原生编辑状态。 - Todo 不提供自动保存、崩溃恢复、云同步或后台提醒;请主动保存。Todo/Math++ 的共享保存锁对不遵守协议的外部写入者不提供事务隔离;FAT32 空文件锁识别及 FAT32/exFAT 运行验证仍有限制。
- ReliefMath 在最近的 QEMU 标签检查中关窗触发段错误,退出码 139,尚未修复且原因未定位。 本次版本发布没有修改其关闭逻辑,不应将该应用视为完整运行验收通过。
开发者提示
- 生产入口为根 GNU Make。数字基础版本为
5.1.1;主仓与固定的内核分别生成对应版本头,内核数字字段为5/1/1,后缀继续通过EXTRAVERSION/LOCALVERSION配置。 - 本区间图形应用使用目标 musl、C++17、FLTK gtk+ 及中文字体;保持目标运行库边界。ReliefMath 还依赖锁定的 Cairo/FreeType 开发输入和随包数学字体,须通过现有构建链获取与装配。
- 新增图形应用时同步中央 FLTK 清单、组件、包归属、菜单、翻译及安装器控制台裁剪;新增公开头通过导出白名单供 SDK 消费。
- ReliefMath 支持范围见 命令表;数值绘图、采样边界及任务保存限制分别见 ReliefMath++、ReliefTodo。
- 后续版本继续遵循发布规范,从本次版本提交之后计算更新范围,两仓独立编写说明。
验证与已知限制
- **源码检查:**分别核对两仓 5.1.0 版本提交后的历史和最终差异;检查版本输入、系统身份、说明范围及提交文件。没有改写 ABI golden、音频 manifest 或任务外文件。
- 本次编译通过:
TMPDIR="$PWD/out/tmp" make O=out/xorg-vmware-debug PROFILE=debug -j4 build-info kernel test-tools;生成的主仓/内核版本均为5.1.1、数字字段为5/1/1。宿主普通及 ASan/UBSan 工具测试通过。 - 本次定向检查通过:
test-version-abi.sh、test-kernel-version.sh、test-rpr-packages.sh,均使用主仓out/tmp;覆盖版本身份、后缀/数字字段、无操作生成、父仓适配、procfs 与 RPR 包命名/信任规则。 - **主仓完整门禁未通过:**本次
make O=out/xorg-vmware-debug PROFILE=debug -j4 test在test-apk-ownership.sh停止,错误为component policy mismatch: ['soundctl']。后续未执行项不计为通过;本次未改变该组件策略。 - **打包:**本次为源码发布,未重新打包最终 5.1.1 系统镜像、ISO、Installer ISO 或 SDK。区间内各应用已有编译、镜像成员核对记录,不能将旧产物重标为本版二进制。
- **QEMU:**区间内 Math++、Todo 等专题记录覆盖各自有限的操作、导出和磁盘结果检查;最近六个主窗口的“文件”标签检查使用基线私有副本注入新程序,Math 关窗退出 139。本次没有对最终 5.1.1 标签进行整版 QEMU 验收;Mail 写信窗口本轮标签修改仅做源码/编译检查。
- VMware:VMware 验证未完成。 SVGA3D 文档 中原生 VMware 图形/性能及软件回退证据属于各自冻结源码和有限场景,不是本次整版验收,也不证明所有负载均加速。
- **真实硬件:**本版未验证。内核侧测试与 ABI 门禁限制另见 ReliefNT 5.1.1。
获取与追溯
- 获取
v5.1.1源码及 GitHub 自动生成的 Source code ZIP/TAR.GZ。没有上传二进制附件或相应校验清单;构建所需子模块须单独递归获取。 - 完整提交与差异。compare 展示完整历史,本说明按主仓职责排除了内核实现和机械条目。
- 应用文档:ReliefMath、ReliefMath++、ReliefTodo;图形配置与证据:Xorg、SVGA3D。
ReliefOS 5.1.0
ReliefOS 5.1.0
发布范围
- 上一版本基线:
5.0.0的版本提交6894edc64ba663193ec9139732e704f93b0d0b24。 - 本次版本:
5.1.0,终点为v5.1.0指向的版本提交。 - 统计区间为
(上一版本提交, 本次版本提交]:起点不含、终点包含。仅总结 ReliefOS 主仓自身源码、应用、系统配置、构建、测试与文档;不包含 ReliefNT 实现或纯内核 gitlink 更新。 - 这是正式源码 Release;未上传二进制镜像或 SDK,不表示整版运行验收完成。
更新内容
桌面、登录与图形应用
- 引入 Xorg 桌面后端、锁定 Alpine Xorg/XDM 依赖闭包,先完成 TWM 会话,再迁移至当前 IceWM 桌面;增加后端选择、配置、会话生命周期诊断、异常退出恢复和 VT 契约探针。
- XDM 恢复标准配置文件和上游风格 greeter,整理服务器、会话与背景脚本;修复输入焦点和诊断事件读取,减少从登录到 IceWM 会话启动的等待。配置由独立签名包管理,避免改写上游 APK。
- IceWM 提供随包主题、背景、任务栏、快捷键和标准应用分类;恢复开始菜单分类生成,保持用户个人配置优先。默认终端由 xterm 切换为 st,提供 NEdit 文本编辑器和 Dillo 浏览器。PCManFM 曾试用后移除,不是本版交付组件。
- 12 个自有 X11 前端最终迁至 C++17 / FLTK 1.3.11:计算器、系统信息、文件管理器、任务管理器、扫雷、两款图片应用、画图、图片查看器、Doom launcher、Doom 平台前端和安装器。中间的 Motif 前端已被替代;第三方 NEdit 仍保留自身 Motif 依赖。
- 统一 FLTK 公共初始化、UTF-8 / gettext、中文字体、原生文件选择器翻译及目标 C++ 运行库;增加过长路径拒绝、外部文件名显示保护、焦点和文件操作回归。计算器提供整数表达式与错误检查;系统信息保留内核调试器入口;画图和查看器支持 BMP/PNG。
- Fileman 增加名称搜索和定位、地址与目录导航、多选、复制剪切粘贴、压缩解压和权限属性;重排工具区域与分栏。删除采用确认后的直接删除,没有回收站恢复。Task Manager 重排进程、性能和启动项页面;保留进程树、详情、终止确认及 CPU/内存/GPU 图表。
- 自有图形应用统一标准 hicolor 图标、桌面文件和文件打开关联;修复 Xorg 用户态适配中的 VMware 绝对鼠标坐标同步与 SVGA 配置问题。上述修复不等同于本版 VMware 完整验收。
- 修复第三方 GTK 程序的图片解码、图标主题及用户目录配置:补齐 glycin 图片/SVG loader、hicolor/Adwaita 图标主题及 GTK 默认主题设置,在会话客户端启动前创建 XDG 用户目录;增加 GTK 窗口与警告信息的运行检查工具。
办公与包管理
- 新增 ReliefExcel:多工作表、公式栏、相对/绝对及跨表引用、常用公式、样式、合并、填充、排序筛选、查找替换、冻结和缩放;支持原生
.rexl、UTF-8 CSV、模板、原子保存、外部修改检测和定时恢复。 - 新增 ReliefWord:中文分页编辑、字符与段落样式、列表、页面尺寸和页边距、页眉页脚页码、标尺、缩放、查找替换及撤销重做;支持原生
.rword、TXT/HTML 子集导入导出、原子保存、冲突检测和恢复。 - 新增 ReliefPPT:幻灯片版式、文字与嵌入图片、基础形状、多对象移动缩放/对齐/图层、背景和网格、演讲备注及全屏放映;支持原生
.rppt、PNG/离线 HTML 分享、原子保存、外部修改检测和恢复。 - 新增 ReliefAPK:通过真实 apk 命令浏览、搜索和查看软件包、依赖、文件与来源;支持安装、卸载、升级、重装、修复、本地 APK、操作队列和执行前模拟。提供软件源编辑与备份/冲突检测、缓存/密钥/审计等工具、设置和普通用户密码提权;后台子进程避免长操作阻塞主界面。
- 加入 ReliefMail 开发源码及模型/协议/存储/界面测试工具,包含 SMTP/IMAP、多账户、邮件编辑、附件与主密码保险库等实现。本提交范围结束时,尚未接入默认组件清单和主仓 FLTK 应用构建列表,不能视为默认镜像中已经可用的完整邮件客户端。
终端、工具与依赖
- 默认交互 shell 切换为官方 Alpine Bash,提供账户 shell 迁移辅助程序,保留 BusyBox ash 的
/bin/sh;交互 Bash 配置加入 fastfetch。 - 扩展 BusyBox 工具与包文件归属检查,用标准 ping 替代退役图形 Ping;移除旧 cmd 子模块和构建接线。引入 GNU coreutils 的 dd/yes,并补充管道、并发、错误路径和吞吐测量工具;这些是主仓工具及验证变化,内核管道实现见 ReliefNT Release。
- 新增
driverinfo控制台工具,提供驱动状态与种类信息展示。 - mbedTLS 从 2.28.8 升至 3.6.7,调整配置、构建和目标 TLS 适配;保留证书和主机名校验,增加相关验证记录。
音频、安装与系统集成
- 增加 ALSA、ALSA 工具、Nuked OPL3、音频运行库、音量控制及音频服务的独立构建和 rootfs/SDK 集成;扩充音频设置与 Doom 输出、混音及音乐适配,归档主机和历史虚拟机证据。声卡与 PCM 内核实现属于 ReliefNT,不在此说明重复。
- 安装器从旧桌面协议转为当前 FLTK X11 前端,保留 TTY 安装路径;改进磁盘控制工具,移除主题选择步骤,提供是否安装 Xorg 桌面的选择,支持桌面和纯控制台目标配置。
- 系统镜像、GRUB、安装器和更新脚本改为直接装配/启动
kernel.sys,移除loader.elf及.drv产物的父仓接线、包装和启动路径;不再依赖旧 windowd 服务入口。Doom/launcher 不再进入默认镜像,仍可按组件选择构建。 - 增补启动控制台的 Linux TTY 用户态契约和 FD/VT/termios 回归,覆盖 OpenRC、PTY、evdev 与关闭标志相关场景;内核实现另见 ReliefNT Release。
- 根文件系统的
VERSION_ID与本仓发布版本统一,避免继续报告历史 4.x 身份。
构建、测试与文档
- 增加
make fetch-check对锁定依赖 URL 的探测,更新 sessreg 校验值、Xorg server 索引和 coreutils 下载镜像;FLTK 开发头/链接库由锁定且验证过的目标 APK 提供,避免引入宿主 glibc C++ 依赖。 - 修正 APK trigger 的 chroot 执行环境与 CI 非特权 userns 设置,强化签名、ownership、组件选择、目标依赖闭包、SDK、NLS 和桌面入口检查。
- 为内核目录重排同步主仓测试夹具/头文件路径,补充 OPOST、内存映射、vDSO、调度、事件唤醒、吞吐和控制台的用户态回归与分层证据;不把这些测试接线当作主仓实现了内核功能。
- 更新 Xorg、音频、FLTK、办公应用、ABI/系统调用和验证文档;Pages 避免链接未发布的内部文档。新增长期发布规范,固定版本提交区间、两仓职责、迁移说明、验证披露与 GitHub CLI 发布流程。
破坏性更新
是。 本区间包含以下迁移影响,不能仅根据 5.1.0 的小版本形式判断兼容性:
- 桌面和安装器使用 Xorg/FLTK,旧 windowd 客户端、服务入口和专属配置不能直接作为新会话配置。XDM/IceWM 应使用各自标准配置路径。
- 镜像/启动集成删除独立
loader.elf和.drv包装;自定义 GRUB、安装介质、更新脚本及产物收集清单必须同步,不能只替换一个旧启动文件。 - 登录 shell 改为真实 Bash,旧 Bash 路径别名和自定义账户 shell 设置应检查;
/bin/sh继续使用 ash,Bash 专有语法不能写入要求 POSIX sh 的脚本。 - Fileman 是直接删除模式,不提供回收站;文件打开关联和默认终端发生变化。默认镜像不再包含 Doom/launcher,PCManFM 也不随本版交付。
- mbedTLS 主版本升级涉及开发 API/配置差异;依赖旧 2.x 头文件或链接库的移植软件需要重建和适配。
- 新办公应用使用自身原生格式,并非 Microsoft Office 文件兼容替代。ReliefExcel 不支持 XLS/XLSX,ReliefWord 不支持 DOC/DOCX,ReliefPPT 不支持 PPT/PPTX;格式导出也不保证保留全部原生编辑信息。
更新与迁移注意事项
- 本次只提供源码。备份用户文件、账户数据、软件源、world 约束、系统配置及自定义启动文件;使用对应标签和子模块提交构建,不能把旧本机镜像视为本版安装介质。
- 现有安装的跨版本原地升级尚未完成整版验证。先在独立磁盘/虚拟机副本中验证自己的安装和升级流程;不要将历史局部成功理解为所有存量系统都能直接升级。
- 切换桌面时核对
/etc/X11/xdm/、/usr/lib/X11/xdm/和 IceWM 配置。用户个人主题/偏好优先于系统默认;纯控制台安装应检查所选 profile 的组件范围。 - 官方 Bash 可用后再按需要使用
/usr/lib/reliefos/migrate-shell;检查账户 shell、登录脚本和/etc/shells,保留有意使用其他 shell 的账户设置。 - 自定义引导或打包流程应同时更新内核、GRUB 和 rootfs 的对应内容,移除对
loader.elf、.drv、旧桌面服务及旧包内容的假设。内核兼容性细节请另读对应 ReliefNT Release。 - 办公文件先保留原件,并保存到对应
.rexl、.rword、.rppt格式;CSV/TXT/HTML/PNG 是特定用途的交换或分享格式。文件管理器删除前应自行确认备份。 - ReliefAPK 当前固定适配 apk-tools 3.0.8-r0;系统更新时保留软件源、信任密钥和本地配置。ReliefMail 尚需完成默认构建/镜像集成,不能作为升级后的默认邮件功能依赖。
开发者提示
- 主仓仅包含系统集成和用户态;递归初始化子模块,并使用本标签固定的内核 gitlink。不要将主仓 Release 正文当作内核更新清单。
- 生产入口为根 GNU Make;主仓与内核数字基础版本均为
5.1.0。内核EXTRAVERSION/LOCALVERSION继续独立工作,数字版本宏为5/1/0。 - 自有图形前端使用目标 musl、C++17、FLTK 及锁定的目标运行库;保留
-fno-exceptions -fno-rtti和现有 C 后端边界。新应用需分别处理组件、构建、镜像、菜单、关联、翻译与运行验证。 - 内核导出接口和相关夹具应消费正确子模块的头文件;不要修改 ABI golden 或音频 manifest 来掩盖不一致。性能脚本仅在声明的平台、场景和持久化语义内解释。
- 发布时遵循 发布规范,下一版范围从本次
5.1.0版本提交之后重新计算,仍分别编写两仓说明。
验证与已知限制
本次发布执行了以下检查,结果分别披露:
-
编译通过:
TMPDIR="$PWD/out/tmp" make O=out/xorg-vmware-debug PROFILE=debug -j4 build-info kernel。主仓和子构建生成的版本字符串均为5.1.0,数字宏均为5/1/0。这是主仓版本及内核构建适配检查,没有重新打包本版系统镜像。 -
定向检查通过:主仓宿主工具(含 ASan/UBSan)、版本 ABI、内核版本/后缀/无操作重建/非法后缀拒绝/父仓适配/procfs 夹具、RPR 包命名与信任密钥契约;完整检查命令为
make O=out/xorg-vmware-debug PROFILE=debug -j4 test-tools以及sh tests/build/test-version-abi.sh、sh tests/build/test-kernel-version.sh、sh tests/build/test-rpr-packages.sh,均使用主仓out/tmp。 -
主仓完整门禁未通过:
make O=out/xorg-vmware-debug PROFILE=debug -j4 test build-info在音频包检查停止,默认out/audio-hda中缺少libreliefos-audio.so.1。未把后续未执行用例算作通过,也未改动音频 manifest。 -
品牌门禁未通过:
sh tests/build/test-brand-identity.sh的版本身份检查通过,但四个应用 QEMU 测试脚本仍引用既有翻译域文件、未登记品牌 allowlist,产生四项旧名门禁失败。本次未改写这些历史兼容路径或放宽门禁。 -
Pages 门禁未通过:
sh tests/build/test-pages.sh检出历史 ReliefWord 本机截图链接和 vDSO 内部设计记录链接在生成站点中断开;RPR 元数据检查通过,不代表整棵站点可以部署。 -
上述失败均定位到本次版本/规则修改之外的既有输入或环境要求;本 Release 保留失败记录,不以源码发布替代这些门禁。
-
VMware 验证未完成;真实硬件运行未验证。
-
历史 GUI/办公应用/包管理器 QEMU 证据只覆盖其各自记录的程序、镜像和步骤。FLTK 完整新装 E2E 曾在复制阶段超时,标准 VGA 显示问题仍有未决记录;本次源码发布没有重新宣称这些项目通过。
-
本版未上传 VMDK、ISO、Installer ISO、SDK 或内核二进制,也没有把旧镜像重标为 5.1.0。
-
ReliefMail 默认构建/组件/镜像集成未完成;办公应用的格式与功能限制见各自文档。
获取与追溯
- 本仓
v5.1.0源码及 GitHub 自动生成的 Source code 归档;自动源码归档不包含展开后的子模块源码,需要完整构建输入时应克隆并执行git submodule update --init --recursive。 - 完整提交与差异。链接包含完整 Git 历史;本说明已排除纯内核指针和机械版本条目。
- 构建说明、Xorg 桌面、FLTK 验证记录、ReliefExcel、ReliefWord、ReliefPPT、音频。