- Add support for gzip decompression
- Make listify_headers UTF-8 encode keys (bugfix see issue #55).
- Make HTTPTimeoutError inherit from crochet.TimeoutError. This helps with code that still catches crochet.TimeoutError and also helps with a recent change in bravado to convert crochet.TimeoutError into HTTPTimeoutError.
- Move TLS support into an extras so that the vast majority of users that are not using TLS don't need to install extra dependencies. If you do use TLS/SSL please make sure you're installing (or depending on) fido[tls].
- Drop support for Python 2.6, fixing a build failure due to attrs not being Python 2.6 compatible anymore.
- Throw HTTPTimeoutError only if it was caused by CancelledError (bugfix).
- Refactoring exceptions to distinguish between Connection errors and HTTP request/response errors.
- Fido is daemonization-safe with a solution similar to the one on crochet (reactor is not initialized at fido import time, see itamarst/crochet#45). Forking is still discouraged.
- Fido is python 3 ready.
- Bytes are required for body now.
- User agent must be passed as any other header to fetch()
- Don't send content-type='application/json' by default anymore.
- Fido twisted client redesigned by the book (Twisted Network Programming Essentials).
- Fix CRITICAL :: twisted - Unhandled error in Deferred.
- Fix use of crochet library handling the reactor thread (@run_in_reactor and EventualResult).
- Drop concurrent.futures in favor of crochet EventualResult.
- Improved handling of timeout errors and exceptions in reactor thread.
- Increased test coverage and documentation.
- Don't unnecessarily constrain the version of twisted when not using python 2.6.
- Remove content-length when using FileBodyProducer
- Fix issue where errors from a request aren't getting raised.
- Fix duplicate Content-Length request headers when body is not empty. Twisted already takes care of this.
- Add reason to fido.Response
- Don't schedule a timer cancelation when the timeout is None
- Default timeout in fido.fetch(..) has changed from 1s to None (wait indefinitely). This will change the behavior of existing code that doesn't pass in a timeout explicitly.
- Add support for connect_timeout
- Add CHANGELOG
- Issue #1 - Listify headers
- Fix Content-Length header to be a string
- Fix flaky unit tests
- Add http proxy support
- Fix unicode issues