| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209 |
- 0.8
- More fixes for the App Engine support.
- Added a new feature that allows you to supply your own provider for the
- CA_CERTS file. Just create a module named ca_certs_locater that has a method
- get() that returns the file location of the CA_CERTS file.
- Lots of clean up of the code formatting to make it more consistent.
- 0.7.7
- More fixes for App Engine, now less likely to swallow important exceptions.
- Adding proxy_info_from_* methods to Python3. Reviewed in https://codereview.appspot.com/6588078/.
- Added GeoTrust cert
- Make httplib2.Http() instances pickleable. Reviewed in https://codereview.appspot.com/6506074/
- The following issues have been fixed:
- 229 python3 httplib2 clobbers multiple headers of same key
- 230 Expose meaningful exception for App Engine URLFetch ResponseTooLargeError
- 231 Expose App Engine URLFetch DeadlineExceededError for debugging purposes
- 0.7.6
- Fixes for App Engine 2.7.
- 0.7.5
- Keys are lowercase in a Response object, regardless of how Response object is constructed.
- Add control so that Authorization: headers aren't forwarded on a 3xx response by default.
- Set the reason correctly when running on App Engine. Patch from Alain Vongsouvanh. Reviewed in http://codereview.appspot.com/6422051/
- Fix proxy socks for SSL connections. Fixes issue #199.
- You can now set httplib2.RETRIES to the number of retries before a request
- is considered to fail It is set to a default of 2 to mimic the traditional
- behavior of httplib2.
- The following issues have been addressed:
- 223 HEAD requests fail calling the close() method of ResponseDict instance.
- 222 Can't disable cert validation in appengine
- 204 Credentials can leak in HTTP redirects
- 210 Different API between Python 2 and Python 3 version breaks wsgi_intercept
- 214 ValueError on malformated cache entries
- 204 Credentials can leak in HTTP redirects
- 0.7.3
- ProxyInfo objects now can construct themselves from environment
- variables commonly-used in Unix environments. By default, the Http
- class will construct a ProxyInfo instance based on these environment
- variables. To achieve the previous behavior, where environment
- variables are ignored, pass proxy_info=None to Http().
- The following issues have been addressed:
- Issue 159: automatic detection of proxy configuration.
- Issue 179: Allow unicode in proxy hostname.
- Issue 194: Added support for setuptools.
- Fixes for HTTP CONNECT proxies.
- 0.7.1
- Fix failure to install cacerts.txt for 2.x installs.
- 0.7.0
- The two major changes in this release are SSL Certificate
- checking and App Engine support. By default the certificates
- of an HTTPS connection are checked, but that can be disabled
- via disable_ssl_certificate_validation. The second change
- is that on App Engine there is a new connection object
- that utilizes the urlfetch capabilities on App Engine, including
- setting timeouts and validating certificates.
- The following issues have been addressed:
- Fixes issue 72. Always lowercase authorization header.
- Fix issue 47. Redirects that become a GET should not have a body.
- Fixes issue 19. Set Content-location on redirected HEAD requests
- Fixes issue 139. Redirect with a GET on 302 regardless of the originating method.
- Fixes issue 138. Handle unicode in headers when writing and retrieving cache entries. Who says headers have to be ASCII!
- Add certificate validation. Work initially started by Christoph Kern.
- Set a version number. Fixes issue # 135.
- Sync to latest version of socks.py
- Add gzip to the user-agent, in case we are making a request to an app engine project: http://code.google.com/appengine/kb/general.html#compression
- Uses a custom httplib shim on App Engine to wrap urlfetch, as opposed
- Add default support for optimistic concurrency on PATCH requests
- Fixes issue 126. IPv6 under various conditions would fail.
- Fixes issue 131. Handle socket.timeout's that occur during send.
- proxy support: degrade gracefully when socket.socket is unavailable
- 0.6.0
- The following issues have been addressed:
- #51 - Failure to handle server legitimately closing connection before request body is fully sent
- #77 - Duplicated caching test
- #65 - Transform _normalize_headers into a method of Http class
- #45 - Vary header
- #73 - All files in Mercurial are executable
- #81 - Have a useful .hgignore
- #78 - Add release tags to the Mercurial repository
- #67 - HEAD requests cause next request to be retried
- Mostly bug fixes, the big enhancement is the addition of proper Vary: header
- handling. Thanks to Chris Dent for that change.
- The other big change is the build process for distributions so that both python2 and python3
- are included in the same .tar.gz/.zip file.
- 0.5.0
- Added Python 3 support
- Fixed the following bugs:
- #12 - Cache-Control: only-if-cached incorrectly does request if item not in cache
- #39 - Deprecation warnings in Python 2.6
- #54 - Http.request fails accesing Google account via http proxy
- #56 - Block on response.read() for HEAD requests.
- #57 - Timeout ignore for Python 2.6
- #58 - Fixed parsing of Cache-Control: header to make it more robust
- Also fixed a deprecation warning that appeared between Python 3.0 and 3.1.
- 0.4.0
- Added support for proxies if the Socksipy module is installed.
- Fixed bug with some HEAD responses having content-length set to
- zero incorrectly.
- Fixed most except's to catch a specific exception.
- Added 'connection_type' parameter to Http.request().
- The default for 'force_exception_to_status_code' was changed to False. Defaulting
- to True was causing quite a bit of confusion.
- 0.3.0
- Calling Http.request() with a relative URI, as opposed to an absolute URI,
- will now throw a specific exception.
- Http() now has an additional optional parameter for the socket timeout.
- Exceptions can now be forced into responses. That is, instead of
- throwing an exception, a good httlib2.Response object is returned
- that describe the error with an appropriate status code.
- Many improvements to the file cache:
- 1. The names in the cache are now much less
- opaque, which should help with debugging.
- 2. The disk cache is now Apache mod_asis compatible.
- 3. A Content-Location: header is supplied and stored in the
- cache which points to the original requested URI.
- User supplied If-* headers now override httplib2 supplied
- versions.
- IRIs are now fully supported. Note that they MUST be passed in
- as unicode objects.
- Http.add_credentials() now takes an optional domain to restrict
- the credentials to being only used on that domain.
- Added Http.add_certificate() which allows setting
- a key and cert for SSL connnections.
- Many other bugs fixed.
- 0.2.0
- Added support for Google Auth.
- Added experimental support for HMACDigest.
- Added support for a pluggable caching system. Now supports
- the old system of using the file system and now memcached.
- Added httplib2.debuglevel which turns on debugging.
- Change Response._previous to Response.previous.
- Addded Http.follow_all_redirects which forces
- httplib2 to follow all redirects, as opposed to
- following only the safe redirects. This makes the
- GData protocol easier to use.
- All known bugs fixed to date.
- 0.1.1
- Fixed several bugs raised by James Antill:
- 1. HEAD didn't get an Accept: header added like GET.
- 2. HEAD requests did not use the cache.
- 3. GET requests with Range: headers would erroneously return a full cached response.
- 4. Subsequent requests to resources that had timed out would raise an exception.
- And one feature request for 'method' to default to GET.
- Xavier Verges Farrero supplied what I needed to make the
- library work with Python 2.3.
- I added distutils based setup.py.
- 0.1 Rev 86
- Initial Release
|