- exported hash and tag master tables to external database files for both client and server
- the client's 'mappings' table is split into 'current_mappings' and 'pending_mappings', saving about 20% of space and speed for almost all mappings operations
- removed superfluous rowid column from client mappings tables, saving about another 20% of space
- removed superfluous rowid column from server mappings tables, saving about 20% of space
- to save time, service mapping counts now only aggregate current mappings, not current and pending
- exporting to tag archive now only exports current_mappings, not pending
- 'all known files' queries will more cleverly discern their current/pending search domain
- tag count queries will more cleverly discern their current/pending search domain
- cleaned up a lot of mapping-related query code, and any ugly status leftovers from current/pending union
- num_namespaces is no longer tracked for tag services
- unified clientside service deletion code, fixing several orphan-generation issues
- db update will remove all mappings orphans created by a recent tag service deletion
- some db settings init is harmonised into one location
- fixed up some external db settings init
- db connection settings are now applied to all attached db files
- db vacuum code is harmonised into one location
- vacuum cleans up after itself better
- db vacuum is now preceded by a hard drive free space check
- db vacuum can now predict how long it will take
- if a vacuum fails for an unexpected reason, the db will now recover better
- the db recovers from failed backups better
- the server db will vacuum all its databases on a backup, except any that it thinks will take total vacuum time to more than five minutes
- server backup will report roughly how long it took, clientside
- significantly sped up system-tag-only 'all known files' queries for tag services that have many mappings
- significantly sped up system:numtags for =0 or >0 when tag services have many mappings
- the status bar has some improved grammar, reporting overall common mime as appropriate
- the status bar reports single-thumbnail info text when one file is selected
- fixed an image cache key type-matching bug
- data cache now tracks objects with dynamic memory usage
- the static image rendering-cache relationship has been slightly dejanked
- added a couple of checkboxes to the options->gui page to hide/show thumbnail title banner and page indicator
- the manage tags censorship dialog now defaults to the 'all known tags' service on init
- slideshows will not progress if the current media is either a static image that has yet to render or an unpaused animation that has yet to run through once
- service content package status messages now summarise their final commit status better
- this nice new line is printed to the log as a record of repo sync rows/s speed
- the client will shut down faster if big jobs are running