aria2 Changelog

New in version 1.18.8

September 12th, 2014
  • WinTLS: Fix abrupt connection closing and closing in general.
  • Fixes GH-277
  • LibsslTLSSession: Treat 0 from readData as EOF
  • Enable dynamicbase and nxcompat in Windows binaries
  • Fix crash in OpenedFileCounter::ensureMaxOpenFileLimit()
  • The crash happens if PieceStorage and/or DiskAdaptor are not initialized in one of active RequestGroups.
  • mingw32: Fix bug that aria2 does not read piped stdin
  • Fix std::length_error when no_proxy is used
  • This is regression introduced in 8cada497.
  • Try to set sane limits for RLIMIT_NO_FILE
  • E.g. on OSX the default is 256, which isn't exactly compatible with torrent downloads.
  • Delay auth failures instead of PBKDF2

New in version 1.18.5 (March 31st, 2014)

  • Ignore error when setting DSCP value
  • Setting DSCP is additional feature and failure to enable it should not abort download entirely. This change fixes the bug that windows build does not perform bittorrent downloads.

New in version 1.18.4 (March 24th, 2014)

  • 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:
  • 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

New in version 1.18.3 (January 6th, 2014)

  • 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

New in version 1.18.1 (October 21st, 2013)

  • This version fixes the percent-encoding bug which affects filename encodings.
  • It adds PKCS12 support in certificate importation.
  • It also adds an experimental internal implementation of the message digest functions ARC4 cipher and bignum.
  • This 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.

New in version 1.18.0 (September 11th, 2013)

  • This version changes the default disk cache size to 16 MiB.
  • To change the default size, a --with-disk-cache configure option was added.
  • Used URIs are now also saved by a --save-session option.
  • The control file is now always saved if --force-save is given.
  • The ctrl-c handling of the Mingw build was improved.
  • The internal intl library is no longer supplied. >From this release onward, a C++11 compiler is required to build the aria2 executable.
  • For gcc, at least 4.6.3 is required.

New in version 1.17.1 (May 27th, 2013)

  • 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.
  • Changes:
  • Add code to detect or rst2html
  • AppleTLS: Properly support Snow Leopard (10.6)
  • Enable multicast loopback in BitTorrent local peer discovery
  • Enable TLS1.1 with gnutls build
  • Support off64_t for Android build
  • 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.
  • Check zlib availability usin AC_CHECK_LIB. This is workaround for zlib 1.2.3 which does not come with pkg-config file.
  • Treat response is completed if EOF is received before streamFilter completes. This fixes the error with web server which has buggy chunked encoding.
  • uitos: Fix off-by-one error bug
  • Add configure support for linking tcmalloc_minimal and/or jemalloc
  • 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 ;)
  • 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.
  • tcmalloc is part of gperftools and very mature and tested by now. It doesn't work on OSX in the default configuration, however.
  • jemalloc is the default allocator at least on FreeBSD and NetBSD and used in Firefox.
  • Close GZipFiles in the d'tor
  • Add libaria2, C++ library interface to aria2
  • Add missing check for sigaction
  • Fix cached data is not flushed when downloaded data is less than 16KiB
  • LibUV: Implement LibuvEventPoll

New in version 1.17.0 (April 22nd, 2013)

  • This version 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 has been implemented to mitigate long timeouts when connecting to IPv6 hosts on dual-stack hosts.
  • The --save-session option only saves the options specified by the commandline or RPC.

New in version 1.16.5 (March 25th, 2013)

  • This version fixes the bug which caused an invalid range error to be thrown when requesting range starts from 0 in HTTP downloads.