blob: 4aaf05d2e046c8c11db4a298a1af9c0ea15fef4a [file] [log] [blame]
Joe Gregoriob850bd02012-03-02 08:37:22 -080010.7.3
Jason R. Coombs43840892011-08-09 10:30:46 -04002 ProxyInfo objects now can construct themselves from environment
3 variables commonly-used in Unix environments. By default, the Http
4 class will construct a ProxyInfo instance based on these environment
5 variables. To achieve the previous behavior, where environment
6 variables are ignored, pass proxy_info=None to Http().
7
8 The following issues have been addressed:
9
10 Issue 159: automatic detection of proxy configuration.
Joe Gregoriob850bd02012-03-02 08:37:22 -080011 Issue 179: Allow unicode in proxy hostname.
12 Issue 194: Added support for setuptools.
13 Fixes for HTTP CONNECT proxies.
Jason R. Coombs43840892011-08-09 10:30:46 -040014
Joe Gregoriob2cfdf62011-06-16 10:11:13 -0400150.7.1
16 Fix failure to install cacerts.txt for 2.x installs.
17
Joe Gregoriob0c82ca2011-06-13 15:13:11 -0400180.7.0
19 The two major changes in this release are SSL Certificate
20 checking and App Engine support. By default the certificates
21 of an HTTPS connection are checked, but that can be disabled
22 via disable_ssl_certificate_validation. The second change
23 is that on App Engine there is a new connection object
24 that utilizes the urlfetch capabilities on App Engine, including
25 setting timeouts and validating certificates.
26
27 The following issues have been addressed:
28
29 Fixes issue 72. Always lowercase authorization header.
30 Fix issue 47. Redirects that become a GET should not have a body.
31 Fixes issue 19. Set Content-location on redirected HEAD requests
Jason R. Coombs43840892011-08-09 10:30:46 -040032 Fixes issue 139. Redirect with a GET on 302 regardless of the originating method.
33 Fixes issue 138. Handle unicode in headers when writing and retrieving cache entries. Who says headers have to be ASCII!
Joe Gregoriob0c82ca2011-06-13 15:13:11 -040034 Add certificate validation. Work initially started by Christoph Kern.
35 Set a version number. Fixes issue # 135.
36 Sync to latest version of socks.py
37 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
38 Uses a custom httplib shim on App Engine to wrap urlfetch, as opposed
39 Add default support for optimistic concurrency on PATCH requests
40 Fixes issue 126. IPv6 under various conditions would fail.
41 Fixes issue 131. Handle socket.timeout's that occur during send.
42 proxy support: degrade gracefully when socket.socket is unavailable
43
44
Joe Gregoriof3116552009-12-28 13:02:42 -0500450.6.0
46
47 The following issues have been addressed:
48
Jason R. Coombs43840892011-08-09 10:30:46 -040049 #51 - Failure to handle server legitimately closing connection before request body is fully sent
50 #77 - Duplicated caching test
Joe Gregoriof3116552009-12-28 13:02:42 -050051 #65 - Transform _normalize_headers into a method of Http class
Jason R. Coombs43840892011-08-09 10:30:46 -040052 #45 - Vary header
53 #73 - All files in Mercurial are executable
54 #81 - Have a useful .hgignore
55 #78 - Add release tags to the Mercurial repository
56 #67 - HEAD requests cause next request to be retried
Joe Gregoriof3116552009-12-28 13:02:42 -050057
58 Mostly bug fixes, the big enhancement is the addition of proper Vary: header
59 handling. Thanks to Chris Dent for that change.
60
61 The other big change is the build process for distributions so that both python2 and python3
62 are included in the same .tar.gz/.zip file.
63
Joe Gregorio66611ff2009-07-19 01:32:17 -0400640.5.0
65
66 Added Python 3 support
67
68 Fixed the following bugs:
69
Jason R. Coombs43840892011-08-09 10:30:46 -040070 #12 - Cache-Control: only-if-cached incorrectly does request if item not in cache
Joe Gregorio66611ff2009-07-19 01:32:17 -040071 #39 - Deprecation warnings in Python 2.6
Joe Gregorio891439e2009-07-28 10:52:36 -040072 #54 - Http.request fails accesing Google account via http proxy
Joe Gregorio66611ff2009-07-19 01:32:17 -040073 #56 - Block on response.read() for HEAD requests.
74 #57 - Timeout ignore for Python 2.6
75 #58 - Fixed parsing of Cache-Control: header to make it more robust
76
Joe Gregorio891439e2009-07-28 10:52:36 -040077 Also fixed a deprecation warning that appeared between Python 3.0 and 3.1.
Joe Gregorio66611ff2009-07-19 01:32:17 -040078
joe.gregorio5fcc1992007-10-23 15:12:17 +0000790.4.0
jcgregorio14644372007-07-30 14:13:37 +000080
joe.gregorio5fcc1992007-10-23 15:12:17 +000081 Added support for proxies if the Socksipy module is installed.
82
Jason R. Coombs43840892011-08-09 10:30:46 -040083 Fixed bug with some HEAD responses having content-length set to
joe.gregorio5fcc1992007-10-23 15:12:17 +000084 zero incorrectly.
85
86 Fixed most except's to catch a specific exception.
jcgregorio14644372007-07-30 14:13:37 +000087
88 Added 'connection_type' parameter to Http.request().
Jason R. Coombs43840892011-08-09 10:30:46 -040089
joe.gregorio5fcc1992007-10-23 15:12:17 +000090 The default for 'force_exception_to_status_code' was changed to False. Defaulting
91 to True was causing quite a bit of confusion.
jcgregorio14644372007-07-30 14:13:37 +000092
93
jcgregorio463a8db2007-03-09 03:27:14 +0000940.3.0
95 Calling Http.request() with a relative URI, as opposed to an absolute URI,
96 will now throw a specific exception.
97
98 Http() now has an additional optional parameter for the socket timeout.
99
100 Exceptions can now be forced into responses. That is, instead of
101 throwing an exception, a good httlib2.Response object is returned
102 that describe the error with an appropriate status code.
103
104 Many improvements to the file cache:
105
Jason R. Coombs43840892011-08-09 10:30:46 -0400106 1. The names in the cache are now much less
jcgregorio463a8db2007-03-09 03:27:14 +0000107 opaque, which should help with debugging.
108
Jason R. Coombs43840892011-08-09 10:30:46 -0400109 2. The disk cache is now Apache mod_asis compatible.
110
jcgregorio463a8db2007-03-09 03:27:14 +0000111 3. A Content-Location: header is supplied and stored in the
112 cache which points to the original requested URI.
113
114 User supplied If-* headers now override httplib2 supplied
115 versions.
116
117 IRIs are now fully supported. Note that they MUST be passed in
118 as unicode objects.
119
120 Http.add_credentials() now takes an optional domain to restrict
121 the credentials to being only used on that domain.
122
Jason R. Coombs43840892011-08-09 10:30:46 -0400123 Added Http.add_certificate() which allows setting
jcgregorio463a8db2007-03-09 03:27:14 +0000124 a key and cert for SSL connnections.
125
126 Many other bugs fixed.
127
128
jcgregorioa0713ab2006-07-01 05:21:34 +00001290.2.0
130 Added support for Google Auth.
jcgregorio2d66d4f2006-02-07 05:34:14 +0000131
Jason R. Coombs43840892011-08-09 10:30:46 -0400132 Added experimental support for HMACDigest.
jcgregorioa0713ab2006-07-01 05:21:34 +0000133
jcgregorio92088922006-07-01 05:53:21 +0000134 Added support for a pluggable caching system. Now supports
135 the old system of using the file system and now memcached.
136
Jason R. Coombs43840892011-08-09 10:30:46 -0400137 Added httplib2.debuglevel which turns on debugging.
jcgregorio2d66d4f2006-02-07 05:34:14 +0000138
jcgregorio92088922006-07-01 05:53:21 +0000139 Change Response._previous to Response.previous.
140
141 Addded Http.follow_all_redirects which forces
Jason R. Coombs43840892011-08-09 10:30:46 -0400142 httplib2 to follow all redirects, as opposed to
jcgregorio92088922006-07-01 05:53:21 +0000143 following only the safe redirects. This makes the
144 GData protocol easier to use.
145
146 All known bugs fixed to date.
147
jcgregorio8421f272006-02-14 18:19:51 +00001480.1.1
jcgregorio2d66d4f2006-02-07 05:34:14 +0000149
jcgregorio4177ca12006-02-16 10:50:58 +0000150 Fixed several bugs raised by James Antill:
jcgregorio2d66d4f2006-02-07 05:34:14 +0000151 1. HEAD didn't get an Accept: header added like GET.
152 2. HEAD requests did not use the cache.
153 3. GET requests with Range: headers would erroneously return a full cached response.
jcgregorio8421f272006-02-14 18:19:51 +0000154 4. Subsequent requests to resources that had timed out would raise an exception.
jcgregorio2d66d4f2006-02-07 05:34:14 +0000155 And one feature request for 'method' to default to GET.
156
Jason R. Coombs43840892011-08-09 10:30:46 -0400157 Xavier Verges Farrero supplied what I needed to make the
jcgregorio4177ca12006-02-16 10:50:58 +0000158 library work with Python 2.3.
jcgregorio8421f272006-02-14 18:19:51 +0000159
jcgregorio1eed40f2006-02-15 18:56:46 +0000160 I added distutils based setup.py.
161
Jason R. Coombs43840892011-08-09 10:30:46 -04001620.1 Rev 86
163
jcgregorio2d66d4f2006-02-07 05:34:14 +0000164 Initial Release
165