From 451105bced434f9fc941c377f7d5ae9f79c53d62 Mon Sep 17 00:00:00 2001 From: LeonMMcoset Date: Tue, 10 Nov 2026 23:27:43 +0000 Subject: [PATCH] chore(release): publish ReliefOS 5.3.2 --- Documentation/releases/5.3.2.rst | 49 ++++++++++++++++++++++++++++++++ Documentation/releases/index.rst | 1 + configs/build-version | 2 +- kernel/reliefnt | 2 +- system/rootfs/etc/os-release | 2 +- 5 files changed, 53 insertions(+), 3 deletions(-) create mode 100644 Documentation/releases/5.3.2.rst diff --git a/Documentation/releases/5.3.2.rst b/Documentation/releases/5.3.2.rst new file mode 100644 index 00000000..4995379f --- /dev/null +++ b/Documentation/releases/5.3.2.rst @@ -0,0 +1,49 @@ +============== +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 头文件,缺少本实现使用的 ``AVChannelLayout`` API;目标端结果不代表宿主测试通过。 + +- 发行验证覆盖版本生成、主仓 ``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 配置及独立 ``-reliefplayer`` SONAME;启用播放器时由 ``reliefos-media-codecs`` 包携带运行库和 LGPL 原文。SDK 与来宾运行时 APK 分开暂存,不能用宿主库替代目标库。 + +- 本次范围为 ReliefOS v5.3.1 提交 **2f75f3040c9a3c1838b273124ed685941b3686f0** 之后至 v5.3.2 标签指向的版本提交;仅汇总主仓最终生效内容,排除 ReliefNT 实现、纯合并和纯 gitlink 更新。下一版以该版本提交为起点。 diff --git a/Documentation/releases/index.rst b/Documentation/releases/index.rst index eb2ee4b1..e0c62364 100644 --- a/Documentation/releases/index.rst +++ b/Documentation/releases/index.rst @@ -12,6 +12,7 @@ .. toctree:: :maxdepth: 2 + 5.3.2 5.3.1 5.3.0 5.1.2 diff --git a/configs/build-version b/configs/build-version index 0cccdba9..af55f341 100644 --- a/configs/build-version +++ b/configs/build-version @@ -2,4 +2,4 @@ # not code: reliefos-version reads it so that no product name or version number is # duplicated inside a C constant (plan section 7). kernel_name=ReliefNT -release_version=5.3.1 +release_version=5.3.2 diff --git a/kernel/reliefnt b/kernel/reliefnt index 80edb7e4..1dfd1eb8 160000 --- a/kernel/reliefnt +++ b/kernel/reliefnt @@ -1 +1 @@ -Subproject commit 80edb7e421b20a45f37fc1eb5168175277245654 +Subproject commit 1dfd1eb8541bb31e51836aab40827694eb82fed2 diff --git a/system/rootfs/etc/os-release b/system/rootfs/etc/os-release index 096bd8d9..04ac6715 100644 --- a/system/rootfs/etc/os-release +++ b/system/rootfs/etc/os-release @@ -1,4 +1,4 @@ NAME="ReliefOS" ID=reliefos PRETTY_NAME="ReliefOS" -VERSION_ID=5.3.1 +VERSION_ID=5.3.2