Releases: mrsilver76/groupmachine
Releases · mrsilver76/groupmachine
1.4.0
- Added support for extracting GPS metadata from videos - handles XMP, DMS, decimal and ISO 6709 formats commonly used by both iOS and Android.
- Improved progress bar accuracy - now calculated using bytes processed rather than files processed.
- Tidied up formatting of progress bar for better terminal compatibility.
- Updated default distance to 10km and default precision level to 2 for better album naming.
- Added checks to ensure invalid GPS data is not considered.
- Fixed a bug which meant that photos and videos were still scanned even if
-nvand/or-npwere used. - Updated the publish script to use
--no-self-containedas identified by dotnet/sdk#51888. - Updated documentation and copyright.
1.3.0
- Replaced
-p(--precise) with new-p(--precision) to support three levels of album naming detail. - Added progress bar for long running tasks; displays percentage complete and estimated time left.
- Updated GPL copyright version in comments to correctly reflect GNU GPL v2 (or later).
- Updated documentation.
1.2.0
- Improved grouping by filling missing/invalid GPS data (imputing) with locations inferred from photos taken close in time.
- Moved content sorting by date earlier in the process to support imputing and improve debugging with logs.
- Added automatic detection of a safe number of parallel tasks based on CPU and storage type to prevent
SEHExceptioncrashes on network drives. - Added
-mp(--max-parallel) option to allow users to override the default number of parallel copy, move, or link operations. - Default hashing switched to CRC64-ECMA-FAST (64 KiB prefix) for much faster performance; accidental collisions remain rare.
- Added
-ha(--hash-algo) to override the hashing algorithm with MD5 or SHA512 (SHA256 on 32-bit systems). - Added file size comparison before hashing to further improve duplicate-checking speed.
- Fixed a bug where the last processed timestamp would be incorrectly updated to an earlier date.
- Tidied up logging and removed superfluous entries.
- Fixed a bug where the version checker formatted version numbers using .NET conventions instead of semantic versioning.
- Updated publishing powershell script to avoid hanging after first build has been completed.
1.1.0
- Added
-df(--date-from) and-dt(--date-to) to define the photo date range. - Added support for using
lastwith both-dfand-dt, allowing resuming of previous runs. - Added
-xr(--exclude-recent) to skip photos that would appear in future albums (using-tthreshold). - Added
-p(--prepend) to prefix folder names; supports date formats and folder creation. - Added
-nc(--no-check) to disable GitHub version checking. - Files with no location data are counted to highlight potential issues.
- New header displays all key configuration information.
- Added
-u(--unique) to prevent existing album folders from being re-used when album names clash. - Improved logger performance by keeping files open instead of repeatedly opening/closing.
- Split utility functions into static classes for clearer structure.
- Resolved all .NET code analysis warnings to standardize style and tidy the codebase.
- Added documentation on how GroupMachine can be used in an automated workflow.
1.0.0
- 🏁 Declared as the first stable release.
- Enforced use of
-c(--copy),-m(--move), or-l(--link) to specify the copy mode. - Added
-l(--link) option for hard linking, falling back to soft links on failure. - Added
-p(--precise) to enable precise location names (e.g. stations, parks, landmarks, etc.) in album titles. - Added
-nr(--no-range) to show only the first date in folder names that span multiple days. - Added
-np(--no-part) to suppress part number suffixes. - Changed album title logic: dropped popularity sorting; locations now kept in time order with the least-used removed.
- Updated
-s(--simulate)to show the destination folder structure. - Refactored the "(part x)" numbering logic to ignore existing folders on disk, relying on date suffixes for uniqueness.
- Switched to SHA512 for identical file checks on 64-bit processors, 32-bit processors continue to use SHA256.
- Removed
-u(--unique) check due to poor performance and limited value. - Logger now includes OS details to assist with debugging.
- Re-ordered command-line arguments and grouped them into logical sections.
- Cleaned up various pieces of code (analyzer suggestions regarding naming, simplifications, and style)
0.9.0
- Initial release.