Home | History | Annotate | Download | only in httplib2
      1 0.12.1
      2 
      3   Catch socket timeouts and clear dead connection
      4   https://github.com/httplib2/httplib2/issues/18
      5   https://github.com/httplib2/httplib2/pull/111
      6 
      7   Officially support Python 3.7 (package metadata)
      8   https://github.com/httplib2/httplib2/issues/123
      9 
     10 0.12.0
     11 
     12   Drop support for Python 3.3
     13 
     14   ca_certs from environment HTTPLIB2_CA_CERTS or certifi
     15   https://github.com/httplib2/httplib2/pull/117
     16 
     17   PROXY_TYPE_HTTP with non-empty user/pass raised TypeError: bytes required
     18   https://github.com/httplib2/httplib2/pull/115
     19 
     20   Revert http:443->https workaround
     21   https://github.com/httplib2/httplib2/issues/112
     22 
     23   eliminate connection pool read race
     24   https://github.com/httplib2/httplib2/pull/110
     25 
     26   cache: stronger safename
     27   https://github.com/httplib2/httplib2/pull/101
     28 
     29 0.11.3
     30 
     31   No changes, just reupload of 0.11.2 after fixing automatic release conditions in Travis.
     32 
     33 0.11.2
     34 
     35   proxy: py3 NameError basestring
     36   https://github.com/httplib2/httplib2/pull/100
     37 
     38 0.11.1
     39 
     40   Fix HTTP(S)ConnectionWithTimeout AttributeError proxy_info
     41   https://github.com/httplib2/httplib2/pull/97
     42 
     43 0.11.0
     44 
     45   Add DigiCert Global Root G2 serial 033af1e6a711a9a0bb2864b11d09fae5
     46   https://github.com/httplib2/httplib2/pull/91
     47 
     48   python3 proxy support
     49   https://github.com/httplib2/httplib2/pull/90
     50 
     51   If no_proxy environment value ends with comma then proxy is not used
     52   https://github.com/httplib2/httplib2/issues/11
     53 
     54   fix UnicodeDecodeError using socks5 proxy
     55   https://github.com/httplib2/httplib2/pull/64
     56 
     57   Respect NO_PROXY env var in proxy_info_from_url
     58   https://github.com/httplib2/httplib2/pull/58
     59 
     60   NO_PROXY=bar was matching foobar (suffix without dot delimiter)
     61   New behavior matches curl/wget:
     62   - no_proxy=foo.bar will only skip proxy for exact hostname match
     63   - no_proxy=.wild.card will skip proxy for any.subdomains.wild.card
     64   https://github.com/httplib2/httplib2/issues/94
     65 
     66   Bugfix for Content-Encoding: deflate
     67   https://stackoverflow.com/a/22311297
     68 
     69 0.10.3
     70 
     71   Fix certificate validation on Python<=2.7.8 without ssl.CertificateError
     72   https://github.com/httplib2/httplib2/issues/45
     73 
     74 0.10.2
     75 
     76   Just a reupload of 0.10.1, which was broken for Python3
     77   because wheel distribution doesn't play well with our 2/3 split code base.
     78   https://github.com/httplib2/httplib2/issues/43
     79 
     80 0.10.1
     81 
     82   This is the first release by new httplib2 team. See post by Joe
     83   https://bitworking.org/news/2016/03/an_update_on_httplib2
     84 
     85   Remove VeriSign Class 3 CA from trusted certs
     86   https://googleonlinesecurity.blogspot.com/2015/12/proactive-measures-in-digital.html
     87 
     88   Add IdenTrust DST Root CA X3
     89   https://github.com/httplib2/httplib2/pull/26
     90 
     91   Support for specifying the SSL protocol version (Python v2)
     92   https://github.com/jcgregorio/httplib2/issues/329
     93 
     94   On App Engine use urlfetch's default deadline if None is passed.
     95 
     96   Fix TypeError on AppEngine __init__() got an unexpected keyword argument 'ssl_version
     97   https://github.com/httplib2/httplib2/pull/12
     98 
     99   Send SNI data for SSL connections on Python 2.7.9+
    100   Verify the server hostname if certificate validation is enabled
    101   https://github.com/httplib2/httplib2/pull/13
    102 
    103   Add proxy_headers argument to ProxyInfo constructor
    104   https://github.com/httplib2/httplib2/pull/21
    105 
    106   Make disable_ssl_certificate_validation work with Python 3.5.
    107   https://github.com/httplib2/httplib2/pull/15
    108 
    109   Fix socket error handling
    110   https://github.com/httplib2/httplib2/commit/eb7468561714a5b700d5a3d8fa1a8794de02b9ef
    111   https://github.com/httplib2/httplib2/commit/e7f6e622047107e701ee70e7ec586717d97b0cbb
    112 
    113 0.9.2
    114 
    115   Fixes in this release:
    116 
    117    https://github.com/jcgregorio/httplib2/pull/313
    118 
    119     Fix incorrect ResponseNotReady exceptions, retry on transient errors.
    120 
    121 0.9.1
    122 
    123   Fixes in this release:
    124 
    125     https://github.com/jcgregorio/httplib2/pull/296
    126 
    127         There was a problem with headers when a binary string is passed (like
    128         b'Authorization').
    129 
    130     https://github.com/jcgregorio/httplib2/pull/276
    131 
    132         Default to doing DNS resolution through a proxy server if present.
    133 
    134 0.9
    135   Heartbleed
    136 
    137 0.8
    138   More fixes for the App Engine support.
    139 
    140   Added a new feature that allows you to supply your own provider for the
    141   CA_CERTS file. Just create a module named ca_certs_locater that has a method
    142   get() that returns the file location of the CA_CERTS file.
    143 
    144   Lots of clean up of the code formatting to make it more consistent.
    145 
    146 0.7.7
    147    More fixes for App Engine, now less likely to swallow important exceptions.
    148    Adding proxy_info_from_* methods to Python3. Reviewed in https://codereview.appspot.com/6588078/.
    149    Added GeoTrust cert
    150    Make httplib2.Http() instances pickleable. Reviewed in https://codereview.appspot.com/6506074/
    151 
    152    The following issues have been fixed:
    153 
    154    229 python3 httplib2 clobbers multiple headers of same key
    155    230 Expose meaningful exception for App Engine URLFetch ResponseTooLargeError
    156    231 Expose App Engine URLFetch DeadlineExceededError for debugging purposes
    157 
    158 0.7.6
    159    Fixes for App Engine 2.7.
    160 
    161 0.7.5
    162    Keys are lowercase in a Response object, regardless of how Response object is constructed.
    163    Add control so that Authorization: headers aren't forwarded on a 3xx response by default.
    164    Set the reason correctly when running on App Engine. Patch from Alain Vongsouvanh. Reviewed in http://codereview.appspot.com/6422051/
    165    Fix proxy socks for SSL connections. Fixes issue #199.
    166    You can now set httplib2.RETRIES to the number of retries before a request
    167      is considered to fail It is set to a default of 2 to mimic the traditional
    168      behavior of httplib2.
    169 
    170    The following issues have been addressed:
    171 
    172      223 HEAD requests fail calling the close() method of ResponseDict instance.
    173      222 Can't disable cert validation in appengine
    174      204 Credentials can leak in HTTP redirects
    175      210 Different API between Python 2 and Python 3 version breaks wsgi_intercept
    176      214 ValueError on malformated cache entries
    177      204 Credentials can leak in HTTP redirects
    178 
    179 
    180 0.7.3
    181     ProxyInfo objects now can construct themselves from environment
    182     variables commonly-used in Unix environments. By default, the Http
    183     class will construct a ProxyInfo instance based on these environment
    184     variables. To achieve the previous behavior, where environment
    185     variables are ignored, pass proxy_info=None to Http().
    186 
    187     The following issues have been addressed:
    188 
    189     Issue 159: automatic detection of proxy configuration.
    190     Issue 179: Allow unicode in proxy hostname.
    191     Issue 194: Added support for setuptools.
    192     Fixes for HTTP CONNECT proxies.
    193 
    194 0.7.1
    195     Fix failure to install cacerts.txt for 2.x installs.
    196 
    197 0.7.0
    198     The two major changes in this release are SSL Certificate
    199     checking and App Engine support. By default the certificates
    200     of an HTTPS connection are checked, but that can be disabled
    201     via disable_ssl_certificate_validation. The second change
    202     is that on App Engine there is a new connection object
    203     that utilizes the urlfetch capabilities on App Engine, including
    204     setting timeouts and validating certificates.
    205 
    206     The following issues have been addressed:
    207 
    208     Fixes issue 72. Always lowercase authorization header.
    209     Fix issue 47. Redirects that become a GET should not have a body.
    210     Fixes issue 19. Set Content-location on redirected HEAD requests
    211     Fixes issue 139. Redirect with a GET on 302 regardless of the originating method.
    212     Fixes issue 138. Handle unicode in headers when writing and retrieving cache entries. Who says headers have to be ASCII!
    213     Add certificate validation. Work initially started by Christoph Kern.
    214     Set a version number. Fixes issue # 135.
    215     Sync to latest version of socks.py
    216     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
    217     Uses a custom httplib shim on App Engine to wrap urlfetch, as opposed
    218     Add default support for optimistic concurrency on PATCH requests
    219     Fixes issue 126. IPv6 under various conditions would fail.
    220     Fixes issue 131. Handle socket.timeout's that occur during send.
    221     proxy support: degrade gracefully when socket.socket is unavailable
    222 
    223 
    224 0.6.0
    225 
    226    The following issues have been addressed:
    227 
    228     #51 - Failure to handle server legitimately closing connection before request body is fully sent
    229     #77 - Duplicated caching test
    230     #65 - Transform _normalize_headers into a method of Http class
    231     #45 - Vary header
    232     #73 - All files in Mercurial are executable
    233     #81 - Have a useful .hgignore
    234     #78 - Add release tags to the Mercurial repository
    235     #67 - HEAD requests cause next request to be retried
    236 
    237    Mostly bug fixes, the big enhancement is the addition of proper Vary: header
    238    handling. Thanks to Chris Dent for that change.
    239 
    240    The other big change is the build process for distributions so that both python2 and python3
    241    are included in the same .tar.gz/.zip file.
    242 
    243 0.5.0
    244 
    245    Added Python 3 support
    246 
    247    Fixed the following bugs:
    248 
    249       #12 - Cache-Control: only-if-cached incorrectly does request if item not in cache
    250       #39 - Deprecation warnings in Python 2.6
    251       #54 - Http.request fails accessing Google account via http proxy
    252       #56 - Block on response.read() for HEAD requests.
    253       #57 - Timeout ignore for Python 2.6
    254       #58 - Fixed parsing of Cache-Control: header to make it more robust
    255 
    256   Also fixed a deprecation warning that appeared between Python 3.0 and 3.1.
    257 
    258 0.4.0
    259 
    260    Added support for proxies if the Socksipy module is installed.
    261 
    262    Fixed bug with some HEAD responses having content-length set to
    263    zero incorrectly.
    264 
    265    Fixed most except's to catch a specific exception.
    266 
    267    Added 'connection_type' parameter to Http.request().
    268 
    269    The default for 'force_exception_to_status_code' was changed to False. Defaulting
    270    to True was causing quite a bit of confusion.
    271 
    272 
    273 0.3.0
    274    Calling Http.request() with a relative URI, as opposed to an absolute URI,
    275    will now throw a specific exception.
    276 
    277    Http() now has an additional optional parameter for the socket timeout.
    278 
    279    Exceptions can now be forced into responses. That is, instead of
    280    throwing an exception, a good httlib2.Response object is returned
    281    that describe the error with an appropriate status code.
    282 
    283    Many improvements to the file cache:
    284 
    285      1.  The names in the cache are now much less
    286          opaque, which should help with debugging.
    287 
    288      2.  The disk cache is now Apache mod_asis compatible.
    289 
    290      3.  A Content-Location: header is supplied and stored in the
    291          cache which points to the original requested URI.
    292 
    293    User supplied If-* headers now override httplib2 supplied
    294    versions.
    295 
    296    IRIs are now fully supported. Note that they MUST be passed in
    297    as unicode objects.
    298 
    299    Http.add_credentials() now takes an optional domain to restrict
    300    the credentials to being only used on that domain.
    301 
    302    Added Http.add_certificate() which allows setting
    303    a key and cert for SSL connections.
    304 
    305    Many other bugs fixed.
    306 
    307 
    308 0.2.0
    309    Added support for Google Auth.
    310 
    311    Added experimental support for HMACDigest.
    312 
    313    Added support for a pluggable caching system. Now supports
    314    the old system of using the file system and now memcached.
    315 
    316    Added httplib2.debuglevel which turns on debugging.
    317 
    318    Change Response._previous to Response.previous.
    319 
    320    Added Http.follow_all_redirects which forces
    321    httplib2 to follow all redirects, as opposed to
    322    following only the safe redirects. This makes the
    323    GData protocol easier to use.
    324 
    325    All known bugs fixed to date.
    326 
    327 0.1.1
    328 
    329     Fixed several bugs raised by James Antill:
    330     1. HEAD didn't get an Accept: header added like GET.
    331     2. HEAD requests did not use the cache.
    332     3. GET requests with Range: headers would erroneously return a full cached response.
    333     4. Subsequent requests to resources that had timed out would raise an exception.
    334     And one feature request for 'method' to default to GET.
    335 
    336     Xavier Verges Farrero supplied what I needed to make the
    337     library work with Python 2.3.
    338 
    339     I added distutils based setup.py.
    340 
    341 0.1 Rev 86
    342 
    343     Initial Release
    344 
    345