windows
zip: https://github.com/hydrusnetwork/hydrus/releases/download/v239/Hydrus.Network.239.-.Windows.-.Extract.only.zip
exe: https://github.com/hydrusnetwork/hydrus/releases/download/v239/Hydrus.Network.239.-.Windows.-.Installer.exe
os x
app: https://github.com/hydrusnetwork/hydrus/releases/download/v239/Hydrus.Network.239.-.OS.X.-.App.dmg
tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v239/Hydrus.Network.239.-.OS.X.-.Extract.only.tar.gz
linux
tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v239/Hydrus.Network.239.-.Linux.-.Executable.tar.gz
source
tar.gz: https://github.com/hydrusnetwork/hydrus/archive/v239.tar.gz
I had a really great week. A lot of different things are fixed, updated, or do something new.
duplicate files improvements
I have finished some 'similar files' maintenance code and added it to the normal idle/shutdown maintenance routines. You'll see it pop up every now and then–I wouldn't expect more than a couple of minutes a week for most users. It just keeps your searches fast after you import or delete a lot of files.
I also improved the search tree generation algorithm, so searches now operate ~10-40% faster. This better tree will come in branch by branch as the maintenance routine works, but if you currently do a lot of similar files searches, you can get the full benefit now by forcing a full regen with database->regenerate->similar files search data.
And the normal thumbnail right-click menu now has four types of similar search, depending on exactly how similar a match you are looking for. The more exact the search, the faster it will run. The 'similar' entry is good for most 'have I got this file already?' purposes.
hydrus network is now https
This only affects hydrus clients talking to hydrus servers like my public tag repository. Hydrus client continue to talk to normal websites with http or https depending on how their url starts.
As I mentioned in my v236 post, I have now flipped the switch on https for the hydrus server code, and I updated my public tag repository server today. If your client is at least v236, you do not have to do anything–it will naturally upgrade the connection to https when it talks to a v239-or-later hydrus server.
If you have a v235 or earlier client, it will no longer be able to talk to my PTR server! You will likely get ugly and unhelpful error messages, too. If you want to sync with an updated server, you will have to update your client.
If you run a hydrus server, the grace period to update to >=239 will be another three weeks. In v242, I will remove the old http support from the client.
misc stuff
Some highlights from the rest of the changelog, which this week is not brief:
I've fixed the more complicated lists, like in manage subscriptions, to sort by the underlying data rather than the presentation text, so '2 hours ago' is now correctly sorted before '1 day ago'.
Export and import folders also got this treatment, and while I was at it, I added name support to export folders. As the path is no longer the unique identifier of an export folder, you can now have multiple exports to the same path.
All the system predicate panels have had a makeover. Mostly, the old dropdowns have been replaced with quicker radio buttons.
I've split the database->maintenance menu to declutter it and help avoid costly misclicks.
full list
- finished up similar files search data maintenance code
- similar files search data maintenance will now run during idle time
- similar files search data maintenance can be called from database->maintain menu
- the crowded database->maintenance menu is now split into maintain, regenerate, check
- improved the similar files tree generation code, speeding searches significantly
- wrote a new listctrl class to handle more complicated objects and also sort by underlying data
- the new listctrl now handles object name non-duplication
- cleaned a bunch of crap old listctrl code
- manage export folders now uses the new listctrl
- manage import folders now uses the new listctrl
- manage subs now uses the new listctrl
- manage scripts now uses the new listctrl
- options media viewer options now uses the new listctrl
- file import status panel now uses the new listctrl
- the new listctrl can now quickly fetch item index from the underlying object
- the file import status panel should now cope with extremely huge lists a bit better now!
- multiple parsing child nodes can now import from/export to clipboard as lists
- export folders now have names, so you can have multiple export folders pointing to the same path! existing export folders will get their path as their name, but this can be changed no prob
- cleaned import/export folder dialogs
- cleaned import/export folder dialog workflow
- several misc import/export folder improvements
- hydrus servers are now exclusively https with self-signed certificates
- hydrus servers now create server.crt and server.key in their db folders for SSL–these files will be backed up along with everything else on an admin backup command
- system:hash now ignores the file domain and any other predicate. it now returns very quickly, no matter the context
- improved system:hash search logic
- all the awkward choice dropdowns in system predicate panels are replaced with radioboxes
- improved system:rating panel grid layout
- wrote a better subclass of radiobox to handle more data
- moved first half of thumbnail menu to new menu system
- cleaned up a little thumbnail menu logic
- improved the different ways services are added to thumbnail menu
- thumbnail 'select' menu is logically cleaned up and allows for better file domain selection
- the thumbnail menu's copy files and copy hashes to clipboard will now send them ordered (they were previously pseudo-random)
- added 'paths' to the share->copy thumbnail menu for copying multiple files' paths. these are also ordered.
- if the popup message manager does not have any errors, it will no longer unhide (which can annoyingly raise the main gui window) when the gui window does not have focus
- removed some old redundant error reporting stuff in popups
- improved and quietened some some mime detection failure code, sped up mime failure loop in all cases
- massively simplified and atomised how new serialisable-object management panels can save their data
- the manage subscription dialog now saves in a single, faster transaction
- the manage script dialog now saves in a single, faster transaction
- reduced redundant index work from analyze jobs
- improved tag parse error handling
- fixed media removal rules when deleting from the 'all local files' domain
- polished and clarified some of the help's tag schema
- misc cleanup
- more misc cleanup
- misc refactoring
- more misc refactoring
next week
I am just this afternoon going down with something, but if I'm not in bed all week, I'll write some code to start automatically detecting pairs of similar files, getting ready for the gui workflow I'll write to deal with them all.
There's also a maintenance tweak I'm pretty sure I need to make to speed up newly-ptr-synced users' dbs. If you recently synced with the ptr and things are running much slower than before, please run database->maintain->analyze->full and let me know if that speeds things up. It may take ten or twenty minutes to run.