Skip to content

v2.6.0 - Mature Transport Backends and Persistent State Modernization

Choose a tag to compare

@AnInsomniacy AnInsomniacy released this 25 Aug 09:44
· 23 commits to main since this release
5eaaaca

Breaking Changes

This is the largest architectural update in Aria2 Next so far. Core transfer and persistence paths were extensively replaced, so this release may be less stable than previous patch releases.

  • The handwritten HTTP, HTTPS, SFTP, FTP, BitTorrent, and Windows TLS transport paths have been removed.
  • FTP downloads are no longer supported.
  • Retired .aria2 control data and legacy ED2K state formats are not imported into the new state stores.
  • Legacy CLI, configuration, RPC, and libaria2 inputs are normalized at the boundary, while runtime behavior follows the new engines.
  • Integrators should validate download, pause, resume, sharing, and state-restoration workflows before broad deployment.

Summary

Aria2 Next 2.6.0 replaces major handwritten transfer backends with mature libraries, modernizes persistent task state, and removes a large amount of obsolete networking and compatibility code.

HTTP, HTTPS, SFTP, and Metalink payload transfers now use libcurl. BitTorrent is powered by libtorrent-rasterbar. HTTP/2 uses nghttp2. ED2K transfer state now uses SQLite. New tasks no longer scatter .aria2 control files beside downloaded content.

The release provides standalone builds for Linux, macOS, Windows, and Android.

Added

  • Added the libcurl multi-socket transfer engine for HTTP, HTTPS, SFTP, and Metalink payloads.
  • Added HTTP/2 support through nghttp2.
  • Added SQLite-backed stream state with completed-range persistence.
  • Added SQLite-backed ED2K task, progress, source, credit, and network state.
  • Added persistent ED2K sharingTime reporting through RPC.
  • Added ED2K connection limits and improved lifecycle restoration.
  • Added a centralized legacy input adapter for CLI, configuration, session, RPC, and libaria2 inputs.
  • Added platform-native application state directory discovery.

Changed

  • Replaced the handwritten HTTP and SFTP command pipelines with libcurl.
  • Replaced the native BitTorrent engine with libtorrent-rasterbar and its mature discovery, scheduling, disk, resume, and peer-management facilities.
  • Routed Windows HTTPS through libcurl with the native Schannel backend.
  • Kept secure RPC transport on OpenSSL.
  • Moved stream, BitTorrent, and ED2K runtime state below state-dir.
  • Unified speed calculation and progress reporting across transfer engines.
  • Made ED2K seed-time use persistent cumulative sharing time across pauses and restarts.
  • Vendored the required libcurl and nghttp2 sources for reproducible offline builds.
  • Removed obsolete authentication, cookie, connection, proxy, FTP, HTTP, SFTP, TLS, progress-control, and compatibility implementations.

Fixed

  • Fixed the Windows TLS 1.3 receive failure caused by the retired handwritten WinTLS state machine.
  • Fixed incomplete stream resume state by persisting verified completed ranges.
  • Fixed ED2K completion, pause, restart, sharing, and deletion state handling.
  • Fixed ED2K sharing time resetting after pause or process restart.
  • Fixed inconsistent option handling across CLI, configuration, RPC, and libaria2 entry points.
  • Fixed patch-zero version generation for the 2.6.0 build.
  • Fixed Android release compilation by using the native 64-bit stdio seek interface.
  • Fixed macOS release reproducibility by applying source-path remapping to Objective-C++ compilation.

Downloads

Platform Download
Linux x86_64 aria2-next-2.6.0-linux-x86_64
Linux ARM64 aria2-next-2.6.0-linux-aarch64
macOS Apple Silicon aria2-next-2.6.0-macos-arm64
macOS Intel aria2-next-2.6.0-macos-x86_64
Windows x86_64 aria2-next-2.6.0-windows-x86_64.exe
Windows ARM64 aria2-next-2.6.0-windows-arm64.exe
Android ARM64 aria2-next-2.6.0-android-arm64
Checksums aria2-next-2.6.0-checksums.sha256