NEWS 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349
  1. aria2 1.9.5
  2. ===========
  3. Release Note
  4. ------------
  5. This release fixes the bug that causes corrupted file. It also fixes
  6. assertion error in DefaultPeerStorage class. Now aria2 doesn't reset
  7. referer to "" on redirect. log and log-level option can be used
  8. in aria2.changeGlobalOption XML-RPC method. This means you can
  9. dynamically start or stop logging and change log file and log level.
  10. Changes
  11. -------
  12. * Don't set previousUri_ to "" on redirect.
  13. * Fixed Peer::updateSeeder() to reflect current bitfield.
  14. * Made log and log-level option modifiable using
  15. aria2.changeGlobalOption. This means you can dynamically start or
  16. stop logging and change log file and log level.
  17. * Fixed that bug that when aria2 is stopped before whole hash
  18. check(not piece hash check) is done, aria2 reports its file is
  19. downloaded successfully. It should report the download is
  20. in-progress and next invocation of aria2 should check hash.
  21. * Fixed the bug that corrups file if segment returned from
  22. SegmetnMan::getCleanSegmentIfOwnerIsIdle() has writtenLength > 0.
  23. * Fixed assertion error if updateTransferStatFor is called with peer
  24. X before calculateStat() after peer X is added.
  25. aria2 1.9.4
  26. ===========
  27. Release Note
  28. ------------
  29. This release fixes the bug that connection reuse on FTP does not work
  30. if FTP server changes root directory based on account. It also fixes
  31. the bug that reading Metalink document from pipe (-M- option) does not
  32. work when aria2 is built with expat or old libxml2(2.7.6 or
  33. earlier). Now aria2 does not emit error if given Metalink document is
  34. empty(no file element). The response of aria2.tellStopped XML-RPC
  35. method now has more information: totalLength, completedLength,
  36. uploadLength, bitfield and so on.
  37. Changes
  38. -------
  39. * Updated Italian translation. Added Korean translation. Thanks to
  40. all translators.
  41. * Fixed the bug that reading Metalink from pipe fails on older
  42. libxml2. It only accepts "-" as a special keyword to read stdin.
  43. * Added log message when cookies are loaded. Added filename to log
  44. message when serializing session.
  45. * Treat SIGHUP and SIGTERM signal as emergency shutdown because they
  46. are usually issued by system or other process.
  47. * Don't throw exception when Metalink document is empty(no file
  48. element). It is a valid Metalink document anyway.
  49. * Fixed the bug that feeding Metalink XML via pipe (-M- option) does
  50. not work when aria2 is built with expat. Fixed the bug that when
  51. Metalink XML is fed via pipe and --save-session is used, entry
  52. "/dev/stdin" is saved in session file.
  53. * Added totalLength, completedLength, uploadLength, bitfield,
  54. downloadSpeed, uploadSpeed, infoHash, numSeeders, pieceLength,
  55. numPieces, connections and dir to the response of aria2.tellStopped
  56. XML-RPC method. aria2.tellWaiting now always returns numSeeders
  57. for BitTorrent download.
  58. * Fixed the bug that connection pooling does not take into account
  59. proxy. This means that when connection A via proxy X is pooled, it
  60. will be wrongly reused in the download using proxy Y.
  61. * Fixed the bug that FTP download may fail when control connection is
  62. reused. This happens because FTP server can offer different root
  63. directory for different account. If pooled connections has
  64. different root directory, then download will fail.
  65. aria2 1.9.3
  66. ===========
  67. Release Note
  68. ------------
  69. This release fixes the bug that aria2 cuts filename after ';' if
  70. filename in Content-Disposition header includes ';'. It also fixes
  71. the bug that name attribute of file element in Metalink file is not
  72. properly sanitized.
  73. Changes
  74. -------
  75. * Fixed the bug that name attribute of file element in Metalink file
  76. is not properly sanitized.
  77. * Fixed the bug that if filename in Content-Disposition header
  78. includes ';', aria2 cuts filename after ';'.
  79. aria2 1.9.2
  80. ===========
  81. Release Note
  82. ------------
  83. This release adds kqueue, port_associate/port_getn and poll() support
  84. for socket event notification to eliminate 1024 file descriptor
  85. limitation of select() call. The bug that aria2.unpause and
  86. aria2.unpauseAll XML-RPC method fail when -s1 is given in command-line
  87. argument was fixed.
  88. Changes
  89. -------
  90. * Print warning when trying to add file descriptor >= FD_SET or < 0
  91. to fd_set for other than MinGW32 build. For MinGW32 build, print
  92. warning when trying to add file descriptor to fd_set when it
  93. already contains FD_SET file descriptors.
  94. * Defined FD_SETSIZE 1024 for MinGW32.
  95. * Added missing timespec.h to SRCS
  96. * Fixed the bug that aria2.unpause fails with -s1.
  97. * Supported poll, kqueue, port_associate/port_getn for socket event
  98. notification
  99. aria2 1.9.1
  100. ===========
  101. Release Note
  102. ------------
  103. This release adds the ability to save unfinished downloads as text
  104. file. aria2 can read the file with -i option on restart. This
  105. release also adds the ability to download file from scratch when aria2
  106. sees resume is not supported by remote server. This feature is
  107. disabled by default. See --always-resume option for
  108. details. --no-proxy option accepts IPv4 network address with CIDR
  109. block. aria2 now doesn't send "Accept-Encoding: deflate, gzip" by
  110. default. --http-accept-gzip option was added to toggle this behavior.
  111. aria2 now treats lines starting "#" in -i list as comments. Several
  112. XML-RPC methods were added: aria2.pause, aria2.unpause,
  113. aria2.shutdown, and their families. The new exist status code '8' was
  114. added. The bug that makes aria2 hang when system time changes while
  115. aria2 is running was fixed on MinGW32, Mac OS X and the system which
  116. has clock_gettime(). Several other bugs also have been fixed.
  117. Changes
  118. -------
  119. * Updated Ukrainian, Russian, Simplified Chinese, German and Greek
  120. translation. Thanks to all translators.
  121. * Added warning for the system which lacks clock_gettime with
  122. CLOCK_MONOTONIC.
  123. * Fixed the bug that hash check hangs when aria2.pause is issued
  124. while aria2 is checking piece hashes. Fixed the bug that the
  125. download is paused after file allocation completion even if
  126. aria2.pause is issued during file allocation.
  127. * Fixed compile error on opensolaris
  128. * Added aria2.forcePause, aria2.pauseAll, aria2.forcePauseAll and
  129. aria2.unpauseAll XML-RPC method.
  130. * Use clock_gettime(CLOCK_MONOTONIC, ...) if it is available and
  131. usable to prevent from aria2 from being affected by system time
  132. change.
  133. * Added aria2.pause and aria2.unpause XML-RPC method. aria2.pause
  134. pauses the download denoted by gid. gid is of type string. The
  135. status of paused download becomes "paused" and the download is
  136. placed on the first position of waiting queue. As long as the
  137. status is "paused", the download is not started. To change status
  138. to "waiting", use aria2.unpause method. This method returns GID of
  139. paused download. aria2.unpause changes the status of the download
  140. denoted by gid from "paused" to "waiting". This makes the download
  141. eligible to restart. gid is of type string. This method returns GID
  142. of unpaused download.
  143. * Added --save-session=FILE option. This option saves
  144. error/unfinished downloads to FILE on exit. You can pass this
  145. output file to aria2c with -i option on restart. Please note that
  146. downloads added by aria2.addTorrent and aria2.addMetalink XML-RPC
  147. method are not saved.
  148. * Fixed the bug that FTP data connection is not established via proxy
  149. when --ftp-proxy is defined and --ftp-pasv=true and
  150. --proxy-method=tunnel.
  151. * Fixed the bug that web-seed URI is not percent-encoded.
  152. * Added aria2.shutdown and aria2.forceShutdown XML-RPC method. These
  153. methods, as their name imply, shutdown aria2. These methods are
  154. useful for Windows because it lacks signal mechanism.
  155. * Don't send "Accept-Encoding: default, gzip" by default. This is
  156. because some servers respond with "Content-Encoding: gzip" for a
  157. file which itself is gzipped file and aria2 inflates them. This is
  158. a problem if user doesn't want to inflate the file. Apparently this
  159. is server configuration error, but we cannot do anything about
  160. this. So we turned this off. Added --http-accept-gzip option. If
  161. true is given to this option, aria2 sends "Accept-Encoding:
  162. deflate, gzip" request header and inflates response if remote
  163. server responds with "Content-Encoding: gzip" or "Content-Encoding:
  164. deflate". We removed extension "tgz" hack in order not to inflate
  165. files with tgz extensions.
  166. * Made aria2 not send
  167. "application/metalink4+xml,application/metalink+xml" in Accept
  168. header for web-seeding URIs and tracker request.
  169. * Added --dht-message-timeout option.
  170. * Added --bt-tracker-connect-timeout and --bt-tracker-timeout
  171. option.
  172. * Documented that specifying --seed-time=0 disables seeding after
  173. download completed.
  174. * Drop connection if same Peer ID has been already seen.
  175. * Fixed the bug that waiting download unintentionally starts when
  176. URIs are added to it using aria2.changeUri XML-RPC method.
  177. * Fixed compile error with g++-4.4 on FreeBSD.
  178. * Fixed the bug that URIs added using aria2.changeUri XML-RPC method
  179. are not used immediately if there is no URI remaining before
  180. calling aria2.changeUri and the number of connection is less than
  181. the value in -s(or -C for Metalink downloads).
  182. * Added --always-resume and --max-resume-failure-tries option. If
  183. --always-resume=false is given, when all given URIs do not
  184. support resume or aria2 encounters N URIs which does not support
  185. resume (N is the value specified using --max-resume-failure-tries
  186. option), aria2 downloads file from scratch. The default behavior is
  187. --always-resume=true, which means if all URIs do not support
  188. resume, download fails. I think this is OK because user normally
  189. doesn't like to see that partially downloaded file is
  190. overwritten(this is particularly true if file size is big). This
  191. option is useful when aria2 is used as a download backend and
  192. graceful falling back to overwritten behavior is preferable. Added
  193. exit status value 8, which means download failed because server did
  194. not support resume.
  195. * Added --remove-control-file option. This option removes control
  196. file(*.aria2 file) before download. Using with
  197. --allow-overwrite=true, download always starts from scratch. This
  198. will be useful for users behind proxy server which disables
  199. resume. For such proxy user, -C1 is also recommended for Metalink
  200. downloads to avoid establishing unnecessary connections.
  201. * Added v key in DHT message. aria2's DHT version is independent of
  202. the package version and we defined it as 1 at the moment. It is
  203. defined as DHT_VERSION in src/DHTConstants.h. aria2's DHT version
  204. scheme is "A2"+2bytes DHT version number in network byte order.
  205. * Fixed the bug that value of numSeeders in aria2.tellStatus XML-RPC
  206. method response is integer, while it should be string. The man
  207. page says it is string. When peer's port is not listening port,
  208. set '0' to port in aria2.getPeers response.
  209. * Lines starting "#" in -i list are treated as comments.
  210. * Accept IPv4 network address with CIDR block in --no-proxy option
  211. and no_proxy environment variable. Current implementation does not
  212. resolve hostname in URI to compare network address. So it is only
  213. effecive if URI has numeric IP address.
  214. aria2 1.9.0
  215. ===========
  216. Release Note
  217. ------------
  218. This release adds Metalink4 support and BitTorrent Local Peer
  219. Discovery. aria2.changeUri XML-RPC method was added. It enables you
  220. to add/remove URIs to existing downloads dynamically. The user and
  221. password for proxy server now can be specified in command-line
  222. separately. We refactored the code based on profiler results, so
  223. aria2 now runs more efficiently than ever. Russian and Simplified
  224. Chinese translation were updated.
  225. Changes
  226. -------
  227. * Resurrected --http-proxy-user and --http-proxy-passwd option.
  228. Added --https-proxy-user, --https-proxy-passwd, --ftp-proxy-user,
  229. --ftp-proxy-passwd, --all-proxy-user, --all-proxy-passwd option.
  230. * Updated Russian and Simplified Chinese translation.
  231. * Added --reuse-uri option. This option has existed quite long, but
  232. been hidden.
  233. * Fixed the bug that filename is percent encoded where it must be
  234. percent decoded in sendMdtm().
  235. * Added getServers XML-RPC method. It returns currently connected
  236. HTTP(S)/FTP server and download speed, etc.
  237. * Added 'status' key to the response of getUri XML-RPC method.
  238. * Added changeUri XML-RPC method. This method removes/adds URIs
  239. dynamically.
  240. * Replaced null or control characters in file path with '_'. For
  241. MinGW32 build, additional characters which is not allowed in
  242. Windows kernel are also replaced. util::detectDirTraversal() now
  243. returns true if given string contains null or control characters.
  244. * Discard torrent file if path data in it contains directory
  245. traversal directives. Discard metalink:file element in Metalink3
  246. format if its name attribute contains directory traversal
  247. directives. Ignore name attribute of metalink:signature element in
  248. Metalink3 format if it contains directory traversal directives.
  249. * Added Metalink4 support. Files with same metaurl are
  250. grouped and downloaded in one RequestGroup.
  251. * Added --bt-lpd-interface option to specify the interface to use for
  252. Local Peer Discovery. LpdMessageDispatcher object now has its own
  253. socket. LpdMessageReceiver's socket is binded to multicast address
  254. to only receive multicast packets.
  255. * Added Local Peer Discovery. It is disabled by default. Use
  256. --bt-enable-lpd to enable the function.