NEWS 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290
  1. aria2 1.19.3
  2. ============
  3. Release Note
  4. ------------
  5. This release fixes lots of bugs. See the Changes section below.
  6. Changes
  7. -------
  8. * Fix bug that pause/unpause seeding torrent prevents new downloads
  9. from starting
  10. Previously, with --bt-detach-seed-only, when user issued pause and
  11. unpause command to seeding torrent, and it was started again, and it
  12. immediately got seeding status, but aria2 did not start new download
  13. waiting in the queue. This commit fixes this bug.
  14. See GH-490
  15. * Add --bt-enable-hook-after-hash-check option
  16. This option sets flag which allows hook command invocation after
  17. hash check (see -V option) in BitTorrent download. By default, when
  18. hash check succeeds, the command given by --on-bt-download-complete
  19. is executed. To disable this action, give false to this option.
  20. * Add --socket-recv-buffer-size option
  21. Set the maximum socket receive buffer in bytes. Specifing 0 will
  22. disable this option. This value will be set to socket file
  23. descriptor using SO_RCVBUF socket option with setsockopt() call.
  24. See GH-487 about the usecase of this option
  25. * Disable --deferred-input when --save-session is used together
  26. With --deferred-input=true, aria2 only reads input file to fill
  27. active download slots, while keeping input file open. Meanwhile,
  28. --save-session saves all download info inside memory, but this does
  29. not take into account of unread item in input file. This will lead
  30. to lose input data in saved session file. Also current BufferedFile
  31. implementation used to read/write input/output file take a lock on
  32. Windows. This effectively prevents session serializer from writing
  33. session data to the same file which is still kept open because of
  34. --deferred-input. See GH-493
  35. * base32: decode lowercased characters as well
  36. This fixes the bug that magnet URI with lowercased btih is treated
  37. as malformed.
  38. * mingw: Use GetFileSize to get file size
  39. _wstat family does not work with symbolic links. They always
  40. returns size 0. To workaround this, we now use GetFileSize to get
  41. file size. To do that, we need to first obtain file HANDLE, which
  42. is a bit tedious because of the messy interface of CreateFileW, but
  43. we have no way to get around it.
  44. * Fix bug that file allocation=trunc does not work with Windows
  45. symlink
  46. * Send the last error message as part of tellStatus RPC response
  47. Patch from Jarda Snajdr
  48. * Don't enable mmap if file allocation is disabled
  49. Without file allocation, we cannot map file because file length
  50. could be zero.
  51. This could fix bug reported at GH-478
  52. * Evict timed out pooled socket periodically
  53. Previously we only scanned pool socket to check they are timed out
  54. when we pooled another socket. This means that pooled socket is not
  55. closed long time (stays in CLOSE-WAIT state) if we don't pool any
  56. more socket. In this commit, we now check pooled socket
  57. periodically (30 seconds) to avoid the sockets hanging in CLOSE-WAIT
  58. state long time.
  59. See GH-477
  60. * Don't write control file if content is not changed from previous one
  61. This is desirable so that we don't have to wake up disk if control
  62. file is not changed, and it is not have to be written again. We use
  63. the same method (SHA1 hash) to check the content is the same. The
  64. limitation is the hash is stored in memory, so we have to write the
  65. first time in each session.
  66. See GH-382
  67. * Remove content-length and content-range if transfer-encoding is
  68. given
  69. See GH-473
  70. * Retry after 404 status if --max-file-not-found > 0
  71. aria2 1.19.2
  72. ============
  73. Release Note
  74. ------------
  75. This release fixes the bug that progress summary is not shown timely.
  76. Changes
  77. -------
  78. * Fix bug that progress summary is not shown timely
  79. aria2 1.19.1
  80. ============
  81. Release Note
  82. ------------
  83. This release fixes TLS handshake error with servers which only support
  84. RSA-SHA1 signature algorithm. We removed RSA-SHA1 for enchanced
  85. security, but many users reported there were servers which could not
  86. talk aria2 1.19.0, so added it again for compatibility reasons. For
  87. Windows build, we fixed potential infinite loop bug when TLS is used.
  88. We changed the location where dht.dat and aria2.conf are looked up.
  89. The aria2 manual page described details. Basically we now follow XDG
  90. specification (http://standards.freedesktop.org/basedir-spec/latest/).
  91. For dht.dat, the default location is $XDG_CACHE_HOME/aria2/ directory.
  92. For aria2.conf, the default location is $XDG_CONFIG_HOME/aria2/
  93. directory. To keep the current user configuration working, if aria2
  94. detects dht.dat under $HOME/.aria2/ directory, it is used instead.
  95. Similarly, if aria2.conf exists under $HOME/.aria2/ directory, it is
  96. used instead.
  97. Previously, we return 500 HTTP status if RPC method execution
  98. encountered error. Now it returns with 400 HTTP status with error
  99. code. This is more natural because server processed request and found
  100. an error, and returned error reply correctly. This is not something
  101. server crashed or something. Also, there is RPC libraries which
  102. throws exception if it sees 5XX status code, where 400 is better
  103. because we can examine the error.
  104. Changes
  105. -------
  106. * Update README.android
  107. Providing some workarounds about CA certificates and standard output
  108. Patch from amtlib-dot-dll
  109. * Return 400 HTTP status code if exception was caught while executing
  110. RPC method
  111. Previously, we returned 500 HTTP status code. I think the found in
  112. RPC level, not in HTTP protocol, so 500 is not appropriate.
  113. * WinTLS: Fix potential infinite loop
  114. * Fix on-download-error is executed even if download succeeded
  115. * Update Dockerfile.mingw
  116. Patch from Adam Baxter
  117. * Increase --select-file upper bound to 1m for torrent containing lots
  118. of files
  119. * Fix busy loop with --dry-run and 4xx response for URI listed in
  120. metalink
  121. See GH-430
  122. * Update sqlite in OSX build to 3.8.10.2
  123. * Make LibuvEventPoll compatible with the latest libuv again
  124. * gnutls: Allow SIGN-RSA-SHA1 for compatibility reason
  125. * Make script compatible with both Python 2 and 3
  126. Patch from Vasilij Schneidermann
  127. * Make config and cache files conform to XDG
  128. See http://standards.freedesktop.org/basedir-spec/latest/ for
  129. further details. This implementation decides the default based on
  130. whether a file exists at the legacy location, if it doesn't, it
  131. picks the XDG-conforming location instead.
  132. Patch from Vasilij Schneidermann
  133. * ftp, sftp: Fix heap-after-free bug on exception
  134. * ftp: Fix timeout when reusing FTP connection
  135. * Various MinGW-w64 build improvements
  136. - Fix detection of localtime_r and asctime_r on MinGW-w64
  137. - Fix linking with libintl on MinGW-w64
  138. Patch from David Macek
  139. aria2 1.19.0
  140. ============
  141. Release Note
  142. ------------
  143. This releases adds SFTP support, and fixes several bugs. SFTP support
  144. has been implemented using libssh2. We added several new options.
  145. --multiple-interface option is like --interface option, but can take
  146. several interfaces. They are used in round-robin manner, and it works
  147. like link aggregation. Previously, .netrc search path is fixed under
  148. $HOME directory, and cannot be changed. In this release, --netrc-path
  149. option has been added to override the search path. The runtime bug
  150. concerning getrandom has been fixed in this release. Previously if
  151. download failed because checksum error, aria2 exited with error code 1
  152. (unknown error). Now it exits with dedicated error code 32. We fixed
  153. long outstanding bug that aria2 crashes when downloading multi-file
  154. torrent.
  155. Changes
  156. -------
  157. * android: Build and link with zlib
  158. Previously, we linked with zlib shipped with NDK, but it seems this
  159. is not part of NDK API, and thus could break our app.
  160. * Allow netrc-path to be specified in the config file
  161. Adds --netrc-path to override default .netrc search path. Patch
  162. from Ryan Steinmetz
  163. * Exit with 32 status code if checksum verification failed
  164. * Add SFTP support using libssh2
  165. aria2 can now download files via sftp protocol: aria2c sftp://....
  166. --ssh-host-key-md option is added to specify expected server's
  167. fingerprint.
  168. * Added Dockerfile to cross complile aria2 for RaspberryPI (armhf)
  169. Patch from Igor Khomyakov
  170. * multiple interface support for link aggregation
  171. Adds --multiple-interface option. Patch from Sarim Khan
  172. * Run on-bt-download-complete command when -V reports download finished
  173. Fixes GH-355
  174. * Use dedicated DiskWriter in MultiDiskFileAllocationIterator
  175. We have to use dedicated DiskWriter instead of
  176. (*entryItr_)->getDiskWriter(). This is because
  177. SingleFileAllocationIterator cannot reopen file if file is closed by
  178. OpenedFileCounter. Fixes GH-350
  179. * Fix getrandom for system with libc not including errno or systems
  180. not supporting ENOSYS in the first place. Fixes GH-347
  181. * Don't send back rpc-secret option value in aria2.getGlobalOption RPC
  182. method
  183. * Make libuv default off
  184. See GH-241 for discussion
  185. * Fixed slow RPC response
  186. Fxies GH-345
  187. * Fix getrandom interface detection
  188. Fixes GH-346