summaryrefslogtreecommitdiff
path: root/NEWS
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-09-08 19:29:43 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-09-08 19:29:43 +0900
commit51bbdbb085cdbb7ada9989f2994bcc73ca6403b8 (patch)
tree618d23b1c5ec1fa9001a83f31fdba23a5629fd4e /NEWS
parent9a164bb4b198c8371bdd097773991c5965cf2db0 (diff)
Update NEWS
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS215
1 files changed, 84 insertions, 131 deletions
diff --git a/NEWS b/NEWS
index 3e83c332..8e7a4036 100644
--- a/NEWS
+++ b/NEWS
@@ -1,182 +1,135 @@
-aria2 1.17.1
+aria2 1.18.0
============
Release Note
------------
-This release adds large file support for Android build and libuv
-support for event polling mechanism. AppleTLS now supports Snow
-Leopard (10.6). The experimental libaria2 C++ library API was added.
+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
-------
-* 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
- assembler code to access kernel function. We borrowed those
- ftruncate64.S files from android source code repository. It turns
- out that x86 asm.h in NDK R8e is also broken, so latest asm.h was
- also borrowed.
+ Hence call AC_USE_SYSTEM_EXTENSIONS only after
+ AM_INIT_AUTOMAKE. This, of course, caused a lot of related macro
+ shuffling.
-* 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
- pkg-config file.
+* Require external gettext for --enable-nls
-* Treat response is completed if EOF is received before streamFilter
- completes
+ And stop using the internal flavor with ./intl
- This fixes the error with web server which has buggy chunked
- encoding.
+* Make AX_CXX_COMPILE_STDCXX_11 test for -stdlib=libc++ via std::shared_ptr
-* 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
- implemention on Windows (MSVCRT) in terms of committed memory
- 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 ;)
+ Remove stray "dnl", so that mandatory actually works with (my)
+ autoreconf.
- On *nix the picture is a little different... tcmalloc usually still
- 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.
+* Always build doc/manual-src
- tcmalloc is part of gperftools and very mature and tested by now. It
- doesn't work on OSX in the default configuration, however.
- http://code.google.com/p/gperftools/
+ Should sphinx-build be not available AND the man file not be prsent,
+ then just "touch" it into existence (and warn about that)
- jemalloc is the default allocator at least on FreeBSD and NetBSD and
- used in Firefox. http://www.canonware.com/jemalloc/index.html
+* Win: Use SetConsoleCtrlHandler for SIGINT/SIGTERM
- 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
- aria2. The library takes care of all networking and downloading
- 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.
+ Enables packagers more fine grained control over the default value
+ without having to mess with config files.
- 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
- 16KiB
+* Always save control file if --force-save is given
-* LibUV: Implement LibuvEventPoll
+* Set log level DEBUG for unittests
- LibUV event will use the best available polling method on a system,
- 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() ;)
+* Check that C++ compiler supports override keyword
- 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
-============
-
-Release Note
-------------
-
-This release adds Mac OS X native SSL/TLS library support. The IPv6
-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
--------
-
-* Updated Russian manual
-
- Contributed by ITriskTI
-
-* Updated Portuguese manual
-
- Contributed by Gilberto dos Santos Alves
-
-* Append --static to pkg-config arguments when ARIA2_STATIC=yes
-
-* Save options directly specified for download in --save-session
-
- This change makes --save-session save only options specified for
- download, more specifically, options in command-line, -i file and
- 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()
-
- The currently used URIs are inserted back into remaining URI list in
- 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: Fix session CFRelease stuff
-* AppleTLS: Implement AppleTLS and Apple Message Digest
+* Use AX_CXX_COMPILE_STDCXX_11 macro to detect C++0x/C++11 support in
+ compiler
- Contributed by Nils Maier
+* Require -std=c++11 and use std::shared_ptr instead of SharedHandle
-* Use info level log for system trusted ca imports failure
+* Join URI on redirect
- 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.
+* Send HAVE message to the peer which the piece is downloaded from
-* Don't add Windows native DLLs for Cygwin build
+ 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.
-* Remove deprecated options: --enable-direct-io and --metalink-servers
+* Improvements to --follow-torrent=false documentation.
-* Deprecate --enable-async-dns6
+ Patch from gt
- 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.
+* SessionSerializer: Truly unique URIs
-* Fix uninitialized UDPTrackerClient::numWatchers_
+ 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.
-* Implement simple Happy Eyeballs for HTTP/FTP downloads
+ Also avoid copying the uri std::strings around during dupe checking,
+ usually resulting in better performance regarding CPU and space.
-* Parallel A and AAAA record lookups with c-ares
+* Make getOption RPC method return option for stopped downloads
- 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.
+* SessionSerializer: Save spent URIs as well as remaining ones