aria2/NEWS

203 lines
6.5 KiB
Plaintext
Raw Normal View History

2013-10-20 14:03:49 +00:00
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.
2013-09-08 10:29:43 +00:00
aria2 1.18.0
2013-05-18 10:27:49 +00:00
============
Release Note
------------
2013-09-08 10:29:43 +00:00
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.
2013-05-18 10:27:49 +00:00
Changes
-------
2013-09-08 10:29:43 +00:00
* Use AM subdir-objects
2013-05-18 10:27:49 +00:00
2013-09-08 10:29:43 +00:00
Doing so in AM_INIT_AUTOMAKE seems to be the most compatible way of
doing so.
2013-05-18 10:27:49 +00:00
2013-09-08 10:29:43 +00:00
Closes GH-120
2013-05-18 10:27:49 +00:00
2013-09-08 10:29:43 +00:00
* AM_SILENT_RULES([yes]) with backwards-compatiblity
2013-05-18 10:27:49 +00:00
2013-09-08 10:29:43 +00:00
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
2013-05-18 10:27:49 +00:00
2013-09-08 10:29:43 +00:00
* Fix automake-1.14 am_aux_dir
2013-05-18 10:27:49 +00:00
2013-09-08 10:29:43 +00:00
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)
2013-05-18 10:27:49 +00:00
2013-09-08 10:29:43 +00:00
Hence call AC_USE_SYSTEM_EXTENSIONS only after
AM_INIT_AUTOMAKE. This, of course, caused a lot of related macro
shuffling.
2013-05-18 10:27:49 +00:00
2013-09-08 10:29:43 +00:00
Tested against automake-1.10 (OSX Lion/XCode version) and
automake-1.14 (homebrew version)
2013-05-18 10:27:49 +00:00
2013-09-08 10:29:43 +00:00
* Require external gettext for --enable-nls
2013-05-18 10:27:49 +00:00
2013-09-08 10:29:43 +00:00
And stop using the internal flavor with ./intl
2013-05-18 10:27:49 +00:00
2013-09-08 10:29:43 +00:00
* Make AX_CXX_COMPILE_STDCXX_11 test for -stdlib=libc++ via std::shared_ptr
2013-05-18 10:27:49 +00:00
2013-09-08 10:29:43 +00:00
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.
2013-05-18 10:27:49 +00:00
2013-09-08 10:29:43 +00:00
* Make the configure check for C++11 compiler mandatory
2013-05-18 10:27:49 +00:00
2013-09-08 10:29:43 +00:00
Remove stray "dnl", so that mandatory actually works with (my)
autoreconf.
2013-05-18 10:27:49 +00:00
2013-09-08 10:29:43 +00:00
* Always build doc/manual-src
2013-05-18 10:27:49 +00:00
2013-09-08 10:29:43 +00:00
Should sphinx-build be not available AND the man file not be prsent,
then just "touch" it into existence (and warn about that)
2013-05-18 10:27:49 +00:00
2013-09-08 10:29:43 +00:00
* Win: Use SetConsoleCtrlHandler for SIGINT/SIGTERM
2013-05-18 10:27:49 +00:00
2013-09-08 10:29:43 +00:00
* Implement a simple resource lock (threading)
2013-05-18 10:27:49 +00:00
2013-09-08 10:29:43 +00:00
In this initial implementation Locks are no-ops on platforms other
than Windows.
2013-05-18 10:27:49 +00:00
2013-09-08 10:29:43 +00:00
* Check for sphinx-build during configure
2013-05-18 10:27:49 +00:00
2013-09-08 10:29:43 +00:00
* Add --with-disk-cache configure option
2013-05-18 10:27:49 +00:00
2013-09-08 10:29:43 +00:00
Enables packagers more fine grained control over the default value
without having to mess with config files.
2013-05-18 10:27:49 +00:00
2013-09-08 10:29:43 +00:00
See GH-115
2013-05-18 10:27:49 +00:00
2013-09-08 10:29:43 +00:00
* Change defaults: Enable 16M disk cache by default.
2013-05-18 10:27:49 +00:00
2013-09-08 10:29:43 +00:00
* Always save control file if --force-save is given
2013-05-18 10:27:49 +00:00
2013-09-08 10:29:43 +00:00
* Set log level DEBUG for unittests
2013-05-18 10:27:49 +00:00
2013-09-08 10:29:43 +00:00
* Check that C++ compiler supports override keyword
2013-05-18 10:27:49 +00:00
2013-09-08 10:29:43 +00:00
If the compiler supports override, define CXX11_OVERRIDE as
override, otherwise define it as empty. Use CXX11_OVERRIDE instead
of override.
2013-05-18 10:27:49 +00:00
2013-09-08 10:29:43 +00:00
* AppleTLS: Fix MessageDigestImpl
2013-05-18 10:27:49 +00:00
2013-09-08 10:29:43 +00:00
* AppleTLS: Fix session CFRelease stuff
2013-03-17 07:08:08 +00:00
2013-09-08 10:29:43 +00:00
* Use AX_CXX_COMPILE_STDCXX_11 macro to detect C++0x/C++11 support in
compiler
2013-03-17 07:08:08 +00:00
2013-09-08 10:29:43 +00:00
* Require -std=c++11 and use std::shared_ptr instead of SharedHandle
2013-03-17 07:08:08 +00:00
2013-09-08 10:29:43 +00:00
* Join URI on redirect
2012-02-27 12:33:01 +00:00
2013-09-08 10:29:43 +00:00
* Send HAVE message to the peer which the piece is downloaded from
2012-02-27 12:33:01 +00:00
2013-09-08 10:29:43 +00:00
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.
2012-02-27 12:33:01 +00:00
2013-09-08 10:29:43 +00:00
* Improvements to --follow-torrent=false documentation.
2012-02-27 12:33:01 +00:00
2013-09-08 10:29:43 +00:00
Patch from gt
2012-02-27 12:33:01 +00:00
2013-09-08 10:29:43 +00:00
* SessionSerializer: Truly unique URIs
2012-02-27 12:33:01 +00:00
2013-09-08 10:29:43 +00:00
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.
2012-02-27 12:33:01 +00:00
2013-09-08 10:29:43 +00:00
Also avoid copying the uri std::strings around during dupe checking,
usually resulting in better performance regarding CPU and space.
2011-12-25 15:59:24 +00:00
2013-09-08 10:29:43 +00:00
* Make getOption RPC method return option for stopped downloads
2011-12-25 15:59:24 +00:00
2013-09-08 10:29:43 +00:00
* SessionSerializer: Save spent URIs as well as remaining ones