NEWS 8.7 KB

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