Tatsuhiro Tsujikawa 12 anos atrás
pai
commit
51bbdbb085
1 arquivos alterados com 84 adições e 131 exclusões
  1. 84 131
      NEWS

+ 84 - 131
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