Skip to content

Releases: Qinjingxue/Sunpack

v1.2.7

Choose a tag to compare

@github-actions github-actions released this 24 Oct 06:41

SunPack v1.2.7

本次更新重点重构了后台日志系统与 GUI 任务状态同步机制

主要改进

GUI 任务状态更加准确

  • 改进 GUI 与后台服务的状态同步,避免显示过期、失效或已经结束的任务。
  • 修复缺卷、等待密码等任务在恢复过程中可能出现的状态不一致。

性能改进

  • 日志系统改为异步写入,不再阻塞解压任务。

v1.2.6

Choose a tag to compare

@github-actions github-actions released this 23 Oct 20:27

SunPack v1.2.6 — 递归监控与跨目录分卷识别

本次更新带来了两项重要功能改进:递归监控子目录与跨目录分卷压缩包识别,同时重构了 WAL 持久化机制,并进一步优化性能与稳定性。

功能更新

1. 支持递归监控子目录

目录监控不再局限于监控目录的第一层文件,现在可以递归发现和处理子目录中的压缩包。

  • 可直接在 GUI 监控目录管理页面开启或关闭递归监控。
  • 不同监控目录可分别设置是否递归。
  • 右键菜单增加递归监控和递归解压选项。
  • CLI 新增 --recursive 参数,用于控制目录扫描范围。

2. 支持跨目录分卷压缩包识别

重构分卷关系发现机制,支持识别分散在不同子目录中的同一组分卷压缩包。

  • 不再要求同一组分卷必须位于同一个目录。
  • 支持跨目录关联分卷、检测缺卷及等待后续分卷到达。

性能优化

  • 建立持久目录索引,大幅减少重复遍历和文件系统元数据访问。
  • 改进缺卷恢复扫描,降低无关文件的处理开销。
  • 优化自适应静默等待策略,缩短监控处理文件的延迟。
  • 重构WAL日志数据,使用紧凑数据替代json,处理延迟降低,日志大小大幅降低。
  • 完善 WAL 检查点与无用记录回收,避免持久化数据无意义增长。
  • 优化流式解压内存使用,并将失败输出清理移至异步线程,减少对正常任务的阻塞。

BUG 修复与稳定性改进

  • 修复目录快照、并发任务调度、输出所有权及资源清理中的多处竞态问题。
  • 修复拼接 XZ 流及部分 Zstandard 压缩文件解析异常。
  • 修复排队任务超时可能意外中断其他正常任务的问题。
  • 修复监控磁盘暂时离线时可能出现的状态清理和恢复异常。

v1.2.5

Choose a tag to compare

@github-actions github-actions released this 22 Oct 17:56
fff4316

SunPack v1.2.5

本次更新主要修复了用户反馈的问题,改进了文件元数据恢复和磁盘空间不足时的处理,提高了解压可靠性。

文件元数据恢复

  • 解压后支持恢复文件原有的创建时间、修改时间和访问时间。
  • 支持恢复文件夹的时间信息,以及只读、隐藏等基础文件属性。
  • 适用于 7z、ZIP、RAR 等支持相应元数据的压缩格式。
  • 元数据恢复行为尽量与 7-Zip 保持一致。

磁盘空间不足处理改进

  • 磁盘空间不足导致解压暂停时,CLI 和 Windows 通知现在会明确提示:磁盘空间不足,释放空间后自动继续。
  • 修复部分情况下磁盘空间恢复后,解压任务可能无法正常继续的问题。
  • 修复磁盘空间监测和任务恢复过程中的竞态问题,提高多任务场景下的稳定性。

感谢用户提供的问题反馈!

v1.2.4

Choose a tag to compare

@github-actions github-actions released this 22 Oct 14:04

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

Choose a tag to compare

@github-actions github-actions released this 22 Oct 07:19

SunPack v1.2.3 — 界面体验与稳定性改进

v1.2.3 是一次以问题修复和使用体验优化为主的维护更新,重点改善 GUI 编辑操作、界面显示及配置保存的可靠性。

Bug修复

  • 修复文件大小过滤器的单位选择问题:现在可以先选择 KiB、MiB、GiB 等单位,再输入数值,不再要求必须先填写数字。空值时切换单位也不会触发不必要的配置保存。
  • 修复部分安装环境下,Windows 文件权限导致 GUI 无法保存密码数据的问题。
  • 修复部分 GUI 按钮文字缺失的问题。
  • 修复 TAG 输入组件的显示异常。

界面优化

  • 下拉框宽度自适应:根据中英文选项内容自动调整宽度,减少文字截断和多余空白。
  • 优化页面切换动画:移除容易产生闪烁的淡入效果。
  • 精简侧边栏中重复或不必要的标题信息。
  • 简化 GUI 关闭逻辑,关闭窗口时不再被未完成的编辑草稿阻止。

感谢使用 SunPack!欢迎通过 GitHub Issues 反馈遇到的问题或提出改进建议。

v1.2.2

Choose a tag to compare

@github-actions github-actions released this 22 Oct 03:10

SunPack v1.2.2

升级注意事项

由于 v1.2.2 修改了 watch roots 状态文件的处理方式,从旧版本升级后,SunPack 可能会在首次启动时重新执行一次监控目录的初始扫描。

Commits

  • 修复 watch 测试夹具重复投递文件事件 (7a96d7e)
  • 移除initial scan参数,采用持久化状态 (4743196)
  • 恢复升级时根据watch状态勾选安装选项逻辑 (7e5d4e4)

v1.2.1

Choose a tag to compare

@github-actions github-actions released this 21 Oct 17:12

SunPack build notes

Build version: v1.2.1
Commit: 913d3fe
Changes since published Release: v1.2.0

Commits

v1.2.0

Choose a tag to compare

@github-actions github-actions released this 21 Oct 16:17
1a10486

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

Choose a tag to compare

@github-actions github-actions released this 18 Oct 15:32
38df83a

SunPack v1.1.12 — 修复进度显示问题

本次更新主要修复 Windows 终端下的解压进度显示问题,提升进度反馈的准确性与稳定性。

修复与改进

  • 修复进度始终显示 0% 的问题:解决部分情况下文件已成功解压,但终端进度仍停留在 0% 的异常。
  • 改善多任务进度显示:优化任务进度的处理逻辑,避免不同任务之间的进度信息相互干扰。
  • 增强 Windows 终端兼容性:改进终端能力检测与 ANSI 控制字符处理,减少进度显示异常。
  • 优化进度行显示:改进终端显示宽度计算,避免颜色控制字符影响进度行布局。

感谢用户反馈问题,帮助 SunPack 持续改进!

v1.1.11

Choose a tag to compare

@github-actions github-actions released this 18 Oct 11:14
ab5241c

SunPack v1.1.11 — 稳定性与体验优化

本次更新重点修复深度检测在递归解压中的异常行为,简化日志与配置管理,并改进自动构建和发布流程。

1. 修复深度检测导致的意外递归解压

  • "--deep-detect" 现在仅作用于第一轮检测,不再影响后续递归解压。
  • 修复启用深度检测后,部分 APK、EXE 等文件可能被意外当作压缩包继续解压的问题。
  • 普通嵌套压缩包仍可正常递归解压,保持原有功能。

2. 简化日志管理

  • 移除事件日志自动创建备份文件的机制。
  • 日志达到默认 1 MB 上限后,自动清空旧记录并继续写入新日志。
  • 减少不必要的文件产生,保持日志目录整洁。

3. 精简默认配置

  • 从普通配置文件中移除部分不常用的高级参数。
  • 保留常用选项,让配置文件更加简洁易懂。
  • 被移除的示例字段仍可通过高级配置机制使用,不影响默认功能。

感谢所提供问题反馈和建议的用户!