424 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			424 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 0.18.1
 | ||
| 
 | ||
|   explicit build-backend workaround for pip build isolation bug
 | ||
|   "AttributeError: 'module' object has no attribute '__legacy__'" on pip install
 | ||
|   https://github.com/httplib2/httplib2/issues/169
 | ||
| 
 | ||
| 0.18.0
 | ||
| 
 | ||
|   IMPORTANT security vulnerability CWE-93 CRLF injection
 | ||
|   Force %xx quote of space, CR, LF characters in uri.
 | ||
|   Special thanks to Recar https://github.com/Ciyfly for discrete notification.
 | ||
|   https://cwe.mitre.org/data/definitions/93.html
 | ||
| 
 | ||
| 0.17.4
 | ||
| 
 | ||
|   Ship test suite in source dist
 | ||
|   https://github.com/httplib2/httplib2/pull/168
 | ||
| 
 | ||
| 0.17.3
 | ||
| 
 | ||
|   IronPython2.7: relative import iri2uri fixes ImportError
 | ||
|   https://github.com/httplib2/httplib2/pull/163
 | ||
| 
 | ||
| 0.17.2
 | ||
| 
 | ||
|   python3 + debug + IPv6 disabled: https raised
 | ||
|   "IndexError: Replacement index 1 out of range for positional args tuple"
 | ||
|   https://github.com/httplib2/httplib2/issues/161
 | ||
| 
 | ||
| 0.17.1
 | ||
| 
 | ||
|   python3: no_proxy was not checked with https
 | ||
|   https://github.com/httplib2/httplib2/issues/160
 | ||
| 
 | ||
| 0.17.0
 | ||
| 
 | ||
|   feature: Http().redirect_codes set, works after follow(_all)_redirects check
 | ||
|   This allows one line workaround for old gcloud library that uses 308
 | ||
|   response without redirect semantics.
 | ||
|   https://github.com/httplib2/httplib2/issues/156
 | ||
| 
 | ||
| 0.16.0
 | ||
| 
 | ||
|   IMPORTANT cache invalidation change, fix 307 keep method, add 308 Redirects
 | ||
|   https://github.com/httplib2/httplib2/issues/151
 | ||
| 
 | ||
|   proxy: username/password as str compatible with pysocks
 | ||
|   https://github.com/httplib2/httplib2/issues/154
 | ||
| 
 | ||
| 0.15.0
 | ||
| 
 | ||
|   python2: regression in connect() error handling
 | ||
|   https://github.com/httplib2/httplib2/pull/150
 | ||
| 
 | ||
|   add support for password protected certificate files
 | ||
|   https://github.com/httplib2/httplib2/pull/143
 | ||
| 
 | ||
|   feature: Http.close() to clean persistent connections and sensitive data
 | ||
|   https://github.com/httplib2/httplib2/pull/149
 | ||
| 
 | ||
| 0.14.0
 | ||
| 
 | ||
|   Python3: PROXY_TYPE_SOCKS5 with str user/pass raised TypeError
 | ||
|   https://github.com/httplib2/httplib2/pull/145
 | ||
| 
 | ||
| 0.13.1
 | ||
| 
 | ||
|   Python3: Use no_proxy
 | ||
|   https://github.com/httplib2/httplib2/pull/140
 | ||
| 
 | ||
| 0.13.0
 | ||
| 
 | ||
|   Allow setting TLS max/min versions
 | ||
|   https://github.com/httplib2/httplib2/pull/138
 | ||
| 
 | ||
| 0.12.3
 | ||
| 
 | ||
|   No changes to library. Distribute py3 wheels.
 | ||
| 
 | ||
| 0.12.1
 | ||
| 
 | ||
|   Catch socket timeouts and clear dead connection
 | ||
|   https://github.com/httplib2/httplib2/issues/18
 | ||
|   https://github.com/httplib2/httplib2/pull/111
 | ||
| 
 | ||
|   Officially support Python 3.7 (package metadata)
 | ||
|   https://github.com/httplib2/httplib2/issues/123
 | ||
| 
 | ||
| 0.12.0
 | ||
| 
 | ||
|   Drop support for Python 3.3
 | ||
| 
 | ||
|   ca_certs from environment HTTPLIB2_CA_CERTS or certifi
 | ||
|   https://github.com/httplib2/httplib2/pull/117
 | ||
| 
 | ||
|   PROXY_TYPE_HTTP with non-empty user/pass raised TypeError: bytes required
 | ||
|   https://github.com/httplib2/httplib2/pull/115
 | ||
| 
 | ||
|   Revert http:443->https workaround
 | ||
|   https://github.com/httplib2/httplib2/issues/112
 | ||
| 
 | ||
|   eliminate connection pool read race
 | ||
|   https://github.com/httplib2/httplib2/pull/110
 | ||
| 
 | ||
|   cache: stronger safename
 | ||
|   https://github.com/httplib2/httplib2/pull/101
 | ||
| 
 | ||
| 0.11.3
 | ||
| 
 | ||
|   No changes, just reupload of 0.11.2 after fixing automatic release conditions in Travis.
 | ||
| 
 | ||
| 0.11.2
 | ||
| 
 | ||
|   proxy: py3 NameError basestring
 | ||
|   https://github.com/httplib2/httplib2/pull/100
 | ||
| 
 | ||
| 0.11.1
 | ||
| 
 | ||
|   Fix HTTP(S)ConnectionWithTimeout AttributeError proxy_info
 | ||
|   https://github.com/httplib2/httplib2/pull/97
 | ||
| 
 | ||
| 0.11.0
 | ||
| 
 | ||
|   Add DigiCert Global Root G2 serial 033af1e6a711a9a0bb2864b11d09fae5
 | ||
|   https://github.com/httplib2/httplib2/pull/91
 | ||
| 
 | ||
|   python3 proxy support
 | ||
|   https://github.com/httplib2/httplib2/pull/90
 | ||
| 
 | ||
|   If no_proxy environment value ends with comma then proxy is not used
 | ||
|   https://github.com/httplib2/httplib2/issues/11
 | ||
| 
 | ||
|   fix UnicodeDecodeError using socks5 proxy
 | ||
|   https://github.com/httplib2/httplib2/pull/64
 | ||
| 
 | ||
|   Respect NO_PROXY env var in proxy_info_from_url
 | ||
|   https://github.com/httplib2/httplib2/pull/58
 | ||
| 
 | ||
|   NO_PROXY=bar was matching foobar (suffix without dot delimiter)
 | ||
|   New behavior matches curl/wget:
 | ||
|   - no_proxy=foo.bar will only skip proxy for exact hostname match
 | ||
|   - no_proxy=.wild.card will skip proxy for any.subdomains.wild.card
 | ||
|   https://github.com/httplib2/httplib2/issues/94
 | ||
| 
 | ||
|   Bugfix for Content-Encoding: deflate
 | ||
|   https://stackoverflow.com/a/22311297
 | ||
| 
 | ||
| 0.10.3
 | ||
| 
 | ||
|   Fix certificate validation on Python<=2.7.8 without ssl.CertificateError
 | ||
|   https://github.com/httplib2/httplib2/issues/45
 | ||
| 
 | ||
| 0.10.2
 | ||
| 
 | ||
|   Just a reupload of 0.10.1, which was broken for Python3
 | ||
|   because wheel distribution doesn't play well with our 2/3 split code base.
 | ||
|   https://github.com/httplib2/httplib2/issues/43
 | ||
| 
 | ||
| 0.10.1
 | ||
| 
 | ||
|   This is the first release by new httplib2 team. See post by Joe
 | ||
|   https://bitworking.org/news/2016/03/an_update_on_httplib2
 | ||
| 
 | ||
|   Remove VeriSign Class 3 CA from trusted certs
 | ||
|   https://googleonlinesecurity.blogspot.com/2015/12/proactive-measures-in-digital.html
 | ||
| 
 | ||
|   Add IdenTrust DST Root CA X3
 | ||
|   https://github.com/httplib2/httplib2/pull/26
 | ||
| 
 | ||
|   Support for specifying the SSL protocol version (Python v2)
 | ||
|   https://github.com/jcgregorio/httplib2/issues/329
 | ||
| 
 | ||
|   On App Engine use urlfetch's default deadline if None is passed.
 | ||
| 
 | ||
|   Fix TypeError on AppEngine “__init__() got an unexpected keyword argument 'ssl_version’”
 | ||
|   https://github.com/httplib2/httplib2/pull/12
 | ||
| 
 | ||
|   Send SNI data for SSL connections on Python 2.7.9+
 | ||
|   Verify the server hostname if certificate validation is enabled
 | ||
|   https://github.com/httplib2/httplib2/pull/13
 | ||
| 
 | ||
|   Add proxy_headers argument to ProxyInfo constructor
 | ||
|   https://github.com/httplib2/httplib2/pull/21
 | ||
| 
 | ||
|   Make disable_ssl_certificate_validation work with Python 3.5.
 | ||
|   https://github.com/httplib2/httplib2/pull/15
 | ||
| 
 | ||
|   Fix socket error handling
 | ||
|   https://github.com/httplib2/httplib2/commit/eb7468561714a5b700d5a3d8fa1a8794de02b9ef
 | ||
|   https://github.com/httplib2/httplib2/commit/e7f6e622047107e701ee70e7ec586717d97b0cbb
 | ||
| 
 | ||
| 0.9.2
 | ||
| 
 | ||
|   Fixes in this release:
 | ||
| 
 | ||
|    https://github.com/jcgregorio/httplib2/pull/313
 | ||
| 
 | ||
|     Fix incorrect ResponseNotReady exceptions, retry on transient errors.
 | ||
| 
 | ||
| 0.9.1
 | ||
| 
 | ||
|   Fixes in this release:
 | ||
| 
 | ||
|     https://github.com/jcgregorio/httplib2/pull/296
 | ||
| 
 | ||
|         There was a problem with headers when a binary string is passed (like
 | ||
|         b'Authorization').
 | ||
| 
 | ||
|     https://github.com/jcgregorio/httplib2/pull/276
 | ||
| 
 | ||
|         Default to doing DNS resolution through a proxy server if present.
 | ||
| 
 | ||
| 0.9
 | ||
|   Heartbleed
 | ||
| 
 | ||
| 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 accessing 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 connections.
 | ||
| 
 | ||
|    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.
 | ||
| 
 | ||
|    Added 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
 | ||
| 
 |