2009.09.13

* Updated the date in the license file.
* Added LICENSE and MANIFEST.in files.
* Updated the clean.sh admin script.
* Added installation instructions.
* Updated the setup.py to include the tests so that source installations from
PyPI can be checked with Twisted trial.
* Commented out some old junk in an admin script.
* Removed old model method.
* Added missing demo app.
* Updated the TODO.
* Updated the README.
* Created an async web demo.
* Moved old example for the sync API into its own directory.
* Updated the TODO.
* Finished adding the static data unit tests.
* Added a test case for the paints info XML.
* Added a test case for the parts info XML.
* Added a test case for the achievements XML.
* Created a recursive data model object for static XML data.
* Added a getChildren method to the parsing model.
* Fixed static data client function signatures.
* Added unit test for blockingSave.
* Updated binary payloads to be more specific.
* Removed old, unused static data client function.
* Added missing unit test files.
* Stubbed out remaining static data API unit tests.
* Updated static URL module and static data client functions.
* Added unit tests for saving to a file descriptor.
* Moved logError into util module.
* Cleaned up unused imports.
* Removed the unused fake server base test case and added a txSpore base test
case.
* Moved unit tests for functions that are shared by both static data and REST
APIs into their own test case.
* Removed useless logger base class test case.
* Moved the getXMLForREST unit test into the proper test case.
* Rearranged the order of the test cases to math the ordering in the other
files.
* Stubbed out remaining static data functions.
* Updated TODO.
* Fixed up inconsistencies with the usage of the two asset models.
* Fixed the buddy unit test (it was using the wrong model).
* Added client functions getInfoForAsset, getCommentsForAsset,
getBuddiesForUser, and searchAssets.
* Added missing unit test.
* Added client functions getAssetsForSporeCast and getAchievementsForUser.
* Fixed the achievement unit test (it was using the wrong model).
* Created a client callback for general use in creating lists of model
instances from returned element trees.
* Updated the FEATURE file.
* Added REST API client functions getStatsForCreature, getDailyStats,
getProfileInfo, and getAssetsForUser.
* Removed unnecessary model object.
* Added missing model test case for user assets.
* Rearranged the order of the model test cases to correlate with the order of
the REST URL imports (which correlate with the REST API order on the developer
section of the Spore website).

2009.09.12

* Added a asset search result model object.
* Added a buddy model object.
* Updated model docstrings.
* Made stringToList smarter.
* Added a FEATURES file.
* Added asset and spore cast asset objects to the model.
* Updated the base model to parse list-like attributes.
* Added a new string-to-list utility function.
* Tweaked some names in the payload script and payload.
* Added user, spore cast, and asset objects to the model.
* Updated an admin script.
* Added a model for the daily stats response XML.
* Updated parsing model's parseTree method to do more type checking.
* Updated model object docstrings.
* Updated client fetch methods to accept a path parameter.
* Filled in model XML parsing code.
* Added unit tests for model code.
* Added XML date parsing utility function.
* Added util unit tests.
* Added test file.
* Updated code comment.
* Updated TODO.
* Added a TODO for test_saveFileWithError, since I wan't able to get the
threading working properly with the exception and log message.
* Filled unit unit tests for functions with errors.
* Pulled blockingSave out of function so that it's testable.
* Added unit tests for log message.
* Got a response back on the developer forum (from user impiaaa) that the paint
icon REST method works if you use all lower-case (not mentioned in the docs).
Updated the static URL function as well as the testing payload.
* Updated TODO.
* Updated meta and setup files.
* Moved the different types of URLs into their own module.

2009.09.11

* Filled in most of the stubbed unit tests.
* Added missing static URL methods.
* Overrode some of the broken API methods in the original, sync API.
* Added script for updating the payloads module.
* Added admin directory and scripts.
* Fixed up base.FakeServerTestCase.
* Replaced the os calls in the client with methods on FilePath objects.
* Added an import to the model.
* Updated TODO.
* Fixed file endings in fetch-and-save functions.
* Added model module.

2009.09.10

* Added testing payload and base placeholders.
* Added unit test module for client.
* Added client and exception modules.
* Started adding code to the url module. 
* Updated the ChangeLog.
* Added a URL module.
* Added a README file.
* Added image files.
* Added placeholder files.
* Added official Python Spore APIs.
