Repository navigation
Releases: CaoHaoran-Dev/Swift-Zip-Manager
Releases · CaoHaoran-Dev/Swift-Zip-Manager
Release list
v1.0.0-Beta.9 - The 100% Fix Update
Bug Fixes
- Encrypted 7z/RAR Loading: Fixed process hang when opening encrypted 7z/RAR archives; password dialog now appears correctly
- Encrypted 7z/RAR Extraction: Fixed missing password dialog when extracting encrypted 7z/RAR files; password input now works properly
- Password Cache for 7z/RAR: Added password caching mechanism; passwords are automatically cleared after successful extraction
- Encrypted 7z Creation: Fixed encrypted 7z creation failure; password parameter now passes correctly
- Encrypted ZIP Loading: Fixed 7zz parsing failure for encrypted ZIP archives; now uses system
unzip -lfor encryption detection - Empty Archive List: Fixed blank display when loading 7z/RAR archives; parsing logic completely rewritten
- ArchiveLoader Parsing: Fixed dependency on 7zz output format; now uses
-pdummyfor encryption detection to avoid process hangs - Update ZIP Integrity: Fixed "Downloaded file is corrupt" error; SHA256 verification now checks the
.zipfile itself, not the extracted.app - GitHub API Cache: Fixed update check using cached responses; now forces refresh with
cachePolicy = .reloadIgnoringLocalCacheData - Beta/RC Update Channel: Fixed Beta/RC channel not detecting Pre-Releases; API changed to
releases?per_page=1 - Version Parsing: Added support for both
v-prefixed and non-prefixed Tag formats (v1000.8and1000.8both supported) - Auto Update Check: Fixed auto-check not triggering on launch; now checks every 5 launches or every 24 hours
- Update Installation Flow: Fixed new version not auto-launching after installation; added
sleep(2)to wait for new instance - Tool Installer SHA256: Fixed verification of 7zz executable instead of the downloaded package; now verifies the
.tar.xzfile - RAR Tool Installation: RAR now skips SHA256 verification and installs directly (no official checksum available)
- Password Strength Labels: Fixed hardcoded password strength text; now fully localized
- UI String Localization: Fixed multiple hardcoded English strings; now all use
.localized - Multi-selection Support: Fixed
editModeunavailable on macOS; now usesList(selection:)binding - Delete Button Removed: Removed delete button from archive content view per request; now only shows "Extract All"
- Missing Localization Keys: Added 30+ missing localization keys (English, Simplified Chinese, Traditional Chinese)
Improvements
- Update Check Cache Disabled: GitHub API requests now force-disable caching; always fetches latest version
- Encryption Detection Timeout: Added 1.5-second timeout for 7z/RAR loading to detect encryption without infinite wait
- Password Cache Mechanism: Added
PasswordCachesingleton; passwords for 7z/RAR are cleared after extraction - App Exit Cleanup: Listens to
NSApplication.willTerminateNotification; clears all cached passwords on exit - SHA256 Dynamic Fetching: Now retrieves SHA256 from GitHub API
digestfield; no manual maintenance needed - Release Notes Markdown Rendering: Update alert now supports Markdown formatting (headers, lists, bold text)
- Update Check Logging: Added detailed logging for easier debugging of the update flow
- Tool Install Progress Localization: Installation progress messages now use localized keys
Code Refactoring
- ArchiveLoader Rewritten: 7z/RAR loading logic completely refactored with encryption detection + password loading
- VersionComparator Enhanced: Now supports both
v-prefixed and non-prefixed Tag formats - GitHubAPIClient Optimized: Beta/RC channel uses
per_page=1; Stable channel uses/latest - UpdateDownloader SHA256: Added
expectedSHA256parameter with automatic verification after download - PasswordCache Created: New standalone thread-safe password cache manager
v1.0.0-Beta.8
New Features
- Developer Mode: Tap version number in About page 5 times to enable debug tools, experimental features, and advanced settings
- Experimental Features: Parallel extraction, new extraction engine, and fast ZIP processing (via Developer Mode)
- Unstable Features: Async file writing and in-memory extraction (via Developer Mode)
- Advanced Settings: Memory limit, custom temp directory, and max concurrent operations (via Developer Mode)
Improvements
- Auto Update: Fixed issue where app could not automatically launch the new version after updating (requires manual restart in Beta 7, now fully automatic)
- Unified Password Dialog: Replaced NSAlert with SwiftUI sheet for consistent experience
- Enhanced Archive Loading: Tar archives now display file sizes; 7zz parsing more robust across languages
- Better Error Handling: Password errors now properly distinguished from other failures
- Process Timeout: All operations now have timeout protection
- Real-time Validation: Create button disables immediately when passwords don't match
- Tool Progress: Download progress now displayed during installation
- 7zz Version: Download URL now fetches latest version dynamically from GitHub
- Sidebar State: Opening archive now clears sidebar selection properly
- UI Polish: EmptyStateView and LoadingView now properly utilized
Bug Fixes
- Fixed password dialog state not cleared after cancellation
- Fixed selected entries not cleared after deletion
- Fixed list not refreshing after batch delete
- Fixed duplicate declarations of
Process.runWithTimeoutandArchiveError - Fixed Main Actor isolation warning
- Fixed
varshould beletwarnings - Fixed missing
tryon throwing calls - Fixed tool cache not invalidated after installation
Code Refactoring
- ArchiveManager split into Loader / Extractor / Creator
- ArchiveError consolidated into single definition
- Process timeout extension moved to Extensions.swift
v1.0.0-Beta.7
New Features
- Drag & Drop: Drag files from Finder into the New Archive window
- Path Memory: New Archive remembers the last selected save location
- Dropdown Format Picker: Format selection changed to dropdown menu
- Native Window Controls: Settings and Help windows now have traffic lights
- Multi-Language Support: Added 简体中文 and 繁體中文
Improvements
- Language switching no longer requires app restart
- Deleting tools no longer requires app restart
- Check for updates no longer shows duplicate alerts
Bug Fixes
- Fixed missing Documents folder icon in sidebar
- Fixed duplicate alert when checking for updates
Code Refactoring
- ArchiveManager split into Loader / Extractor / Creator
- EncryptionManager split into separate format modules
- UpdateChecker split into API / Comparator / Downloader
- SettingsView and DeveloperSettingsView split by tabs
v1.0.0-Beta.6(Build 1000.6)
注:此版本为过渡版本,请尽快更新
Change:
- 更改了更新逻辑与仓库
- 更改了Build No.规则
v1.0.0-Beta.5(Build 3E2)
Fix:修复了自动更新无法使用的Bug
v1.0.0-Beta.5(Build 3E1)
Fix:1.修复了删除最近打开栏项目后重启App依旧存在的Bug
Add:1.添加了加/解密
2.设置大改版
3.添加了开发者模式,拥有实验性功能,暂不完善(设置关于页连按五次版本号触发)
v1.0.0-Beta.4(Build 3D1)
更新:1.添加了自动更新(依赖GitHub API)
2.添加了更新设置菜单
3.重新添加了老版本被弃用的部分功能
修复:1.帮助与设置版本号不统一
v1.0.0-Beta.3(Build 3C1)
更新:1.添加了删除工具
2.弃用了Homebrew安装源,且改为了从7-zip.org与raglan.com获取,对Apple Silicon Mac用户改为了"/opt/local/bin/",Intel Mac仍保持"/usr/local/bin/"
修复:修复了自1.0.0-Beta.2以来的无法安装工具的Bug
v1.0.0-Beta.2(Build 3B2)
热修复:修复了Zip文件无法解压的问题,并采用了新Build号命名方式
v1.0.0-Beta.2
添加了侧边栏文件浏览,使得也可以变成文件浏览器,移除了拖拽支持(以后有望回归),添加了一键安装工具选项,重新编辑了设置界面,分解了Swift文件:ContentView.swift,使得可以模块化更新(为以后做准备),系统要求提升至macOS 13.5+