mirror of https://github.com/aria2/aria2
Update NEWS
parent
9a164bb4b1
commit
51bbdbb085
215
NEWS
215
NEWS
|
@ -1,182 +1,135 @@
|
||||||
aria2 1.17.1
|
aria2 1.18.0
|
||||||
============
|
============
|
||||||
|
|
||||||
Release Note
|
Release Note
|
||||||
------------
|
------------
|
||||||
|
|
||||||
This release adds large file support for Android build and libuv
|
This release changes the default disk cache size to 16 MiB. To change
|
||||||
support for event polling mechanism. AppleTLS now supports Snow
|
the default size, --with-disk-cache configure option was added. Now
|
||||||
Leopard (10.6). The experimental libaria2 C++ library API was added.
|
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
|
Changes
|
||||||
-------
|
-------
|
||||||
|
|
||||||
* Add code to detect rst2html.py or rst2html
|
* Use AM subdir-objects
|
||||||
|
|
||||||
* AppleTLS: Properly support Snow Leopard (10.6)
|
Doing so in AM_INIT_AUTOMAKE seems to be the most compatible way of
|
||||||
|
doing so.
|
||||||
|
|
||||||
Tested on 10.6.8 + XCode 4.2 (llvm-gcc-4.2, clang)
|
Closes GH-120
|
||||||
|
|
||||||
Contributed by Nils Maier
|
* AM_SILENT_RULES([yes]) with backwards-compatiblity
|
||||||
|
|
||||||
* Enable multicast loopback in BitTorrent local peer discovery
|
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
|
||||||
|
|
||||||
* Enable TLS1.1 with gnutls build
|
* Fix automake-1.14 am_aux_dir
|
||||||
|
|
||||||
* Support off64_t for Android build
|
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)
|
||||||
|
|
||||||
Android NDK R8e does not provide ftruncate64, but bionic has the
|
Hence call AC_USE_SYSTEM_EXTENSIONS only after
|
||||||
assembler code to access kernel function. We borrowed those
|
AM_INIT_AUTOMAKE. This, of course, caused a lot of related macro
|
||||||
ftruncate64.S files from android source code repository. It turns
|
shuffling.
|
||||||
out that x86 asm.h in NDK R8e is also broken, so latest asm.h was
|
|
||||||
also borrowed.
|
|
||||||
|
|
||||||
* Check zlib availability usin AC_CHECK_LIB
|
Tested against automake-1.10 (OSX Lion/XCode version) and
|
||||||
|
automake-1.14 (homebrew version)
|
||||||
|
|
||||||
This is workaround for zlib 1.2.3 which does not come with
|
* Require external gettext for --enable-nls
|
||||||
pkg-config file.
|
|
||||||
|
|
||||||
* Treat response is completed if EOF is received before streamFilter
|
And stop using the internal flavor with ./intl
|
||||||
completes
|
|
||||||
|
|
||||||
This fixes the error with web server which has buggy chunked
|
* Make AX_CXX_COMPILE_STDCXX_11 test for -stdlib=libc++ via std::shared_ptr
|
||||||
encoding.
|
|
||||||
|
|
||||||
* uitos: Fix off-by-one error bug
|
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.
|
||||||
|
|
||||||
* Add configure support for linking tcmalloc_minimal and/or jemalloc
|
* Make the configure check for C++11 compiler mandatory
|
||||||
|
|
||||||
Both tcmalloc_minimal and jemalloc outperform the native malloc
|
Remove stray "dnl", so that mandatory actually works with (my)
|
||||||
implemention on Windows (MSVCRT) in terms of committed memory
|
autoreconf.
|
||||||
consumption (~-30%) and performance (e.g. far less page faults,
|
|
||||||
~-60%), depending, of course, on the actual workload. The longer
|
|
||||||
the download queue, the bigger the impact ;)
|
|
||||||
|
|
||||||
On *nix the picture is a little different... tcmalloc usually still
|
* Always build doc/manual-src
|
||||||
outperforms the native malloc implementation, but not that
|
|
||||||
significantly than on Windows. jemalloc however is only marginally
|
|
||||||
better than recent native Linux implementations, while it is already
|
|
||||||
used by some BSD as the native allocator.
|
|
||||||
|
|
||||||
tcmalloc is part of gperftools and very mature and tested by now. It
|
Should sphinx-build be not available AND the man file not be prsent,
|
||||||
doesn't work on OSX in the default configuration, however.
|
then just "touch" it into existence (and warn about that)
|
||||||
http://code.google.com/p/gperftools/
|
|
||||||
|
|
||||||
jemalloc is the default allocator at least on FreeBSD and NetBSD and
|
* Win: Use SetConsoleCtrlHandler for SIGINT/SIGTERM
|
||||||
used in Firefox. http://www.canonware.com/jemalloc/index.html
|
|
||||||
|
|
||||||
Contributed by Nils Maier
|
* Implement a simple resource lock (threading)
|
||||||
|
|
||||||
* Close GZipFiles in the d'tor
|
In this initial implementation Locks are no-ops on platforms other
|
||||||
|
than Windows.
|
||||||
|
|
||||||
Contributed by Nils Maier
|
* Check for sphinx-build during configure
|
||||||
|
|
||||||
* Add libaria2, C++ library interface to aria2
|
* Add --with-disk-cache configure option
|
||||||
|
|
||||||
The libaria2 is a C++ library and offers the core functionality of
|
Enables packagers more fine grained control over the default value
|
||||||
aria2. The library takes care of all networking and downloading
|
without having to mess with config files.
|
||||||
stuff, so its usage is very straight forward right now. See
|
|
||||||
libaria2ex.cc in examples directory to see how to use API. By
|
|
||||||
default, libaria2 is not built. See libaria2 section in README to
|
|
||||||
how to enable it.
|
|
||||||
|
|
||||||
The APIs in this release is considered experimental.
|
See GH-115
|
||||||
|
|
||||||
* Add missing check for sigaction
|
* Change defaults: Enable 16M disk cache by default.
|
||||||
|
|
||||||
* Fix cached data is not flushed when downloaded data is less than
|
* Always save control file if --force-save is given
|
||||||
16KiB
|
|
||||||
|
|
||||||
* LibUV: Implement LibuvEventPoll
|
* Set log level DEBUG for unittests
|
||||||
|
|
||||||
LibUV event will use the best available polling method on a system,
|
* Check that C++ compiler supports override keyword
|
||||||
kind of like aria2 does already with the different *EventPoll
|
|
||||||
implementations. However, libuv may support different/newer polling
|
|
||||||
mechanisms; for example on Windows it will use IO Completion Ports
|
|
||||||
which are superior to select() ;)
|
|
||||||
|
|
||||||
Contributed by Nils Maier
|
If the compiler supports override, define CXX11_OVERRIDE as
|
||||||
|
override, otherwise define it as empty. Use CXX11_OVERRIDE instead
|
||||||
|
of override.
|
||||||
|
|
||||||
|
* AppleTLS: Fix MessageDigestImpl
|
||||||
|
|
||||||
aria2 1.17.0
|
* AppleTLS: Fix session CFRelease stuff
|
||||||
============
|
|
||||||
|
|
||||||
Release Note
|
* Use AX_CXX_COMPILE_STDCXX_11 macro to detect C++0x/C++11 support in
|
||||||
------------
|
compiler
|
||||||
|
|
||||||
This release adds Mac OS X native SSL/TLS library support. The IPv6
|
* Require -std=c++11 and use std::shared_ptr instead of SharedHandle
|
||||||
asynchronous DNS is enabled by default and A/AAAA lookups are done in
|
|
||||||
parallel. The simple Happy Eyeballs algorithm was implemented to
|
|
||||||
mitigate long timeout when connecting to IPv6 host on dual-stack host.
|
|
||||||
--save-session option only saves the options specified by command-line
|
|
||||||
or RPC.
|
|
||||||
|
|
||||||
Changes
|
* Join URI on redirect
|
||||||
-------
|
|
||||||
|
|
||||||
* Updated Russian manual
|
* Send HAVE message to the peer which the piece is downloaded from
|
||||||
|
|
||||||
Contributed by ITriskTI
|
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.
|
||||||
|
|
||||||
* Updated Portuguese manual
|
* Improvements to --follow-torrent=false documentation.
|
||||||
|
|
||||||
Contributed by Gilberto dos Santos Alves
|
Patch from gt
|
||||||
|
|
||||||
* Append --static to pkg-config arguments when ARIA2_STATIC=yes
|
* SessionSerializer: Truly unique URIs
|
||||||
|
|
||||||
* Save options directly specified for download in --save-session
|
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.
|
||||||
|
|
||||||
This change makes --save-session save only options specified for
|
Also avoid copying the uri std::strings around during dupe checking,
|
||||||
download, more specifically, options in command-line, -i file and
|
usually resulting in better performance regarding CPU and space.
|
||||||
via RPC. The other options from conf file and default values are not
|
|
||||||
saved. This will drastically decrease the size of session file.
|
|
||||||
|
|
||||||
* Save URI returned only from FileEntry::getRemainingUris()
|
* Make getOption RPC method return option for stopped downloads
|
||||||
|
|
||||||
The currently used URIs are inserted back into remaining URI list in
|
* SessionSerializer: Save spent URIs as well as remaining ones
|
||||||
FileEntry::putBackRequest(), which overlaps to some of the URIs in
|
|
||||||
spentUris_. If we save spent URIs, each time save is performed, the
|
|
||||||
number of URIs are increased due to this overlap. This change fixes
|
|
||||||
this bug.
|
|
||||||
|
|
||||||
* Print linked 3rd party libraries with version in `aria2c -v` output
|
|
||||||
|
|
||||||
* AppleTLS: Support credentials via KeyChain fingerprints
|
|
||||||
|
|
||||||
Contributed by Nils Maier
|
|
||||||
|
|
||||||
* AppleTLS: Implement AppleTLS and Apple Message Digest
|
|
||||||
|
|
||||||
Contributed by Nils Maier
|
|
||||||
|
|
||||||
* Use info level log for system trusted ca imports failure
|
|
||||||
|
|
||||||
This is because on some platforms (gnutls on cygwin for example),
|
|
||||||
library always fails for this function and getting ERROR every time
|
|
||||||
aria2c invoked is too hard.
|
|
||||||
|
|
||||||
* Don't add Windows native DLLs for Cygwin build
|
|
||||||
|
|
||||||
* Remove deprecated options: --enable-direct-io and --metalink-servers
|
|
||||||
|
|
||||||
* Deprecate --enable-async-dns6
|
|
||||||
|
|
||||||
The IPv6 asynchronous name resolver is enabled if the host has at
|
|
||||||
least one interface with IPv6 address configured (the loopback
|
|
||||||
address will not be counted), which is roughly the same behaviour of
|
|
||||||
the standard getaddrinfo(3). To disable IPv6 asynchronous name
|
|
||||||
resolver, use --disable-ipv6.
|
|
||||||
|
|
||||||
* Fix uninitialized UDPTrackerClient::numWatchers_
|
|
||||||
|
|
||||||
* Implement simple Happy Eyeballs for HTTP/FTP downloads
|
|
||||||
|
|
||||||
* Parallel A and AAAA record lookups with c-ares
|
|
||||||
|
|
||||||
But we don't wait for AAAA query response if A query response has
|
|
||||||
been received. If we got IPv4 lookup response, we don't wait for
|
|
||||||
IPv6 lookup response. This is because DNS server may drop AAAA query
|
|
||||||
and we have to wait for the long time before timeout. We don't do
|
|
||||||
the inverse, because, based on todays deployment of DNS server,
|
|
||||||
almost all of them can respond A query just fine.
|
|
||||||
|
|
Loading…
Reference in New Issue