Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(191)

Side by Side Diff: third_party/google-endpoints/urllib3-1.20.dist-info/DESCRIPTION.rst

Issue 2666783008: Add google-endpoints to third_party/. (Closed)
Patch Set: Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 urllib3
2 =======
3
4 .. image:: https://travis-ci.org/shazow/urllib3.png?branch=master
5 :alt: Build status on Travis
6 :target: https://travis-ci.org/shazow/urllib3
7
8 .. image:: https://readthedocs.org/projects/urllib3/badge/?version=latest
9 :alt: Documentation Status
10 :target: https://urllib3.readthedocs.io/en/latest/
11
12 .. image:: https://img.shields.io/codecov/c/github/shazow/urllib3.svg
13 :alt: Coverage Status
14 :target: https://codecov.io/gh/shazow/urllib3
15
16 .. image:: https://img.shields.io/pypi/v/urllib3.svg?maxAge=86400
17 :alt: PyPI version
18 :target: https://pypi.python.org/pypi/urllib3
19
20 .. image:: https://www.bountysource.com/badge/tracker?tracker_id=192525
21 :alt: Bountysource
22 :target: https://www.bountysource.com/trackers/192525-urllib3?utm_source =192525&utm_medium=shield&utm_campaign=TRACKER_BADGE
23
24 urllib3 is a powerful, *sanity-friendly* HTTP client for Python. Much of the
25 Python ecosystem already uses urllib3 and you should too.
26 urllib3 brings many critical features that are missing from the Python
27 standard libraries:
28
29 - Thread safety.
30 - Connection pooling.
31 - Client-side SSL/TLS verification.
32 - File uploads with multipart encoding.
33 - Helpers for retrying requests and dealing with HTTP redirects.
34 - Support for gzip and deflate encoding.
35 - Proxy support for HTTP and SOCKS.
36 - 100% test coverage.
37
38 urllib3 is powerful and easy to use::
39
40 >>> import urllib3
41 >>> http = urllib3.PoolManager()
42 >>> r = http.request('GET', 'http://httpbin.org/robots.txt')
43 >>> r.status
44 200
45 >>> r.data
46 'User-agent: *\nDisallow: /deny\n'
47
48 Installing
49 ----------
50
51 urllib3 can be installed with `pip <https://pip.pypa.io>`_::
52
53 $ pip install urllib3
54
55 Alternatively, you can grab the latest source code from `GitHub <https://github. com/shazow/urllib3>`_::
56
57 $ git clone git://github.com/shazow/urllib3.git
58 $ python setup.py install
59
60
61 Documentation
62 -------------
63
64 urllib3 has usage and reference documentation at `urllib3.readthedocs.io <https: //urllib3.readthedocs.io>`_.
65
66
67 Contributing
68 ------------
69
70 urllib3 happily accepts contributions. Please see our
71 `contributing documentation <https://urllib3.readthedocs.io/en/latest/contributi ng.html>`_
72 for some tips on getting started.
73
74 Maintainers
75 -----------
76
77 - `@lukasa <https://github.com/lukasa>`_ (Cory Benfield)
78 - `@sigmavirus24 <https://github.com/sigmavirus24>`_ (Ian Cordasco)
79 - `@shazow <https://github.com/shazow>`_ (Andrey Petrov)
80
81 👋
82
83 Sponsorship
84 -----------
85
86 If your company benefits from this library, please consider `sponsoring its
87 development <https://urllib3.readthedocs.io/en/latest/contributing.html#sponsors hip>`_.
88
89
90 Changes
91 =======
92
93 1.20 (2017-01-19)
94 -----------------
95
96 * Added support for waiting for I/O using selectors other than select,
97 improving urllib3's behaviour with large numbers of concurrent connections.
98 (Pull #1001)
99
100 * Updated the date for the system clock check. (Issue #1005)
101
102 * ConnectionPools now correctly consider hostnames to be case-insensitive.
103 (Issue #1032)
104
105 * Outdated versions of PyOpenSSL now cause the PyOpenSSL contrib module
106 to fail when it is injected, rather than at first use. (Pull #1063)
107
108 * Outdated versions of cryptography now cause the PyOpenSSL contrib module
109 to fail when it is injected, rather than at first use. (Issue #1044)
110
111 * Automatically attempt to rewind a file-like body object when a request is
112 retried or redirected. (Pull #1039)
113
114 * Fix some bugs that occur when modules incautiously patch the queue module.
115 (Pull #1061)
116
117 * Prevent retries from occuring on read timeouts for which the request method
118 was not in the method whitelist. (Issue #1059)
119
120 * Changed the PyOpenSSL contrib module to lazily load idna to avoid
121 unnecessarily bloating the memory of programs that don't need it. (Pull
122 #1076)
123
124 * Add support for IPv6 literals with zone identifiers. (Pull #1013)
125
126 * Added support for socks5h:// and socks4a:// schemes when working with SOCKS
127 proxies, and controlled remote DNS appropriately. (Issue #1035)
128
129
130 1.19.1 (2016-11-16)
131 -------------------
132
133 * Fixed AppEngine import that didn't function on Python 3.5. (Pull #1025)
134
135
136 1.19 (2016-11-03)
137 -----------------
138
139 * urllib3 now respects Retry-After headers on 413, 429, and 503 responses when
140 using the default retry logic. (Pull #955)
141
142 * Remove markers from setup.py to assist ancient setuptools versions. (Issue
143 #986)
144
145 * Disallow superscripts and other integerish things in URL ports. (Issue #989)
146
147 * Allow urllib3's HTTPResponse.stream() method to continue to work with
148 non-httplib underlying FPs. (Pull #990)
149
150 * Empty filenames in multipart headers are now emitted as such, rather than
151 being supressed. (Issue #1015)
152
153 * Prefer user-supplied Host headers on chunked uploads. (Issue #1009)
154
155
156 1.18.1 (2016-10-27)
157 -------------------
158
159 * CVE-2016-9015. Users who are using urllib3 version 1.17 or 1.18 along with
160 PyOpenSSL injection and OpenSSL 1.1.0 *must* upgrade to this version. This
161 release fixes a vulnerability whereby urllib3 in the above configuration
162 would silently fail to validate TLS certificates due to erroneously setting
163 invalid flags in OpenSSL's ``SSL_CTX_set_verify`` function. These erroneous
164 flags do not cause a problem in OpenSSL versions before 1.1.0, which
165 interprets the presence of any flag as requesting certificate validation.
166
167 There is no PR for this patch, as it was prepared for simultaneous disclosure
168 and release. The master branch received the same fix in PR #1010.
169
170
171 1.18 (2016-09-26)
172 -----------------
173
174 * Fixed incorrect message for IncompleteRead exception. (PR #973)
175
176 * Accept ``iPAddress`` subject alternative name fields in TLS certificates.
177 (Issue #258)
178
179 * Fixed consistency of ``HTTPResponse.closed`` between Python 2 and 3.
180 (Issue #977)
181
182 * Fixed handling of wildcard certificates when using PyOpenSSL. (Issue #979)
183
184
185 1.17 (2016-09-06)
186 -----------------
187
188 * Accept ``SSLContext`` objects for use in SSL/TLS negotiation. (Issue #835)
189
190 * ConnectionPool debug log now includes scheme, host, and port. (Issue #897)
191
192 * Substantially refactored documentation. (Issue #887)
193
194 * Used URLFetch default timeout on AppEngine, rather than hardcoding our own.
195 (Issue #858)
196
197 * Normalize the scheme and host in the URL parser (Issue #833)
198
199 * ``HTTPResponse`` contains the last ``Retry`` object, which now also
200 contains retries history. (Issue #848)
201
202 * Timeout can no longer be set as boolean, and must be greater than zero.
203 (PR #924)
204
205 * Removed pyasn1 and ndg-httpsclient from dependencies used for PyOpenSSL. We
206 now use cryptography and idna, both of which are already dependencies of
207 PyOpenSSL. (PR #930)
208
209 * Fixed infinite loop in ``stream`` when amt=None. (Issue #928)
210
211 * Try to use the operating system's certificates when we are using an
212 ``SSLContext``. (PR #941)
213
214 * Updated cipher suite list to allow ChaCha20+Poly1305. AES-GCM is preferred to
215 ChaCha20, but ChaCha20 is then preferred to everything else. (PR #947)
216
217 * Updated cipher suite list to remove 3DES-based cipher suites. (PR #958)
218
219 * Removed the cipher suite fallback to allow HIGH ciphers. (PR #958)
220
221 * Implemented ``length_remaining`` to determine remaining content
222 to be read. (PR #949)
223
224 * Implemented ``enforce_content_length`` to enable exceptions when
225 incomplete data chunks are received. (PR #949)
226
227 * Dropped connection start, dropped connection reset, redirect, forced retry,
228 and new HTTPS connection log levels to DEBUG, from INFO. (PR #967)
229
230
231 1.16 (2016-06-11)
232 -----------------
233
234 * Disable IPv6 DNS when IPv6 connections are not possible. (Issue #840)
235
236 * Provide ``key_fn_by_scheme`` pool keying mechanism that can be
237 overridden. (Issue #830)
238
239 * Normalize scheme and host to lowercase for pool keys, and include
240 ``source_address``. (Issue #830)
241
242 * Cleaner exception chain in Python 3 for ``_make_request``.
243 (Issue #861)
244
245 * Fixed installing ``urllib3[socks]`` extra. (Issue #864)
246
247 * Fixed signature of ``ConnectionPool.close`` so it can actually safely be
248 called by subclasses. (Issue #873)
249
250 * Retain ``release_conn`` state across retries. (Issues #651, #866)
251
252 * Add customizable ``HTTPConnectionPool.ResponseCls``, which defaults to
253 ``HTTPResponse`` but can be replaced with a subclass. (Issue #879)
254
255
256 1.15.1 (2016-04-11)
257 -------------------
258
259 * Fix packaging to include backports module. (Issue #841)
260
261
262 1.15 (2016-04-06)
263 -----------------
264
265 * Added Retry(raise_on_status=False). (Issue #720)
266
267 * Always use setuptools, no more distutils fallback. (Issue #785)
268
269 * Dropped support for Python 3.2. (Issue #786)
270
271 * Chunked transfer encoding when requesting with ``chunked=True``.
272 (Issue #790)
273
274 * Fixed regression with IPv6 port parsing. (Issue #801)
275
276 * Append SNIMissingWarning messages to allow users to specify it in
277 the PYTHONWARNINGS environment variable. (Issue #816)
278
279 * Handle unicode headers in Py2. (Issue #818)
280
281 * Log certificate when there is a hostname mismatch. (Issue #820)
282
283 * Preserve order of request/response headers. (Issue #821)
284
285
286 1.14 (2015-12-29)
287 -----------------
288
289 * contrib: SOCKS proxy support! (Issue #762)
290
291 * Fixed AppEngine handling of transfer-encoding header and bug
292 in Timeout defaults checking. (Issue #763)
293
294
295 1.13.1 (2015-12-18)
296 -------------------
297
298 * Fixed regression in IPv6 + SSL for match_hostname. (Issue #761)
299
300
301 1.13 (2015-12-14)
302 -----------------
303
304 * Fixed ``pip install urllib3[secure]`` on modern pip. (Issue #706)
305
306 * pyopenssl: Fixed SSL3_WRITE_PENDING error. (Issue #717)
307
308 * pyopenssl: Support for TLSv1.1 and TLSv1.2. (Issue #696)
309
310 * Close connections more defensively on exception. (Issue #734)
311
312 * Adjusted ``read_chunked`` to handle gzipped, chunk-encoded bodies without
313 repeatedly flushing the decoder, to function better on Jython. (Issue #743)
314
315 * Accept ``ca_cert_dir`` for SSL-related PoolManager configuration. (Issue #758)
316
317
318 1.12 (2015-09-03)
319 -----------------
320
321 * Rely on ``six`` for importing ``httplib`` to work around
322 conflicts with other Python 3 shims. (Issue #688)
323
324 * Add support for directories of certificate authorities, as supported by
325 OpenSSL. (Issue #701)
326
327 * New exception: ``NewConnectionError``, raised when we fail to establish
328 a new connection, usually ``ECONNREFUSED`` socket error.
329
330
331 1.11 (2015-07-21)
332 -----------------
333
334 * When ``ca_certs`` is given, ``cert_reqs`` defaults to
335 ``'CERT_REQUIRED'``. (Issue #650)
336
337 * ``pip install urllib3[secure]`` will install Certifi and
338 PyOpenSSL as dependencies. (Issue #678)
339
340 * Made ``HTTPHeaderDict`` usable as a ``headers`` input value
341 (Issues #632, #679)
342
343 * Added `urllib3.contrib.appengine <https://urllib3.readthedocs.io/en/latest/con trib.html#google-app-engine>`_
344 which has an ``AppEngineManager`` for using ``URLFetch`` in a
345 Google AppEngine environment. (Issue #664)
346
347 * Dev: Added test suite for AppEngine. (Issue #631)
348
349 * Fix performance regression when using PyOpenSSL. (Issue #626)
350
351 * Passing incorrect scheme (e.g. ``foo://``) will raise
352 ``ValueError`` instead of ``AssertionError`` (backwards
353 compatible for now, but please migrate). (Issue #640)
354
355 * Fix pools not getting replenished when an error occurs during a
356 request using ``release_conn=False``. (Issue #644)
357
358 * Fix pool-default headers not applying for url-encoded requests
359 like GET. (Issue #657)
360
361 * log.warning in Python 3 when headers are skipped due to parsing
362 errors. (Issue #642)
363
364 * Close and discard connections if an error occurs during read.
365 (Issue #660)
366
367 * Fix host parsing for IPv6 proxies. (Issue #668)
368
369 * Separate warning type SubjectAltNameWarning, now issued once
370 per host. (Issue #671)
371
372 * Fix ``httplib.IncompleteRead`` not getting converted to
373 ``ProtocolError`` when using ``HTTPResponse.stream()``
374 (Issue #674)
375
376 1.10.4 (2015-05-03)
377 -------------------
378
379 * Migrate tests to Tornado 4. (Issue #594)
380
381 * Append default warning configuration rather than overwrite.
382 (Issue #603)
383
384 * Fix streaming decoding regression. (Issue #595)
385
386 * Fix chunked requests losing state across keep-alive connections.
387 (Issue #599)
388
389 * Fix hanging when chunked HEAD response has no body. (Issue #605)
390
391
392 1.10.3 (2015-04-21)
393 -------------------
394
395 * Emit ``InsecurePlatformWarning`` when SSLContext object is missing.
396 (Issue #558)
397
398 * Fix regression of duplicate header keys being discarded.
399 (Issue #563)
400
401 * ``Response.stream()`` returns a generator for chunked responses.
402 (Issue #560)
403
404 * Set upper-bound timeout when waiting for a socket in PyOpenSSL.
405 (Issue #585)
406
407 * Work on platforms without `ssl` module for plain HTTP requests.
408 (Issue #587)
409
410 * Stop relying on the stdlib's default cipher list. (Issue #588)
411
412
413 1.10.2 (2015-02-25)
414 -------------------
415
416 * Fix file descriptor leakage on retries. (Issue #548)
417
418 * Removed RC4 from default cipher list. (Issue #551)
419
420 * Header performance improvements. (Issue #544)
421
422 * Fix PoolManager not obeying redirect retry settings. (Issue #553)
423
424
425 1.10.1 (2015-02-10)
426 -------------------
427
428 * Pools can be used as context managers. (Issue #545)
429
430 * Don't re-use connections which experienced an SSLError. (Issue #529)
431
432 * Don't fail when gzip decoding an empty stream. (Issue #535)
433
434 * Add sha256 support for fingerprint verification. (Issue #540)
435
436 * Fixed handling of header values containing commas. (Issue #533)
437
438
439 1.10 (2014-12-14)
440 -----------------
441
442 * Disabled SSLv3. (Issue #473)
443
444 * Add ``Url.url`` property to return the composed url string. (Issue #394)
445
446 * Fixed PyOpenSSL + gevent ``WantWriteError``. (Issue #412)
447
448 * ``MaxRetryError.reason`` will always be an exception, not string.
449 (Issue #481)
450
451 * Fixed SSL-related timeouts not being detected as timeouts. (Issue #492)
452
453 * Py3: Use ``ssl.create_default_context()`` when available. (Issue #473)
454
455 * Emit ``InsecureRequestWarning`` for *every* insecure HTTPS request.
456 (Issue #496)
457
458 * Emit ``SecurityWarning`` when certificate has no ``subjectAltName``.
459 (Issue #499)
460
461 * Close and discard sockets which experienced SSL-related errors.
462 (Issue #501)
463
464 * Handle ``body`` param in ``.request(...)``. (Issue #513)
465
466 * Respect timeout with HTTPS proxy. (Issue #505)
467
468 * PyOpenSSL: Handle ZeroReturnError exception. (Issue #520)
469
470
471 1.9.1 (2014-09-13)
472 ------------------
473
474 * Apply socket arguments before binding. (Issue #427)
475
476 * More careful checks if fp-like object is closed. (Issue #435)
477
478 * Fixed packaging issues of some development-related files not
479 getting included. (Issue #440)
480
481 * Allow performing *only* fingerprint verification. (Issue #444)
482
483 * Emit ``SecurityWarning`` if system clock is waaay off. (Issue #445)
484
485 * Fixed PyOpenSSL compatibility with PyPy. (Issue #450)
486
487 * Fixed ``BrokenPipeError`` and ``ConnectionError`` handling in Py3.
488 (Issue #443)
489
490
491
492 1.9 (2014-07-04)
493 ----------------
494
495 * Shuffled around development-related files. If you're maintaining a distro
496 package of urllib3, you may need to tweak things. (Issue #415)
497
498 * Unverified HTTPS requests will trigger a warning on the first request. See
499 our new `security documentation
500 <https://urllib3.readthedocs.io/en/latest/security.html>`_ for details.
501 (Issue #426)
502
503 * New retry logic and ``urllib3.util.retry.Retry`` configuration object.
504 (Issue #326)
505
506 * All raised exceptions should now wrapped in a
507 ``urllib3.exceptions.HTTPException``-extending exception. (Issue #326)
508
509 * All errors during a retry-enabled request should be wrapped in
510 ``urllib3.exceptions.MaxRetryError``, including timeout-related exceptions
511 which were previously exempt. Underlying error is accessible from the
512 ``.reason`` propery. (Issue #326)
513
514 * ``urllib3.exceptions.ConnectionError`` renamed to
515 ``urllib3.exceptions.ProtocolError``. (Issue #326)
516
517 * Errors during response read (such as IncompleteRead) are now wrapped in
518 ``urllib3.exceptions.ProtocolError``. (Issue #418)
519
520 * Requesting an empty host will raise ``urllib3.exceptions.LocationValueError``.
521 (Issue #417)
522
523 * Catch read timeouts over SSL connections as
524 ``urllib3.exceptions.ReadTimeoutError``. (Issue #419)
525
526 * Apply socket arguments before connecting. (Issue #427)
527
528
529 1.8.3 (2014-06-23)
530 ------------------
531
532 * Fix TLS verification when using a proxy in Python 3.4.1. (Issue #385)
533
534 * Add ``disable_cache`` option to ``urllib3.util.make_headers``. (Issue #393)
535
536 * Wrap ``socket.timeout`` exception with
537 ``urllib3.exceptions.ReadTimeoutError``. (Issue #399)
538
539 * Fixed proxy-related bug where connections were being reused incorrectly.
540 (Issues #366, #369)
541
542 * Added ``socket_options`` keyword parameter which allows to define
543 ``setsockopt`` configuration of new sockets. (Issue #397)
544
545 * Removed ``HTTPConnection.tcp_nodelay`` in favor of
546 ``HTTPConnection.default_socket_options``. (Issue #397)
547
548 * Fixed ``TypeError`` bug in Python 2.6.4. (Issue #411)
549
550
551 1.8.2 (2014-04-17)
552 ------------------
553
554 * Fix ``urllib3.util`` not being included in the package.
555
556
557 1.8.1 (2014-04-17)
558 ------------------
559
560 * Fix AppEngine bug of HTTPS requests going out as HTTP. (Issue #356)
561
562 * Don't install ``dummyserver`` into ``site-packages`` as it's only needed
563 for the test suite. (Issue #362)
564
565 * Added support for specifying ``source_address``. (Issue #352)
566
567
568 1.8 (2014-03-04)
569 ----------------
570
571 * Improved url parsing in ``urllib3.util.parse_url`` (properly parse '@' in
572 username, and blank ports like 'hostname:').
573
574 * New ``urllib3.connection`` module which contains all the HTTPConnection
575 objects.
576
577 * Several ``urllib3.util.Timeout``-related fixes. Also changed constructor
578 signature to a more sensible order. [Backwards incompatible]
579 (Issues #252, #262, #263)
580
581 * Use ``backports.ssl_match_hostname`` if it's installed. (Issue #274)
582
583 * Added ``.tell()`` method to ``urllib3.response.HTTPResponse`` which
584 returns the number of bytes read so far. (Issue #277)
585
586 * Support for platforms without threading. (Issue #289)
587
588 * Expand default-port comparison in ``HTTPConnectionPool.is_same_host``
589 to allow a pool with no specified port to be considered equal to to an
590 HTTP/HTTPS url with port 80/443 explicitly provided. (Issue #305)
591
592 * Improved default SSL/TLS settings to avoid vulnerabilities.
593 (Issue #309)
594
595 * Fixed ``urllib3.poolmanager.ProxyManager`` not retrying on connect errors.
596 (Issue #310)
597
598 * Disable Nagle's Algorithm on the socket for non-proxies. A subset of requests
599 will send the entire HTTP request ~200 milliseconds faster; however, some of
600 the resulting TCP packets will be smaller. (Issue #254)
601
602 * Increased maximum number of SubjectAltNames in ``urllib3.contrib.pyopenssl``
603 from the default 64 to 1024 in a single certificate. (Issue #318)
604
605 * Headers are now passed and stored as a custom
606 ``urllib3.collections_.HTTPHeaderDict`` object rather than a plain ``dict``.
607 (Issue #329, #333)
608
609 * Headers no longer lose their case on Python 3. (Issue #236)
610
611 * ``urllib3.contrib.pyopenssl`` now uses the operating system's default CA
612 certificates on inject. (Issue #332)
613
614 * Requests with ``retries=False`` will immediately raise any exceptions without
615 wrapping them in ``MaxRetryError``. (Issue #348)
616
617 * Fixed open socket leak with SSL-related failures. (Issue #344, #348)
618
619
620 1.7.1 (2013-09-25)
621 ------------------
622
623 * Added granular timeout support with new ``urllib3.util.Timeout`` class.
624 (Issue #231)
625
626 * Fixed Python 3.4 support. (Issue #238)
627
628
629 1.7 (2013-08-14)
630 ----------------
631
632 * More exceptions are now pickle-able, with tests. (Issue #174)
633
634 * Fixed redirecting with relative URLs in Location header. (Issue #178)
635
636 * Support for relative urls in ``Location: ...`` header. (Issue #179)
637
638 * ``urllib3.response.HTTPResponse`` now inherits from ``io.IOBase`` for bonus
639 file-like functionality. (Issue #187)
640
641 * Passing ``assert_hostname=False`` when creating a HTTPSConnectionPool will
642 skip hostname verification for SSL connections. (Issue #194)
643
644 * New method ``urllib3.response.HTTPResponse.stream(...)`` which acts as a
645 generator wrapped around ``.read(...)``. (Issue #198)
646
647 * IPv6 url parsing enforces brackets around the hostname. (Issue #199)
648
649 * Fixed thread race condition in
650 ``urllib3.poolmanager.PoolManager.connection_from_host(...)`` (Issue #204)
651
652 * ``ProxyManager`` requests now include non-default port in ``Host: ...``
653 header. (Issue #217)
654
655 * Added HTTPS proxy support in ``ProxyManager``. (Issue #170 #139)
656
657 * New ``RequestField`` object can be passed to the ``fields=...`` param which
658 can specify headers. (Issue #220)
659
660 * Raise ``urllib3.exceptions.ProxyError`` when connecting to proxy fails.
661 (Issue #221)
662
663 * Use international headers when posting file names. (Issue #119)
664
665 * Improved IPv6 support. (Issue #203)
666
667
668 1.6 (2013-04-25)
669 ----------------
670
671 * Contrib: Optional SNI support for Py2 using PyOpenSSL. (Issue #156)
672
673 * ``ProxyManager`` automatically adds ``Host: ...`` header if not given.
674
675 * Improved SSL-related code. ``cert_req`` now optionally takes a string like
676 "REQUIRED" or "NONE". Same with ``ssl_version`` takes strings like "SSLv23"
677 The string values reflect the suffix of the respective constant variable.
678 (Issue #130)
679
680 * Vendored ``socksipy`` now based on Anorov's fork which handles unexpectedly
681 closed proxy connections and larger read buffers. (Issue #135)
682
683 * Ensure the connection is closed if no data is received, fixes connection leak
684 on some platforms. (Issue #133)
685
686 * Added SNI support for SSL/TLS connections on Py32+. (Issue #89)
687
688 * Tests fixed to be compatible with Py26 again. (Issue #125)
689
690 * Added ability to choose SSL version by passing an ``ssl.PROTOCOL_*`` constant
691 to the ``ssl_version`` parameter of ``HTTPSConnectionPool``. (Issue #109)
692
693 * Allow an explicit content type to be specified when encoding file fields.
694 (Issue #126)
695
696 * Exceptions are now pickleable, with tests. (Issue #101)
697
698 * Fixed default headers not getting passed in some cases. (Issue #99)
699
700 * Treat "content-encoding" header value as case-insensitive, per RFC 2616
701 Section 3.5. (Issue #110)
702
703 * "Connection Refused" SocketErrors will get retried rather than raised.
704 (Issue #92)
705
706 * Updated vendored ``six``, no longer overrides the global ``six`` module
707 namespace. (Issue #113)
708
709 * ``urllib3.exceptions.MaxRetryError`` contains a ``reason`` property holding
710 the exception that prompted the final retry. If ``reason is None`` then it
711 was due to a redirect. (Issue #92, #114)
712
713 * Fixed ``PoolManager.urlopen()`` from not redirecting more than once.
714 (Issue #149)
715
716 * Don't assume ``Content-Type: text/plain`` for multi-part encoding parameters
717 that are not files. (Issue #111)
718
719 * Pass `strict` param down to ``httplib.HTTPConnection``. (Issue #122)
720
721 * Added mechanism to verify SSL certificates by fingerprint (md5, sha1) or
722 against an arbitrary hostname (when connecting by IP or for misconfigured
723 servers). (Issue #140)
724
725 * Streaming decompression support. (Issue #159)
726
727
728 1.5 (2012-08-02)
729 ----------------
730
731 * Added ``urllib3.add_stderr_logger()`` for quickly enabling STDERR debug
732 logging in urllib3.
733
734 * Native full URL parsing (including auth, path, query, fragment) available in
735 ``urllib3.util.parse_url(url)``.
736
737 * Built-in redirect will switch method to 'GET' if status code is 303.
738 (Issue #11)
739
740 * ``urllib3.PoolManager`` strips the scheme and host before sending the request
741 uri. (Issue #8)
742
743 * New ``urllib3.exceptions.DecodeError`` exception for when automatic decoding,
744 based on the Content-Type header, fails.
745
746 * Fixed bug with pool depletion and leaking connections (Issue #76). Added
747 explicit connection closing on pool eviction. Added
748 ``urllib3.PoolManager.clear()``.
749
750 * 99% -> 100% unit test coverage.
751
752
753 1.4 (2012-06-16)
754 ----------------
755
756 * Minor AppEngine-related fixes.
757
758 * Switched from ``mimetools.choose_boundary`` to ``uuid.uuid4()``.
759
760 * Improved url parsing. (Issue #73)
761
762 * IPv6 url support. (Issue #72)
763
764
765 1.3 (2012-03-25)
766 ----------------
767
768 * Removed pre-1.0 deprecated API.
769
770 * Refactored helpers into a ``urllib3.util`` submodule.
771
772 * Fixed multipart encoding to support list-of-tuples for keys with multiple
773 values. (Issue #48)
774
775 * Fixed multiple Set-Cookie headers in response not getting merged properly in
776 Python 3. (Issue #53)
777
778 * AppEngine support with Py27. (Issue #61)
779
780 * Minor ``encode_multipart_formdata`` fixes related to Python 3 strings vs
781 bytes.
782
783
784 1.2.2 (2012-02-06)
785 ------------------
786
787 * Fixed packaging bug of not shipping ``test-requirements.txt``. (Issue #47)
788
789
790 1.2.1 (2012-02-05)
791 ------------------
792
793 * Fixed another bug related to when ``ssl`` module is not available. (Issue #41)
794
795 * Location parsing errors now raise ``urllib3.exceptions.LocationParseError``
796 which inherits from ``ValueError``.
797
798
799 1.2 (2012-01-29)
800 ----------------
801
802 * Added Python 3 support (tested on 3.2.2)
803
804 * Dropped Python 2.5 support (tested on 2.6.7, 2.7.2)
805
806 * Use ``select.poll`` instead of ``select.select`` for platforms that support
807 it.
808
809 * Use ``Queue.LifoQueue`` instead of ``Queue.Queue`` for more aggressive
810 connection reusing. Configurable by overriding ``ConnectionPool.QueueCls``.
811
812 * Fixed ``ImportError`` during install when ``ssl`` module is not available.
813 (Issue #41)
814
815 * Fixed ``PoolManager`` redirects between schemes (such as HTTP -> HTTPS) not
816 completing properly. (Issue #28, uncovered by Issue #10 in v1.1)
817
818 * Ported ``dummyserver`` to use ``tornado`` instead of ``webob`` +
819 ``eventlet``. Removed extraneous unsupported dummyserver testing backends.
820 Added socket-level tests.
821
822 * More tests. Achievement Unlocked: 99% Coverage.
823
824
825 1.1 (2012-01-07)
826 ----------------
827
828 * Refactored ``dummyserver`` to its own root namespace module (used for
829 testing).
830
831 * Added hostname verification for ``VerifiedHTTPSConnection`` by vendoring in
832 Py32's ``ssl_match_hostname``. (Issue #25)
833
834 * Fixed cross-host HTTP redirects when using ``PoolManager``. (Issue #10)
835
836 * Fixed ``decode_content`` being ignored when set through ``urlopen``. (Issue
837 #27)
838
839 * Fixed timeout-related bugs. (Issues #17, #23)
840
841
842 1.0.2 (2011-11-04)
843 ------------------
844
845 * Fixed typo in ``VerifiedHTTPSConnection`` which would only present as a bug if
846 you're using the object manually. (Thanks pyos)
847
848 * Made RecentlyUsedContainer (and consequently PoolManager) more thread-safe by
849 wrapping the access log in a mutex. (Thanks @christer)
850
851 * Made RecentlyUsedContainer more dict-like (corrected ``__delitem__`` and
852 ``__getitem__`` behaviour), with tests. Shouldn't affect core urllib3 code.
853
854
855 1.0.1 (2011-10-10)
856 ------------------
857
858 * Fixed a bug where the same connection would get returned into the pool twice,
859 causing extraneous "HttpConnectionPool is full" log warnings.
860
861
862 1.0 (2011-10-08)
863 ----------------
864
865 * Added ``PoolManager`` with LRU expiration of connections (tested and
866 documented).
867 * Added ``ProxyManager`` (needs tests, docs, and confirmation that it works
868 with HTTPS proxies).
869 * Added optional partial-read support for responses when
870 ``preload_content=False``. You can now make requests and just read the headers
871 without loading the content.
872 * Made response decoding optional (default on, same as before).
873 * Added optional explicit boundary string for ``encode_multipart_formdata``.
874 * Convenience request methods are now inherited from ``RequestMethods``. Old
875 helpers like ``get_url`` and ``post_url`` should be abandoned in favour of
876 the new ``request(method, url, ...)``.
877 * Refactored code to be even more decoupled, reusable, and extendable.
878 * License header added to ``.py`` files.
879 * Embiggened the documentation: Lots of Sphinx-friendly docstrings in the code
880 and docs in ``docs/`` and on urllib3.readthedocs.org.
881 * Embettered all the things!
882 * Started writing this file.
883
884
885 0.4.1 (2011-07-17)
886 ------------------
887
888 * Minor bug fixes, code cleanup.
889
890
891 0.4 (2011-03-01)
892 ----------------
893
894 * Better unicode support.
895 * Added ``VerifiedHTTPSConnection``.
896 * Added ``NTLMConnectionPool`` in contrib.
897 * Minor improvements.
898
899
900 0.3.1 (2010-07-13)
901 ------------------
902
903 * Added ``assert_host_name`` optional parameter. Now compatible with proxies.
904
905
906 0.3 (2009-12-10)
907 ----------------
908
909 * Added HTTPS support.
910 * Minor bug fixes.
911 * Refactored, broken backwards compatibility with 0.2.
912 * API to be treated as stable from this version forward.
913
914
915 0.2 (2008-11-17)
916 ----------------
917
918 * Added unit tests.
919 * Bug fixes.
920
921
922 0.1 (2008-11-16)
923 ----------------
924
925 * First release.
926
927
OLDNEW
« no previous file with comments | « third_party/google-endpoints/tkinter/ttk.py ('k') | third_party/google-endpoints/urllib3-1.20.dist-info/INSTALLER » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698