Change .classpath file, caused by new version of SDK
Reformat all source code using Android's auto-formatting

No functional change.

Ugh...
Step targetSdkVersion to 19 (KitKat) and also application versionCode

Fix most resulting lint and compiler warnings.

The AlarmReceiver intent-filter receives the BOOT_COMPLETED system intent even though I've now set android:exported="false" (confirmed by testing).
Update to new AlarmManager behavior

Starting from Android KitKat (API level 19), use AlarmManager.setExact(). For older versions, keep using AlarmManager.set().
Switch to new API for Notifications

No functional change.
Update WakeLock handling to latest Android patterns
Fix memory leak caused by a non-static Handler
Move as much work as possible from AlarmReceiver.onReceive() to TimerKlaxon service
Add code to handle requesting and abandoning AudioFocus
Move code for KitKat AlarmManger into separate class

Otherwise Dalvik on Android 1.x crashes on launch...
Move some code specific to API level 5 and 8 to separate method
Add a real preference dialog activity

Should make it easier to see if ringing and vibration is turned on or off.
Switch to new AlertDialog API

For the GNU GPL license dialog. No functional change.
Don't forget to abandon audio focus on MediaPlayer error
Add code to detect missed timeouts

Check, when we can, if the time left to alert has gone negative. This should never happen, but seems to happen to some people (due to running task killers, perhaps?). I have not been able to reproduce it.

If it happens, we try to return the app to it's normal state, and then throw a RuntimeException to let the user send a crash report.
Display a warning if ringing is on but alarm volume is zero
Make minor adjustments to the strings in strings.xml

Attempting to make some of them clearer.

Also, add comments and xliff:g tags.
Add simple, one-string tracelog, and attach to crash reports
Add 2014 to copyright notices, and add them where they were missing
Step the versionCode