Mythic v0.6.0 | "The World"
Pre-release
Pre-release
[Click to download Mythic from the website.]
Sponsor if you love Mythic: https://github.com/sponsors/MythicApp
What's Changed
🎮 COMPLETE GAME ARCHITECTURE OVERHAUL (#eae90c)
- BRAND NEW GAME SYSTEM - Complete rewrite of game management with proper type safety, better state handling,
and unified logic (#eae90c, #f74f09, #2f6071) - Implemented distinct game types:
EpicGamesGame,LocalGame,SteamGamewith proper inheritance (#2f6071,
#0ec735) - New
GameDataStorefor persistent game storage with automatic syncing (#f9ce21, #c6e29c) - Implemented
Mergeableprotocol for smart game data merging across sources (#e929783, #fc38555, #709df42) - Total
GameOperationreimplementation with observable progress, dock integration, and menu bar status
(#c2f3e98, #d979747, #7a4732) - New
GameOperationManagerfor better task coordination and concurrent operations (#462db0, #d70c50) InstallationStateenum for better differentiation between installed/uninstalled games (#f74f09)- Removed
LegacyGame- we so back (#e0f2596)
🎨 Visual Overhaul
- Circular progress indicators in game cards instead of linear bars (#c32d079)
- Background blur effects on hero game cards and expanded list cards - the community has spoken! (#5367c70,
#d917e2, #b8329c) - Expanding game cards on hover - this looks sick!!! (#2ca8976)
- New Operations view with redesigned operation cards - they look sick!!! (#56de538, #0e3262b)
- Unified
GameImageCardwith fallback images for macOS games (#8de80ef, #6592bf9, #c7a9dc9) - Removed horizontal scrolling in library for cleaner navigation (#96b8406)
- Removed Home view navigation title for minimal aesthetic (#77ab6f1)
- Top-aligned hero image cards with improved blur performance (#08cfa29, #d917e2, #bbc8b73)
- Changed store icon (#ae66bd)
- Updated About view with bundle icon (#436bb9)
🚀 Epic Games / Legendary Integration
- Full struct parsing of Legendary data with explicit coding keys (#6188410, #d760ca8, #cdb745)
- Implemented
EpicGamesGameManagerfor proper Epic game handling (#cdcad2e, #2f6071) - Added error handling to all Legendary tasks (#828ef50)
- Fixed game import failures (#65aceb5)
- Fixed games persisting after uninstall (#a05de39)
- Better throughput parsing in install/repair operations (#dbc0138, #5bb367c)
- Folder-only selection for Epic game imports (#dbf2187)
- Updated web auth data store persistence (#9a2d539)
- Prefer new instance image URLs when merging game data (#69789c4)
- Launch arguments now support spaces with parentheses (#98d9b8)
- Verification alerts in Legendary flow (#fd1e383)
🍷 Wine & Container Improvements
- Better process handling with modular, async-friendly code (#fe7fe8b, #39503a)
- Split DXVK functionality with explicit container creation (#a2060f)
- Fixed wineboot command invocation (#2801779)
- Fixed container settings picker giving wrong results (#5beb987)
- Fixed container URL issues in newly added games (#5a9d1dc, #5722bd6)
- Fixed ghost operations from container settings (#79c0b8a)
- Filter existing containers on setter instead of every launch (#fa99e06)
- Container creation view title improvements (#acf27f9)
ContentUnavailableViewwhen no containers exist (#78623e3)- Safer container initialization with
knownURL(#28631bc, #6f5fab) - Separated Wine extensions from container logic (#c98ee2)
🎯 Operations & Progress Tracking
- Unified operation status system with
OperationStatusViewModifier(#62fae5d) - Menu bar operation progress display (#d979747)
- Dock badge progress for file-modifying operations (#4ce8ad4, #6bdae2)
- User notifications on operation completion (success only!) (#72d2474, #b70c789)
- Observable
Progresswith custom KVO bridge (#7a4732, #2c32738) - Operation cancellation support conforming to
Operationprotocol (#84c916a) - Concurrent operations of certain types (#d70c50)
- Fixed critical
modifiesFilesenum value bug (#6c160bb) - Check task cancellation before execution (#c271e0e)
- Disabled buttons if operation already exists for that action (#586e449)
🎨 UI/UX Improvements
- Tabbed settings interface - fine SwiftUI you win (#891ba90)
- Auto-refresh library from storefronts when empty (#76710ef)
- Reimplemented search functionality in library (#050ca68)
- Reimplemented filter button with full
GameListViewModelrefactor (#2d57f84) - Disable filter views when library is empty (#d283bb1)
- Better onboarding with formatted completion percentages (#f61af67, #c2f78ad)
- Skip greeting stage if not signed into storefronts (#bd7156b)
- Fixed greeting stage logic error (#66094b5)
- Unified game uninstallation views (#5a8e04, #1e7e5ae, #bbbe3b)
Labelusage in form groups (#02ed753, #e245c6)- Easier-to-understand container configuration strings (#f2aa03a)
- Replace nonfunctional disclaimers with informative messages (#2e879f5)
- Updated colorful view colors (#107301e)
🐛 Critical Fixes
- Fixed hanging on startup (#efc708d)
- Fixed game properties not persisting between sessions (#c6e29c, #6156971)
- Fixed infinite recursion in GameDataStore (#bb76a7b)
- Fixed process output loss with buffered readability handlers (#c6c620d)
- Fixed readability stream exceptions on cancellation (#0d7b68d)
- Fixed 'Bad file descriptor' errors in
.runStreamed(#f40faf0, #595e506) - Fixed local games not being removed from library after uninstall (#0166b10)
- Fixed bad library merge logic (#89e4bff)
- Fixed game sorting (#9beb957)
- Fixed merge failures due to bad keypath inference (#8efd5db)
- Removed dangerous shell command from shader cache purging (#784aa63)
- Fixed button sheet presentation firing twice (#0706fea)
- Fixed game install size not appearing (#57e6772, #2c9fa28)
- Fixed subscripted text spanning multiple lines (#c9b277f)
📦 Process & Migration
- Refactored
Processstream handling with readability handlers (#2a50e55, #70d8715) - Rosetta installation uses
Process.stream(#6b5e962) - Prevent Rosetta installation on Intel Macs (#f4025f4, #7febca7)
- Full migration implementation for 0.5.0 game structures (#36387aa)
- Removed old migration methods (#064744f)
- Migrator only refreshes from storefronts when necessary (#6fceea5)
🧹 Code Quality & Refactors
- Unified
StagedFlowview models (#54d658a) - Separated Wine container settings codable conformance (#94e647)
- Relocated process extensions with better organization (#22f049)
- Prefer
MainActor.runover creating tasks (#bcd003) - Remove redundant 'Evo' naming (#1de986)
- Cleaned up ContentView and project structure (#ae66bd, #e4c3d8, #7ec388)
- Updated deprecated
URLinitializer syntax (#94a3e8d) - Removed unreferenced files (#ff7eec, #6ab160)
- SwiftLint compliance throughout (#c51b13, #fbd31d, #c77f7b, #bd6909, #eb0396, #269370)
- Reduced Firebase log verbosity - shut up firebase (#1eb624)
- Network monitor uses async, reduced overhead (#6f9f98)
- Better game launch flow with reduced boilerplate (#5e2a4d)
🎨 Sparkle Updater
- Refactored all updater views (#424004, #2bac69, #7ec388)
- Multiline strings in download view (#2bac69)
- Better adherence to contributing guidelines (#424004)
🌐 Localization & Strings
- Localization-friendly game verification alerts (#9fb4a53)
- Localization improvements throughout (#fcbd3d9, #c98ee2, #acf27f9)
- Multiple strings updates (#7c9cfa, #719cc2, #31990c, #b70c789, #62fae5d, #6bdae2, #78623e3)
- Removed stale strings (#063458)
- Removed "What's New in Mythic" menu button (#6271d83)
📝 Documentation
- Updated contributing guidelines multiple times (#917dc2, #a98b2c, #51a2c1, #aa3887)
- Added explanatory comments to Legendary codebase (#3c573b)
- Better file header comments (#b9e001d, #dad94e)
- DocC for
GameOperation.function(#1183773)
🔧 Miscellaneous
- Mythic now supports game mode!!!
- Updated donation links (#d26acb5)
- Game ID display in debug builds (#ee4ade, #6dfcf8b)
- 'Update available' notification on game cards (#5ee6689)
- Better UserDefaults storage for launch args and container URLs (#171c2b6)
CodableAppStorageimprovements (#ed44bf2, #6759540)- Prevented wrapping sets in arrays in
encodeAndSet(#081909) - Streamlined game launch flow (#5e2a4d)
- Deprecated
VariableManagerwith concurrency safety (#3d052c4, #1b8129)
🐛 The Emotional Journey
- jhyperfixation doesnt want me to stop (#599b2f)
- sigh (#2e727c)
- im so done with this (#137397)
- chore: remove unnecessary marks why are there so many gulp my coding skills have greatly improved and i am glad
(#c39706)
🎭 Performance
- Improved image card blur performance (#bbc8b73)
- Lower render scale for fallback image glow (#b1f8fd1)
- Migrator optimization for storefront refreshes (#6fceea5)
- performance is implicit, i literally refactored everything
Early stages
If you hit bugs or need support [create an issue](https://github.com/MythicApp/Mythic/issues/new/choose).
Mythic is still alpha; expect chaos.
Full Changelog: v0.5.0...v0.6.0
The World - DIO's ultimate Stand — "The World's true power, as its name suggests, is to reign supreme over the entire world!"
ZAAAAAAAA WARUDOOOOOOOOOOOOO
i'm so goated