mirror of
https://github.com/aria2/aria2.git
synced 2025-01-04 09:03:46 +00:00
291 lines
8.8 KiB
Plaintext
291 lines
8.8 KiB
Plaintext
aria2 1.19.3
|
||
============
|
||
|
||
Release Note
|
||
------------
|
||
|
||
This release fixes lots of bugs. See the Changes section below.
|
||
|
||
Changes
|
||
-------
|
||
|
||
* Fix bug that pause/unpause seeding torrent prevents new downloads
|
||
from starting
|
||
|
||
Previously, with --bt-detach-seed-only, when user issued pause and
|
||
unpause command to seeding torrent, and it was started again, and it
|
||
immediately got seeding status, but aria2 did not start new download
|
||
waiting in the queue. This commit fixes this bug.
|
||
|
||
See GH-490
|
||
|
||
* Add --bt-enable-hook-after-hash-check option
|
||
|
||
This option sets flag which allows hook command invocation after
|
||
hash check (see -V option) in BitTorrent download. By default, when
|
||
hash check succeeds, the command given by --on-bt-download-complete
|
||
is executed. To disable this action, give false to this option.
|
||
|
||
* Add --socket-recv-buffer-size option
|
||
|
||
Set the maximum socket receive buffer in bytes. Specifing 0 will
|
||
disable this option. This value will be set to socket file
|
||
descriptor using SO_RCVBUF socket option with setsockopt() call.
|
||
|
||
See GH-487 about the usecase of this option
|
||
|
||
* Disable --deferred-input when --save-session is used together
|
||
|
||
With --deferred-input=true, aria2 only reads input file to fill
|
||
active download slots, while keeping input file open. Meanwhile,
|
||
--save-session saves all download info inside memory, but this does
|
||
not take into account of unread item in input file. This will lead
|
||
to lose input data in saved session file. Also current BufferedFile
|
||
implementation used to read/write input/output file take a lock on
|
||
Windows. This effectively prevents session serializer from writing
|
||
session data to the same file which is still kept open because of
|
||
--deferred-input. See GH-493
|
||
|
||
* base32: decode lowercased characters as well
|
||
|
||
This fixes the bug that magnet URI with lowercased btih is treated
|
||
as malformed.
|
||
|
||
* mingw: Use GetFileSize to get file size
|
||
|
||
_wstat family does not work with symbolic links. They always
|
||
returns size 0. To workaround this, we now use GetFileSize to get
|
||
file size. To do that, we need to first obtain file HANDLE, which
|
||
is a bit tedious because of the messy interface of CreateFileW, but
|
||
we have no way to get around it.
|
||
|
||
* Fix bug that file allocation=trunc does not work with Windows
|
||
symlink
|
||
|
||
* Send the last error message as part of tellStatus RPC response
|
||
|
||
Patch from Jarda Snajdr
|
||
|
||
* Don't enable mmap if file allocation is disabled
|
||
|
||
Without file allocation, we cannot map file because file length
|
||
could be zero.
|
||
|
||
This could fix bug reported at GH-478
|
||
|
||
* Evict timed out pooled socket periodically
|
||
|
||
Previously we only scanned pool socket to check they are timed out
|
||
when we pooled another socket. This means that pooled socket is not
|
||
closed long time (stays in CLOSE-WAIT state) if we don't pool any
|
||
more socket. In this commit, we now check pooled socket
|
||
periodically (30 seconds) to avoid the sockets hanging in CLOSE-WAIT
|
||
state long time.
|
||
|
||
See GH-477
|
||
|
||
* Don't write control file if content is not changed from previous one
|
||
|
||
This is desirable so that we don't have to wake up disk if control
|
||
file is not changed, and it is not have to be written again. We use
|
||
the same method (SHA1 hash) to check the content is the same. The
|
||
limitation is the hash is stored in memory, so we have to write the
|
||
first time in each session.
|
||
|
||
See GH-382
|
||
|
||
* Remove content-length and content-range if transfer-encoding is
|
||
given
|
||
|
||
See GH-473
|
||
|
||
* Retry after 404 status if --max-file-not-found > 0
|
||
|
||
|
||
|
||
aria2 1.19.2
|
||
============
|
||
|
||
Release Note
|
||
------------
|
||
|
||
This release fixes the bug that progress summary is not shown timely.
|
||
|
||
Changes
|
||
-------
|
||
|
||
* Fix bug that progress summary is not shown timely
|
||
|
||
|
||
|
||
aria2 1.19.1
|
||
============
|
||
|
||
Release Note
|
||
------------
|
||
|
||
This release fixes TLS handshake error with servers which only support
|
||
RSA-SHA1 signature algorithm. We removed RSA-SHA1 for enchanced
|
||
security, but many users reported there were servers which could not
|
||
talk aria2 1.19.0, so added it again for compatibility reasons. For
|
||
Windows build, we fixed potential infinite loop bug when TLS is used.
|
||
|
||
We changed the location where dht.dat and aria2.conf are looked up.
|
||
The aria2 manual page described details. Basically we now follow XDG
|
||
specification (http://standards.freedesktop.org/basedir-spec/latest/).
|
||
For dht.dat, the default location is $XDG_CACHE_HOME/aria2/ directory.
|
||
For aria2.conf, the default location is $XDG_CONFIG_HOME/aria2/
|
||
directory. To keep the current user configuration working, if aria2
|
||
detects dht.dat under $HOME/.aria2/ directory, it is used instead.
|
||
Similarly, if aria2.conf exists under $HOME/.aria2/ directory, it is
|
||
used instead.
|
||
|
||
Previously, we return 500 HTTP status if RPC method execution
|
||
encountered error. Now it returns with 400 HTTP status with error
|
||
code. This is more natural because server processed request and found
|
||
an error, and returned error reply correctly. This is not something
|
||
server crashed or something. Also, there is RPC libraries which
|
||
throws exception if it sees 5XX status code, where 400 is better
|
||
because we can examine the error.
|
||
|
||
Changes
|
||
-------
|
||
|
||
* Update README.android
|
||
|
||
Providing some workarounds about CA certificates and standard output
|
||
|
||
Patch from amtlib-dot-dll
|
||
|
||
* Return 400 HTTP status code if exception was caught while executing
|
||
RPC method
|
||
|
||
Previously, we returned 500 HTTP status code. I think the found in
|
||
RPC level, not in HTTP protocol, so 500 is not appropriate.
|
||
|
||
* WinTLS: Fix potential infinite loop
|
||
|
||
* Fix on-download-error is executed even if download succeeded
|
||
|
||
* Update Dockerfile.mingw
|
||
|
||
Patch from Adam Baxter
|
||
|
||
* Increase --select-file upper bound to 1m for torrent containing lots
|
||
of files
|
||
|
||
* Fix busy loop with --dry-run and 4xx response for URI listed in
|
||
metalink
|
||
|
||
See GH-430
|
||
|
||
* Update sqlite in OSX build to 3.8.10.2
|
||
|
||
* Make LibuvEventPoll compatible with the latest libuv again
|
||
|
||
* gnutls: Allow SIGN-RSA-SHA1 for compatibility reason
|
||
|
||
* Make script compatible with both Python 2 and 3
|
||
|
||
Patch from Vasilij Schneidermann
|
||
|
||
* Make config and cache files conform to XDG
|
||
|
||
See http://standards.freedesktop.org/basedir-spec/latest/ for
|
||
further details. This implementation decides the default based on
|
||
whether a file exists at the legacy location, if it doesn't, it
|
||
picks the XDG-conforming location instead.
|
||
|
||
Patch from Vasilij Schneidermann
|
||
|
||
* ftp, sftp: Fix heap-after-free bug on exception
|
||
|
||
* ftp: Fix timeout when reusing FTP connection
|
||
|
||
* Various MinGW-w64 build improvements
|
||
|
||
- Fix detection of localtime_r and asctime_r on MinGW-w64
|
||
- Fix linking with libintl on MinGW-w64
|
||
|
||
Patch from David Macek
|
||
|
||
|
||
|
||
aria2 1.19.0
|
||
============
|
||
|
||
Release Note
|
||
------------
|
||
|
||
This releases adds SFTP support, and fixes several bugs. SFTP support
|
||
has been implemented using libssh2. We added several new options.
|
||
--multiple-interface option is like --interface option, but can take
|
||
several interfaces. They are used in round-robin manner, and it works
|
||
like link aggregation. Previously, .netrc search path is fixed under
|
||
$HOME directory, and cannot be changed. In this release, --netrc-path
|
||
option has been added to override the search path. The runtime bug
|
||
concerning getrandom has been fixed in this release. Previously if
|
||
download failed because checksum error, aria2 exited with error code 1
|
||
(unknown error). Now it exits with dedicated error code 32. We fixed
|
||
long outstanding bug that aria2 crashes when downloading multi-file
|
||
torrent.
|
||
|
||
Changes
|
||
-------
|
||
|
||
* android: Build and link with zlib
|
||
|
||
Previously, we linked with zlib shipped with NDK, but it seems this
|
||
is not part of NDK API, and thus could break our app.
|
||
|
||
* Allow netrc-path to be specified in the config file
|
||
|
||
Adds --netrc-path to override default .netrc search path. Patch
|
||
from Ryan Steinmetz
|
||
|
||
* Exit with 32 status code if checksum verification failed
|
||
|
||
* Add SFTP support using libssh2
|
||
|
||
aria2 can now download files via sftp protocol: aria2c sftp://....
|
||
--ssh-host-key-md option is added to specify expected server's
|
||
fingerprint.
|
||
|
||
* Added Dockerfile to cross complile aria2 for RaspberryPI (armhf)
|
||
|
||
Patch from Igor Khomyakov
|
||
|
||
* multiple interface support for link aggregation
|
||
|
||
Adds --multiple-interface option. Patch from Sarim Khan
|
||
|
||
* Run on-bt-download-complete command when -V reports download finished
|
||
|
||
Fixes GH-355
|
||
|
||
* Use dedicated DiskWriter in MultiDiskFileAllocationIterator
|
||
|
||
We have to use dedicated DiskWriter instead of
|
||
(*entryItr_)->getDiskWriter(). This is because
|
||
SingleFileAllocationIterator cannot reopen file if file is closed by
|
||
OpenedFileCounter. Fixes GH-350
|
||
|
||
* Fix getrandom for system with libc not including errno or systems
|
||
|
||
not supporting ENOSYS in the first place. Fixes GH-347
|
||
|
||
* Don't send back rpc-secret option value in aria2.getGlobalOption RPC
|
||
method
|
||
|
||
* Make libuv default off
|
||
|
||
See GH-241 for discussion
|
||
|
||
* Fixed slow RPC response
|
||
|
||
Fxies GH-345
|
||
|
||
* Fix getrandom interface detection
|
||
|
||
Fixes GH-346
|