Changelog 2.0.0-rc4

From AMule Project FAQ
Jump to: navigation, search

Version 2.0.0rc4 ~The 'Mules and rabbits like apples too' version~

2004-07-12

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 again 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.
 
* 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, Hetfield, 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.
 
* Minor positioning/layouting fix.
 
* 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:

 
* Cache get_path homedir to speed up multiple calls
 
* Removed unused Tag_Struct
 
* Fixed var init and memleak in SearchList
 
* 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 sainity 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 ;)