Releases: HakuSystems/EasyExtractUnitypackage
V2.0.6.2
EasyExtract - Version 2.0.6.2
New Features and Improvements
Security Enhancements
- Discord Webhook Detection: The extraction process now detects potential malicious Discord webhook links and regular links in
.csfiles. The UI will notify the user with a warning if any suspicious links are found.
Feedback Feature
- New Feedback Tab: A feedback tab has been added to allow users to easily submit feedback directly from the application.
Bug Fixes
- Drag and Drop: The drag-and-drop functionality has been fixed and now works as expected.
- Background Issue: The issue where the background was not displaying correctly has been resolved.
UI Enhancements
- Customizable Header: The "Application is made by" header can now be hidden, allowing for a cleaner UI.
- Button Rename: The "Open Selected Directory" button in the extraction tab has been renamed to "Open Extract Directory." The button now properly opens the folder without asking the user to select a software to open it with.
New File Support
-
Supported File Extensions: The following file extensions are now supported:
.cs.txt.json.shader
These files are displayed as code images in the UI, enhancing the visual presentation of text and code files.
Context Menu Toggle
- Context Menu Activation: A new toggle has been added in the settings that allows users to enable or disable the right-click context menu for Unitypackage files. If disabled, the app will not start in admin mode.
V2.0.6.1
Version 2.0.6.1 Update
Enhanced User Experience
- Display File Timestamps: Added
ModifiedTimeandCreatedTimeproperties toSearchEverythingModel. UI components now display these timestamps, improving file identification and selection.- Details: Adjusted layout for better readability. Added a new package dependency to support this enhancement.
- Related: Introduced the
GetFileDateTimemethod for extracting file timestamps.
New Features
- Creation Date Filter Toggle: Added a toggle switch in the
SearchEverythinguser control for enabling/disabling creation date filtering.- Details: Users can now filter search results by specifying a creation date range.
- Rationale: Enhances search functionality by providing more refined search options.
UI Enhancements
- Improved User Controls: Integrated a creation date filter and made UI improvements for better readability and user experience.
- Details: Enhancements focused on refining search results and improving overall aesthetics.
- Related: Task #5 (Search Engine improvement) by restush.
Code Documentation
- Method Documentation: Added XML documentation for methods in
UpdateHandler.cs, includingIsUpToDate,Update,DownloadAssetAsync, and others.- Details: Provided detailed summaries and remarks to improve code understanding and maintenance.
Update Handling Improvements
- Version Tag in Filenames: Modified the
DownloadAssetAsyncmethod to append a version tag to downloaded asset filenames.- Details: This change helps differentiate between assets from different releases and prevents potential file conflicts.
- Rationale: Ensures clarity and prevents overwriting issues with similarly named files.
Code Refactoring
- DiscordRpcManager Optimization: Refactored string handling in the Discord presence feature and updated
ConfigHelperinstantiation from instance-level to static.- Details: Improved code readability and maintainability.
- Fixes: None.
V2.0.6.0
Version 2.0.6.0 Update
Code Refactoring
- Improved Structure: Simplified array initializations in
Extraction.xaml.cs. MovedExtractedFilesclass andImportanceenum to their own files for better code organization and readability.
Enhanced Error Handling
- File Move Operations: Added comprehensive error handling in
MoveFileIfExiststo catch IO, unauthorized access, and general exceptions. Improved logging for better issue diagnosis.
Logging Improvements
- Serilog Integration: Introduced Serilog with a new "Debug" logging level, enhancing logging capabilities and debugging efficiency.
- BetterLogger Refactor: Separated log initialization into
InitializeLoggerand streamlined log folder creation. Logs now roll daily.
Dependency Updates
- WPF-UI Upgrade: Updated
WPF-UIandWPF-UI.Trayto version4.0.0-rc.2to include the latest fixes and improvements.
UI Enhancements
- System Theme Monitoring: Added
SystemThemeWatcher.Watch(this)to the dashboard load, ensuring dynamic adaptation to system theme changes.
V2.0.5.9
Version 2.0.5.9 Update
New Features
Add Config Option to Skip Intro Animation
- Details: Introduced a new configuration option
IntroLogoAnimationto control the display of the animated logo at startup. Updated related UI elements and initialized the new config helper. - Rationale: Allows users to skip the intro animation for faster application startup.
Dependency Updates
Upgrade Multiple Package Versions
- Details: Upgraded Costura.Fody to 5.8.0-alpha0098, Octokit to 13.0.1, WPF-UI and WPF-UI.Tray to 4.0.0-rc.1. These updates align the project with the latest improvements and fixes in these libraries.
Enhancements
UI Feedback: Improve Visibility During Directory Loading
- Details: Added status bar updates to show when directory information is loading. Visibility of the status bar and progress bar are toggled accordingly to better inform users.
- Rationale: Enhances user interface feedback, making the loading process more transparent and user-friendly.
Code Optimization and Cleanup
Remove Redundant Method, Optimize Layout, and Simplify Logger
- Details:
- Removed
ChangeUnitypackageDetailsStringmethod fromExtractionHelper.cs. - Refactored
BetterLoggerto use a single log file and added a lock for thread safety. - Optimized UI layouts in
History.xaml,SearchEverything.xaml,Dashboard.xaml, andBetterSettings.xaml.
- Removed
- Rationale: Cleaning up unused code and optimizing components for better performance and maintainability.
V2.0.5.8
Version 2.0.5.8 - 20.07.2024
Bug Fix: Invalid Path Syntax in Unity Package Extraction
Issue:
Users encountered an error stating "The file name, directory name, or volume label syntax is incorrect" when attempting to extract Unity packages.
Fix Implemented:
- Added a check to detect and remove invisible Unicode characters in the path before moving extracted files.
- Removed any "00" appended to file extensions (e.g.,
.mat00to.mat). - Included an additional check at the start to search for and remove any invalid path characters.
These changes ensure that the extraction process handles paths correctly and prevents the mentioned error.
V2.0.5.7
Version 2.0.5.7 - June 28, 2024
- The broken Updater has been fixed in this version.
- A Context menu has been added, allowing for faster extraction by right-clicking on an .unitypackage file. Please note that this feature requires running the application as an Administrator.
- Additional checks have been implemented to ensure that users have the necessary folders in order to address any potential issues.
- The settings page has been refactored to improve its appearance and user-friendliness.
- EasyExtractUnitypackage now includes a custom Background Setting. Users can now change the background image and adjust its opacity.
Improvements:
- Simplified configuration loading process.
- Added custom background image and transparency settings.
- Enhanced UI by handling background changes globally.
- Updated UserControls for dynamic backgrounds.
- Fixed UwUModeToggle "IsChecked" property.
Logging:
- Refactored various classes to use BetterLogger.
Configuration:
- Added new settings and feature toggles.
Cleanup:
- Removed unused files: BackgroundHandler.cs, Settings.xaml, Settings.xaml.cs.
Refactor:
- Introduced Program.cs for main application logic.
- Moved startup logic to Program.cs.
- Added unitypackage extraction method in ExtractionHandler.cs. (For context menu)
Miscellaneous:
- Updated background image URI.
- Converted I/O operations to asynchronous in BetterLogger.
- Refactored DiscordRpcManager for clarity.
- Improved & Fixed update mechanism and error handling.
V2.0.5.6
Changelog for EasyExtract
[2.0.5.6] - 2024-06-23
Enhanced UI, Customization, and Logging
-
New Features:
- UI Customization: Added support for custom background images [USER SUGGESTION].
-
Improvements:
- File System Management: Introduced a new function for configuration loading to generate all necessary files (incase something breaks).
- Global Background Handling: Simplified the process of handling background changes and debugging notes.
- Settings Management: Improved configuration management by breaking down ConfigModel into manageable sub-models and refactoring ConfigHelper.
-
Logging:
- BetterLogger: Implemented a robust logging system that logs to a local file with timestamps, message sources, and importance levels.
- Class Refactoring: Updated ConfigHelper, UpdateHandler, and ExtractionHandler etc. to utilize BetterLogger for detailed logging.
- Property Initialization: Modified application configuration classes to ensure proper initialization.
-
Bug Fixes:
- Addressed issues related to theme application and page background changes at runtime.
- Ensured logging of previously unlogged exceptions or silent failures.
V2.0.5.5
Changelog for EasyExtract
[2.0.5.5] - 2024-06-09
Added
- MainWindow and Dashboard: Replaced FluentWindow with a standard Window in MainWindow and added a new Dashboard.
- User Controls and Navigation: Introduced new user controls including Extraction, SearchEverything, Settings, About, and EasterEgg. Implemented a navigation view in Dashboard for easy control access.
- Settings Panel: Introduced a comprehensive settings panel with interactive UI elements.
- Discord Presence: Enhanced the application with Discord presence feature for activity tracking.
- History Feature: Added a History feature to track previous extractions.
- Theme Selection: Added theme selection functionality (light, dark, high contrast) with dynamic resource colors.
- Extraction Queue: Implemented an extraction queue allowing multiple extraction tasks.
- Extraction Process Indicators: Enhanced the UI with animations and indicators for the extraction process state.
- Extraction Management: Added a new tab in the Extraction UI for managing extracted Unity packages.
- SearchEverything Functionality: Added functionality and validation utilities for searching .unitypackage files.
- LiveCharts Integration: Added LiveCharts library for visualizing extracted Unity package data.
Changed
- UI Enhancements: Multiple updates to the UI for EasterEgg, Dashboard, About, and Settings, including new gradients, fonts, and dynamic UI interactions.
- Code Refactoring: Improved code readability, structure, and maintainability across various components.
- Extraction Process: Updated and optimized the extraction process for Unity packages, including handling ignored packages and asynchronous operations.
- UpdateHandler: Integrated GitHub's Octokit for checking and downloading updates, improving the update process reliability.
- Project Configuration: Upgraded dependencies and adjusted solution build configurations.
Fixed
- UI Interactions: Enhanced UI interactivity of toggle switches and other elements.
- Null-Safety: Implemented null checks to prevent potential null reference exceptions.
- Update Logic: Corrected the logic for triggering application updates.
- Button Logic: Refactored logic for delete and ignore buttons in Extraction.xaml.cs for better clarity and accuracy.
Removed
- Unused Event Handlers: Removed the OnPresenceUpdate event handler from DiscordRpcManager.cs.
- Outdated Functionality: Eliminated the ExtractedFileHandler.cs class and Windows notifications from Settings.
Documentation
- Todo Comments: Added and updated todo comments for future improvements and fixes in the code.
Detailed Changes
[2.0.5.5] - 2024-06-09
-
Update MainWindow layout and add new Dashboard:
- Replaced FluentWindow in MainWindow with a standard Window.
- Added a new Dashboard xaml and cs file with FluentWindow configuration.
- Cleaned up resources in .csproj and solution files.
- Implemented Timer logic for loading the Dashboard after MainWindow.
-
Add new user controls and navigation view:
- Introduced new user controls: Extraction, SearchEverything, Settings, About, EasterEgg.
- Implemented a navigation view in Dashboard for easy control access.
- Set up associated animations and interactions.
- Added application icon.
-
Update user interface and enhance functionality in various components:
- Enhanced UI elements in EasterEgg.xaml, Dashboard.xaml, and About.xaml.
- Added dynamically changing list of cards in About screen.
- Improved navigational updates in Dashboard.
-
Update UI elements and improve code structure:
- Enhanced UI elements in the "About" page and dashboard.
- Updated Assembly version in project configuration.
-
Add new settings panel and UI interactions:
- Introduced a comprehensive settings panel with interactive UI elements.
- Created ConfigHelper.cs and ConfigModel.cs for managing configuration settings.
-
Add Discord presence and configuration updates:
- Enhanced the application with Discord presence feature for activity tracking.
- Refined configuration settings for Temp Path, Last Extracted Path, and app integrations.
-
Add todo comments and remove unused event handler:
- Added todo comments in Settings.xaml.cs for future improvements.
- Removed unused OnPresenceUpdate event handler in DiscordRpcManager.cs.
-
Improve discord rpc management and UI interactions:
- Added start and dispose methods in discord rpc management.
- Enhanced UI interactivity of toggle switches.
-
Update Discord RPC messages and add History feature:
- Modified Discord RPC messages for conciseness.
- Added a new History feature to track previous extractions.
-
Refactor code style and remove unused imports:
- Removed unused using directives.
- Rearranged class members for clarity.
-
Update title change feature in Settings:
- Adjusted title change feature to take effect upon restarting the application.
-
Add theme selection and adjust related UI colors:
- Introduced theme selection functionality with dynamic resource colors.
- Added required extensions and third-party libraries for theme management.
-
Extend content into title bar in Dashboard:
- Updated Dashboard.xaml to extend content into the title bar.
-
Add SearchEverything functionality and updates to UI:
- Added SearchEverythingModel and EverythingValidation.cs.
- Updated UI with new controls and error message for system requirement checks.
-
Implement extraction queue and addition features:
- Implemented extraction queue functionality.
- Added 'Id' property to SearchEverythingModel class.
-
Add extraction process indicators and improve validations:
- Enhanced Extraction UI with an animation for the extraction process state.
- Optimized extraction process and removed unrequired console messages.
-
Refactor Extraction.xaml.cs and update Extraction.xaml:
- Refactored Extraction.xaml.cs for better readability and maintainability.
- Improved UpdateQueueHeader and ChangeExtractionAnimation methods.
-
Implement Unitypackage extraction process:
- Added extraction functionality for Unity packages.
- Included UI changes for extraction progress tracking and validation function.
-
Refactor code and implement improved extraction process:
- Reorganized and improved codebase for clarity and maintenance.
- Enhanced extraction functionality by including a history item for each extraction.
-
Improve extraction functionality, add Clear History button:
- Added ability to disable and change appearance of Extraction button during extraction.
- Introduced 'Clear History' button in History tab.
- Integrated drag and drop support for Unity packages.
-
Update Unitypackage extraction process and library:
- Refactored extraction process to use SharpCompress library.
- Enhanced error handling and removed 'to-do' comments.
-
Refactor Extraction.xaml to introduce TabControl:
- Incorporated TabControl in extraction UI for better navigation.
- Changed background color of extraction page to black.
-
Add extracted and ignored unitypackages count:
- Added functionality to manage and display count of extracted and ignored Unitypackages.
- Cleaned UI by removing unnecessary buttons and added badges.
-
Refactor Extraction UI and Improve Null-Safety:
- Added
IgnoredUnitypackagesgrid and status badges. - Implemented null checks for property value assignments.
- Added
-
Improve UI flow on extraction completion:
- Auto-select "Manage Extracted" tab upon successful extraction.
- Improved code readability by fixing formatting issues.
-
Added extraction management feature to Extraction.xaml:
- Added "ManageExtractedTab" for managing extracted UnityPackage files.
-
Update font family and package versions:
- Updated font family to SegoeFluentIcons.
- Updated multiple package versions in EasyExtract.csproj.
-
Remove unnecessary namespace in App.xaml:
- Removed unnecessary "easyExtract" namespace.
-
Add 'ExtractedCategoryStructure' setting and improve History visibility:
- Added 'ExtractedCategoryStructure' setting in ConfigModel.
- Improved visibility management of 'ClearHistoryButton' and 'NoHistoryLabel' in History.xaml.cs.
-
Add ExtractionHelper and improve unitypackage extraction process:
- Added ExtractionHelper class for file counts, categories, and symbols.
- Improved extraction process with better handling of existing files and errors.
-
Add extracted Unity packages list:
- Added interface for listing, reviewing, and managing extracted Unity packages.
- Introduced option to use category structure for better organization.
-
Add tooltip to Category Structure toggle switch:
- Added tooltip explaining the function and importance of the Category Structure feature.
-
Changed Extraction Helper and Handler from static to instantiable classes:
- Changed Extraction Helper and Handler to instantiable classes.
-
Refactor private variables naming in Extraction.xaml.cs:
- Updated naming of private variables for better readability.
-
Refactor Extraction.xaml.cs to use async and await:
- Transformed synchronous operations to asynchronous using async and await.
-
Refactor extraction file validation:
- Simplified validation using a ternary operator.
-
Implement search and deletion for unitypackage files:
- Made
UpdateExtractedFilesmethod asynchronous. - Introduced search and deletion features for unitypackage files.
- Made
-
Implement deletion and ignoring of selected Unitypackages:
- Enabled deletion and ignoring of selected Unitypackages.
- ...
V2.0.5.4
V2.0.5.4
EasyExtractUnitypackage is a Software to get files out of a .unitypackage without importing them into unity.
Removed:
- UPDATER AND VIDEO PLAYER
Reason for that is, a temporary fix for the app. in order to work properly please download the latest version on discord or in here
(This version doesnt check for updates, so be aware on discord when i post an update.)
V2.0.5.3
NOTE
This software downloads a DLL and A video at start, consider putting it in a separate folder!
Added:
- SEARCH EVERYTHING SDK IMPLEMENTATION
- WINDOWS NOTIFICATIONS ALSO TOGGLEALBE
- BETTER LOOKING MESSAGE BOX
Fixed:
- DRAG AND DROP IS BUGGY WHEN DROPPED MULTIPLE FILES
- NO SCROLLBAR FOR EXTRACTING ONLY CERTAIN FILES