blob: fd29f9f03d6707fffed30a72af5dd4897c08d4e3 [file] [log] [blame]
Sergey Shepelev86c3b4e2018-11-14 09:40:05 +050010.12.0
2
3 Drop support for Python 3.3
4
5 ca_certs from environment HTTPLIB2_CA_CERTS or certifi
6 https://github.com/httplib2/httplib2/pull/117
7
8 PROXY_TYPE_HTTP with non-empty user/pass raised TypeError: bytes required
9 https://github.com/httplib2/httplib2/pull/115
10
11 Revert http:443->https workaround
12 https://github.com/httplib2/httplib2/issues/112
13
14 eliminate connection pool read race
15 https://github.com/httplib2/httplib2/pull/110
16
17 cache: stronger safename
18 https://github.com/httplib2/httplib2/pull/101
19
Sergey Shepelev70fb0c82018-03-30 05:17:35 +0300200.11.3
21
22 No changes, just reupload of 0.11.2 after fixing automatic release conditions in Travis.
23
Sergey Shepelev470bb2a2018-03-30 02:29:48 +0300240.11.2
25
26 proxy: py3 NameError basestring
27 https://github.com/httplib2/httplib2/pull/100
28
Sergey Shepelevf20cd362018-03-26 20:15:07 +0300290.11.1
30
31 Fix HTTP(S)ConnectionWithTimeout AttributeError proxy_info
32 https://github.com/httplib2/httplib2/pull/97
33
Sergey Shepelev5dee7292018-03-21 21:13:04 +0300340.11.0
35
36 Add DigiCert Global Root G2 serial 033af1e6a711a9a0bb2864b11d09fae5
37 https://github.com/httplib2/httplib2/pull/91
38
39 python3 proxy support
40 https://github.com/httplib2/httplib2/pull/90
41
42 If no_proxy environment value ends with comma then proxy is not used
43 https://github.com/httplib2/httplib2/issues/11
44
45 fix UnicodeDecodeError using socks5 proxy
46 https://github.com/httplib2/httplib2/pull/64
47
48 Respect NO_PROXY env var in proxy_info_from_url
49 https://github.com/httplib2/httplib2/pull/58
50
51 NO_PROXY=bar was matching foobar (suffix without dot delimiter)
52 New behavior matches curl/wget:
53 - no_proxy=foo.bar will only skip proxy for exact hostname match
54 - no_proxy=.wild.card will skip proxy for any.subdomains.wild.card
55 https://github.com/httplib2/httplib2/issues/94
56
57 Bugfix for Content-Encoding: deflate
58 https://stackoverflow.com/a/22311297
59
Sergey Shepelev1ae16e02017-02-06 20:56:20 +0300600.10.3
61
62 Fix certificate validation on Python<=2.7.8 without ssl.CertificateError
63 https://github.com/httplib2/httplib2/issues/45
64
Sergey Shepelev7b54fbb2017-02-04 00:09:28 +0300650.10.2
66
67 Just a reupload of 0.10.1, which was broken for Python3
68 because wheel distribution doesn't play well with our 2/3 split code base.
69 https://github.com/httplib2/httplib2/issues/43
70
Sergey Shepelev46233772017-02-03 22:09:29 +0300710.10.1
72
73 This is the first release by new httplib2 team. See post by Joe
74 https://bitworking.org/news/2016/03/an_update_on_httplib2
75
76 Remove VeriSign Class 3 CA from trusted certs
77 https://googleonlinesecurity.blogspot.com/2015/12/proactive-measures-in-digital.html
78
79 Add IdenTrust DST Root CA X3
80 https://github.com/httplib2/httplib2/pull/26
81
82 Support for specifying the SSL protocol version (Python v2)
83 https://github.com/jcgregorio/httplib2/issues/329
84
85 On App Engine use urlfetch's default deadline if None is passed.
86
87 Fix TypeError on AppEngine __init__() got an unexpected keyword argument 'ssl_version’”
88 https://github.com/httplib2/httplib2/pull/12
89
90 Send SNI data for SSL connections on Python 2.7.9+
91 Verify the server hostname if certificate validation is enabled
92 https://github.com/httplib2/httplib2/pull/13
93
94 Add proxy_headers argument to ProxyInfo constructor
95 https://github.com/httplib2/httplib2/pull/21
96
97 Make disable_ssl_certificate_validation work with Python 3.5.
98 https://github.com/httplib2/httplib2/pull/15
99
100 Fix socket error handling
101 https://github.com/httplib2/httplib2/commit/eb7468561714a5b700d5a3d8fa1a8794de02b9ef
102 https://github.com/httplib2/httplib2/commit/e7f6e622047107e701ee70e7ec586717d97b0cbb
103
Joe Gregoriocf631a72015-09-28 09:49:57 -04001040.9.2
105
106 Fixes in this release:
107
108 https://github.com/jcgregorio/httplib2/pull/313
109
110 Fix incorrect ResponseNotReady exceptions, retry on transient errors.
111
Joe Gregorio1af76a62015-04-09 10:10:39 -04001120.9.1
113
Joe Gregoriof9f79722015-04-11 09:50:15 -0400114 Fixes in this release:
115
116 https://github.com/jcgregorio/httplib2/pull/296
117
118 There was a problem with headers when a binary string is passed (like
119 b'Authorization').
120
121 https://github.com/jcgregorio/httplib2/pull/276
122
123 Default to doing DNS resolution through a proxy server if present.
124
Joe Gregorio1af76a62015-04-09 10:10:39 -04001250.9
126 Heartbleed
127
Joe Gregorioee9ee3c2013-03-06 15:31:15 -05001280.8
129 More fixes for the App Engine support.
130
131 Added a new feature that allows you to supply your own provider for the
132 CA_CERTS file. Just create a module named ca_certs_locater that has a method
133 get() that returns the file location of the CA_CERTS file.
134
135 Lots of clean up of the code formatting to make it more consistent.
136
Joe Gregorio76420172012-11-12 14:02:58 -05001370.7.7
138 More fixes for App Engine, now less likely to swallow important exceptions.
139 Adding proxy_info_from_* methods to Python3. Reviewed in https://codereview.appspot.com/6588078/.
140 Added GeoTrust cert
141 Make httplib2.Http() instances pickleable. Reviewed in https://codereview.appspot.com/6506074/
142
143 The following issues have been fixed:
144
145 229 python3 httplib2 clobbers multiple headers of same key
146 230 Expose meaningful exception for App Engine URLFetch ResponseTooLargeError
147 231 Expose App Engine URLFetch DeadlineExceededError for debugging purposes
148
Joe Gregorioa91406d2012-09-11 13:20:44 -04001490.7.6
150 Fixes for App Engine 2.7.
151
Joe Gregorioed72cba2012-08-28 12:19:28 -04001520.7.5
153 Keys are lowercase in a Response object, regardless of how Response object is constructed.
154 Add control so that Authorization: headers aren't forwarded on a 3xx response by default.
155 Set the reason correctly when running on App Engine. Patch from Alain Vongsouvanh. Reviewed in http://codereview.appspot.com/6422051/
156 Fix proxy socks for SSL connections. Fixes issue #199.
157 You can now set httplib2.RETRIES to the number of retries before a request
158 is considered to fail It is set to a default of 2 to mimic the traditional
159 behavior of httplib2.
160
161 The following issues have been addressed:
162
163 223 HEAD requests fail calling the close() method of ResponseDict instance.
164 222 Can't disable cert validation in appengine
165 204 Credentials can leak in HTTP redirects
166 210 Different API between Python 2 and Python 3 version breaks wsgi_intercept
167 214 ValueError on malformated cache entries
168 204 Credentials can leak in HTTP redirects
169
170
Joe Gregoriob850bd02012-03-02 08:37:22 -08001710.7.3
Jason R. Coombs43840892011-08-09 10:30:46 -0400172 ProxyInfo objects now can construct themselves from environment
173 variables commonly-used in Unix environments. By default, the Http
174 class will construct a ProxyInfo instance based on these environment
175 variables. To achieve the previous behavior, where environment
176 variables are ignored, pass proxy_info=None to Http().
177
178 The following issues have been addressed:
179
180 Issue 159: automatic detection of proxy configuration.
Joe Gregoriob850bd02012-03-02 08:37:22 -0800181 Issue 179: Allow unicode in proxy hostname.
182 Issue 194: Added support for setuptools.
183 Fixes for HTTP CONNECT proxies.
Jason R. Coombs43840892011-08-09 10:30:46 -0400184
Joe Gregoriob2cfdf62011-06-16 10:11:13 -04001850.7.1
186 Fix failure to install cacerts.txt for 2.x installs.
187
Joe Gregoriob0c82ca2011-06-13 15:13:11 -04001880.7.0
189 The two major changes in this release are SSL Certificate
190 checking and App Engine support. By default the certificates
191 of an HTTPS connection are checked, but that can be disabled
192 via disable_ssl_certificate_validation. The second change
193 is that on App Engine there is a new connection object
194 that utilizes the urlfetch capabilities on App Engine, including
195 setting timeouts and validating certificates.
196
197 The following issues have been addressed:
198
199 Fixes issue 72. Always lowercase authorization header.
200 Fix issue 47. Redirects that become a GET should not have a body.
201 Fixes issue 19. Set Content-location on redirected HEAD requests
Jason R. Coombs43840892011-08-09 10:30:46 -0400202 Fixes issue 139. Redirect with a GET on 302 regardless of the originating method.
203 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 -0400204 Add certificate validation. Work initially started by Christoph Kern.
205 Set a version number. Fixes issue # 135.
206 Sync to latest version of socks.py
207 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
208 Uses a custom httplib shim on App Engine to wrap urlfetch, as opposed
209 Add default support for optimistic concurrency on PATCH requests
210 Fixes issue 126. IPv6 under various conditions would fail.
211 Fixes issue 131. Handle socket.timeout's that occur during send.
212 proxy support: degrade gracefully when socket.socket is unavailable
213
214
Joe Gregoriof3116552009-12-28 13:02:42 -05002150.6.0
216
217 The following issues have been addressed:
218
Jason R. Coombs43840892011-08-09 10:30:46 -0400219 #51 - Failure to handle server legitimately closing connection before request body is fully sent
220 #77 - Duplicated caching test
Joe Gregoriof3116552009-12-28 13:02:42 -0500221 #65 - Transform _normalize_headers into a method of Http class
Jason R. Coombs43840892011-08-09 10:30:46 -0400222 #45 - Vary header
223 #73 - All files in Mercurial are executable
224 #81 - Have a useful .hgignore
225 #78 - Add release tags to the Mercurial repository
226 #67 - HEAD requests cause next request to be retried
Joe Gregoriof3116552009-12-28 13:02:42 -0500227
228 Mostly bug fixes, the big enhancement is the addition of proper Vary: header
229 handling. Thanks to Chris Dent for that change.
230
231 The other big change is the build process for distributions so that both python2 and python3
232 are included in the same .tar.gz/.zip file.
233
Joe Gregorio66611ff2009-07-19 01:32:17 -04002340.5.0
235
236 Added Python 3 support
237
238 Fixed the following bugs:
239
Jason R. Coombs43840892011-08-09 10:30:46 -0400240 #12 - Cache-Control: only-if-cached incorrectly does request if item not in cache
Joe Gregorio66611ff2009-07-19 01:32:17 -0400241 #39 - Deprecation warnings in Python 2.6
Jakub Wilk4b22c7e2017-03-02 00:05:56 +0100242 #54 - Http.request fails accessing Google account via http proxy
Joe Gregorio66611ff2009-07-19 01:32:17 -0400243 #56 - Block on response.read() for HEAD requests.
244 #57 - Timeout ignore for Python 2.6
245 #58 - Fixed parsing of Cache-Control: header to make it more robust
246
Joe Gregorio891439e2009-07-28 10:52:36 -0400247 Also fixed a deprecation warning that appeared between Python 3.0 and 3.1.
Joe Gregorio66611ff2009-07-19 01:32:17 -0400248
joe.gregorio5fcc1992007-10-23 15:12:17 +00002490.4.0
jcgregorio14644372007-07-30 14:13:37 +0000250
joe.gregorio5fcc1992007-10-23 15:12:17 +0000251 Added support for proxies if the Socksipy module is installed.
252
Jason R. Coombs43840892011-08-09 10:30:46 -0400253 Fixed bug with some HEAD responses having content-length set to
joe.gregorio5fcc1992007-10-23 15:12:17 +0000254 zero incorrectly.
255
256 Fixed most except's to catch a specific exception.
jcgregorio14644372007-07-30 14:13:37 +0000257
258 Added 'connection_type' parameter to Http.request().
Jason R. Coombs43840892011-08-09 10:30:46 -0400259
joe.gregorio5fcc1992007-10-23 15:12:17 +0000260 The default for 'force_exception_to_status_code' was changed to False. Defaulting
261 to True was causing quite a bit of confusion.
jcgregorio14644372007-07-30 14:13:37 +0000262
263
jcgregorio463a8db2007-03-09 03:27:14 +00002640.3.0
265 Calling Http.request() with a relative URI, as opposed to an absolute URI,
266 will now throw a specific exception.
267
268 Http() now has an additional optional parameter for the socket timeout.
269
270 Exceptions can now be forced into responses. That is, instead of
271 throwing an exception, a good httlib2.Response object is returned
272 that describe the error with an appropriate status code.
273
274 Many improvements to the file cache:
275
Jason R. Coombs43840892011-08-09 10:30:46 -0400276 1. The names in the cache are now much less
jcgregorio463a8db2007-03-09 03:27:14 +0000277 opaque, which should help with debugging.
278
Jason R. Coombs43840892011-08-09 10:30:46 -0400279 2. The disk cache is now Apache mod_asis compatible.
280
jcgregorio463a8db2007-03-09 03:27:14 +0000281 3. A Content-Location: header is supplied and stored in the
282 cache which points to the original requested URI.
283
284 User supplied If-* headers now override httplib2 supplied
285 versions.
286
287 IRIs are now fully supported. Note that they MUST be passed in
288 as unicode objects.
289
290 Http.add_credentials() now takes an optional domain to restrict
291 the credentials to being only used on that domain.
292
Jason R. Coombs43840892011-08-09 10:30:46 -0400293 Added Http.add_certificate() which allows setting
Jakub Wilk4b22c7e2017-03-02 00:05:56 +0100294 a key and cert for SSL connections.
jcgregorio463a8db2007-03-09 03:27:14 +0000295
296 Many other bugs fixed.
297
298
jcgregorioa0713ab2006-07-01 05:21:34 +00002990.2.0
300 Added support for Google Auth.
jcgregorio2d66d4f2006-02-07 05:34:14 +0000301
Jason R. Coombs43840892011-08-09 10:30:46 -0400302 Added experimental support for HMACDigest.
jcgregorioa0713ab2006-07-01 05:21:34 +0000303
jcgregorio92088922006-07-01 05:53:21 +0000304 Added support for a pluggable caching system. Now supports
305 the old system of using the file system and now memcached.
306
Jason R. Coombs43840892011-08-09 10:30:46 -0400307 Added httplib2.debuglevel which turns on debugging.
jcgregorio2d66d4f2006-02-07 05:34:14 +0000308
jcgregorio92088922006-07-01 05:53:21 +0000309 Change Response._previous to Response.previous.
310
Jakub Wilk4b22c7e2017-03-02 00:05:56 +0100311 Added Http.follow_all_redirects which forces
Jason R. Coombs43840892011-08-09 10:30:46 -0400312 httplib2 to follow all redirects, as opposed to
jcgregorio92088922006-07-01 05:53:21 +0000313 following only the safe redirects. This makes the
314 GData protocol easier to use.
315
316 All known bugs fixed to date.
317
jcgregorio8421f272006-02-14 18:19:51 +00003180.1.1
jcgregorio2d66d4f2006-02-07 05:34:14 +0000319
jcgregorio4177ca12006-02-16 10:50:58 +0000320 Fixed several bugs raised by James Antill:
jcgregorio2d66d4f2006-02-07 05:34:14 +0000321 1. HEAD didn't get an Accept: header added like GET.
322 2. HEAD requests did not use the cache.
323 3. GET requests with Range: headers would erroneously return a full cached response.
jcgregorio8421f272006-02-14 18:19:51 +0000324 4. Subsequent requests to resources that had timed out would raise an exception.
jcgregorio2d66d4f2006-02-07 05:34:14 +0000325 And one feature request for 'method' to default to GET.
326
Jason R. Coombs43840892011-08-09 10:30:46 -0400327 Xavier Verges Farrero supplied what I needed to make the
jcgregorio4177ca12006-02-16 10:50:58 +0000328 library work with Python 2.3.
jcgregorio8421f272006-02-14 18:19:51 +0000329
jcgregorio1eed40f2006-02-15 18:56:46 +0000330 I added distutils based setup.py.
331
Jason R. Coombs43840892011-08-09 10:30:46 -04003320.1 Rev 86
333
jcgregorio2d66d4f2006-02-07 05:34:14 +0000334 Initial Release
335