Please read the IMPORTANT NOTE on xMule's versioning system below!
For changes to the UNSTABLE branch, see ChangeLog-UNSTABLE.

Version 1.6.1
-------------
2003-10-10

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.

malware's contributions:
   * Removed all font specifications from the XML resources.
   * Do not start a search after adding an ED2K-Link.
   * Enable clipping in download list control.
   * FIXED: Bug rehashing a part file.
   * FIXED: Various minor problems found by malloc debuggers.
   * Keep the requested file in sync with the part status in CUpDownClient.

Un-Thesis' contributions:
   * Fixed various compatibility issues with the new eDonkey servers.

Version 1.6.0
-------------
2003-08-26

Highlights:
   * Categories implemented.
   * Much better No Needed/High Queue Ranking sources handling
   * Shared files loading made 30x faster, now supports thousands of files.
   * Numerous possible security exploits fixed.
   * Generally, code is a lot clearner now.
   * Enhanced OS support: NetBSD, OpenBSD, Solaris.
   * New Extended Options:
     * Various A4AF functionality,
     * Drop No Needed Sources,
     * Drop High QR Sources,
     * Drop Full Queue Sources.

malware's contributions:
   * 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.
   * Fixed endless loop in sending UDP packets.
   * Fixed a possibly exploitable bug as noticed by S. Esser from e-matters.
   * Fixed new downloads assigned to random category.
   * Check size of OP_SERVERSTATUS packet more strictly.
   * Make xmule not to send the MOD_VERSION information. This does avoid a
     problem with the LSD mod and other xmules.
   * Removed memory leak from hashing thread.
   * Minor fixes of problems detected by valgrind, mostly uninitialized
     variables.

Un-Thesis' contributions:
   * Implemented better GTK2 checks based on NetBSD team's and a Solaris user's 
     input
   * Converted embedded XPMs to PNGs and JPEGs for better memory usage.
   * FIXED: several bugs inherent in the source from previous devs/projects.
   * FIXED: several memory leaks.
   * Started refactoring the sourcecode.
   * Got his own connection shut down by MPAA on 19 Aug :P
   * Bringing website back to live.

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


Version 1.4.3
-------------
2003-08-10

malware's contributions:
   * SECURITY: Removed possible format string exploits.
   * FIXED: statistics color saving/loading.
   * FIXED: a possibly exploitable bug as noticed by S. Esser from e-matters.
   * FIXED: exception handling for CString/wxString.
   * FIXED: endless loop in CClientUDPSocket::OnSend().
   * FIXED: fatal exception handler not to fail in early stages.
   * FIXED: endless loop in CListenSocket::KillAllSockets().
   * FIXED: Lagloose's Shift+Doubleclick to show really only transfering
     sources. Update still does not work.
   * Decode %-escaped characters in URL within the ed2k application as
     suggested by __JusSx__.

NetBSD team's contributions:
   * Work-around not to unlock mutexes not locked.
   * Try to increase some resource limits to the permitted maximum.
   * FIXED: bug with the mutex protecting calls to gethostbyname.

Un-Thesis' contributions:
   * Added support for adding multiple ED2K links.
   * Added ED2K link support for GTK2.

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

Version 1.4.2
-------------
2003-07-22

Un-Thesis' contributions:
   * Optimized Pictures:  Converted all large XPMs to JPEGs.
   * Memory optimization: Project should use approximately 2MB less memory.
   * Size optimization: Binary should use approximately 2MB less space.
   * Implemented Lagloose's Shift+Doubleclick in downloadlist only shows
     transferring sources.
   * Enhanced upload statistics in the Upload List.

MikaelB's contributions:
   * FIXED: Saving main window position and size now works.

Malware's contributions:
   * FIXED: Remainder of the Search Dialog crashes.

Kry's contributions:
    * Added xMule Uptime to statistics tree.

Version 1.4.1a
--------------
2003-06-24

Madcat's contributions:
   * FIXED: Crash on GetPeer() call during socket failure.
   * FIXED: Crash when trying to send hash of nonexistent knownfile.

Version 1.4.1
-------------
2003-06-19

Madcat's contributions:
   * FIXED: Various crashes regarding Shared Files Reloading.
   * FIXED: Several Search Tab Closing/Global Search related crashes.
   * FIXED: Several eMule/xMule typos.
   * FIXED: Endless loop if UDP packet sending failed.
   * FIXED: Endless loop/memleak at ProcessMuleInfoPacket().
   * FIXED: Endless loop at CPartFile::FlushBuffer().
   * FIXED: CPU leak in ProcessHelloPacket().
   * FIXED: gsocket.c compilation problems with older compilers.
   * FIXED: Crash when search results were added to nonexistent search tab.
   * FIXED: Endless loop in case UDP packet sending fails.
   * FIXED: 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.
   * All log messages are also written into file ($HOME/.xMule/logfile).
   * Shared files list is now resorted after reloading.
   * Implemented external ED2K links handling. Use ed2k <link> instead of xmule 
     <link> from now on.
   * Changed popup window to log message when shared file is not found.

Kry's contributions:
   * FIXED: --version commandline argument.
   * FIXED: Bogus 2.1.0.1 servers on serverlist.
   * FIXED: Shared folders not shared in some systems.
   * FIXED: Shared files not being shared in non-english languages.
   * FIXED: Download limit being higher than capacity.
   * Made ./xmule statistics more readable.
   * Added a notification message in case second xMule is started.

Un-Thesis' contributions:
   * FIXED: GTK-only XPM compatibillity problems.
   * FIXED: GetTickCount compilation errors.
   * FIXED: LOWID problems (AGAIN!).
   * Removed pure GTK code from GetColour.
   * Added eMule's LOWID icon to main status bar on LOWID connection.

MikaelB's contributions:
   * FIXED: Toolbar sizing with i18n

Seneca's contributions:
   * FIXED: Clipboard handling (ctrl+v instead of middleclick for pasting).

Version 1.4.0 (first xMule release)
-------------
2003-05-26

Highlights:
   * All but two known bugs fixed.
   * MAJOR memory and cpu leaks fixed. Runs @ 0.7% CPU on Un's 2000MHz AthlonXP

Madcat's contributions:
   * Removed extraneous hashing debug messages.
   * Removed extraneous socket debug messages.
   * Removed useless 'missing server.met' message box.
   * Tweaked default upload bandwidth settings.
   * Changed the xMule titlebar to a more appropriate string.
   * FIXED: Shutdown segfault.
   * FIXED: errors with loading/saving preferences.
   * FIXED: small eMule-specific memory leak.
   * FIXED: files now show in Shared Files list.
   * FIXED: xMule no longer crashes if Reload button is clicked fast.

Un-Thesis' contributions:
   * Intial MacOS support via wxMac. Crashes on startup due to Unicode issues.
   * Removed antiquated checks for libexpat.
   * Removed dependencies on libexpat.
   * Removed duplicate conflicting #defines.
   * Reset button now resets the log textbox.
   * FIXED: MD5Sum.cpp now compilable with G++-2.95.3.
   * FIXED: MakeNG compilation issues.
   * FIXED: Settings are no longer re-loaded when they are applied.
   * FIXED: Some unresolved LOWID issues.
   * FIXED: CPU leak in GetTicksCount(), should increase performance 2%.
   * FIXED: Memory leak in SharedFileList.
   * FIXED: 1.3.0 error where only files that were being downloaded were
     uploaded.
   * FIXED: eMule-specific error where clientcredits.met is always rewritten.
   * FIXED: All known wxAssert (e.g. failure) errors.

Kry's contributions:
   * Disable UDP option now works.
   * Sorting by priority should now work.

Tap's contribution:
   * Added Estonian translation.

DongCheon Park's contribution:
   * Added Korean translation.

Marc's contribution:
   * Added better support for Open and NetBSD.

Stkn's contribution:
   * Added auto-bactrace on crash functionality.

Uberpenguin's contribution:
   * Created the xMule logo.

Dirk's contriubtion:
   * FIXED: Log control's text no longer grows exponentially.
   * NOTE: This is a **MAJOR** Memleak fix! :-))

Version 1.2.1
-------------
2003-04-28

Highlights:
   * Should crash less often 

Tiku's contributions:
   * FIXED -- segfault at startup with RH9.
   
Pure_Ascii's contributions:
   * FIXED -- zero column widths at first startup
     (From 1.2.0.1, was missing in CVS).
   * Now displays xmule version on startup
   * Updated german translation

Madcat's contributions:
   * Download List is now sorted during startup.
   * Searching crash bug FIXED! (tagcount problem)
   * Stops old global search if you start a new one.
   * FIXED -- preview with paths containing spaces etc.
   * FIXED -- SIGPIPE (Broken pipe) problems.

Octane's contributions:
   * FIXED -- GTK2 problems

Version 1.2.1
-------------
2003-04-28

Highlights:
   * Should crash less often 

Tiku's contributions:
   * FIXED -- segfault at startup with RH9.
   
Pure_Ascii's contributions:
   * FIXED -- zero column widths at first startup
     (From 1.2.0.1, was missing in CVS).
   * Now displays xmule version on startup
   * Updated german translation

Madcat's contributions:
   * Download List is now sorted during startup.
   * Searching crash bug FIXED! (tagcount problem)
   * Stops old global search if you start a new one.
   * FIXED -- preview with paths containing spaces etc.
   * FIXED -- SIGPIPE (Broken pipe) problems.

Octane's contributions:
   * FIXED -- GTK2 problems

Version 1.2.0
-------------
2003-04-21

Highlights:
   * Movie preview.
   * GTK2 compatibility.
   * BSD compatibility.
   * Hide/show list columns.
   * ED2K Browser Integration.

Madcat's contributions:
   * Made ED2K integration HOWTO.
   * Enabled multiple selections in all lists.
   * Item selected when right-clicked.
   * Sort order stays when sources/items are added to list during global search.
   * Search tabs can be closed during global search.
   * Double-clicking on a server in Server List now connects to that server.
   * Original idea and implementation of column hiding.
   * Made xmule fully 0.26d GUI compliant.
   * Preview of movie files (mplayer+xine officially supported).
   * Preferences saved when OK is clicked in Preferences.
   * FIXED -- Shared Files tab Highest/Release priority issue.
   * FIXED -- Search Tab "Remove All" button.
   * FIXED -- Search Tab "Download All" resized.

Un-Thesis' contributions:
   * Fully implemented column hiding for all lists.
   * Added full GTK2 compatibility.
   * Updated auto-server.met URL.
   * FIXED -- column hiding bugs in wxGTK code.
   * FIXED -- Freeze if wget failed.

Pure_Ascii's contributions:
   * Tested tray icon in KDE3.
   * Spoofed up wxLocale() i18n implementation.
   * Now detects new mlDonkey clients.
   * FIXED -- Buffer Overflow: too long lines in the retrieved  server lists - 
     will freeze xmule (reported by Gib[S]on) 

Lioux's contributions:
   * Added *BSD compatibility.
   * Substituted direct pthread calls for wxMutex calls.

Simbal's contributions:
   * FIXED -- SuSE 8.2 compilation errors.

Pterjan's contributions:
   * Added a much better French translation.

Version 1.1.13
--------------
2003-03-29

Un-Thesis' contributions:
   * MAJOR FREEZE FIXED -- Not only will known.met load at start up, but
       * there is no longer a spurious server_met.download
        error (uses server.met instead),
      * you can watch the shared files load in real time, and
      * you can do all sorts of stuff w/ xmule while files are loading
   * MAJOR CPU drain caught, the infamous fdate() bug.
   * Server.met files can now be downloaded just by clicking the Update button
   * About box now displays xmule info :P
   * Changes to socket closing should fix LOWID issues when quickly restarting
   * Make system has been cleaned and re-implemented. User shouldn't notice.
   * 99.5% of the C++ syntactical warnings have been corrected
   * Removed all deprecated wx functions; now wx-2.5.0 compliant

Pure_Ascii's contributions:
   * Fixes for certain i18n routines by Pure_Ascii

Tiku's contributions:
   * First implementation of a Tab Control
   * Further renovation of the Search Page by Tiku

Version 1.1.12
--------------
2003-03-23  Timo Kujala
   * Search page renovation. Now in 0.26d glory.
   * Missing features in search page implemented (add/remove static 
     servers, change priority)
   * staticservers.dat no longer hangs xmule during startup
   * xmule probably compiles with gtk2 again.. 

Version 1.1.11b
---------------
2003-03-19  Timo Kujala
   * Fixed a bug in file hashing.

Version 1.1.11a
---------------
2003-03-19  Timo Kujala
   * Bug fix for search pages. Menu selections are now routed to the
     current page instead of the newest page.

Version 1.1.11
--------------
2003-03-19  Timo Kujala
   * Search list will now show filelists from other users
   * GDK-ERROR: BadMatch fixed (caused by negative offsets in 
     Refresh() calls)
   * Non-existing directories are removed from shared directories
     during startup.
   * Temporary-directory and Incoming-directory can now be on a 
     different filesystems.
   * Comment dialogs now work
   * Many wxASSERT-bugs fixed all around the code
   * Spanish translation 
   * List items backgrounds no longer default to white
   * Serverlist URLs can be edited in preferences
   * Answering "No" to the "Do you want to cancel this file" 
     no longer cancel the file anyway.

Version 1.1.10
--------------
2003-03-17  Timo Kujala
   * Fixed a bug that prevented sharing files which contained spaces 
     in their names
   * UDP port allocation in UDPSocket.cpp was wrong. Now it opens
     port 4662+3 (even though xmule does not do this?)
   * Maintenance fixes in tree control and list controls.

Version 1.1.9
-------------
2003-03-16  Timo Kujala
   * Sort order is now remembered during sessions
   * Shared directories can be set
   * Download list control upped to 0.27a version to fix functionality
     problems in it.
   * Listen socket is now in totally non-blocking mode.
   * Search tabs now contain close-button
   * Enter-key now works in search page.
   * Internationalisation support

Version 1.1.8
-------------
2003-03-09  Timo Kujala
   * Memory leak in CList implementation fixed.
   * ed2k-links can be given on a command line, thus enabling ed2k-links
     from web browsers (at least from Konqueror).

Version 1.1.7
-------------
2003-03-07  Timo Kujala

   * Updated ChangeLog :)
   * Bug in ClientUDPSocket handling (actually it wasn't handled at all)
     fixed.
   * Bug that caused random crashes at start fixed. (Network connections
     are no longer handled until initialisation has completed)
   * Changed CList<> implementation to use GLIB list. This hopefully
     lowers CPU usage.
   * Remove server now works.
   * Tray icon shows download rate.
   * Fine-tuning the configure.in. It now warns if GTK2 is used,
     and gives better instructions if wx-config is not found. 
   * Bug in Systray initialisation fixed. Occurred if Systray was not
     enabled.

2003-02-13  Fuentes Xavier  <furax@r00tworld.com>

   * Implemented copy ED2K:// links to clipboard

2003-02-11  Fuentes Xavier  <furax@r00tworld.com>

   * using autoconf/automake/gettext

2003-02-09  Fuentes Xavier  <furax@r00tworld.com>

   * fixed main button bar to behave more like xmule

Version 1.0.0
-------------

2003-01-0  Timo Kujala  <tkujala@lut.fi>

   * initial release

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

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.
