### WIP (xxxx-xx-xx) - Check for null or empty layerbreak arrays - Check range-specific values in layerbreak - Update Redumper to build 671 - Update Redumper to build 676 (rename asus flags to mediatek) - Use default media type if not provided - Update Redumper to build 682 (Dreamcast support) - Add default subfolder to CLI outputs - Update DIC to 20260101 - Update Redumper to build 683 - Add editorconfig, fix issues - Add MPRESS to packer filters - Update RedumpLib to 1.9.1 - Split path creation in OptionsLoader - Add unused Dreamdump execution context - Validate a system is provided for CLI applications - Log the system being used, in case it came from config - Extend logging with a new state ### 3.6.0 (2025-11-28) - Add BCA to list of files to select in Check UI - Move Zstd compression helper to base processor - Add file merge method in CleanRip - Implement file merging in CleanRip - Support reparsing of MPF-processed outputs - Use WriteToFile extension for zip entries - Move output file implementations to separate namespace - Conditionally require state - Replace "We" comments - Parse XboxOne/SX Title IDs - Reduce chance of empty strings - Initial UI lang code - Move to enum-based model for UI language options - Slight cleanup to main window language handling - Clean up nullability - Clean up a bit of element work - Fill in some gaps - Add UI by default to launch - Continue UI translation work - Minor formatting cleanup - Ensure readers and writers dispose - Complete translation support - Add skeleton for 8 more languages - Add 8 more language menu items - Add basic translation for 8 more languages - Make Check flags toggle if config used - Add console print when Check loads from config - Add Ukrainian translation (superg) - Add list configuration commandline feature - Handle a provided log zip in Check operation - Allow files to be zipped but not deleted - Fix long translated strings - Allow placeholder files to be used in Check - Make .img not required for DIC outputs - Handle log zip path in information extraction - Redumper state file is not accessed - Fix tests broken by last commit - Regex outputs should not name based on pattern - Make log archive handling more user-apparent - Be selective on which systems to enable skeleton - Readme updates for accuracy - Separate out default program paths - Add per-OS executable names - Simplify first-run CLI experience - Change CLI first-run wording - Free disk space for runners - Possibly fix missing options string - Minor Spanish cleanup - Update RedumpLib to 1.8.0 - Limit visibility of Compatible OS text box - Stop using long name for default system setting - Updated Polish translation - Fix rolling tag - Try to add UI links to rolling release - Slight tweak to automatic UI links - Add hidden language (NovaAurora) - Fix langs - Fix issues with path assembly - Clean up submission info use and log link text - Update Redumper to build 658 - Pre-compress all skeletons for multi-track CDs - Add DVD-Video to list of copy protection scanning systems - Update Redumper to build 660 - Use dated default output filenames - Update packages - Scan disc image if not multi-track - Scan multi-track images for protection - Move and rename new protection scan method - Path scan after image scan - Update Redumper to build 663 - Name some type parameters - Ensure volume label is trimmed if used in filenames - Remove DPM identifier for StarForce Keyless - New Redumper Drive Pregap Start option - Clarify the unmounted device case - Add support for .NET 10 - Update Redumper to build 665 - Disable Zstd PKZIP outputs - Add commented fix for Zstd PKZIP - Reenable Zstd PKZIP outputs ### 3.5.0 (2025-10-10) - Add failure if media type could not be determined - Tweaks to how failure cases are reported - Rename log zip on collision - Update packages - Use CommandLine library for CLI executables - Create interactive mode features - Minor cleanup around last added - Add placeholder command set creation - Reduce unnecessary shared code - Create and use main features for CLI and Check - Create and use base feature in Check - Create and use base feature in CLI - Assign inputs for interactive modes - Remove duplicate input declarations - Fix strange invocations of extension methods - Remove CommandOptions implementations - Exit early on parsing failures - Fix minor typo in verify inputs check - Allow but do not require config for Check - Update packages - More consistency in commandline programs - Use GC.SharpCompress as archive handling library - Start wiring through log compression changes - Fix minor issues with options loading - Finalize wire-through and clean up - Minor cleanup on interactive modes - Add more useful credentials inputs for Check - More gracefully handle "missing" media types - Use null or empty instead of just null - Guard against unzippable files - Fix incorrect flagging of a failed check - Use ZipWriterOptions instead of generic - Allow skeleton creation for all media types - Fix default value tests - Only allow skeleton creation for CD and DVD - Add preemptive new file support - Add preemptive helper for Zstd handling - Pre-compress skeleton files with Zstd - Fix broken file count tests - Pre-compress state files with Zstd - Use block-based reading instead of CopyTo - Enable skeleton output for all CLI runs - Fix test broken by last commit - Support detecting split Wii for CleanRip - Try to handle Windows-specific compression issue ### 3.4.2 (2025-09-30) - Fix starting index for CLI - Fix missed package update - Require exact versions for build ### 3.4.1 (2025-09-29) - Experiment with only showing media type box for DIC - Default media type box to hidden to avoid visual issues - Limit media type visibility further - Set media type visibility when options changed - Change label with media type visibility - Update media type visibility on system change - Return full result from dump checks - Fix logic from around Macrovision security driver filtering - Remove SkipMediaTypeDetection option, cleanup options window - Minor tweaks to frontend code - Default to CD speed range - Skip trying to set speeds if no drives - Fix tests - Make media type a named parameter for CLI - Reduction in media type use for dumping - Update BinaryObjectScanner to 3.4.3 ### 3.4.0 (2025-09-25) - Remove media type from Check Dump UI - Always trust the output files for processing - UI consistency when parameters are editable - Let the processor always deal with unsupported - Put a try/catch around GenerateArtifacts - Reduce preprocessing in DumpEnvironment - Update RedumpLib to 1.6.9 - Treat all UMD as DL visually - Add CopyUpdateUrlToClipboard option - Fix inconsistency with newlines - Update Aaru to build 5.4.1 - Fix for C2 error doubling issue (fuzz6001) - Update RedumpLib and LibIRD - Update LibIRD - Update redumper to build 653 - Minor cleanup - Update test Nuget packages - Update RedumpLib to 1.7.1 - Support multisession cache files - Update DIC to 20250901 (Windows/Linux only) - Fix UIC processing logic - Update RedumpLib, detect Playmaji Polymega system - Update redumper to b655 - Support new versioning format in redumper (fuzz6001) - Add RedumperRefineSectorMode setting - Update BinaryObjectScanner to 3.4.0 - Add context-sensitive protections helper method - Further flesh out framework - Add filters to handle Release Control output (Bestest) - Cleanup last commits, add tests - Update BinaryObjectScanner to 3.4.2 - Update RedumpLib to 1.7.4 ### 3.3.3 (2025-07-18) - Handle layers for PS3CFW - Further clarify configuration requirements for CLI - Ignore volume labels with path separators - Reduce media-specific checks where unnecessary - Add DetermineMediaType scaffolding and tests - Fill out DetermineMediaType for Redumper - Fill out DetermineMediaType for Aaru - Fill out DetermineMediaType for DiscImageCreator - Enable Check to determine media type automatically - Fix missed test updates - Rename disc info to media info - Fix start index in Check - Use the correct base path for Check - Update redumper to build 611 - IsAudio cleanup - IsAudio cleanup cleanup - Remove dead code in DIC processor - Set some default values for CLI - Address nullable default value - Better handling of Xbox/360, redumper build 613 - Use reasonable default names for PlayStation systems - Swap PS1/2 back to original name handling - Only use serial for PS3/4/5 if no custom volume label - Fix unnecessary null assignment - Empty should be null (fuzz6001) - Remove legacy codes from info window - Net Yaroze only for PS1 - Update RedumpLib to 1.6.8 - Add new help and version flags for CLI and Check - Strip errant whitespace during path normalization - Simplify code from previous commit - Better handle mixed-separator paths - Slightly better IRD organization - Update redumper to build 631 ### 3.3.2 (2025-06-12) - Include Aaru in automatic builds - Update RedumpLib to 1.6.7 - Update redumper, DriveType option, SS sanity check - Fix issues with last commit - Update tooltips/labels for controversial options - Add currently-hidden RetrieveMatchInformation option - Fix Redump default options - Fix tests from last commit - Remove unnecessary options property - Decouple retieval from login - Simplify Options naming where possible - Create multi-size icon - Fix size retrieval for Aaru - Update redumper to build 610 ### 3.3.1 (2025-05-23) - Fix typo for L1Toolstamp!.Label (bikerspade) - Update redumper to build 549 - Allow max speed dumping ("0") - Normalize file path in CLI - Always write full configuration file - Short-circuit CLI first-run experience - Start defining all download URLs - Add all separate downloads - Make more paths configurable - Add commented placeholders instead of omitting - Move function definitions - Smarter mapping of URLs to runtimes - Unify download maps - Trailing commas caused issues - Add initial extraction to new functions - Add cleanup to download functions - Fix most issues in new download code - Fix issue with some downloads - Replace old download implementations - Enable packing programs for CLI - Fix minor packing issues - Comment download scripts more - Fix removing empty subdirectories - Add interactive mode to CLI - Add padding above root interactive node label - Clean up case-sensitivity - Add interactive mode to Check - Fix menu title in Check interactive - It's not dumping, it's checking - Make interactive mode cleaner - Avoid redundant redundancy - Allow exiting from interactive modes - Update RedumpLib to 1.6.5 - Fix package reference layout - Update Nuget packages - Normalize Shift-JIS characters, when possible - Update to DIC 20250501 - Update RedumpLib to 1.6.6 - Pre-clean file path in CLI interactive mode - Tweak to previous commit for some build versions - Fix lines wiped before displayed - Update redumper to build 565 - Close the log archive, if it exists - Support checking Redumper DAT from zip; add tests - Add Check warnings around overwriting and parsing - Clarification on some options - One more note about hidden settings - Explicitly unset Redumper speed, if needed - Simplify WriteOutputData path handling - Serialize JSON a slightly different way - Add newlines to pkg info printing - Better audio-only check - Minor cleanup from last commit - Relax PS3CFW output filename requirements - Fix bracket formatting from last commit - Fix speed dropdown with Redumper - Update redumper to build 585 - Further fix speed dropdown with Redumper - Use null for 0 speed internally - Don't hash bad SS - Add and use status label for Check window - Minor Check UI improvements - Reset Redump errors when an INFO block is found - Handle error count resets in Redumper - Remove unnecessary conditional ### 3.3.0 (2025-01-03) - Update packages - Add skeleton test projects for individual libraries - Move existing tests to new projects - Add BaseProcessor tests - Add processor base implementation tests - Ensure SS.bin only required for DVD - Update tests to account for new file count - Add tests around some Aaru helpers - Add tests around CleanRip helpers - Fix CleanRip test access - Add tests around XBC helpers - Fix failing XBC test - Perform better path emptiness checks - Add tests around UIC helpers - Add tests around PS3 CFW helpers - Enable test running on package and PR - Fix missing test data - Add tests around Redumper helpers - Add sanity check output file tests - Add tests around DIC helpers - Add safety around sidecar generation - Use recommended Min/Max/TryParse - Add tests around ProcessingTool - Add BaseExecutionContext tests - Add currently unused Input type - Split Input type into typed classes - Add flag for value being set - Add unused inputs to Aaru - Add self-formatting to Input types - Handle issue with old .NET - Let inputs read equal-separated values - Fix some formatting issues with Input types - Replace Aaru pre-command flags - Use string builders where possible - Add Aaru parameters tests - Replace Aaru flag values with input types - Add Redumper parameters tests - Add quotes option to string input - Replace Redumper flag values with input types - Add DIC parameters tests - Add unused min/max parameters for numeric inputs - Add Int32 array input type - Wire up input boundaries - Fix required Int32 array input - Ensure dumping commands are tested - Add tests around default values - Increase sleep time in queue - Unify queue handling in processing queue - Add non-tools frontend tests - Update RedumpLib to 1.6.1 - Ensure consistency in frontend code - Ensure Redumper support matrix is consistent - Add FrontendTool tests - Update protection tool tests - Remove unnecessary namespace prefixes - Clean up original Drive tests - Add debug flag to publish scripts - Add gated program downloads to publish scripts - Migrate to using publish script for GHA - Update README to remove AppVeyor references - Remove unused gated using statement - Add alternate config location - Add safety check around empty config files - Add launch config for CLI - Remove unnecessary re-splitting of path - Always filter out game engines and packers - Remove now-redundant option - Always omit EA CD-Key - Add packer filtering tests - Simplify prefix filtering - Fix issue with odd quoting - Add DumpingParameters for DIC and Redumper - Better deal with volume labels - Fix bug with volume labels - Slight formatting tweaks - Update BOS to 3.3.2 - Enable handling non-SS Xbox discs - Use proper base path for redumper output check - Verify securom sector count - Update packages - Simplify direct package references - Remove vestigial progress indicators - Remove non-working last line log code - Fix access level for log queue - Fix access level for log document - Simplify ProcessLogLine method - Use explicit InvokeAsync when possible - (EXPERIMENTAL) Skip log line queue - Fully remove processing queue code - Introduce maximum log length - Print PS4/PS5 app.pkg info - Ensure .NET versions are installed for testing - Remove use of psxt001 - Minor formatting tweaks; add TODO - Use simpler cuesheet reader in Redumper - Fix now-incorrect test values - Better SecuROM handling for DIC and Redumper - Include native libraries for self-extract - Preserve program metadata on publish - Allow symbols to be packed - Fix important typo - Remove vestigial configuration file - Remove reference to removed file - Add README files for two libraries - Simplify output name assembly logic - Fix output name null edge case - Selectively rebuild program list - Use IBM PC as default system out of the box - Separate params checkbox from input - Disable more UI elements when editing - Ensure parameters checkbox is enabled to start - Fix log line for default system use - Retire and replace blue secret text - Enable tabs in input fields by default - Adjust row count in protection options - Pedantic GUI changes - More pendantic GUI changes - Remove unused progress bar - Disable all UI elements on protect scan - Account for menu items for disable/enable - Allow check and IRD most of the time - Check for partial dumps - Slightly reduce nesting of file pre-dump checks - Slightly increase nesting of file pre-dump checks - Improve system detection - Avoid unnecessary null checks - Pass options to process user info separately - Use internal options instead of external - Use Invoke explicitly for delegates - Wrap log compression in a thread - Do not display invalid credentials on empty - Tab input only needed for ringcodes - More fields behind RedumpCompatible option - Parse redumper BIG.DAT info - Unify DisplayUserMessage definitions - Clean up unused disabled warnings - Missed one - Minor UI changes - Hide empty partially matched list - Reenable XGD1 PVD reporting - Improve PS4/PS5 parsing - Don't add special field keys with no reason - Add pure-getkey output names for PS3CFW - Partially clean up PS3CFW - Wrap some PhysicalTool method calls - Minor UI and other fixes - Force path update if default changed - Force showing tooltips on disabled items - Update RedumpLib to 1.6.3 - Minor UI changes to DIW - Be consistent with filename extensions - Remove unnecessary action step - Update copyright - Update BinaryObjectScanner to 3.3.4 - Add and use internal program short names - Fix BinaryObjectScanner update - Fix short name test - Update RedumpLib to 1.6.4 - Fix misunderstanding on perfect offset - Handle SCSI error count - Update to DIC 20250101 - Fix system detection logging ### 3.2.4 (2024-11-24) - Update Redumper to build 438 - Be smarter about Linq usage - Add .NET 9 to target frameworks - Be smarter about some data types - Consolidate parameter string splitting - Fix fully matching when multiple matches found - Remove usages of `this.` in more places - Add `skeleton` to Redumper CD by default - Add unused "Generic" processor - Add Track 0/00/A/AA to Generic - Add IMA extension for floppy disks - Remove usages of `this.` from themes - Fix PIC parser - Use expanded version of split regex - Update packages for bugfixes - Fix minor efficiency issues - Remove usages of `this.` from UI code - Reduce unnecessary use of IEnumerable - Use List in protection formatting - Don't preemptively sort protections - Remove unncessary .NET Framework 4.0 gating - Improve parameters for default output path - Replace some uses of Regex.Replace - Clean up usings after last commit - Version gate remaining Linq statements - Cleanup CleanSS check - Fix PS3 firmware version being omitted - Don't add trailing spaces to BCA output - Add support for Redumper Xbox dumps ### 3.2.3 (2024-11-06) - Update to DIC 20240901 - Update BinaryObjectScanner to 3.1.14 - Fix SafeDisc filtering (TheRogueArchivist) - Update to DIC 20241001 - Include all DIC write offsets - Fix faulty offset dedupe logic - Change multiple offset delimiter - Make .NET 8 the default in issue reports - Remove ReadLine in list commands - Sum track errors in Redumper - Format CleanRip BCA wtih 2-byte blocks - Update Redumper to build 416 - Fix trimming of header output - Use fake filename for Redumper DAT - Ensure that the full base path is being used - Ensure consistency in output file path checking - Use new output file logic in processors - Ensure Regex directories are unescaped - Add separate field for Regex; assorted cleanup - Reduce cleverness in output file code - No directory means no files - Update RedumpLib to 1.4.4 - Use rolling release, not AppVeyor, in issue templates - Update BinaryObjectScanner to 3.1.15 - Remove unused IndexRange library - Remove unnecessary System.ValueTuple usage - Remove old .NET version of ValueTuple where possible - Remove unused CompilerServices.Unsafe library - Simplify GetMediaType return - Reduce call complexity for login result - Use new ProtectionDictionary type - Replace user info func with ProcessUserInfoDelegate - Reduce tupling even more - Remove tupling from everything except CLI programs - Remove last instances of ValueTuple usage - Update BinaryObjectScanner to 3.1.16 - Attempt to reduce nesting in GHA builds - Add conf to build matrix - Ensure debug symbols are stripped - Fix missed GetOutputFiles invocation - Reduce null use in BaseProcessor - Force rebuild of rolling ### 3.2.2 (2024-09-24) - Clean up some Check options, add IRD option - Add Check flags for protection scan extras - Add comments around default options object - Fix usings ordering in ItemHelper - Add physical drive extensions to new tool - Fix build for older .NET - Move two extensions to a better location - Fix XGD3 SS ranges - Fix config location in OptionsLoader - Fix some CLI issues - Add more verbose requirement to CLI help - Quote input paths if needed - Allow separate mounted path for Linux - Fix cleaning XGD3 SS - Prepare Redumper for XGD support - Hash DMI and PFI files for XGD in Redumper - Support GD-ROM info for Redumper - Futureproof GD-ROM LD in Redumper - Make GD-ROM LD code nicer to read - Rename 2 XGD helper methods - Add bus encryption enabled method - Move BEE method to better location - Use new BEE method in code - Include serial for UMD - Remove GD-ROM version fallback method - Preemptively update Redumper Saturn support - Move MSXC parsing to PhysicalTool - Fix minor inconsistencies - Create some PlayStation helper methods - Remove redundant drive calls - Start preparing for better output file checks - Create currently-unused helper class - Make helper class more robust - Add unused GetOutputFiles method - Hook up GetOutputFiles in debug way - Replace GetLogFilePaths with common code - Move GetLogFilePaths to better location - Replace GenerateArtifacts with common code - Define new ArtifactKey field - Add artifact keys for all relevant files - Make GenerateArtifacts return a dictionary - Split new output file methods - Fix up some file path methods - Fix broken build - Rearrange some BaseProcessor methods - Fix new AddToArchive methods - Fix recursive issue in AddToArchive - Add unused passable func to OutputFile - Pass in new func for OutputFile - Use new func in Redumper - Add runtime error for improperly created artifacts - Minor tweaks to existing code - Add new, unused CheckAllOutputFilesExist variant - Rename new method to CheckRequiredFiles - Use simplified CheckAllOutputFilesExist - Create and use RegexOutputFile - Add archive override for RegexOutputFile - Less confusing implmentation of DatfileExists - Forgot the other locations - Add future XGD output files - Add and use CustomOutputFile - Fix access permissions of output file classes - Handle XGD required files - Forgot to assume directories don't exist - Fix typo in publisher identifiers - Ensure manufacturer files starting from 0 are zipped in redumper DVD (TurnedToast) - Add _drive.txt file to GetOutputFiles for UmdImageCreator (TurnedToast) ### 3.2.1 (2024-08-05) - Add nuget packing for processors and contexts - Address build warnings for packages - Add Linux ARM64 as target by default - Fix nuget package naming - Forgot to upload packages to release - Add `osx-arm64` to libraries - Better support build matricies - Show script settings - Add flag values to script settings - Enable last runtime by default - Update README with new build matricies - Remove empty gitmodules - Purple - Separate themes into own namespace and files - Seal all theme classes - Add preliminary MPF.CLI - Add CLI build status to README - Add CLI information to README - Save default config values for CLI - Allow custom parameters for CLI - Load options before anything else - Dispose of stream when creating config - Try to make config safer for CLI - Blindly assume the path exists - Add CLI status output on runtime - Ensure tracks are assigned in Aaru - Custom theme colors - Use speed for CLI from configuration - Fix minimum number of args checks - Move GetDefaultSpeedForMediaType to common location - Move some Check-specific methods - Add some custom CLI parameters - Try out custom options classes - Simplify custom parameters warning - Fix CLI help text alignment - Bring Check and CLI in parity with param processing - Remove now-unncessary names - Don't set MediaType if parameters ambiguous - Fix parameters after extension change - Fix logic for deducing region from PlayStation ISN (JohnVeness) - Fix broken test logic - Remove RedumpLib tests - Change to generic wording in report (JohnVeness) - Add include artifacts flag for check, sanitize options - Remove old --protect-file mentions (JohnVeness) - Update RedumpLib to 1.4.1 - Enable loading seed JSON ### 3.2.0 (2024-06-20) - Create currently-unused processors - Move DataFile to Core.Data - Seal XBC processor - Migrate processor functionality - Remove now-unneeded parameters classes - Simplify access within processors - Rename Parameters to ExecutionContext - Ensure check-only implementations still work - Update to DIC 20240401 - Update Redumper to build 329 - Simplify mv command in build config - Fix subfolder issue from previous - Remove redundant BinaryReaderExtensions class - Use Logiqx model instead of internal one - Split some processing code - Remove unnecessary field in execution contexts - Slight tweak to deal with net20 - Make some methods required for override - Remove dcdumper until further notice - Invert using statement in dump environment - Make options internal to dump environment - Split constants files into component parts - Remove odd code from Result class - Slight tweak to Result class variables - Move constants into related classes - Separate out artifact generation - Reduce surface area of generation method - Make GetLogFilePaths required - Handle version like category - Move PlayStation drive use mostly to helper - Separate out copy protection run - Remove duplicate GetFullFile method - Move GetBase64 to InfoTool - Remove another redundant GetFullFile - Clean up usings after moving methods - Remove Chime - Move string contents for UI to view model - Remove unused byte array constant - Fix net20, net35, and net40 - Reduce processing queue sleep time - Move EnumConverter to Core.Data - Clean up usings - Separate out StringEventArgs - Use StringEventArgs more broadly - Make StringEventArgs more complete - Make implicit StringEventArgs bidirectional - Make implicit Result bidirectional - Rename Result to ResultEventArgs for consistency - Reduce accessors for DumpEnvironment - Better handle interface constants - Make StringEventArgs internally consistent - Remove use of "this" in ProcessingQueue - Use proper private variable naming in ProcessingQueue - Seal all execution contexts - Remove use of "this" in Drive - Move GetRedumpSystemFromVolumeLabel to InfoTool - Execution context is not needed to extract info - Remove other reference to execution context - Make processor private to DumpEnvironment - Make context private to DumpEnvironment - Make media type private to DumpEnvironment - Make system private to DumpEnvironment - Make drive private to DumpEnvironment - Simplify RequiredProgramsExist logic - Reduce complexity of ProcessSystem method - Remove unnecessary GetAntiModchipDetected method - Make GetCopyProtection signature easier to read - Move GetLibCryptDetected back to DIC processor - Make RunProtectionScanOnPath signature easier to read - Clean up usings - Remove automatic eject and reset options - Remove options from UI - Remove firmware output for Redumper - Merge EnumConverter and EnumExtensions - Move event args to root of Core - Move processing queue to root of Core - Move InfoTool to Core.Utilities - Move SubmissionInfoTool to Core.Utilities - Fix build - Rename Protection to ProtectionTool - Move ProtectionTool to Core.Utilities - Move Drive to root of Core - Move Options to root of Core - Move Enumerations to root of Core - Move ToInternalDriveType to Drive - Clean up EnumExtensions - Make FormattedVolumeLabel a method - Move GetRedumpSystem to MainViewModel - Rename Core.UI namespace to Core.Frontend - Move DumpEnvironment to Core.Frontend - Move Options to Core.Frontend - Remove useless using statement - Move OptionsLoader to Core.Frontend - Move Logging to Core.Frontend - Decouple InfoTool from processors - Rename SubmissionInfoTool to SubmissionGenerator - Move SubmissionGenerator to Core.Frontend - Move EnumExtensions to root of core - Move Options to root of Core - Decouple Frontend from execution contexts - Split Core.Frontend into separate library - Split Core.Processors into separate library - Split Core.ExecutionContexts into separate library - Rename Core.* libraries - Fix up visual solution - Move Aaru CICM code to Core - Clean up Core dependencies - Move Aaru CICM code to Processors - Merge UI.Core into main application - Rename main application to MPF.UI - Fix build scripts - Make protection file output required - Standardize PS1-5 outputs and parsing - Update Redumper to build 371 - Tools always run in separate window - Move ConsoleLogger to Check CLI - Move ProcessingQueue to Frontend - Move LogLevel enum to Frontend - Create ProcessingTool and move some methods - Remove unused byte array helper methods - Move GetSupportStatus to DumpEnvironment - Call psxt001z direct from DIC processor - Move GetCopyProtection to ProtectionTool - Slight cleanup of InfoTool - Move ProtectionTool to Frontend - Move ToRedumper* methods to Options - Move ToMediaType to OptionsLoader - Move ListPrograms to OptionsLoader - Move DoesSupportDriveSpeed to DumpEnvironment - Move ToInternalProgram to Options - Centralize dumping program information gathering - Move drive-reading methods to Drive - Move output writing to DumpEnvironment - Move Xbox/X360 helpers to ProcessingTool - Move PS3 helpers to ProcessingTool - Clean up usings - Centralize PS1/2 region detection - Move ProgramSupportsMedia to MainViewModel - Rename Tools to VersionTool - Move VersionTool to root of Core - Move InfoTool to root of Core - Create FrontendTool and move some methods to it - Clear out InfoTool and remove - Merge VersionTool into FrontendTool - Move EnumExtensions to Frontend - Treat KP2 like PS2 in DIC - Slight readability cleanup in DIC - Hacky move of DIC-specific code - Remove Drive dependency from GenerateSubmissionInfo - Move Drive to Frontend - Move ResultEventArgs to Frontend - Remove unused reporter delegate - Move StringEventArgs to Frontend - Decouple execution contexts from Options class - Combine remaining Core into Frontend - Remove Core library, fix build - Create Frontend.Tools namespace - Remove magic strings from settings reading - Move Redumper enums to a better place - Fix one DIC parameter test - Ensure setting defaults are consistent - Move ToRedumper* back to EnumExtensions - Rearrange test classes to match new format - Fix logic for PS1-5 system information - Fix setting PS1-5 version on invalid - Fix setting Python 2 version on invalid - Clean up some ProcessSystem cases - Add PS3 info extraction for DIC - Update to DIC 20240601 - Fix UI build workflow - Add update parameter to unzip - Handle Redumper .asus files - Handle Redumper .atip and .pma files - Simplify DIC DMI location finding - Move track full matching to separate loop - Fix... something with Linux publish script - Make match sets immutable - Update BinaryObjectScanner to 3.1.12 - Fix excluding programs in nix script ### 3.1.9a (2024-05-21) - Fix dictionary error in Redumper parsing - Fix overwriting placeholders in Redumper ### 3.1.9 (2024-05-19) - Update Redumper to build 325 - Fix CleanRip not pulling info - Fix XboxOne/XboxSX Filename bug - Trim PIC for XboxOne/XboxSX - Get volume label from UIC outputs - Add site code listing to Check - Update RedumpLib and related - Update BinaryObjectScanner to 3.1.11 - Remove now-unused Hash enum - Use IO implementation of IniFile - Add Xbox Backup Creator support to MPF.Check - Update BinaryObjectScanner to 3.1.12 - Prefer PlayStation info from Redumper logs ### 3.1.8 (2024-05-09) - Option for default Redumper leadin retries - Omit false positives on formatting protections - Critical update to BinaryObjectScanner 3.1.10 - Add _PFI.bin support for UIC ### 3.1.7 (2024-04-28) - Critical update to BinaryObjectScanner 3.1.9 ### 3.1.6 (2024-04-27) - Fix parameter parsing for `=` symbol - Define better default categories - Custom non-redump Redumper options - Update packages - Update packages ### 3.1.5 (2024-04-05) - Handle `.0.physical` files from Redumpers - Read C2 error count from Redumper logs - Read last instance of hash data from Redumper - Add Konami Python 2 system detection - Fix outdated information in README - Fix missing information in README - Language selections unchecked by default - Update BinaryObjectScanner to 3.1.3 - Fix information pulling for redumper (fuzz6001) - Update packages - Update BinaryObjectScanner to 3.1.4 - Detect Xbox Series X discs - Enable Windows targeting for test project - Fix test project project includes - Fix CleanRip hash output for Check - Enable label-side mastering SID and toolstamp - Enable remaining fields for label-side information - Update BinaryObjectScanner to 3.1.5 ### 3.1.4 (2024-03-16) - Update BinaryObjectScanner to 3.1.2 ### 3.1.3 (2024-03-15) - Gate debug publishing behind use all flag - Hide layerbreaks if value is 0 - Make GHA debug-only - Remove GHA pull request builds - Add PR check workflow - Don't link to AppVeyor artifacts page anymore - Add PS3 CFW support to MPF.Check - Hide size if value is 0 - Fix title normalization - Ensure no labels are empty - Use SabreTools.Hashing - Update to SabreTools.RedumpLib 1.3.5 - Update packages to latest - Enable LibIRD for all .NET frameworks - Try updating PR check action - Fix config access persmission - Fix Check UI deadlock - Fix formatting output formatting - Update LibIRD to 0.9.0 - Update packages - Fix Redumper generic drive type - Add MPF version to Submission info - Update to RedumpLib 1.3.6 ### 3.1.2 (2024-02-27) - Remove debugging lines from build script - Port build script fixes from BOS - Fix double git hash version - Readd x86 builds by default - Hide unavailable dumping programs - Remove DIC and Aaru bundles from CI - Add x86 builds to AppVeyor - Make AppVeyor builds framework-dependent - Fix misattributed artifact - Update README with current build instructions - Opt-in automatic IRD creation after PS3 dump - Add CI via Github Workflows - Reorganize solution items - Split CI workflow files - Add GHA CI status badges - Rename badges for GHA - More tweaks to CI - Fix net35 build issue - Remove now-unnecessary restore step - Remove net35 from MPF... again - Fix whitespace that got unwhitespaced - Fix link in README - Attempt to add CD to existing actions - Try fixing the artifact upload - Use recommendation from upload-artifact - Revert artifact ID, use name? - Try using download-artifact - Download all artifacts? - Use newer download version - Build artifact before upload - Change link to WIP builds in README - Use commit SHA as body of rolling releases - Don't omit body when setting body - Remove unnecessary empty section - Unified tag for rolling release - Generate release notes automatically - Remove generation, just in case - Change link to WIP builds in README - Show hashes in readonly data - Update to BinaryObjectScanner 3.1.0 - Add Mattel HyperScan detection - Pull PS3 Disc Key from redump ### 3.1.1 (2024-02-20) - Remove .NET 6 from auto-builds - Make Redumper the default for new users - Fix DIC log parsing for SS version - Write outputs with UTF-8 - Add funworld Photo Play detection - Fix Aaru drive parameter generation - Limit DVD protection outputs - Add a GUI for PS3 IRD Creation - Update LibIRD, disable UI elements when creating IRD ### 3.1.0 (2024-02-06) - Update RedumpLib - Update Redumper to build 294 - Fix commented out code - Make missing hash data clearer - Get BD PIC Identifier for redumper - Support redumper skeleton and hash files - Support ringcode and PIC for triple/quad-layer (fuzz6001) - Cleanup !protectionInfo.txt - Update Redumper to build 311 - Use PSX/PS2 serial as filename when Volume Label not present - Allow variables in output path - Check for presence of complete dump from other programs - Retrieve volume label from logs - Correct missing space in PVD (fuzz6001) - Prevent crashing on invalid parameters - Detect CDTV discs - Differentiate CD32 from CDTV - Normalise Disc Titles in Submission Info - Skip warning line in Redumper log - Add a GUI for MPF.Check - Fix information pulling for CleanRip and UIC - Add UMD handling for the disc info window - Detect Photo CD - Parse PSX/PS2/KP2 exe date from logs - Exclude extra tracks when finding disc matches - Verbose Redumper log by default - Retrieve serial from Cleanrip - Fix build from rushed code - Remove `-disc2` from Cleanrip serial - Enable Windows builds on Linux and Mac - Fix compiler warning ### 3.0.3 (2023-12-04) - Fix broken tests - Fix using SHA-1 for track checks - Fix build warning for NRE - Remove .NET Framework 3.5 from build script - Handle or suppress some messages ### 3.0.2 (2023-12-01) - Read CSS for some copy protections - Add Disc ID and Key fields in info window - Replace build script with Powershell - Fix Powershell build script - Fix cross-framework UI rendering - Fix most .NET Framework 3.5 issues - Fix cross-framework UI styles - Update Redumper to build 271 - Update USE_ALL in Powershell script - Import WinFX for .NET Framework 3.5 - Reference .NET Framework 3.0 for 3.5 - Handle most VS and dotnet differences ### 3.0.1 (2023-11-30) - Add Bandai Pippin detection - Zip manufacturer files for Redumper - Fix BE flag logic bug in DIC - Support ancient .NET in Core - Support ancient .NET in UI Core - Support C# 12 syntax - Support ancient .NET in Check - Support ancient .NET in UI - Fix TLS for older .NET - Perform more ancient .NET support work - Prepare XAML for ancient .NET support - Suppress deprecation warnings - Fix reversed ringcode test - Add C#12 syntax to tests - Trim PS3 serial and add unrelated notes - Update RedumpLib and use moved methods - Perform some post-move cleanup - More C# 12 cleanup in Core - Update to BinaryObjectScanner 3.0.1 - Update Xunit packages - Get Core building with Framework 4.0 - Get UI.Core building with Framework 4.0 - Get Check building with Framework 4.0 - Use TryGetValue on dictionaries - Support proper async in .NET Framework 4.0 - Temporarily remove .NET Framework 4.0 - Update to BinaryObjectScanner 3.0.2 - Re-enable .NET Framework 4.0 building in Core - Re-enable .NET Framework 4.0 building in UI.Core - Re-enable .NET Framework 4.0 building in Check - Support .NET Framework 3.5 - Update compatibility libraries - Support .NET Framework 2.0 - Support .NET Framework 3.5 in UI.Core - Get UI building with Framework 4.0 - Temporarily remove .NET Framework 4.0 from UI - Get UI building with Framework 4.0 again - Support .NET Framework 3.5 in UI - Update Redumper to build 268 ### 3.0.0 (2023-11-14) - Remove .NET Framework 4.8 from build - Remove .NET Framework 4.8 from projects - Remove .NET Framework 4.8 gated code - Address lingering modern .NET syntax - Update README for Legacy - Remove redundant information - Remove 4.8 note from build script - Even more README cleanup - Consolidate build script information - Remove lingering script reference - Make releases less verbose - Remove .NET Framework 4.8 from issue report - Remove Unshield reference - Update documentation for BOS change - Bump library versions - Update to .NET 8 ### 2.7.5 (2023-11-06) - Remove psxt001z Pkg Ref in MPF.Test - Update Redumper to build 247 - Focus main window after child window closes - Try to get PS3 data from SFB - Fix PS3 version finding - Pull PS3 Firmware Version - Fix default layerbreak output - Enable browsing for Redumper path - Update to MMI 3.0.0 ### 2.7.4 (2023-10-31) - Move Hash enum and simplify - Add other non-cryptographic hashes - Avoid unncessary allocation in hashing - Make Hasher more consistent - Move all hashing to Hasher - Separate out static hashing - Remove unncessary summary - Version-gate new switch statement - Ignore empty protection results - Remove and Sort Usings - Update Redumper to build 244 - Enable Bluray dumping with Redumper - Add Bluray layerbreak support for Redumper - Remove now-obsolete notes - Compile most regex statements - Handle a couple of messages - Remove .manufacturer for Bluray - Fix typo that disables DIC during media check - Fix build - Remove duplicate check - Add PIC output for Redumper - Update Redumper to build 246 - Enable HD-DVD for Redumper in UI - Attempt to fix window owner issue ### 2.7.3 (2023-10-26) - Split InfoTool into 2 classes - Add path variants for PlayStation info - Convert Drive to use paths internally - Create skeleton for first-run - Show options window on first run - Fix drive letter issue in UI - Add first-run Options title, fix saving bug - Fix multiple handler invocation - Create method for applying theme - Fix drive letter check - Simply theme application - Add framework for deleteable files - Add deleteable file lists for Redumper and DIC - Add optional file deletion - Rearrange OptionsWindow to be easier to navigate - Fix up DumpEnvironment a bit - Add filename suffix setting (nw) - Wire through filename suffix - Expose suffix setting - Set UDF CD threshold at 800MB - Update package versions - Attempt to parse out PS5 params.json - Fix CRC32 hashing - Update XUnit packages - Update to BurnOutSharp 2.9.0 - Update to MMI 3.0.0-preview.4 - Fix two small nullability issues - Use Array.Empty in hasher - Always use relative path internally ### 2.7.2 (2023-10-17) - Fix options loading for Check - Cleanup and gated code - Gate some switch expressions - Suppress some unnecessary messages - Disable dumping button when Redumper selected with unsupported media type - Improve check for which program supports which media - Remove code for getting Universal Hash from DIC logs - Fix Redumper retry count not showing - Enable parameters checkbox by default - Update Redumper to build 230 - Fix GetPVD in dic (fuzz6001) - Get SecuROM data from Redumper - Clean up issue templates - Support Redumper 231 outputs ### 2.7.1 (2023-10-11) - Add pull-all flag for Check - Fix errant version detection issue - Allow user-supplied information in Check - Add BE read flag for Redumper - Add generic drive flag for Redumper - Handle numeric disc titles as issue numbers - Unify handling of enable/disable events - Enable nullability in Check - Remove all but .NET 6 for AppVeyor packaging - Place message boxes at center of main window - Enable nullability in MPF - Enable nullability in MPF.UI.Core - Enable nullability in MPF.Test - Handle some suggested changes - Var-ify many instances - Version-gate some newer syntax - Fix Check always showing Help text - Version-gate some more newer syntax - Enable path browse button by default - Remove unnecessary namespacing ### 2.7.0 (2023-10-11) - Attempt to replace NRT - Try alternate archive naming - Publish, but don't package, release builds - Add note about git being required - Try out using version number in AppVeyor - Job number not build ID - Fix errant space in variable name - Build number not job number - Use System.IO.Hashing for CRC32 - Don't reverse the CRC32 output - Add submission info preamble - Fix missing comma - Remove IMAPI2 with no substitution - Remove framework exceptions - Slight reorganization of code - Update README with support information - Remove msbuild-specific AppVeyor items - Be trickier when it comes to type from size - Fix "detected" message - Be smarter about media type based on system - Consolidate into MPF.Core - Fix failing tests - Remove debug symbols in release builds - Allow nullability for modern .NET - Fix failing tests - Remove unnecessary include - Move element items to Core - Move LogLevel enumeration - Split logging code a bit more - Split info window code a bit more - Clarify build instructions in README - Split options window code a bit more - Use binding for more disc info textboxes - Handle Redump password changing better - Refine options window bindings - Refine options window bindings further - Refine info window bindings further - Move decoupled view models - Fix log output - Start migrating MainViewModel - Perform most of MainViewModel changes - Small updtes to MainViewModel - Remove MainWindow from MainViewModel - Use callback for logging, fix Options window - Remove WinForms from MainViewModel - Remove some message boxes from MainViewModel - Remove more Windows from MainViewModel - Fix null reference exception in disc type - Detected type and selected type are different - Remove message boxes from MainViewModel - Move MainViewModel to Core - Remove LogOutputViewModel - Consolidate some constants - Fix media type ordering - Fix dumping button not enabling - Recentralize some Check functionality - Fix media combobox not updating ### 2.6.6 (2023-10-04) - Update Nuget packages - Update to MMI 3.0.0-preview.2 - Remove errant character from script - Add placeholders for release builds - Fully sync AppVeyor build with script - Stop compiling Chime finally - Address some warnings and infos - Add setting for pulling comment/contents - Move to config.json - Omit track 0.2 and 00.2 from hash search - Tweak README again - Fix redumper EDC detection output - Fix XGD4 PIC reading - Ensure popups are topmost - Try out more UI functionality - Skip system detection on inactive drives - Fix path tests - Clean up csproj files - Update redumper to build 221 - Ensure multisession info is populated - Be clearer with protection outputs ### 2.6.5 (2023-09-27) - Normalize Redumper CSS output - Update redumper to build 219 - Add .NET 7 to build scripts - Disable subdump download in AppVeyor - Normalize publish scripts - Update AppVeyor to match scripts - Add release publish scripts - Handle invalid characters when changing program - Fix options not saving on update - Combine build scripts - Force information window to top - Reset debug option to false ### 2.6.4 (2023-09-25) - Add CD Projekt ID field - Fix speed setting in Aaru - Add helper for changing dumping program from UI - Handle extension changing only - Swap order of operations for changing program - Fix dumping path in DD - Fix PlayStation serial code region parsing - Retrofit README - Migrate to Nuget package for Redump - Remove dd for Windows - Migrate to Nuget package for XMID - Migrate to Nuget package for cuesheets - Migrate to Nuget package for PIC - Fix timestamp (Ragowit) - Not building against .NET Standard - Move RedumpSystemComboBoxItem - Move Constants - Move WPFCustomMessageBox - Remove EnableProgressProcessing - Remove EnableLogFormatting - Remove App references from LogViewModel - Remove log formatting code - Move LogOutput - Move to csproj tag for internals - Move OptionsWindow - Begin decoupling App - Fix build - More decoupling App - Make Options non-cloneable - Set parent on MainViewModel init - Make logger a local reference - Move options into MainViewModel - Move MainWindow - Add .NET 7 as a build target (not AppVeyor) - Fix tests that have been broken for a while ### 2.6.3 (2023-08-15) - Update redumper to build 195 - Add known .NET 6 limitations to README - Remove `_drive.txt` from required UIC outputs - Make `use` flag required for MPF.Check - Add dumping date to log - Non-zero data start only for audio discs - Update SafeDisc Sanitization (TheRogueArchivist) ### 2.6.2 (2023-07-25) - Ensure custom parameters properly set - Universal hash only for audio discs - Support LibCrypt data from Redumper - Always show extension for Redumper - Normalize old universal hash text - Skip extra tracks during checking - Modify the track count on checking - Attempt to match universal hash - Fix .NET Framework 4.8 build - Fix universal hash URL generation - Add Windows publish script - Add *nix publish script - Add build instructions to README - Clarify build instructions ### 2.6.1 (2023-07-19) - Simplify Redumper error value extraction - Don't pull comment fields that auto-populate - Set best compression levels for log files - Be more explicit about .NET 6 limitation - Set extensions for Redumper in UI - Fix comment field pulling again ### 2.6 (2023-07-14) - Update README - Add warning to login tab - Pull hardware info from redumper log (fuzz6001) - Increase the version of AppVeyor (fuzz6001) - Add Windows 7 note to README - Update redumper to build 113 - Split MMI invocation in drive listing - Update README - Add Hasbro iON - Get the write offset from the latest redumper (fuzz6001) - Update redumper to build 115 - Update to DIC 20230401 - Add DIC `.` notice to README - Resync with Redump - Update redumper to build 118 - Clarify non-Redump systems - Add UltraCade - Re-enable BD33 and BD66 - Add PIC models for BD (unused) - Handle PIC based on disc type - UMDs always have "2 layers" - Add dumping program selection to main UI - Update to DIC 20230413 - Comment out `.` handling for DIC - Ensure dumping program box can enable/disable - Disable special SmartE handling for DIC - Remove path from PS1/PS2 serial - Make TOC file optional for CD/GD - Add datafile models - Add datafile helper method - Start migrating to datafile serialization - Prepare for future DIC changes - Add suppl support to Xbox - Support single digit subs - Fix info tool hash finding - Fix missing size for ISO data - Attempt to more accurately parse layerbreaks - Fix upcoming suppl DAT parsing - Ensure blank lines don't interfere - De-indent ringcode data - Be more specific with runtime identifiers - Fix subdump output path in AV config - Fix subdump mkdir path in AV config - Single file packing for .NET 6 again - Add missing BD disc type identifier string - Truncate PIC data for PS4/PS5 - Add internal theme support with class - Add PIC identifier to SubmissionInfo - Fix other media type method - Fix non-zero offset text - Add executable listing for XSX - Update redumper to build 151 - Add more safety to DAT generation - Get write offset from redumper 119 (fuzz6001) - Update hardware information pull from redumper (fuzz6001) - Add MCD/SS header support for Redumper - Fix MCD region(s) parsing - Update to DIC 20230606 - Update redumper to build 166 - Unblock Redumper DVD support - Support Redumper DVD layerbreak - Add placeholder and TODOs for Redumper - Add TODO with notes to Redumper - Fix 2-layer DVD support in Redumper - Fix VSCode build - Fix Redumper DAT/layer parsing - Update Redumper PS1 output parsing - Fix previous commit, clean up helpers - Update redumper to build 173 - Initial support for Redumper CSS outputs - Hook up CSS output for testing - Update redumper to build 174 - Add support for redumper CD synonyms - Adjust CSS title key parsing - Fix non-reading loop - Normalize Redumper CSS outputs - Normalize multi-instance site tags - Add missing Aaru error log to zip - Check Redumper dat section for completeness - Update redumper to build 176 - UMDs are Sony discs - Strip colons from Redumper disc key - Use `HashSet` for disc or book type - Add ordering to disc or book type - Update redumper to build 183 - Parse and format Redumper CD multisession data - New layerbreak takes precedence - Reduce pulled information for Xbox and X360 - Ensure we found the tags we're skipping - Omit pulling universal hash - Update Nuget packages to newest stable ### 2.5 (2023-03-12) - Add _drive file to zip for UIC - Add Xbox Series X and PS5 to list, fix Acorn - Add Xbox Series X short name to list - Remove windows from test target - Remove .NET 6.0 from tests, add TODO - Add .NET 6.0 to tests, remove msbuild args - Add HD-DVD to speed definitions - Add PS3 internal serial and version parsing (tjanas) - Update Nuget packages to newest stable - Simplify path selection in UI - Fix broken normalization test - Update drive info before dumping - Update redumper strings - Add new parameter and mode validation - Add redumper to the UI - Update redumper to build 81 - Fix incorrect naming in Options window - Initial attempt at parsing redumper outputs - Update README - Reenable write offset for all CDs - Add missing redumper output file - Force a filename for redumper - Fix incorrect SetParameters - Fix a couple redumper things - Update AppVeyor version - Output security sectors to info - Remove x86 requirement for build - Fix XGD media type outputs - Fix typo in ToInternalProgram - Fix redumper error count parsing - Update to Aaru v5.3.2 LTS - Update options loader with sane defaults - Fix AppVeyor pathing - Skip during detection - Address some UI concerns - Tweak AppVeyor, show Check 6.0 builds - More strict when custom parameters editing - Use msbuild for .NET Framework 4.8 - Update nuget packages - ReadAllText not ReadAllLines - Add drive format (fs) to log - Go back to pre .NET 7 Aaru - Be smarter about old paths - Fix relative paths for DIC - Add nicer failure message - Update to DIC 20230201 - Use relative path output for DIC - Remove usage of Aaru - Remove Aaru as submodule - Fix Aaru removal - Enable .NET 6 Windows builds - Update Redumper to build_106 - Reformat CICM for old .NET versions - Attempt to handle no drives - Handle no drives better - Handle no drives betterer - Packaging requires `-windows` for framework - Fix other `-windows` places for .NET 6 - Fix typo in DICMultiSectorReadValue - Semi-unify drive finding - Introduce cross-platform MMI - Remove System.Management - Add Redumper Universal Hash support - Fix Redumper write offset support - Add Redumper non-zero data start - Use media size for type detection on .NET 6 - Trim PIC for PS3 - Get the version of redumper (fuzz6001) - Update VSCode config files - Can't publish single file for UI - Handle missing extension gracefully - Fix incorrect option slider display - Handle undetected discs on refresh - Originally intended behaviour of the Update Label button (IcySon55) - Update to BurnOutSharp 2.7.0 - Get error count from recent redumper log (fuzz6001) - Minor cosmetic changes - Set saner defaults for dumping speeds - Attempt to support Windows 7 - Add `win7-x64` to identifier list - Remove unsupported identifiers - Add identifiers in more places - Move drive finding inside of the try/catch - Update to DIC 20230309 - Fix errant forward slashes - Add TOC back as optional file - Fix Redumper path generation - Use and trim quotes for Redumper - Fix incorrect image name setting - Ensure Redumper parameters are set - Ensure min values are taken care of - Update parameters with `=` handling - Ensure drive and speed are set - Handle quotes embedded - Return list of missing files for Redumper - Readd accidentally deleted line - Detect EOF during the search for error counts (fuzz6001) ### 2.4 (2022-10-26) - Update to DIC 20211001 - Fix Redump disc title pulling - Add /mr default flag options - Make FillFromRedump private again - Fix DVD layer finding corner case - Fix failing module tests - Add option to limit region and language selections - Cap X360 directory check to 500MB - Assign normalized path to parameters - Move path normalization to better place - Specifically include Unsafe Nuget package - Update Nuget packages to newest stable - Add Xbox One system detection - Update to DIC 20220301 - Force internal drive refresh - Add single drive refresh button (IcySon55) - Fix "missing" option in window - Track last used drive on refresh - Clean up pre-dump validation - Update to Aaru v5.3.1 LTS - Add upper case `` processing - Reorder event handers - Handle sanitized protections edge case - Update Aaru Nuget package - Return faster on empty protection sets - Remove redundant check around volume label - Fix tabs in Games and Videos boxes - Make fully and partially matching IDs more apparent - Add write offset as read-only field - Explicitly clear list, just in case - Add both fully and partially matching to info file - Fix submission info clone - Clear out fully matched IDs from the partial list - Refine copy protection section showing - Update Nuget packages - Normalize newlines in comments and contents - Increase JSON accuracy for disc types - Further separate out protection scan outputs - Compress JSON for artifacts alone - Even stricter output for copy protection section - Report dictionary to InfoTool - Even even stricter copy protection output - Disable PVD creation for Aaru - Explicitly sanitize '?' from path - Combine cases in protection scan - Convert status label to TextBlock - Add option for copy protection file output - Make protection field user-editable - Add warning to tooltip - Create core UI library - Rename MPF.GUI to MPF.UI - Add multisession pseudo-tag - Add multisession helper method skeleton - Move and update options loader; clean up Check - Move helper methods around - Consolidate Redump login testing - Separate common arguments to new helper - Parse and format CD multisession data - Convert triple space to tab - Fix clone issue with copy protection - Be more picky about multisession - Sanitize whitespace around tabs - Convert internal libraries to .NET Standard 2.0 - Update AppVeyor to VS2022 - Update Nuget packages - Remove needless csproj constants - Update copyright date to 2022 - Revert AppVeyor to VS2019 for now - Add size-based media type detection for non-Framework - Gate ManagmentObject use further - Use built-in NETFRAMEWORK directive - Update to BurnOutSharp 2.1.0 - .NET 6.0 and Cleanup - Remove .NET Core 3.1 from test project for now - Remove .NET Core 3.1 entirely - Add filesystem logging for .NET 6 - Avoid whitespace changes for PVD, Header, and Cuesheet - Sync to newest CICM - Update solution file for VS2022 - Add Aaru as a submodule for .NET 6 - Multisession is multi-line - Use Aaru for media type retrival (.NET 6) - Fix CD-R multisession info - Better get drive list (.NET 6) - Add optical media support method (.NET 6) - Simplify IsOptical (.NET 6) - Reorganize GetMediaType - Possibly fix tab regex replacement - Add PIC.bin to log zip - Organize projects in solution - Implement Drive.Create for safety - Fix incomplete system name detection - Add Sharp X68k detection - Add Bandai Playdia QIS detection - Framework for XBONE filenames - Add files for XBONE - Update to DIC 20220707 - Fix .bin file paths; update internal filename generation - Disable nonstandard BD-ROM sizes - Trim leading file paths for XBONE - Give .NET 6 priority for web calls - Update to BurnOutSharp 2.3.0 (nw) - Add Mattel Fisher-Price iXL detection - Update to BurnOutSharp 2.3.1 (nw) - Fix serial parsing for Dreamcast - Fix missing parenthesis - Add internal name for Cleanrip outputs - Fix psxt001z namespace - Fix missing assignment - Update to new constructor - Update PSX content check - Update Aaru submodule to latest devel - Add Sony Electronic Book system - Verify GD-ROM outputs, finally - Electronic not Electric - Fix ringcode guide images - Add skeleton for Redumper - Download Redumper with AppVeyor - Add Redumper constants - Add Redumper parameter values - Add Redumper command support and reset - Add Redumper dumping command - Add Redumper command validation - Add Redumper command generation - Create Redumper extensions class - Minor Redumper cleanup - Add important Redumper note - Update to DIC 20220909 - Possibly fix PIC parsing - Add PS3 folder/file checks for detection - Use default directory for folder browsing, if possible - Add unused command filename parser - Add initial framework for reporting dumping program - Report specific DIC version, if possible - Add dumping info section skeleton - Update Aaru submodules - Fix missing info reference change - Enable separated protection info output by default - Try adding MPF logs to zip - Create MPF log helper and filter for deletion - Fix missing info in Aaru - Add hardware info to DIC and Aaru - Fix hardware info - Add specialized CDS/SafeDisc filter - Add unused article formatter - Add language filtering to formatter - Add multi-language helper for filter - Update Nuget packages - Remove deprecated protection setting - Update BurnOutSharp to 2.3.4 - Add compression result reason to log - Add System.Memory package to MPF.Library - Add CodePages package to MPF.Library - Remove extraneous packages - Change location of dumping info - Add MS ZipFile package to MPF.Library - Add + to positive offsets - Disable layerbreak generation for BD - Disable XGD version reporting - Disable XGD layerbreak reporting - Disable XGD1 PVD reporting - Put Redump limitations behind existing flag - Add framework for reported disc type - Add disc type parsing for Aaru and DIC - Fix multiple DiscType for DIC - Fix multiple DiscType* for DIC - Add logging to !submissionInfo writing failure - Add logging to !submissionInfo formatting failure - Update issue templates to be more accurate - Fix NRE with offsets - Fix readonly Filename info display - Fix layerbreak-based checks - Add PS4 serial finding (tjanas) - Add unused notification method - Move to unused Chime class - Add PS5 serial finding (tjanas) - Fix offset formatting (fuzz6001) ### 2.3 (2022-02-05) - Start overhauling Redump information pulling, again - Add internal structure for special site codes - Add new tabs for special site information - Clean up default handling of fields - Try to handle multi-line fields during parsing - Fix CSSKey log handling - Show most read-only fields in new tab - Add horizontal scroll to user input - Tweak new disc information fields and tabs - Allow internal serial and volume label to be hidden - Be smarter about showing update checks - Ensure all fields are read-only on read-only tab - Add model for 2-layer ringcode guide - Add first attempt 2-layer ringcode guide - Add even more safety to clone - Sanitize filename after check - Handle pulled linebreaks better - Skip anti-modchip string in some cases - Handle pulled linebreaks better, again - Tweak more Disc Info window formatting - Skip unnecessary newlines in parsing - Force scroll visibility, tweak text sizes again - Fix newline skipping - Add missing continue statement - Add newlines for mutliline special fields - Omit volume label for "Audio CD" - Remove Enter/Escape registration on disc info window - Logically group more things in disc info window - Remove tab key from disc info window - Add `` processing - Unban newly opened consoles - Tweak minimalized layout a bit more - Add tab setting - Further disc info window tweaks - Changed IsEnabled to IsReadOnly - Fix scrolling issues in disc info window - Convert postgap and VCD fields to checkboxes - Adjust width ratios for disc info window - Fix IsReadOnly - Only include booleans if the value is true - Add hidden debug option for "ShowDebugViewMenuItem" - Fix incorrect header check - Make protection read-only field multiline - Reformat Saturn internal date - Fix Sega CD internal serial reading - Fix crash on invalid parameters - Differentiate XMID and XeMID - Conditionally pull region from Redump - Be smarter about volume labels - Use volume label in checks, not formatted version - Sync with Redump region and language selection - Try to delete old log archive before writing - Add support for all ISO language codes - Add support for all ISO region codes - Ensure ordering in output site tags - Make site code formatting helper method - Better helper method organization - Start supporting ordered tags and non-tags - Add more non-tag support; rearrange info window - Fix incorrect language three-letter code - Hook up additional Xbox field to disc info window - Fix non-tag tag shortnames - Fix parsing of non-tag tags again - Disable unnecessary cuesheet parsing - Fix incorrect region two-letter code - Adjust long names for some languages - Add Sierra ID to list of pseudo-tags - Add another hand-formatted version of SS tag - Move internal serial before volume label - Check for $SystemUpdate folder for X360 discs - Slightly rename UK and USA regions for UI - Add another hand-formatted version of SS tag - Add verification reminders for pulled tags - Read longer string for Saturn internal serial - Ensure version only pulled if one doesn't exist - Ensure Games pseudo-tag is multi-line - Add alternate pseudo-tag for Playable Demos - Make error clearer if something is unsupported in Check - Ensure drive is not null for volume labels - Check explicitly for no matches on Redump pull - Normalize PS1/PS2 executable names - Adjust paths for DIC just before dumping ### 2.2 (2021-12-30) - Fix Saturn header finding - Add Pocket PC support - Add HD-DVD-Video support - Convert to using separate Redump library code - Update to Aaru v5.3.0-rc1 - Update to BurnOutSharp 1.8.0 - Update support packages - Add on-startup "check for updates" option - Update to Aaru v5.3.0-rc2 - Add .NET 5.0 as build target - Remove .NET Core 3.1 and .NET 5.0 from AppVeyor build artifacts - Null-safeguard RedumpLib conversions - Move cuesheet code to separate DLL - Move CICMMetadata to top-level - Separate out remaining functionality into individual DLLs - Update to Aaru v5.3.0 LTS - Update to DIC 20211001 - HTTP encode password for Redump login, again - Fix NullReferenceException in anti-modchip scans - Update arcade metadata (Shizmob) - Add JSON output option for MPF.Check - Fix JSON output serialization - Ensure corrupt directories on media don't throw errors - Add retry to Redump external calls - Make anti-modchip scans even safer - Remove lower bound checking on LBA values for DIC - Remove offset for audio discs on DIC output - Start adding regression tests for DIC - Ensure parameters box is safer during options save - Fix protection sanitization and add regression tests - Update to DIC 20211101 - Add protection sanitization for StarForce - Trim filenames for DVD protection from DIC - Fill out internal tests around Redump library - Refine the "missing disc" text - Overhaul XeMID handling - Fix output dialog issues in Options window - Fix saving path settings if set from dialog - Allow default system if skipping system detection enabled - Add internal support for all Redump site codes - Use the Volume Label special site code - Capture newlines in Redump fields - Invert condition for volume label - Fix missing ISN usages - Fix ISN string - Validate track count when matching Redump - Allow for better matching of multi track discs - Temporarily disable pulling comments from Redump pages - Add safety around volume labels ### 2.1 (2021-07-22) - Enum, no more - Sony works backward - Add experimental dark mode - Allow users to customize protection scanning - Fix negative offsets for `/a` flag - Always check for all DIC log files, just in case - Check for the zipped logs for dealing with overwrites - Be smarter about checking for zipped logs - Change offset value for HVN discs - Update to DIC 20210601 - Fix Aaru command normalization - Handle carriage returns better - Add logging helper class - Set matcher on carriage return for log formatting - Replace dumping program output processing - Fix volume name detection for XBOX discs - Add new setting for including artifacts in serialzied JSON - Fix logging in to Redump for verifications - Gracefully handle timeouts during login - Update to DIC 20210701 - Support `/mr` value parameter - Support new mainInfo header - Add BD to IBM-PC supported discs - Fix launching MPF on Windows 7 - Fix log window background turning white - Add DMI/PFI/SS to log zipfile - Update to BurnOutSharp 1.7.0 ### 2.0 (2021-04-23) - Rename DICUI to Media Preservation Frontend (MPF) - Add handling for BEh drive _mainInfo.txt changes - Fix multiline regex fields during info pulling - Add preliminary support for user-defined default system - Change labels in media info window depending on media type - Update to Aaru v5.2 - Only pull disc information if every track returns at least one ID - Add new supported Redump regions - Remove Philips CD-i Digital Video from supported profiles - Remove experimental Avalonia UI, will wait for MAUI next year - ~~Updated to DIC version 20210102~~ - Add support for `/mr` DIC flag - UI initialization code refactored to have more consistent results - Support DIC `.imgtmp`, `.scmtmp`, and `.subtmp` possible output files - Fix BCA formatting for CleanRip outputs - Add hashing for UMDs from UIC outputs - Fix information gathering for UIC outputs - Fix issue with duplicate security sector data in XGD DiscImageCreator outputs - ~~Update to BurnOutSharp 1.5.1~~ - ~~Update to DIC version 20210202~~ - Add VCD detection - Fix UI not updating properly on drive change - Add Xbox Series and PS5 to supported systems - Add PS5 type detection and version extraction - Add internal support for 3- and 4-layer discs - Revamp disc information window - Add PIC layerbreak extraction - Overhaul main window and logging panel - Overhaul options window - Update attributions and about text - ~~Updated to DIC version 20210301~~ - Add user-selectable Language Selection via dropdown in disc submission window for PS2 - Separate out Aaru- and DIC-specific settings - Add new options based on original "Paranoid Mode" mega-option - Internal overhaul of options and dump environment - VideoNow discs are audio only - Hook up default system in options - Make inner and outer layers in UI and outputs more clear - Program output to log by default, setting otherwise - DVDs and BDs can have label-side data - Remove .NET Framework 4.7.2 support - Make logging window a bit safer - Support new Redump languages and regions - Implement internal log queue - It's a secret... - Updated to DIC version 20210401 - Support log file compression - Add ring code guide button to disc submission window - ~~Update to BurnOutSharp 1.6.0~~ - Fix "rewinding" issue when inputting output paths with spaces - Add version to About box - Update to BurnOutSharp 1.6.1 ### 1.18 (2020-11-10) - Add more information extraction and generation for Aaru - Remove instances of CD Check from copy protection (again, sorry) - Fix multiline submission info outputs - Fix PVD retrieval for multi-session discs - Updated to DIC version 20200921 - Add and fix multiple Sega disc header pieces or submission info - Fixed issues in parsing the alternate mainInfo format - Fixed issue with logging clear not working properly - ~~Updated to BurnOutSharp 1.4.1~~ - Added split archives for AppVeyor builds - Remove subdump from both UI and run steps - Removed default config file - Fixed copy protect scan using wrong drive when using UI option - Changed default to skip fixed drives - Fixed default media type when skipping type detection - Attempt sector reading for Saturn system detection - Fixed default media type when detection fails - Add option to allow users to select dumping program - ~~Updated to DIC version 20201101~~ - Add support for `/ps` DIC flag - Updated to BurnOutSharp 1.5.0 - Added HD-DVD-Video detection ### 1.17.1 (2020-09-14) - Shuffled some shared, internal UI variables - Synced WPF and Avalonia UI internals - Made the disc information window less prone to bugs - Fixed DIC flags based on code (not documentation) - Added support for old(?) DIC flags: `/fix` and `/re` ### 1.17 (2020-09-12) - Updated to Aaru version 5.1 - Updated to BurnOutSharp version 1.4.0 - Updated to DIC version 20200716 - Added experimental Avalonia UI - Created wiki - Removed .NET 4.6.2 and .NET Core 3.0 builds - Added .NET 4.8 and .NET Core 3.1 builds - Fix numerous things related to PS1/PS2 - Make subdump running optional - Overhaul DICUI.Check with more options - Numerous small bug- and regression-fixes ### 1.16.1 (2020-05-07) - Add preliminary support for DD for Windows (end to end still NW) - Add CNF parsing for Konami Python 2 discs (PS2-based) - Updated included Aaru version - Massive cleanup effort to detangle large chunks of code - Miscellaneous bugfixes that came from the above ### 1.16 (2020-04-13) - Updated to DIC version 20200403 - UI updates based on user feedback - Added support for Aaru (formerly DiscImageChef) - Added more support for different output file formats (such as CleanRip) - Add PS1/PS2 serial extraction and matching - Fix PS1 date support when both PSX.EXE and normal executable are both present - Update BurnOutSharp - Many MANY bits of internal cleanup ### 1.15 (2019-11-16) - Updated to DIC version 20191116 - Support non-optical, non-floppy stuff better - Update protection scanning and fix some things ### 1.14 (2019-10-01) - Updated to DIC version 20191001 - Added builds for .NET 4.6.2, .NET 4.7.2, and .NET Core 3.0 - Updated and fixed a bunch of things related to Redump - Fixed path persistence when changing system and media type - Added more system autodetects - Added new, optional, disc information filling window (WIP) ### 1.13 (2019-07-02) - Added new DIC commands and flags - Made DICUI Check more robust - Added and updated systems along with format cleanup - Created a new SubmissionInfo template (and internals) - Added automatic grabbing of Redump information, if possible - Better media format support (BD, UMD) - Initial disc type detection ### 1.12.2 (2019-04-19) - Added DICUI Check, a new standalone tool for parsing DIC output from platforms unsupported by DICUI - Added a few machines/formats - Updated to DIC version 20190326 - Added DMI data extraction for Xbox and X360 ### 1.12.1 (2019-01-28) - Fixed !submissionInfo.txt output for CD-ROM and GD-ROM ### 1.12 (2019-01-27) - Added a few new systems and formats - Added new DIC commands and flags - Updated the `!submissionInfo.txt` file order - Fixed Audio CD handling - Added Sega CD / Mega CD header extraction - Readded Floppy Disk as a supported format - And more! See the full Git commit list for more details ### 1.11 (2018-09-20) - Fix formatting of XBOX and XBOX 360 security sector output - Add new XBOX swap commands and outputs - Fixes for some PlayStation 2 and 4 outputs - Added external programs to AppVeyor builds - Fixed `.` in path issues with DIC; attempted to fix issues with `&` - Combined XBOX 360 XGD 2/3 due to new DIC support with Kreon drives - Fixed (semi-)longstanding bug with XBOX disc layer detection - Added DVD-Video protection output - Made custom parameters work a little more intuitively - Added *EXPERIMENTAL* Winforms-based UI - And more! See the full Git commit list for more details ### 1.10 (2018-07-29) - Added many new options for user customization - Added unit testing and an AppVeyor build - Many code refactorings - **LOG WINDOW** - Separated out protection scan and Unshield ports to new projects - Added "empty drive" support; should help with 3DO and HFS dumping - And much more! See the full Git commit list for more details ### 1.07 (2018-06-27) - Separated system and media type for easier navigation - Combined instances of single- and dual-layer discs - Removed reliance on **sg-raw** and **psxt001z** - Added system and disc type to the submission info - First attempt at getting current disc type - Made the three PSX-specific fields (**EDC**, **Anti-modchip**, and **LibCrypt**) automatically filled in, when possible - Many, many, many behind the scenes updates for speed, future features, and stability ### 1.06 (2018-06-15) - Fixed not being able to use the `/c2` flag properly - Fixed times when the ability to start dumping was improperly allowed - Added full support for XBOX and XBOX360 (XDG1, XDG2) dumping through DIC (using a Kreon, or presumably a 0800) ### 1.05a (2018-06-14) - Fixed some ordering and nullability issues - Added automatic fields for PS1, PS2, Saturn ### 1.05 (2018-06-14) - Miscellaneous fixes around custom parameter validation, dump information accuracy, settings window, and TODO cleanup - Add many more supported platforms, mostly arcade (based on publicly available information) - Add floppy disk dumping support - Add optional disc eject on completion - Add subdump for Sega Saturn - Fully support newest version of DIC including all new flags and commands - PlayStation and Saturn discs still don't have all internal information automatically generated ### 1.04b (2018-06-13) - Added subIntention reading - Fixed extra extensions being appended - Fixed internationalization error (number formatting) - Fixed "Custom Input" not working ### 1.04a (2018-06-13) - Fixed issue with empty trays - Added settings dialog ### 1.04 (2018-06-13) - Behind-the-scenes fixes and formatting - Better checks for external programs - Automatically changing disc information - Custom parameters (and parameter validation) - Automatic drive speed selection - Automatic submission information creation - Add ability to stop a dump from the UI ### 1.03 (2018-06-08) - edccchk now run on all CD-Roms - Discs unsupported by Windows are now regonized - Extra \ when accepting default save has been removed. ### 1.02b (2018-05-18) - Added missing DLL ### 1.02 (2018-05-18) - Fixed XBOX One and PS4 Drive Speed issue. - Started implementing DiscImageCreator Path selection. - Conforming my naming for objects and variable ### 1.01d (2018-05-18) -Combine IBM PC-CD options, misc fixes.