Skip to content

V2.0.5.5

Compare
Choose a tag to compare
@HakuSystems HakuSystems released this 09 Jun 14:36
· 136 commits to main since this release

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 IgnoredUnitypackages grid and status badges.
    • Implemented null checks for property value assignments.
  • 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 UpdateExtractedFiles method asynchronous.
    • Introduced search and deletion features for unitypackage files.
  • Implement deletion and ignoring of selected Unitypackages:

    • Enabled deletion and ignoring of selected Unitypackages.
    • Updated UI to reflect changes.
  • Refactor delete and ignore button logic in Extraction.xaml.cs:

    • Improved clarity and readability of delete and ignore button logic.
  • Removed ExtractedFileHandler.cs:

    • Eliminated outdated file handling functionality.
  • Updated ConfigHelper Methods to Async:

    • Adjusted LoadConfig and UpdateConfig methods to asynchronous.
  • Refactored Extraction Class:

    • Moved Extraction constructor to the top for clarity.
    • Automatically selected ExtractionTab if no extracted Unitypackages are detected.
  • Refactored Extraction UI Code:

    • Switched from List

to ObservableCollection for better UI updates.

  • Improved methods for filtering unitypackages and handling ignored packages.

  • Updated Extraction Functionality:

    • Added handling for ignored Unitypackages.
  • Updated UserControls and ExtractionHandler:

    • Enhanced UI interactivity and error handling.
  • Removed Windows Notifications from Settings:

    • Simplified settings interface by removing Windows notifications toggle.
  • Added Extraction History and Calculated Total Extracted Files:

    • Introduced tracking history mechanism and total extracted files calculation.
  • Updated Ignored Package Reason, Background Styling, Extraction Logic, and Discord Presence Updates:

    • Updated ignored reason message.
    • Enhanced dynamic background styling and extraction logic.
    • Included extraction data in Discord presence.
  • Updated History.xaml.cs:

    • Enabled saving of extraction stats to configuration file.
  • Updated Extraction UserControls:

    • Added select all functionality and updated UI.
  • Added LiveCharts to Extraction UI:

    • Integrated LiveCharts for visualizing extracted Unitypackages data.
  • Updated Extraction User Interface:

    • Added colors to chart series and moved chart to expandable section.
  • Refactor Extraction Page UI:

    • Simplified options and layout for better readability.
  • Updated Dashboard UI Layout:

    • Adjusted RowDefinition heights and PaneDisplayMode for better responsiveness.
  • Added UpdateHandler and Updated UI elements:

    • Implemented UpdateHandler for checking and applying updates.
    • Modified UI elements for update check functionality.
  • Improved UpdateHandler class:

    • Added error handling and .zip extraction support.
  • Refactor UpdateHandler in EasyExtract:

    • Changed update logic to fetch releases from GitHub API.
  • Updated UpdateHandler logic in Dashboard.xaml.cs:

    • Fixed condition for triggering application update.
  • Refactor Update Check Code in Dashboard.xaml.cs:

    • Improved variable naming for clarity.
  • Updated EasyExtract App:

    • Integrated GitHub's Octokit for update checks and downloads.
  • Updated Project Configuration and Dependencies:

    • Upgraded MahApps.Metro.IconPacks version.
    • Added method to delete old files and extract RAR archives in UpdateHandler.