Releases: aria2/aria2
aria2 1.37.0
What's Changed
- Fix header in --http-accept-gzip documentation by @richardnias in #1824
- Fix typo in documentation, --help text by @h3xx in #1877
- Update aria2c.rst by @ITriskTI in #1902
- Allow empty dist name in bencode which is needed for hybrid torrent by @tatsuhiro-t in #1905
- Better entropy for getRandomBytes by @tatsuhiro-t in #1907
- Deal with missing nproc on macos by @tatsuhiro-t in #1924
- Bump actions by @tatsuhiro-t in #1923
- Bump workflow ubuntu by @tatsuhiro-t in #1929
- Add missing include to WinTLSSession.h by @hmartinez82 in #1943
- Fix undefined behavior/crash in GZipEncoder by @himikof in #1970
- Fix Metalink4 parsing with foreign namespaces by @himikof in #1969
- fix wrong
dht.dat
binary file structure in docs by @yixinBC in #2068 - Increase ByteArrayDiskWriter maximum size by @kelson42 in #1893
- Minor grammar improvements by @nkh0472 in #1804
- Fix static link failure against libssh2 by @tatsuhiro-t in #2088
- Update Dockerfile.mingw by @tatsuhiro-t in #2089
- Prefer random number generator from crypto libraries by @tatsuhiro-t in #2091
- android(ndk r23) has timegm by @FH0 in #1822
- Add Dockerfile.android by @tatsuhiro-t in #2092
- Remove deprecated std::unary_function and std::binary_function by @tatsuhiro-t in #2093
- Update wslay by @tatsuhiro-t in #2094
- Fix test errors with ubsan by @tatsuhiro-t in #2095
- ci: Build with gnutls by @tatsuhiro-t in #2096
- ci: Build mingw image by @tatsuhiro-t in #2097
- Revert "ci: Build mingw image" by @tatsuhiro-t in #2098
- Fix overflow by @tatsuhiro-t in #2099
- Make releases with docker by @tatsuhiro-t in #2100
- Dockerfile.mingw: Parallel build by @tatsuhiro-t in #2101
- Dockerfile.android: Add dpkg-dev for dpkg-architecture by @tatsuhiro-t in #2102
- Dockerfile.mingw: Remove deprecated libssh2 configure flags by @tatsuhiro-t in #2103
- Dockerfile.mingw: Update how to get aria2c.exe from a container by @tatsuhiro-t in #2104
- Update sphinx_rtd_theme by @tatsuhiro-t in #2105
- Static check fix by @tatsuhiro-t in #2106
- Do not close stdout and stderr by @tatsuhiro-t in #2107
- Avoid non-nil argument errors by @tatsuhiro-t in #2108
- Logger: Fix format string overflow in writeHeader() by @egorenar in #2117
- ci: Bump gcc and clang by @tatsuhiro-t in #2125
- Do not require strict C++ mode and update ax_cxx_compile_stdcxx.m4 by @tatsuhiro-t in #2126
- Cap infoHashLength in .aria2 file by @tatsuhiro-t in #2127
- Fix non bt build error by @tatsuhiro-t in #2129
- Various documenation fixes and rewords by @h3xx in #1982
- Change 'meta data' to 'metadata' by @h3xx in #1983
- Dockerfile: Bump c-ares to 1.21.0 by @tatsuhiro-t in #2132
- Dockerfile.mingw: Downgrade c-ares to 1.19.1 by @tatsuhiro-t in #2135
New Contributors
- @richardnias made their first contribution in #1824
- @h3xx made their first contribution in #1877
- @hmartinez82 made their first contribution in #1943
- @himikof made their first contribution in #1970
- @yixinBC made their first contribution in #2068
- @kelson42 made their first contribution in #1893
- @nkh0472 made their first contribution in #1804
- @FH0 made their first contribution in #1822
- @egorenar made their first contribution in #2117
Full Changelog: release-1.36.0...release-1.37.0
aria2 1.36.0
Release Note
This release fixes several bugs. See Changes for details.
Changes
-
Update wslay
-
Bump Windows build dependencies
-
Bump android build dependencies
-
Fix segfault when time_t is 64bit on 32bit arch
Patch from Natanael Copa
-
Updates the make_bash_completion script to Python3.
Patch from sleepymac
-
Prevent corrupt downloads after app and/or system crash
Patch from Ali MJ Al-Nasrawy
-
Reset sessionDownloadLength and sessionUploadLength on download start
-
AppleTLS: Add TLSv1.3 support
aria2 1.35.0
Release Note
This release fixes several bugs. See Changes for details.
Changes
-
Update mingw build dependencies
-
Update android build dependencies
Update android build dependencies. Use android NDK r20 and build
aarch64 binary. -
Drop SSLv3.0 and TLSv1.0 and add TLSv1.3
TLSv1.3 support is added for GNUTLS and OpenSSL.
-
Platform: Fix compilation without deprecated OpenSSL APIs
Patch from Rosen Penev
-
Remove linux getrandom and use C++ stdlib instead
-
Don't send Accept Metalink header if Metalink is disabled
-
gnutls: Fix bug that commonName is always empty
-
Fix openssl API version logic for libressl 2.7.x
Patch from Ben Chaney
-
Fix build failure when InternalDHKeyExchange is used
aria2 1.34.0
Release Note
This release fixes several bugs. See Changes for details.
Changes
-
mingw: Use SetFileTime to avoid DST adjustment
-
UnknownLengthPieceStorage: return piece length
show something in console status when downloading items
with unknown content lengthPatch from kwkam
-
WinConsoleFile: fix colour properly
Patch from kwkam
-
util: also detect xdg_* env variables on windows
so if people like to keep FHS they could define XDG_* for it
Patch from kwkam
-
MacOS: Allocate once (apfs compat)
-
Fix bug that signal handler does not work with libaria2
This commit fixes the bug that signal handler does not work with
libaria2 when aria2::RUN_ONCE is passed to aria2::run(). -
Retry on HTTP 502
Patch from nicolov
aria2 1.33.1
Release Note
This release fixes a bug that causes high CPU usage in mingw build.
Changes
-
mingw: Fix high CPU usage in BitTorrent downloads
This commit fixes high CPU usage in BitTorrent downloads. Only
mingw build is affected by this bug.Thank you kwkam for identifying the cause of the issue, and helping
debugging this patch.
aria2 1.33.0
Release Note
This release fixes several bugs, and add new features.
Changes
-
Include arm in a filename of android zip
-
Upgrade base image of Dockerfile.mingw to ubuntu:16.04
-
wintls: Potential fix for undecrypted read
-
libaria2: Return last error code from DownloadHandle::getErrorCode
-
Windows: pass writefds also as exceptfds to select()
winsock notifies connect() failures on exceptfds instead of
writefds. -
libuv: use pkg-config
-
FeatureConfig: align text
-
Update Dockerfile.mingw
avoid docker cache when using git
Patch from qweaszxcdf
-
Add --peer-agent option
Add --peer-agent for setting the version/user agent used in the
extended handshake protocol for bittorrent.Patch from Kurt Kartaltepe
-
OSX: Allow to specify a build
-
OSX: update c-ares
-
[Docs, libaria2] Fix type of obj pushed into options vector
aria::KeyVals is a vector of pair of std strings, therefore the type
of object being pushed should be std::pair<std::string,
std::string>, however in the docs, the type of the said object is
KeyVals. If one follows the docs, their code will fail to compile.Patch from geetam
-
AppleTLS: Silence cipher suite selection
-
Unbreak build OSX build
-
Update macOS versions
-
Add --bt-load-saved-metadata option
Before getting torrent metadata from DHT when downloading with
magnet link, first try to read file saved by --bt-save-metadata
option. If it is successful, then skip downloading metadata from
DHT. By default, this feature is turned off. -
Fix regression in bfc54d0
Don't save control file if --auto-save-interval is 0.
-
Fix infinite loop bug when file is not found
aria2 1.32.0
Release Note
This release fixes several minor bugs, and spelling mistakes.
Changes
-
Clarify --max-concurrent-downloads option
-
Fix compile error with toolchain which lacks IPV6_TCLASS
-
Log directed URI in notice log level
-
Fix typo
Patch from Tse Kit Yam
-
Spelling fixes
Patch from klemens
-
Remove unused Android parts
These parts where unused after merging
#736Patch from Fredrik Fornwall
-
Save control file early
-
Update links in Dockerfile.raspberrypi
Some links used in Dockerfile.raspberrypi are not accessible
anymore, because they were pointing to old versions of some source
packages and new versions were released. This commit fixes this by
changing the links to point to the newest versions.Patch from Michał Leśniewski
-
Propagate disk full error on pre-allocation to last error code
aria2 1.31.0
Release Note
This release fixes assertion error in
SimpleRandomizer::getRandomBytes. It adds new option
content-disposition-default-utf8.
Changes
-
Better error message when local file status cannot be retrieved
-
Fix assertion failure in SimpleRandomizer::getRandomBytes
errno might not be initialized to 0, and we may get both rv == -1
and errno != ENOSYS. This leads to assertion failure. Since
getrandom_linux always returns -1 on failure, checking errno is
useless in this function. -
Add option content-disposition-default-utf8
Patch from JimmyZ
aria2 1.30.0
Release Note
This release fixes several bugs. See Changes below for detailed bug
fixes. This release adds an ability to expand ${HOME}
to user's
home directory in several options. It would be useful when used in
configuration file. -S option against torrent file now prints out DHT
nodes.
Changes
-
mingw: Use sqlite 3.15.2
-
Fix bug that --disable-websocket causes build error
-
Fix bug that lower bound of optimize-concurrent-downloads becomes 1
-
Print DHT nodes with -S option
-
Take into account address family when resolving DHT node address
-
Allow block device file to -i option
-
Expand
${HOME}
to user's home directory in several optionsThe following options implement this substitution:
- --ca-certificate
- --certificate
- --dht-file-path
- --dht-file-path6
- --dir
- --input-file
- --load-cookies
- --log
- --metalink-file
- --netrc-path
- --on-bt-download-complete
- --on-download-complete
- --on-download-error
- --on-download-start
- --on-download-stop
- --on-download_pause
- --out
- --private-key
- --rpc-certificate
- --rpc-private-key
- --save-cookies
- --save-session
- --server-stat-if
- --server-stat-of
- --torrent-file
-
Document that libaria2 is not thread safe
-
configure: Use pkg-config to find libs whenever possible
Use pkg-config to find cppunit, libxml2 and expat. All those
libraries provide pkg-config files, and in all of those cases the
pkg-config macro is superior to the custom macros used currently.The advantages of pkg-config files include:
- Explicit static linking support via --static. Currently, e.g.
'xml2-config --libs' prints all libraries needed for static
linking when doing dynamic linking unnecessary, resulting in
unnecessary direct deps. - Better cross-build support. You don't have to build the additional
*-config tools for target. - Better multilib support. Per-ABI pkgconfig directories are
commonly supported while packages usually fail to look for
per-CHOST *-config variants. - Better override support. The current macros allow little to no
result overrides, the pkg-config macros let you pass FOO_CFLAGS
and FOO_LIBS manually. - Cleaner version checks. The code used in libxml.m4 is really
creepy.
Patch from Michał Górny
- Explicit static linking support via --static. Currently, e.g.
-
WinTLS: Rewrite writeData
We re-wrote WinTLSSession::writeData. The major points are:
- Buffer is now preallocated once handshake is finished.
Previously, they are allocated each time when we send one TLS
record. - Schannel uses header, body and trailer for each secBuffer. Now we
send them off at once using WSASend which is windows counterpart
of sendv. Previously, we do memmove if some of them are
truncated. - We don't try to send application data in
WinTLSSession::closeConnection, since semantically we need same
application data used to create TLS record before. Using 0 length
data to finish sending buffered data looks like a hack.
- Buffer is now preallocated once handshake is finished.
aria2 1.29.0
Release Note
This release fixes several bugs. See Changes below for detailed bug
fixes. This release adds 1xx non-final response support. Wslay
library is updated to the latest revision.