Activity Digest: May 2016 2016-06-04

This is an ongoing series of activity reports, published monthly, to highlight activity in our projects. Here is what happened in May 2016. This is not a complete list of all activity, just work that results in a non-trivial change. For a full list, see the git history of all the projects.


The main focus for May is getting Timewarrior ready for an alpha release. The purpose of an alpha release is to gather feedback that guides the subsequent release. Timewarrior is a new project that introduces new concepts. This new functionality needs to be refined before a beta release.

The Timewarrior bug tracker is now open for business.

Additionally the libshared library is being improved. This is a Git submodule that nearly all the projects share, and helps with code reuse. Most importantly, fixing bugs in libshared will fix bugs in all projects, without a lot of manual patching.

  • Task: Deprecated the new-uuid verbosity token
  • Timewarrior: Added the + indicator on charts, for open intervals
  • Timewarrior: Charts stop rendering at 'now' instead of EOD
  • Timewarrior: Added support for the :lastweek hint
  • Timewarrior: Corrected the :day hint
  • Timewarrior: Finalized the API document
  • Timewarrior: Clarified the definition and added help for intervals
  • Timewarrior: Added track command
  • Timewarrior: The track command delegates to start when no range is specified
  • Timewarrior: Added config command
  • Timewarrior: The config command supports the :yes hint for confirmation override
  • Timewarrior: The config command exits with code 1 when a change has no effect
  • Timewarrior: Rules parsing simplified - fewer special cases, simpler rule names
  • Timewarrior: Added summary report mockup
  • Timewarrior: Added show command, for consistency with Taskwarrior, and soon Taskserver
  • Timewarrior: The command timew config with no arguments, delegates to the show command
  • Task: Fixed the countdown format that was only showing dates in the past
  • Timewarrior: Added Range::encloses to detect exclusions like 'lunch'
  • Timewarrior: Fixed bug where all command line arguments were tokenized, leading to extra spaces - a familiar Taskwarrior bug
  • Timewarrior: Exclusions now properly anchor < and > at midnight
  • Timewarrior: Added Range::is_open which simplifies a lot of code
  • Timewarrior: Added gaps command
  • Timewarrior: Added assorted tests of the gaps command
  • Timewarrior: Now loads and uses custom tag colors
  • Timewarrior: Now that the config command is working, lots of new tests are possible, and were added
  • libshared: Duration needed precision formatting that only showed hours
  • libshared: Bug fixed that allowed a time of HH:MM:
  • Timewarrior: When recorded time exceeds available time, do not report negative remaining time
  • Timewarrior: Default command now summarizes all contiguous open intervals
  • Timewarrior: In preparation for an undo command, now records all data-changing transactions in an file
  • Timewarrior: Fixed bug where total available time on a report didn't add up
  • Timewarrior: Now uses precision hour formatting
  • Timewarrior: Added range asserts for debugging
  • Timewarrior: Added proper argument scanning, instead of simply counting arguments, for identifying the default command
  • libshared: Datetime was oddly missing accessors for days, hours, minutes, seconds
  • libshared: Duration wasn't consistent with Datetime
  • Timewarrior: Added a refresh script to update holiday files
  • Timewarrior: Documented how to update holiday files
  • Timewarrior: Added week report
  • Timewarrior: Supports reports.<type>.summary to control display of the ѕummary data
  • Timewarrior: Supports reports.<type>.lines to control number of lines shown per day
  • libshared: Added Datetime support for 12am which was oddly missing
  • Timewarrior: Supports
  • Timewarrior: Added extension to export data in CSV format
  • Timewarrior: Fixed assorted quoting problems on the command line, and in the data files
  • Timewarrior: The day report not longer shows totals by default
  • Timewarrior: Supports reports.<type>.totals to control display of day totals
  • Timewarrior: Command line args like 9 are now assumed to be hours 9:00
  • Timewarrior: Supports report.<type>.<label> where <label> is one of: month, week, weekday or day to control the date axis
  • Timewarrior adds initial documentation, with a lot more to come
  • Timewarrior: Shows holidays in a different color on charts
  • Added new search features to the Tools page, which now features automated data scraping, to find new Taskwarrior tools.
  • All site contributors now listed online. Thank you all!
  • Added MSYS2 to the download page
  • Timewarrior: In :debug mode, shows data I/O details
  • Timewarrior: Added a debug() function to handle switchable debug output
  • Flod: Removed unsuported bootstrat badge styles in the tinderbox report
  • Timewarrior: Supports debug.indicator = <string> prefix to identify debug output
  • Timewarrior: Supports reports.<type>.range setting to provide the default range hints for the report
  • Timewarrior: In :debug mode shows hint evaluation details
  • Timewarrior: Fixed a test that was sensitive to the number of configuration defaults
  • Timewarrior: Fixed broken :lastweek hint
  • Timewarrior: Supports reports.gaps.range, and has a default
  • Timewarrior: In :debug mode shows runtime data
  • Update the Tools page data, after filtering updated were pulled
  • Timewarrior: All reports now support the :blank hint
  • Timewarrior: Supports reports.<type>.hours = all|auto setting to control the x-axis
  • Timewarrior: All reports now have default settings for displaying various elements
  • Timewarrior: Supports rc.<name>=<value> command line overrides, like Taskwarrior
  • Added 301 redirects to list of common 404s
  • libshared: Datetime::sameQuarter suppported, needed by Timewarrior
  • Task: Now suppoorts the QUARTER virtual tag
  • Task: Now takes advantage of the Datetime::sameX methods
  • Timewarrior: Now shows two timestamps in a minimalist way, so instead of this:
    Started 2016-05-30T18:29:43
    Current 2016-05-30T17:04:02
    It now omits redundant information and shows this:
    Started 2016-05-30T18:29:43
    Current            17:04:02
  • Timewarrior: Added the :ids hint
  • Timewarrior: The summary report supports :ids
  • Timewarrior: Supports reports.<type>.holidays = yes|no to optionally display relevant holidays
  • Timewarrior: When showing holidays, adds the country code, for those who use multiple holiday files
  • Timewarrior: Fixed tests that use relative times, and are therefore behave differently when run at different times of the day
  • Timewarrior: Fixed a bug where range subtraction auto-closed the result ranges
  • Added QUARTER virtual tag to docs