Changelog 2.0.0-rc8

From AMule Project FAQ
Jump to: navigation, search

Version 2.0.0rc8 - The "last rc" version



  • Fix for server stats for users/files not being updated correctly.
  • Fix for ERROR and WARNING server messages not being shown.
  • Fixed server / transfers window splitters not being loaded/saved correctly.
  • Fixed categories on search dialog not being refreshed on category name change.


  • Show comments for shared files


  • Some fix in new Tray system and desktopMode bypass


  • Added option to select the max and min size-type in advanced searches.
  • When "Extended Parameters" in Search tab is not selected, defaults are used.
  • Now "Auto-update serverlist at startup" checks if there's a serverlist to avoid annoying messages at startup.
  • "Clear completed downloads" is now disabled while no completed downloads are listed.
  • Context menu for download items only enables relevant information now.
  • Context menu little optimization (removed an unuseful loop) and Open File fix.
  • Added bitmap button wich pops-up the last status log line (useful when it doesn't fit the window).
  • Merged Preview and Open File and enabled Open File.
  • New Port column in Servers tab (splitting IP column).
  • Moved "Always filter bad IPs" from Server to Security in Preferences.
  • Changed "Preference" in servers tab as suggested by Sir and "IP" to "Address" since that's more accurate (could be DNS).
  • Optimizations in the RLE code.
  • Based on kry's patch, also darken paused files' progress bar.
  • Translations updates.
  • Fixed: Servers priority now working. (reported by Sir)
  • Fixed: Now all unset Server Priorities are set to normal. (reported by plaenky)
  • Fixed: Sorting Servers by priority works now.
  • Fixed: Setting "A4AF to others" works now.
  • Fixed: Server names sorting now differences between names and IPs.
  • Fixed: Last byte is now drawn in bar progress.
  • Fixed: Stop button now working after second global search and another hidden bug in global searches' progress bar. (reported by ecforum)


  • Fixed ipfilter on big endian archs.
  • Fixed wxWidget's bugs that were creating serious memleaks on Mac


  • When a socket connection error like WOULD_BLOCK happens, aMule retries the connection to avoid just-once errors
  • Stopped files are now darker than non-sources ones.
  • AICH e-links working now, with masterhash and with hashset
  • Proper handling of removing -fomit-frame-pointer flag that worls on all platforms.
  • Initial support for wx-compliant systray. Will be ready for 2.0.0 final release.
  • aMule no longer crashes on opening a non-existing folder. CDirIterator is safe now.
  • Fixed crash on app close - never call a pure virtual function from a destructor.
  • Moved the init/close code of aMule to where they belong: destructor/constructor.
  • Much more debug info available to debug packets (packet dump and others)
  • Major network improvements:
    • Improved the socket processing on CPU usage and performance.
    • Coded the functions handling the network string/bytes conversion of ips and hostnames and the generic hostname solving thread, non dependant from host's socket implementation. Less CPU and more reliable on both cases.
  • Crash fixed on wrong arguments for wxString::Format
  • New option on right click on downloading or search files for showing eserver's stats for that filehash. Needs browser correctly configured on preferences.
  • Implemented messages filtering, from know clients/bogus clients/by words.
  • Fixed hashing files changing display status.
  • Fixed crash where transferwnd and clientlistctrl could be accessed before created.
  • Listen socket on accepting connection no longer uses a blocking socket (CPU improvement).
  • Not linking anymore to gtk libs if not needed.
  • "GTK: Not Detected" is now either "Not Detected" or "Not Used" to avoid confusion.
  • Fix for crashing on 'OK' button on preferences.
  • Fix for preferences window being unreachable if aMule is minimized while showing it.
  • Fix for crash on HTTP dialog if StopAnimation() was not called on destructor.
  • Fixed crash when shutdown and preferences window open.
  • Implemented OS_Info tag. Broke it 400 times, and fixed it 401 times, so working.
  • Implemented statistics tree for OS_Info tag.
  • Fixed several memory corruption issued caused by icons with wrong size.
  • Fixed several memory corruption bugs on amule init/close.
  • When aMule crashes, it not longer fails saving:
    • Preferences (Saved on 'OK')
    • Categories (Saved on changes)
    • Total upload / download bytes (saved while running).
  • Sent wxInt and wxUInt classes usage down the drain for the standard int / uint
  • Implemented "Share hidden files" checkbox.
  • Immplemented the CT_EMULECOMPAT_OPTIONS new tag. Right now only OS info support capabilities.
  • Implemented new short tags style for server and client interchange of info. Fixes not being able to browse eMule >=0.42x shared files.
  • Fixed aMule daemon compilation to use wxBase headers and libraries. This fixes amuled not compiling on wxBase only-boxes, thus making it kinnda pointless.
  • Fixed AMD64 and GCC4.0 compilation/run, closes debian bug #285110
  • Fixed some performance issues on Log text controls.
  • Fixed long browsers requests on WebSocket. Buffer is now enlarged accordingly.
  • Fixed timeout on webserver socket being... 10 minutes!!!
  • Fixed several 100% cpu errors on WebSocket.
  • Fixed our source exchange implementation that was... uh... wrong.
  • Fixed stats tree on webserver.
  • Misc. work on ECv2 implementation of messages.
  • aMule can send now RGB encoded images via ECv2
  • Webserber can read ECv2 Image tags via the new CDynPngImage class.
  • eMule+ is now recognised under compatible client tag 0x05
  • Unicode fixes on webserver.
  • Got rid of almost all wxString::GetData()
  • Major CPU improvements on WebServer.cpp
  • otherfunctions.* is now clean from aMule specific stuff. Can be used anywhere.
  • otherfunctions now have a namespace (surprinsigly named 'otherfunctions')
  • Changed wxFileStreamInput -> wxFile (less class overhead).
  • Several speed fixes on Stats code.
  • Fixed possible crash on search thread creation + verbose on error.
  • Fixed aMule crashing when local search is not returning and we click stop or start another search.
  • Fixed severeral endianess bugs.
  • General rewrite of UDP Socket
    • Received packets when app is not ready are now discarded.
    • Small fix preventing memleaks and some strange asserts
    • Fixed a severe memleak if 2 UDP packets are send at the same time, before the first one finishes.
    • Fixed the host solving fail not cleaning the data (another severe memleak)
    • Fixed sending wrong data to wrong servers and thus not being replied.
    • Fixed some server udp packets never reaching destination.
  • Unicode fixes (char*/wxString issues)
  • General cleaning, bugfixing and documenting.
  • Added files:
    • StringFunctions.(h/cpp)
    • NetworkFunctions.(h/cpp)
  • Fixed server connection crashes related to accepting a connection from a being destroyed socket. Probably fixes also some random BSD/Linux crashes on conection.
  • Got rid of all <wx/wx.h> includes, improved compilation speed greatly.
  • Fixed stats color boxes
  • Fixed servers saving, not anymore stored wrong internaly.
  • Coded Mac packager script for releases with included libcurl and wxWidgets.
  • Included Mac bundle on sources.
  • Fixed sharing /Volumes and other special folders.
  • Fixed crash on server.met download


  • FIXED: Preferences -> Security -> Permissions wasn't being correctly saved for directories.


  • Lots of unicode fixes.
  • Added readline and history support to amuleweb/amulecmd text clients.
  • Added template loading capability to amuleweb with the new command line parameter -t.
  • Changed m4/readline.m4 so that readline libs are only used when needed, i.e., no longer append readline libs to LIBS, use READLINE_LIBS instead.
  • Fixed crash in aMule when amuleweb tried to get transfers tab and aMule had never connected to a server before.
  • New backtrace output with demangled function names, file names and line numbers, when possible.
  • Initial (not functional yet) SOCKS5 proxy support.
  • Initial (not functional yet) SOCKS4 proxy support.
  • Initial (not functional yet) HTTP proxy support.
  • Updated some tests in
  • Fixed a problem with _() usage. Static string initialization must be done with wxTRANSLATE, and wxGetTranslation() must be explicitly called in code instead of _().
  • Fixed a bug in WebServer.cpp:CWebServer::GetStatusBox(): return value was missing end tags.
  • Changed back to macro the inline function version of unicode2char() when using UNICODE. Unfortunately, when the fucntion returns, the string object gets out of scope, so we stick to the macro version for now.


  • Moving amuleweb to EC version 2.0
  • Fixes on amuleweb socket code
  • Added generated png images to amuleweb
  • Added RLE encoder for gap and parts status to EC
  • Fixes in amule daemon


  • Added support for detecting HydraNode clients.


  • Initial work on EC protocol version 2.0.
  • Fixed a crash on broken language files (.po)
  • Some GUI cosmetics.
  • Lots of i18n fixes.
  • As a side effect, fixed the "Any" search in webserver.
  • Fixed webserver connection with empty passwords. Smile
  • Fixed webserver connection with guest account.
  • Added "add <ed2k link>" command to amulecmd.
  • Tracked down and killed a number of hidden bugs.
  • Added commands to change/monitor bandwidth settings to amulecmd.
  • Made wxTRANSLATE actually work.
  • Fixed graphs in webserver. Also added the missing back.gif file.
  • Fixed buffer overflow problem in ed2k link handler.
  • Stats bug fixed.


  • Helped finding the code snippet where WebSocket was failing on request.
  • Fixed 'Safe Max connections' code. It's safer to use it now, and it works.
  • Fixed bug where amule would start consuming 100% cpu when it received a corrupted EC packet.
  • Fixed webserver, it wouldn't close connection when it received a POST request.
  • Fixed webserver crash: added mutex to make variable wcThreads thread-safe.
  • Fixed webserver <-> amule communication corruption when the webserver received simultaneous requests. The problem was that all webserver threads were using the same socket for sending/receiving EC packets to/from amule without synchronization.


  • Added the new casting macros to otherfunctions.
  • Added a helper-function to CMuleListCtrl for use in the Sorter functions.
  • Fixed the priority-column on Server List.
  • Added the handling of friends to ECv2 implementation.
  • Merged CUploadListCtrl and CQueueListCtrl on CClientListCtrl.
  • Added the posibility to see a list of all existing clients.
  • Fixed aMule dialog not always being unfrozen upon restoring it from tray.
  • Some changes to the overhead calculation functions.
  • Slight improvement of the GetScore function CPU usage.
  • Replaced "theApp.glob_prefs->" with the new usage "thePrefs::"
  • Fixed the MyTimer class behind GetTickCount returning random values on close.
  • Fixed two crashes on ClientList.
  • Fixed compilation for solaris on several places.
  • Make sure that clients cant just crash us by sending a aich-request for an invalid hash.
  • Fixed a couple of sub-menues.
  • Removed the leech-mod checks, they were getted outdated anyway
  • Fixed open sockets count.
  • Avoid re-layouting the entire dlg when updating some labels.
  • Small fix to CMuleNoteBook.
  • Adding a missing event-handler en shared files tab.
  • Changed the primary hashing thread to do both MD4 and AICH hashing for non-part files. This cut down hashing of ~2.8gb of data from ~12:40 minutes to ~7 minutes on tests.
  • Adding checks against the user sharing the following dirs: Home-dir, .aMule, Temp-dir. Sharing home is allowed but results in a warning.
  • Fixed the Upload-parts drawing.
  • Fixed sorting by filename on the Uploading list.
  • Fixed crash on server list auto-update. Removes the possibility of overrunning a array.
  • Optimization of UpdatePartsInfo, which now no longer needs to traverse the parts-info arrays of each source for that file.
  • Fixed the redraw problems where some things wouldn't be erased on list controls.
  • Code cleaning, documenting and rewrite.

Special Thanks To:

  • Translators:
Ateo: (US english / en_US)
biger [HUN]: (Hungarian / hu_HU)
experience.chris: (German / de_DE)
GhePeU: (Italian / it_IT)
Gusar: (Slovenian / sl_SL)
ilbuio: (Italian / it_IT)
KamiKazeNH: (Brazilian / pt_BR)
mad_soft: (Spanish / es_ES)
nbfnw: (Chinese / zh_CH)
Ogon: (Polish / pl_PL)
piarres: (Basque / es_EU)
pukyxd: (Catalan / es_CA)
Supersnail (Dutch / nl_NL)
Typhon: (Slovenian / sl_SL)
  • Contributors:
alehack, alus,
boutros, fossybaer,
Frankk, han,
junaru, sebaX,
skolnick, sLiCeR\,
Vollstrecker, volpop,
  • Bug and feature reporters:
Banerjee, chisky2003,
Danny, ecforum,
fctk, Gnucco,
hades, jaguarwan,
jolupa, juanii,
kdka, kno,
m2kio, MichaelLong,
Pableron, pi-c,
plaenky, realcruncher,
Sir, Sniffer,
sosonok, |Syrius|,
  • Everyone at:
  • All aMule users!!!

Welcome our new aMule team members: lionel77, ken_aMule, nachbarnebenan & one2one