Activity Digest: May 2015

This is an ongoing series of activity reports, published monthly, to highlight activity in the Taskwarrior project. Here is what happened in May 2015.

2015-05-02Taskwarrior and Taskserver learned how to lock files the POSIX way, instead of a platform-specific implementation. This should have happened years ago. Moving on…
2015-05-02The ‘Taskwarrior’ name was standardized throughout the code. Something you would think had happened a long time ago.
2015-05-02Taskserver no longer misleads when asked to modify a configuration setting with a read-only config file.
2015-05-02Taskserver can now restrict itself to the IPv4 or IPv6 protocol.
2015-05-02Taskserver inherited Taskwarrior’s l10n utility, and finds unused strings.
2015-05-03Taskwarrior documentation interchangeably used ambiguous terms to describe sync server configuration.
2015-05-04A problem was found, then fixed, with some write commands, when GC (Garbage Collection) was manually shut off. Although a bug, don’t turn off GC. It has been harming the bee populations. This should help.
2015-05-04Taskserver now recognizes libc++ memory errors. It doesn’t do anything about it, but at least it knows what’s happening.
2015-05-04Taskserver 1.1.0 beta1 was released.
2015-05-04The fish completion script is improved. Yes, fish is a real shell name.
2015-05-05The setup_server.bash script is significantly improved for correctness and usability. It was much needed.
2015-05-06The Taskwarrior test suite is now parallelized, and runs in far less time than before. On some systems, ./run_all --fast now runs in around 20 seconds.
2015-05-09Some old bugs are closed, because they were fixed a while ago, but not recorded.
2015-05-09Taskwarrior lexer is improved to better detect tags on the command line when there is preceding text, like (+tag).
2015-05-10Example export scripts were not properly handling UTF-8, and were fixed.
2015-05-10Taskwarrior 2.4.4 was released.
2015-05-11Taskserver 1.1.0 was released.
2015-05-13Taskserver learns to listen on ::, which means dual IPv4/IPv6 localhost. Obviously.
2015-05-14Taskserver learns to not fail silently on signal handler errors.
2015-05-23Tasksh lost its rudimentary context feature, which was eclipsed by a much more powerful Taskwarrior equivalent.
2015-05-24Taskwarrior, Taskserver and Tasksh start using C++11 N1984 and N2672, and it feels oh, so good.
2015-05-24Through the power of copy/paste, Taskserver fixes bugs by inheriting fixed code from Taskwarrior.
2015-05-24Taskwarrior implements an experimental, recursive, O(N^2) urgency inheritance algorithm that may cause your lights to dim and power utility bills to increase. It may also be killing the bee populations.
2015-05-24Tasksh is getting a review command.
2015-05-25Taskwarrior and Taskserver combined Path, File and Directory classes into one source file and test program named FS. While this has no benefit at all (you’re welcome users!) it keeps the three together, as they are a hierarchy and cannot operate alone.
2015-05-25Test suite now better differentiate between tests that pass and tests that are skipped. It’s important.
2015-05-25Taskwarrior can now import tasks from STDIN if - is specified as the input file. Or if nothing is specified.
2015-05-25Taskwarrior now has a test/README document that defines how unit tests should be written, in a desperate attempt to get more tests.
2015-05-28The test suite learns how to intrinsically support export. For the bees.
2015-05-29Taskwarrior import can now add or update a task as appropriate. Finally.
2015-05-31Task modify code got refactored nicely, which makes it easier for the developers to look at without convulsions. You’re welcome users!
2015-05-31Some Taskwarrior code that was commented out a long time ago, that we subsequently forgot the intent thereof, was quietly and shamefully deleted.