Log message:
amule: updated to 3.0.0
3.0.0
Highlights
Throughput rewrite. Disk I/O moved off the main thread, ASIO/EPOLLET races \
fixed, throttlers replaced with proper token-bucket limiters. Peer-to-peer \
download on the same hardware sees ~100–380× speedups across macOS / Linux / \
Windows over 2.3.3, plus aMule 3.0.0 sustains ~4.8× the upload throughput of \
eMule 0.70b on Windows. See Performance for the full matrix and per-PR \
breakdown.
Both throttlers (MaxUpload, MaxDownload) were also broken pre-fix — \
MaxUpload=0 capped at "current rate + 5 KB/s", MaxDownload was a ratio \
controller rather than a literal cap. Both rewritten. Important user-facing bug \
fixes, but secondary to the headline numbers.
Big-library / big-shareset scaling. Follow-up wave targeting nodes with 100 k+ \
shared files: per-file EC payload caches, skip-unchanged EC updates, local-peer \
ZLIB bypass, and a string of O(N²) → O(N log N) / O(1) algorithmic fixes \
across SharedFileList, SharedFilesCtrl, KnownFileList, wxListCtrl, ExternalConn, \
and amuleweb — the WebUI / amulegui stay responsive even on libraries where \
the previous GUI took minutes to redraw.
CMake replaces autotools. Single build system, modern toolchain — minimum \
CMake 3.10, minimum wxWidgets 3.2.0.
Native binaries for every major desktop. AppImage (x86_64 + aarch64), Flatpak \
(x86_64 + aarch64), macOS Universal2 .dmg (now bundling aMuleGUI.app alongside \
aMule.app), Windows portable .zip and NSIS installer (x64 + ARM64). First-run \
desktop integration prompt for AppImage; cross-platform autostart-on-login \
toggle.
Auto-rescan of shared folders. wxFileSystemWatcher-driven, with recursive vs \
explicit-share intent split and coverage of Incoming + per-category Incoming \
dirs.
HTTPS works again. CHTTPDownloadThread rewritten on top of wxWebRequest; the \
hand-rolled stack had silently stopped working against modern TLS.
Kad parallel searches with alpha-frontier widening.
MaxMindDB replaces deprecated GeoIP for IP→country.
|