NEWS 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363
  1. aria2 1.18.5
  2. ============
  3. Release Note
  4. ------------
  5. This release fixes BitTorrent download failure on Mingw build.
  6. Changes
  7. -------
  8. * Ignore error when setting DSCP value
  9. Setting DSCP is additional feature and failure to enable it should
  10. not abort download entirely. This change fixes the bug that windows
  11. build does not perform bittorrent downloads.
  12. aria2 1.18.4
  13. ============
  14. Release Note
  15. ------------
  16. This release adds new RPC authorization mechanism using --rpc-secret
  17. option. The existing --rpc-user and --rpc-passwd options are now
  18. deprecated, and all applications using RPC API is strongly encouraged
  19. to migrate to the new mechanism. See RPC INTERFACE section in aria2
  20. manual page for the details. The new RPC method, aria2.saveSession,
  21. was added, which tells aria2 server to save session file immediately.
  22. There are several enhancements and bug fixes. See the changes for the
  23. details.
  24. Changes
  25. -------
  26. * Added support for RPC channel encryption in aria2rpc
  27. Patch from David Macek
  28. * Add aria2.saveSession RPC method
  29. This method saves the current session to a file specified by
  30. --save-session option. This method returns "OK" if it succeeds.
  31. * Add numStoppedTotal key to aria2.getGlobalStat() RPC method response
  32. It shows the number of stopped downloads in the current session and
  33. not capped by --max-download-result option. On the other hand, the
  34. existing numStopped key also shows the number of stopped downloads,
  35. but it is capped by --max-download-result option.
  36. * Better handling of 30x HTTP status codes
  37. Reference: http://greenbytes.de/tech/tc/httpredirects/
  38. * Implement new RPC authorization using --rpc-secret option
  39. Add future deprecation warning to --rpc-user and --rpc-passwd. Warn
  40. if neither --rpc-secret nor a combination of --rpc-user/rpc-passwd
  41. is set.
  42. * Add --enable-color option to enable/disable terminal color output
  43. * Add DSCP support
  44. * gnutls: Don't fail handshake if returned error is not fatal
  45. * Add workaround GnuTLS bug with OCSP status extension and
  46. non-blocking socket
  47. GnuTLS version 3.1.3 - 3.1.18 and 3.2.0 - 3.2.8, inclusive, has this
  48. bug. For these versions, we disable OCSP status extension.
  49. * Make GnuTLS log level dependent on the aria2 ones
  50. aria2 1.18.3
  51. ============
  52. Release Note
  53. ------------
  54. This release fixes the bug which may cause assertion failure after
  55. multi-file downloads (e.g., multi-file metalink or torrent) are
  56. performed several times due to the bad handling of --bt-max-open-files
  57. option.
  58. Changes
  59. -------
  60. * Fix crash if unpause failed before assigning BtProgressInfoFile
  61. object
  62. * Enable and check PIE in makerelease-osx
  63. * Fix bug that numOpenFile_ is not reduced when MultiDiskAdaptor is
  64. deleted
  65. This bug caused assertion error in
  66. RequestGroupMan::ensureMaxOpenFileLimit
  67. aria2 1.18.2
  68. ============
  69. Release Note
  70. ------------
  71. This release fixes the wrong handling of return value of fork(), which
  72. leads to high CPU usage. The progress readout has some color output.
  73. Mingw32 build now receives colorized output. Mingw32 build now can
  74. read unicode command-line arguments. The build script of OSX was
  75. rewritten. The --bt-max-open-files now limits the number of opened
  76. file globally for multi-file downloads instead of per download basis.
  77. Changes
  78. -------
  79. * Remove the outdated, broken build_osx_release.sh
  80. * Initial revision of the a new OSX release Makefile
  81. * Allow using libgmp with AppleTLS/WinTLS
  82. * Fix crash when metaurl contains unsupported URI or text
  83. * Fix bad fork() return value handling
  84. * Use some colors in progress reports (where available)
  85. * Implement basic color support for the Windows console
  86. Only \033[*m (SGR) is supported, with a 16+16 color terminal.
  87. * AppleTLS: Implement PKCS12 loading.
  88. * Limit number of opened file globally with --bt-max-open-files option
  89. This change changes the behavior of --bt-max-open-files. Previously,
  90. it specifies the maximum number of opened files for each multi-file
  91. download. Since it is more useful to limit the number globally, the
  92. option now specifies the global limit. This change suggests that
  93. aria2.changeOption() method now ignores --bt-max-open-files and
  94. aria2.changeGlobalOption now reads it and dynamically change the
  95. limit.
  96. * Don't fail multiple concurrent dl same file if auto-file-renaming is
  97. enabled
  98. * mingw32: Use CommandLineToArgvW() and GetCommandLineW() to read
  99. cmd-line args
  100. This change enables aria2 to read unicode characters in
  101. command-line.
  102. aria2 1.18.1
  103. ============
  104. Release Note
  105. ------------
  106. This release fixes the percent-encoding bug which affects file name
  107. encodings. It adds PKCS12 support in certificate import. It also adds
  108. experimental internal implementation of message digest functions, ARC4
  109. cipher and bignum. It means that no external libraries are required to
  110. build BitTorrent support, but this feature is still marked as
  111. experimental. This release also fixes the android build with NDK r9.
  112. Changes
  113. -------
  114. * LibsslTLSContext: Remove weak cipher suite
  115. * AppleTLS: Enable --certificate
  116. * util::percentEncodeMini: Fix regression bug removed unsignedness
  117. srange-based for around std::string is convenient but several
  118. functions depend unsigned char for correctness and readability.
  119. * Log exception; throw error if loading private key and/or certificate
  120. failed
  121. * Provide internal ARC4 implementation
  122. Now you can build bittorrent support without without external
  123. libraries, meaning you can skip libnettle, libgmp, libgcrypt, GnuTLS
  124. and OpenSSL on OSX (for now).
  125. * Internal implementation of DHKeyExchange
  126. Reusing a bignum (well, unsigned very-long) implementation I had
  127. lying around for years and just cleaned up a bit and brought to
  128. C++11 land.
  129. It might not be the most performant implementation, but it shoud be
  130. fast enough for our purposes and will go a long way of removing
  131. gcrypt, nettle, gmp, openssl dependencies when using AppleTLS and
  132. WinTLS (upcoming).
  133. * PKCS12 support in --certificate and --rpc-certificate options.
  134. * Add --disable-ssl configure option
  135. * Add internal md5 and sha1 message digests
  136. * Fix AppleMessageDigestImpl use with large data
  137. * Set old cookie's creation-time to new cookie on replacement
  138. As described in http://tools.ietf.org/html/rfc6265#section-5.3
  139. * Fix link error with Android NDK r9
  140. Since Android ndk r9, __set_errno is deprecated. It is now defined
  141. as inline function in errno.h. The syscall assembly calls
  142. __set_errno, but since libc.so does not export it, the link
  143. fails. To workaround this, replace all occurrences of __set_errno
  144. with a2_set_errno and define it as normal C function.
  145. aria2 1.18.0
  146. ============
  147. Release Note
  148. ------------
  149. This release changes the default disk cache size to 16 MiB. To change
  150. the default size, --with-disk-cache configure option was added. Now
  151. used URIs are also saved by --save-session option. The control file is
  152. now always saved if --force-save is given. The ctrl-c handling on
  153. Mingw build was improved. The internal intl library is no longer
  154. supplied. From this release, C++11 compiler is required to build aria2
  155. executable. For gcc, at least 4.6.3 is required.
  156. Changes
  157. -------
  158. * Use AM subdir-objects
  159. Doing so in AM_INIT_AUTOMAKE seems to be the most compatible way of
  160. doing so.
  161. Closes GH-120
  162. * AM_SILENT_RULES([yes]) with backwards-compatiblity
  163. Supported since automake-1.11. There is no point in having the very
  164. verbose compile stuff running about, which cannot even silenced
  165. properly with `make -s` by default. Otherwise, `make V=1` or
  166. `--disable-silent-rules` are your friends
  167. * Fix automake-1.14 am_aux_dir
  168. AC_USE_SYSTEM_EXTENSIONS will cause AC_PROG_CC, which is overridden
  169. by automake-1.14, which will then init (part) of automake, in
  170. particular am_aux_dir expansion, which in turn relies on ac_aux-dir,
  171. which is not initialized at this point, and thus: certain doom (or
  172. fun, depending on your POV and mood :p)
  173. Hence call AC_USE_SYSTEM_EXTENSIONS only after
  174. AM_INIT_AUTOMAKE. This, of course, caused a lot of related macro
  175. shuffling.
  176. Tested against automake-1.10 (OSX Lion/XCode version) and
  177. automake-1.14 (homebrew version)
  178. * Require external gettext for --enable-nls
  179. And stop using the internal flavor with ./intl
  180. * Make AX_CXX_COMPILE_STDCXX_11 test for -stdlib=libc++ via std::shared_ptr
  181. The clang shipped with OSX XCode and clangs not build enabling
  182. libcpp, will default to the libstdc++ headers and lib installed on
  183. the system. In the OSX case, that libstdc++ is the one bundles with
  184. gcc-4.2, which is far too old to provide all required C++11 types,
  185. such as std::shared_ptr. Hence, the C++11 check should try to
  186. compile a program with a C++11 type and try -stdlib=libc++ if the
  187. default lib fails to compile said program.
  188. * Make the configure check for C++11 compiler mandatory
  189. Remove stray "dnl", so that mandatory actually works with (my)
  190. autoreconf.
  191. * Always build doc/manual-src
  192. Should sphinx-build be not available AND the man file not be prsent,
  193. then just "touch" it into existence (and warn about that)
  194. * Win: Use SetConsoleCtrlHandler for SIGINT/SIGTERM
  195. * Implement a simple resource lock (threading)
  196. In this initial implementation Locks are no-ops on platforms other
  197. than Windows.
  198. * Check for sphinx-build during configure
  199. * Add --with-disk-cache configure option
  200. Enables packagers more fine grained control over the default value
  201. without having to mess with config files.
  202. See GH-115
  203. * Change defaults: Enable 16M disk cache by default.
  204. * Always save control file if --force-save is given
  205. * Set log level DEBUG for unittests
  206. * Check that C++ compiler supports override keyword
  207. If the compiler supports override, define CXX11_OVERRIDE as
  208. override, otherwise define it as empty. Use CXX11_OVERRIDE instead
  209. of override.
  210. * AppleTLS: Fix MessageDigestImpl
  211. * AppleTLS: Fix session CFRelease stuff
  212. * Use AX_CXX_COMPILE_STDCXX_11 macro to detect C++0x/C++11 support in
  213. compiler
  214. * Require -std=c++11 and use std::shared_ptr instead of SharedHandle
  215. * Join URI on redirect
  216. * Send HAVE message to the peer which the piece is downloaded from
  217. Historically, aria2 did not send HAVE message to the peer which the
  218. piece is coming from, thinking it is obvious that the peer knows we
  219. have the piece. But it is not obvious if one piece is download from
  220. more than 1 peers (e.g., end game mode). So it is better to send
  221. HAVE to all peers connected.
  222. * Improvements to --follow-torrent=false documentation.
  223. Patch from gt
  224. * SessionSerializer: Truly unique URIs
  225. Before, only spent uris where sanitized not to be contained within
  226. remaining uris. Change this so that each uri in the
  227. union(remaining,spent) get saved once at most. The order of the
  228. uris will won't be changed, with remaining uris going first followed
  229. by spent uris.
  230. Also avoid copying the uri std::strings around during dupe checking,
  231. usually resulting in better performance regarding CPU and space.
  232. * Make getOption RPC method return option for stopped downloads
  233. * SessionSerializer: Save spent URIs as well as remaining ones