- 'server stop' and 'server restart' now work!
- server will now log everything to console as well as server.log
- server log entries will always be prefixed by the time they were made
- server shutdown will close services more neatly
- server shutdown cannot be triggered multiple times with multiple keyboard interrupts
- server initialisation and shutdown is more verbose
- server now accepts POST '/shutdown' requests from localhost
- fixed a server shutdown bug
- mousewheel events that hit the command and ratings hover windows will be propagated to the media viewer (e.g. if you click a rating, you can now scroll immediately to move to the next file without having to refocus the media viewer window)
- fixed a bug where zooming out would go immediately to 1% if the media's exact fit zoom was already in the list of default zooms
- added 'check db integrity' to database maintenance menu
- multiple drag-and-dropped thumbnails will now be listed inside the drag-and-drop object in their hydrus thumbnail order (was previously random)
- animations will now pause/play correctly during inbox filtering
- most client errors now cause a 1 second wait on behalf of the caller, which should bottleneck error spam when it happens
- fixed some buggy display and rescind behaviour with pre-dialog-existing petitions in the manage parents and siblings dialogs
- the manage parents and siblings dialogs will now not attempt to remove/petition/rescind a pair if the entered list of pairs has entirely new entries
- the manage parents and siblings dialogs will now attempt to maintain their sort order after you change some pairs
- generally cleaned some parent and sibling dialog code
- added option to options->files and trash for whether to use your OS's recycle bin
- system:mime text now specifies specific mime group if appropriate, or otherwise lists every mime if >1 selected ('system:mime is specified' is dropped)
- hydrus repositories will sometimes catch and recover from zero-length update files
- hydrus repositories will catch processing parsing errors and pause when they happen
- the new hdd, page of images, and thread watcher import daemons will tidy themselves up if their accompanying pages are completely deleted
- improved how daemons shut down
- improved client shutdown logic and speed
- some misc code cleaning
- more general code cleanup