Skip to content

v1.0.0-Beta.8

Pre-release
Pre-release

Choose a tag to compare

@CaoHaoran-Dev CaoHaoran-Dev released this 10 Aug 03:29
· 14 commits to main since this release

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.runWithTimeout and ArchiveError
  • Fixed Main Actor isolation warning
  • Fixed var should be let warnings
  • Fixed missing try on 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