Please read the IMPORTANT NOTE on xMule's versioning system below!

Version 1.7.1
-------------
2003/11/21

Un-Thesis' Contributions:
   * FIXED: A bug that would cause approx 5% download sources to be deleted 
     unnecessarily.
   * FIXED: aMule 1.1.2 bug in their ZLib implementation (look for "FIXME" in 
     their code heh).
   * FIXED: Removed the undefined VoidList warning in mfc.cpp.
   * Added ZLIB support to xMule, based on aMule 1.1.1, which is based on eMule 
     0.30c.
   * Changed target minimum speed for each upload from 3000 bytes/sec to 
     2KB/sec.
   * Implemented nearly 100% of aMule-1,1,2's network modifications that worked.
   * Client now masquerades as eMule v0.34 heh.
   * Download list now refreshes in *real* time.  No more seconds delay.
   * Less waiting for downloads!  Fixed a broken if statement that was tossing 
     out some of the early download connections.

DongCheon Park's contributions:
   * Updated the Korean translation files for new features in 1.7.x.

Version 1.7.0
-------------
2003/11/11

Special note:  Due to the chaos surrounding the 1.6.1 release (Un-Thesis being 
DMCAd), we delayed releasing 1.7.0.  Sorry for the confusion.

Highlights:
   * There are no known exploits in this version.
   * Lots of fixed memleaks and cpuleaks.
   * Extended support for more eMule v3x protocol changes.
   * Enhanced transfer controls.
   * Supports every eDonkey server.

malware's contributions:
   * FIXED: endless loop in sending UDP packets.
   * FIXED: a possibly exploitable bug as noticed by S. Esser from e-matters 
     (#3 "Servername Format String Vulnerabilities").
   * FIXED: new downloads assigned to random category.
   * FIXED: Bug rehashing a part file.
   * FIXED: Various minor problems found by malloc debuggers.
   * FIXED: Bug using MFC CMap.
   * Speed up the initial sharing by making KnowFileList a hash map.
   * Remove the assign to category context menu entry only if it was
     already there.
   * Reimplemented hashing thread.
   * Removed unused locks. As the NetBSD team pointed out they are
     causing problems on their system because it does core dump on
     unlocking a mutex that was not locked.
   * Made the title for systray the same as for the main dialog.
   * Never share a file twice.
   * Check size of OP_SERVERSTATUS packet more strictly.
   * Do not display the unit for file size twice in shared file list web page.
   * Make xmule not to send the MOD_VERSION information. This does avoid a
     problem with the LSD mod and other xmules.
   * Added check for libm to configure.in.
   * Avoid accepting an unrequested hashset.
   * Removed memory leak from hashing thread.
   * Implemented rescaling of the graph of currently active connections.
   * Remove invalid gap information entries which might be caused by
     incomplete part.met files.
   * Removed all font specifications from the XML resources.
   * Do not start a search after adding an ED2K-Link.
   * Enable clipping in download list control.
   * Possible fix for some problems while ending the program.
   * Keep the requested file in sync with the part status in CUpDownClient.
   * Imported from eMule:
       - Source exchange v2
       - Do not swap a source to a stopped file.
       - Up-/download auto-priority
       - Request of shared files by directory.
       - "Obtained Parts" bar in the shared files list

Un-Thesis' contributions:
   * FIXED: Bug that kept auto-backtrace from occuring in Linux.
   * FIXED: Rare crash occuring in Preferences->Directories.
   * FIXED: Optimization and compilation warnings using -O2 with GCC 3.3.x.
   * FIXED: Two memleaks in ClientCreditList.cpp.
   * FIXED: Several GCC 3.4 problems.
   * FIXED: Several Intel C++ problems.
   * Added more support for Solaris, thanks to wimms.
   * Corrected various Linux-specific #ifdefs.
   * Now masquerades as eMule v0.31 in order to use hostile eMule servers.
   * Added initial support for GCC 3.2+ AthlonXP optimizations.
   * Added initial support for wxGTK 2.5.1.
   * Two tweaks to make SuSE builds less CPU-intensive.
   * New build system, easier to maintain and automake free. Yay!
   * Streamlined included images: now only necessary ones are there.
   * Added initial support for JusSx's ed2k+ daemon.
   * Added initial support for Hetfield's systray daemon.
   * Added initial support for my telnet/ssh/www daemon.

NetBSD team's contributions:
   * FIXED: bug with the mutex protecting calls to gethostbyname.
   * Try to increase some resource limitation to the permitted maximum.

sepahewe's contributions:
   * Fix images in transfer list web page.

Justinas' contributions:
   * Fixed the mfc.h warnings at lines 418, 423, 

Version 1.5.6
-------------
2003/08/01

Highlights:
   * Fixes for a great many bugs that cropped up from 1.5.2 to 1.5.5.

malware's contributions:
   * Added simple workaround in case CClientUDPSocket::OnSend is called
     recursivly.
   * Do not share the global incoming directory twice.
   * Fixed wrong tag count written to part.met files.
   * Various xmule signature changes as requested by BigBob.
   * Fixed statistics color saving/loading.
   * Decode %-escaped characters in URL within the ed2k application as
     suggested by __JusSx__.
   * Removed two trouble-maker member variables used in the search.
   * Catch invalid/strange packets before they can cause harm. This
     does also affect parts of network packets stored in *.met files.
   * No longer throw out clients sending packets larger than needed.
   * Fixed invalid messages "You already have...", caused by comparing
     a hash over the File-ID rather than the ID itself.
   * Cleaned up the nstrdup() mess.
   * When finishing download share the file in the incoming directory
     of the category it does belong to.
   * Removed various possible format string exploits.
   * Make it possible to delete the last user-defined category.

MikaelB's contributions:
   * Optimized anti-hash thief.
   * Test for invalide eMule clients and irregular eDonkey clients.
   * Anti-leechers test - Mison-like clients are automatically detected.
   * Special icon in Upload List/Queue for invalid clients.
   * Ban spammer clients ( Mison and others ).

Un-Thesis' contributions:
   * Upgraded XRC library to latest wx release.
   * Converted internal XPMs to PNGs and JPEGs.
   * Fixed a few Intel C++ compiler warnings.
   * Re-organized the ChangeLog system.
   * Made sure Italian and Korean translations were included in release.

Madcat's contributions:
   * Fixed crash in ClientDetailDialog.
   * Fixed Directory Tree displaying.
   * Fixed crash when attempting to delete noexistent TreeCtrl items.

BigBob's contributions:
   * Cosemtic GUI change - the IRC button is gone
   * Make the status line resizing the areas to fit the text into.

bothie's contributions:
   * Actually send the MOD info with the MuleInfo packet.

FooMan's contributions:
   * Fix for failing file access during download completion.

DongCheon Park's contributions:
   * Updated the Korean translation files for new features.

Version 1.5.5
-------------
2003/07/11

Madcat's contributions:
   * Column widths are now saved (got broken in 1.5.4).
   * Possible fix for column hiding in Transfer tab (got broken in 1.5.3).
   * Abort flushing and pause file if less than 9.28MB free disk space left.
   * Abort part.met file writing if less than 5000 bytes free disk space.
   * Code cleanup: Removed large amount of unused variables, #if 0'ed blocks,
     indented several files and changed EOL to UNIX style in most.
   * Online signature is now cleared on shutdown.
   * Category incoming directories are now automatically shared.
   * Automatic sources dropping at user-defined interval.

MikaelB's contributions:
   * Fixed a window increasing size problem at startup
   * Fixed the '$' appearing in Cancel button in Categorie dialog
   * Added timer in Sources Dropping tab

plobb's contributions:
   * Hotranking: Sources with QR: <5 ignore MaxNewConPer5Sec value.

Version 1.5.4
-------------
2003/07/05

Madcat's contributions:
   * Lists are no longer redrawn when they are not shown.
     NOTE: This reduces CPU usage SIGNIFICENTLY (for better effect,
     stay off Transfer tab when running on background.
   * Possible fix for gcc 2.95 compliation problems (DownloadListCtrl.cpp)
   * Possible fix for BSD compatibility problems with configure.
   * Possible fix for eMule 29a compatibility problems in met files.
   * Reverted to old sources handling. New engine was way too aggressive.

MikaelB's contributions:
   * Possible fix for main toolbar display bug.
   * Possible fix for sash position loading problems after new compilation.

Version 1.5.3
-------------
2003/07/02

Highlights:
   * Categories implemented
   * Much better No Needed/High Queue Ranking sources handling
   * Shared files loading made 30x faster.

Madcat's contributions:
   * Possible fix for AppVersion value in .eMule file.
   * Possible fix for statistics colours saving problems.
   * Possible fix for shared files loading. Loading is MUCH faster now.
   * Possible fix for crash if Hello Packet had tagcount 0. Strangely,
     this only happened randomly after closing movie preview.
   * Possible fix for endless loop when UDP packet sending fails.
   * Imported categories from LMule CVS (written by Tiku).
   * Category functions now apply to selected category only.
   * Added confirmation message when cancelling all files in a category.
   * Category setting is now saved.
   * Much better HQR/NNS handling. Those two are now dropped automatically as  they connect.
   * Fixed New MLDonkey compatibility (Been broken since 1.4.1)

MikaelB's contributions:
   * Fixed bug in File Comments dialog ( nothing displayed )
   * Save sash position of splitter in transfer window at exit
   * Fixed a bug in Sources Dropping Preferences window
   * HQR Value is know set between 300 and 3000
   * Fixed Dropping Sources Preferences saving bug (there were saved into
     WebServer section in .eMule file)
   * Changed Dropping Sources tab in Preferences window
   * Better handling for NNS
     User can now choose to:
       * Automatically drop file
       * Try to send it to an other file
   * Default HQR value changed to 1200

Kry's contributions:
   * First Main category filters attempt to work.
     * Downloads are now filtered from or added to shown list if status changes
       after filter apply.
     * Main category tab should be showing Filter name as tab name. Fixed.
     * Added several more filters: Video, Audio, Image, Text, CDImage, Archive.
     * Filters Apply now to all categories.
   * Stopped files now have Stopped status instead of Paused.
   * Colors for categories on download list were reversed from those the user
     selected. Fixed.
   * Added xMule Uptime to statistics tree.
   * Possible fix for multiple PopUp menus on categories tab right-click.
        * Shared files should be reloaded when closing preferences only if
          folders changed.

Tiku's contributions:
   * Implemented Download list Categories.

Malware's contributions:
   * Possible fix for various exception handling bugs.
   * Possible fix for the remaining of search page crashes.

Balu's contributions:
   * Updated spanish translation.

Version 1.5.2
-------------
2003-06-22

Madcat's contributions:
   * Imported all features in Razor 1a Beta 1 mod.
   * Imported most of the features in Lagloose mod v0.1a

MikaelB's contributions: ( thanks to eMule Sivka mod )
   * Added support for 'Swap every A4AF to this file now'.
   * Added support for 'Swap every A4AF to this file AUTO'.
   * Added support for 'Swap every A4AF to any other file now'.
   * Added support for 'Drop No Needed Sources now'.
   * Added support for 'Drop Full Queue Sources now'.
   * Added support for 'Drop High Queue Rating Sources now'.
   * Added support for 'Clean Up Sources now ( Drop NNS, FQS and HQRS now)'.
   * Added Sources Dropping Preferences Tab (not functional yet).
   * Possible fix for saving main window position and size.
   * Initial support for Auto Drop NNS, FQS and HQRS (not functional yet).
   * Initial support for Dynamic Upload (not functional yet).

Lagloose's contributions:
   * Shift+Doubleclick in downloadlist only shows transferring sources.
   * Increased font size for the axis in statistics.
   * More Information on uploading clients in upload window.


Version 1.5.1
-------------
2003-06-11

Un-Thesis' contributions:
   * Possible fix for bad return statements in ClientUDPSocket and BaseClient.
   * Reverted to old code for several bad fixes in 1.5.0.

Kry's contributions:
   * Made ./xmule statistics more readable.
   * Possible fix for download limit being higher than capacity.
   * Added a notification message in case second xMule is started.
   * Possible fix for --version commandline argument.

Version 1.5.0
-------------
2003-06-08

Madcat's contributions:
   * Sockets are also closed on crash now.
   * Revised Search Result packet handling, shouldn't crash/memleak there
     anymore.
   * Removed annoying MAX_RESULTS check from search tab.
   * Added log line when ipfilter is loaded.
   * Possible fix for various crashes regarding Shared Files Reloading.
   * Possible fix for several Search Tab Closing/Global Search related crashes.
   * Possible fix for several eMule/xMule typos.
   * Possible fix for potential endless loop if UDP packet sending failed.
   * Possible fix for potential endless loop/memleak at ProcessMuleInfoPacket().
   * Possible fix for CPU leak in ProcessHelloPacket().
   * Possible fix for endless loop at CPartFile::FlushBuffer().
   * Possible fix for gsocket.c compilation problems with older compilers.

Un-Thesis' contributions:
   * Possible fix for GTK-only XPM compatibillity problems.
   * Possible fix for GetTickCount compilation errors.
   * Possible fix for LOWID problems (AGAIN!).
   * Removed pure GTK code from GetColour.

MikaelB's contributions:
   * Possible fix for toolbar sizing with i18n

Version 1.3.1
-------------
2003-05-16

Madcat's contributions:
   * FIXED: 'All Columns Hidden on First Start-Up' bug.
   * FIXED: Systray integration setting saving.
   * FIXED: Start webserver only if it's enabled in preferences.
   * FIXED: Shared files Re-Loading.
   * FIXED: Shutdown seg-fault.

ArCePi's contributions:
   * Updated spanish translation.

Shuttle's contributions:
   * Added Italian translation

Version 1.3.0
-------------
2003-05-15

* Changed the release organization of xmule
  * Stable releases have even middle numbers (ex: 1.2.1 is stable)
  * Unstable releases have odd middle numbers (ex: 1.3.0 is unstable)

Pure_Ascii's contributions:
   * FIXED: Last part always being corrupt problems.
   * FIXED: FreeBSD 5.x compatibility problems.
   * Started port to MacOS X.

Un-Thesis' contributions:
   * FIXED: Implemented McCabe's and arkanses' LOWID on restart fix.
   * FIXED: Several major Mem and CPU leaks
   * FIXED: Application termination improved.
   * FIXED: Removed & symbols from the main toolbar.
   * Added new MakeNG system, see README.makeng.
   * Added --version command line option.
   * Ported xMule 28b Partfile.
   * Added framework for more robust command line control.

Madcat's contributions:
   * FIXED: Major Memory leak caused by NOT flushing files.
   * FIXED: Toolbar sizing if texts are too long.
   * All lists are now sorted on startup.
   * Preview now defaults to mplayer if none set.

Tiku's contributions:
   * Added initial code for Webserver, not currently functional.
   * Further synchronized statistics windows with xmule.

Gib[S]On's contributions:
   * Added list counters for Servers, Transfer and SharedFiles windows.

Ender's contributions:
   * Opera 7.1 info to ED2K-Links.HOWTO

-------------
For previous release, see ChangeLog.

-----------------------------------

IMPORTANT NOTE:
The xMule release system works as follows:
*  Program_Era.Major_Version.Minor_Version.
*  We are in Program_Era 1
*  Major_Versions work as follow:
   *  Odd numbered Major_Versions represent uniquely new code, such as new 
      features or complex bug fixes/
   *  Even numbered Major_versions represent code that has been tested, USUALLY 
      in an odd Major_Version release.
   *  Once *new features* in odd Major_Versions have been tested, they go into 
      the next *even* Major_Version.
   *  Once *bug fixes* in odd Major_Versions have been tested, they go into the 
      next *odd* Major_Version.

What this means is that a great many (hopefully EVERY!) feature mentioned in 
ChangeLog will ALSO be mentioned in a PREVIOUSLY RELEASED ChangeLog-UNSTABLE.
