github hydrusnetwork/hydrus v405
Version 405

latest releases: v580, v579, v578...
3 years ago
  • tag search:
  • system:number of tags now supports namespaces, for example 'find files with two character tags'! (issue #280)
  • it also supports wildcard namespaces, as now do regular namespace search predicates. both run faster. "crea*:anything" is now possible
  • system:number of tags has been optimised, and in many cases is now ten to a hundred times faster
  • system:number of tags still does not support siblings, something I hope to start correcting as of v408
  • both tag existence (numtags =0 or greater than 0) and tag count database routines now respond quickly to 'cancel search' commands, so if you do run a slow query (a bare 'has creator tag' search on 'all known files' on the PTR, for instance), you can now back out quickly after the 'stop' button appears
  • note that 'system:number of character tags greater than 0' and '= 0' are equivalent to +/-character:anything, which will be swapped in if you enter these. also, +/-unnamespaced:anything can now appear
  • the program is a bit better about determining =0 and greater than 0 and less than 1 being 'none' and 'any but none', when it needs to determine optimisations and special labels
  • unfortunately, I am taking away the default value for system:num tags in the options page (edit: I am killing the whole panel now). this old ugly mess of stacked predicate edit panels works on ancient, difficult to update code, so I will retire it and replace it with a unified system that is easy to use, supports in-search system predicate editing, and keeps up with changes automatically
  • system:number of tags is now comfortable with redundancies--if you add >2 and >4, it now knows that >4 is the true lower bound (previously, the one used was random)
  • boring code changes here:
  • updated tag existence and tag count searches to take advantage of the tag cache when in a specific file domain (which is pretty much all the time), which should speed them up significantly
  • updated tag existence and tag count searches to more carefully plan their queries, speeding them up both in advantageous and difficult situations
  • cleaned up tag existence and tag count code significantly
  • updated all edit system predicate panels to return full predicate objects, a step towards decoupling them and allowing in-place system predicate editing
  • wrote a new number test object to hold and help with number range test values. num tags now uses it, and eventually all range predicates will too
  • the namespace existence search code ('anything' queries) is now folded into the new generalised tag existence search code
  • streamlined how the search context propagates through all database tag searching--now, most queries do not know or care about domain or current/pending status--they just iterate over n tables as determined by a specialised routine
  • added a handful of unit tests for the new namespace num tag searching
  • .
  • database repair:
  • the database menu has a new entry, 'repopulate truncated mappings tables', under the newly renamed 'check and repair' submenu, which will try its best to 'fix' a client.mappings.db file that has been truncated due to hard drive fault by repopulating from the local-file-only tag cache. do not run this unless you know you need to
  • the 'help my db is broke.txt' document has a full update pass. the language is clearer, common issues and questions are better addressed, two new recovery routines are added, a section on the stages after boot recovery (like the new repopulate job above) is added, and I added my stock 'now become a backup patrician' nag at the end
  • the debug routine to clear cached service info numbers is now moved to the 'regenerate' database menu. this thing fixes hanging incorrect 'pending' counts until I can fix it properly
  • .
  • the rest:
  • fixed an issue where when you pasted queries into a subscription, those that were already in the sub (and got the dialog saying so), were being added anyway! I believe this bug came in the last few weeks, after the data storage rewrite. please check your pasted-into subs for dupes
  • fixed tab double middle-click behaviour (so you can spam page close), which I thought I had fixed last week but actually messed up completely right at the end (issue #314)
  • cleaned up some more of the page tab event code--it was a mess all around. should all be on Qt now, no wx hacks
  • network jobs will no longer wait for and consume bandwidth start tokens while all network traffic is paused. all bandwidth competition now halts. (previously, they would continue to consume tokens according to current rules and then all rush to start as soon as traffic was resumed)
  • fixed some client booru/client api requests to correctly 404 on missing file results, rather than 500
  • cleaned up some file sort code and fixed the sort string conversion, which was rendering the opposite sort direction (asc/desc) in summary labels (e.g. on manage favourite searches)
  • cleaned up some ui layout stretching code, including some borked tag import options expand sizing
  • improved some button and padding layout definitions, and improved, slightly, the way the top-right media viewer hover window lays itself out and changes its size on media change
  • improved some review services layout. should be fewer weird heights and widths in unusual situations, and the new multi-column list fits better
  • the manage subs dialog now saves its changes to db more cleanly and atomically
  • updated the default derpibooru parser to pull species tags. ten points if you can guess what that is most of the time

Don't miss a new hydrus release

NewReleases is sending notifications on new releases.