https://youtube.com/watch?v=UdiwBiw5dyo
windows
zip: https://github.com/hydrusnetwork/hydrus/releases/download/v524/Hydrus.Network.524.-.Windows.-.Extract.only.zip
exe: https://github.com/hydrusnetwork/hydrus/releases/download/v524/Hydrus.Network.524.-.Windows.-.Installer.exe
macOS
app: https://github.com/hydrusnetwork/hydrus/releases/download/v524/Hydrus.Network.524.-.macOS.-.App.dmg
linux
tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v524/Hydrus.Network.524.-.Linux.-.Executable.tar.gz
I had a good week working on bug fixes, quality of life, and more timestamps.
Full changelog: https://hydrusnetwork.github.io/hydrus/changelog.html
timestamps
I've added timestamps to the sidecars system. You can import/export any timestamp the file has, so it is now possible to migrate various times (particularly archive and imported) from one client to another. I still need to add some more things to sidecars, e.g. inbox status and ratings, but we are almost at the point where we can do complete client-to-client transfers of all the major metadata. I have plans to make this ultimate goal simple with templated one-click jobs and no need to repeat the file import--just a raw JSON file metadata import/export.
Also, in the duplicate system, file modified dates can now be merged, and by default they will--for 'this file is better', then an earlier timestamp on the worse file will be applied to the better file, and for 'they are the same', both files will get the earlier of the two. If you don't want this to happen, check your duplicate merge options and set 'make no changes'.
Also in duplicates, if you have URLs set to merge, then any associated domain timestamps with those URLs will be earliest-merged too.
Lastly, the program can broadly support pre-1970 timestamps now. 1970-01-01 is a special date in computing, and supporting times before it can be tricky, but I've fudged some general support. It is a bit of a meme, but maybe it'll be neat to apply '1503' to old paintings. The code I was working with says it is good back to 1 AD, but it seems like it can actually go further, ha ha. Anyway, have fun, and let me know if it fails. I know that the '1,504 years 2 months ago' strings are a little inaccurate--it turns out I haven't been counting leap-year days in those calculations, and it shows on the longer durations.
other highlights
Export Folders now have popups while they work. You can turn them off for regular runs, but now Import and Export Folders force-show their working popups when you manually start them from the file menu. These popups have stop buttons, so you can cancel Export Folders mid-job now too. Also, I removed the stupid and confusing 'paused' vs 'run regularly?' duality. Export Folders now just have 'run regularly?'.
I added some special predicate labels, 'system:ratio is square/portrait/landscape', for =/taller/wider than 1:1. They are in the quick-select list for system:dimensions too.
next week
I pushed it too hard this week and exhausted myself. Thankfully, next week is due to be code cleanup, so I'll try and take it easy and just dive into some simple refactoring work and do some small jobs here and there.