changelog
    
    
    - Wed, 26 Aug 2015 05:39:23 +0300
 
    - by Teemu Piippo <crimsondusk64@gmail.com> [Wed, 26 Aug 2015 05:39:23 +0300] rev 157
 
    - Make cobalt not forget its pages the moment someone days something
Added .strftime 
    - Tue, 18 Aug 2015 14:38:54 +0300
 
    - by Teemu Piippo <crimsondusk64@gmail.com> [Tue, 18 Aug 2015 14:38:54 +0300] rev 156
 
    - Use python3 in the shebang
 
    - Mon, 17 Aug 2015 02:05:16 +0300
 
    - by Teemu Piippo <crimsondusk64@gmail.com> [Mon, 17 Aug 2015 02:05:16 +0300] rev 155
 
    - Remove more manifests
 
    - Sun, 16 Aug 2015 23:30:11 +0300
 
    - by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 16 Aug 2015 23:30:11 +0300] rev 154
 
    - Added ability to define an IRC command with a function decorator instead of a manifest entry
 
    - Sun, 16 Aug 2015 19:27:14 +0300
 
    - by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 16 Aug 2015 19:27:14 +0300] rev 153
 
    - More Python 3 rework
 
    - Sun, 16 Aug 2015 10:59:22 +0300
 
    - by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 16 Aug 2015 10:59:22 +0300] rev 152
 
    - Port to Python 3
 
    - Tue, 11 Aug 2015 19:12:30 +0300
 
    - by Teemu Piippo <tsapii@utu.fi> [Tue, 11 Aug 2015 19:12:30 +0300] rev 151
 
    - Yet more fixes
 
    - Sat, 08 Aug 2015 14:21:51 +0300
 
    - by Teemu Piippo <tsapii@utu.fi> [Sat, 08 Aug 2015 14:21:51 +0300] rev 150
 
    - whitespace
 
    - Sat, 08 Aug 2015 14:17:30 +0300
 
    - by Teemu Piippo <tsapii@utu.fi> [Sat, 08 Aug 2015 14:17:30 +0300] rev 149
 
    - Added ability to define commands into the manifest
 
    - Sat, 08 Aug 2015 14:17:06 +0300
 
    - by Teemu Piippo <tsapii@utu.fi> [Sat, 08 Aug 2015 14:17:06 +0300] rev 148
 
    - Added .py
 
    - Sat, 08 Aug 2015 14:00:40 +0300
 
    - by Teemu Piippo <tsapii@utu.fi> [Sat, 08 Aug 2015 14:00:40 +0300] rev 147
 
    - Fix .cset
Fix 'moredata' usage in announce_ticket_resolved 
    - Tue, 04 Aug 2015 22:39:22 +0300
 
    - by Teemu Piippo <tsapii@utu.fi> [Tue, 04 Aug 2015 22:39:22 +0300] rev 146
 
    - Mercurial handling major overhaul. Also get some stuff ready for Python 3
 
    - Mon, 03 Aug 2015 19:45:57 +0300
 
    - by Teemu Piippo <crimsondusk64@gmail.com> [Mon, 03 Aug 2015 19:45:57 +0300] rev 145
 
    - - Encode messages in the hgpoll module so that joining them won't result in an error if they cannot be coded to ascii
- Support for Doomseeker's VERSION_STRING in version string parsing 
    - Sun, 02 Aug 2015 17:15:00 +0300
 
    - by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 02 Aug 2015 17:15:00 +0300] rev 144
 
    - - Remove hgapi dependence
- Limit the amount of commits being pulled in so that if there's a lot of them the bot won't time out
- If a changeset in e.g. sandbox gets pulled to main, it needs to be processed again or it won't get announced.
- Use hg cat instead of hg revert to get the contents of version.h to find out the Zandronum version without changing any files 
    - Sat, 18 Jul 2015 16:59:44 +0300
 
    - by Teemu Piippo <tsapii@utu.fi> [Sat, 18 Jul 2015 16:59:44 +0300] rev 143
 
    - Include timestamp in console outputs
 
    - Mon, 01 Jun 2015 12:46:23 +0300
 
    - by Teemu Piippo <crimsondusk64@gmail.com> [Mon, 01 Jun 2015 12:46:23 +0300] rev 142
 
    - Use [code] for diffstats in tracker messages
 
    - Sun, 17 May 2015 20:42:32 +0300
 
    - by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 17 May 2015 20:42:32 +0300] rev 141
 
    - Merged diverged heads
 
    - Sun, 17 May 2015 20:40:09 +0300
 
    - by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 17 May 2015 20:40:09 +0300] rev 140
 
    - Update:
- added a config option to disable the REST server
- added a message to be printed when IRC connections are first attempted
- look up the long commit node to be inserted into commits.db to avoid precision loss 
    - Fri, 08 May 2015 04:24:07 +0300
 
    - by Teemu Piippo <crimsondusk64@gmail.com> [Fri, 08 May 2015 04:24:07 +0300] rev 139
 
    - Closed this dead end
 
    - Fri, 08 May 2015 04:23:48 +0300
 
    - by Teemu Piippo <crimsondusk64@gmail.com> [Fri, 08 May 2015 04:23:48 +0300] rev 138
 
    - update
 
    - Mon, 04 May 2015 03:11:41 +0300
 
    - by Teemu Piippo <crimsondusk64@gmail.com> [Mon, 04 May 2015 03:11:41 +0300] rev 137
 
    - Derp
 
    - Mon, 04 May 2015 03:11:14 +0300
 
    - by Teemu Piippo <crimsondusk64@gmail.com> [Mon, 04 May 2015 03:11:14 +0300] rev 136
 
    - Use a value class
 
    - Mon, 04 May 2015 02:46:09 +0300
 
    - by Teemu Piippo <crimsondusk64@gmail.com> [Mon, 04 May 2015 02:46:09 +0300] rev 135
 
    - Added 8 integer clamping functions
Fixed hex and binary representation of zero and negative numbers
Fixed modulo operator not working due to missing call to realf() 
    - Mon, 04 May 2015 02:19:21 +0300
 
    - by Teemu Piippo <crimsondusk64@gmail.com> [Mon, 04 May 2015 02:19:21 +0300] rev 134
 
    - Added scientific notation and dice expressions (cheaply as operators)
 
    - Mon, 04 May 2015 00:50:18 +0300
 
    - by Teemu Piippo <crimsondusk64@gmail.com> [Mon, 04 May 2015 00:50:18 +0300] rev 133
 
    - heh
 
    - Fri, 01 May 2015 19:08:12 +0300
 
    - by Teemu Piippo <crimsondusk64@gmail.com> [Fri, 01 May 2015 19:08:12 +0300] rev 132
 
    - lots of new stuff
 
    - Fri, 24 Apr 2015 06:40:08 +0300
 
    - by Teemu Piippo <crimsondusk64@gmail.com> [Fri, 24 Apr 2015 06:40:08 +0300] rev 131
 
    - Added sgn(x) to .calc
 
    - Sun, 19 Apr 2015 22:46:39 +0300
 
    - by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 19 Apr 2015 22:46:39 +0300] rev 130
 
    - - reverted previous commit (now that was a bad idea)
 
    - Sun, 19 Apr 2015 22:33:39 +0300
 
    - by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 19 Apr 2015 22:33:39 +0300] rev 129
 
    - - store expression and tokens as members of Calculator rather than being passed around as parameters
 
    - Sun, 19 Apr 2015 22:02:02 +0300
 
    - by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 19 Apr 2015 22:02:02 +0300] rev 128
 
    - Major refactor: moved calculator routines into a Calculator class.
Added attributes to calculator.