github hydrusnetwork/hydrus v577
Version 577

latest releases: v599, v598, v597-future-1...
5 months ago

Important

v571 changed some dlls, so any Windows .zip or Linux .tar.zst users updating to this from v570 or earlier will have to perform a clean install one time! More info here: Version 571
Windows Installer and macOS .app users can just update as normal.

explorer integration

  • thanks to a user, we have some new OS-file-explorer integration
  • two additional options are added to the "open" menu for Windows users, "in another program" opens the Windows dialog to select which program to use and "properties" opens the Windows file properties dialog for the file
  • the 'media' shortcut set gets the new 'open file properties' and 'open with...' commands to plug into these new features
  • the "open in file browser" media menu command now more reliably selects the file in Windows and is now available for most Linux file managers--full list here.
  • the "open files' locations" file import log menu command is similarly more reliable, and can sometimes select multiple files when launched on a selection
  • this requires a new external library, so users who run from source will want to rebuild their venvs this week to get this functionality

misc

  • the manage times single-time edit dialog's paste button can now eat any datstring you can think of. try pasting 'yesterday 3am' into it, it'll work!
  • split the increasingly cluttered 'media' options panel into 'media playback' (options governing how media is rendered) and 'media viewer' (options governing the viewer itself like drags and slideshows)
  • added to the new 'media viewer' panel are five checkboxes to turn off the background text in the full media viewer--for the taglist, the top hover, the top-right hover, the notes hover, and the bottom-right index string. if you want, you can have a completely blank background now
  • gave the help->about window a pass. I broke the cluttered first tab into two, and the layout all over is a bit clearer
  • the help->advanced mode option is now available under a new options->advanced tab. this thing covers several dozen things across the program, all insufficiently documented, so the plan is to blow it out into all its granular constituent components on this page!
  • fixed it so an invalid ApplicationCommand will still render a string. if you got some jank ToString() errors in a shortcuts dialog recently, please try again and let me know what you get. you'll probably want to go into the actual shortcut with the error string and try and see if you can fix what it has set--again, let me know the details please!
  • updated the 'installing and updating' help page to talk clearly about the different versions that have special update instructions, and generally gave the language a pass

some url encoding

  • fixed an issue in url encoding-normalisation where urls were not retaining their parameters if their names had certain decoded characters (particularly, this was stuff like the decoded square brackets in fields[post]=123). a new unit test will catch this in future
  • url classes and parsers are now careful to encode their example urls any time they are asked for (outside of their respective edit dialogs' "example url(s)" fields, so if you want to work with a human-looking URL in UI, that's fine). this ensures the automatic url-parser linking system works if the parser and url classes have a mish-mash of encoded and non-encoded example URLs. it also fixes some stuff like the multi-column list in the manage url classes dialog when the url class has a decoded example url. this was basically just an ingestion point that I missed in the previous work
  • the edit parser dialog makes sure to properly encode the URL when you do a test pull

orphan table tech

  • the database->db maintenance->clear orphan tables command, which could previously only clear out the repository update/processing-tracking tables, can now nuke: the core file list tables in client.db; the core mappings tables in client.mappings.db; the display and storage mappings caches in client.caches.db; the display and storage autocomplete count caches; the ideal and actual tag parent lookup tables in client.caches.db; the ideal and actual tag sibling lookup tables in client.caches.db; and the various tag search tables (except the fts4 stuff) in client.caches.db
  • when this job fires, it now sends orphan tables to the deferred delete system (previously it dropped them immediately, which for a big mappings table is a no-go)

boring cleanup

  • cleaned a bunch of db table code for the new orphan table stuff
  • deleted the old 'yaml_dumps' table and all associated methods, which are all now unused
  • added a couple help labels to the "colours" and "style" pages to better explain what is actually going on here

Don't miss a new hydrus release

NewReleases is sending notifications on new releases.