Quite a few changes, mostly behind the scenes. However, **backwards compatibility is broken** for the `Url` class. It is now a dictionary, behaving like dictionary. It still has the `method` and `original_url` attributes but no longer has _dot_ access to the response data.
_Why?_ Treating those `Url` dictionary keys as class attributes wasn't pythonic; it was a JavaScripty approach that just doesn't fit the expectation of a Python `dict`. Before you could make a request, get a response and access the data in two ways: `response.title` and `response['title']`. Now you can only use `response['title']`. The first way will throw an error. See 15 for more info.
**New--**
- `setup.py test` is available
- `setup.py` uses `2to3` conversion during the build process for Python 3
- test coverage at 100% (for all tested versions of Python)
- response data can be serialized (e.g. data is received as JSON and can be turned back into JSON)
**Fixed--**
- str vs unicode in Python 3 for the `Url` class
- HTTP connections are properly closed
- properly decoding response data in `Embedly.get_services()`
- cleaner version reporting
**Removed--**
- dot/attribute access for `Url` dictionary data
- Python 3.1 support (which may not have worked anyway)