Added logger.log_file(msg, filename) as an easy way to log data to an arbitrary file in game/log. log_file() uses threading and open file handles to be non-blocking and inexpensive when logging often.
Remove unsupport M2M field in channelAdmin handler. Removes traceback when DEBUG=True.
Added channel subs to admin in a working way.
Fixed some default website links that still pointed to google code.
Fixed objects-command zerodiv error with totally empty Object database.
Cleaned up objects command table look
Fixed a database referene bug that would remove ForeignKey referenced objects when reverse referenced through something like db_home (this defaults to CASCADE mode, is now SET_NULL). Also fixed some other minor things.
Removed CHARACTER_DEFAULT_HOME, replaced with DEFAULT_HOME and added START_LOCATION for determining where default commands dump new characters.
Removed some debug output.
Fixed more cleanup of Attibute/Tag/Nick/Permission handlers when object is deleted.
Fixed an simplejson deprecation, switching to python json.
Some cleanup code fixes.
Refactored batch processors, addressing points in #489.
Re-removed some comments to batch-code example left over from debug.
Changed some defaults of EvTable. Made EvTable handle clist command. Resolves #426.
Added a small example cmdset to dice.py.
Changed lockhandler.add/replace to use LockExceptions instead of log_obj, which should also work more flexibly for handling lock errors for players. Resolves #410.
Some more cleanup of paths for batchprocessors
Cleaned up some batchprocessor error handling.
Added functionality to TypedObject.swap_typeclass to handle various typeclasses safely. Resolves #390.