NEWS 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. aria2 1.15.2
  2. ============
  3. Release Note
  4. ------------
  5. This release fixes several critical bugs. It also adds new features
  6. such as TLS SNI and CORS support. The --file--allocation option now
  7. take another value trunc. The new option --enalbe-mmap was added.
  8. aria2 now uses system-wide SSL/TLS certificates by default, which
  9. eliminates the requirement to specify --ca-certificate option.
  10. Changes
  11. -------
  12. * Catch exception from Socket::getPeerInfo() when pooling connection.
  13. Socket::getPeerInfo() may fail if its TCP connection has already
  14. disconnected. In this case, we log this error. The success or
  15. failure of pooling connection should not affect the later execution
  16. of the program. This bug may cause segmentation fault if
  17. Socket::getPeerInfo() throws exception during pooling connection
  18. after successful tracker request.
  19. * Fixed assertion error if --retry-wait is used. In
  20. CreateRequestCommand, if Request object returned from getRequest()
  21. is still sleeping, CreateRequestCommand pools it back but still
  22. holds its reference. This makes assertion error in
  23. UnknownLengthPieceStroage::hasMissingUnusedPiece() from
  24. AbstractCommand::execute().
  25. * Added new file allocation method called 'trunc'. --file-allocation
  26. option can now take new value 'trunc'. 'trunc' uses ftruncate()
  27. system call or platform-specific counterpart to truncate a file to a
  28. specified length.
  29. * Use int64_t instead of off_t. Using off_t, at least, in DiskAdaptor
  30. layer is problematic because torrent can contain under 2GiB files
  31. but total sum of those files may exceed 2GiB limit, which makes
  32. off_t overflow in 32 bit system without large file support. So we
  33. use int64_t in API. We'll check the file length before download so
  34. that it does not exceed max off_t.
  35. * Added TLS SNI support.
  36. * Rewritten timegm replacement function. The algorithm is based on
  37. Python 2.7 calendar.timegm.
  38. * Use system-wide certificates for SSL. Use system-wide certificates
  39. for SSL. For GnuTLS it requires the latest version, 3.0.20. OpenSSL
  40. had it for longer. This means that if SSL library is properly
  41. configured to locate system-wide certificates store, the user don't
  42. have to use --ca-certificate option. Also packagers don't have to
  43. use --with-ca-bundle configure option. Patch from Cristian Morales
  44. Vega
  45. * Fixed base64::decode() return "" if input ends with garbage and no
  46. padding.
  47. * Changed default Peer ID prefix. The new Peer ID prefix is
  48. "A2-$MAJOR-$MINOR-$MICRO-", where $MAJOR, $MINOR and $MICRO are the
  49. major version, the minor version and the micro version
  50. respectively. For instance, 1.15.2 release of aria2 will use
  51. "A2-1-15-2-".
  52. * Don't percent-decode filename value in Content-Disposition. We only
  53. percent-decode filename* value in Content-Disposition because the
  54. encoding is fully specified. But since filename value is not, so we
  55. just accept it as is.
  56. * Don't sum in-flight piece which does not intersect filtered ranges.
  57. When calculating completed length, don't sum the completed length of
  58. piece which does not intersect filtered ranges.
  59. * Fixed segmentation fault when logger failed to open log file.
  60. * Added ARIA2_STATIC precious variable to configure option. To build
  61. statically linked aria2 binary, give ARIA2_STATIC=yes to configure,
  62. like this:
  63. $ ./configure ARIA2_STATIC=yes
  64. * Use PRId64 for int64_t format specifier
  65. * Handle the case when MINGW32 vsnprintf returns -1. MINGW32 vsnprintf
  66. returns -1 if output is truncated. Increased buffer for vsnprintf
  67. in WinConsoleFile and fmt.
  68. * Added --enable-mmap option. If this option is used, map files into
  69. memory using mmap(2). This option is experimental.
  70. * Added CORS preflight request support in RPC interface. This change
  71. is based on the patch from binux.
  72. aria2 1.15.1
  73. ============
  74. Release Note
  75. ------------
  76. This release fixes the bug that prevents --bt-lpd-interface from
  77. working. If some options sent by RPC request are not acceptable for
  78. the download type, they are now simply ignored instead of rejecting
  79. RPC request entirely. The aria2 RPC server now returns 4XX error code
  80. if the request is not valid in the HTTP level. To improve packaging,
  81. --with-bashcompletiondir configure option was added. This option
  82. overrides where the aria2c bash_completion file is going to be
  83. installed. All manual pages are now generated by Sphinx.
  84. Changes
  85. -------
  86. * Return appropriate HTTP status code on RPC failure. In this change,
  87. we return 404 if the request path is neither /json-rpc nor /rpc. If
  88. XML feature is not enabled and /rpc is requested, return 404. If
  89. XML parser failed, return 400. JSON parser failure has been handled
  90. well in the existing code.
  91. * Ignore unacceptable options in RPC request instead of throwing
  92. error. This change allows RPC client to send same options for the
  93. different type of downloads.
  94. * Handle sockaddr_in.sin_len and sockaddr_in6.sin6_len. Check
  95. sockaddr_in.sin_len and sockaddr_in6.sin6_len are available and
  96. assign values to them properly. This change fixes unit test error
  97. and most error related to getnameinfo() on netbsd.
  98. * Removed dependency on inet_aton. Implemented inetPton as a
  99. replacement of inet_aton. inetPton is implemented using
  100. net::getBinAddr. This change fixes bug#3525424.
  101. * Added --with-bashcompletiondir configure option. By default,
  102. bash_completion file named aria2c is installed to the directory
  103. $prefix/share/doc/aria2/bash_completion. To change the install
  104. directory of the file, use --with-bashcompletiondir option.
  105. * Converted README.asciidoc into README.rst
  106. * Use Sphinx for aria2 manual page documentation. The source files
  107. for manual pages are placed under doc/manual-src. The manual pages
  108. are generated under doc/manual-src/$LANG/_build. The HTML version
  109. manual page was dropped from the distribution archive.
  110. * Fixed the bug which prevents --bt-lpd-interface from working.
  111. Fixes bug#3520125
  112. aria2 1.15.0
  113. ============
  114. Release Note
  115. ------------
  116. This release adds JSON-RPC over WebSocket. It uses the same
  117. request/response JSON objects with existing JSON-RPC over HTTP and
  118. adds event notifications from server to client. See manpage for
  119. details. TLS hostname check is rewritten based on RFC 6125 and it is
  120. used for both GNUTLS and OpenSSL builds. The
  121. --bt-remove-unselected-file option was added. This option removes the
  122. unselected files when BitTorrent download is completed.
  123. Changes
  124. -------
  125. * Use CreateProcessW instead of CreateProcessA in MinGW build. This
  126. means filename is now passed as wchar string, not UTF-8 encoded char
  127. string.
  128. * Check with pkg-config only: c-ares, openssl, sqlite3 and zlib.
  129. Removed --with-*-prefix configure option for c-ares, openssl,
  130. sqlite3, zlib and expat. Use CPPFLAGS and/or PKG_CONFIG_PATH
  131. instead.
  132. * Fixed compile error with i686-w64-mingw32 and x86_64-w64-mingw32
  133. cross compilers.
  134. * Get the home directory of the effective user ID using getpwuid() if
  135. $HOME is not defined.
  136. * Don't use locale dependent toupper and tolower.
  137. * Rewritten TLS hostname check based on RFC 6125 for both GNUTLS and
  138. OpenSSL builds.
  139. * Added --bt-remove-unselected-file option. Removes the unselected
  140. files when download is completed in BitTorrent. To select files, use
  141. --select-file option. If it is not used, all files are assumed to be
  142. selected. Please use this option with care because it will actually
  143. remove files from your disk. This option is default to false.
  144. * Fixed compile error on Open Solaris. Fixes bug#3497518
  145. * Added JSON-RPC over WebSocket.
  146. * Fixed assertion failure if Chunked encoding along with
  147. Content-Length is used.
  148. * Fixed clang and gcc-4.7 warning and errors.
  149. * Fixed the bug that aria2 cannot read line longer than 4096 bytes
  150. from the file specified by --input-file option. Fixes bug#3495336