Parfive v1.2.0 (2020-09-30)
===========================

Features
--------

- Make `parfive.Downloader.run_download` public API and move all of the
  `~parfive.Downloader.download` logic into ``run_download``. This enabled using
  parfive from inside an async context. (`#54 <https://github.com/Cadair/parfive/pull/54>`__)


Bugfixes
--------

- Handing a custom ``loop`` to `Downloader` now does nothing, and parfive spins
  up its own loop. This is to prepare for python 3.10 where support for passing
  custom loops to various `asyncio` methods will be removed. (`#53 <https://github.com/Cadair/parfive/pull/53>`__)

- Fix a bug where downloads fail if ``max_conn`` is changed after construction of
  the `parfive.Downloader` instance. (`#56 <https://github.com/Cadair/parfive/pull/56>`__)


Misc
----

- `#49 <https://github.com/Cadair/parfive/pull/49>`__


Parfive v1.1.1 (2020-08-17)
===========================

Bugfixes
--------

- Fix pypi metadata and some packaging improvements. (`#48 <https://github.com/Cadair/parfive/pull/48>`__)
- Update aioftp to the latest version because of an API change. (`#48 <https://github.com/Cadair/parfive/pull/48>`__)


Parfive v1.1.0 (2020-05-01)
===========================

Features
--------

- Add concurent requests to `parfive`. This feature splits the download of
  a single file into multiple parts if the server the file is being downloaded
  from supports ranged requests. This should improve the performance of all
  downloads under these circumstances, and also make parfive useful even if
  downloading a single file. No changes are needed to use this feature, files
  will be downloaded using 12 concurrent requests by default. To change the
  number of concurrent requests you can pass ``max_splits`` to
  `parfive.Downloader.enqueue_file`. (`#15 <https://github.com/Cadair/parfive/pull/15>`__)
- Added CLI interface to Parfive. (`#16 <https://github.com/Cadair/parfive/pull/16>`__)
- Parfive now only supports Python 3.6+. (`#22 <https://github.com/Cadair/parfive/pull/22>`__)
- Support for specifying headers to be used for all requests to `parfive.Downloader` has been added. (`#32 <https://github.com/Cadair/parfive/pull/32>`__)
- Support for `HTTP_PROXY` and `HTTPS_PROXY` environment variables have been
  added. (`#32 <https://github.com/Cadair/parfive/pull/32>`__)

Bugfixes
--------

- Fix a bug where running parfive in the notebook would error if ipywidgets was
  not installed. (`#25 <https://github.com/Cadair/parfive/pull/25>`__)
- Remove use of the deprecated ``loop=`` keyword argument to `aiohttp.ClientSession`. (`#30 <https://github.com/Cadair/parfive/pull/30>`__)
- Update the notebook detection function due to changes in tqdm (`#36 <https://github.com/Cadair/parfive/pull/36>`__)
- Reduce the number of parallel connections to 25 (5 parallel files, 5 parallel
  downloads per file). (`#37 <https://github.com/Cadair/parfive/pull/37>`__)

Parfive 1.0.0 (2019-05-01)
==========================

Features
--------
- First stable release of Parfive. (`#13 <https://github.com/Cadair/parfive/pull/13>`__)
