Skip to main content

aMule 2.0.2

· 2 min read

boutros:

  • Ported the eMule Chicane web template to aMule.

GonoszTopi:

  • Fixed #421: 'In Windows XP it lets to choose Konqueror, Galeon and other Unix based browsers.'
  • Fixed #406 and #380: 'some clients get an unexpected very high priority'

ken:

  • Fixed a hang-using-100%-cpu-on-exit bug
  • Fixed a crash when enabling UDP after startup

Kry:

  • Added Version Check (you can disable it on preferences).
  • Added "source comes from" (on the "Time remaining" column)
  • Now you can compile aMule without gettext, using --disable-nls Additionally, aMule no longer stops configure if there is no gettext installed.
  • Fixed aMule shutting down if a source seeds file is 0-size.
  • Fixed HTTP download code not returning proper error code (causing crashes).
  • Fixed OS_Info packet only being sent to downlaoding clients.
  • Fixed Solaris mount info file name.
  • Fixed includes on daemon for Solaris.
  • Fixed mldonkey detection. Did anyone notice mldonkey bans aMule?
  • Fixed SetAllTimeTransfered parameter size (thanks eylzo)
  • Fixed #430: "Sources order by priority/status"
  • Fixed #442: "Sort by 'Time Remaining' puts files which are not transferring first"
  • Fixed #453: "Add option to export links with AICH hashes"
  • Fixed #458: "Wrong gauge size on shared files control "

volpol:

  • Ports display fix.
  • A4AF swap to this fix.

Special Thanks To:

  • Bug reporters: Ateo, BeFalou, MrFaber, xushi
  • All the usual people. You don't know who they are? Just check previous changelogs :P

aMule 2.0.1

· One min read

ken:

  • Fixed Tray Icon compilation on Mac.

Kry:

  • HOTFIX: Fixed 100% CPU usage because of network errors on some servers.
  • Fixed crash after removing a server.
  • Fixed sorting on the UploadList by Transferred (thanks eylzo).
  • Users/Files on server no longer show as negative if server sends wrong values.
  • Check for autopoint on configure to warn for gettext not installed.

niet:

  • Updated xal.pl (some fixes).

Phoenix:

  • Added DNS resolving functionality to amulecmd's connect command. This is usefull for dynamic IP servers. Now you can use the server's name instead of the server's IP address.
  • Fixed a bug in http proxy authentication code.

Special Thanks To:

  • Contributors: eylzo
  • Bug and feature reporters: albatros_la, Lucky_JL, Mr Faber
  • All the usual people (translators, debugers, people at #amule, etc) C'mon, this is a hotfix release, I can't add everyone again.

aMule 2.0.0

· 31 min read

Release name: The 'Let's dedicate this to Tiku' version

BigBob:

  • Compilation fix for WebServer.cpp and BaseClient.cpp with wx-2.4.2.
  • Compilation fix for OtherFunctions.cpp with Slackware 9.1.0

CosmicDJ:

  • NetBSD compilation fixes.

deltaHF:

  • Preferences for auto-sort download queue.
  • TCP and UDP port start now at 0 (remember - running amule as root is insecure!!)
  • Added aMule version info into "About" popup.
  • Show current DL speed from a client you are uploading to in "Remote Status" column instead of in the "Speed" column.

geeko:

  • Patch to complete html functionality of cas.
  • Fixed seg fault in cvs due to wrong type check.

gnucco:

  • Improved the sources column and sorting in search window. Now can toggle total sources/completed ascending/descending.

GonoszTopi:

  • Unicode fixes:
    • UTF-8 conversion (reported by littletux)
    • webserver search results (reported by poulpe)
    • aMule version on webserver's Statistics page
  • Endianness fixes in EC.
  • Fixed appearing strange characters at the end of webserver's log and debug log pages.
  • Fixed logo.jpg being not installed.
  • Webserver graphs are now resizable and rescalable.
  • Removed some unneeded code/data from daemon.
  • Added gcc #pragmas to reduce executable size.
  • Several improvements on EC network code:
    • EC now uses buffered I/O, so most EC transmissions will only require one socket operation.
    • Added the ability to compress large packets with zlib, thus reducing network load.
    • Some (not-so-CPU-consuming) compression is applied to small packets, too.
  • A number of i18n fixes, mostly changing debug messages to be untranslated.
  • Removed ECv1 compatibility mode. Now all EC communications are using the new v2 protocol.
  • Remote applications do not log to core's log anymore.
  • Fixed the GetLog() function to be compatible with wxWidgets-2.5.4
  • Reworked template finding - after installation, no more copying of webserver files are needed.
  • Added new command 'reloadshared' to amulecmd, to force reloading of shared files list.
  • Fixed configure script to use the right arguments with gdlib-config.
  • Fixed configure script to check for gd in the right order.
  • Fixed preferences being not saved when set from web interface.
  • Fix for setting download priorities via web interface.
  • Added configuration file for remote apps.
  • Reworked command-line parameters, also added a lot new ones (for remote apps).
  • Fixed *.desktop files to be really UTF-8.
  • Fixed Makefiles to be able to compile alcc without alc.
  • Added man pages - English only, for this time. Great thanks to Vollstrecker for his initial work on the man pages!
  • Fixed pressing the 'Clear Completed' button causes a logout on the web interface.
  • Added CVSDATE checks to EC, to make sure that core and remote apps are from the CVS tarball (for CVS users).
  • Improved filename cleanup.
  • Fixed setting priorities via web interface on both downloads and shared files.
  • Enabled translations on amuleweb and amulecmd.
  • Fixed the language selector on Preferences to show the languages that we really have.
  • Language list is now always sorted alphabetically, but 'System default' is always the first item in the list.
  • Changed locale saving method, so it won't have to be reset to 'System default' on each version change.
  • Added Hungarian man pages.
  • Fixed sorting in web interface.
  • Compilation fix for gcc-3.2.2 and 3.2.3.
  • Win32 (wxMSW) compilation fixes.
  • Enabling configure way of aMule compilation under MinGW/MSYS.
  • Several improvements of the win32 version of aMule and utilities.
  • Totally disabled the ability to connect to aMule with an empty password.
  • Enabling translations on remote GUI, too.
  • Configure will now list (almost) all libraries it will/wants to use for build.
  • Hungarian translation update.
  • Remote GUI compilation and link fixes for optimized builds.

--- For users, who already got used to amulecmd's or amuleweb's command-line parameters: PLEASE READ DOCUMENTATION CAREFULLY!

Hetfield:

  • New popup menu and events management for new wx SysTray
  • Speed Bar color (on the new wxTray) is setted in the statistics color selection (as old GTK tray!)
  • Some configure checks and cleanup

Kry:

  • Global

    • We're now fully compatible with the ed2k Unicode implementation, allowing Unicode searches, comments, usernames, file names, ... This works both for unicode-aware servers and clients.
    • New SysTray code using wxWidgets' wxTaskBarIcon with several hacks for making it properly transparent while keeping the nice download speed bar. Multiplatform, also. Activated by default on > wx2.5.3
    • Corrected a nice mistake where wxSOCKET_LOST was identified as error.
    • Fixed clasic systray code to support unicode names properly.
    • Removed/Cleaned/etc header includes.
    • Fixed unicode bug on wxOpen preventing to share some files.
    • Fixed the SERVER_IDENT packet processing.
    • Auto-sort code for list controls. Disabled by default, too much flickering on mac and gtk2.
    • Fixed eMule+ version popping up on eMule stats.
    • Debug log lines now go to console on daemon
    • Moved hello packet sending to after client successful connection.
    • Added the RepeatLastAction function that turned up to be... well, funky.
    • Fixed debug of disconnected clients.
    • Fixed duplicated mod string on clients.
    • Fixed unhandled exception from server TCP socket.
    • Fixed lowid clients callback.
    • Fixed duplicated floating point functions being called every second (CPU improvement).
    • New file is added: tree.hh, credits to Kasper Peeters, K.Peeters@damtp.cam.ac.uk. It's a stl-like tree and I really enjoyed coding with it. More info on http://www.damtp.cam.ac.uk/user/kp229/tree/
    • Fixed a crash on Proxy code created by bad string initialization causing mem corruption.
    • Added wxProxyData::Empty() to properly clean aMule proxy data when needed.
    • Fixed unitialized variables on MemFile.cpp and SafeFile.cpp that made valgrind scream in pain.
    • Fixed the CUpDownClient::SendFileRequest crash you were all screaming about on rc8 :P
    • Fixed SUI failures with kernels >= 2.6.10. This failures and asserts were created by the locking of /dev/urandom that was introduced on 2.6.10, and that made CryptoPP fail on creating a random pool for the SUI identification. This is more a workaround actually than a fix, but will work perfectly.
    • Completed files now go to shared as the should.
    • Fixed search on localised languages.
    • UDP disable is working properly now.
    • Close the UDP socket if we're not listening anymore.
    • Permisions for shared files are no more. They make no sense, network-wise.
    • Fixed comment updates being... fuzzy.
    • Fixes to timeout handling of sources to avoid timing out a source that was never processed.
    • Fixed a memleak on log code.
    • Proper handling of Thread reating/Running errors.
    • Fixes for wrong string creation on several places over the code.
    • Fixed log reset asserts and made it work properly (at last!)
    • Auto-run webserver on startup functional
    • Fixed a wild assertion if a empty line gets to ED2KLink file
    • Merged Gonosztopi's work on EC for the stats tree with performance and safety fixes.
    • Merged Gonosztopi's work on a patch from Mayfoev to use aux server ports, with some cleaning.
    • Fixed the crash on non-std locales because of date/time functions.
    • Get rid of more ugly unicode2char stuff by making the logfile a wxFFileOutputStream.
    • General speedup of log file.
    • Proper order of files on Makefile.am, much better to know compilation progress by first letter.
    • Moved at last all stats to where they belong: the new files Statistics.cpp and Statistics.h.
    • Fixed assert on client list view caused by unknown client state.
    • Hopefully avoid the never-deleted sockets (passive sources)
    • Fix for the case that someone dares having 65536 active connections
    • Made the sources connection spread evenly among part files.
    • Fixed server-list packet from server not being handled properly.
    • Fixed crahes on re-sort of download queue.
    • Fix for server connection packet not using unicode username.
    • Search results on unicode are displayed properly now.
    • Files on download queue with unicode names are displayed properly now.
    • Unicoded filename is saved correctly on .met file, and loaded according to it.
    • Files with utf8 chars can be completed now ;)
    • Shared files with uciode names do show correctly now.
    • Modification time for files is fixed to keep coherence (GetLastModificationTime usage).
    • Filenames on known files list (known.met) are saved in utf8 too now, so correctly loaded and compared lately.
    • Fixed unicode identification to clients and server.
    • Use BOM header on the known.met, part.met and emfriends.met for unicode tags. Sad, but there's no other way to keep compatibility with eMule files.
    • Fixed memleak on ExternalConn.cpp.
    • Fixed the "Invalid UTF8 string passed to pango_layout_set_text()" messages on GTK2 builds.
    • Fixed (again) the Shareazza identification. They have used 3 compat. client numbers already, will they take one once and for all?
    • Fixed memleak on log reset.
    • Fixed memleaks on closing while global search.
    • Fixed serious memleak on tag code for packets. And I mean serious.
    • Removed the unused UTF82char function.
    • Fixed queue limits on upload queue (off-by-one bug).
    • Fixed hash for files with size (n*PARTSIZE).
    • Fixed compilation for systems where zlib is not linked by default.
    • Fixed OP_SENDINGPART to actually be a edonkey protocol and not emule protocol packet.
    • Fixed memleak on AICH thread.
    • Fixed several memleaks on ed2k links handling.
    • Fixed threads not being closed properly, specially the global search one.
    • Fixed serious memleak on client UDP reask
    • Don't remove the server because of failedcount if it's static.
    • When the user tries to remove a static server, we prompt for confirmation.
    • Files on non-ansi named folders are no longer rehashed on every restart.
    • Don't discard UDP packets on wxSOCKET_WOULDBLOCK. This improves UDP socket reliability a lot. Remove the packet from queue if sent, keep it if it's not sent because of wouldblock, and drop it on any other error.
    • Send previously queued UDP packets before we send a new UDP packet.
    • Fixed aMule crashing on second global search under certain circunstances.
    • Fixed the hanging on connecting to server.
    • Fixed dynip servers to connect properly (happy portuguese users!).
    • Moved:
      • CMemFile.h -> MemFile.h
      • filemem.cpp -> MemFile.cpp
      • packets.cpp -> Packet.cpp
      • packets.h -> Packet.h
      • sockets.cpp -> ServerConnect.cpp
      • sockets.h -> ServerConnect.h
      • UDPSocket.cpp -> ServerUDPSocket.cpp
      • UDPSocket.h -> ServerUDPSocket.h
      • types.h -> Types.h
      • server.cpp -> Server.cpp
      • server.h -> Server.h
      • timer.cpp -> Timer.cpp
      • otherstructs.h -> OtherStructs.h
      • otherfunctions.h -> OtherFunctions.h
      • otherfunctions.cpp -> OtherFunctions.cpp
      • opcodes.h -> OPCodes.h
      • color.h -> Color.h
      • endianfix.h -> EndianFix.h
    • Changed OP_GLOBFOUNDSORUCES -> OP_GLOBFOUNDSOURCES
    • Unicode fixes for "Gtk-CRITICAL **" errors on shell.
    • Unicode fixes preventing compilation for Packet sources.
    • Unicode fixes for StrToULong usage over atoi.
    • Fixed eMule+ version string.
    • Implemented lugdunums new extension of GETSOURCES, includes SIZE (uint32) to avoid problems created by anti-p2p companies
    • Removed MetaTags extraction code, we're not going to use it anyway.
    • Fixing some crashes on wrong string handling.
    • Support for unicoded comments for files.
    • Moved Online Signature (aMule and eMule) to wxTextFile for proper handling.
    • Fixes a serious issue on UDP packets (and contributed to eMule).
    • Debug output of server sources added.
    • Fix for garbage saving on file copy.
    • Fixed the server disconnection due to bad handling of TCP packets.
    • Added a fallback for wrong TCP packets handling to avoid server disconnect.
    • Proper memory overruns checks on SafeFiles.
    • Fixed the partfiles being the only thing shared under certain circunstances.
    • Fixed bug #193: False display with empty share list
    • Fixed bug #258: "Max port-value allowed is too high due to secondary port"
    • Fixed bug #276: aMule crached when tried to start. (It says "crached on the original report)
    • Fixed bug #299: "Assertion when clicking in DQ/Last Reception column"
    • Fixed bug #303: "Too many files republished by your client software. Please upgrade it." Proper handling of incremental file publishing avoids server bans ;)
    • Fixed bug #317: Added GUI and functionality for 'Start next file on same category'.
    • Fixed bug #319: When sort is changed, make sure the item focused is again focused.
    • Fixed bug #321: Razoback2 stats page for shared files.
    • Fixed bug #331: 'ED2k link bar gone after 2x click on search button' making it a feature instead of a bug. Now you can toogle the ed2k link handler clicking on search toolbar button.
    • Fixed bug #334: Main category type not stored on crash.
    • Fixed bug #345: [Mac] popup windows open on other monitor.
    • Fixed bug #348: "Right-click on friend in friends list does not select it"
    • Fixed bug #362: "receive file list fails for non-ascii chars"
    • Fixed bug #349: "sorting of sources in 'Downloads' window"
    • Fixed bug #375: "Misc GUI bugs in Statistics window"
    • Fixed bug #374: "misc. problems with friends"
    • Fixed bug #405: "Downloaded files have wrong priority"
    • Fixed serious bug with 0-sized files.
    • Fixing serveral threading issues and possible crashes/missbehaviours on search.
    • Searchs now start inmediately and also finish sooner.
    • Added a warning if no video player is set on preferences and tried to preview.
    • Decoupled NetworkFunctions and StringFunctions headers.
    • Added QueueDebugLogLine for... uh... queueing debug lines.
    • Encapsulating network stuff at NetworkFunctions.
    • Removed all network platform specific code from the main code, and leave it to NetworkFunctions (and gsocket). And I removed the htons and htonl everywhere.
    • Fix for egcs compiler crashing on aMule compilation.
    • Changed the CTags structure to a safer and nicer version, compatible with eMule's.
    • Added support for a lot more ed2k Tags.
    • Support for download stats per client.
    • Added the hability to rename a file using F2
    • Fixed crash on sorting an old tab.
    • Improved socket debug, and moved the backtracing function to OtherFunctions.
    • Fixes dynip servers not being detected by server UDP socket.
    • Fixed a lot, lot of input data lost on EMSocket, causing much better transfers.
    • Fixed corrupted parts info store/retrieve on partfiles with eMule compatibility.
    • Fixed ed2k protocol file type publishing.
    • Fixed a lot of network performance issues and lost packets all over the TCP/UDP code.
    • Fixed download bar on tray icon (Icon file has now red background to create a mask from it).
    • Fixed crashes on Logger class derived from bad unicode2char usage.
    • Added "Prefix where amule will be installed" to configure output.
    • FileDetailDialog is now resizable, and file names list ctrl resizes vertically and horizontally with it.
    • No horizontal scrollbar on log, let lines wrap to avoid auto-scrool on long lines.
    • Gnucco's alternate sorting of search list ctrl See http://forum.amule.org/thread.php?threadid=5344&sid= for details.
    • Big rework of the Friends class, list, and everything.
    • Cached the Operating System info and added to --version flag.
    • Added Online Signature update time functionality and widget disabling on OS disable.
    • Slightly bigger list for the preferences items to fit them all
    • Added a static text for recursive sharing via right-click to avoid questions.
    • Systray can now be enabled/disabled on preferences, dynamically, and is applied as soon as the checkbox is checked. Default is DISABLED. Also, the minimize to tray checkbox is disabled when systray is not enabled, and when using the new systray code (the wx tray), we don't have the Window Manager dialog anymore.
    • Check for Online Signature folder existance when enabled.
    • Fixed a lot of unicode bugs on file handling by adding fallbacks to proper encoding.
    • Set minimize to tray to false if no tray enabled.
    • Fixed a crash... on... assert... hum... that one was actually funny.
    • We should not start next file on cancelling a download. Now we do not ;)
    • Stopping a global search works properly now, the thread for global search is deleted on stop.
    • Zero the Online Signature on exit.
    • Fixed a crash on exit while stillstarting up.
    • Fixed aMule nto starting anymore if skin file name is void and skins are enabled.
    • Proper use of wxWidgets functions for ISO date formatting.
    • Never show the download list filter on search category selector.
    • Lots of fixes for wx2.6.0 compilation, wxSizer, and other changes.
    • Fixed the download limits not being applied correctly. this should amke MUCH BETTER download speed for people with download limits set.
    • Fixed sockets not being closed on daemon.
    • Fixed chmod message on Incoming/temp folder on smbfs.
    • More info on the init. text and on backtraces (Operative Sytem, kernel version, etc).
    • Fixed crash caused by random value returned on DeletePage().
    • Fixed Reload Shared Files not re-reading sharedfiles.dat
    • Fixes the hangups on exit, specially on Mac.
    • Fixed the AUTHORS file.
    • Fixed UDP socket bug on size of OP_REASKFILEPING message.
    • Abort loading of shared files if we are shutting down.
    • Fixed crash caused by socket die on ConnectionEstablished function.
    • Added contact info to documentation and about button.
    • Fixed (again) mplayer usage as video previewer.
    • Fixed a network bug on SetStartNextFileSame not being set.
    • Proper usage of wxProcess::Exists( for webserver running on start check.
    • Cleaned configure/Makefile from a lot of bad usage of flags and libs. This makes for a smaller executable now also.
    • Merged Martimac's fix for FreeBSD 5.4-PRERELEASE
    • Fixed friendslot assignation, about 12 times.
    • Fixed logging of not-yet-sent messages by adding it to queue and send on connect.
    • Fixed message sending to unknown clients.
    • Avoid the posibility of a Too Many Connections blocking a chat.
    • Fixed buttons/textentry not enabled on new chat tab.
    • Fixed tabs' 'X' not working properly when there are too many and don't fit on screen. Use new wx code instead of Madcat's code on wx2.5.4 and above, for the 'X' closing.
    • Multiple selecting ed2k links and clicking on copy ed2k works now for search items.
    • Fixes the multiple removal of friends
    • Fixed multiple message send to friends.
    • Fixed multiple filelist requests
    • Fixed multiple friend details dialog show.
    • Adds a warning for trying to set multiple friendslot.
    • Fixed Incoming folder content not being sent on shared files request.
    • Fixed completing of file setting transfered instead of completed to file size.
    • Fixed --with-crypto-prefix flag not pointing to actual crypto folder.
    • Added memleak check on exit using wxWidgets native fucntions, enable via wx qa lib.
    • Rewrote wxSizer handling on Stats page and making more space available.
    • There is no curl anymore needed/used on aMule. Coded my own handling using wxHTTP.
    • Added partial/total bytes to the http download dialog.
    • Fixed sizers usage on Client Details, fixes overlapping labels and such stuff.
    • Fixed client stats not updating on clientnumber going down to zero.
    • Fixed "total transfered datal isn't saved on crash/kill" bug.
    • Fixed flushing of files on copy with read-only flag set.
    • Added "total downloaded"/"total upload"/"total requests"/ "total accepts" to partfile saving.
    • Fixed rehashing of unicoded file names on aMule restart.
    • Fixed aLinkCreator compilation for wx2.6.0
    • Fixed upload speed not being reset when all clients lost and keeping old value.
    • Fixed port output on console showing negative numbers.
    • Lot of Kad porting (NOT functional yet).
    • Fixed (c) strings all over the code with proper year specifications.
    • Fixed unicode2char usage to a bare minimum.
    • Moving from libc usage to wxWidgets multiplatform implementations.
    • Killed c_str() usage from aMule, except on very specific ways and only for speed reasons.
    • General cleanups and speedups here and there.
  • CPU arch Specific

    • 64 bits archs fix for AICH thread.
    • Some amd64 compilation warning removal.
    • Fixed endianess bug on PeekUInt16
    • Fixed client IP endianess on big endian archs.
    • Getting ENDIAN_SWAP_* to a bare minimum (just interface)
    • Fixes endianess of local_ip, which is anyway almost all times 0.
  • Core/GUI Specific

    • Fixed daemon unhability to handle sources properly. Daemon now takes, handles, and processes sources in a proper way (making it at last a real competitor for monolithic).
    • Don't show geometry option for daemon, makes no sense.
    • Properly display "aMule Daemon" instead of "aMule" on daemon.
    • Fixed statistics tree interdependence with GUI, splitting it to core/gui way. In short, we have statistics tree on webserver, amulecmd and remote GUI :)
    • Graphic statistics are now decoupled from GUI. We have statistics graphics on webserver remote GUI.
    • Decoupled Friend list from GUI.
    • Fixed a bug on set comment on a file on ECv2.
    • Fix for log on unicoded webserver.
    • Fix for global daemon thread not closed on exit.
    • Splitting of core/gui on SearchDlg.
    • Fixed a crash on websocket thread creation.
    • Reactivating Chat windows on remote GUI.
    • Proper fix for the segfault on exit caused by EC.
    • Removal of CryptoPP usage on amulegui.
    • Fixed a possible crash on daemon startup.
  • BSD Specific

    • Fixed BSD compilation for <sys/types.h> inclusion.
    • Fixed FreeBSD 4 prerelease (DragonFly) compilation on gtkplugxembed.c
  • Solaris Specific

    • Fixed Solaris compilation and linking.
    • Fixed need for inet_addr on webserver on Solaris.
  • Mac Specific

    • Fixed Mac friends handling.
    • Proper importing of files for Mac.
    • Proper reading for amuleweb config on Mac.
    • Made default Incoming folder for Mac to "~/Documents/aMule Downloads"
  • Windows Specific

    • Fixed a lot of compilation problems.
    • Use proper wxLog class to avoid popups on Windows.
    • Remove the usage of chmod on Windows.
    • Fixed the systray background on Windows.
    • Fixed systray menu on Windows for proper layout.
    • Fixed DirectoryTreeCtrl on Windows to show all disk drives and folders.

Ken:

  • Fixed Mac bug: window was a little larger each restart
  • Fixed aMule.tmpl so Safari can work with amuleweb
  • On Mac, enabled Command-clicking in lists to toggle selection
  • Solved the DECLARE_ABSTRACT_CLASS() mystery on wx-2.4.2. Now we can have UDP socks5 with wx-2.4.2.
  • Included CVSDATE with version in amulesig.dat
  • Fixed an endianness bug with webserver
  • Fixed last (I hope!) endianness bug with IPFilter
  • Fixed a major endianness bug with widespread effects. On Mac, servers don't fail continuously until eventually removed from the list; server pings work. Global search seems to work better. DNS lookup of servers and ED2K link sources should now work.
  • Enabled support for ed2k links in web browsers for Mac (although idiosyncracies of common browsers prevent it from being as transparent as one would like).

lfroen:

  • aMule remote gui implementation
  • Support for categories in webserver
  • EC additions
  • RLE encoder for shared files

martymac:

  • Fix for FreeBSD 5.4-PRERELEASE

ObsessionAl:

  • Patch to include CVS date in about box.

Phoenix:

  • Fixed crash in CClientReqSocket::ProcessExtPacket() processing of OP_COMPRESSEDPART.
  • More UNICODE fixes.
  • Fixed WX_SYSTRAY compilation on wx-2.4.2.
  • More proxy updates, we are getting there.
  • Small UI bug: double click on a server did not change the "Connect" button to "Cancel".
  • Changed some deprecated IsKindOf(CLASSINFO()) to wxDynamicCast().
  • Fixed crash in CUpDownClient::SendFileRequest(), short circuit evaluation was reversed.
  • Created Proxy dialog on preferences.
  • Updated muuli.wdr for wxDesigner version 2.11 -- no more manual patching for wxFIXED_MINSIZE required.
  • Fix for rommel's report of IP filter problem.
  • No more IsKindOf(), all replaced by dynamic_cast<>().
  • No more wxDynamicCast(), all replaced by dynamic_cast<>().
  • Fixed multiple instances of event handlers in CClientReqSocketHandler and CServerSocketHandler.
  • In StateMachine.cpp, m_state is now private and state machine code is now thread safe.
  • Added base64 encoding/decoding support to aMule.
  • SOCKS5 and SOCKS4 proxy support is working now.
  • HTTP proxy support is working now.
  • Changed the output of the "Oops" to give better instructions to the user.
  • Fixed a bug in proxy code that was making gui too slow. Code was performing unnecessary DNS.
  • Applied patch from volpol to fix use of deprecated functions in wxGTK-2.5.3.
  • Applied patch from geeko to complete html functionality of cas.
  • Fixed a big bug in proxy code. Sockets were not continuing conversation after connecting to sources.
  • Fixed a crash due to an unicode issue while logging.
  • Show some activity upon destruction of the DownloadQueue.
  • Preparing the field to bind to a fixed interface.
  • Sanity checks on socket creation.
  • Fixed the backtrace message.
  • Added a static text to Preferences->Connection->Client TCP port to show the value of the client UDP port.
  • Fixed a crash on webserver, all return values of SendRecvMsg_v2 must be checked for NULL return value.
  • Fixed an uncountable number of potential segfaults on amuleweb because almost no return value of GetTagByIndex and GetTagByName were beeing checked for NULL.
  • Fixed the following bug in the search dialog window: if you typed a letter by mistake or if you use the down arrow from 1 to 0, both actions on a wxSpinCtrl, aMule would crash.
  • Fixed the GetTagByIndex and GetTagByName segfaults in amulecmd.
  • Fixed a problem with saving the preferences, that in some situations would not be saved.
  • Fixed an assert when loading skins, the count number was one unit too high.
  • Fixed amuleweb template processing, Clear Completed button on transfer link was not showing.
  • Fixed amuleweb template processing, Reload List button was not beeing translated.
  • Small adjusts to ObsessionAl patch to include CVS date in about box.
  • Fixed a bug in UTF82unicode(), reported by Mr Faber.
  • Got rid of sscanf in NetworkFunctions.h. This has caused a crash once, reported by Mr Faber.
  • Fixed a lock with high CPU usage when crashing in amuled, because wxExecute() could be called from the FatalErrorHandler() not from the main thread, which is currently prohibited in wxWidgets.
  • Fixed preview with mplayer or any other app that needs stdout/stderr.
  • Fixed lots of segfaults in amuleweb, thanks to alandar and Mr Faber.
  • Updated proxy debug code to use new logger.
  • Fixed a subtle bug in UINICODE builds. Now UTF-8 enabled UNICODE builds can read extended ANSI file names. In particular, UTF-8 UNICODE aMule build was not remembering an extended ANSI directory name for a shared directory.
  • Added a spec file to the CVS tarball. Now users can do rpmbuild -ta aMule-CVS-20050309.tar.bz2 and generate rpms for the tarball of the same day.
  • Fixed a bug in the spec file. The testing was beeing done with files from amule-dev-cvs, but CVS snapshots tarballs are done in amule-cvs directory.
  • Implemented changes suggested by bootstrap in aMule-CVS.spec, merged all the packages in a single rpm, changed the packager to "The aMule Team" and updated %BuildPreReq.
  • Fixed a crash in ListenSocket.cpp when a client could disconnect suddenly.
  • Spec file does not need autogen.sh, as noticed by GonoszTopi.
  • Removed krb5-libs require and krb5-devel buildprereq. curl-lib and curl-devel is enough.
  • Fixed an assertion in CFile.cpp, when browsing broken symbolic links. Now aMule is aware of them.
  • Added a test to the spec file to discover UTF-8 enbled LANG, so that we build the rpm with --enable-utf8-systray.
  • Removed curl dependencies from spec file, aMule now uses wxHTTP.

Stefanero:

  • Work on the Man-Pages
  • Minor compile fixes
  • Lots of support and testing

stsp:

  • Compilation fix for STL enabled wxWidgets.

volpol:

  • Patch to fix use of deprecated functions in wxGTK-2.5.3.

Vollstrecker:

  • Initial and further work on aMule and utils' man pages.

Xaignar:

  • Improved logging for CFile, getting rid of the annoying pop-up windows which were previously displayed.
  • Workaround for fonts getting changed on the log-view when the clear-button was pressed (wxMac specific).
  • Work on getting aMule ready for win32, including fixing the custom-drawing for listctrls.
  • Fixed threading issues with the UDP-sockets in daemon- mode, which were the cause of a number of crashes.
  • Made the preferences dialog modal to fix problems where it would be displayed at bad locations.
  • Ensured that the Banned-Count would be initialized to zero rather than display a random value until it gets properly set (not yet implemented).
  • Improved the "aMule has crashed" message, adding some more information and fixed the backtrace to skip unneeded frames properly.
  • Fixed some static text-ctrls not properly expanding, so that some text would be cut off the end.
  • Fixed some position bugs in the progress-bar drawing and addeed a black border. A4AF sources now displays that text instead of an empty area.
  • Moved the placement of the "Initializing aMule" message on startup so that --version will only result in the version information and ensured that amule wont start in case an invalid commands was given, instead printing the help info.
  • Fixed problems with selection on the clients-list.
  • Improved usage of compressed packets. Now only files that are not in the list of known archive-formats are compressed, rather than just Zip, Rar and Ace.
  • Improved error-handling when opening ports. If either the EC or Server-UDP ports conflict with the other ports, then a random safe value is selected in the range 1025 ... 2^16-1.
  • Fixed shared files being located twice during startup, which also resulted in the AICH thread being run twice.
  • Fixed logging to stdout containing extra newlines.
  • Cleaned up and merged a number of split translated strings, which should make it easier for translaters to work.
  • Fixed some status changes not resulting in removal from or addition to filtered download categories.
  • Improved handling of multi-line log events on the main dialog.
  • Reduced the ammount of output to the console, changing printfs to either normal or debug log events.
  • Escape-codes in ED2k links are now properly unescaped.
  • Cleaned up and improved the readability of the clients-details dialog.
  • Updated the modified listctrl widget used by aMule, so that wxWidgets 2.4.x and 2.5.x will use a modified version from that branch rather than a more generic hacked version. For one thing, the headers are now drawn using the current GTK theme.
  • Properly handle rehashing of empty part-files.
  • Changed the "Filter Bad IPs" option to "Filter LAN IPs". Invalid IPs will always be filtered, but LAN IPs will now only be filtered if the option is enabled.
  • Added back-traces to asserts, in order to help debugging efforts.
  • Made usage of wxASSERT thread-safe.
  • Attempted to fix some longstanding problems with the notebooks.
  • Removed unused files: Preview.h and Preview.cpp
  • Updated, cleaned and unified license-headers for all aMule related source files.
  • Improved the error-message displayed when a server couldn't be added, so that it is clear as to why it couldn't be added.
  • Avoid flooding the console when searching for filetypes, mismatches are now logged as debugloglines instead.
  • The "Clear" button on the search page now also clears the search text.
  • Better handling of multi-line chat messages: The complete message will be split by linebreaks and each line timestamped.
  • Fixed entries for connected servers in server-list not being completly reverted to normal after disconnection.
  • Added handling of SIGINT and SIGTERM for gracefull shutdowns.
  • Renamed the config file from ~/.eMule to ~/.aMule/amule.conf. The old file will not be removed, in order to allow backwards compatibility.
  • aMule now automatically removes unavailable files from the list of shared files.
  • Fixed right-clicking not selecting the tab being clicked on.
  • Fixed casts to pointers of higher alignment where it could cause allignment crashes on SPARC, created general function for doing this safely both SPARC and non-SPARC machinces.
  • Added a typesafe replacement for printf, designed with inspiration from the format class in the boost library.
  • Improved logging capabilities. It is now possible to enable/ disable debugging output by category. All existing debug calls where changed to support this. This can be controlled in the preference dialog.
  • Fixed some problems with the connect dialog for remote gui.
  • Some pass-by-value fixes.
  • Moving de-initialization code from the CamuleApp destructor to OnExit. This insures that the app-object would be valid while the shutdown is in progress.
  • Moved deinialization code from OnRun in amuled to OnExit in order to ensure that it was also run on premature exits.
  • Made safe connection-rate calculations the default behavior, which should help avoid too fast connections.
  • Add class for keeping track of unusable sources, based on the same class in eMule. This should reduce the ammounts of connections made since bad sources are not re-asked too often.
  • Fixed servers with IP 0.0.0.0 being added to serverlist.
  • Fix to IP-range parser in CIPFilter. Incorrect range in the form "a.b.c.d-e.f.g." would not be caught.
  • Misc cleanups in CServerList.
  • Fixed creation of online-sig files.
  • Made DownloadQueue and ServerList observables.
  • Added a Observer/Observable implementation. This was needed to implement a queue that would be kept in sync with another queue thus allowing thread-safe delayed iteration over a list.
  • Fixed crash in search-list, where the search-packet would be deleted twice.
  • Removed the usage of "ED2KServers" file, as the download-queue now takes care of handling all types of ed2k-links.
  • Rewrote 'ed2k' utility in c++ and fixed support for extra information appended to ed2k links.
  • Merged IP-check functions and moved it to NetworkFunctions.*.
  • Fixed usage of uninitialized variables in CPartFile constructor.
  • Removing unsused functions from CServerList.
  • Removed unused CArray.h file.
  • Fixed pontial wrong tag-count in server.met writing, which would result in a corrupt file.
  • Disabled connection-try code, due to inherent problems with it.
  • Reworked the CDownloadQueue class.
  • Fixed creation of ED2K links for servers.
  • Removed the need for seperate AICH hashings of completing files. Instead both AICH hashsets and MD4 hashes are created during completion, and the AICH is simply discarded if corruptions are found. This however is rare, and thus doing both at the same time results in less time spent hashing.
  • Improved upon the "requested file not found" log-message, which would happen when a client requested the hashset for an unknown file.
  • Reworked the checks for free disk-space, should behave much more consistantly now.
  • Fixed files being hashed twice, once when completed and again after aMule had been restarted.
  • Make use of native GTK2 popup menu for text-ctrls when possible.
  • Disabled aMule on systems where wxGTK is older than version 2.5.1 and is compiled against GTK2. The big honking warning in the log proved to be useless, but this should work ...
  • Added helper-function to of.h for removing values from a stl-list.
  • Fixed usage of windows font-type "Arial" in statistics-dialog.
  • Fixed logging of filtered IPs. Only 2 of four cases were logged.
  • Disallow External Connections if no valid password has been set.
  • Fixed both sources and files getting shown for the file-count in the transfer dialog.
  • Added date to version-information for CVS snapshots.
  • Reworked CBarShader, making it use the CRangeMap class and getting rid of needless floating-point math. This fixes some problems where large chunks would be drawn as complete, even though only a small part of the file was complete.
  • Fixed downloads being assigned to the default category despite the extended options being disabled in search dialog.
  • Moved overhead calculations to the CStatistics class.
  • Removed enabling/disabling of the clear-downloads buttons. The checks touched far too much code without adding much.
  • Moved StripInvalidFilenameChars from CamuleApp to StringFunctions and renamed it to CleanupFilename.
  • Fixed pending file-blocks not being properly removed when client-objects were destroyed, resulting in parts of files that could not be downloaded until aMule had been restarted.
  • Fixed re-filtering of sources when IP-filter level had been changed in the preferences.
  • Reworked CIPFilter class:
    • Huge improvements in loading-speeds (~6x).
    • Added support for loading zipped files.
    • Switched to using the CRangeMap class.
  • Added CRangeMap class, which is a map with two keys, an start and an end key, with a single value attached. This was previously duplicated serveral places.
  • Fixed problems with deleting multiple items on serverlist.
  • Misc code-cleanups.
  • Added the ability to delete servers using the delete-key.
  • Fixed sorting by the "Transfered down" field on client-list.
  • Added ruby-script for detecting common issues.
  • More work on properly marking getter function const.
  • Reworked the CDownloadListCtrl class.
  • Added overloaded versions of CmpAny functions for strings.
  • Reduced memory usage of IP-ranges in CIPfiler by removing redundant information.
  • Fixed extremly non-optimal function in CDownloadQueue which was used many places. Could locate item in vector through counting of iterator increments.
  • Fixed pre-shutdown message to something more closely reflecting the actual events taking place.
  • Collected common "Data To Human-Readable" functions in file-set.
  • Reworked the ED2K-link classes.
  • Reworked handling of ED2K links, making behavior consistant everywhere and fixing support for |serverlist| URLs.
  • Changed time-span of overhead calculations from 5s to 15s.
  • Removed redundant message displayed when files were added to a a non-connected mule.
  • Added missing Add-Overhead calls for various packets.
  • Fixed a mem-leak in CFileDataIO::WriteString.
  • Fixed compilation of Proxy with wxGTK-2.4.2.
  • Changed default configure options. Now only 'amule' and 'ed2k' are compiled by default, since other apps require extra dependancies.

xmb:

  • id2ip awk script (with Jacobo221)

Special Thanks To:

  • Translators: Very, very special thanks to all of them, since they translated the whole app in just one week!
    • Ateo: (US english / en_US)
    • Ateo: (Spanish / es_ES)
    • gaspojo: (Portuguese / pt_PT)
    • guest: (German / de_DE)
    • GhePeU: (Italian / it_IT)
    • Gusar: (Slovenian / sl_SL)
    • ilbuio: (Italian / it_IT)
    • KamiKazeNH: (Brazilian / pt_BR)
    • nbfnw: (Chinese / zh_CN)
    • Ogon: (Polish / po_PO)
    • piarres: (Basque / es_EU)
    • shafff: (Russian / ru_RU)
    • supersnail (Dutch / nl_NL)
    • thedude0001: (German / de_DE)
    • toshi: (Russian / ru_RU)
  • Contributors: hanzo, markb, Mayfoev, monkeyboy, ObsessionAl, rommel, S0undt3ch, stsp, Vollstrecker, volpop
  • Bug and feature reporters: alandar, Angel, BigBob, feralertx, Frankk, Mr Faber, OldFrog, RedDwarf, skolnick, thedude0001, Valery
  • eMule developers for their support, friendship, and collaboration.
  • MindForge & Freenode irc admins
  • People at #wxwidgets on freenode.
  • Everyone at:
  • All aMule users!!!

Welcome our new aMule team members: blerfont, m2kio, skolnick, thedude0001 & thorero

aMule 2.0.0-rc8

· 10 min read

Release name: The 'last rc' version

Baz:

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

deltaHF:

  • Show comments for shared files

Hetfield:

  • Some fix in new Tray system and desktopMode bypass

Jacobo221:

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

ken_aMule:

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

Kry:

===============::MULTIPLATFORM::===============

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

==================::MAC::===================

  • Fixed server connection crashes related to accepting a connection from a being destroyed socket. Probably fixes also some random BSD/Linux crashes on conection.
  • Got rid of all <wx/wx.h> includes, improved compilation speed greatly.
  • Fixed stats color boxes
  • Fixed servers saving, not anymore stored wrong internaly.
  • Coded Mac packager script for releases with included libcurl and wxWidgets.
  • Included Mac aMule.app bundle on sources.
  • Fixed sharing /Volumes and other special folders.
  • Fixed crash on server.met download

permats:

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

Phoenix:

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

lfroen:

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

Madcat:

  • Added support for detecting HydraNode clients.

GonoszTopi:

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

wizeman:

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

Xaignar:

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

Special Thanks To:

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

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

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!!!