blob: 4b9f81bf09f212301152e87b2a855b1524059e54 [file] [log] [blame]
Sergey Shepelev46233772017-02-03 22:09:29 +030010.10.1
2
3 This is the first release by new httplib2 team. See post by Joe
4 https://bitworking.org/news/2016/03/an_update_on_httplib2
5
6 Remove VeriSign Class 3 CA from trusted certs
7 https://googleonlinesecurity.blogspot.com/2015/12/proactive-measures-in-digital.html
8
9 Add IdenTrust DST Root CA X3
10 https://github.com/httplib2/httplib2/pull/26
11
12 Support for specifying the SSL protocol version (Python v2)
13 https://github.com/jcgregorio/httplib2/issues/329
14
15 On App Engine use urlfetch's default deadline if None is passed.
16
17 Fix TypeError on AppEngine “__init__() got an unexpected keyword argument 'ssl_version’”
18 https://github.com/httplib2/httplib2/pull/12
19
20 Send SNI data for SSL connections on Python 2.7.9+
21 Verify the server hostname if certificate validation is enabled
22 https://github.com/httplib2/httplib2/pull/13
23
24 Add proxy_headers argument to ProxyInfo constructor
25 https://github.com/httplib2/httplib2/pull/21
26
27 Make disable_ssl_certificate_validation work with Python 3.5.
28 https://github.com/httplib2/httplib2/pull/15
29
30 Fix socket error handling
31 https://github.com/httplib2/httplib2/commit/eb7468561714a5b700d5a3d8fa1a8794de02b9ef
32 https://github.com/httplib2/httplib2/commit/e7f6e622047107e701ee70e7ec586717d97b0cbb
33
Joe Gregoriocf631a72015-09-28 09:49:57 -0400340.9.2
35
36 Fixes in this release:
37
38 https://github.com/jcgregorio/httplib2/pull/313
39
40 Fix incorrect ResponseNotReady exceptions, retry on transient errors.
41
Joe Gregorio1af76a62015-04-09 10:10:39 -0400420.9.1
43
Joe Gregoriof9f79722015-04-11 09:50:15 -040044 Fixes in this release:
45
46 https://github.com/jcgregorio/httplib2/pull/296
47
48 There was a problem with headers when a binary string is passed (like
49 b'Authorization').
50
51 https://github.com/jcgregorio/httplib2/pull/276
52
53 Default to doing DNS resolution through a proxy server if present.
54
Joe Gregorio1af76a62015-04-09 10:10:39 -0400550.9
56 Heartbleed
57
Joe Gregorioee9ee3c2013-03-06 15:31:15 -0500580.8
59 More fixes for the App Engine support.
60
61 Added a new feature that allows you to supply your own provider for the
62 CA_CERTS file. Just create a module named ca_certs_locater that has a method
63 get() that returns the file location of the CA_CERTS file.
64
65 Lots of clean up of the code formatting to make it more consistent.
66
Joe Gregorio76420172012-11-12 14:02:58 -0500670.7.7
68 More fixes for App Engine, now less likely to swallow important exceptions.
69 Adding proxy_info_from_* methods to Python3. Reviewed in https://codereview.appspot.com/6588078/.
70 Added GeoTrust cert
71 Make httplib2.Http() instances pickleable. Reviewed in https://codereview.appspot.com/6506074/
72
73 The following issues have been fixed:
74
75 229 python3 httplib2 clobbers multiple headers of same key
76 230 Expose meaningful exception for App Engine URLFetch ResponseTooLargeError
77 231 Expose App Engine URLFetch DeadlineExceededError for debugging purposes
78
Joe Gregorioa91406d2012-09-11 13:20:44 -0400790.7.6
80 Fixes for App Engine 2.7.
81
Joe Gregorioed72cba2012-08-28 12:19:28 -0400820.7.5
83 Keys are lowercase in a Response object, regardless of how Response object is constructed.
84 Add control so that Authorization: headers aren't forwarded on a 3xx response by default.
85 Set the reason correctly when running on App Engine. Patch from Alain Vongsouvanh. Reviewed in http://codereview.appspot.com/6422051/
86 Fix proxy socks for SSL connections. Fixes issue #199.
87 You can now set httplib2.RETRIES to the number of retries before a request
88 is considered to fail It is set to a default of 2 to mimic the traditional
89 behavior of httplib2.
90
91 The following issues have been addressed:
92
93 223 HEAD requests fail calling the close() method of ResponseDict instance.
94 222 Can't disable cert validation in appengine
95 204 Credentials can leak in HTTP redirects
96 210 Different API between Python 2 and Python 3 version breaks wsgi_intercept
97 214 ValueError on malformated cache entries
98 204 Credentials can leak in HTTP redirects
99
100
Joe Gregoriob850bd02012-03-02 08:37:22 -08001010.7.3
Jason R. Coombs43840892011-08-09 10:30:46 -0400102 ProxyInfo objects now can construct themselves from environment
103 variables commonly-used in Unix environments. By default, the Http
104 class will construct a ProxyInfo instance based on these environment
105 variables. To achieve the previous behavior, where environment
106 variables are ignored, pass proxy_info=None to Http().
107
108 The following issues have been addressed:
109
110 Issue 159: automatic detection of proxy configuration.
Joe Gregoriob850bd02012-03-02 08:37:22 -0800111 Issue 179: Allow unicode in proxy hostname.
112 Issue 194: Added support for setuptools.
113 Fixes for HTTP CONNECT proxies.
Jason R. Coombs43840892011-08-09 10:30:46 -0400114
Joe Gregoriob2cfdf62011-06-16 10:11:13 -04001150.7.1
116 Fix failure to install cacerts.txt for 2.x installs.
117
Joe Gregoriob0c82ca2011-06-13 15:13:11 -04001180.7.0
119 The two major changes in this release are SSL Certificate
120 checking and App Engine support. By default the certificates
121 of an HTTPS connection are checked, but that can be disabled
122 via disable_ssl_certificate_validation. The second change
123 is that on App Engine there is a new connection object
124 that utilizes the urlfetch capabilities on App Engine, including
125 setting timeouts and validating certificates.
126
127 The following issues have been addressed:
128
129 Fixes issue 72. Always lowercase authorization header.
130 Fix issue 47. Redirects that become a GET should not have a body.
131 Fixes issue 19. Set Content-location on redirected HEAD requests
Jason R. Coombs43840892011-08-09 10:30:46 -0400132 Fixes issue 139. Redirect with a GET on 302 regardless of the originating method.
133 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 -0400134 Add certificate validation. Work initially started by Christoph Kern.
135 Set a version number. Fixes issue # 135.
136 Sync to latest version of socks.py
137 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
138 Uses a custom httplib shim on App Engine to wrap urlfetch, as opposed
139 Add default support for optimistic concurrency on PATCH requests
140 Fixes issue 126. IPv6 under various conditions would fail.
141 Fixes issue 131. Handle socket.timeout's that occur during send.
142 proxy support: degrade gracefully when socket.socket is unavailable
143
144
Joe Gregoriof3116552009-12-28 13:02:42 -05001450.6.0
146
147 The following issues have been addressed:
148
Jason R. Coombs43840892011-08-09 10:30:46 -0400149 #51 - Failure to handle server legitimately closing connection before request body is fully sent
150 #77 - Duplicated caching test
Joe Gregoriof3116552009-12-28 13:02:42 -0500151 #65 - Transform _normalize_headers into a method of Http class
Jason R. Coombs43840892011-08-09 10:30:46 -0400152 #45 - Vary header
153 #73 - All files in Mercurial are executable
154 #81 - Have a useful .hgignore
155 #78 - Add release tags to the Mercurial repository
156 #67 - HEAD requests cause next request to be retried
Joe Gregoriof3116552009-12-28 13:02:42 -0500157
158 Mostly bug fixes, the big enhancement is the addition of proper Vary: header
159 handling. Thanks to Chris Dent for that change.
160
161 The other big change is the build process for distributions so that both python2 and python3
162 are included in the same .tar.gz/.zip file.
163
Joe Gregorio66611ff2009-07-19 01:32:17 -04001640.5.0
165
166 Added Python 3 support
167
168 Fixed the following bugs:
169
Jason R. Coombs43840892011-08-09 10:30:46 -0400170 #12 - Cache-Control: only-if-cached incorrectly does request if item not in cache
Joe Gregorio66611ff2009-07-19 01:32:17 -0400171 #39 - Deprecation warnings in Python 2.6
Joe Gregorio891439e2009-07-28 10:52:36 -0400172 #54 - Http.request fails accesing Google account via http proxy
Joe Gregorio66611ff2009-07-19 01:32:17 -0400173 #56 - Block on response.read() for HEAD requests.
174 #57 - Timeout ignore for Python 2.6
175 #58 - Fixed parsing of Cache-Control: header to make it more robust
176
Joe Gregorio891439e2009-07-28 10:52:36 -0400177 Also fixed a deprecation warning that appeared between Python 3.0 and 3.1.
Joe Gregorio66611ff2009-07-19 01:32:17 -0400178
joe.gregorio5fcc1992007-10-23 15:12:17 +00001790.4.0
jcgregorio14644372007-07-30 14:13:37 +0000180
joe.gregorio5fcc1992007-10-23 15:12:17 +0000181 Added support for proxies if the Socksipy module is installed.
182
Jason R. Coombs43840892011-08-09 10:30:46 -0400183 Fixed bug with some HEAD responses having content-length set to
joe.gregorio5fcc1992007-10-23 15:12:17 +0000184 zero incorrectly.
185
186 Fixed most except's to catch a specific exception.
jcgregorio14644372007-07-30 14:13:37 +0000187
188 Added 'connection_type' parameter to Http.request().
Jason R. Coombs43840892011-08-09 10:30:46 -0400189
joe.gregorio5fcc1992007-10-23 15:12:17 +0000190 The default for 'force_exception_to_status_code' was changed to False. Defaulting
191 to True was causing quite a bit of confusion.
jcgregorio14644372007-07-30 14:13:37 +0000192
193
jcgregorio463a8db2007-03-09 03:27:14 +00001940.3.0
195 Calling Http.request() with a relative URI, as opposed to an absolute URI,
196 will now throw a specific exception.
197
198 Http() now has an additional optional parameter for the socket timeout.
199
200 Exceptions can now be forced into responses. That is, instead of
201 throwing an exception, a good httlib2.Response object is returned
202 that describe the error with an appropriate status code.
203
204 Many improvements to the file cache:
205
Jason R. Coombs43840892011-08-09 10:30:46 -0400206 1. The names in the cache are now much less
jcgregorio463a8db2007-03-09 03:27:14 +0000207 opaque, which should help with debugging.
208
Jason R. Coombs43840892011-08-09 10:30:46 -0400209 2. The disk cache is now Apache mod_asis compatible.
210
jcgregorio463a8db2007-03-09 03:27:14 +0000211 3. A Content-Location: header is supplied and stored in the
212 cache which points to the original requested URI.
213
214 User supplied If-* headers now override httplib2 supplied
215 versions.
216
217 IRIs are now fully supported. Note that they MUST be passed in
218 as unicode objects.
219
220 Http.add_credentials() now takes an optional domain to restrict
221 the credentials to being only used on that domain.
222
Jason R. Coombs43840892011-08-09 10:30:46 -0400223 Added Http.add_certificate() which allows setting
jcgregorio463a8db2007-03-09 03:27:14 +0000224 a key and cert for SSL connnections.
225
226 Many other bugs fixed.
227
228
jcgregorioa0713ab2006-07-01 05:21:34 +00002290.2.0
230 Added support for Google Auth.
jcgregorio2d66d4f2006-02-07 05:34:14 +0000231
Jason R. Coombs43840892011-08-09 10:30:46 -0400232 Added experimental support for HMACDigest.
jcgregorioa0713ab2006-07-01 05:21:34 +0000233
jcgregorio92088922006-07-01 05:53:21 +0000234 Added support for a pluggable caching system. Now supports
235 the old system of using the file system and now memcached.
236
Jason R. Coombs43840892011-08-09 10:30:46 -0400237 Added httplib2.debuglevel which turns on debugging.
jcgregorio2d66d4f2006-02-07 05:34:14 +0000238
jcgregorio92088922006-07-01 05:53:21 +0000239 Change Response._previous to Response.previous.
240
241 Addded Http.follow_all_redirects which forces
Jason R. Coombs43840892011-08-09 10:30:46 -0400242 httplib2 to follow all redirects, as opposed to
jcgregorio92088922006-07-01 05:53:21 +0000243 following only the safe redirects. This makes the
244 GData protocol easier to use.
245
246 All known bugs fixed to date.
247
jcgregorio8421f272006-02-14 18:19:51 +00002480.1.1
jcgregorio2d66d4f2006-02-07 05:34:14 +0000249
jcgregorio4177ca12006-02-16 10:50:58 +0000250 Fixed several bugs raised by James Antill:
jcgregorio2d66d4f2006-02-07 05:34:14 +0000251 1. HEAD didn't get an Accept: header added like GET.
252 2. HEAD requests did not use the cache.
253 3. GET requests with Range: headers would erroneously return a full cached response.
jcgregorio8421f272006-02-14 18:19:51 +0000254 4. Subsequent requests to resources that had timed out would raise an exception.
jcgregorio2d66d4f2006-02-07 05:34:14 +0000255 And one feature request for 'method' to default to GET.
256
Jason R. Coombs43840892011-08-09 10:30:46 -0400257 Xavier Verges Farrero supplied what I needed to make the
jcgregorio4177ca12006-02-16 10:50:58 +0000258 library work with Python 2.3.
jcgregorio8421f272006-02-14 18:19:51 +0000259
jcgregorio1eed40f2006-02-15 18:56:46 +0000260 I added distutils based setup.py.
261
Jason R. Coombs43840892011-08-09 10:30:46 -04002620.1 Rev 86
263
jcgregorio2d66d4f2006-02-07 05:34:14 +0000264 Initial Release
265