Repository navigation
Releases: Qinjingxue/Sunpack
Release list
v1.2.7
v1.2.6
SunPack v1.2.6 — 递归监控与跨目录分卷识别
本次更新带来了两项重要功能改进:递归监控子目录与跨目录分卷压缩包识别,同时重构了 WAL 持久化机制,并进一步优化性能与稳定性。
功能更新
1. 支持递归监控子目录
目录监控不再局限于监控目录的第一层文件,现在可以递归发现和处理子目录中的压缩包。
- 可直接在 GUI 监控目录管理页面开启或关闭递归监控。
- 不同监控目录可分别设置是否递归。
- 右键菜单增加递归监控和递归解压选项。
- CLI 新增
--recursive参数,用于控制目录扫描范围。
2. 支持跨目录分卷压缩包识别
重构分卷关系发现机制,支持识别分散在不同子目录中的同一组分卷压缩包。
- 不再要求同一组分卷必须位于同一个目录。
- 支持跨目录关联分卷、检测缺卷及等待后续分卷到达。
性能优化
- 建立持久目录索引,大幅减少重复遍历和文件系统元数据访问。
- 改进缺卷恢复扫描,降低无关文件的处理开销。
- 优化自适应静默等待策略,缩短监控处理文件的延迟。
- 重构WAL日志数据,使用紧凑数据替代json,处理延迟降低,日志大小大幅降低。
- 完善 WAL 检查点与无用记录回收,避免持久化数据无意义增长。
- 优化流式解压内存使用,并将失败输出清理移至异步线程,减少对正常任务的阻塞。
BUG 修复与稳定性改进
- 修复目录快照、并发任务调度、输出所有权及资源清理中的多处竞态问题。
- 修复拼接 XZ 流及部分 Zstandard 压缩文件解析异常。
- 修复排队任务超时可能意外中断其他正常任务的问题。
- 修复监控磁盘暂时离线时可能出现的状态清理和恢复异常。
v1.2.5
SunPack v1.2.5
本次更新主要修复了用户反馈的问题,改进了文件元数据恢复和磁盘空间不足时的处理,提高了解压可靠性。
文件元数据恢复
- 解压后支持恢复文件原有的创建时间、修改时间和访问时间。
- 支持恢复文件夹的时间信息,以及只读、隐藏等基础文件属性。
- 适用于 7z、ZIP、RAR 等支持相应元数据的压缩格式。
- 元数据恢复行为尽量与 7-Zip 保持一致。
磁盘空间不足处理改进
- 磁盘空间不足导致解压暂停时,CLI 和 Windows 通知现在会明确提示:磁盘空间不足,释放空间后自动继续。
- 修复部分情况下磁盘空间恢复后,解压任务可能无法正常继续的问题。
- 修复磁盘空间监测和任务恢复过程中的竞态问题,提高多任务场景下的稳定性。
感谢用户提供的问题反馈!
v1.2.4
SunPack build notes
Build version: v1.2.4
Commit: de6c583
Changes since published Release: v1.2.3
Commits
- 修复测试回归 (de6c583)
- 优化载体扫描性能,嵌套调度限制等待协程,取消watch 查询密码失败状态的python大对象内存分配 (9fc9cb4)
- 修复测试预期 (71fc015)
- 优化调度速度 (021cc61)
- fix: preserve Chinese context-menu labels in PowerShell dry-run JSON (#219) (64e6d92)
- fix: preserve zero-byte files on terminal extraction failure (#218) (453ba10)
- fix: clarify Explorer extraction menu labels by target (#217) (c38d85e)
v1.2.3
SunPack v1.2.3 — 界面体验与稳定性改进
v1.2.3 是一次以问题修复和使用体验优化为主的维护更新,重点改善 GUI 编辑操作、界面显示及配置保存的可靠性。
Bug修复
- 修复文件大小过滤器的单位选择问题:现在可以先选择 KiB、MiB、GiB 等单位,再输入数值,不再要求必须先填写数字。空值时切换单位也不会触发不必要的配置保存。
- 修复部分安装环境下,Windows 文件权限导致 GUI 无法保存密码数据的问题。
- 修复部分 GUI 按钮文字缺失的问题。
- 修复 TAG 输入组件的显示异常。
界面优化
- 下拉框宽度自适应:根据中英文选项内容自动调整宽度,减少文字截断和多余空白。
- 优化页面切换动画:移除容易产生闪烁的淡入效果。
- 精简侧边栏中重复或不必要的标题信息。
- 简化 GUI 关闭逻辑,关闭窗口时不再被未完成的编辑草稿阻止。
感谢使用 SunPack!欢迎通过 GitHub Issues 反馈遇到的问题或提出改进建议。
v1.2.2
v1.2.1
v1.2.0
SunPack v1.2.0 — 全新图形管理界面
引入完整的原生图形管理界面(GUI),现在无需使用命令行,即可查看任务状态、管理监控目录、配置解压行为和维护密码。
重要:破坏性更新
v1.2.0 不兼容旧版本的配置和运行状态,不再读取或者创建原有目录旁的 sunpack-passwords.txt,系统最低版本要求从Windows 10 1703提高到了Windows 10 1709
从低于 v1.2.0 的版本升级时,安装器将自动清理旧版本数据并重新安装
如果有自定义配置或者内置密码的用户请在升级前备份
GUI图形管理界面
SunPack 现在提供独立的 Windows 原生 GUI,主要包括四个管理页面:
- 任务状态:查看正在处理、已完成、等待密码或分卷的任务,支持按监控目录和状态筛选。
- 配置管理:通过开关、下拉菜单、标签输入框以及日期和大小选择器,直接编辑各项配置。
- 监控目录管理:添加、修改或删除监控目录,设置输出位置及深度检测,支持批量编辑。
- 密码管理:按目录管理密码,查看剪贴板密码历史,并快速保存常用密码。
界面支持中文和英文、浅色和深色主题。
轻量化原生设计
- 基于 C++ 和 Core UI 构建。
- GUI 程序本体约 4 MB。
- 无需浏览器内核、WebView 或 .NET 运行时。
- 使用虚拟列表、增量数据更新等技术优化交互流畅度。
- GUI 关闭后完全退出,不额外常驻后台;Watch 服务独立运行。
可通过 Watch 系统托盘或开始菜单搜索SunpackGUI打开管理界面。
配置与密码系统改进
- 大小过滤器配置格式重置。
- 时间过滤器配置格式重置。
- 持久化密码统一改为
builtin_passwords.json,支持不同目录使用不同密码。 - 移除旧密码文件格式与相关兼容逻辑,不再读取原有目录旁的
sunpack-passwords.txt。
Bug修复
- 修复解压结果误把结构损坏当作内容损坏的bug
- 修复watch模式漏清除错误记录导致无限等待的bug
v1.1.12
SunPack v1.1.12 — 修复进度显示问题
本次更新主要修复 Windows 终端下的解压进度显示问题,提升进度反馈的准确性与稳定性。
修复与改进
- 修复进度始终显示 0% 的问题:解决部分情况下文件已成功解压,但终端进度仍停留在 0% 的异常。
- 改善多任务进度显示:优化任务进度的处理逻辑,避免不同任务之间的进度信息相互干扰。
- 增强 Windows 终端兼容性:改进终端能力检测与 ANSI 控制字符处理,减少进度显示异常。
- 优化进度行显示:改进终端显示宽度计算,避免颜色控制字符影响进度行布局。
感谢用户反馈问题,帮助 SunPack 持续改进!
v1.1.11
SunPack v1.1.11 — 稳定性与体验优化
本次更新重点修复深度检测在递归解压中的异常行为,简化日志与配置管理,并改进自动构建和发布流程。
1. 修复深度检测导致的意外递归解压
- "--deep-detect" 现在仅作用于第一轮检测,不再影响后续递归解压。
- 修复启用深度检测后,部分 APK、EXE 等文件可能被意外当作压缩包继续解压的问题。
- 普通嵌套压缩包仍可正常递归解压,保持原有功能。
2. 简化日志管理
- 移除事件日志自动创建备份文件的机制。
- 日志达到默认 1 MB 上限后,自动清空旧记录并继续写入新日志。
- 减少不必要的文件产生,保持日志目录整洁。
3. 精简默认配置
- 从普通配置文件中移除部分不常用的高级参数。
- 保留常用选项,让配置文件更加简洁易懂。
- 被移除的示例字段仍可通过高级配置机制使用,不影响默认功能。
感谢所提供问题反馈和建议的用户!