Skip to main content

aMule 2.0.0-rc6

· 17 min read

Release name: The 'We're so EVIL that we make you lose a sock in every pair' version

deltaHF:

  • GUI for MyInfo at Server window.
  • Added 'About' button.
  • Fixed sorting upload list by speed
  • Changed the Search dialog.
  • Fixes websearch for jugle.net
  • Added hability for send msg to clients in upload queue, without having to add them as friends (based on Kry's download queue send-on-right-click implementation)
  • Translations update.

falso:

  • New upstream cas version. Now supports creating html pages with the statistics
  • Now cas runs on netbsd.
  • Misc fixes on cas.

GonoszTopi:

  • Patch to fix buffer overflow in cas when line had more than 80 chars.
  • Patch to fix help switch in ExternalConnector.cpp
  • Patch to create -c switch in amulecmd: now the command line version can connect, execute a command and exit.

Hetfield:

  • Lots of 3.4.x compilation fixes, due to -DWX_PRECOMP and wx headers checks.
  • Configure cleanup, safetray remove and nice cosmetics for tools
  • Configure option added: --enable-embedded_crypto to use amule crypto code and bypass crypto libs. Also fix freeze problem.
  • fixed crypto usage in core with configure and compilation flags
  • Re-enable Pentium4 and SSE2 optimizations fro Crypto stuff

Jacobo221:

  • Fixed issue on the About button.

Kry:

  • Got back from hell.

  • Imported eMule's 0.44x new corruption handling: AICH AICH stands for Advanced Inteligent Corruption Handling, and avoid having to re-download a full part everytime we get corruption on a file. With AICH, you will just re-download the 184Kb block that has corruption. It uses HashTrees to achieve the corruption diagnosis. More info: http://www.emule-project.net/home/perl/help.cgi?l=1&rm=show_topic&topic_id=589


    WARNING: AICH thread will re-hash all your files on your first rc6 startup. This can take very long when the user has lots of shared files. We're sorry but that's the only way to build the HashTree and thus making AICH able to work.


  • Fixed the AICH implementation to support big endian archs (like ppc).

  • Implemented IPfilter auto-load on startup

  • Implemented IPFilter 'Update Now' button on preferences.

  • Revamped the HTTP download dialog, used to download IPfilter and server.met (and probably other files in a near future) Now it's the thread who runs the dialog, and dialog no longer block aMule while loading. It also has a progress bar. Yay!

  • Fixed amule daemon not allowing auto-dowload of server.met.

  • First rework of the Search dialog, later re-worked by Xaignar using the hide/show engine I did.

  • Implemented "Send messages" via right-click on source.

  • When aMule is running and you try to run a second aMule, it now send a 'raise' message to the current runing one. This is designed to fix the problems with aMule being in a inexistant systray and thus people being unable to recover it.

  • Fixed documentation:

    • Bugs on kb/kB mistakes
    • Added "What are all those fancy colors in the download progress bar about?"
  • --version switch now returns 0 (sucessfull app termination)

  • MOD_VERSION_LONG does no longer show 2.0.0 version on CVS

  • Cleaned the GUI for LOTS of unnecessary wxSizers that were looking ugly on Mac and making wxDesigner project file much cleaner.

  • Fixed memleaks on curl usage (thanks Seagull)

  • Systray is now skinnable

  • Safety checks: A File can't have more than 441 partcount

  • Added a file-access tracker that allowed us to fix lot of file access bugs:

    • We were closing invalid file descriptors!
    • Random Error responese from CFile class, again
    • Misc multiple bugs that made me kinnda rewrite the class
  • Fixed user not being notified of duplicated files on shareds

  • Safe load for clients.met (no more removing to load amule)

  • Fixed PrefsUnifiedDlg using wrong events for Spin controls.

  • Search textbox now accepts enter key (did it work before? or never worked?)

  • aMule now compiles and works with wxWidgets 2.5.2, with no gui bugs

  • Fixed a nasty cvs bug that was just taking '0' on upload settings as 0, not unlimited.

  • Fixed CArray implementation to avoid ints and make usage of size_t and off_t

  • Added GetConnectIP() implementation to BaseClient so we can hold the supposed IP or (after we had a connection) the real IP

  • Implemented extra-file_corruption_safety on files. No more 'please rm -rf .aMule/'

  • Implemented safe recover of .part.met files. This means that if a .part.met file gets corrupted, aMule will take care of it and try to recover it with minimal info. As a matter of fact, only filesize and hash is need, so any other info will be recovered or set to default instead of discarding the part file.

  • Fixed mem corruption on BaseClient

  • Fixed a crash on UploadListCtrl due to access to a either uninitialised or removed client.

  • Fixed the annoying empty message being sent every time a client connects to us while we have a chatwindow with him. this was really pissing people off ;)

  • Reworked SafeFile.cpp and made it compatible with eMule 0.44x.

  • aMule defaults to maximize if not size not overriden and no gui size stored (robably first run)

  • Implemented CDirIterator. Used to get rid of wxFindFirstFile and such buggy functions (breaking filenames on Mac and others).

  • Added GUI preferences fo AICH's hash trusting and IPfilter new options.

  • Corrected xMule version show. xMule started sending correct version tags on 1.9.1b, only 4 months after I told them, and only 1 after eMule+ developers did. Is based on our implementation (x.y.z instead of eMule's x.ya), so it was not hard to show them correctly ;)

  • Misc developing, memleak fixing, code rewrite, and co-workers abuse by insulting them and degrading them to worm state.

  • Kademlia Import:

    • kademlia/utils
      • UInt128.cpp (class for handling 128-bits integers, added hability to read/write on SafeFile).
      • UInt128.h
      • All other files on the kademlia/utils are not needed by aMule.
    • kademlia/kademlia/
      • Defines.h
      • Entries.h
      • Error.h
      • Tag.h
    • kademlia/routing/
      • Map.h
  • Mac:

    • Fixed compilation near every day :)
    • Fixed the file descriptor problems, using the new file access tracker.
    • Fixed the clients.met file being saved badly and thus breaking load.
    • Fixed Search page not setting the SearchType to default.
    • Fixed the start, clear and clear all buttons on Search page
    • Fixed wrong usage (at least on Mac) of multi line control functions on single line text control
    • Fixed sharing dirs giving access errors (and probably on other archs than Mac).
    • Fixed amule daemon for taking 100% (or 198% on a dual system) CPU.
    • Fixed wrong filenames being shown when more than 24 chars. See CDirIterator above.
    • Fixed 'MyInfo' tab showing wrong endianess on IP.
  • Deleted files:

    • eMule-Import-Status -> Very old unused file.
    • RC1-KnownBugs -> Very old unused file.
    • HTTPDownloadDlg.* -> HTTPDownload.* (no longer a GUI file)

lfroen:

  • Core/GUI separation:
    • Moved all GUI code out of Core files.
    • Made a new socket engine to be able to use wxSocket on wxBase, even when wxBase has no event pool.
    • aMule daemon is now functional, but it still need hard testing. Enable it using --enable-amule-daemon. You can control it via any EC app (amulecmd, amuleweb)
    • aMule separated GUI does not compile right now, and the communication with the core will be improved as EC is rewritten by GonoszTopi.
  • Fixed crash on DownloadClient
  • Misc aMule fixes here and there :)

Littletux:

  • Patch to include UTF-8 support in systray.
  • Patch to fix configure.in UTF-8 SysTray code.

Phoenix:

  • Fixed a compilation warning + appartently useless code in DirectoryTree.cpp.
  • Fixed amuleIPV4Address for wx-2.5.2 and up.
  • Fixed the low number of sources problem with wx-2.5.2 and up. Problem was in CUDPSocket::SendBuffer, now there is a macro to test. aMule should be 2.5.2 network ready now.
  • wxCHECK_VERSION(2,5,0) no longer necessary in amule{web,cmd} for wxApp because we have now -DwxUSE_GUI=0.
  • New command line parameter in amulecmd: -pw or --password.
  • New commands in amulecmd: serverconnect, reloadipf and setipfilter. Thanks rommel for the initial patch.
  • Fixed amulecmd command parser. Help was not coherent and giving syntar errors.
  • Rewrote command parser/processor im amulecmd to use wxStrings.
  • Some i18n stuff in amulecmd.
  • Rewrote amulecmd and amuleweb, creating a new module, ExternalConnector.cpp. This module has a lot of code common to both programs, and will make it easier to maintain.
  • Fixed a small wxString bug in CamuleDlg::AddLogLine() in amuleDlg.cpp.
  • Improoved wxSting usage in ExternalConn.cpp.
  • Yielding in DownloadQueue.cpp Init() so that gui is not blank when loading lots of files.
  • A little better font/color handling in amulewebDLG and amulecmdDLG.
  • New command line parameter for amuleweb, amulewebDLG, amulecmd and amulecmdDLG: -f. This parameter reads the ECPpassword and the ECPort from the [ExternalConnect] section of file ~/.eMule. This way, the plain text password doesn't have to be passed in the command line.
  • Updated socket-2.5.c to the latest wx-cvs code. Fast reconnect -> lowid bug is fixed in wx-cvs now. When wx-2.5.3 is out, we will finally be able to drop this file. It will only be needed for versions 2.5.0(?) to 2.5.2.
  • Removed gsocket-2.5.h from the project. This file was not beeing used anymore.
  • Added command line parameter "-q" or "--quiet" to amuleweb(Dlg) and amulecmd(Dlg). This is to run amuleweb without any output to stdout, so that it does not need a terminal.
  • Changed amulewebDLG and amulecmdDLG to use sizers.
  • Removed a bug in WebSocket.cpp: was not testing the return value of Accept, this could create a thread with a NULL socket.
  • Added two new commands to amulecmd(DLG), GetIPLevel and SetIPLevel <new level>.
  • Rewrote most of the wxString usage of amule web server in ExternalConn.cpp. There should be some speed improovement.
  • Removed pop up when web server requested ed2k source link and amule was low id.
  • Fixed a problem with Server Connect command in amulecmd, it was not working. It has been renamed to ConnectTo. Also fixed help command output, should look better now.
  • Added "-fmessage-length=0 -W" flags when --enable-debug.
  • Changed m4/wxwin.m4 to recognize wx-config --libs base (no equal sign from 2.5.3 and up).
  • Unicode fix in SysTray and new compiler wanings fix due to new compiler debug option -W.
  • Some more consts in code due to CDownloadQueue::GetFileByIndex() and CSharedFileList::GetFileByIndex(). Also cleaned those functions.
  • Fixed Resume/Pause bug in amulecmd/amule. Now Resume/Pause argument starts at zero.
  • More gsocket.h update.
  • Debug protocol options. Comment/Uncomment:
    • #define DEBUG_LOCAL_CLIENT_PROTOCOL in BaseClient.cpp
    • #define DEBUG_REMOTE_CLIENT_PROTOCOL in ListenSocket.cpp
    • #define DEBUG_SERVER_PROTOCOL in ServerSocket.cpp
    • #define DEBUG_CLIENT_PROTOCOL in sockets.cpp
  • Changed configure.in to no longer use gsocket-2.5.c for wx-2.5.3 and up.
  • Fixed the Random Lowid Bug.
  • Cleaner solution to RLB: Accept() the connection and Destroy() the socket immediately.
  • Fixed a lot of bugs in amuleweb. In particular, stop / pause / cancel / priority(up/down) now works.
  • Removed bubble sort code in download queue from amuleweb. This code did not scale for large number of files, like hundreds. There is still room for improovement here.
  • Fixed a bug in SafeFile.cpp. wxString.Length() returns the number of codes in the string, which is less than or equal to the number of bytes in a multibyte encoded string. This way, amule will also not crash with locale search strings like korean, japanese and chinese.
  • Several amuleweb/ExternalConn bug fixes. Now the communication is in UTF8, so that soon amuleweb non-unicode can communicate with amule unicode and vice-versa. There was a bug when the number of files was more than approximately 90 because the communication routines could not handle strings greater than 64K chars. There is still some replicated code in ExternalConn.cpp, but the idea is that it will use the code in ECSocket.cpp.
  • Bug fix in ExternalConn.cpp. ECSocket must have the wxSOCKET_WAITALL flag to work properly when the message has more than 64Kbytes. aMule now uses ECSocket.cpp, no more replicated code in ExternalConn.cpp.
  • Fixed a bug in ListenSocket.cpp, m_client can be null after ProcessSecIdentStatePacket(), so, we must check.
  • Fixed conversion problems in ECSocket.cpp. Now external connections in UTF-8 are really working, and amuleweb/amulecmd (unicoded or not) can connect to amule (unicoded or not).
  • Fixed an unprotected call to strlen() in ECSockets.cpp, if you pass a NULL pointer to it, the program segfaults.
  • Added a timer for idle repainting in amulewebDLG and amulecmdDLG.
  • Fixed this assertion in Preferences.cpp: [Debug] 07:02:00 AM: include/wx/longlong.h(155): assert "(m_ll >= LONG_MIN) && (m_ll <= LONG_MAX)" failed: wxLongLong to long conversion loss of precision.
  • Reimplemented "Show Rates On Title" preference.
  • Initial import of new MD4 hash code from emule 0.44a into KnownFile.{cpp,h}.
  • Removed amuleweb html template 12 char password limitation.
  • Small fixes to UTF-8 SysTray support patch.
  • Several unicode fixes.
  • New macro in otherfunctions.h: unicode2charbuf(x) -- used when you need to store a (char *) to use several times.

Rommel:

  • Patch to implement the commands serverconnect and reloadipf in amulecmd.

ThePolish:

  • i18n amule log lines (server window)
  • amulecmd and webinterface i18n fixes
  • Some win32 fixes (slashes and backslashes)
  • Automake 1.8 fixes
  • Add traditionnal Chinese translation (zh_TW) from Paul (Thanks !)
  • Add it, nl, fr, pl, es, eu, ca translation updates (Thanks to all translators)
  • Fix copyright for alc icons
  • Replace amule, wxCas, alc .ico simple icons by icons group .ico
  • Replace alcc's printf by wxLogMassage
  • Make runtime to be in seconds in amulesig.dat
  • Modify Xas to handle runtime in seconds
  • Modify wxCas to handle runtime in seconds

Unleashed:

  • cas: some sprintf -> snprintf conversions, ifdef unix specific code, and revert get_path() breakage

Xaignar:

  • Other stuff I'm too lazy to write or have forgotten about. ;)
  • Initial multi-sorting on download list. Upon changing sort-column, any items that were evaulated to equal will be resorted by the last used column.
  • Fixed the constant resetting of the category dropdown-menu in the searchdlg.
  • Fixed "&"s being replaced with "&&" on the log-view.
  • Only displayed category color when the items arn't highlighted on the download list, to improve readability. (thanks to Seagull)
  • Optimized the IPFilter-code.
  • Improved the CDownloadListCtrl::Updateitem function so that it doesn't search the list for hidden items.
  • Improved sorting of clients by QR on the download list.
  • Removed a number of unsued files, cutting down archive-size by around 900kb.
  • Changed systray behavior to match KDE/GNOME. Single-clicks hide/show.
  • Fixed the "Last Recieved" column, which would show the same as the "Last Seen Completed" column.
  • Fixed the placement of sources on the download list, where they would sometimes be placed with the wrong file.
  • Cleanup of the new AICHSyncThread class.
  • Removed extra newlines before writing text to the logfile, to avoid having a double-spaced file.
  • Fixed loading of addresses.dat, where the first line would be ignored and replaced the messagebox with a log-line.
  • Fix the percentage displayed on the progress-bars being rounded, which would result in non-completed files showing 100%.
  • Added the ability for the user to specify permission settings for fildes and directories. These settings default to 640 for files and 750 for directories and are used throughout the app, with the exception of files created with wxTextFile, as that class lacks support for permissions. Will be fixed later
  • Cleanup of CServerListCtrl:
    • The sorting of the list is now always maintained, including when items on the list are updated or new items updated.
    • Cleanup of the popup-menu.
    • Disallow connecting to multiple servers at the same time.
    • Other changes.
  • Reduced the overhead of the overhead calculation by using code that didn't require iterating through a list every time.
  • Added checks to avoid the user getting spammed with the "Connected to user" and "Disconnected ..." when having an open chat-window.
  • Second reworking of the SearchDlg
    • The crash on searching should be fixed now.
    • Initial cleanups of the SearchList class
  • Cleanup of the SearchListCtrl class
    • Results will now always be sorted
    • Syncronized all lists during runtime, so that they behave as a single list.
    • Improving the coloring of items.
  • Cleanup of the CMuleNotebook class
  • Cleanup of the CMuleListCtrl class:
    • Added double-arrow for alternate sorting.
    • Centralized a lot of logical plus lots of other changes
  • Double-buffered all listctrls using custom drawing, to reduce flicker.
  • Added warning if the user recieves LowID from the server.
  • Disallowing the user to send empty messages in the chat window.
  • Rewrote the PrefsUnifiedDlg class
    • Removed the Rse classes and create a more clean replacement.
    • Made the dialog mode-less.
    • Removed the un-implemented Notify page
    • Serveral other changes.
  • Updated the version reporting capabilities of aMule, so that it will report version, wxWidgets type and version and if unicode has been enabled or not.
  • Added the new MuleTextCtrl class which supports the traditional popup-menu with Cut/Copy/Past/Clear and Select All. All existing wxTextCtrls were replaced with this new class.
  • Imported the parts of Crypto++ that aMule needs into two files with permission from the Crypto++ developer. This means that aMule now compiles without the user having Crypto++ installed, though it is still possible to use external Crypto++ installations if the user wishes to do so.
  • Fixed some compilation problems with aLinkCreator and wx-2.5.2.
  • Fixed the First-Time-Message being displayed twice and rewrote it somewhat since it was becomming quite outdated.
  • Fixed the "unable to open preferences.dat" bugs.
  • Fixed the ability to add static servers.
  • Cleanup of column sorting functions.
  • Fixed a bug where CServer::HasDynIP would always return true. This would result in need-less dns lookups.
  • Removed a redundant attempt at adding servers from connected clients.
  • Fix for Packet::PackPackets function where new size of packet wouldn't be saved.
  • Fixed some access to the dialog-window ptr after it had been deleted. This was causing some odd behavior once in a while on termination.
  • Fixed the downloadqueue sorting, which was reversed. Low-priorty files having high priority and high-priority files having low priority. (Thanks to thomas001 for noticing)
  • Rewroked the systray:
    • Fixed the the problems with the rate-limiting functionality.
    • Enabled use of PublicIP requests, so that the tray will show the users actual IP rather than the interface IP.
    • Some changes of the menu-structure.
  • Complete reworking of the hashing thread:
    • More informative output
    • Much better error handling
    • Handles duplicate files gracefully
    • Reads only 128kb (instead of 9mb) at a time to avoid killing the harddisk entirely while the thread is running.
    • Made the thread terminate when no files are left, instead of timing out as before.
  • Disconnected otherfunctions.h from the rest of the aMule code, so that it should be possible to use it in external apps.
  • Added checks when using the client-pointer in the socket-code, since that suffered from the same problem as the previously fixed clients (they have a habbit of dying at random).
  • Added function for truncanating displayed filenames, which is now used in file-details dialog, to avoid it getting resized to extreme widths.
  • Some work on readying the Info tab on servers, deltaHF_ did the rest of the work.
  • Small re-fix for the "mis-matching hash"-bug fix
  • Reworked the SearchDlg once
    • Added Jugle.net websearch
    • Added results-count to the result tabs
    • Other smaller changes
  • Fixed mem-leak where certian client-objects wouldn't be deleted. Specifically those that were removed from the download queue but wern't on the upload queue and didn't have a active socket.
  • Removed debugging functionality no longer needed.
  • Removed variable-arguments logging functions, since they were only needed in a very few places and posed a potential risk everywhere else.
  • Fixed StripInvalidFilenameChars function to avoid legit letters being dropped (thanks to likesylph).
  • Changed all file-accessing to use CFile rather than a mix of CFile, wxFile and FILE.
  • Removed a number of warnings.
  • Cleanups of the following files
    • AICHSyncThread.*
    • ServerListCtrl.*
    • SearchListCtrl.*
    • MuleNotebook.*
    • MuleListCtrl.*
    • PrefsUnifiedDlg.*
    • SysTray.*
    • AddFileThread.*
    • SearchDlg.*
    • CMemFile.h and filemem.cpp
    • SafeFiles.*
    • CFile.*

Special Thanks To:

  • Lucasvr, for providing fixes for compilation with some wx versions.
  • Seagull, for providing fixes and suggestions.
  • likesylph, for providing a fix for the StripInvalidFilenameChars function.
  • All translators
  • All testers
  • BrianHV and the people at #wxwidgets for their help and support
  • EVERYONE at #amule (even codewarrior2!)
  • All the people in aMule's forum
  • All the users, for having the patience to wait the delayed rc6 release.
  • Hellimod, one_2_one, ASTIOBOY, sssnake, lami123, Ocimin, agav, PowerMike and all the mac testers and people providing Macs for ssh & vnc.

Funny stuff about this changelog:

  • You can notice that the Search dialog was rewritten 3 (THREE!) times between rc5 and rc6. You only get to see the final version (Xaignar's), but the initial one was Kry's (when the extended buttons show/hide were added) and then deltaHF changed it later. We just love changing that page.

aMule 2.0.0-rc5

· 3 min read

Release name: The 'Let's recover our release speed' version

deltaHF:

  • Better sorting of some columns

Kry:

  • Some gui design and coding of the upcoming Kad window
  • Protocol update:
    • UDP protocol upgraded to eMule 0.43b
    • TCP Standard Base protocol upgraded to eMule 0.43b
    • TCP Extended Base protocol upgraded to eMule 0.43b
  • Fixed memory corruption and crashes on 'cas'
  • Fixed gsocket-2.5.c for big endian archs.
  • Fixed CFile class to actually return error when a error ocurred and not only when it feels like.
  • Fixed bug where the 'All' category could be removed leading to crashes and other funny behaviours.
  • No more minimize when no tray has been selected.
  • Fixed browse skin file button to actually browse a file ;)
  • Fixed high 32 bits of transfered bytes not being loaded on known.met (sorry fluffly!)
  • Some Mac bugfixes.

Hetfield:

  • Some gcc 3.4.x compilation fixes

lfroen:

  • GUIEvents updated
  • core2gui events added.
  • Some gcc 3.4 fixes to GUIEvents

Phoenix:

  • Added a test with a warning to CSearchDlg::OnBnClickedSdownload in SearchDlg.cpp. A NULL value has been reported on the foruns, we don't know how GetPage() or FindWindowById() could have returned NULL.
  • More unicode fixes to alcc and ed2khash.
  • Fixed flags for console applications. -DwxUSE_GUI=0 is required so that amuleweb, amulecmd, etc, run fine with wxWidgets version 2.5.2 and up.
  • Fixed a problem with gsocket-2.5.c when using wxWidgets version 2.5.2 and up. Now amule runs with 2.5.2.
  • New ipfilter code.
  • Found the reason why wx-2.5.2 gui was messed: starting with wx-2.5.2, a new flag must be added when adding components to sizers to keep the old behaviour (wxFIXED_MINSIZE). This constant is defined to zero in amule.h when wx-version is less than 2.5.2, so that amule still compiles in old wx.

ThePolish:

  • Add win32 MakefileWIN32, configureWIN32.h and project file amule.msp
  • Make win32 use winsock2 for IPFilter
  • Enable alc, alcc, wxCas translations with aMule catalog
  • Use normalized includes for wx in wxCas, alc and alcc
  • Limit the server name length in wxCas to avoid a too large window
  • New icon for alc
  • Global fr translation
  • Fix win32 ToolBar problem

Xaignar:

  • Added the ability to search for "Texts"
  • Attempt at fixing both Random Socket Bugs and Random Client Bugs.
  • Fixed new IPFilter code.
  • Cleanup of CPartFile::SavePartFile
  • Got rid of some unneeded includes.
  • Fixed compilation when using crypto++ 5.2
  • Ensuring that the ServerListCtrl gets unfrozen in case of corrupted met files.
  • Fixed a crash-bug added by Kry's UDP commit.

Special thanks to:

  • The usual people, those on the other 'Thank you!' sections of changelog.
  • All the people at the Mac section of forums, for testing compilation and run.

aMule 2.0.0-rc4a

· One min read

Release name: HOTFIX release for lugdunum 16.47 servers (The 'Ooops!' version)

Kry:

  • eserver 16.47 fix for shared files packet not compressed

deltaHF:

  • Translations update

aMule 2.0.0-rc4

· 15 min read

Release name: The 'Mules and rabbits like apples too' version

alehack:

  • Patch to show extra QR info
  • Patch to colorize the download list

aquatroll:

  • Fixed includes for Win32 compilation
  • Cleaning of unused variables on Win32
  • Fixed compilation on Win32

Citroklar:

  • lots of unicode slave work ;)

croakerc:

  • Fixed OpenBSD compilation

deltaHF:

  • Added websearch function (filehash.com)
  • Added jugle.net as Fake-check URL
  • New buttons added:
    • reload sharedfiles
    • switch upload/uploadqueue
    • clear completed files
  • Added 3 new columns in upload window (Client Software , Upload/Download , Remote Status)
  • Added 'Client Software' column in upload-queue window
  • "Asked for another file" on sources now with the filename that is asked for ( i.e. A4AF -> xyz.avi)
  • Added 'copy file feedback to clipboard' function
  • Added new Toolbar icons [ thx to http://www.everaldo.com ;) ]
  • Added icons in Preferences
  • Download menu changed
  • Work on skin support

falso:

  • Typo fix: bandwith to bandwidth

hellimod, one_2_one:

  • MacOSX support

Hetfield:

  • Fixed unicode issues on SysTray.cpp, now apps is really unicoded!
  • deleted separated i18n stuff from SysTray, now uses global one
  • Fixed 2 memory leaks in SysTray
  • updated italian and napoletanean translations
  • Fixed unicode issues in serverlist updates and download tab
  • Fixed unicode issues that stopped adding files to download from ed2k utility and internal link handler

Jacobo221:

  • New feature to open webpages in new tab instead of new window
  • Fixed a compatibility bug in OnlineSig with eMule's and added connecting support
  • Fixed bug in Statistics limits in Preferences
  • Fixed bug in Upload/UpQueue button
  • Fixed SERV.4 bug
  • Fixed DISP.14 bug
  • Added DOS compatibility into CAS and update onlinesig support
  • Several features in XAS (see XAS's changelog)

Kry:

  • Fixed wxWidgets 2.5.x socket code. aMule now works on wx2.5.1 perfectly, wx2.5.2 introduces some GUI bugs.

  • Rewrote Preferences engine to be much nicer, and Mac compatible :) Thanks to deltaHF for the new icons.

  • Added a hack to make new preferences work on wxWidgets 2.4.2. I hope we can get rid of wx 2.4.2 soon ;)

  • Wrong .part.met files no longer make aMule abort on startup. Now a warning is displayed on log and aMule ignores that file.

  • Added the new compatible client flags tag agreed with lphant devs and eMule devs. xMule devs refused to use it.

  • Overloaded the wxSocketClient::Destroy to a safer version, to check cases when deletion is not called from Destroy()

  • Fixed the disconnection of clients that have MS_CHATTING state.

  • Fixed the usage of QueueLogLine fucntion to avoid crashed on too fast computers ;)

  • Remove spaces from search string start and end.

  • Remove spaces from ed2k links start and end.

  • Fixed a mem corruption due to lphant icon size (we all know lphants are big)

  • Splitted internal core and GUI events

    • Socket events mover to core
    • Timer got separated into core_timer and gui_timer, each one with the matching functions.
  • Fixed UDP socket handler being... the TCP handler. Since lmule times.

  • Delayed deletion of sockets to avoid async deletion issues that happens when Destroy() is called on a event

  • Fixed several rare crashes happening on some fast computers on shutdown aMule.

  • Added a debug function to get track of double-deletion of clients.

  • Socket handlers now stop notifying new events when Safe_Delete() is called.

  • m_pszUsername inited before a new call to handle 'new' exceptions correctly.

  • Added a hack on IsRunning() to check for current app object not existing yet (or deleted on shutdown)

  • Fixed all icons to be 16x16 to avoid asserts on 2.5.x for unmatching wxImageList sizes.

  • Fixed all wxImageList sizes to avoid asserts on 2.5.x on object construction.

  • KnownFileList takes account of the duplicates now, so those are not rehashed each time anymore.

  • Fixed EC password not being shadowed on preferences.

  • The preferences dialog should be resizable now.

  • Updated lphant stats to show the version as they added the extended version tag.

  • Fixed 1 double-delete on ListenSocket, when socket is not connected.

  • Each socket has its own handler now. Much safer and faster.

  • Fixed hashing thread implementation to make it shutdown safely.

  • Fixes on geometry handling to make it work properly from commandline.

  • Fixed minimize to tray to work properly with no more double-minimizes.

  • Coded the skeleton of the core/gui separation event system, improved by lfroen later.

  • Fixed CString implementation for operator '+'

  • No linking cas, wxcas and ed2k against crypto, please :) Fixed.

  • Lots of speedups on ClientUDPSocket handling, someone went paranoid and added lot of redundant code.

  • Changed most of the wxT("") to wxEmptyString

  • Fixed the splitter position and client size on restart.

  • Fixed compilation on wxWidgets CVS

  • Fixed amuledlg not being set to null + moved the init to beginning on amule.cpp

  • Fixes mem corruption and crash on PrefsUnifiedDlg

  • Fixed missuse of inet_addr on BaseClient.

  • Fixed crash on stats disabled

  • Reduced memory usage with a centralised icon handling.

  • Fixed wrong var type on EMSocket.h causing mem waste.

  • Fixed bug on SetFileSize (thanks to Pichuein on eMule forums)

  • wxWidgets 2.5 compatible CDirectoryTreeCtrl. WARNING- NEW BEHAVIOUR IS: LEFT CLICK ON ICON -> SHARE, RIGHT CLICK -> RECURSIVE SHARE Also made the icon red if the folder is shared.

  • ModString fixed - Now mods identify themselves correctly.

  • As xMule now identifies as eMule 0.0a, added xMule detection based on username and modstring to keep stats coherent.

  • On debug builds, client stats now show the amount of clients with open socket.

  • Changed theApp.glob_prefs->GetAppDir() to theApp.ConfigDir for speed improvements.

  • Fixed crash on empty shareddir.dat

  • Fixed listen socket being processed before created on fast computers and thus causing crashes on startup.

  • Fixed server version tag.

  • Added frame name to the aMule main window to be handled correctly by X server

  • Fixed a crash on log file re-creating on startup.

  • Fixed the update of the categories tab names to show the file count and the downloading files.

  • Fixed the update of the categories tab names tp happen only when needed to save cpu.

  • Changed several vars and functions to const for speed improvements.

  • Enter button working now for web search.

  • Added a check to disconnect clients sending non-hello packets before finishing handshake.

  • Added preferences items for the upcoming Skin engine.

  • Fix from lugdunum to avoid blacklisting on servers because of key repeat on pressing enter for search :)

  • Use generic BSD wx preprocessor define to make aMule FreeBSD and OpenBSD compatible.

  • Fixed Incoming folder not being shared on strange situations.

  • Fixed usage of '/' instead of '' on Win32 builds.

  • Made file comparison case-insensitive on Win32.

  • Better fitting of notebooks

  • Fixed shared files reloading to stop being dependant of buttons/labels

  • Socket handling now deletes the client if connection fails ;)

  • Fixed some wxSizer usage causing compilation compatibility problems between wx 2.4.2 and 2.5.x

  • aMule now filter bad ips on source seeds.

  • Autoconnect and onlinesig are now on by default.

  • Added a check on graphic stats drawing to avoid crashes if no DC is created yet.

  • aMule now uses crypto++ for MD4 calculation (faster, and endian safe)

  • Added two sanity checks for source drawn with no reqfile associated, avoiding crashes.

  • Fixed mem corruption and possible memleaks and crashes on file comments received.

  • Fixed a BAD and UGLY and EVIL mem corruption happening since more than a year ago and still present on the original program (xMule).

  • Client sending wrong OP_FILEREQUEST packets are now disconnected to avoid further problems caused by their corrupted packets. Old shareazas and most xMule versions have been warned since 2004/04/13 from aMule and since much more time ago from eMule. Shareaza fixed it, but xMule refuses to fix it. eMule 0.43x disconnects them too now.

  • Fixed crashes on sockets because of packet overhead being calculated after packet was deleted.

  • Fixed the CVS mod reporting for aMule 2.x

  • Fixed the Online Signature dir selection.

  • Fixed some shared files not being shared due to a return; on a wrong place ;)

  • Fixed some events being posted to wrong event handler.

  • Added GUIEvents.h to take care of the core/gui separation events.

  • Cleaned ColorFrameCtrl class

  • Cleaned otherfunctions.*

  • Lots of misc code cleaning

  • Several minor messages and GUI bugs.

  • Several warnings removed.

  • Removed useless files: XBMDraw.cpp XBMDraw.h SplitterControl.cpp SplitterControl.h

    ------------ MAC -------------

  • Fixed compilation on wxMac CVS and 2.5.x

  • Fixed socket connection on Mac.

  • Fixed endian issues causing crashes on server communication.

  • Fixed string tags being read wrong.

  • Fixed known.met being corrupted on every save and reload.

  • Fixed stats not working on Mac (no longer crashes because of drawing)

  • Fixed mnemonics on file search not being endian-safe.

  • Fixed server TCP flags.

  • Fiexd bug on lowid callback.

  • Fixed serverlist on Mac:

    • Server users
    • Server files
    • Server ip being reversed on restart
    • Server port set to 0 on restart.

    -------- UNICODE ---------

  • Fixed unicode compilation of most files (except those by Citroklar, Hetfiled, and shakraw)

  • Fixed search on unicode builds.

  • Unicoded most of the app internals :)

  • Fixed part.met on unicode builds

  • Hunted and killed (char*) casts and c_str() calls.

  • Fix unicode client names and misc.

  • Percentage & Download speed fixed

  • Reported several bugs to wxDesigner's mantainer to make it work properly on unicode builds

  • Fix usage of st_mtime to allow files with non-std chars to be shared without crashes on wx2.5.1

  • Fixed PerformFileComplete to allow unicoded files to be finished :)

  • Fixed part met filename being 001.part everytime on unicode builds.

  • Fixed renaming on file completion causing crashes on unicode builds

lfroen:

  • Started to implement various changes needed to split the core and GUI.

Madcat:

  • Fixed preferences layout of panels.
  • Simpler ed2k link integration for Mozilla 1.3+ / FireFox 0.6+ - Using Mozex plugin

niet:

  • Added support for memory usage and binary name (on xas)

Phoenix:

  • Code cleaning in several modules due to making the members size, opcode and prot private in packets.h.
  • CFile Close(), Read() and Seek() made const. Seek() needed the use of mutable with m_fd to be const.
  • Put lots of consts around the code in the routines that should be so.
  • Patch to --enable-stdin to aid in debug with valgrind.
  • Code cleaning in module Packets, made a lot of stuff private now.
  • Small hacks to print debug messages and avoid crashes, mainly in PartFile.cpp.
  • Sanity checks in debug mode (MagicNumbers) to aid finding bogus clients and files.
  • Created debugstuff module, debug build only.
  • New configure option --enale-verbose, so that normal users are not flooded with debug messages.
  • MagicNumbers are swapped to signal deleted source/PartFile.
  • Removed deprecated wxArrayString::Remove(size_t nIndex, size_t nRemove = 1) using wxArrayString::RemoveAt(size_t nIndex, size_t nRemove = 1) now.
  • Get rid of evil wxString::GetWriteBuff() and wxString::UngetWriteBuf() in ECSocket.h.
  • Added -pw/--password command line option to amuleweb.
  • Small unicode fixes.
  • Fixed a messed up display in html code in aMule.tmpl (thanks to steve.reaver)
  • Fixed font problem after Xaignar's great flicker free work in download list control.
  • Fixed broken sort arrow after flicker free clean up.
  • Enabled mouse wheel scrolling in all aMule list controls.
  • Fixed two unhandled events in amule.cpp: CHAT_REFRESH_FRIEND and CHAT_FIND_FRIEND.
  • Fixed compilation in 2.5.x and some unicode issues in aLinkCreator. Using wxAppConsole when wx > 2.5.0.
  • Fixed compilation and linking in 2.5.x for amuleweb. Now uses wxAppConsole when wx > 2.5.0.
  • Added a test for the return value of theApp.serverlist->GetServerByAddress(), which could be NULL. This was the reason why aMule was crashing when trying to connect to server with wxWidgets-2.5.2.
  • Fixed compilation and linking in 2.5.x for amulecmd. Same problem as amuleweb.
  • Commited a patch from wolti that fixes compilation on sparc/Solaris systems.
  • More sparc compilation fixes, thanks to wimms.
  • Removed the declaration of void ParseCommandLine(); from TextClient.h and WebInterface.h. It seems to have been forgotten here.
  • Patch to listctrl.cpp, was segfaulting in 2.5.1 when hiding/resizing columns. In 2.4.2 was just asserting.
  • Patch to Partfile.cpp, workaround the socket == NULL bug, so that amule does not crash.

shakraw:

  • Fixed the "remote connect" bug
  • Unicode support for amuleweb
  • Fixed typos on amuleDlg
  • Unicoded some files.

steve.reaver:

  • Fixed a messed up display in html code in aMule.tmpl

thepolish:

  • wxCas:
    • Fixed for amulesig.dat changes
    • Solved localized decimal separator pb
    • Embeded all pixmaps in src files and remove now unused pixmaps dir (better for portability)
    • Win32 toolbar pixmaps have transparency now
    • Added variable refresh timers
    • Added user preference system
    • Added statistic image creation
    • Added FTP support for an automatic upload of the statistic image
  • aLinkCreator:
    • Added this new maaarvellous tool suggested by DeltaHF to compute ed2k links from a file (same behavior as eMule link creator, but no shared code)
    • Rewrote md4hash and ed2khash code to avoid external dependencies (libcryptopp free), and to be Big Endian proof (works on Mac afaik)
    • Added alcc, the "alc for console" command line client
    • Added toolbar themes (KDE and DeltaHF's default for now)
    • Thanks to Phoenix (Unicode, Hook, commandline...) and one_2_one (Mac tests)
  • aMule:
    • Rewrote Makefile.am tree to fit to GNU standards
    • Removed Makefiles stuff for wxwidgets < 2.2.6
    • With >= wx-2.5, use wx-config --libs=base,net instead wxbase-config (because base in buggy on 2.5), and keep using both on 2.4 versions
    • Check for wx >= 2.4.2 instead of 2.4.0
    • Removed GTK2 warning with wx >= 2.5
    • Fixed GTK2 not detected
    • Enabled documentation installation
    • Install xas in $(libdir)/xchat/plugins. Will work if aMule and xchat are installed with same DESTDIR
    • Suppressed widlcats in makefile (not fully supported in all make)
    • Enabled make dist and make distcheck targets
    • Force automake scripts update (missing...) to suppress warning in configure
    • Force autogen.sh to regenerate intl at each call to keep sychronised with system gettext templates
    • Some minor i18n and unicode fixes
    • Updated POTFILE.in
    • Removed Win32 stuff from autotools scripts
    • Added static MakefileWIN32 for win32 compilation

Unleashed:

--- [ From rc3 (not on changelog)]

  • Cache get_path homedir to speed up multiple calls
  • Removed unused Tag_Struct
  • Fixed var init and memleak in SearchList

--- [ rc4 ]

  • Fixed COMP.10 bug
  • Wiped out USE_DEBUG_SYMS

wimms:

  • More sparc compilation fixes.

wolti:

  • Patch that fixes compilation on sparc/Solaris systems.

Xaignar:

  • Merged lists used to identify file-types to avoid duplicity.
  • Added wrapper-class around MD4 hashes.
  • Fixed a number of places where the hashes where used as NULL-terminated strings, despite them not having a NULL-terminator.
  • Most functions using hashes now use the MD4 wrapper class for arguments.
  • Fixed rare possibility of ending with an unclosed file in CServerListCtrl.
  • Fixed unsafe parsing of OP_SERVERIDENT type packets.
  • Fixed unsafe passing of strings as arguments to functions using format-strings.
  • Changed the chat-dialogs to textctrls, which means that it is now possible to copy text (the unix way) by highlighting it.
  • Fixed some memleaks.
  • Fixed "&"s not being escaped on status-bar.
  • Fixed incorrect source exchange packet format (Many thanks to the eMule Plus team for reporting).
  • Started to document source-files with a Doxygen compatible comment format.
  • Fixed the height of the barshaders used on the download list, it was 2 pixels too high, resulting in a slight cutoff.
  • Reducing CPU-usage of auto-priority by not forcing a redraw every time the priority was automatically changed.
  • Fixed that some overloaded functions hadn't been declared virtual in the base class.
  • Replaced gif-animation widget with something more lightweight.
  • Added sanity checks to CMemFile::Read.
  • Fixed a number of uninitialized variables.
  • Fixed several warnings about non-existing files.
  • Fixes warning about not being able to create dir "" on first run.
  • Changed "Extended Drop Sources" preferences, with the result that the option will be reset to "Swap Sources" when this version of aMule is first run.
  • Got rid of most warnings when compiling.
  • Lots of work on getting rid of c-strings.
  • Fixed bug that would cause deleted sources not to be removed from the A4AF lists. This was a major source of crashes.
  • Improved performance and safety of the source lists used with PartFiles.
  • Lots of small imports from eMule.
  • Made reqfile attribute of CUpDownClient private and added wrapper functions to fix the avilable-part information getting out of sync.
  • Cleanup of includes.
  • Fixed that we were always sending an OP_REASKACK packet and then the correct packet when recieving an OP_REASKFILEPING.
  • Fixed Bug 45: URLs are now properly escaped when opening browsers for Fake-check and such.
  • Fixed Bug 62: aMule will now be brought to front when left-clicking on the tray icon and when it is redisplayed after having been hidden.
  • Added checks against aggressive clients (clients who reask for files too often).
  • Imported checks for known leech-clients from the BlackRat eMule mod ( Many thanks to Le Rat Noir and inoteb for allowing us to use their work ).
  • Fixed wrong initialization of headers for some packets ( Thanks to thomas001 for reporting ).
  • Fixed a delete called on an uninitialized pointer in the statistics dialog and properly initalized serveral other pointers.
  • Optimizing the Comp(Up/Down)DatarateOverhead functions to something that didn't require traversing a list at each call.
  • Complete rework of the source-swapping functions.
  • Fixed the possibility of sources being added to multiple source-lists at the same time (No more mis-matching hashes warnings).
  • Fixed the new columns added by deltaHF not being displayed and added checks in case the same thing happens again.
  • Almost completly eleminated flicker on the download list and did a cleanup of the drawing routines associated the the download list widget.
  • Fixed some lists (Server list, maybe others) not being sorted when aMule is started.
  • Fix mem-corruption bug in SysTray code if the systray was compiled in but hidden.
  • Fixed the problem with deleting the last (connected) server on the server list.
  • Removed the following files:
    • ini2.*
    • CString.h
    • mfc.h
    • position.h
    • resource.h
    • strings.en
  • Cleaned up the following files:
    • CTypedPtrList.h
    • BarShader.*
  • Many other smaller changes.

Special thanks to:

  • Le Rat Noir and Inoteb of the BlackRat eMule mod (http://www.blackrat.fr.tc/) for allowing us to make use of their work on detecting bad clients.
  • Optimazer and the eMule Plus team (http://emuleplus.sourceforge.net/) for reporting a bug in source-exchange packets.
  • thomas001 for reporting a problem with packet headers.
  • Everaldo (http://www.everaldo.com) & "Jimmac" (http://jimmac.musichall.cz/ikony.php3) for new icons
  • Phk for searching for new icons ;)
  • kno and thermoman for their fixes :)
  • TheBlackHand and Hawkster eMule mods
  • uberpenguin for AMPS :)
  • All aMule users, testers & translators
  • eMule & wxWidgets devs
  • Everyone we forgot here ;)

aMule 2.0.0-rc3

· 6 min read

Release name: The 'Target: Stability' version

aquatroll:

  • win32 stuff

barbapapa;

  • Fixed >2Gb files sorting bug on transfer window.

Citroklar:

  • Fixed saving preferences on klick OK, not only on shutdown.
  • Configure stuff
  • Cas related stuff

deltaHF:

  • i18n stuff
  • Minor timer fix ;)

elfstone:

  • Fixed already downloading files not being marked as such on search results.

falso:

  • Improving and fixing cas
  • Added capability to create pngs with cas
  • Fixed ed2k fast links handler

Kry:

  • Complete rewrite to emule 0.42x ed2k network code
  • Rewrite of hashing thread. Also added a timeout to save resources. It times out after 1 min without hashing or receiving new files to hash, or 1 min since last hash, and dies gracefully.
  • Fixed the crash on startup if incoming/temp folder are on FAT32
  • Added Safe Max Connections code to Preferences->Tweaks. This code will help all people with USB modems and crappy routers to not hang them.
  • Identify to lugdunum > 16.45 with our proper extended version tag (2.0.0)
  • Fixed & rewrote stats
    • Added Shareaza & lphant
    • Fixed mldonkey stats (do they have to change their compatible number this often?)
    • Added aMule / eMule / eDonkey proper version handling
    • Dynamic tree of client versions (no more void versions)
    • Fixed the xmule inflated statitics on the stats tree
  • Rewrote client icons handling
    • Use alpha channel to show the extended protocol and secure ident
    • Added Shareaza, xmule, lphant, bad_guy and unknown client icons
  • Fixed chuck selection. Much, much, much, much faster downloads. Back to the 1.2.6 speeds :)
  • Fixed Win32 compilation
  • Fixed lowID warning message on start being void.
  • Proper Win32 and Mac disabling of the vertical preferences
  • Severe bug on wxRadio button on RseInt was preventing ANY radio button on preferences from working.
  • Fixed crash on 'cancel' while downloading server list.
  • Fixed a UpdatePartsInfo missing on KnownFile.cpp
  • Fixes the fake-check custom browser textfield
  • Added wxNB_MULTILINE to preferences notebook.
  • Minor issue on the chunk selection (thanks to AndCycle on eMule forum)
  • Fixed a SEVERE mem access issue on the hash of the file id to check on knownfilelist.
  • Fixed a SEVERE memory bug on sending the shared folders
  • Fixed not sending the incoming and categories folders when sharing folders.
  • Fixed 'Friends' working as 'None' on 'view shared' preferences.
  • No more [0xy.part] on preview of completed files
  • Fixed the FAT32 rehashing of files on startup
  • Fixed filters not being used on right click on main transfer tab -> new status
  • Changed known file list from wxHashMap to std::map
  • Fixed auto-update server list at startup Added posibility of multiple servelist urls too
  • Fix for files publishing, reported by lugdunum to eMule/aMule developers.
  • Proper use of ClearHelloProperties that fixes some crashes related to a var not being init.
  • Added MOD_VERSION to hello type packets (just for CVS versions)
  • Fixed packet processing on EMSocket error.
  • Changed the full part (9.28Mb) lower limit for preview to 256Kb
  • Added 'LI0' to the evil GPL doer checks.
  • Bugfixes on the KnownFile::UpdatePartsInfo code.
  • Added new verbose client info checkbox, to find out which clients are sending bad data.
  • Fix UDP socket for Win32
  • Re-added the timed part file buffer flush()
  • Custom language support added
  • Fixed FAT32 incoming/temp warning messages only shown on one of the folders.
  • Fixed issues on packet unzip and crash on OP_CANCELTRANSFER already sent
  • Added aMule 1.x / 2.x / CVS versioning.
  • Thread-safe log lines adding using a queued loglines list.
  • Completion Thread revamped --> No longer crashes, no longer asserts, and it's much nicer.
  • Fixed safe_delete (again)
  • Fixed some memleaks
  • Changed some CLists to wxLists
  • Cleanup and fixing little bugs ;)

Madcat:

  • Disable autobacktrace on win32
  • Removed wxTE_PROCESS_ENTER style from fast ed2k links handler (fixes assert)
  • The following modifications to CamuleDlg::AddLogLine() function:
    • Now uses system locale for date/time formatting.
    • No longer asserts.
    • Now also works on win32.
  • Removed unused m_StateImageList
  • Code cleanup

one_2_one, hoschy007:

  • MacOSX stuff

shakraw:

  • Fixed multiple file download bug in webserver search section
  • Fixed ed2k download link
  • Fixed categories for web interface
  • WebSocket.* & WebServer.*: now uses wxThreads and wxSockets to be cross platform.
  • Better threads' array remove in WebSocket
  • WebServer cleanly stopped before exit
  • Fixed max 2Gb display bug in amuleweb
  • Updated aMule.tmpl: added file %complete support in transfer list

thepolish:

  • Wrote wxcas based on cas from falso
  • Enable auto-refresh and Fix GPL headers (wxcas)
  • Add system load and uptime (wxcas, Linux only)

Unleashed:

  • cas: better layout and fixes
  • Fixed a pair of memleaks

Xaignar:

  • Fixed negative percentages in downloadlist ... again (Disp.8)
  • Fixed the "free(): Invalid pointer" bug (Misc.10)
  • Fixed PowerShare priority level not being saved. (Tran.9)
  • Fixed the problem where it wasn't possible to select auto-priority in the uploadlist after having selected another priority (Tran.8)
  • Cleanup of Search Dialog:
    • The reset button is now properly enabled/disabled depending on the contenst of the text fields
    • Fixed a bug where searched would be limited to 2gb if max size was set to a value less than min size
    • The popup-menu for the notebook now works as expected (SRCH.1)
    • The popup-menu will now only show when right-clicking within the bounds of the notebook (DISP.12)
  • Fixed the green progressbar on downloads always displaying 100%. (DISP.9)
  • aMule will no longer display warnings about not being able to find server.met when a new server.met is saved and no old copy exists.
  • known.met is now auto-saved (1) when 30 files have been hashed, (2) when 300mb worth of files have been hashed, (3) and when all files have been hashed. This is to reduce the chances of having to rehash all files after a crash.
  • Now uses the user-selected browser for fake-checking and such. (PREF.3)
  • Further update of the Chat Page:
    • Pages can now be closed like the ones on the Search Page
    • Double-clicking on a nickname will open a chatsession for that friend
    • When a nickname is updated in the friendlist, the assosiated tab is updated as well
  • Other stuff

Special thanks

  • All the bug-reporters, helpers, translators and users at http://forum.amule.org
  • Batman who commited a mldonkey related fix, thanks :)
  • Jacobo221, Stefanero for their help and support on forum and all the other stuff ;)
  • lugdunummaster for providing support on version tags and new features of lugdunum servers

--- As usual thx to eMule & wxWidgets devs and everyone i forgot ;) ---