Releases: avwarez/eMule
eMule v0.70c build8
eMule 0.70.2.8 - Performance and stability
- Lower CPU usage for the network layer: replaced the custom socket
dispatcher (introduced in 0.70.2.6) which could spike CPU to 100 %
under heavy connection load - Faster and more stable uploads: disk reads are now performed by a
small pool of worker threads instead of one block at a time, so
upload speed no longer drops to zero while waiting on the disk - Fairer upload slots: blocks are now read round-robin across all
uploading peers, preventing one slot from monopolising the disk
while the others starve - Better Wine / Linux compatibility: the upload reader avoids Windows
async I/O paths that have known issues under Wine - Build fix: zlib calling-convention mismatch resolved across all
build configurations
eMule v0.70c build7
Stability
- Fixed async DNS race that could crash on shutdown or on rapid socket reuse (Close() + Connect()).
- Fixed intermittent shutdown deadlock caused by a lost stop signal in the part-write and upload disk-I/O threads.
- Fixed data race on nInUse between main and disk-I/O threads.
- Fixed race on the part-file buffer flush flag that could expose inconsistent write state.
- Removed cross-thread UI call from the write thread's file-open error path.
- Fixed memory leak in upload read-buffer allocation under low memory.
Build
- Restored Release Win32 (x86) build with the updated dependency layout.
- Both x86 and x64 binaries now build on Visual Studio 2026 / Windows 11.
eMule v0.70c build6
This release reverts the previous refactor(crypto) change, restoring Crypto++ in place of mbedTLS and removing the MD4 implementation. The revert was necessary due to a regression that broke compatibility with the cryptkey.dat format; with this change, compatibility is restored. Please note that any existing cryptkey.dat file must be removed manually, as it is no longer compatible and will be regenerated on the next startup.
eMule v0.70c build5
Modernized the codebase for Windows 11 and Visual Studio 2026, including widespread cleanup of deprecated APIs. Fully removed Crypto++ in favor of mbedTLS with a custom MD4 implementation, preserving backward compatibility for existing keys. Improved Wine/Linux support by replacing Windows-specific async I/O and threading (IOCP, CWinThread, OVERLAPPED) with standard C++ mechanisms, fixing hangs, crashes, and file corruption issues. Enhanced overall stability through safer threading, proper UI synchronization, RAII adoption, and more reliable shutdown behavior. Fixed timer aliasing issues, introduced proactive disk space handling to prevent data loss, and resolved long-standing edge cases such as 49-day uptime overflows.