aMule 2.0.0-rc4
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 ;)