v0.3.43 (2026-07-19)
====================
- Web 新增统一 L0/L1/L2 运行等级选择器，默认 L0
- 无授权只能选择 L0；L1 授权解锁 L0/L1；L2 授权解锁 L0/L1/L2
- 切换等级时先停止全部应用进程，再把所有应用统一设置到目标等级
- 撤销授权时停止全部应用并强制统一降级到 L0
- L2 切换增加二次风险确认；切换后应用保持停止，由用户手动启动

v0.3.42 (2026-07-19)
====================
- 新增每应用 RuntimeMode：L0 严格沙箱、L1 增强网络沙箱、L2 宿主原生兼容
- L2 在宿主 network/mount/device 环境真实运行标准 iKuai start.sh，不再经过 tf-shim
- L2 要求逐应用风险确认，且拒绝占用非 TestFlight 管理的 /<app> 路径
- L2 停止时执行原生 stop.sh、清理受管 PID 和 bind mount；卸载只删除带管理标记的宿主目录
- 运行模式不能超过当前有效设备授权，切换模式前必须停止应用

v0.3.41 (2026-07-19)
====================
- 对 apps 目录中的应用执行 L0/L1/L2 三级安装、启动、进程、端口和审计回归
- 兼容 manifest.json 直接位于归档根目录的原生 IPKG（如 1Panel、MosDNS）
- 为应用私有 overlay 中常用运行目录预设可写属主，修复 /run、/var/lib、/usr/local、/etc 写入失败
- 允许 native 启动脚本迁移自身 app/.env，同时保持 scripts 和 bin 只读
- 三级矩阵明确区分 TestFlight 兼容性、应用配置缺失和测试机硬件/宿主条件不满足

v0.3.40 (2026-07-19)
====================
- 重构开发者终端，进入后显示应用 ID、版本、IP 与当前 L0/L1/L2 等级
- 新增 tf-help、tf-status、tf-logs、tf-audit、tf-log-files 排错命令
- 将应用 stdout/stderr 暴露为 /data/testflight-app.log，支持实时跟踪
- 终端通过 tf-exec 进入应用实际 netns、chroot、UID 映射和 /data
- 修复交互 Shell 因进程组错误被 SIGTTIN 停止、无提示符且无法执行命令
- 修复 chroot 后继承无效工作目录导致 (unknown) 与 getcwd 错误
- 开发者终端默认从 / 启动，提示符显示应用与当前目录
- 修复 native 应用 environment 文件被错误预建为目录，导致文件 bind mount 返回 not a directory
- tf-exec 现在根据源类型分别创建文件或目录挂载目标，并自动修复旧错误目录
- 修复 Web 反向代理将上游 gzip 压缩 HTML 当明文改写，导致浏览器显示乱码

v0.3.39 (2026-07-19)
====================
- 修复导出提交包 MANIFEST.txt 的 GWID 为空
- 设备信息统一由当前设备报告读取，不再混用应用授权绑定 GWID
- 统一 HTML、JSON 审计报告和提交包中的设备信息来源

v0.3.38 (2026-07-19)
====================
- 修复无 <base> 页面在子目录中的相对资源路径
- 保留上游页面目录，兼容位于 /ui/ 等子路径的 SPA
- 修复 Nuxt 类应用在反向代理前缀下的 baseURL 与导航路径
- 改进 Web 后端地址重写，避免请求脱离 /web/<app>/ 前缀

v0.3.37 (2026-07-19)
====================
- 改进应用 Web 反向代理的 HTML base、src、href 与 Location 重写
- 兼容根目录 Web 应用和子目录 Web 应用
- 修复静态资源错误落到 TestFlight 根路径的问题

v0.3.36 (2026-07-19)
====================
- 修复带绝对资源路径的应用通过 /web/<app>/ 打开后黑屏
- 增加 HTML 资源路径重写与反向代理前缀适配
- 完善 WebSocket、重定向和应用 API 代理兼容

v0.3.35 (2026-07-19)
====================
- 完善应用 Web 入口、APP_PORT_WEB 与 APP_WEB_LOGIN_URI 支持
- 限制根 /api 兼容代理仅对明确应用来源生效
- 改进应用升级时旧进程、netns 与 native PID 清理

v0.3.34 (2026-07-19)
====================
- 实现 manifest RSA 签名有效、无效、未签名三态
- 签名错误可持久化并在 Web 控制台与报告中展示
- 应用 IP 与 UID 使用最低空闲值，升级保留原有分配
- 增加地址池耗尽检查与资源分配测试

v0.3.30–v0.3.33 (2026-07-18)
===========================
- 完善私有 /dev、/proc、netns、真实 PID 和环境持久化
- 应用启动统一通过 tf-exec 进入 user、mount 与 network namespace
- 增强 native 应用目录、配置、缓存、日志和数据 bind 管理
- 改进安装、升级、停止、卸载时的资源回收

v0.3.20–v0.3.29 (2026-07-18)
===========================
- 增加应用 Web 反向代理和 WebSocket 支持
- 增加应用运行状态、端口与 Web 入口识别
- 完善审计事件、等级评估和导出提交包
- 增强远程安装下载限制、重定向校验和 SSRF 防护

v0.3.10–v0.3.19 (2026-07-18)
===========================
- 完善标准 IPKG 与开发包安装、升级和卸载流程
- 增加 overlay 根文件系统、独立 UID、netns、veth 与应用 IP
- 增加包签名状态检查和完整性审计
- 增加应用状态持久化、异常恢复和资源复用

v0.3.1–v0.3.9 (2026-07-18)
==========================
- 稳定 L0/L1/L2 全局激活模型，应用 manifest 权限清单不再参与授权
- 增加激活文件有效期、GWID 绑定、降级和状态展示
- 增加设备与应用限制名单的定时刷新和本地缓存
- 改进权限等级计算、审计结果和控制台展示

v0.3.0 (2026-07-18)
===================
- 新增三层全局激活模型
  * Level 0：默认未激活，仅开放基础沙箱能力
  * Level 1：设备激活，在 L0 基础上开放 network 档能力
  * Level 2：受控解锁，在 L1 基础上开放 host 档能力
- 引入 .tfl 设备激活文件，支持 GWID 绑定、有效期和签发者指纹
- 激活过期、损坏或设备不匹配时自动回退到 Level 0
- 增加设备与应用限制名单

v0.2.4 (2026-07-18)
===================
- 生成 HTML 与 JSON 审计报告
- 导出 IPKG 时附带 audit-report 与 MANIFEST.txt
- 修复重新签名流程，避免污染 manifest 字段顺序

v0.2.3 (2026-07-18)
===================
- 增加审计报告生成
- 增加 export-submission 提交包导出

v0.2.2 (2026-07-18)
===================
- 增加 shim 配置动态管理

v0.2.1 (2026-07-18)
===================
- 审计日志按结果着色
- 优化应用安装流程
