Skip to main content

49 posts tagged with "release"

View all tags

aMule 2.0.0-rc7

· 5 min read

Release name: The '99,6% Final' version

bisley:

  • Added session ratio and total ratio to XAS

deltaHF:

  • Got back from hell and changed one icon on the GUI ;)

Jacobo221:

  • aMule GUI:
    • Fixed two almost-the-same bugs when clicked download button and no items where selected (as reported by powtrix/willy, thanks).
  • aMuleWeb:
    • Fixed a bug where up/down limits woudln't be displayed correctly if their string length were different.
  • aMuleCMD:
    • Added 'list' (or 'find') command to search for a file in the downloads queue by name or by number (or just show all).
    • Added the ability to resume/pause all downloads at the same time through amulecmd (very handy when all downloads have been paused due to lack of space).
    • Fixed two bugs on amulecmd by which using 'pause' or 'resume' without arguments would pause/resume the oldest download.
    • Fixed a bug so that help command no longer is send to core.
    • Fixed other commands sending blank data to core.
    • Cleaned unneeded output log messages + added sent command messages to log (for easier security monitoring).
    • Several command simplifications on amulecmd to make it easier to use (while maintaining backwards compatibility).
    • Lots of translations lacks

KingFish:

  • Fixed broken compilation in SysTray.cpp with gcc 3.3.4.

Kry:

  • Fixed: Crashes related to animation deletion on http download dialog
  • Fixed: 0-size server.met file crashing aMule on startup and on download.
  • Fixed: GUI blocking on server connection.
  • Fixed: The last (hopefully) "fixed minsize" bug. FileDetail dialog was growing :)
  • Misc code cleaning.
  • Mac:
    • Enabling wxCocoa compilation
    • Fixed: Secure Ident was not working on big endian archs.
    • Fixed: ClientID endianess issues leading to faking low/high id
    • Fixed: Several fields were not having correct size on preferences.
    • Fixed: Curl preform_multi was crashing the http download dialog on Mac. This means server.met update and ipfilter update was crashing. Currently the fix disables 'Cancel' button on that dialog, while we wait for curl lib to fix this issue.

lfroen:

  • Removed debug printf's in timer.cpp.
  • Fix for deadlock on connection timeout in ServerSocket.cpp.
  • Fixed assert when build with wx-cvs.
  • Added option for disabling SIGSEG handling: useful for debuging in amuled.cpp.
  • EMSocket.h cleanup.
  • Fixed unclosed sockets (CLOSE_WAIT) and few stability problems.
  • Make CEMSocket::OnReceive thread safe. MAX_SIZE reduced, cause even theoretically tcp can buffer up to 64K.
  • amuled fixes.

mfs:

  • Fixed crashes on friendlist when keeping keys pressed
  • Fixed one server not being removed when several servers selected
  • Fixed access problems on deleting the ipfilter while accessing it

Phoenix:

  • Fixed '&' char next to Preferences in amuleweb web page, as reported by DreamWalker.
  • ExternalConn: protected GETCATTITLE command from buffer overflow.
  • Start removing unused code from ExternalConn.cpp.
  • Fixed high CPU usage problem in amuleweb, thanks to jaguarwan for the report. Daemonizing amuleweb should be done using the -q switch.

ThePolish:

  • Implemented new hits system in wxCas to display and save download rate records.
  • Changed wxCas layout to try to avoid display bug with wx-cvs
  • Added translations update (Thanks to all translators)
  • Removed wxCas documentation to slim source tree (now downloadable from berlios)

Seagull:

  • Patch adding "Directory" column to the shared-files dialog.
  • Patch to add "Swap to this file" option for sources marked as "Asked For Another File" on download queue.

Unleashed:

  • Better fix for amuleweb's high CPU usage problem. Now main thread only gets woken up when absolutely needed.

Xaignar:

  • Reinsured that the preferences will be saved upon clicking "Ok".
  • Removed SSE2 specific optimizations from the embedded Crypto++ sources, they would break very easily and crash aMule.
  • Fixed a bug where we would sometimes attempt to remove a client from the wrong file, resulting in dangling pointers and crashes.
  • Ensured that the statistics-dialog would be updated when preferences relating to it where changed.
  • Added sanity checks to category-loading, to avoid adding categories without incomming dir or name.
  • Initial fix for crashes if aMule tried to share an inaccessible folder.
  • The redraw problems on restoring from minimized state should be fixed.
  • Fixed the shared-files list, which would draw columns regardless of whenever or not they were hidden.
  • Fixed the progress-bars in the shared-files dialog. It should now work properly for both part and completed files.
  • Fixed a bug in the ipfilter, where non-numeric chars on lines would cause wrong ranges of IPs to be filtered.
  • Re-added the priority menu for servers, which had gone missing due to a mistake.
  • Stopped the client-credits class from attempting to load older versions of the lists, which again would lead to mem-corruption.
  • Fixed hidden columns on download queue, which would still be drawn.
  • Added sanity checks to loading of clients.met file, since corrupted files would lead to potentially huge ammounts of mem-corruption.
  • Added "Completed Sources" column to the shared-files dialog.
  • Fixed a bug in sockets where disconnected sockets wouldn't be removed immediatly, but left to timeout instead.
  • Fixed an end-less loop on the AICH thread if a file on the queue was removed from the list of shared files.
  • Fixed an end-less loop when changing file-status by category.
  • Fixed the auto-priority menu-item on the download list when multiple items where selected. It would un-set auto-priotity instead.
  • A bit of optimization in CPartFile. More work will follow later.
  • Properly initialized a number of variables.
  • Fixed the column-width saving/loading which I managed to break shortly before rc6 was release. Whoops. :p
  • Ampersands will no longer be doubled when lines are added to the log-view.

Special Thanks To:

  • Translators in this release:
    • biger [HUN]: (Hungarian / hu_HU)
    • GhePeU: (Italian / it_IT)
    • mad_soft: (Spanish / es_ES)
    • Ogon: (Polish / pl_PL)
    • piarres: (Basque / es_EU)
    • powtrix/willy: (Brazilian / pt_BR)
    • punkyxd: (Catalan / es_CA)
    • stefanero: (German / de_DE)
    • Supersnail: (Dutch / nl_NL)
  • Testers and bug reporters: angel, BiByFoK, bill_bool, boutros, elui, Gaenya, jolupa, ken_aMule, mad_soft, Mig21, one2one, powtrix, RedDwarf, skolnick, wi777
  • Everyone at:
  • All aMule users!!!

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 ;)