mirror of
https://github.com/aria2/aria2.git
synced 2024-11-24 02:23:38 +08:00
345 lines
10 KiB
Plaintext
345 lines
10 KiB
Plaintext
aria2 1.18.4
|
||
============
|
||
|
||
Release Note
|
||
------------
|
||
|
||
This release adds new RPC authorization mechanism using --rpc-secret
|
||
option. The existing --rpc-user and --rpc-passwd options are now
|
||
deprecated, and all applications using RPC API is strongly encouraged
|
||
to migrate to the new mechanism. See RPC INTERFACE section in aria2
|
||
manual page for the details. The new RPC method, aria2.saveSession,
|
||
was added, which tells aria2 server to save session file immediately.
|
||
There are several enhancements and bug fixes. See the changes for the
|
||
details.
|
||
|
||
Changes
|
||
-------
|
||
|
||
* Added support for RPC channel encryption in aria2rpc
|
||
|
||
Patch from David Macek
|
||
|
||
* Add aria2.saveSession RPC method
|
||
|
||
This method saves the current session to a file specified by
|
||
--save-session option. This method returns "OK" if it succeeds.
|
||
|
||
* Add numStoppedTotal key to aria2.getGlobalStat() RPC method response
|
||
|
||
It shows the number of stopped downloads in the current session and
|
||
not capped by --max-download-result option. On the other hand, the
|
||
existing numStopped key also shows the number of stopped downloads,
|
||
but it is capped by --max-download-result option.
|
||
|
||
* Better handling of 30x HTTP status codes
|
||
|
||
Reference: http://greenbytes.de/tech/tc/httpredirects/
|
||
|
||
* Implement new RPC authorization using --rpc-secret option
|
||
|
||
Add future deprecation warning to --rpc-user and --rpc-passwd. Warn
|
||
if neither --rpc-secret nor a combination of --rpc-user/rpc-passwd
|
||
is set.
|
||
|
||
* Add --enable-color option to enable/disable terminal color output
|
||
|
||
* Add DSCP support
|
||
|
||
* gnutls: Don't fail handshake if returned error is not fatal
|
||
|
||
* Add workaround GnuTLS bug with OCSP status extension and
|
||
non-blocking socket
|
||
|
||
GnuTLS version 3.1.3 - 3.1.18 and 3.2.0 - 3.2.8, inclusive, has this
|
||
bug. For these versions, we disable OCSP status extension.
|
||
|
||
* Make GnuTLS log level dependent on the aria2 ones
|
||
|
||
|
||
|
||
aria2 1.18.3
|
||
============
|
||
|
||
Release Note
|
||
------------
|
||
|
||
This release fixes the bug which may cause assertion failure after
|
||
multi-file downloads (e.g., multi-file metalink or torrent) are
|
||
performed several times due to the bad handling of --bt-max-open-files
|
||
option.
|
||
|
||
Changes
|
||
-------
|
||
|
||
* Fix crash if unpause failed before assigning BtProgressInfoFile
|
||
object
|
||
|
||
* Enable and check PIE in makerelease-osx
|
||
|
||
* Fix bug that numOpenFile_ is not reduced when MultiDiskAdaptor is
|
||
deleted
|
||
|
||
This bug caused assertion error in
|
||
RequestGroupMan::ensureMaxOpenFileLimit
|
||
|
||
|
||
|
||
aria2 1.18.2
|
||
============
|
||
|
||
Release Note
|
||
------------
|
||
|
||
This release fixes the wrong handling of return value of fork(), which
|
||
leads to high CPU usage. The progress readout has some color output.
|
||
Mingw32 build now receives colorized output. Mingw32 build now can
|
||
read unicode command-line arguments. The build script of OSX was
|
||
rewritten. The --bt-max-open-files now limits the number of opened
|
||
file globally for multi-file downloads instead of per download basis.
|
||
|
||
Changes
|
||
-------
|
||
|
||
* Remove the outdated, broken build_osx_release.sh
|
||
|
||
* Initial revision of the a new OSX release Makefile
|
||
|
||
* Allow using libgmp with AppleTLS/WinTLS
|
||
|
||
* Fix crash when metaurl contains unsupported URI or text
|
||
|
||
* Fix bad fork() return value handling
|
||
|
||
* Use some colors in progress reports (where available)
|
||
|
||
* Implement basic color support for the Windows console
|
||
|
||
Only \033[*m (SGR) is supported, with a 16+16 color terminal.
|
||
|
||
* AppleTLS: Implement PKCS12 loading.
|
||
|
||
* Limit number of opened file globally with --bt-max-open-files option
|
||
|
||
This change changes the behavior of --bt-max-open-files. Previously,
|
||
it specifies the maximum number of opened files for each multi-file
|
||
download. Since it is more useful to limit the number globally, the
|
||
option now specifies the global limit. This change suggests that
|
||
aria2.changeOption() method now ignores --bt-max-open-files and
|
||
aria2.changeGlobalOption now reads it and dynamically change the
|
||
limit.
|
||
|
||
* Don't fail multiple concurrent dl same file if auto-file-renaming is
|
||
enabled
|
||
|
||
* mingw32: Use CommandLineToArgvW() and GetCommandLineW() to read
|
||
cmd-line args
|
||
|
||
This change enables aria2 to read unicode characters in
|
||
command-line.
|
||
|
||
|
||
|
||
aria2 1.18.1
|
||
============
|
||
|
||
Release Note
|
||
------------
|
||
|
||
This release fixes the percent-encoding bug which affects file name
|
||
encodings. It adds PKCS12 support in certificate import. It also adds
|
||
experimental internal implementation of message digest functions, ARC4
|
||
cipher and bignum. It means that no external libraries are required to
|
||
build BitTorrent support, but this feature is still marked as
|
||
experimental. This release also fixes the android build with NDK r9.
|
||
|
||
Changes
|
||
-------
|
||
|
||
* LibsslTLSContext: Remove weak cipher suite
|
||
|
||
* AppleTLS: Enable --certificate
|
||
|
||
* util::percentEncodeMini: Fix regression bug removed unsignedness
|
||
|
||
srange-based for around std::string is convenient but several
|
||
functions depend unsigned char for correctness and readability.
|
||
|
||
* Log exception; throw error if loading private key and/or certificate
|
||
failed
|
||
|
||
* Provide internal ARC4 implementation
|
||
|
||
Now you can build bittorrent support without without external
|
||
libraries, meaning you can skip libnettle, libgmp, libgcrypt, GnuTLS
|
||
and OpenSSL on OSX (for now).
|
||
|
||
* Internal implementation of DHKeyExchange
|
||
|
||
Reusing a bignum (well, unsigned very-long) implementation I had
|
||
lying around for years and just cleaned up a bit and brought to
|
||
C++11 land.
|
||
|
||
It might not be the most performant implementation, but it shoud be
|
||
fast enough for our purposes and will go a long way of removing
|
||
gcrypt, nettle, gmp, openssl dependencies when using AppleTLS and
|
||
WinTLS (upcoming).
|
||
|
||
* PKCS12 support in --certificate and --rpc-certificate options.
|
||
|
||
* Add --disable-ssl configure option
|
||
|
||
* Add internal md5 and sha1 message digests
|
||
|
||
* Fix AppleMessageDigestImpl use with large data
|
||
|
||
* Set old cookie's creation-time to new cookie on replacement
|
||
|
||
As described in http://tools.ietf.org/html/rfc6265#section-5.3
|
||
|
||
* Fix link error with Android NDK r9
|
||
|
||
Since Android ndk r9, __set_errno is deprecated. It is now defined
|
||
as inline function in errno.h. The syscall assembly calls
|
||
__set_errno, but since libc.so does not export it, the link
|
||
fails. To workaround this, replace all occurrences of __set_errno
|
||
with a2_set_errno and define it as normal C function.
|
||
|
||
|
||
|
||
aria2 1.18.0
|
||
============
|
||
|
||
Release Note
|
||
------------
|
||
|
||
This release changes the default disk cache size to 16 MiB. To change
|
||
the default size, --with-disk-cache configure option was added. Now
|
||
used URIs are also saved by --save-session option. The control file is
|
||
now always saved if --force-save is given. The ctrl-c handling on
|
||
Mingw build was improved. The internal intl library is no longer
|
||
supplied. From this release, C++11 compiler is required to build aria2
|
||
executable. For gcc, at least 4.6.3 is required.
|
||
|
||
Changes
|
||
-------
|
||
|
||
* Use AM subdir-objects
|
||
|
||
Doing so in AM_INIT_AUTOMAKE seems to be the most compatible way of
|
||
doing so.
|
||
|
||
Closes GH-120
|
||
|
||
* AM_SILENT_RULES([yes]) with backwards-compatiblity
|
||
|
||
Supported since automake-1.11. There is no point in having the very
|
||
verbose compile stuff running about, which cannot even silenced
|
||
properly with `make -s` by default. Otherwise, `make V=1` or
|
||
`--disable-silent-rules` are your friends
|
||
|
||
* Fix automake-1.14 am_aux_dir
|
||
|
||
AC_USE_SYSTEM_EXTENSIONS will cause AC_PROG_CC, which is overridden
|
||
by automake-1.14, which will then init (part) of automake, in
|
||
particular am_aux_dir expansion, which in turn relies on ac_aux-dir,
|
||
which is not initialized at this point, and thus: certain doom (or
|
||
fun, depending on your POV and mood :p)
|
||
|
||
Hence call AC_USE_SYSTEM_EXTENSIONS only after
|
||
AM_INIT_AUTOMAKE. This, of course, caused a lot of related macro
|
||
shuffling.
|
||
|
||
Tested against automake-1.10 (OSX Lion/XCode version) and
|
||
automake-1.14 (homebrew version)
|
||
|
||
* Require external gettext for --enable-nls
|
||
|
||
And stop using the internal flavor with ./intl
|
||
|
||
* Make AX_CXX_COMPILE_STDCXX_11 test for -stdlib=libc++ via std::shared_ptr
|
||
|
||
The clang shipped with OSX XCode and clangs not build enabling
|
||
libcpp, will default to the libstdc++ headers and lib installed on
|
||
the system. In the OSX case, that libstdc++ is the one bundles with
|
||
gcc-4.2, which is far too old to provide all required C++11 types,
|
||
such as std::shared_ptr. Hence, the C++11 check should try to
|
||
compile a program with a C++11 type and try -stdlib=libc++ if the
|
||
default lib fails to compile said program.
|
||
|
||
* Make the configure check for C++11 compiler mandatory
|
||
|
||
Remove stray "dnl", so that mandatory actually works with (my)
|
||
autoreconf.
|
||
|
||
* Always build doc/manual-src
|
||
|
||
Should sphinx-build be not available AND the man file not be prsent,
|
||
then just "touch" it into existence (and warn about that)
|
||
|
||
* Win: Use SetConsoleCtrlHandler for SIGINT/SIGTERM
|
||
|
||
* Implement a simple resource lock (threading)
|
||
|
||
In this initial implementation Locks are no-ops on platforms other
|
||
than Windows.
|
||
|
||
* Check for sphinx-build during configure
|
||
|
||
* Add --with-disk-cache configure option
|
||
|
||
Enables packagers more fine grained control over the default value
|
||
without having to mess with config files.
|
||
|
||
See GH-115
|
||
|
||
* Change defaults: Enable 16M disk cache by default.
|
||
|
||
* Always save control file if --force-save is given
|
||
|
||
* Set log level DEBUG for unittests
|
||
|
||
* Check that C++ compiler supports override keyword
|
||
|
||
If the compiler supports override, define CXX11_OVERRIDE as
|
||
override, otherwise define it as empty. Use CXX11_OVERRIDE instead
|
||
of override.
|
||
|
||
* AppleTLS: Fix MessageDigestImpl
|
||
|
||
* AppleTLS: Fix session CFRelease stuff
|
||
|
||
* Use AX_CXX_COMPILE_STDCXX_11 macro to detect C++0x/C++11 support in
|
||
compiler
|
||
|
||
* Require -std=c++11 and use std::shared_ptr instead of SharedHandle
|
||
|
||
* Join URI on redirect
|
||
|
||
* Send HAVE message to the peer which the piece is downloaded from
|
||
|
||
Historically, aria2 did not send HAVE message to the peer which the
|
||
piece is coming from, thinking it is obvious that the peer knows we
|
||
have the piece. But it is not obvious if one piece is download from
|
||
more than 1 peers (e.g., end game mode). So it is better to send
|
||
HAVE to all peers connected.
|
||
|
||
* Improvements to --follow-torrent=false documentation.
|
||
|
||
Patch from gt
|
||
|
||
* SessionSerializer: Truly unique URIs
|
||
|
||
Before, only spent uris where sanitized not to be contained within
|
||
remaining uris. Change this so that each uri in the
|
||
union(remaining,spent) get saved once at most. The order of the
|
||
uris will won't be changed, with remaining uris going first followed
|
||
by spent uris.
|
||
|
||
Also avoid copying the uri std::strings around during dupe checking,
|
||
usually resulting in better performance regarding CPU and space.
|
||
|
||
* Make getOption RPC method return option for stopped downloads
|
||
|
||
* SessionSerializer: Save spent URIs as well as remaining ones
|