Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions Documentation/releases/5.3.2.rst
Original file line number Diff line number Diff line change
@@ -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 更新。下一版以该版本提交为起点。
1 change: 1 addition & 0 deletions Documentation/releases/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
.. toctree::
:maxdepth: 2

5.3.2
5.3.1
5.3.0
5.1.2
Expand Down
2 changes: 1 addition & 1 deletion configs/build-version
Original file line number Diff line number Diff line change
Expand Up @@ -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
2 changes: 1 addition & 1 deletion system/rootfs/etc/os-release
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
NAME="ReliefOS"
ID=reliefos
PRETTY_NAME="ReliefOS"
VERSION_ID=5.3.1
VERSION_ID=5.3.2
Loading