HISTORY.rst 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708
  1. .. :changelog:
  2. Release History
  3. ---------------
  4. 2.0.0 (2013-09-24)
  5. ++++++++++++++++++
  6. **API Changes:**
  7. - Keys in the Headers dictionary are now native strings on all Python versions,
  8. i.e. bytestrings on Python 2, unicode on Python 3.
  9. - Proxy URLs now *must* have an explicit scheme. A ``MissingSchema`` exception
  10. will be raised if they don't.
  11. - Timeouts now apply to read time if ``Stream=False``.
  12. - ``RequestException`` is now a subclass of ``IOError``, not ``RuntimeError``.
  13. - Added new method to ``PreparedRequest`` objects: ``PreparedRequest.copy()``.
  14. - Added new method to ``Session`` objects: ``Session.update_request()``. This
  15. method updates a ``Request`` object with the data (e.g. cookies) stored on
  16. the ``Session``.
  17. - Added new method to ``Session`` objects: ``Session.prepare_request()``. This
  18. method updates and prepares a ``Request`` object, and returns the
  19. corresponding ``PreparedRequest`` object.
  20. - Added new method to ``HTTPAdapter`` objects: ``HTTPAdapter.proxy_headers()``.
  21. This should not be called directly, but improves the subclass interface.
  22. - ``httplib.IncompleteRead`` exceptions caused by incorrect chunked encoding
  23. will now raise a Requests ``ChunkedEncodingError`` instead.
  24. - Invalid percent-escape sequences now cause a Requests ``InvalidURL``
  25. exception to be raised.
  26. - HTTP 208 no longer uses reason phrase ``"im_used"``. Correctly uses
  27. ``"already_reported"``.
  28. - HTTP 226 reason added (``"im_used"``).
  29. **Bugfixes:**
  30. - Vastly improved proxy support, including the CONNECT verb. Special thanks to
  31. the many contributors who worked towards this improvement.
  32. - Cookies are now properly managed when 401 authentication responses are
  33. received.
  34. - Chunked encoding fixes.
  35. - Support for mixed case schemes.
  36. - Better handling of streaming downloads.
  37. - Retrieve environment proxies from more locations.
  38. - Minor cookies fixes.
  39. - Imroved redirect behaviour.
  40. - Improved streaming behaviour, particularly for compressed data.
  41. - Miscellaneous small Python 3 text encoding bugs.
  42. - ``.netrc`` no longer overrides explicit auth.
  43. - Cookies set by hooks are now correctly persisted on Sessions.
  44. - Fix problem with cookies that specify port numbers in their host field.
  45. - ``BytesIO`` can be used to perform streaming uploads.
  46. - More generous parsing of the ``no_proxy`` environment variable.
  47. - Non-string objects can be passed in data values alongside files.
  48. 1.2.3 (2013-05-25)
  49. ++++++++++++++++++
  50. - Simple packaging fix
  51. 1.2.2 (2013-05-23)
  52. ++++++++++++++++++
  53. - Simple packaging fix
  54. 1.2.1 (2013-05-20)
  55. ++++++++++++++++++
  56. - Python 3.3.2 compatibility
  57. - Always percent-encode location headers
  58. - Fix connection adapter matching to be most-specific first
  59. - new argument to the default connection adapter for passing a block argument
  60. - prevent a KeyError when there's no link headers
  61. 1.2.0 (2013-03-31)
  62. ++++++++++++++++++
  63. - Fixed cookies on sessions and on requests
  64. - Significantly change how hooks are dispatched - hooks now receive all the
  65. arguments specified by the user when making a request so hooks can make a
  66. secondary request with the same parameters. This is especially necessary for
  67. authentication handler authors
  68. - certifi support was removed
  69. - Fixed bug where using OAuth 1 with body ``signature_type`` sent no data
  70. - Major proxy work thanks to @Lukasa including parsing of proxy authentication
  71. from the proxy url
  72. - Fix DigestAuth handling too many 401s
  73. - Update vendored urllib3 to include SSL bug fixes
  74. - Allow keyword arguments to be passed to ``json.loads()`` via the
  75. ``Response.json()`` method
  76. - Don't send ``Content-Length`` header by default on ``GET`` or ``HEAD``
  77. requests
  78. - Add ``elapsed`` attribute to ``Response`` objects to time how long a request
  79. took.
  80. - Fix ``RequestsCookieJar``
  81. - Sessions and Adapters are now picklable, i.e., can be used with the
  82. multiprocessing library
  83. - Update charade to version 1.0.3
  84. The change in how hooks are dispatched will likely cause a great deal of
  85. issues.
  86. 1.1.0 (2013-01-10)
  87. ++++++++++++++++++
  88. - CHUNKED REQUESTS
  89. - Support for iterable response bodies
  90. - Assume servers persist redirect params
  91. - Allow explicit content types to be specified for file data
  92. - Make merge_kwargs case-insensitive when looking up keys
  93. 1.0.3 (2012-12-18)
  94. ++++++++++++++++++
  95. - Fix file upload encoding bug
  96. - Fix cookie behavior
  97. 1.0.2 (2012-12-17)
  98. ++++++++++++++++++
  99. - Proxy fix for HTTPAdapter.
  100. 1.0.1 (2012-12-17)
  101. ++++++++++++++++++
  102. - Cert verification exception bug.
  103. - Proxy fix for HTTPAdapter.
  104. 1.0.0 (2012-12-17)
  105. ++++++++++++++++++
  106. - Massive Refactor and Simplification
  107. - Switch to Apache 2.0 license
  108. - Swappable Connection Adapters
  109. - Mountable Connection Adapters
  110. - Mutable ProcessedRequest chain
  111. - /s/prefetch/stream
  112. - Removal of all configuration
  113. - Standard library logging
  114. - Make Response.json() callable, not property.
  115. - Usage of new charade project, which provides python 2 and 3 simultaneous chardet.
  116. - Removal of all hooks except 'response'
  117. - Removal of all authentication helpers (OAuth, Kerberos)
  118. This is not a backwards compatible change.
  119. 0.14.2 (2012-10-27)
  120. +++++++++++++++++++
  121. - Improved mime-compatible JSON handling
  122. - Proxy fixes
  123. - Path hack fixes
  124. - Case-Insensistive Content-Encoding headers
  125. - Support for CJK parameters in form posts
  126. 0.14.1 (2012-10-01)
  127. +++++++++++++++++++
  128. - Python 3.3 Compatibility
  129. - Simply default accept-encoding
  130. - Bugfixes
  131. 0.14.0 (2012-09-02)
  132. ++++++++++++++++++++
  133. - No more iter_content errors if already downloaded.
  134. 0.13.9 (2012-08-25)
  135. +++++++++++++++++++
  136. - Fix for OAuth + POSTs
  137. - Remove exception eating from dispatch_hook
  138. - General bugfixes
  139. 0.13.8 (2012-08-21)
  140. +++++++++++++++++++
  141. - Incredible Link header support :)
  142. 0.13.7 (2012-08-19)
  143. +++++++++++++++++++
  144. - Support for (key, value) lists everywhere.
  145. - Digest Authentication improvements.
  146. - Ensure proxy exclusions work properly.
  147. - Clearer UnicodeError exceptions.
  148. - Automatic casting of URLs to tsrings (fURL and such)
  149. - Bugfixes.
  150. 0.13.6 (2012-08-06)
  151. +++++++++++++++++++
  152. - Long awaited fix for hanging connections!
  153. 0.13.5 (2012-07-27)
  154. +++++++++++++++++++
  155. - Packaging fix
  156. 0.13.4 (2012-07-27)
  157. +++++++++++++++++++
  158. - GSSAPI/Kerberos authentication!
  159. - App Engine 2.7 Fixes!
  160. - Fix leaking connections (from urllib3 update)
  161. - OAuthlib path hack fix
  162. - OAuthlib URL parameters fix.
  163. 0.13.3 (2012-07-12)
  164. +++++++++++++++++++
  165. - Use simplejson if available.
  166. - Do not hide SSLErrors behind Timeouts.
  167. - Fixed param handling with urls containing fragments.
  168. - Significantly improved information in User Agent.
  169. - client certificates are ignored when verify=False
  170. 0.13.2 (2012-06-28)
  171. +++++++++++++++++++
  172. - Zero dependencies (once again)!
  173. - New: Response.reason
  174. - Sign querystring parameters in OAuth 1.0
  175. - Client certificates no longer ignored when verify=False
  176. - Add openSUSE certificate support
  177. 0.13.1 (2012-06-07)
  178. +++++++++++++++++++
  179. - Allow passing a file or file-like object as data.
  180. - Allow hooks to return responses that indicate errors.
  181. - Fix Response.text and Response.json for body-less responses.
  182. 0.13.0 (2012-05-29)
  183. +++++++++++++++++++
  184. - Removal of Requests.async in favor of `grequests <https://github.com/kennethreitz/grequests>`_
  185. - Allow disabling of cookie persistiance.
  186. - New implimentation of safe_mode
  187. - cookies.get now supports default argument
  188. - Session cookies not saved when Session.request is called with return_response=False
  189. - Env: no_proxy support.
  190. - RequestsCookieJar improvements.
  191. - Various bug fixes.
  192. 0.12.1 (2012-05-08)
  193. +++++++++++++++++++
  194. - New ``Response.json`` property.
  195. - Ability to add string file uploads.
  196. - Fix out-of-range issue with iter_lines.
  197. - Fix iter_content default size.
  198. - Fix POST redirects containing files.
  199. 0.12.0 (2012-05-02)
  200. +++++++++++++++++++
  201. - EXPERIMENTAL OAUTH SUPPORT!
  202. - Proper CookieJar-backed cookies interface with awesome dict-like interface.
  203. - Speed fix for non-iterated content chunks.
  204. - Move ``pre_request`` to a more usable place.
  205. - New ``pre_send`` hook.
  206. - Lazily encode data, params, files.
  207. - Load system Certificate Bundle if ``certify`` isn't available.
  208. - Cleanups, fixes.
  209. 0.11.2 (2012-04-22)
  210. +++++++++++++++++++
  211. - Attempt to use the OS's certificate bundle if ``certifi`` isn't available.
  212. - Infinite digest auth redirect fix.
  213. - Multi-part file upload improvements.
  214. - Fix decoding of invalid %encodings in URLs.
  215. - If there is no content in a response don't throw an error the second time that content is attempted to be read.
  216. - Upload data on redirects.
  217. 0.11.1 (2012-03-30)
  218. +++++++++++++++++++
  219. * POST redirects now break RFC to do what browsers do: Follow up with a GET.
  220. * New ``strict_mode`` configuration to disable new redirect behavior.
  221. 0.11.0 (2012-03-14)
  222. +++++++++++++++++++
  223. * Private SSL Certificate support
  224. * Remove select.poll from Gevent monkeypatching
  225. * Remove redundant generator for chunked transfer encoding
  226. * Fix: Response.ok raises Timeout Exception in safe_mode
  227. 0.10.8 (2012-03-09)
  228. +++++++++++++++++++
  229. * Generate chunked ValueError fix
  230. * Proxy configuration by environment variables
  231. * Simplification of iter_lines.
  232. * New `trust_env` configuration for disabling system/environment hints.
  233. * Suppress cookie errors.
  234. 0.10.7 (2012-03-07)
  235. +++++++++++++++++++
  236. * `encode_uri` = False
  237. 0.10.6 (2012-02-25)
  238. +++++++++++++++++++
  239. * Allow '=' in cookies.
  240. 0.10.5 (2012-02-25)
  241. +++++++++++++++++++
  242. * Response body with 0 content-length fix.
  243. * New async.imap.
  244. * Don't fail on netrc.
  245. 0.10.4 (2012-02-20)
  246. +++++++++++++++++++
  247. * Honor netrc.
  248. 0.10.3 (2012-02-20)
  249. +++++++++++++++++++
  250. * HEAD requests don't follow redirects anymore.
  251. * raise_for_status() doesn't raise for 3xx anymore.
  252. * Make Session objects picklable.
  253. * ValueError for invalid schema URLs.
  254. 0.10.2 (2012-01-15)
  255. +++++++++++++++++++
  256. * Vastly improved URL quoting.
  257. * Additional allowed cookie key values.
  258. * Attempted fix for "Too many open files" Error
  259. * Replace unicode errors on first pass, no need for second pass.
  260. * Append '/' to bare-domain urls before query insertion.
  261. * Exceptions now inherit from RuntimeError.
  262. * Binary uploads + auth fix.
  263. * Bugfixes.
  264. 0.10.1 (2012-01-23)
  265. +++++++++++++++++++
  266. * PYTHON 3 SUPPORT!
  267. * Dropped 2.5 Support. (*Backwards Incompatible*)
  268. 0.10.0 (2012-01-21)
  269. +++++++++++++++++++
  270. * ``Response.content`` is now bytes-only. (*Backwards Incompatible*)
  271. * New ``Response.text`` is unicode-only.
  272. * If no ``Response.encoding`` is specified and ``chardet`` is available, ``Respoonse.text`` will guess an encoding.
  273. * Default to ISO-8859-1 (Western) encoding for "text" subtypes.
  274. * Removal of `decode_unicode`. (*Backwards Incompatible*)
  275. * New multiple-hooks system.
  276. * New ``Response.register_hook`` for registering hooks within the pipeline.
  277. * ``Response.url`` is now Unicode.
  278. 0.9.3 (2012-01-18)
  279. ++++++++++++++++++
  280. * SSL verify=False bugfix (apparent on windows machines).
  281. 0.9.2 (2012-01-18)
  282. ++++++++++++++++++
  283. * Asynchronous async.send method.
  284. * Support for proper chunk streams with boundaries.
  285. * session argument for Session classes.
  286. * Print entire hook tracebacks, not just exception instance.
  287. * Fix response.iter_lines from pending next line.
  288. * Fix but in HTTP-digest auth w/ URI having query strings.
  289. * Fix in Event Hooks section.
  290. * Urllib3 update.
  291. 0.9.1 (2012-01-06)
  292. ++++++++++++++++++
  293. * danger_mode for automatic Response.raise_for_status()
  294. * Response.iter_lines refactor
  295. 0.9.0 (2011-12-28)
  296. ++++++++++++++++++
  297. * verify ssl is default.
  298. 0.8.9 (2011-12-28)
  299. ++++++++++++++++++
  300. * Packaging fix.
  301. 0.8.8 (2011-12-28)
  302. ++++++++++++++++++
  303. * SSL CERT VERIFICATION!
  304. * Release of Cerifi: Mozilla's cert list.
  305. * New 'verify' argument for SSL requests.
  306. * Urllib3 update.
  307. 0.8.7 (2011-12-24)
  308. ++++++++++++++++++
  309. * iter_lines last-line truncation fix
  310. * Force safe_mode for async requests
  311. * Handle safe_mode exceptions more consistently
  312. * Fix iteration on null responses in safe_mode
  313. 0.8.6 (2011-12-18)
  314. ++++++++++++++++++
  315. * Socket timeout fixes.
  316. * Proxy Authorization support.
  317. 0.8.5 (2011-12-14)
  318. ++++++++++++++++++
  319. * Response.iter_lines!
  320. 0.8.4 (2011-12-11)
  321. ++++++++++++++++++
  322. * Prefetch bugfix.
  323. * Added license to installed version.
  324. 0.8.3 (2011-11-27)
  325. ++++++++++++++++++
  326. * Converted auth system to use simpler callable objects.
  327. * New session parameter to API methods.
  328. * Display full URL while logging.
  329. 0.8.2 (2011-11-19)
  330. ++++++++++++++++++
  331. * New Unicode decoding system, based on over-ridable `Response.encoding`.
  332. * Proper URL slash-quote handling.
  333. * Cookies with ``[``, ``]``, and ``_`` allowed.
  334. 0.8.1 (2011-11-15)
  335. ++++++++++++++++++
  336. * URL Request path fix
  337. * Proxy fix.
  338. * Timeouts fix.
  339. 0.8.0 (2011-11-13)
  340. ++++++++++++++++++
  341. * Keep-alive support!
  342. * Complete removal of Urllib2
  343. * Complete removal of Poster
  344. * Complete removal of CookieJars
  345. * New ConnectionError raising
  346. * Safe_mode for error catching
  347. * prefetch parameter for request methods
  348. * OPTION method
  349. * Async pool size throttling
  350. * File uploads send real names
  351. * Vendored in urllib3
  352. 0.7.6 (2011-11-07)
  353. ++++++++++++++++++
  354. * Digest authentication bugfix (attach query data to path)
  355. 0.7.5 (2011-11-04)
  356. ++++++++++++++++++
  357. * Response.content = None if there was an invalid repsonse.
  358. * Redirection auth handling.
  359. 0.7.4 (2011-10-26)
  360. ++++++++++++++++++
  361. * Session Hooks fix.
  362. 0.7.3 (2011-10-23)
  363. ++++++++++++++++++
  364. * Digest Auth fix.
  365. 0.7.2 (2011-10-23)
  366. ++++++++++++++++++
  367. * PATCH Fix.
  368. 0.7.1 (2011-10-23)
  369. ++++++++++++++++++
  370. * Move away from urllib2 authentication handling.
  371. * Fully Remove AuthManager, AuthObject, &c.
  372. * New tuple-based auth system with handler callbacks.
  373. 0.7.0 (2011-10-22)
  374. ++++++++++++++++++
  375. * Sessions are now the primary interface.
  376. * Deprecated InvalidMethodException.
  377. * PATCH fix.
  378. * New config system (no more global settings).
  379. 0.6.6 (2011-10-19)
  380. ++++++++++++++++++
  381. * Session parameter bugfix (params merging).
  382. 0.6.5 (2011-10-18)
  383. ++++++++++++++++++
  384. * Offline (fast) test suite.
  385. * Session dictionary argument merging.
  386. 0.6.4 (2011-10-13)
  387. ++++++++++++++++++
  388. * Automatic decoding of unicode, based on HTTP Headers.
  389. * New ``decode_unicode`` setting.
  390. * Removal of ``r.read/close`` methods.
  391. * New ``r.faw`` interface for advanced response usage.*
  392. * Automatic expansion of parameterized headers.
  393. 0.6.3 (2011-10-13)
  394. ++++++++++++++++++
  395. * Beautiful ``requests.async`` module, for making async requests w/ gevent.
  396. 0.6.2 (2011-10-09)
  397. ++++++++++++++++++
  398. * GET/HEAD obeys allow_redirects=False.
  399. 0.6.1 (2011-08-20)
  400. ++++++++++++++++++
  401. * Enhanced status codes experience ``\o/``
  402. * Set a maximum number of redirects (``settings.max_redirects``)
  403. * Full Unicode URL support
  404. * Support for protocol-less redirects.
  405. * Allow for arbitrary request types.
  406. * Bugfixes
  407. 0.6.0 (2011-08-17)
  408. ++++++++++++++++++
  409. * New callback hook system
  410. * New persistient sessions object and context manager
  411. * Transparent Dict-cookie handling
  412. * Status code reference object
  413. * Removed Response.cached
  414. * Added Response.request
  415. * All args are kwargs
  416. * Relative redirect support
  417. * HTTPError handling improvements
  418. * Improved https testing
  419. * Bugfixes
  420. 0.5.1 (2011-07-23)
  421. ++++++++++++++++++
  422. * International Domain Name Support!
  423. * Access headers without fetching entire body (``read()``)
  424. * Use lists as dicts for parameters
  425. * Add Forced Basic Authentication
  426. * Forced Basic is default authentication type
  427. * ``python-requests.org`` default User-Agent header
  428. * CaseInsensitiveDict lower-case caching
  429. * Response.history bugfix
  430. 0.5.0 (2011-06-21)
  431. ++++++++++++++++++
  432. * PATCH Support
  433. * Support for Proxies
  434. * HTTPBin Test Suite
  435. * Redirect Fixes
  436. * settings.verbose stream writing
  437. * Querystrings for all methods
  438. * URLErrors (Connection Refused, Timeout, Invalid URLs) are treated as explicity raised
  439. ``r.requests.get('hwe://blah'); r.raise_for_status()``
  440. 0.4.1 (2011-05-22)
  441. ++++++++++++++++++
  442. * Improved Redirection Handling
  443. * New 'allow_redirects' param for following non-GET/HEAD Redirects
  444. * Settings module refactoring
  445. 0.4.0 (2011-05-15)
  446. ++++++++++++++++++
  447. * Response.history: list of redirected responses
  448. * Case-Insensitive Header Dictionaries!
  449. * Unicode URLs
  450. 0.3.4 (2011-05-14)
  451. ++++++++++++++++++
  452. * Urllib2 HTTPAuthentication Recursion fix (Basic/Digest)
  453. * Internal Refactor
  454. * Bytes data upload Bugfix
  455. 0.3.3 (2011-05-12)
  456. ++++++++++++++++++
  457. * Request timeouts
  458. * Unicode url-encoded data
  459. * Settings context manager and module
  460. 0.3.2 (2011-04-15)
  461. ++++++++++++++++++
  462. * Automatic Decompression of GZip Encoded Content
  463. * AutoAuth Support for Tupled HTTP Auth
  464. 0.3.1 (2011-04-01)
  465. ++++++++++++++++++
  466. * Cookie Changes
  467. * Response.read()
  468. * Poster fix
  469. 0.3.0 (2011-02-25)
  470. ++++++++++++++++++
  471. * Automatic Authentication API Change
  472. * Smarter Query URL Parameterization
  473. * Allow file uploads and POST data together
  474. * New Authentication Manager System
  475. - Simpler Basic HTTP System
  476. - Supports all build-in urllib2 Auths
  477. - Allows for custom Auth Handlers
  478. 0.2.4 (2011-02-19)
  479. ++++++++++++++++++
  480. * Python 2.5 Support
  481. * PyPy-c v1.4 Support
  482. * Auto-Authentication tests
  483. * Improved Request object constructor
  484. 0.2.3 (2011-02-15)
  485. ++++++++++++++++++
  486. * New HTTPHandling Methods
  487. - Response.__nonzero__ (false if bad HTTP Status)
  488. - Response.ok (True if expected HTTP Status)
  489. - Response.error (Logged HTTPError if bad HTTP Status)
  490. - Response.raise_for_status() (Raises stored HTTPError)
  491. 0.2.2 (2011-02-14)
  492. ++++++++++++++++++
  493. * Still handles request in the event of an HTTPError. (Issue #2)
  494. * Eventlet and Gevent Monkeypatch support.
  495. * Cookie Support (Issue #1)
  496. 0.2.1 (2011-02-14)
  497. ++++++++++++++++++
  498. * Added file attribute to POST and PUT requests for multipart-encode file uploads.
  499. * Added Request.url attribute for context and redirects
  500. 0.2.0 (2011-02-14)
  501. ++++++++++++++++++
  502. * Birth!
  503. 0.0.1 (2011-02-13)
  504. ++++++++++++++++++
  505. * Frustration
  506. * Conception