====== What's New - ROMVault Changelog ======
\\
===== ROMVault 3.7.3 =====
''**Release Date:** 2024-12-23''
**Feature Updates:**
* Added the ability scan archives as files with a new "mixed" archive type setting
* Added a new "Files Only" ToSort type
* Added the ability to reorder ToSort directories
* Improved the 7z cache logic to ignore zero byte files and prevent the cache directory from growing too large
* Improved fixing performance over Samba shares by optimzing empty directory detection
**Bug Fixes:**
* Fixed a display issue to disable the "Make New Folder" button in DatVault when Master Directories was selected
* Fixed irrelevant UI related error messages in RV CMD
* Fixed a hard crash that could occur when choosing to Fix ROMs before Find Fixes
* Fixed a case sensitivity issue with umlaut characters
* Fixed a bug where files could be leftover in the 7z cache directory after a fix completes
* Fixed a bug where some files were not deleted after a ZipMove operation
\\
===== ROMVault 3.7.2 =====
''**Release Date:** 2024-06-25''
**Feature Updates:**
* Added a new Game List filter to show/hide partially complete sets
* Enabled the Help menu while scanning and fixing (E.g. to view the color key)
**Bug Fixes:**
* Fixed a bug that where the first dat in a directory could conflict with another dat in the directory
* Fixed a bug that prevented cancelling the Find Fixes action
* Fixed a few case sensitive rename issues
* Fixed an issue where RV would crash if clicking a link when no web browser installed (E.g. docker setup)
* Fixed an issue where the "Keep Only Complete" DAT setting could leave empty directories
* Fixed a bug with the fixdat format so that dir elements are not nested under game elements
* Fixed an issue where fixdats would not be created from the context menu if only MIA files would be included
* Fixed truncation issue with the description elements in fixdats which would occur due to a period character
* Fixed a display issue with the DatVault UI when Asian languages are used
* Fixed an issue with the single archive setting for subdirectories when multiple roms are present in the set
* Fixed an issue where S.A.M. parallelism settings could change RomVault's zstd worker count
* Fixed an issue where S.A.M. would not stop gracefully when the main RomVault window is closed
* Fixed an issue where S.A.M. would throw CorruptZip errors when directories are used as the source with zstd
\\
===== ROMVault 3.7.1 =====
''**Release Date:** 2024-05-04''
**Feature Updates:**
* Added support for using Category subdirectories in combination with Single Archive
* Added an option to opt out of crash reporting in global settings
* Enhanced the fixing logic for renames to avoid potential race conditions with case sensitive filesystems
**Bug Fixes:**
* Fixed a crash that occured when Single Archive option was used with DATs that contained CHDs
* Fixed a crash due to processing corrupt 7z archives in ToSort
* Fixed a startup crash when more than 32 CPU cores are detected
* Fixed a bug that caused the status log to close after a fix was complete when using the "scan, find, fix" shortcut
* Updated the default setting for Max ZSTD Workers to "Auto"
* Added a missing status when a file needs to be deleted but its flagged as MIA in the DAT
\\
===== ROMVault 3.7.0 =====
''**Release Date:** 2024-04-02''
**Feature Updates:**
* Added new structured archive formats for zstd Zip/7z and TDC (Total DOS Collection) Zip
* Added the ability to raw copy zstd compressed files between archives
* Added raw copy functionality to and from 7z archives
* Added decompression support for several 7z compression filters
* Added support for DATs with timestamps (E.g. TDC)
* Added modified Date/Time to the Game List grid
* Added new graphics for the Game List grid to show current and preferred storage type
* Added multithreaded zstd compression options to Global Settings
* Added default 7z storage options to Global Settings
* Added a Dark Mode toggle to Global Settings
* Added an option to convert complete archives to your preferred format during a fix
* Enhanced ZipMove to work with zstd zip and 7z archives
* Enhanced ZipMove to work with TDC zip archives
* Enhanced archive fixing logic to use a priority system to pick the most efficient source for a fix
* Enhanced archive fixing logic so that 0-byte files are not prematurely deleted which would prevent ZipMove
* Improved performance of handling 0-byte files
* Improved error reporting
* Rebranded trrntzipUI to SAM (Structured Archive Maker) and added new zstd archive options
* Rebranded RV7Z to 7Z-LZMA-Solid thoughout the UI
**Bug Fixes:**
* Fixed a crash that could occur if the DatRoot folder was missing and you attempted to add a directory from the DatVault UI
* Fixed a crash when ZipMove was wused on a set with NotCollected ROMs
* Fixed a crash related to the category reorder buttons
* Fixed a crash when loading old ROM Center DATs
* Fixed a crash that could occur during a fix due to Samba file locking
* Fixed an issue related codepage 437 to better support lower ASCII values (<32)
* Fixed an issue with reading some DATs generated by FB Alpha
* Fixed an issue that could result in duplicate directory rules in the cache file
* Fixed an issue where repacking zips in a ToSort would modify the timestamps of the contents
\\
===== ROMVault 3.6.4 =====
''**Release Date:** 2024-01-09''
**Bug Fixes:**
* Fixed an issue where RV7Z files would be needlessly recompressed
* Fixed a missing fix status icon for "MIA found, but won't be used because it results in an incomplete set"
* Fixed an issue with the description tag in Fix DATs
* Increased the maximum DAT size limit for DatVault to support very large DATs (E.g. TeknoParrot)
\\
===== ROMVault 3.6.3 =====
''**Release Date:** 2024-01-04''
**Feature Updates:**
* Enhanced the Directory Mapping window to highlight non-existent directories in red
**Bug Fixes:**
* Added checks to ensure directory exists while creating a directory mapping
* Fixed the DAT XML loader to load non-standard characters in XML
* Fixed a DatVault crash that could occur on startup
* Fixed a crash that could occur when adding directory mappings
\\
===== ROMVault 3.6.2 =====
''**Release Date:** 2023-12-25''
**Feature Updates:**
* Split Directory Settings into Directory Mappings and DAT Rules for greater flexibility
* Added a new Single Archive directory setting to use subdirectories only if a set contains multiple roms or a rom/set name mismatch (Great for archiving TOSEC with shorter paths)
* Added a new DAT Rule to use category tag values as subdirectories (Most useful for Redump DATs)
* Added the ability to prioritize categories for subdirectories in case the DAT contains multiple for a partiular set (Common with No-Intro)
* Added a global setting to delete previous cue packs downloaded by DatVault
* Added a Modified Date column to the Game List and ROM Details grids
* Added a context menu to the Game List grid (Shift + Right-click) which includes re-scanning options and opening a directory, archive, or No-Intro game details webpage
* Added support for new CHD compression codecs, ZSTD and CDZS
* Updated the Game List grid to hide the Description column if there is nothing to display
* Updated the "old DAT cleanup" function to also remove empty directories in the DATRoot
* Updated the layout of the global settings section
* Improved performance of deleting cue files downloaded from DatVault
**Bug Fixes:**
* Fixed an issue related to path and filename lengths
* Fixed an issue with scanning archives with the Shrink compression method
* Fixed an issue where corrupt CHDs would freeze the scanning process
* Fixed an issue where corrupt CHDs could be marked as good after a Level 1 then Level 2 scan
* Fixed a scanning performance issue with v1 CHDs
* Fixed an issue where MIA status was not reflected when using the "Merged" merge type
* Fixed an issue where Tree Presets could cause a crash
* Fixed an issue where directories created by RomVault during a fix did not have modified time stored in the cache
\\
===== ROMVault 3.6.1 =====
''**Release Date:** 2023-06-23''
**Bug Fixes:**
* Fixed a memory leak issue that could occur when scanning CHDs with a large cache
* Fixed a CHD scanning performance issue which increased CHD verification speed by 3-4x compared to chdman.exe
* Fixed an error due to a missing status combination involving the "keep only complete sets" feature
\\
===== ROMVault 3.6.0 =====
''**Release Date:** 2023-06-16''
**Feature Updates:**
* Added a new directory setting for "Only keep complete sets" which will prevent incomplete sets from being stored in your RomRoot (No more cue-only sets!)
* Added a new directory setting for "Use ID for numbered DAT names" which will prefix the set name with the release ID (Primarily used for No-Intro DATs)
* Added a new default fix status icon for "Rename"
* Enhanced CHD verification by removing the chdman.exe dependency
* Enhanced ZipMove functionality so that the best partially complete archive is used if there is no complete archive
* Enhanced the scanning logic so some errors are logged without halting the scanning process (E.g. locked files)
**Bug Fixes:**
* Fixed a threading issue where loading the DATVault UI could crash RomVault on Linux
* Fixed the display of DATVault checkboxes on Linux
* Fixed several missing text issues on Linux
* Fixed an issue where header skipper definitions for lynx.xml and a7800.xml were not recognized
* Fixed an issue where duplicate directories could be stored in the cache due to case sensitivity mismatches
* Fixed an issue where MIA flags were missing from fixDATs
* Fixed an issue that prevented the user from being able to re-add the default relative ToSort directory if deleted
* Fixed a "HDERR_READ_ERROR" crash that could occur when a corrupt CHD is scanned
* Fixed a "Missing files cannot have alt values" crash that could occur if a CHD has incompatible permissions
* Fixed a "String was not recognized as a valid DateTime" error that could occur with DATVault if the user had an unusual combination of the system date format and region
* Fixed a "Unknown Tree settings in DisplayTree" error which would prevent the user from being able to update DATs without a full refresh
\\
===== ROMVault 3.5.2 =====
''**Release Date:** 2022-12-24''
**Feature Updates:**
* Added a way to purge old DATs from the DatVault UI
* Added a filter for MIA ROMs in the game list grid
* Added auto-creation of default directories for new setups (DatRoot, RomRoot, ToSort)
* Enhanced the ZipMove logic so that archives can be ZipMoved to the primary ToSort
* Enhanced the fix status log by adding the filesize of the Compress action
* Enhanced the handling of locked files during scanning so the scan does not halt
**Bug Fixes:**
* Fixed an issue where empty directories and 0 byte files were deleted from locked branches and ToSort directories
* Fixed a DatVault "invalid JSON" error
* Fixed a missing "In DAT merged, delete" status icon in the ROM details grid
* Fixed an issue with Fix DAT creation so that MIA flags are retained
* Fixed CMP DAT processing to interpret values with UTF-8 character encoding
* Fixed a crash that could occur if a RV temp archive cannot be deleted
* Fixed a crash that could occur when generating Fix DATs for directories using the Single Archive setting
* Fixed an issue where the cache can become unstable and trigger errors on every change
* Fixed an issue where corrupt CHDs could lose their corrupt status
* Fixed several missing images for edge case statuses in the ROM details grid
* Fixed DAT processing so that DATs that use the Single Archive setting are not reprocessed with every DAT update
* Fixed the task bar icon used by registration window
* Fixed an issue that could lead to elevated RAM usage after refreshing all DATs
* Fixed an issue where files can be stuck in a "cyan" state until rescan
* Fixed a crash that could occurs when moving a file open by another process
* Fixed an issue where readable corrupt zips that require fixes cause repeated errors
* Fixed an issue where DatVault can load with no Groups displayed and refreshing causes a crash
* Fixed an issue with Fix DAT creation where missing ROMs from "Single Archives" are included as orphaned ROMs in the wrong Fix DAT
* Fixed a missing image for "In DAT merged, move to ToSort" in ROM details grid
* Fixed a crash that could occurs if a RV temp archive is open by another process during a rename
* Fixed a crash that could occurs during Full DAT creation if the DAT has missing rom names
* Fixed a crash that could during a cache backup if not enough space
* Fixed an issue where ZipMove is sometimes not used if the archive to be moved contains a 0 byte file
* Fixed an issue where fixed from 7z archives to uncompressed sets do not use the 7z cache
* Fixed an issue where the “_0” is inserted into the incorrect place to avoid naming conflicts if the set name contains periods
* Fixed an issue where ampersand characters in the directory settings Dir Location are not displayed
* Fixed an issue where recompressing to RV7Z shows a status of "TrrntZipping" in the status log
* Fixed an issue where an unaccounted for combination of ROM statuses can occur during a fix and throw an error
* Fixed an issue where a filesystem error could occur if RomVault tries to ZipMove an archive while it is open in another application
\\
===== ROMVault 3.5.1 =====
''**Release Date:** 2022-10-24''
**Feature Updates:**
* Added experimental support for Dark Mode, enabled with a RomVault3cfg.xml flag (true)
* Added TorrentZipUI into the RomVault interface, accessible via the Help menu
* Added the ability for anyone (not just DatVault users) to submit "MIA Found" info to DatVault
* Added a new setting to send "MIA Found" information anonymously
* Added artwork support in the for the C64 DAT
* Enhanced the scanning progress window to show the file currently being processed
* Enhanced the MIA submission functionality to support CHDs
* Enhanced the Game Info panel by adding the Category value
* Enhanced the Game List grid filter to clarify merged and deduped
**Bug Fixes:**
* Fix for a bug where CHDs were incorrectly merged if the DAT contains CHDs with a .chd extension
* Fix for a bug that could cause CHD files to be incorrectly named with an extra .chd extension
* Fix for a crash if RomVault is launched without a DatRoot directory
* Fix for a crash that could occur when an MIA file is found but DatVault is unreachable or times out
* Fix for a crash due to "Incorrect Extraction size found 0 expected X" while scanning a corrupt archive with Shrink compression
* Fix for incorrectly reporting ZIP files as corrupt that used Deflate64
* Removed unnecessary Console.Write lines that could slow down scanning / fixing using Linux
\\
===== ROMVault 3.5.0 =====
''**Release Date:** 2022-07-04''
**Feature Updates:**
* Added a new ROM status for [[mia_rom_tracking|MIA (Missing in Action)]]
* Added the ability for select DatVault users to submit MIA information directly from RomVault
* Added automated MIA flagging into DatVault DATs based on user submissions
* Added the ability to opt-in/out of sending found MIA notifications back to DatVault
* Added a way to prevent the scanning engine from scanning specific files by prefixing "ignore:" to any ignore rule in [[global_settings#filenames_not_to_remove_from_dirs|global settings]]
* Added the ability to override any of RomVault's default images with [[graphics_packs|graphics packs]]
* Added the ability to provide unique images for each of the four tree presets
* Added a new "[[scanning_fixing_levels#fixing_archives_with_zipmove|ZipMove]]" fix action which greatly speeds up certain types of fixes (E.g. Rearranging your DatRoot)
* Enhanced the DAT Info and tree panels to display MIA information where applicable
* Enhanced the tree icons to better visualize completion less MIA
* Enhanced the DAT creation feature from the tree context menu
* Upgraded the cache version from 3_1 to 3_2 due to structural changes to support the new MIA feature
**Bug Fixes:**
* Fix for an issue where the rootdir tag of a SuperDAT could take precedence over the directory name containing the SuperDAT
* Fix for a cached notification message after deleting discontinued DatVault DATs
* Fix to prevent a crash when trying to use a ToSort directory that is no longer accessible
* Fix for a logic error related to dedupe DATs and the Unneeded ROM status
* Fix for a display issue with the DatVault DAT location column which could occur if you add new JSONs without automatically downloading the associated DATs
* Fix for an issue where a directory rule for a specific DAT did not work unless the DAT was in its own directory
* Fix for 7z files being flagged with a header type of "Nothing" if the 7z was packed in a ZIP archive
* Fix for a crash that could occur if you clicked slightly outside the DatVault "select all" checkbox
* Fix for a an issue related to zero byte files stored uncompressed without size or hash data in the DAT (E.g. HTGDB)
\\
===== ROMVault 3.4.5 =====
''**Release Date:** 2022-03-08''
**Feature Updates:**
* Added a new feature to DATVault where cue packs are automatically scanned when downloaded
* Added support for a new dedupe status flag. This flag is used in the "DeDupe" DATVault DATs which allow users to save disk space on large sets with common files across TOSEC-ISO and Redump.
* Added a link to the RomVault wiki from the Help menu
* Added a link to check for updates from the Help menu
* Added a check for available updates during application launch which allows the user to upgrade with one click
* Added experimental support for ZSTD compression using libzstd.dll when present in an "x64" subfolder in the RomVault executable directory
* Enhanced the right click copy to clipboard functionality in the game list and rom details grids so that individual field values are copied
* Enhanced the DatVault progress bar to indicate the current operation
* Enhanced the DatVault add new DATs UI checkboxes so your previous selections are remembered
**Bug Fixes:**
* Fix for a scenario where name conflicts can occur when using the single archive setting
* Fix to prevent invalid directories and filenames on Windows (E.g. directory cannot end in a period)
* Fix for a crash that could occur when attempting to launch a game from a ToSort directory
* Fix to prevent a scan and fix operation from running simultaneously if keyboard shortcuts are used
* Fix for a logic error that was erasing CHD version tags during a scan
\\
===== ROMVault 3.4.4 =====
''**Release Date:** 2022-01-31''
**Feature Updates:**
* Added a new directory setting for "Header Type" which can be used to enforce headered or headerless ROMs
* Added a new DATVault option to immediately download DATs after selecting a directory
* Enhanced native CHD verification by adding support for deflate V4 CHD without chdman.exe
* Enhanced the Quick Scan (Level 1) to also calculate MD5 or SHA1 for uncompressed files
**Bug Fixes:**
* Fix for a crash when initially updating DATs with DATVault if the DATRoot is not in the default location of the RomVault exe
* Fix for incorrect Linux path separators when saving DATs with DATVault
* Fix for a Linux display issue where the side buttons could appear missing
* Fix to calculate and store the AltCRC32 of headered ROMs
* Fixes related to the D,F,V flags not being properly assigned
\\
===== ROMVault 3.4.3 =====
''**Release Date:** 2022-01-06''
**Feature Updates:**
* Added a progress bar for DATVault initial data load
* Added a new sortable DATVault column for uncompressed size of DAT contents
* Added a new default DAT directory feature to DATVault to help people quickly add new DATs using the most common organization approaches
* Added Windows long path support to DATVault operations (to coincide with supporting TOSEC DATs)
* Enhanced DATVault performance by compressing server to client payloads with ZSTD
* Changed the Update DATs shortcuts for consistency
**Bug Fixes:**
* Fix for a crash that could occur when double clicking an archive in a ToSort directory from the game grid
* Fix for a crash that could occur when both discontinued and new DATs in DatVault are selected then clicking the Add button
* Fix to disable saving/applying tree presets during scanning/fixing
* Fix to better handle case sensitive renames by waiting before attempting to reference files from a newly renamed archive
\\
===== ROMVault 3.4.2 =====
''**Release Date:** 2021-12-25''
**Feature Updates:**
* Added a new tree pre-set feature to allow the user to save different tree selection/expansion favorites
* Added a progress bar for DATVault updates
* Added an instance count column to the ROM details grid
* Added a popup to show a dupe list on click of a instance count value
* Added the ability to read -listroms output from the RAINE executable
* Added an ESC keyboard shortcut to close dialog windows
* Added the ability to sort any of the columns in the ROM details grid
* Enhanced DAT reader performance by parrellizing code
* Enhanced the DATVault groups filter to a redesigned and categorized tree
* Enhanced the Directory Rules window to be more intuitive with reorganized settings and additional tooltip content
* Enhanced the directory rule application so only relevant DATs are reprocessed upon update
* Enhanced the display of ROM sizes by using separator characters and right justified values in the fixing log and ROM details grid
* Changed the default directory rule to use "Nothing" as the merge type instead of "Split"
* Changed the filename cleansing to be less aggressive and only trim whitespace (requires a full DAT refresh)
* Changed the tree behavior so that updated DATs are no longer auto-selected in the tree
* Changed the menu bar order and keyboard shortcuts for consistency with the left buttons
* Removed the ability to cancel a DAT update/refresh
**Bug Fixes:**
* Fix for a crash that could occur when selecting the “Show Merged ROMs” filter
* Fix to make the gray merged ROM status show properly for split sets
* Fix for a display issue where corrupt archive icons are only displayed at levels above the directory where the corrupt archive resides
* Fix to prevent DATs with no ROMs from being auto-expanded and auto-selected in the tree
* Fix to the missing counts in the tree and summary panes to exclude ROMs with a blue status
* Fix for launching ROMs directly from the game list grid
* Fix to prevent the ROM details grid from auto-scrolling back to the top of the list every few seconds during a fix
* Fix to properly handle case sensitive directory renames during a fix
* Fix to prevent a “Rescan needed” error if the only fix is to correct the character case of the ROM and source of the fix was in the same archive
* Fix for a scenario that could cause a scan to silently end early and erase subsequent items in that directory from the cache
* Fix to properly scan files with invalid timestamps
* Fix to properly handle scanning files with incompatible permissions, which were previously skipped with no indication
* Fix to prevent a crash and cache out-of-sync scenario if a file is in use by another process during a fix
* Fix to prevent a “Zip64EndOfCentralDirError” if the total number of disks is equal to zero in the central directory of the ZIP archive (Invalid... but extractable)
* Fix to prevent a “Specified argument was out of the range of valid values” error which could sometimes occur during a fix
* Fix so that Single Archive settings work properly if the DAT is not in its own folder
* Fix to make Single Archive settings work properly with ROMs that have a double extension (E.g *.iso.dec)
* Fix to use a move operation instead of copy/delete when uncompressed sets are renamed using the Single Archive option
* Fix to properly save and read DatVault login information on Linux
* Fix to make the side icons visible on Linux
\\
===== ROMVault 3.4.1 =====
''**Release Date:** 2021-11-15''
**Feature Updates:**
* Added DATVault, an automatic DAT downloader and updater
* Changed ToSort file ignore rules back to global
**Bug Fixes:**
* Fix to prevent files left in 7z cache folders
* Fixes for various UI crashes
\\
===== ROMVault 3.4.0 =====
''**Release Date:** 2021-10-25''
**Feature Updates:**
* Added ZSTD read support for ZIP and 7z archives without requiring an external .dll
* Added the ability to define file ignore rules as part of directory settings
* Added the ability to use wild cards and regex with file ignore rules
* Added a "Shift + Click" shortcut for the check boxes in the tree which suppresses descendant selections
* Enhanced the Fix cancelling so that it stops immediately instead of waiting until the end of the current fix
* Enhanced double check delete logic to mitigate the case where the same directory is mapped to more than one part of the tree
* Changed global file ignore rules to ToSort file ignore
* Cleaned up the 7z writing code
**Bug Fixes:**
* Fix to keep the DAT info in sync when clicking around the tree and game grid
* Fix to prevent a full disk error from corrupting the cache
* Fix to report the correct rule if you reset all directory rules
\\
===== ROMVault 3.3.0 =====
''**Release Date:** 2021-07-04''
**Feature Updates:**
* Added the ability to navigate around the UI during a scan or fix
* Added support for nearly all ZIP decompression methods (including ZSTD with external .dll)
* Added support for scanning v1-4 CHDs without requiring chdman.exe
* Added the ability to sort by most columns in the game grid
* Added context menu items in the tree to do a level 1 or 3 scan
* Enhanced the logic for checking for fixes with zero length files to improve performance
* Enhanced and reorganized the Color Key help form
* Changed the default scanning level to Level 2
* Changed the ROMVault logo so it looks nicer
* Updated RVCmd to use .NET Core 3.1 so there are now Windows-x64 and Linux-x64 builds
**Bug Fixes:**
* Fix for various case sensitivity issues while fixing files
* Fix for a t7zip checking bug for bigger than 32-bit t7zip files
* Fix to report the correct rule if you reset all directory rules
* Fix for an issue where archives were incorrectly marked as good if the only fix required was due to case sensitivity
* Fix to ensure DATs that have CHDs named with the .chd extension are no longer renamed to *.chd.chd
\\
===== ROMVault 3.2.5 =====
''**Release Date:** 2021-04-26''
**Bug Fixes:**
* Fix for an issue with fixing files when using a case sensitive filesystem
* Cleaned up logic related to fixing
\\
===== ROMVault 3.2.4 =====
''**Release Date:** 2021-04-23''
**Feature Updates:**
* Enhanced fixing performance with more parallel operations
**Bug Fixes:**
* Fix for a "double check delete" logic error
\\
===== ROMVault 3.2.3 =====
''**Release Date:** 2021-04-08''
**Bug Fixes:**
* Fix for a crash that could occur when fixing 7z archives
\\
===== ROMVault 3.2.2 =====
''**Release Date:** 2021-01-26''
**Bug Fixes:**
* Fix to enable archive fixes if the only change is due to ROM character case (requires a full DAT refresh)
\\
===== ROMVault 3.2.1 =====
''**Release Date:** 2020-12-24''
**Bug Fixes:**
* Fix to prevent overwriting unknown (unscanned) files while fixing
* Fix for multiple 7z cache directories being created
* Fix to enable the 7z cache for 7z archives in ToSort directories
* Fix for a crash when a Full Report is generated
* Fix for the tree display so DATs containing zero files show as green instead of red
\\
===== ROMVault 3.2.0 =====
''**Release Date:** 2020-11-26''
**Feature Updates:**
* Added a Single Archive directory setting that allows aggregating sets into a single folder or archive as well as controlling when subdirectories are used
* Enhanced the archive decompression performance by using a new un-Deflate stream
* Enhanced the refresh performance of the fixing report window
**Bug Fixes:**
* Fix to prevent using chdman.exe to validate v1 CHD files (chdman.exe does not support them)
* Fix for a bug where a locked (read-only) directory did not set uncompressed files to read only
* Fix for a bug where not all zipped files where being deleted in a fix, and a second fix was needed to delete them
* Fix for a bug reading Unicode names from an archive
* Fix for a bug with the DOSCenter DAT File Reader where the filename contained the word "size"
* Fix for a crash that could occur if a directory could not be accessed
* Fix for a DAT reader bug where un-needed directory entries where not correctly removed from the DATs while loading
* Fix for a ROM details grid display bug where files in a root ToSort directory were not displayed
* Fix for an incorrect directory separator used when evaluating DAT rules on Linux
\\
===== ROMVault 3.1.4 =====
''**Release Date:** 2020-08-04''
**Bug Fixes:**
* Fix to correctly read ZIP files with Unicode file names instead of reporting them as bad archives
\\
===== ROMVault 3.1.3 =====
''**Release Date:** 2020-07-20''
**Feature Updates:**
* Upgraded to a newer .NET version that permits using UNC paths instead of having to call the file kernel dll's
* Switched from ILMerge to ILRepack to make the single .exe files for the releases
**Bug Fixes:**
* Fix for a crash if no ToSort directory exists, or if there is already a file with the same name in ToSort
* Fix for a crash when 7z archives have a zero byte file by itself in the archive
* Fix to prevent loading a DAT if the DAT contains no files
* Fix for ZIP filename character encoding to use Unicode if the filename does not fit the 437 encoding (Original IBM PC encoding)
\\
===== ROMVault 3.1.2 =====
''**Release Date:** 2020-03-13''
**Bug Fixes:**
* Fix for a bug in the ZIP64 writing code where if a ZIP archive was created smaller than 4GB, but contained more the 65536 files, then the ZIP64 headers were written incorrectly
\\
===== ROMVault 3.1.1 =====
''**Release Date:** 2020-03-11''
**Feature Updates:**
* Re-added the ability to set directory settings on DATs
* Added logic to clean auto-created directory names so they don't contain illegal characters
\\
===== ROMVault 3.1.0 =====
''**Release Date:** 2020-02-25''
**Feature Updates:**
* Added an option to use the DAT description tag for auto-created directory names
* Added the "Recompress" status to the fixing log
* Added better error reporting on failed file delete
* Enhanced UI performance, including faster tree selections and a "virtual" game and ROM details grid
* Enhanced the UI with various minor display changes
* Enhanced the auto-create directory logic so that it does not re-read the DAT unnecessarily
* Removed Alt columns from the ROM details grid when they are not relevant
**Bug Fixes:**
* Fix for a UI bug in the game grid
* Fix to make DATs without a description tag display properly in the tree
* Fix for extended logging
* Fix to make Alt ROM info display correctly in the ROM details grid
* Fix for sorting null game descriptions
* Fix to add a missing RootDir value from XML headers in the external DAT converter
\\
===== ROMVault 3.0.49 =====
''**Release Date:** 2020-01-24''
**Feature Updates:**
* Added the ability to generate a fixDAT from any level in the tree via context menu
* Changed 7z caching so it is now always enabled
* Changed the fixDAT creation so that a description is not added if there was no description in the original DAT
**Bug Fixes:**
* Fix for a 7z cache bug
* Fix for a UI bug with the directory name when there were unzipped files with directories in the ROM name
\\
===== ROMVault 3.0.48 =====
''**Release Date:** 2020-01-05''
**Feature Updates:**
* Added a right click shortcut on the Fix ROMs button to scan/find/fix in succession
* Added an experimental feature to display MAME Extras artwork in the game grid
* Enhanced the DAT reader logic so that -listxml output from the MAME executable will match ROM source collections
**Bug Fixes:**
* Fix for some minor UI issues related to unneeded stats in the ToSort directories
* Fix for an experimental feature to launch MAME ROMs from the game grid
\\
===== ROMVault 3.0.47 =====
''**Release Date:** 2020-01-03''
**Bug Fixes:**
* Fix for some minor UI issues
\\
===== ROMVault 3.0.46 =====
''**Release Date:** 2020-01-02''
**Feature Updates:**
* Enhanced the tree to better display multiple dats that share a single directory
* Cleaned up 7z code to prepare for future enhancements
**Bug Fixes:**
* Fix to make "Don't Add Multi DAT DIRs" directory setting work properly
\\
===== ROMVault 3.0.45 =====
''**Release Date:** 2019-12-24''
**Feature Updates:**
* Added more verbose reporting for fixes
* Cleaned up 7z code to prepare for future enhancements
**Bug Fixes:**
* Fixed the scanning progress box when corrupt files are found
\\
===== ROMVault 3.0.44 =====
''**Release Date:** 2019-12-12''
**Feature Updates:**
* Added experimental read support for 7z archives compressed with ZSTD
**Bug Fixes:**
* Fix for bug related to directory mappings and incorrect DAT rule sort order
* Fix for adding directories to a 7z archive
* Fix for a crash that could occur when there are zero length files (directories) in an archive and size is not specified in the DAT
\\
===== ROMVault 3.0.43 =====
''**Release Date:** 2019-11-26''
**Bug Fixes:**
* Fix for a few bugs related to Level 1 scanning and fixing
* Fix for a few bugs with 7z archive scanning and fixing
* Fix to deal with corrupt 7z archives better
* Fix for a crash due to trying to delete a null filename during file copy
\\
===== ROMVault 3.0.42 =====
''**Release Date:** 2019-11-10''
**Feature Updates:**
* Added support to map directories using UNC paths
* Added the ability to select and copy text from the UI info boxes
**Bug Fixes:**
* Fix for a UI crash when scanning DATs
\\
===== ROMVault 3.0.41 =====
''**Official release of ROMVault 3.x**'' \\
''**Release Date:** 2019-11-09''
**Feature Updates:**
* Added support for saving UI filter selections
\\
===== ROMVault 3 RC10 =====
''**Release Date:** 2019-10-18''
**Bug Fixes:**
* Fix to handle corrupt 7z files better now
* Fix for a couple of data issues with headered DAT sets
\\
===== ROMVault 3 RC9 =====
''**Release Date:** 2019-09-30''
**Bug Fixes:**
* Fix for a directory separator issue to better support Linux with mono
\\
===== ROMVault 3 RC8 =====
''**Release Date:** 2019-09-24''
**Feature Updates:**
* Added support for DATs that have both ROM and CHD files
* Added support for MAME CHD software list DATs
* Added a new directory settings option to choose which types of files you want to keep: ROMs, CHDs, or both
\\
===== ROMVault 3 RC7 =====
''**Release Date:** 2019-09-19''
**Bug Fixes:**
* Fixes for several small bugs and overall code cleanup
\\
===== ROMVault 3 RC6 =====
''**Release Date:** 2019-09-17''
**Bug Fixes:**
* Fix for an issue with archive type directory setting
* Fixes for several other small bugs
\\
===== ROMVault 3 RC5 =====
''**Release Date:** 2019-09-12''
**Feature Updates:**
* Added support for DATs that have both ROM and CHD files
**Bug Fixes:**
* Fix for an issue that caused a "Source and destination size does not match" error
\\
===== ROMVault 3 RC4 =====
''**Release Date:** 2019-09-11''
**Bug Fixes:**
* Fix for a small bug regarding compression rules in DAT files
\\
===== ROMVault 3 RC3 =====
''**Release Date:** 2019-09-07''
**Bug Fixes:**
* Fix for an issue where directory mapping was not working properly
\\
===== ROMVault 3 RC2 =====
''**Release Date:** 2019-09-05''
**Feature Updates:**
* Various small UI updates
**Bug Fixes:**
* Fixes for various directory rule issues
\\
===== ROMVault 3 RC1 =====
''**Start of beta release series for ROMVault 3.x**'' \\
''**Release Date:** 2019-08-31''
**Feature Updates:**
* Major core code updates and rework into cleaner libraries
* New cache version to support new V3 features (Note: This requires a full rescan)
* Added a crash reporting feature
\\
===== ROMVault 2.6.3 =====
''**Release Date:** 2018-07-26''
**Bug Fixes:**
* Fix for ZIP archive corruption when files larger than 4GB are compressed smaller than 4GB
\\
===== ROMVault 2.6.2 =====
''**Release Date:** 2017-02-09''
**Bug Fixes:**
* Fix to re-enable support for Linux using Mono
* Fix for decompression of WAV files from 7z archives using delta filter
\\
===== ROMVault 2.6.1 =====
''**Release Date:** 2017-01-30''
**Bug Fixes:**
* Fix for working with non-compressed files in 7z archives
\\
===== ROMVault 2.6.0 =====
''**Release Date:** 2017-01-28''
**Feature Updates:**
* Added the ability to read 7z archives in the ToSort directories
* Upgraded the .NET version to 4.5.2
**Bug Fixes:**
* Fix for working with non-compressed files in 7z archives
\\
===== ROMVault 2.5.0 =====
''**Release Date:** 2016-11-25''
**Feature Updates:**
* Restructured some core code for better readability
* Added some beta test code for new upcoming features
\\
===== ROMVault 2.2.7 =====
''**Release Date:** 2016-06-27''
**Bug Fixes:**
* Fixes for report generation
* Fix for an issue with sorting by file size
* Fix for a small issue with multi-threaded file checking
\\
===== ROMVault 2.2.6 =====
''**Release Date:** 2016-05-19''
**Feature Updates:**
* Added multi-threaded file checking
\\
===== ROMVault 2.2.5 =====
''**Release Date:** 2016-02-12''
**Feature Updates:**
* Added multi-threaded file hashing
**Bug Fixes:**
* Fixes for a few small issues reported by users
\\
===== ROMVault 2.2.1 =====
''**Release Date:** 2015-01-27''
**Feature Updates:**
* Added support for Linux with Mono (Requires version 3.10 or above)
\\
===== ROMVault 2.1.24 =====
''**Release Date:** 2014-04-22''
**Feature Updates:**
* Added support for displaying extra metadata present from Trurip DATs
**Bug Fixes:**
* Fixes for a few DAT loading issues
\\
===== ROMVault 2.1.23 =====
''**Release Date:** 2014-03-04''
**Feature Updates:**
* Added support for displaying extra metadata present from Trurip DATs
**Bug Fixes:**
* Fixes for a few bugs that caused a crash when fixing files
* Fix for a case sensitive rename fix scenario
* Fix for moving files out to the ToSort directory
\\
===== ROMVault 2.1.22 =====
''**Release Date:** 2014-01-27''
**Feature Updates:**
* Enhanced the performance of rescanning directories with a lot of files
**Bug Fixes:**
* Fix so that corrupt CHDs are properly handled during a fix operation
* Fix for a few other CHD fixing issues
\\
===== ROMVault 2.1.20 =====
''**Release Date:** 2014-01-07''
**Bug Fixes:**
* Fix for a very stubborn "comparing null ulong" error related to CHD fixes and missing size/crc info
\\
===== ROMVault 2.1.19 =====
''**Release Date:** 2013-12-23''
**Bug Fixes:**
* Fix to cleanly handle a missing DATRoot directory
* Fix to add better error handling to hunt down the "ulong null" problem
* Fix to ensure that status of ignored files is set properly when loading the cache
* Fix for an error with decompressing some CHD files
\\
===== ROMVault 2.1.18 =====
''**Release Date:** 2013-12-20''
**Bug Fixes:**
* Fix to cleanly handle a missing ROMRoot directory
* Fixes to try to hunt down the "ulong null" problem
\\
===== ROMVault 2.1.0 =====
''**Release Date:** 2013-12-19''
**Feature Updates:**
* Added support for CHD files using chdman.exe
* Added support for reading ZIP archives with more obscure compression methods
* Enhanced the scanning process so locked files are skipped
* Upgraded the cache file structure to support new features (Requires a full rescan)
**Bug Fixes:**
* Fixes to improve stability
* Fixes to improve error logging
\\
===== ROMVault 2.0.10 =====
''**Release Date:** 2013-02-23''
**Bug Fixes:**
* Fix for an error that occurred when trying to fix a 0-byte file
\\
===== ROMVault 2.0.9 =====
''**Release Date:** 2013-02-07''
**Feature Updates:**
* Added support for the DAT header tag
**Bug Fixes:**
* Fix for the 'Unknown double check delete status MoveToSort' bug
* Fix for the negative totals being reported in the ToSort directory
\\
===== ROMVault 2.0.8 =====
''**Release Date:** 2013-01-26''
**Bug Fixes:**
* Fix for an issue in the DAT update code where if the file has a case sensitive rename, a zip file would be left in an inconsistent state
* Fix for an "Index was out of range. Must be non-negative and less than the size of the collection." error while fixing caused by not having a ToSort directory created
* Fixes for clearer error messages, in an attempt to track down a couple of other crashes
\\
===== ROMVault 2.0.7 =====
''**Release Date:** 2013-01-19''
**Feature Updates:**
* Public release of features added in version 2.0.6
* Enhanced the loading speed of the splash screen
**Bug Fixes:**
* Fixes for a few DAT loading issues
\\
===== ROMVault 2.0.6 =====
''**Release Date:** Private Test Release''
**Feature Updates:**
* Added support for custom graphics using a supplemental images.zip file placed in the same directory as the ROMVault executable
* Added a check for locked files while fixing
* Enhanced error trapping and reporting around every file open, read, and write
* Enhanced the processing of DAT files and report errors in the progress window
* Enhanced the DAT loader to ignore hidden files in DATRoot directories while DAT scanning
**Bug Fixes:**
* Fix for Double Check Delete status "Ignore"
* Fix reporting problem with DATs in the root of the DATRoot
\\
===== ROMVault 2.0.5 =====
''**Release Date:** 2013-01-14''
**Bug Fixes:**
* Fix to enable ROMVault to load properly if the update server is unreachable
* Fix to prevent a crash when generating a miss list report
\\
===== ROMVault 2.0.4 =====
''**Release Date:** 2013-01-11''
**Bug Fixes:**
* Fix for a "Could not find self" error when deleting empty directories
* Fix for path greater than 260 characters while Level 2 scanning
\\
===== ROMVault 2.0.3 =====
''**Release Date:** 2013-01-10''
**Feature Updates:**
* Added Offline mode so that ROMVault does not check home if you are offline
* Added CloneOf / RomOf information for MESS XML DATs
**Bug Fixes:**
* Fix for a problem with relative paths, if you change the default location of any of the directories
* Fix for empty directories being left behind while fixing
\\
===== ROMVault 2.0.2 =====
''**Release Date:** 2013-01-10''
**Feature Updates:**
* Enhanced the DAT loader to always use information if supplied in a DAT
**Bug Fixes:**
* Fix for a 0-byte file matching a no-dump rom which caused error messages
\\
===== ROMVault 2.0.1 =====
''**Release Date:** 2013-01-09''
**Feature Updates:**
* Added Support for 'rebuildto' in DATs to enable subdirectories to be specified in DATs
* Added 'nodump' instead of 'flags nodump' as some DATs are missing the key word flags
**Bug Fixes:**
* Fix for cancelling a scan leaving ZIP file status in an inconsistent state
* Fix so that a fix operation now removes unknown empty directories
\\
===== ROMVault 2.0.0 =====
''**Official release of ROMVault 2.x**'' \\
''**Release Date:** 2013-01-08''
**Feature Updates:**
* Added scanning levels: 1) Headers only, 2) Decompress and hash if changes detected, and 3) Force decompress and hash
* Added fixing levels 1, 2, and 3 to correspond to the new scanning options
* Added support for filenames greater than 260 characters
* Added support for fast ZIP processing
* Added Unicode filename support
* Enhanced the core data structure to be based on files and directories instead of just DATs
* Enhanced the DAT loader
\\
===== ROMVault 1.7.1 =====
''**Release Date:** 2012-06-08''
**Bug Fixes:**
* Fix for the first character of the directory and filenames being lost in the ToSort directory if you have set your ToSort mapped as a root directory (E.g. D:\)
\\
===== ROMVault 1.7.0 =====
''**Release Date:** 2012-02-07''
**Feature Updates:**
* Added ZIP64 support so you can now store zip files larger than 4GB
**Bug Fixes:**
* Fix for a DAT scanning issue with DAT files with .xml file extensions
\\
===== ROMVault 1.6.6 =====
''**Release Date:** 2011-12-03''
**Bug Fixes:**
* Fix for a problem scanning MESS XML DATs
* Fix for a problem fixing files if the zip was in a subdirectory in ToSort
\\
===== ROMVault 1.6.5 =====
''**Release Date:** 2011-05-10''
**Bug Fixes:**
* Fix for a "Can not create a file when that file already exist" error when moving files out to the ToSort directory
\\
===== ROMVault 1.6.4 =====
''**Release Date:** 2011-04-27''
**Bug Fixes:**
* Fix for a few issues with file copy/move across different drives
\\
===== ROMVault 1.6.3 =====
''**Release Date:** 2011-04-25''
**Feature Updates:**
* Added more thorough file checking to handle unexpected results much better
**Bug Fixes:**
* Fix for a problem moving unknown directories if the Tosort directory is on a different volume from the RomRoot directory
\\
===== ROMVault 1.6.1 =====
''**Release Date:** 2011-04-23''
**Bug Fixes:**
* Fix so that ROMs must match the proper character case to be counted as correct
* Fix to remove extra spaces and the period character at the end of filenames
\\
===== ROMVault 1.6.0 =====
''**Release Date:** 2011-02-25''
**Feature Updates:**
* Added support for TorrentZip so now all new ZIPs created by RomVault will be TorrentZipped
* Added an option to convert all ZIP archives to TorrentZip format
* Added an option to compress using a slightly different compression method that is a bit smaller than TorrentZip
* Added an option to copy raw compressed data without the need to recompress
* Added a TorrentZip icon to the Game List Grid to differentiate the archive type
\\
===== ROMVault 1.5.5 =====
''**Release Date:** 2011-02-17''
**Bug Fixes:**
* Fix for a corrupt ZIP issue if the ROM filenames had characters greater than ASCII 127
\\
===== ROMVault 1.5.4 =====
''**Release Date:** 2011-01-28''
**Bug Fixes:**
* Fix for an issue reading hexadecimal values from DAT files
\\
===== ROMVault 1.5.3 =====
''**Release Date:** 2011-01-23''
**Bug Fixes:**
* Fix for an "Index was out of range" issue
\\
===== ROMVault 1.5.2 =====
''**Release Date:** 2011-01-17''
**Bug Fixes:**
* Fix for a bug loading MESS XML DATs that contain hexadecimal numbers (E.g. c64_cart.xml)
\\
===== ROMVault 1.5.1 =====
''**Release Date:** 2010-07-08''
**Bug Fixes:**
* Fix so corrupt ZIPs are now correctly moved out to the ToSort/Corrupt directory
* Fix so that files open by another application are marked with unknown status
* Fix for reading DATs so that size is no longer needed if the status is "nodump"
\\
===== ROMVault 1.5.0 =====
''**Release Date:** 2010-06-28''
**Feature Updates:**
* Enhanced the fixing logic so that files are deleted from the ToSort directory as soon as they are no longer needed
**Bug Fixes:**
* Fix for reading DATs with the loadflag="continue" tag
\\
===== ROMVault 1.4.1 =====
''**Release Date:** 2010-05-25''
**Bug Fixes:**
* Fixes to support some MESS XML DAT edge cases
\\
===== ROMVault 1.4 =====
''**Release Date:** 2010-05-22''
**Feature Updates:**
* Added support for MESS XML DATs
* Added support for more than one DAT to exist in a DatRoot subdirectory (Note: The "name" tag will be used to auto-create subdirectories)
* Upgraded the cache structure to support new features (Requires a full DAT refresh and file rescan)
\\
===== ROMVault 1.3 =====
''**Release Date:** 2010-05-13''
**Bug Fixes:**
* Fix so that files in a subdirectory in the ToSort can be used for fixes
\\
===== ROMVault 1.2 =====
''**Release Date:** 2010-05-12''
**Bug Fixes:**
* Fix for a few minor tree view issues
* Fix to better trap files with names that are too long
\\
===== ROMVault 1.1 =====
''**Release Date:** 2010-04-25''
**Feature Updates:**
* Added wildcard support to the exclude file list
* Added Yes/No options to the unknown file and directory moving code
* Replaced the TreeView control so that Disabled DATs can be added if the filenames are too long
* Upgraded the cache structure to support new features (Requires a full DAT refresh and file rescan)
**Bug Fixes:**
* Fix for a few crashes
\\
===== ROMVault 1.0 =====
''**Official release of ROMVault 1.x**'' \\
''**Release Date:** 2010-04-12''