The task 'deleted' field was an int for historical (sqlite) reasons, and we were accidentally storing it as a string sometimes, so it always showed up as true. Changed it to an actual bool, and fixed existing DB records. Fixes #231
Default new sprint membership to previous sprint's. Fixes #218
Change shell su to recognize an admin impersonating a non-admin
Move backlog task display into TaskTable
Rewrote task importing to use a TaskTable. Fixes #97, fixes #224
Cron jobs seem to get missed sometimes, so switched to checking every 30 seconds (but still only running at most once/minute)
Automatically defer all open tasks at the end of the sprint
Change all deferred tasks to not started when importing. Fixes #234
Don't count deferred hours on planning checklist or new task preview. Fixes #235
Change many new task preview to use a TaskTable
Implemented group reordering; fixes #123. Rewrote Task.move() interface to be sane
Dynamically update the search field and page URL on filter application. Fixes #216