- Catch all response errors to avoid issues parsing the returned body
- Handle a case where [media_mapper] processes an item with an empty "ids" dict
- Switched to manual interface importing to avoid security restrictions
- Convert all datetime properties to UTC
- Allow for charset definitions in "Content-Type" response header
- Display request failed messages in log (with error name/desc)
- Fixed broken logging message
- Properly handle responses where trakt.tv returns errors without a json body
- Re-designed to support trakt 2.0 (note: this isn't a drop-in update - interfaces, objects and methods have changed to match the new API)
- Support for OAuth and xAuth authentication methods
- Simple configuration system
- "title" and "year" parameters are now optional on scrobble() and watching() methods
- [movie] Added unseen() method
- [show/episode] Added unseen() method
- Return None if an action fails validation (instead of raising an exception)
- Added Trakt.configure() method
- Rebuild session on socket.gaierror (workaround for urllib error)
- Fixed bugs sending media actions
- Renamed cancel_watching() to cancelwatching()
- "title" and "year" parameters are now optional on media actions
- [movie] Added seen(), library() and unlibrary() methods
- [movie] Implemented media mapping
- [rate] Added shows(), episodes() and movies() methods
- [show] Added unlibrary() method
- [show/episode] Added library() and seen() methods
- Added @authenticated to MediaInterface.send()
- Fixed missing imports
- Initial release