The release mechanism was changed in a way that minor updates
will not get a release tag in CVS, also the version number reported
by MLDonkey will stay the same.

Patches done after the last release are experimental,
please test carefully and report your results.

All numbers mentioned here can be found as patches on
http://savannah.nongnu.org/patch/?group=mldonkey

To compile MLDonkey on MinGW follow this guide:
http://mldonkey.sourceforge.net/Windows#MinGW_Installation

ChangeLog
=========

2007/07/27: version 2.9.0 = tag release-2-9-0
6118: Configure: Update defaults
- enable DirectConnect by default 
- disable Gnutella & Gnutella2 by default
  - MLDonkey does not support UDP host cache and contains
    non-working GWebCache URLs
  - Gnutella/G2 code has not been updated for several years,
    its officially unmaintained for now
  - remove non-existing GWebCache URLs

2007/07/25
6087: Fix logging of verbosity "bw", remove obsolete options
6085: BT: Improve UTF8 support
- parse field "encoding"
- use field "name.utf8" instead of "name", if available

2007/07/10
5996: BT: Recognize more client types (orbit)
6065: DirectConnect: Support dc++ hublist in web_infos
6063: BT: Better detect single-file torrents

2007/07/03
6068: BT: Fix download start when torrents/downloads filesystem
      allows more than 16M chars

2007/07/01
6064: BT: Earlier first scan of torrents/incoming/*
6053: HTML: Send correct filename when previewing (chandlerding)
6061: Options: New type port_option, values are bound to be >= 0 and <= 65535
6060: Do not send mail notifications when smtp_server = ""
6059: Multiuser: Avoid double group entries in user_groups
6056: Log username, IP:port and old/new value when changing options

2007/06/30
6049: BT: Support user_commit_dir when seeding,
      reshare every share_scan_interval minutes

2007/06/26
Move docs/multiuser.txt to distrib/multiuser.txt
6048: Make Ocaml 3.10.0 the default compiler
- MLDonkey can still be compiled with Ocaml 3.08.3/4 & 3.09.*
- if you need GTK1 oldgui you must use Ocaml < 3.10.0 to compile

2007/06/24
6044: BT: Limit max_bt_uploaders to max_upload_slots (pango)
6043: Discover WAN IP
- new command "discover_ip" to force discovery
- new option "discover_ip" to enable automatic discovery on startup
  and after SIGHUP, default true
- this patch is important for BT-only usage, without this patch the
  WAN IP was discovered only by using EDK server replies
6034: Load $MLDONKEY/web_infos/* before activating network modules
- this fixes a security hole when networks started connecting
  before IP blocklist was loaded
6025: Extend command "links" to optionally display all downloading files
- "links" displays all files, not only shared ones like before
- "links shared" lists only shared files
- "links downloading" lists only downloading files

2007/06/18
6024: Multiuser: New parameters for command useradd:
      user_mail + user_max_concurrent_downloads

2007/06/17
6021: Remove leftovers from optional zlib support,
      replace Autoconf.zlib__* with Zlib.* functions
6005: Swarmer: Implement new download mechanism
- its now possible to switch the order blocks are downloaded from random
  (first and last block first, default) to linear
- new command: download_order <file number> <random|linear>
6017: Multiuser: New optional parameters group/commit_dir for command useradd
6020: Multiuser: Fix handling of user "admin", its user_commit_dir was not
      used when MLDonkey was not restarted between download start and commit
6019: BT: Disable user_commit_dir for multifile torrents to fix seeding
6011: BT: Send no_peer_id to trackers to save some bandwidth (berni)
6010: Update syslog.ml to version 1.4
5995: EDK: Better handle permission denied errors for shared/downloading files
5992: BT/IP block: Fix country-based IP blocking
-------------------------------------------------------------------------------
2007/06/03: version 2.8.7 = tag release-2-8-7
5988: BT: Completely parse handshake packet of newer BT clients (thx to Berni)
- this patch should fix the serious performance problem with BT downloads

2007/06/02
5987: GeoIP: Small cosmetical fix for loading GeoIP.dat (pango)
5986: Fix GC problem in bz2 code (pango)

2007/06/01
5891: Disconnect clients we download from when a file is queued/paused
5905: Replace old DirectConnect module with new DC++ code (alffa)
- enable it with ./configure --enable-directconnect
- bzip2 support is manditory
- preliminary docs: http://mldonkey.sourceforge.net/DirectConnect
-------------------------------------------------------------------------------
2007/06/01: version 2.8.6 = tag release-2-8-6
5984: EDK: Small log updates

2007/05/31
5982: Save archives used for ini files backup with rights 600 (pango)
5981: EDK/Swarming: Download first 9MB first for preview,
      not 10MB to avoid downloading second chunk too early (pango)
5972: GeoIP: Load GeoIP.dat into RAM (pango)

2007/05/28
5976: Search for autoconf261 in ./configure

2007/05/27
5940: GeoIP: Reduce disc access to lower CPU usage
- store computed country values in client/server structures
- EDK: fix a bug where a firewalled client was displayed with IP 0.0.0.0
- new verbosity level "geo" to monitor access to GeoIP.dat

2007/05/23
5961: Include compile patch for Ocaml 3.08.3
5956: Remove unused files src/networks/donkey/donkeyIndexer.ml*

2007/05/22
Updated Mozilla protocol handler to version 2.1
- original source from http://www.informatik.uni-oldenburg.de/~dyna/mldonkey

2007/05/21
5944: configure: Allow use of Ocaml 3.10.0, keep 3.09.3 as default

2007/05/08
5897: FileTP: Support HTTP downloads of files > 1GB
5815: Unix32: Override system umask to force correct function
      of option create_file_mode (pango)
5912: Extend patch 5817: "Code updates for Ocaml 3.10.0beta compatability"
      to Ocaml 3.11
5910: EDK: Revoke upload slot when client asks for blocks positioned after EOF
5908: Fix commit when incoming filesystem allows more than 16M chars
5906: Telnet/BT: Display clients country code without HTML in vd <num>

2007/04/28
5903: commonPictures: Update favicon.ico (meto)
5902: Updated italian translation for mldonkey (surricani)
5901: Updated german translation for mldonkey
- taken from german wiki: http://www.mldonkey.org/wiki/index.php/Mlnet_strings
5900: Updated italian translation for mldonkey (surricani)

2007/04/26
5898: Updated italian translation for mldonkey (surricani)

2007/04/25
5892: Updated italian translation for mldonkey (surricani)

2007/04/24
5888: Partial italian translation for mldonkey (surricani)
      stored in ./distrib/i18n/mlnet_strings.it_IT.UTF-8
5718: Improve command "nu"
- close all upload slots
- do not give an upload slot to clients in pending slot
- restrict command "nu" to admin users
-------------------------------------------------------------------------------
2007/04/23: version 2.8.5 = tag release-2-8-5
5855: Increase Unix32.max_cache_size, fix max_opened_connections check
      (thx to pango)

2007/04/21
5878: HTML: Fix preview in vd <num> broken by patch #5866

2007/04/20
5876: HTML: Send mime-type video/mpeg for file extension .vob

2007/04/19
5857: EDK: Remove upload compression (patch #5665) due to ineffective caching
5875: Swarmer: Some cosmetic changes (pango)
5856: EDK: Set TCP backlog to max_upload_slots for donkey_port socket
5869: EDK/Swarmer: Try harder to read corrupt files.ini
- reset chunk table to missing after re-creating a missing temp file
- discard swarmers without files entry in files.ini instead of stopping
- check that partial hashes file_md4s match with file_md4 when reading files.ini
5870: Updated distrib/mldonkey_submit, it now uses command dllink instead of dd,
      it also supports http and sig2dat links (atordo)

2007/04/13
5866: HTML: fix third button row to also successful act within frames (schlumpf)

2007/04/12
5867: EDK: Show country code/flags for indirect clients
5862: BT: Informative GUI console messages after sending a .torrent file to GUI
5859: HTML: Support sending files from $MLDONKEY_DIR/html_themes/

2007/04/10
5861: HTML: Fix errors reported by w3.org validator in html_header_mods0
5860: HTML: fix broken refresh on Opera/Safari (schlumpf)

2007/04/08
5854: Set share_scan_interval = 0 to disable scanning of shared directories
5853: New option defaults
- download_sample_size 100, 10 is too low, download rate is computed wrong
- ED2K-propagate_sources false, this activates outdated MLDonkey-style source
  exchange, MLDonkey supports eMule-style source exchange which is not affected
  by this option
- ED2K-update_server_list_server should be false, there are lots of fake servers
  out there, trust only servers from trusted server lists. For more details read
  http://mldonkey.sourceforge.net/ServerList#Fake_search_results
- ED2K-upload_full_chunks should be true to reflect the same default eMule uses
- ED2K-upload_compression_table_size should not be smaller than max_upload_slots

2007/04/03
5821: New variables for file_completed_cmd:
      file_group_cnt, file_group_user, file_group_dir
5849: EDK: Report correct short versions for Windows clients

2007/04/02
5847: BT: Fix exceptions when handling BT clients as friends
5845: Do not reverse order in files.ini after restart (pango)
5844: HTML: Keep totals line when sorting statistics tables (schlumpf)
-------------------------------------------------------------------------------
2007/04/01: version 2.8.4 = tag release-2-8-4
5840: Some small stuff (logging, code improvements)
5839: IP block: Scan all files inside a .zip file when loading
      a blocklist, use the first valid file
5831: BT: New option BT-tracker_retries

2007/03/26
5819: MinGW: Fix charsetstubs.c compile with latest MinGW

2007/03/25
5817: Code updates for Ocaml 3.10.0beta compatability
- to use Ocaml 3.10 add ./configure option --enable-ocamlver=3.10
- MLDonkey will accept the new Ocaml version without this option when
  the final version of Ocaml 3.10 is released and proven to be working
- GTK1 oldgui does currently not compile with Ocaml 3.10 code
  - lablgtk1 & lablgtk2 compile with Ocaml 3.10, but some MLDonkey code
    still needs fixing, GTK1 newgui and GTK2 gui compile with Ocaml 3.10
- parts of the patch by pango

2007/03/24
5813: Options: Use original file rights in tar.gz backup,
      save backups with rights 600

2007/03/18
5807: Implement new command "man" to display command help

2007/03/17
5806: Update GNU config.guess and config.sub to version 2007/01
5775: http_client: Fix loading URLs with ()' (orbit)
5781: web_infos: Load local file if remote file can not be accessed
      (thx to xergius)
5802: Telnet: Support non-ascii input (Hung-Te Lin)

2007/03/16
Updated Mozilla protocol handler to version 2.0
(re-committed after data loss due to Savannah crash on 2007/03/12)

2007/03/11
5799: Flags: Added Aland Islands, Guernsey and Jersey,
      fixed debug_pictures command
5797: Remove unused source code in src/applets/*
5775: removed, it breaks BT downloads
5775: HTML: Fix url parsing for URLs with ()' (orbit)
5774: BT: fix upload managment (orbit)
5786: HTML: small javascript search improve (orbit)

2007/03/08
5787: HTML/Geoip: Show country flags
- new option html_flags to disable display of flags 
- favicon.ico now built-in
- fix sorting bug in costats (thx to orbit)

2007/03/06
5784: Gd: Implement binding for function gdImageFilledArc
5773: Geoip: Country-based up-/download statistics
- new ini file statistics.ini, to be used later for all statistics
- new command "costats", accepts parameters:
  without parameter it displays all countries where data was transfered to
  parameter "all" displays all seen countries, countries where MLDonkey never
  saw a client are not part of the statistics data
  regular expressions can be used for country names/codes and continents,
  like "costats *aus*" (Austria and Australia), "costats *europe* *africa*"
- new command "countries" to print country database
- new command "reset_costats" to reset country statistics
- mem_stats support for modules CommonStats & Geoip
- updated country database based on GeoIP 1.4.2 C-library

2007/03/04
5765: Change hard-coded maximum value for client_buffer_size
- default stays at 500.000
- for high-volume links raise this value to 1.000.000 or higher
5767: HTML: Improve bw_stats
5768: New default for option messages_filter (thx to atordo)
5766: Windows/Unicode: Fix broken get_info function for non-ascii filenames
5782: Improve CommonNetwork.network_display_stats function

2007/02/28
5757: Some improvements for byte-code build
- "make utils" now builds byte-code if needed
- new build targets: mlnet.byte.static, release.mlnet.byte.static
- print configure infos when byte-code is to be compiled
- buildinfo prints the binary name if not "mlnet" or "mlnet.static"
- remove some unneeded variables from configure
5759: OV/KAD: improve stats, remove obsolete options, save bandwidth (bogeyman)

2007/02/19
5754: mld_hash: Compute AICH hashes (thx to pango)
- parameter hash takes new option: aich to compute eMule AICH hashes
- new parameter partial_zone: Display hashing of zones (subparts of chunks)
- new parameter check_keep, keep files after checking functions (-check) for later testing
- parameter check, option filesize is now Int64 and in bytes
5752: Fix core hanging on ARM CPUs
5750: EDK: New option upload_compression_ext_exclude (thx to pango)
- space-separated list of file extensions which are not compressed when uploaded

2007/02/18
5753: Multiuser: New variable $USER_MAIL for file_completed_cmd
5751: Improve startup log messages, remove unused code, optimize Date code
5749: BT: recognize more BT client types (orbit)
5748: KAD/OV: Limit searches for sources (bogeyman)

2007/02/15
5738: Remove obsolete multicast files (orbit)
5743: BT: Show shared torrents in upload list after commit (xergius)
5744: EDK: Fix SecureUserIdent between machines with different endianness
-------------------------------------------------------------------------------
2007/02/11: version 2.8.3 = tag release-2-8-3
5734: Update camlzip to version 1.03 (thx to orbit for reporting)
5735: BT: Fix make_torrents to sort dictionary entries alphabetically
      Bittornado did not read MLDonkey-made torrents (amadeo)
5737: MinGW: Work-around missing Unix.fstat
- fixes failed removal of torrent files from torrents/[incoming|downloads]

2007/02/06
5719: Unix2: Fix copying files > 1GB (1073741823 bytes),
      bug was introduced by patch 5589 after release of 2.8.2

2007/02/04
5724: http_client: Retry GET request if HEAD request returns http error 400
5723: HTML: print tracker errors in html table at 'vd <num>' (Schlumpf)
5722: HTML: use Printf2.html_mods_cntr () for table row classes (Schlumpf)
5720: Swarmer: block choice algorithm 2 from patch 5141 is new default
- remove swarming_block_selection_algorithm = 1
  because it finishes chunks too slowly
- remove swarming_block_selection_algorithm = 3 from TripleM
  because it uses too much CPU power.
- remove option swarming_block_selection_algorithm, hard-coded default is now 2
- remove option block_switching, hard-coded default is now true

2007/01/30
5717: Optimize function print_command_result

2007/01/28
5715: Improve porttest (Schlumpf)
- use 'porttest' command to start the network porttest the first time,
  after this to see the results
- new command 'force_porttest' to force an new porttest
- improve html porttest output and make it also available in telnet
5716: EDK: Do not send share list to servers with state Connecting
5713: HTML: show messages link in vd clickable (Schlumpf)

2007/01/25
5712: Multiuser: New verbosity "com" to log commands by non-admin users
5711: Multiuser: Block commands preferred, bs, bp, port for non-admin users
5642: Swarmer: swarming_block_selection_algorithm = 3 (TripleM)
- this new algorithm select always the rarest choice, if average availability
  is below 5, or one choice_availability is below average availability
- added a hashtable to store blockmaps of uploaders for a given swarmer
- long term memory usage has to be observed
5710: Swarmer: Fix chunk propagation (pango)

2007/01/21
5693: "voo changed" prints changed options only, useful for support (Schlumpf)
5698: EDK: fix display of porttest result images (Schlumpf)
5699: Multiuser: Fix wrong file path (user_commit_dir) in notification mail
5695: Command "set": better error text if option does not exist
5694: Fix small typo in buildinfo

2007/01/17
5673: New core start parameter: -useradd "user pass", needed for Debian package
5678: New options for command force_web_infos: kind/URL (thx to Schlumpf)

2007/01/15
5691: EDK: Recognize compatibleclient 60: IMPmule (imp-project.net)
5689: EDK: Log downloading file name when client disconnects
5684: GUI: Fix build of mlprogress (Alt linux)
5677: Options: New concept of option types, fix non-admin Sancho http preview

2007/01/11
5665: EDK: Support compressed upload, implement file read cache (TripleM)
new options:
- ED2K_upload_compression to enable compressed upload, default true
- ED2K_upload_compression_threshold, default 2000 bytes
  Size difference in bytes between one zone (180 kBytes) and its compressed
  counterpart, which has to occure, to send compressed parts instead of plain.
- ED2K_upload_compression_level, Zlib compression level, default 9
- ED2K_upload_compression_table_size, default 20
5669: HTML: Add HTML headers to prohibit browser-side caching (Schlumpf)
5671: Configure: Fix question whether to compile lablgtk, same as patch 5401
5675: Updated Mozilla protocol handler to version 1.10

2007/01/08
5666: New option upload_complete_chunks (TripleM)
- default false, if true, each client is allowed to complete only one chunk,
  independent, if it is empty or partial. this setting overrides
  upload_full_chunks and dynamic_upload_lifetime, but is, as a failsafe,
  limited by upload_lifetime (should be set reasonable high)
5664: EDK: Avoid uploading data more than due
      to eMules rotating block requests (pango)
5596: EDK: New option upload_full_chunks (thx to TripleM)
- If the new option upload_full_chunks is set to true, each client is
  allowed to receive one chunk, this setting overrides upload_lifetime.
  Well, not exactly one chunk. eMule has this code in opcode.h:
    #define SESSIONMAXTRANS (PARTSIZE+20*1024) //
    "Try to send complete chunks" always sends this amount of data
  MLdonkey now does the same, if upload_full_chunks is true and client A got
  9728000+20*1024 bytes during the current session its upload slot will be
  revoked unless pending slots are empty.
5619: EDK: Print network specific infos in command "vc <num>",
      remove unneeded fields from client structures
5627: commonHasher: fix wrong arg types from several functions (Schlumpf)
5626: MinGW: fix missing declarations and wrong pointer
      initialization in stubs_c.c (Schlumpf)

2007/01/06
5599: EDK: Support for files >4GB (TripleM, pango)
- this patch does not include >4GB support for Kademlia
5660: Swarming: Enable wrongly disabled select block memoization (pango)
5659: GD: Fix wrong months display (skeeve)

2006/12/08
5617: New option share_scan_interval
- how often (in minutes) should MLDonkey scan all shared directories
  for new/removed files, default one minute
- on slow machines raise the interval to a higher value to reduce CPU load
- to force a re-scan of shared directories use command "reshare"

2006/12/06
5613: Another longhelp cleanup (anhi)
5615: EDK: Parse more fields from server.met files

2006/12/04
5612: EDK: OP_HELLO tag 0x75, print os_info in logfile

2006/12/03
5602: HTML: Display share status in upstats
5609: New field type Field_KNOWN, EDK: recognize more HELLO/EmuleInfo tags
5610: CommonSources: Cleanups and reformatting the code (pango)

2006/12/02
5608: Multiuser, chgrp: Prevent change of file_group to None
      if the user is not file_owner
5607: Multiuser, chown: Change file_group to user_default_group
      if the new user is not member of file_group
5606: Introduce display of session transfer values
- new columns for session up-/download
- send session values to GUIs

2006/12/01
5605: HTML: Fix search list display when html_checkbox_search_file_list = true

2006/11/29
5598: Remove use of deprecated sort module, remove unused sort2.ml* (pango)
5589: New option create_file_mode,
      rename create_dir_mask to create_dir_mode (pango)
5595: EDK: Fully parse emule_miscoptions1/2
5594: EDK: If update_server_list_client true, add yet unknown server
      of lowid clients
-------------------------------------------------------------------------------
2006/11/29 version 2.8.2 = tag release-2-8-2
5597: GD: New option html_mods_vd_gfx_h_intervall
      (compute values for hourly graph every x minutes) (skeeve)

2006/11/28
5591: EDK: Fix small file search result parsing

2006/11/26
5590: EDK: .gz & .bz2 support for command "servers"
5581: EDK: Improve server logins, send fewer data, minor improvements
- Copied eMule behaviour:
  - send fewer data to server during login, support server capability "newtags",
    same opcodes as in eMule are used
  - UDP ping servers once per 4,5h - (random of 1s-1h)
  - UDP server statistic request during every second UDP ping
    (~9h, not once per hour like before)
  - request serverlist from server only when ED2K_update_server_list_server true
  - ping one server per 5s
  - remove servers after 10 unsuccessful UDP pings
  - save challenge values sent with UDP server statistic and description request
    and dismiss answers containing wrong challenge
- New functions, restructurings:
  - new server status "Server full"
  - support new tag emule_miscoptions2 (empty atm.)
  - remove server descriptions from servers.ini
  - clean donkeyTypes.server definitions
5588: Cleanup commonNetwork (pango)
5582: EDK: Improve CryptoPP logging (Schlumpf)
5584: EDK: Remove removed servers from walker server lists
5585: EDK: New parameter "all" for command "x" to disconnect all conn. servers
5586: BT: Recognize Bitrocket clients

2006/11/21
5579: Remove BasicSocket.[mini|maxi], replace them with Pervasives functions
- small fix for DonkeyOptions.max_allowed_connected_servers
5578: Remove unused files
- src/utils/net/tcpClientSocket.ml
- src/utils/net/tcpClientSocket.mli
- src/utils/net/tcpSocket.mli
5577: EDK: Send correct SUI tags
- sometimes MLDonkey sent SUI=true tag when CryptoPP was not linked

2006/11/20
5568: EDK: Support CIDR and IP ranges in server_black_list (pango)
5574: allowed_ips: Fix list usage when 0.0.0.0/0 is part of the list (pango)
5570: Some log messages in gettext module (Schlumpf)
5569: HTML: Fix display bug in server list after js popups
      introduced by patch #5549 (Schlumpf)
5564: HTML: Remove non-working option use_html_frames (Schlumpf)
5563: EDK: Fix broken log message when master server changes (Schlumpf)

2006/11/15
5556: web_infos: new option rss_preprocessor used for fixing broken RSS feeds,
      safer process spawning for command "!" (pango)
- broken feeds like http://thepiratebay.org/rss.php?cat=D601 can now be parsed
  directly using (for example) xmllint, if a feed can not be read be MLDonkey
  its piped through rss_preprocessor and read again
5560: EDK: Parse some more server.met fields, log unknown server tags

2006/11/14
5424: web_infos/rss: shell:// type url
5549: EDK: Parse all data from server.met, new HTML javascript popup
5553: EDK/OV/KAD: small updates (bogeyman)
- EDK: log unknown client tags with verbosity mct
- OV/KAD: ignore OvernetPeerNotFound and log number of peers every
  60 secs when logging
5551: web_infos: Fix mtime detection, old files were not updated
5550: debug_fileinfo: Print [a|c|m]time values
5530: GD: Improve graph output (skeeve, Schlumpf)
- html_mods_vd_gfx_h_grid_variable
  "Stretch hourly until at program start", default true
- html_mods_vd_gfx_h_grid_time
  "Max hours on time scale per grid (0 = no limit)", default 0
- html_mods_vd_gfx_subgrid
  "Number of shown subgrids on graph (0 = no subgrids)", default 0

2006/11/13
5548: New search parameters: "-and", "-or", "-not", removed "-without"
      (Schlumpf)
5546: Some sharing updates
- solved bug 10957, updating the prio of an already shared dir is now possible
- fix bug where missing shared dirs with strategy incoming_* where not recreated
- remove "network = []" from downloads.ini, currently not supported
- created workaround to fix bug on MinGW: no files were shared. Introduced by
  patch 5475, but source of problem is Ocaml bug 4159
5547: HTML: Fix unicode display in vd & upstats javascript popups

2006/11/12
5545: EDK: Do not show empty server message lines in GUI
5509: Common: Merge file_print functions,
      BT: print BT-specific source infos in Telnet (thx to jave)
5544: Clean up code to avoid otags warnings (pango)
5543: Improve exception handling, fix some indentions (pango)
5542: CommonSources: Work-around division-by-zero bug in Ocaml
      on Alpha platform (pango)

2006/11/09
5526: Multiuser: Internal restructuring, new commands
- from ftp://ftp.berlios.de/pub/mldonkey/pango/userdb-cleanups_v2.patch (pango)
  - create commonUserDb.mli to protect userdb data from other modules
  - cleanups
- replace strings in commonFile with multiuser commonTypes.userdb/groupdb
- implement security checks when core starts
  - user "admin" must exist
  - group "mldonkey" must exist and must have admin status
- update HTML interface, command "users"
  - create link to remove a group from a user
  - create link to change group admin status
  - new column group members
- Telnet: Show all data in command "users"
- do not allow removal of users or groups with downloads,
  groups with members, user "admin" and group "mldonkey"
- filter files shown with command "downloaders"
- fixed bug where wrong group list was displayed in HTML, vd #file_num
- Display user and groups columns
  new options html_mods_vd_user & html_mods_vd_group to en-/disable display in HTML, vd
  - Javascript popups show User:Group infos
  - Telnet support
- implement new commands
  - usergroupadd <user> <group> : add a group to a mldonkey user
  - usergroupdel user> <group> : remove a group from a mldonkey user
  - userdgroup <user> <group|None> : change user default group
  - groupdel <group> : remove an unused mldonkey group
  - groupadmin <group> <true|false> : change group admin status
- Restrict commands to admin users:
  - bw_toggle
  - enable
  - disable

2006/11/06
5527: mlguistarter: print correct syntax (fixes Debian bug #396754)

2006/11/05
5481: Overnet: Small updates
- do not print opcode 18 (OvernetNoResult) as unknown message
- parse bcp type bcp://xxxxxxxxxxxxxxxxxxxxxxxxxxx:ip:tcpport:udpport
- print debug log message when a new source was added
5513: HTML: Let webinterface work in a HTML frame (ported from Knockers Mulus)
- third button row does not work yet, patches welcome
5521: BT: Fix non-working EDK upload when BT is enabled,
      introduced by patch 5461

2006/10/31
5508: OV/KAD eMule style search and some small fixes (bogeyman)
5486: UDP bandwidth monitor fix (bogeyman)
5505: EDK: Support aMule/Hydranode style OS_INFO tag

2006/10/30
5488: Multiuser: New commands
- groups -> displays groups of the logged-in user
- dgroup -> displays default group of the logged-in user
- restrict command "unshare" to admin users

2006/10/29
5475: Multiuser: Implement user_commit_dir
- directories with strategy incoming_files are shared recursively now
- support several directories with incoming_* strategies, use the
  first one with enough space to commit the finished file

2006/10/27
5499: Configure: find camlp4 in local, fix patch 5479 (dunk)

2006/10/26
5477: BT: Add downloads to share list after core restart

2006/10/25
5474: updated bw_toggle
- fix cosmetic bug, wrong values were displayed
  as a result if option_hook changed values
5489: HTML: Improve serverlist display (Schlumpf)
5487: Update URLs, change mldonkey.net to mldonkey.org
5485: HTML: Print sharing strategies in command "shares"
5461: Release slot, fix missing filenames in upstats
- Each downloading file can be set to status "Release", this can
  be done by clicking the "R" column in HTML, Transfers or by
  using the new "release <file_num>" command to toggle the state.
- A new option max_release_slots exists, default 20% of the default
  5 max_upload_slots. This means 1 upload slot is available per default
  and granted for files with status "Release" when requested.
- Show filenames in pending upload slots list
5484: Fix DNS test, test other domains besides www.mldonkey.net

2006/10/23
5474: New command bw_toggle (ported from Knockers Mulus client)
- two new options: max_hard_upload_rate_2 and max_hard_download_rate_2
- new command bw_toggle, quickly switch between two bandwidth options
5480: Update Mozilla protocol handler, cleanup docs in distrib/
5479: Configure: Force presence of camlp4
5478: Support gdlib-config --static-libs function (new on Debian Etch)
5476: Urladd: Change default period to 0 (load file only when core starts)

2006/10/21
5473: Log: Redirect CryptoPP messages to MLDonkey logfile (Schlumpf)
5472: Urladd: New optional parameter period (in hours) (thx to Schlumpf)
5471: HTML: New colums for pending slots list: SUI, GeoIP, Filename
5470: Options: New type percent_option, values are bound to be >= 0 and <= 100
5469: HTML: Implement 404 error page for unknown URLs

2006/10/20
5419: EDK: Re-implement titanesel.ws links - service is up again (thx to sk38)

2006/10/13
5458: OV/KAD: tweak and bugfix the search (bogeyman)

2006/10/12
5454: OV/KAD: Block blocked ips + small Overnet updates (bogeyman)
5451: HTML: clickable new messages indicator (jave)

2006/10/09
5428: HTML: Fix style sheet errors (rwruck)
5446: EDK: Small update for EDK publish patch 5430
- new option max_published_files
  maximum number of files published to servers per minute, eMule default 200
- bug fix for patch 5430, publish also to non-preferred servers

2006/10/08
5430: EDK: Improve file publishing
- publish no more than 200 files/minute to avoid server-side blacklisting,
  eMule uses the same limit,
  least published files are published first (thx to pango)
- respect server hard_limit, never publish more files to servers
- HTML: in server list display number of files published by server, by clicking
  on this number the list of files is displayed (new command server_shares num)
- HTML: diplay master server status, only master server are used for publishing
- HTML: in upstats display number of server the file was published to,
  also display server name + IP in javascript popup
- bug fix: properly update DonkeyGlobals.master_server to be used in 
  DonkeyClient.read_first_message, this is used when replying to non-Overnet
  clients so they know to which server MLdonkey is connected to,
- remove development option become_master_delay
5445: Self-test charset conversion, disable conversion if test fails
5444: BT: Correctly display client connected time,
      also allow correct upload speed calculation (tradie)
5443: BT: do not allow connections with ourselves (tradie)

2006/10/06
5442: BT: Verbose error messages when torrent is sent from GUI,
      BT-multiuser: Protect command seeded_torrents
5441: BT: Re-enable all trackers when file is resumed
5440: HTML: Strip CR from multiline dllink input to fix FileTP filenames

2006/10/03
5439: Increase required ocaml version to 3.09.3 (schlumpf),
      remove old TYPE_FORMAT stuff needed for Ocaml < 3.06 (pango)

2006/10/02
5297: In addition to previous patch 5297 force conversion of allowed_ips to
      IP blocklist when $MLDONKEY_DIR points to an existing directory
      and ini files are created for the first time
5429: Fix compile bug in Ocaml 3.08.3 (thx to eike for reporting)

2006/10/01
5404: New command porttest, support for eMule- and Azureus-style porttest
      (thx to pango for Azureus result parsing)
5421: HTML: Add "Users" to options frame (unease)
5429: New common lprintf_file_nl function
5432: Updates and fixes for the Win resource file (schlumpf)

2006/09/26
5407: BT: Improve handling of tracker error messages
- print additional information in telnet, vd #num already present in HTML
- show tracker errors in Telnet and HTML popups over tracker info lines
- pause torrents with no valid trackers left
5336: EDK: Fix lowid support (krissn)
5427: EDK: Increase hash speed when threads are available (pango)

2006/09/25
5426: CommonSources: Reduce CPU load when refilling queues
      of many non-BT downloads (pango)
5425: FileTP: Support options file_started_cmd and pause_new_downloads
5423: Print warning for empty admin password only if allowed_ips was altered
5422: Command "sources": Display only downloading files

2006/09/24
5405: BT: Use field "encoding" from .torrent to convert strings to UTF-8
5419: EDK: Remove titanesel.ws links
5418: Gnutella/G2/Fasttrack: Support client_bind_addr
5417: Edonkey comments: Telnet support, UTF-8 output in HTML
5416: Makefile.in: New variable $DEVFLAGSOPT for .cmx files (jave)
5415: New command option: rem disc - remove all disconnected servers

2006/09/23
5414: Edonkey comments, update gui prot, some bt peer ids (zet)
- Reimplement edonkey file comments with ratings (ro)
  (fixes exploitable DOS introduced in patch #5371)
- Add options "comments_filter", "max_comments_per_file", "max_comment_length"
- GUI protocol updated for comments, stats, libmagic, users/groups
- BT: Identify some more peer ids, as well as the reserved bits
- Fix some html code and other bugs
- Minor code cleanup

2006/09/22
5411: Portinfo: Rename gift_port to gift_port GUI

2006/09/19
5406: Multiuser: Small bug fixed in recover_temp (mu2.patch)
5406: Main multiuser patch, see docs/multiuser.txt for details
      thx to jave, pango, zet and many other people who have helped
      to make this work possible
- this patch is experimental, if it breaks, you can keep the pieces;-)
- multigroup_usercommit.patch and multigroup_su.patch are not included
- this patch is still not finished, the To-Do list in docs/multiuser.txt
  is still long, also GUI protocol updates have to be implemented.
  To manage users, groups and files, its best to use the HTML interface,
  multiuser commands can also be used in Telnet interface.
-------------------------------------------------------------------------------
2006/09/17 version 2.8.1 = tag release-2-8-1
5401: Fix question whether to compile Ocaml with some bash versions (pango)
5400: Allow use of Ocaml 3.09.3, keep 3.09.2 as default
5399: EDK, Telnet: Fix and clarify message when starting a search (schlotter)

2006/09/16
5397: EDK: Disable broken option emulate_sparsefiles
5395: Improve max_hard_up/download_rate computation code (pango)
5380: BT: Add file_num to certain log entries (jave)
5392: fix typos in help texts (schlotter)
5394: Fix max_hard_up/download_rate computation
- crashed on Windows when max_hard_upload_rate = 0
- when max_hard_upload_rate = 0 max_hard_download_rate was badly computed
-------------------------------------------------------------------------------
2006/09/14 version 2.8.0 = tag release-2-8-0
5390: Distinguish between charsets zh_cn and zh_tw
5389: Fix verify_chunks (pango)
5388: Small log update

2006/09/13
5386: Telnet: Longhelp cleanup
5385: Command mem_stats: verbosity 0 is default now
5360: patch removed, it does not fix the bug
5383: BT: Detect new client types (thx to pango)
- fix Mainline detection for two-digit version numbers
- fix Tornado detection
- fix broken Bits on wheels detection
- detect Rufus
- detect Bitspirit v3
5384: BT: Fix serious bug causing bad performance introduced
      by abstract bitmaps patch (pango)

2006/09/07
5369: Portinfo: fix String.length problems in Telnet (5369_2.patch)

2006/09/05
5294: HTML: Fix sources display for Gnutella/G2/Fasttrack/Filetp
      broken by patch #5294 (thx to z)
5368: Remove unused code from md5_c.c & os_stubs.h
5371: EDK: Support for eMule comments (read-only)
- new option html_mods_vd_comments to enable column in HTML, vd
- comments are shown in javascript popups and vd #num
5369: New command portinfo, display used ports during start-up

2006/09/04
5370: Correct option_versions defaults, remove commented EDK code

2006/09/03
5367: EDK: Use random default for ED2K_port instead of fixed 4662
- existing ini files are never changed
- after donkey.ini is created the value is not changed automatically
5366: HTML: Remove obsolete EDK history links
5365: Accept FTP URLs on command line
5364: Update options descriptions, remove obsolete options, clean log
5363: Limit max_hard_download_rate when max_hard_upload_rate < 10
- upload >= 10    -> unlimited download
- upload < 10 > 3 -> download limited to upload * 4
- upload < 4      -> download limited to upload * 3

2006/09/01
5361: Faster filenames_variability computation (pango)
5315: EDK: Change some internal server data to option values
5354: New option: max_filenames, maximum number of different filenames
5355: Move buffer_writes_delay timer from Donkey to Global module
5344: Small code optimization for stderr warnings (thx to pango)

2006/08/28
5341: New command: filenames_variability
- compute differences between the filenames of a file to detect fakes
  the higher the value, the more likely its a fake
5335: Fix small bugs in "!" command (execute shell commands)
5334: HTML: Display edk2 links in search results
5333: Clean logging (Swarmer, Fasttrack, Gnutella)
5332: New command option: rem blocked - remove all IP blocked servers
5330: Configure: Check MinGW version, at least 3.10 is needed (Schlumpf)
5329: some configure improvements and cleanups (Schlumpf)

2006/08/26
5320: some html_mods tables & css improvements (Schlumpf)
5322: Use CXXFLAGS present at configure when compiling (smimram)

2006/08/21
5319: Configure: New option --enable-minimum
- Compile MLDonkey with Donkey only, without gd, magic, bzip2, sui
5304: cleanup donkeyOptions.ml (whitespace, tabs, comments) (Schlumpf)
5303: cleanup btOptions.ml (whitespace, tabs, comments) (Schlumpf)
5302: cleanup commonOptions.ml (whitespace, tabs, comments) (Schlumpf)
5318: Fix wrong buildinfo configure args with autoconf 2.60
5317: Compile fix for GTK1 newgui in addition to patch 5310

2006/08/16
5309: Increase reserved number of FDs from 20 to 40 for dynamic libs
5310: EDK: Request filelist from friends only when requested,
      disable automatic download (pango)
5312: GTK2 GUI: Fix histograms (su_blanc)
5313: CryptoPP: Check for g++ capabilities

2006/08/15
5308: CryptoPP: Fix infinite loop when re-creating private key fails
5307: CryptoPP: Deactivate compiler option -momit-leaf-frame-pointer
5300: Fix iconv compile bug on Eisfair
5299: Support magicdb in $MLDONKEY_DIR/magic/magic if present
      this location is used in addition to the defaults of libmagic
5277: MinGW: use new gettimeofday() from mingw-runtime-3.10 (Schlumpf)

2006/08/12
5298: Some internal changes moved from multiuser patch to CVS
5285: GUI: Self-test en-/decoding only down to protocol 24 to solve
      crash when system date is wrong
5297: Force conversion of allowed_ips to IP blocklist when $MLDONKEY_DIR
      and ini files are created for the first time
5296: Telnet: Fix filesize display for 1kb, 1mb, 1gb values

2006/08/11
5295: Hard-coded minimum of 600s for min_reask_delay

2006/08/10
5294: Clean logging, small "if .. then true else false" function rewrites

2006/08/09
5288: EDK: Improve log when sharing is prevented due to inconsistent filesizes
5287: Swarmer: Remove obsolete option file_bitmap from files.ini
5286: Swarmer: (pango WIP10a)
      Fix commit of merged downloads + internal optimizations
5283: EDK: Fix IP display in GUIs for some firewalled clients

2006/08/08
5281: BT: Allow startbt to use URLs without extension ".tor" and ".torrent"

2006/08/06
5275: Change functions called when SIGHUP is sent
- BT: stop_all_bt is called to improve disconnect recognition
- instead of closing all sockets now all clients+servers are disconnected,
  GUIs will not be disconnected anymore
5276: web_infos, part II: Update server.met URL
- fix defaults and server list URL

2006/08/05
5276: web_infos: Update server.met URL
- http://www.jd2k.com/server.met does not exist anymore,
  now using http://www.gruk.org/server.met.gz again

2006/08/04
5272: Fix OS-detection bug in Unicode conversion when committing files
- should solve file naming problems on non-UTF8 systems

2006/07/29
5269: Fix maximum filename length recognition on Mac OS X

2006/07/28
5268: Swarmer: Fix Division_by_zero when starting downloads
      of files smaller than 200 bytes

2006/07/27
5266: EDK: New default 600s for upload_timeout, 60s was too short
5265: EDK: New option keep_sources, false to disable use of file_sources.ini
5264: allowed_ips: Support CIDR address/mask format and IP ranges (pango)
* old syntax is converted to CIDR format:
  - 192.168.000.255 -> 192.168.000.000/24
  - 192.168.255.255 -> 192.168.000.000/16
  - 192.255.255.255 -> 192.000.000.000/8
  - 255.255.255.255 -> 000.000.000.000/0
* new possible syntax, to calculate: http://www.subnet-calculator.com/cidr.php
  - CIDR, like 192.168.0.106/30 (192.168.0.104 - 192.168.0.107)
  - IP ranges, like 192.168.1.123 - 192.168.1.133

2006/07/24
5262: Small compile patch for Mac OS X 10.2.8 (Jaguar), small log fix
5260: Enable logging to syslog, update syslog.ml to version 1.3
* New option log_to_syslog, default false
  Post log messages to syslog. This setting is independent of log_file
  and its associated commands, therefore close_log does not stop log to syslog.
  Its therefore possible to log to syslog and log_file at the same time.
5261: MinGW: Fix compile bug with mingw-runtime-3.10
5259: Use Charset functions to determine extention of
      mlnet_strings file if $LANG is not set

2006/07/21
5257: HTML: Let allowed_ips allow connections from IPs part
      of IP blocklist for HTML interface only
5258: Add some files to src/utils/lib for later usage
* from pango
  ./src/utils/lib/levenshtein.ml
* from http://packages.qa.debian.org/s/syslog-ocaml.html
  ./src/utils/lib/syslog.ml
  ./src/utils/lib/syslog.mli

2006/07/20
5256: GTK1 GUIs: Compile fix for patch 5253
5253: Commit: Remove spaces at end of filename on FAT partitions,
      respect max_name_len value for all filesystems (pango)
5255: EDK: New client type VeryCD (compatibleclient 240)
5254: EDK: New default 60s for upload_timeout
5247: Update camlzip library to version 1.02 (Xavier Leroy)
- 64-bit incompatibility fixed
- Better support for large ZIP files (> 2 Gb)
5252: Update config.guess and config.sub to version 2006-07-02
5251: HTML: Re-implement motd_html by popular demand
* This patch brings motd_html back in addition to the current welcome message,
  default is empty.
5250: EDK: Print High/LowID in cleartext for command "id", fix LowID display
5249: Remove obsolete files from src/utils/[cdk;lib] and tools/
5246: HTTP: Print 401 error when login was unsuccessful

2006/07/17
5243: HTTP: Print 403 error for requests blocked by allowed_ips

2006/07/15
5203: Swarmer: Anti-fragmentation (pango, antifrag_v7)
* Each file is divided into blocks saved in new option
* file_disk_allocation_bitmap in swarmer section of files.ini
* Blocksize is computed like this: file_size / 200, rounded up to full
  megabytes, if bigger than 10MB: 10 MB are used as maximum blocksize.
  Preallocated blocks are marked file_disk_allocation_bitmap option.
* Blocks already fully preallocated on disk are prefered for downloading.
  That way one can get antifragmentation benefits without preallocating
  too much space, specially for downloads with small chunks.
* If the block about to be filled with data for the first time its read/written
  back to disk to allocate the space.
  Set verbosity to "verb" to enable logging of preallocation.
5242: GTK2 GUI: Remove unnecessary linefeed in console,
      remove some log and compiler warnings
5239: GTK2 GUI: Fix result sorting,
      update search results instead of double display (su_blanc)

2006/07/14
5222: Improve log output when HDD is full
5214: Gettext: Improve translations
* added ./distrib/i18n/mlnet_strings.de_DE.utf8 for testing purposes
  startup messages should appear in German now, more strings have
  yet to be translated, help welcome for all languages.
5238: Fix HDD space checks on CFS mounts
5235: Lock config_files_space.tmp and delete unused file on startup
5232: GUI: Fix decoding bug for Gnutella/G2/Fasttrack search results (zet)

2006/06/29
5213: Swarmer: Commit only primary downloads (pango)
5212: Fix DNS lookup of localhost (pango)
      SIGTERM & SIGINT support for GTK2 GUI

2006/06/27
5207: Remove some obsolete options: html_mods_vd_queues, ED2K-initial_score,
      ED2K-max_dialog_history, ED2K-immediate_master
5206: Remove Kiss DP500 support
5200: BT: Do not start downloads if no usable trackers are found in file.torrent
      MLDonkey only supports http:// style trackers, not udp:// or dht://
      Deactivated http:// trackers are better marked in HTML,vd #num
5202: Remove mlchat and outdated IM (instant messenger) code
      Remove outdated files from ./packages/windows
5204: Cleanup longhelp (anhi)
5205: Telnet: Fix another UTF8.length exception in search results

2006/06/22
5199: BT: Fix BT_client_uid changing between core start (orbit)
-------------------------------------------------------------------------------

Split Changelog, all stuff older than 2.8.0 is now in docs/ChangeLog.old:

http://savannah.nongnu.org/cgi-bin/viewcvs/mldonkey/mldonkey/docs/ChangeLog.old?rev=HEAD&content-type=text/vnd.viewcvs-markup
