patch #6804
[mldonkey.git] / docs / ChangeLog.old
blobd7dd90389ba1622b93f8e01eb18459aaeacc2580
1 ChangeLog
2 =========
4 All numbers mentioned here can be found as patches on
5 http://savannah.nongnu.org/patch/?group=mldonkey
7 2007/02/15: spiralvoice
9 Split Changelog, all stuff newer than 2.7.7 is now in distrib/ChangeLog
10 -------------------------------------------------------------------------------
11 2006/06/19: version 2.7.7 = tag release-2-7-7
12 5196: IP: Store IPs with two int values instead of four to save RAM (pango)
13 5195: BT: Log tracker error messages in UTF-8
14 5194: HTML: Print warning on opening page when enable_servers is set to false
16 2006/06/18
17 5191: HTML: remove sysinfo on opening page & option motd_html
18 5192: Fix deactivation of verbosity "gui"
19 5163: Configure: CVS SCM support for Mac OS X 10.3 (gstat)
21 2006/06/17
22 5158: HTML: Use table for printing buildinfo and runinfo data (schlumpf, pango)
24 2006/06/16
25 5187: New option: BT_import_new_torrents_interval,
26       ignore Thumbs.db & desktop.ini in directory lists
27 5186: GUI: Send only non-empty real_startup_message string
29 2006/06/15
30 5156: HTML, improve Options output (schlumpf)
31 * new command html_mods_use_js_helptext (true|false)
32   to change display of helptext between javascript popup`s and html table
33 * fix some padding and border bugs
34 * add "toggle js_helptext" button to 'vo' and 'voo' to directly toggle the style
36 2006/06/12
37 5061: New option small_files_slot_limit to push release of small files (pango)
38       all files below the configured file size (default 10kb) are uploaded
39       through one reserved slot
40 5144: Increase default max_upload_rate to 10 (schlumpf)
41 5177: HTML, Options: update display after changing options (schlumpf)
42 5176: Swarming: Change error message text and verbosity for BAD WRITE
43       BAD WRITE is not really an error, MLDonkey just receives unwanted data
44 5175: GTK1 oldgui: Last compile fix for abstract verification bitmaps (pango)
45 5174: Abstract verification bitmaps:
46       compile fixes for GTK1 GUIs, move generic code to CDK (pango)
47 5173: Swarmer: Small fix for merged downloads (WIP7b') (pango)
49 2006/06/11
50 5172: EDK: Log error which causes pausing a download
51 5171: New command group "Driver/Users",
52       print help text for "Bad number of arguments" error message
53 5170: Fix default max_indirect_connections, minimum is 30
54 5169: HTML, Options: add description to option section buttons,
55       remove 'save' button (schlumpf)
56 5168: Global module to abstract verification bitmaps (pango)
57 5167: Swarmer: Fix saving ini data for merged downloads (pango)
58 5166: Swarmer: New module to abstract verification bitmaps (pango)
60 2006/06/07
61 5164: CommonSwarming: Pangos WIP5e'
62 * When cutting a range, the reciprocal link of the range after the right part
63   still references the left part
64 * When cutting a block in two parts can before empty, but then can also before
65   complete (if they have no ranges left)
66 * Added bad_writes_is_back patch
67 * When find_range can only find ranges already being downloaded, it now first
68   does a quick check to see if there's no other, probably more interesting,
69   blocks remaining. If so, it forces a block change (report no more ranges left)
70 * While it's a good feature in itself, it's probably a workaround for a bug in
71   select_block (?); It seems that blocks oversaturated with sources happen way
72   too often (4 or 5 sources on a single range shouldn't happen).
73 * Compute the size of unselected ranges in each blocks, so that sources don't
74   "rush" on blocks just left by a source.
75 * Some BAD WRITEs seems to happen because we forget ranges we requested
76   (when switching blocks ?)
77 * Replaced call to clear_uploader_ranges by a call to clear_uploader_intervals
78   in BitTorrent support Choke message handler.
79 5063: EDK: remove duplicate entries in shared_files_new.ini (pango)
80 5160: Remove stale avifile.ml, clean commonMultimedia logging
81 5159: Compute magic values only when needed
82 5157: add some line breaks to option help text for shorter lines (schlumpf)
84 2006/06/01
85 5153: New command: force_web_infos to manually download web_infos URLs
86 5152: Do not connect friends from disabled networks
87 5151: Options: New stringvalue functions needed for multiuser support
88 5150: Log: Fix log when server list is empty in check_blocked_servers
90 2006/05/31
91 5149: Log: Some additions for commonSwarming
92 5148: Mail: Fix for multiline SMTP responses (zet)
93 5143: HTML/Telnet: Country codes for servers
94 5147: G1/G2: Display proper filename (and therefore support rename) (zet)
95 5145: EDK: Fix md4 hashing when filesize is an exact multiple
96       of edk chunk size, MLDonkey is now eMule-compatible (zet)
98 2006/05/30
99 5141: Swarmer: New option swarming_block_selection_algorithm (pango)
100 * Allow to choose swarmer block selection algorithm at runtime.
101   - Algorithm 1 is the current default algorithm
102   - Algorithm 2, from WIP3o patch, should try harder to complete partially
103     downloaded chunks, specially with Bittorrent. It was previously
104     reverted because of unknown performance problem (slower download ?)
105 5140: Update .cvsignore files (pango)
106 5138: Catch ip banned exception (zet)
107 5137: HTML: Fix display of file magic values with '
108 5136: FileTP: fixes and enhancements (zet)
109 * Add "FTP-chunk_size" option (0 = no chunks = download full file at once)
110 -- A chunk_size would be required if downloading from > 1 source
111 * Add FTP downloads to bandwidth controller (for stats & speed limiter)
112 * Support FTP sites that do not buffer input (MS FTP)
113 * Add support for user/pass (http://user:pass@site or ftp://user:pass@site).
114   This also adds user/pass support to http_client.
115 * Error codes from HTTP (ie: 404) and some from FTP are supported (530 sometimes
116   signals a retry, sometimes a login failure so a regex was used (lftp)).
117   Downloads are paused when a hard error is received (and noted in the log).
119 2006/05/25
120 5131: New option gui_log_size: number of lines for GUI console messages
121 5129: HTML: Display client_bind_addr in options menu
122 5124: Log: Login messages can be disabled with verbosity "no-login"
123 5130: CommonSwarming: Pangos WIP4a'
124 thanks for testing goes to SchAmane, CruX, jave (forgot someone?)
125 That's a huge patch over CommonSwarming module (whose job is to select what data
126 to ask from connected sources, and the merging of received data),
127 I hope I'm not forgetting anything important :
128 * first, it's a mantainance patch; Lots of code have been reworked for
129   readability and compactness (iterators...), functions grouped together,
130   sometimes renamed to more descriptive names. Lots of comments have been added,
131   including the description of invariants I've found, and a nice ASCII art
132   schema of the swarming datastructures ;)
133 * naming has been made more consistant, to differenciate chunks (from each
134   network view) from blocks (internal to swarming), and intervals (list of
135   int64 * int64 beggining/end offset pairs)
136 * Support for bitmaps encoded as strings (AvailableCharBitmap) removed, since
137   it's no longer used anywhere; use the more compact AvailableBitv instead
138 * Removed range_current_begin from ranges, it's enough for a range to have a
139   beginning and a end ;)
140 * Rewrote compute_block_num to have precise preconditions, and algorithm proof
141 * Added some assertions to better enforce invariants
142   (on verification bitmaps, for example)
143 * Allocation of ranges is now delayed until the very last moment, instead of
144   when a chunk starts being downloaded. Main benefit (beside small memory gain)
145   is that requests for different ranges sizes can be fulfilled at any time.
146 * Modified received function so that no BAD WRITE message can happen anymore:
147   condition when data that does not start from the beginning of a range is
148   correctly detected and data discarded
149   (since ranges cannot handle that case anyway)
150 * Rewrote a much simpler version of present_intervals
151 * Rewrote block selection algorithm for readability and flexibility; select_block
152   simply "folds" over all available blocks, using compare_choices function to
153   keep the best available one(s). May need some more CPU (no fast exit)
154 * Fixed donkey uploaders calls when disconnected
155 * Reenable the copy of identical chunks between files. Opportunities for copies
156   are checked every 5 minutes.
157 * Made file writing a bit smarter in Unix32 module so that writing zeroed chunks
158   (as can happen a lot with chunks copying) on an otherwise sparse temp file
159   does not allocate disk space. A bit hackish.
161 2006/05/23
162 5121: EDK: Remove obsolete option emule_compression
163 5122: improve block_list output and runinfo ip blocking (schlumpf)
164 5123: Fix Invalid_argument("UTF8.length") bug in HTML, down-/uploaders
165 -------------------------------------------------------------------------------
166 2006/05/21: version 2.7.6 = tag release-2-7-6
167 5119: HTML, Options: Include Wiki link in options names
168 5117: Telnet: replace "avail" by "last seen"/fix non-ASCII-filename column width
170 2006/05/20
171 5118: Log: Correct prefix for donkeyClient.ml
172 5116: HTML: Fix javascript popup in search results for Opera (dextarr)
173 5112: Fix lprintf_nl (search/replace ()'s) (zet)
174 5113: Fix config/wget.c (zet)
175 5111: Configure: Fix $SOURCE_DIR broken since patch #5095
176 5109: New option: pause_new_downloads
177 - Set to true all new downloads will be paused automatically.
178 - This option is automatically set to false on core start.
179 EDK: Disable ED2K_connect_only_preferred_server if not preferred server is
180      found, this check is done once per minute
182 2006/05/19
183 5107: Configure: Check for MAGIC_ERROR in magic.h
184 5106: BT: only send stop once on exit and then wait for success (Amorphous)
185 5105: BT: Avoid starting torrent which has the same name
186       as a currently downloading torrent
188 2006/05/18
189 5097: HTML: Improved DL multiline input button (jave)
190 5103: Fix compile bug in magiclib_stub.c on Solaris & NetBSD
192 2006/05/17
193 5101: G2: Gnutella2 fixes/log updates (zet)
194 - Gnutella2 (G2) is working again
195 - Re-enables search result networks
196 - Log logged-in users
197 5098: EDK: Update option description for initial_score
199 2006/05/15
200 5090: Http_client: Fix 302 redirect when Location starts with "."
201       and filename changes
202 5095: Configure: improve libpng detection, optical improvements
204 2006/05/14
205 5094: Wget: New internal variable req_save <bool>
206 5093: CommonSwarming: Verbose error message if file size does not match
207 5092: HTML, rss: Add startbt link
208 5091: HTML: update EDK history links
210 2006/05/13
211 5089: IPBlock: Print seperate lists in block_list command for IPs
212       blocked by local and web IP blocklists (pango)
214 2006/05/12
215 4976: Filetype recognition with libmagic
216 - new debug command: debug_dir, prints magic values for all files
217 - display file magic values in vd & upstats HTML popup & vd #num
218 NetBSD/Solaris users have to disable this function "--disable-magic"
219 until this bug is fixed:
220 http://savannah.nongnu.org/patch/?func=detailitem&item_id=4976#comment9
221 5088: Gnutella/FT/http_client fixes (zet)
222 - Gnutella (G1) is working again
224 2006/05/11
225 5087: HTML, upstats: new tooltip with complete filename,
226       respect max_name_len for filename
228 2006/05/10
229 5083: HTML: Update EDK file history links (unease)
231 2006/05/09
232 5082: FileTP/Fasttrack/Soulseek: Fix splitting chunks off-by-one (pango)
233 5081: Change default ip_blocking_descriptions to false for faster startup
234 5080: Only print servers of enabled networks (pango)
235 5079: Ignore ._* in directory lists (pango)
236 5078: Telnet: Remove HTML code from sysinfo command
237 5077: FT: Fix fasttrack connection problem and adds a bootstrap nodes file url
238       Removes old/broken imesh bootstrap node (zet)
240 2006/05/07
241 5076: Gd: Do not disable html_mods_vd_gfx if core is compiled without GD support
242 5075: DNS round robin, keep all IP addresses associated with DNS names,
243       and return next one upon each request. (pango)
245 2006/05/06
246 5069: EDK: Fix broken unicode URIs parsing broken since 2.7.4 (pango)
247 5074: Change default Ocaml version to 3.09.2
248 5073: Update default IP blocklist URL, replaced
249       http://www.bluetack.co.uk/config/antip2p.txt with
250       http://www.bluetack.co.uk/config/level1.gz
251 5068: New global option user_agent, current option BT-user_agent overrides
252       the global value in BT module (pango)
253 5064: BT: only try to connect to http trackers (pango)
254 5040: Overnet: Open TCP port only when network is active
256 2006/04/14
257 5036: BT: Correctly parse .torrent files with an empty directory (again)
258 5039: Fix dp500 compile
259 -------------------------------------------------------------------------------
260 2006/04/13: version 2.7.5 = tag release-2-7-5
262 2006/04/10
263 5035: Make Soulseek, Opennapster, DirectConnect compilable again
264   This does not mean the network modules work again,
265   they only compile again. More work is needed.
266 5032: CommonSwarming/WIP2: Some function rewrites and comments (pango)
268 2006/04/09
269 5031: Merge CommonSwarming and CommonSwarming2 code (pango)
271 2006/04/08
272 5029: EDK: Remove set_brothers command and brotherhood option
273 5030: Update config.guess and config.sub to version 2006-02-27
274 4778: CommonSwarming: In addition to the first and last chunk also load
275       the second last chunk if available before the rest to improve preview
276 5028: New environment variable for file_completed_cmd:
277       $DLFILES (number of downloading files)
278 5027: EDK: Deactivate DonkeySUI if /dev/urandom is missing
280 2006/04/06
281 5021: Fix compile bug in tryopen patch when bzip2 is disabled
282 5020: Allow compile with Ocaml 3.09.2 CVS code,
283       3.09.1 will stay default for MLDonkey-compiled Ocaml
284 5016: Options save: Really fix bug addressed in patch #5015
286 2006/04/05
287 5015: Fix option file saving bug introduced in tryopen patch
289 2006/04/03
290 5011: EDK: Update server info received by UDP when
291       update_server_list_server false (pango)
292 5009: Ignore files .DS_Store and ._filename.ext in dir listings on all platforms
293 5006: Small logfile change
294 5004: Automatically closes opened descriptors using "tryopen pattern" (pango)
295 5005: CommonBlocking: Do not block IPs when GeoIP database is not loaded
297 2006/04/02
298 5003: BT: Improve client recognition (zet)
299 5002: Overnet: Fix Out of Memory Exception (zet)
301 2006/03/31
302 4997: Swarming: correctly create a new range when one is splitted (pango)
304 2006/03/29
305 4931: CommonBlocking: Block/allow IPs by country codes (requires GeoIP) (pango)
306 - new options:
307   - ip_blocking_countries, insert country codes here
308   - ip_blocking_countries_block true|false
309       false: use ip_blocking_countries as block list,
310              all other countries are allowed
311       true:  use ip_blocking_countries as allow list,
312              all other countries are blocked
313 4995: HTML: Fix friends filelist display
314 4996: HTML: Add/remove for web_infos (vwi), update old contact.dat URL
315 - web_infos, rename command add_url to urladd, new command urlremove
316 - prints option help texts for web_infos and calendar command
317 - file_kinds are now printed as list with descriptions for easier setup
319 2006/03/19
320 4917: HDD space check
321 - New options:
322   hdd_send_warning_interval
323     Send a warning mail each <interval> hours for each directory,
324     0 to deactivate mail warnings.
326   hdd_temp_minfree
327     Mininum free space in MB on temp_directory, minimum 50
328   hdd_temp_stop_core, default false
329     If true core shuts down when free space on temp dir is below
330     hdd_temp_minfree, otherwise all downloads are queued and a
331     warning email is sent.
333   hdd_coredir_minfree
334     Mininum free space in MB on core or log directory, minimum 20
335   hdd_coredir_stop_core, default true
336     If true core shuts down when free space on core dir is below
337     hdd_coredir_minfree, otherwise all ini file saving is stopped
338     until core shutdown and a warning email is sent.
339     Logging is sent to RAM when log dir is full.
341 The hard-coded minimum values can not be circumvented, MLDonkey will always
342 perform these HDD space checks once a minute.
344 2006/03/18
345 4985: Log file clean-up for verbosity = "md4"
347 2006/03/17
348 4981: Dllink: Fix wrong referer in HEAD request
349 4980: Multiuser: internal admin_user variable
350 4979: Fix hashing large number of files
352 2006/03/15
353 4972: FileTP: Allow ftp:// downloads via dllink command
354 4971: BT: Allow read-only access for shared files
355 4967: CommonUserDb: Keep old user database updated for easy downgrades
357 2006/03/09
358 4962: BT: New command "startbt" to force the start of a torrent download (jave)
360 2006/03/08
361 4963: Re-apply $DEVFLAGS to Makefile.in (pango)
362 4961: EDK: New default URL for server list download
363 4960: Ignore .DS_Store on MacOSX, BT: ignore dirs in torrents/incoming (pango)
365 2006/03/06
366 4954: New function Unix32.owner to read user and group entry of a file 
367 - to debug use command debug_fileinfo <file>
368 - renamed debug command "disk" to "debug_disk"
369 - renamed debug command "rlimit" to "debug_rlimit"
370 4950: Close unneeded file descriptors
372 2006/03/05
373 4946: System-wide cookies and referers option
374 - MLDonkey will not move data from bittorrent.ini to downloads.ini
375 - This data will be used in web_infos, dllink and BT module.
376 4951: GUI: Update server country codes after loading GeoIP data
377 4949: Gzip/Bzip2: Close opened FD after opening an invalid archive file
378 4945: BT: Automatically start new torrents downloads
379 - new directory $MLDONKEY_DIR/torrents/incoming, all files present
380   in this dir are started automatically, its scanned every 10 seconds.
382 2006/03/01
383 4939: Support for compressed ipfilter.dat files (.gz, .bz2 or .zip) (pango)
384 4930: giFT GUI: Authentication support (pango)
385 - login with giFTcurs now has to be done like this: giFTcurs -p user:password
387 2006/02/26
388 4938: Improve MLDonkey system user database
389 due to older problems with HTML interface:
390 - renamed command add_user to useradd
391 - renamed command remove_user to userdel
392 - user name is printed in browser title when bwstats is active
393 -------------------------------------------------------------------------------
394 2006/02/26: version 2.7.4 = tag release-2-7-4
396 2006/02/25
397 4928: BT: Fix invalid encoding in announce URL (darkfader)
398 - removed old, broken version and added new version
400 2006/02/23
401 4934: FileTP: Small improvements
402 - fix download restart bug when core is restarted, sources where not loaded
403 - save referer values to files.ini
404 - display amount of transfered data in downloaders list
405 - display source IP and Countrycode in HTML downloaders list
406 - display filesize in GUI
407 - display number of sources in GUI
408 4933: BT: Display number of sources in GUI
410 2006/02/21
411 4928: BT: Fix invalid encoding in announce URL (darkfader)
412 4929: Do not print password_empty warning if enable_user_config true
413 4926: Runinfo: Warn about not-working DNS resolution,
414       /dev/urandom detection was not disabled if --disable-donkeysui is used
416 2006/02/20
417 4922: OpenBSD: Small change for patch 4920
418 4921: MinGW: show current DL & UL stats in console title (Schlumpf)
419 4909: Print warning messages when run on non-supported operating systems
420       currently for example Windows 95/98/ME (Schlumpf)
421 4920: Cleanup included header files in C code (Schlumpf)
423 2006/02/17
424 4910: EDK: Use updated protocol information when parsing
425       consecutive messages (sam_dennis)
426 4915: Log: Small cleanups
427 4918: some syntax and comment cleanups in stubs_c.c (Schlumpf)
429 2006/02/13
430 4906: MinGW: improve uname output (Schlumpf)
431 4908: Configure: Fix for Beos, allow use of Dragonfly BSD
433 2006/02/11
434 4883: Mac OS X: Fix for broken Apple cpp-3.3
435 4902: EDK: Stub respond to directory browsing requests (sam_dennis)
436 4905: Update for patch 4823: add another -fno-fomit-frame-pointer
437       in config/Makefile.in to avoid breaking CryptoPP (mikeX)
438 4903: EDK: Remove obsolete donkeyNeighbours (thx to sam_dennis)
439 4907: EDK: Fixed copy/paste error in emule miscoptions1 reading (sam_dennis)
441 2006/02/10
442 4904: Configure: Raise required autoconf version to 2.55 due to AC_MSG_FAILURE
444 2006/02/09
445 4892: Fix make when CXXFLAGS is defined (mikex)
446 4894: EDK: Support "new ed2k meta tags" to allow browsing
447       shared directories of newer eMule clients (sam_dennis)
448 4891: Configure: Override system-installed Ocaml and force local compile
449   Use ./configure --enable-force-ocaml to force MLDonkey to compile Ocaml,
450   regardless if the system has Ocaml already installed or not.
451   --enable-ocamlver=CVS uses a CVS checkout of Ocaml HEAD.
452 4885: EDK: Show correct IP of indirect clients in uploader list
454 2006/02/06
455 4879: EDK: Support for sources in ed2k:// links
456 - example:
457 ed2k://|file|a.txt|1|AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA|/|sources,1.0.0.0:4662|/
458 4849: EDK: Fix hashing of newly shared files
459 - avoid hashing shared files twice
460 - avoid problems while hashing big files
461 - remove obsolete compute_md4_delay option
462 4878: Addition to patch 4875 (conditional bzip2 support using cpp)
464 2006/02/05
465 4877: BT: Recognize Ktorrent clients (CruX, zet)
466 4876: EDK: Remove obsolete option random_order_download
467 4875: conditional bzip2 support using cpp (pango)
468 4870: runinfo: add connected_user and check empty PW (schlumpf)
469 4872: Fix gd detection on NetBSD, use data from gdlib-config
470       MinGW compile-guide was updated, gdlib-config has to be changed
471 4871: Optimize some Printf.sprintf "%s" code
472 4869: Remove obsolete redirector code
473       http://mldonkey.sourceforge.net/Redirector
474 4856: reverse patch: configure: disable iconv by default on MinGW
475       it is not necessary anymore
477 2006/02/04
478 4867: Use setrlimit to raise allowed ulimit open files
480 2006/02/03
481 4863: GUI/Multiuser: Prevent kill by users other than admin
482 4862: EDK: Fix broken import of eMule temp Files (import_temp) (schlumpf)
483 4860: Multiuser: print warning if admin password is empty
484 - user admin is re-created if deleted, it has to be present in any case because
485   some commands are only available for admin,  like users, remove_user and kill
486 - create structure for startup messages, displayed on GUI, HTML, Telnet
487 4859: Multiuser: Only user "admin" is allowed to change options
488       if the new option enable_user_config (default true) is set to false
489 4858: HTML: Update some links to mldonkey.sf.net
490 4857: SIGUSR1 & SIGUSR2 do not exist on Windows
491 4856: configure: disable iconv by default on MinGW
492 4853: Fix HTML errors on rss command output (unease)
494 2006/02/02
495 4851: Support system signals SIGUSR1 & SIGUSR2
496       SIGUSR1 saves options
497       SIGUSR2 performs garbage collection
498 4850: Fixed bitprint hashing for files > 4GB (thx to zet)
499       mld_hash: implement SIGINT and SIGTERM signals
501 2006/01/29
502 4844: Fix Solaris compile broken since DonkeySUI patch
503 4830: Update Wiki links
504       New Wiki URL: http://mldonkey.sourceforge.net
505       New Forum URL: http://mldonkey.sourceforge.net/forums
506 4843: HTML: Improve output of rss command
507 4842: Some logfile stuff
508 4841: Create new dir web_infos for web_infos files,
509       BT: do not save .torrent or announce.*
510       all files downloaded by web_infos go to $MLDONKEY_DIR/web_infos
511       to avoid downloading files twice move files from $MLDONKEY_DIR
512       into that new dir
513 4826: improve error message due to corrupt config files (schlumpf)
514 4821: improve display of sysinfo (schlumpf)
516 2006/01/26
517 4816: Update Ocaml-RSS and Xml-light to current versions
518 4827: longhelp cleanup (anhi)
519 4823: EDK: CryptoPP optional, disable with --disable-donkeysui
520       Makefile: link CryptoPP stuff only in binaries which need it
521       Buildinfo: show compiler versions
522       Configure: display compiler versions (schlumpf)
523       Configure: if iconv checking fails continue with disabled iconv
524       Configure: do not use bzip2 if bzip.h is not found (FLI4L buildroot)
526 2006/01/25
527 4820: Move CommonGraphics to DriverGraphics, check libgd version
528       Configure: Check if libgd > 2.0.14 is installed
529       NetBSD: added paths for libgd package
530       NetBSD: adjusted stat command to properly read SCM date
531       move build-, run-, and diskinfo command to driver module
532       (thanks to SchAmane)
533 -------------------------------------------------------------------------------
534 2006/01/19: version 2.7.3 = tag release-2-7-3
535 4791: web_infos: New type geoip.dat, save files to local disk,
536       re-download only if file on server is newer
537 - now all files except type "rss" in web_infos are saved to local disk
538   if not present or server version is newer
539 - MLDonkey uses HTML header last-modified to check if a file has been updated
540 - downloaded file timestamp is changed to last-modified time
541 - show number of IP blocking ranges in runinfo
542 - new web_infos kind: geoip.dat
543 - automatically add geoip.dat to web_infos
544 - support for *.gz|bz2|zip compressed GeoIP.dat files
545 4811: EDK: Print warning when starting a file too big for filesystem,
546       clean Ux32 logging
547 4810: Update search results with highest avail/completesources tags (zet)
549 2006/01/16
550 4803: BT: force uniqueness of added trackers by "trackers" command (pango)
551 4801: EDK: add more server info fields (html and guiprot) (zet)
552 4798: Fix thread recognition on *BSD
554 2006/01/15
555 4797: EDK: Always put server connect requests in connection queue,
556       whether max_opened_connections is reached or not
557       Connection will be established later when a socket is available
559 2006/01/14
560 4796: Windows: Log proper warning when MaxUserPort is reached (thx to Enig)
561 4795: Mailer: Fix Subject encoding (bogeyman)
562 4716: BT: new command "tracker" to add trackers (bogeyman)
564 2006/01/12
565 4792: GeoIP: Add license (distrib/GeoIP_LICENSE.txt, runinfo)
566       This product includes GeoLite data created by MaxMind,
567       available from http://maxmind.com/
568 4776: EDK: Avoid LowID if max_indirect_connections is reached (thx to zet)
569 4787: EDK: Show server version (ported from Mulus - thx to Knocker),
570       disconnect blocked server after loading IP blocklist
572 2006/01/11
573 4790: Some logging stuff
574 4781: Disconnect connected server before removing
575 4782: Configure: Replace AC_CHECK_FILE with "test -d" to allow cross-compile
577 2006/01/09
578 4770: Change file opening mechanism, open rw only when needed (pango)
579       new verbosity option "file" to control Unix32 file handling
580 4777: Display IP:port for LowID clients, GUI protocol update (zet)
582 2006/01/07
583 4769: HTML: Fix some Geoip display bugs
585 2006/01/06
586 4768: Dynamic loop delay (pango)
587 4765: Add GeoIP.dat support (zet)
588       GeoIP is a GPL database that maps IPs to countries.
589       http://www.maxmind.com/download/geoip/database/
590       This patch adds support for a "geoip_dat" option.
591       It is a simple ocaml translation of just the geoip country lookup code.
592       If active, the file is left open and consulted on demand.
593       It didn't seem to slow anything down on my slow system.
594       Sends the country # to the gui, use latest Sancho version to use it.
595       Web: displays country codes in a column (name in tooltip).
596       Maybe someone wants to add flag images (please make them optional).
597 -------------------------------------------------------------------------------
598 2006/01/05: version 2.7.2 = tag release-2-7-2
599 4764: Patch for MLDonkey-compiled Ocaml-3.09.1 to fix GTK1 oldgui compile
600 4763: Compile patch for GTK1 oldgui with Ocaml 3.09.1
601 Ocaml 3.09.1 has a bug which prevents compiling GTK1 oldgui.
602 A patch can be found here: http://caml.inria.fr/mantis/view.php?id=3948
604 2006/01/04
605 4761: Insert glibc version in archives build by release targets
606 4760: Allow use of Ocaml 3.09.1
607       MLDonkey can now be compiled with Ocaml 3.08.3/4, 3.09.0/1
608       Default for MLDonkey-compiled Ocaml is now 3.09.1
609 4759: Configure: Improve gcc check
610 4757: Compile patches for MorphOS (Christian Rosentreter)
611 4748: HTML: Allow rename of files with '#', '&' and '%',
612       remove invalid chars from filenames depending on OS (thx to pango)
613 4756: HTML: Print build- and runinfo on main page,
614       fix reload bug when changing html_mods/html_themes (Knocker)
616 2006/01/03
617 4751: Ease use of messages_filter option (pango)
618 4753: Allow upper case MD4 for ed2k-links in mldonkey_submit (fcrozat)
619 4754: New parameter --auth for mldonkey_command (plf team)
621 2006/01/02
622 4749: GUI: send shared sub_files to gui (zet)
624 2006/01/01
625 4712: Change terminal color for command line from blue to cyan (romildo)
626 4742: Log: remove verbosity "tor" & "file", improve verbosity "verb"
627 4743: EDK: Print "File is already shared" when trying to start downloading
628       an already shared file
629 4744: Split client_timeout into ED2K-client_timeout and BT-client_timeout,
630       increase BT-client_timeout to 90 (tradie)
631 4745: Update config.guess and config.sub to version 2005-12-23
633 2005/12/28
634 4725: Check if ulimit is sufficient for MLDonkey,
635       auto-adjust max_opened_connections
636 * moved ED2K-max_indirect_connections to downloads.ini
637 * max_indirect_connections is now a %-value of max_opened_connections
638 * minimum ulimit for open files is now 150 (most systems have 1024),
639   MLDonkey will refuse to start if ulimit is lower
640 * minimum max_opened_connections is now 75
641 * reduced max_concurrent_downloads from 60 to 50
642 * minimum ulimit -n 150 is used like this:
643   - 75 max_opened_connections
644   - 50 downloading files
645   - 5 upload slots
646   - 20 fd as reserve for ini files
647 4704: Fix some C compile warnings (schlumpf)
648 4739: Fix some cross-compiling obstacles, remove Ocaml 3.08.2 compatability
649 * Cross-compiling is only possible with a correct Ocaml toolchain
650 * MLDonkey can not build this Ocaml toolchain
651 * This patch only fixes some autoconf checks
652 4735: MinGW: pause before core exit because of existing Pid file
653 4736: New commands: sysinfo, runinfo and diskinfo
654 * removed temp_directory and core_directory from shares command output
655 * new commands sysinfo, runinfo and diskinfo
656 * buildinfo now prints only buildinfo
657 * runinfo prints run-time information
658 * new command diskinfo prints filesystem data about temp_directory,
659   core_directory and all shared dirs
660 * sysinfo prints buildinfo, runinfo and diskinfo alltogether
661 4712: Change terminal color for downloading files from blue to cyan (romildo)
663 2005/12/24
664 4732: Log: More infos for verbosity = " verb"
666 2005/12/21
667 4728: fix date format (zet)
668 4730: BT: parse path.utf-8 (zet)
670 2005/12/19
671 4726: New option space_overhead to adjust garbage collection (bogeyman)
672 4724: Windows: 10 seconds pause when core start fails
673       to make error messages readable
675 2005/12/18
676 4723: New build target: make ocamldoc (pango)
677 4721: Log: Improve output for verbosity "verb", remove verbosity "hid"
679 2005/12/17
680 4719: Fix linking of dp500 (pango)
681 4715: OV: Improve searching, longer ov timeout, some more bugfixes (bogeyman)
682 4718: Fix bug which prevented proper write to files introduced in patch #4694
683 4717: EDK: Removed unused variable file_md4s_to_register (bogeyman)
685 2005/12/16
686 4703: BT: Deactivate dead trackers,
687       re-enable them if no active trackers are found (pango)
688 4708: HTML upstats: Enable preview for shared files
689 4652: dllink: reject EDK files > 4GB, print access errors for .torrent files
691 2005/12/15
692       Removed orphaned files:
693       src/networks/donkey/donkeyFiles.mli
694       src/networks/donkey/donkeyInteractive.mli
695       src/networks/donkey/donkeyMain.mli
696 4710: Re-add some protocol information as comments removed by patch 4694
697 4709: Fix zip file extract broken due to patch 4694 (Ocaml 3.09)
698 4707: Fix recover_temp broken by patch 4674 (force_download)
700 2005/12/14
701 4706: EDK: Remove donkeyChunks, use commonSwarming for op_file_check
702 4702: Correct timezone in e-mail, nicer uptime, timezone and uptime in runinfo
703 4694: Fix lots of compile warnings in Ocaml 3.09
704 4705: Update config.guess and config.sub to version 2005-11-11
705       Mozilla MLdonkey Protocol Handler updated to version 1.7
707 2005/12/13
708       Removed orphaned files:
709       src/networks/fasttrack/fasttrack.ml
710       src/networks/gnutella/gnutella1.ml
711       src/networks/gnutella/gnutella.ml
712       src/networks/gnutella/gnutellaScheduler.ml
713       src/networks/gnutella/gnutellaZlib.ml
714       src/networks/gnutella2/g2Scheduler.mlt
715       src/networks/gnutella2/gnutella2.ml
716 4700: Log: New verbosity option "gui" to debug GUI protocol
717 4696: Fix some C compiler warnings
719 2005/12/10
720 4687: Compile fix for Ocaml 3.09.0 (gildor), MLDonkey can now be compiled
721       with Ocaml 3.08.[2,3,4] and Ocaml 3.09.x (4687_min2.patch)
722 4693: Compile patch in sha1.c for FreeBSD (lioux)
723 4689: Catch exception in file_completed_cmd to let commit complete
724 4691: file_completed_cmd: $DURATION in seconds (debonair)
725 -------------------------------------------------------------------------------
726 2005/12/06: version 2.7.1 = tag release-2-7-1
727 4679: FileTP: Fix HTTP downloading for URLs with space chars, log cleaning
728 4674: EDK: Re-enable checking old_files before starting a download
729       and force_download command
730 4676: BT: decode_version fix and html sort fix (bogeyman)
732 2005/12/05
733 4673: IPBlock: display original length and optimized length in block_list,
734       log file clean up
736 2005/12/04
737 4672: FileTP: Fix major bug in HTTP downloading, introduced in 2.6.0
739 2005/12/03
740 4671: Compile fix in CryptoPP.h for gcc-2.96 (trdw)
741 4670: Increase max_buffer_size limit for high-volume connections
743 2005/12/02
744 4649: Updates for file_completed_cmd (pango, spiralvoice)
745 * some log cleaning
746 * added information to notification email if auto_commit is disabled,
747   email is sent by file_completed, not file_commit
748 * moved execution of !!file_completed_cmd from file_completed
749   to file_commit, kept option name for easier upgrading
750   this was done because the filename of a downloading file can be
751   different than the filename of the committed file if a file
752   with the same name as the to be committed file is already in
753   incoming. older method did not take this into account at all..
754 * added environment variables for file_completed_cmd, see description:
756     A command that is called when a file is committed, does not work on MinGW.
757     Arguments are (kept for compatability):
758     $1 - temp file name, without path
759     $2 - file size
760     $3 - filename of the committed file
761     Also these environment variables can be used (prefered way):
762     $TEMPNAME - temp file name, including path
763     $FILEID - same as $1
764     $FILESIZE - same as $2
765     $FILENAME - same as $3
766     $FILEHASH - internal hash
767     $DURATION - download duration
768     $INCOMING - directory used for commit
769     $NETWORK - network used for downloading
770     $ED2K_HASH - ed2k hash if MD4 is known
772 4667: Update Ocaml download URL
773 4666: Always create incoming directories before commit
774 4663: CryptoPP: Latest fixes ported from aMule CVS
776 2005/12/01
777 4657: Fix for C files for AMD64, mipsel platforms
778       improve endianness checking in tiger.c, md5_c.c and CryptoPP.h,
779       print endianness in buildinfo, removed sha1_old code
780 4661: Log: newline before exception message when MLDonkey can not use a port
781       BT: exit if client_port = tracker_port
783 2005/11/28
784 4654: Fix guiprot when addr not resolvable (zet)
785 4655: Set conn_user on gui (zet)
786 4656: BT: update last seen complete field and fix bitfield reading (zet)
788 2005/11/27
789 4653: GTK2 GUI: add isohunt statistics (su_blanc)
791 2005/11/22
792 4364: Let mlnet build under the cygwin unix emulation layer (Amorphous)
793 4648: GTK2 GUI: improve display of razorback stats (su_blanc)
794       added the display of filedonkey.com data
795 4646: BT: little change to recognise Clients (bogeyman)
796 4645: Fix donkey total uptime stats order (bogeyman)
798 2005/11/21
799 4406: Unicode: Fix filenames in shared_files_new.ini and file rename
800       in HTML interface (mld_unicode_patch6.patch) (CML)
801 4440: New option shutdown_timeout, 3 sec, was hardcoded before (Amorphous)
802 4644: Update GNU config.guess and config.sub to current versions
803 4643: HTML: Fix gdstats output when html_use_gzip true
804 4640: Calendar: view calendar command: vcal
805 4641: Fix exception in load_web_infos
806 4642: HTML: Improve preview via webbrowser (pango)
808 2005/11/19
810 4563: replace all Printf.printf occurences by Printf2.lprintf (su_blanc)
811 4479: Callback mechanism for low ID users does not work (miriup)
812       Reactivating submission of server IP and port during client
813       handshake in edonkey
814   "However, sometimes, especially when I have no files to download I do
815    not receive callbacks at all. It is suggested to apply this patch in
816    a testing mldonkey for a week on a non-low id connection before including
817    it in a stable release, ... I can't test high-ID at all."
818 4574: Friends upload slot (pango)
819 -------------------------------------------------------------------------------
820 2005/11/19: version 2.7.0 = tag release-2-7-0
821 4631: Validate ED2K-client_private_key
823 2005/11/16
824 4630: GTK2 GUI - some bug fixes (su_blanc)
825 * display Razorback graphical stats for currently selected file
827 2005/11/14
828 4625: GTK2 GUI - bug fix (su_blanc)
829 * bug #14865 : availability display "dotty"
830   added alpha channel to availability pixbuf.
831 * bug #14963 : autosize slightly broken
832   the tick mark for 'autosize all columns' appears only if all columns are set
833   to 'autosize' mode. 'autosize all columns' triggers an 'autosize' mode for
834   all columns if at least one has not this mode set. Otherwise all the columns
835   are set to 'fixed' mode.
836 * bug : razorback stats
837   display stats on user request.
839 2005/11/13
840 4583: Change stats.razorback2.com usage to on-demand (su_blanc)
841       to avoid overloading the server (disable_razorback_stats.diff)
842 4619: Remove duplicate Gc.compact () from EDK mem_stats (pango)
844 2005/11/12
845 4617: GUI: send bt subfiles over gui prot (zet)
846 4587: Buildinfo: Split build-time and run-time information (schlumpf)
847 4350: Code cleanup : web interface chunks display (pango)
848       (web_chunks_using_tables_v2.patch)
849 4616: Change allow_browse_share, so only friends can see file lists (pango)
850 4615: Add -g to CFLAGS when --enable-profile (pango)
851 4605: replace string/bool bit arrays with bit vectors (zet)
852 4607: remove html output from telnet 'vc all' (zet)
853 4613: Optimizing Set.cardinal to reduce CPU usage (pango)
854 4614: Gtk2 mlgui improvements (su_blanc)
855 * fix bug : close all current searches when one quits mlgui
856     otherwise the core continues to search
857       to test:
858         * open mlgui
859         * make a search request
860         * close the gui
861         * in HTML interface, check "View searches" tab.
862 * lower CPU usage by delaying heavy computations (use Glib.Idle)
863 * rework the search tab, just make it more simple,
864   limit results to max hits, added min availability criterium
865 * added Autosize columns. Should fix bug #14868
866 * change pixmap for availability bars in pixbuf. should fix bug #14865
868 2005/11/09
869 4558: further Overnet patches, query_next_peers3.patch (bogeyman)
871 2005/11/07
872 4586: cleanup brand stats code (bt/edonkey) (zet)
873       updated to coalesce bt software parsing and add some more ids
875 2005/11/05
876 4589: CryptoPP doesn't like -fomit-frame-pointer, so remove it (przemoc)
877 4597: OV/KAD: fix a search reset bug (bogeyman)
878 4585: Change ED2K_max_sources_per_file from 20000 to 5000
879 4579: Slackware package (tgz) - basic mlnet support (ratmmmam)
881 2005/10/31
882 4583: GTK2 mlgui improvement (su_blanc)
883 Lablgtk-2.6.0 is needed for GTK2 mlgui, it fixes a mem leak with GdkPixbuf.
884 added:
885 * razorback stats: click on a file in the downloads tab to display the stats
886   (at startup wait for few seconds, the time to download the png files...).
887 * proxy options for mlgui
888 * a graph tab: global downloads, global uploads and a view per file
889   (downloads and uploads).
890 modified:
891 * fix Tray icon as per task #4694
892 * reduce mem use
893 * configuration files locations: mlgui and mlim do not need CommonOptions.
894   Should not change anything for the users as we check the $HOME variable.
896 4558: Overnet: several patches (includes and fixes patch #4551) (bogeyman)
897 * better detection of dead peers
898 * so we can ping less often
899 * and can be sure these peers are alive
900 * use ip:port from received pakets instead from the peer info
901 * use a weak Hashtbl for known_peers and remove search_known_peers
902 * we are removing all dead peers, in buckets and prebuckets,
903   (do not wonder, if you get less peers left ;o)
904 * do not send useless "Connect" pakets, Fillbucket really works
905 * every 30m file searchs were created twice.
906 There are really less peers than without this patch, maybe i'll have to tweak
907 how we fill buckets. But for now this works and produce less traffic.
909 4581: Fix upload rate for high volume connections (> 1.5Mbit/sec) (pango)
910 4584: HEAP: use GC.quick_stats for mem_stats level=0 (bogeyman)
912 2005/10/30
913 4580: Update .cvsignore files (pango)
914 4564: HTML: fix vd p/d/queued output (zet)
915 4576: BT: remove sources when file is cancelled,
916       mem_stats: Garbage collector info (zet)
917 -------------------------------------------------------------------------------
918 2005/10/28: version 2.6.7 = tag release-2-6-7
919 4562: removed patch, breaks GUI connect after SIGTERM
921 2005/10/27
922 4551: remove patch, breaks Overnet
923 4562: BasicSocket.ml fix, fix select when fd_tasks is empty
924       close all fd on exit (su_blanc)
925 4561: Options.ml4 proper old directory (su_blanc)
926 4560: mingw : proper detection of gToolbox.mli (su_blanc)
927 4559: mingw compilation of Crypto.cpp (su_blanc)
928 4553: HP-UX: If /dev/urandom is not present print info where to get it
929 4554: HP-UX: Compile fix for statvfs (disk usage statistics) (Inkus)
930 4555: EDK: Send emule_version on server login to prevent
931       "Your client is too old" message (Knocker)
932 4556: Fix linking mlnet to X and GTK libs when using --enable-gui (su_blanc)
933 -------------------------------------------------------------------------------
934 2005/10/25: version 2.6.6 = tag release-2-6-6
935 4551: OV/KAD: use kind like eMule does +misc bugfixes (bogeyman)
936       "do not wonder, if you get less peers left ;o)", also reduces traffic
937 4550: Create bitprint for large files (zet)
938 4549: html_mods: relevant_queues option (zet)
939       This patch creates a relevant_queues option which specifies a list of
940       queue #'s that should be displayed in the vd # sources table.
941       See sources command for the list of queues.
942       By default all queues except the DoNotTry queue(7) are displayed.
943 4548: IPBlock: really don't load descriptions on core restart,
944       if set to false (bogeyman)
946 2005/10/24
947 4547: Fix dupe sending of motd/nets in gui_initialize (zet)
949 2005/10/23
950 4545: make TAGS, creates files for source code navigation in Emacs (pango)
951 4544: Change internal code for statfs function (pango)
952 4543: Lower CPU usage, optimize CommonSources.count_file_ready_sources (pango)
953 4542: Remove Donkey-Fakes support, service is down
954 4541: New option BT_max_tracker_redirect
955       connect to bittorent trackers with http redirect (jhon)
957 2005/10/19
958 4535: OV/KAD: Yet another improved logging (bogeyman)
959 4533: Yet another compile patch for mld_hash,
960       remove svg_converter with make clean
961 4534: Compile fix for make_torrent
963 2005/10/18
964 4531: Compile fix for GTK1 oldgui
965 4530: Compile fix for mldonkeytop (pango)
966 4525: Always use svg_converter.byte (gildor)
967 4524: Fix building mld_hash (gildor)
968 4523: Fix building of svg_converter.byte (gildor)
970 2005/10/17
971 4520: Check for /dev/urandom, /dev/null and $TEMP
972 4521: CryptoPP: Compile patch for gcc-2.96 (sworn)
974 2005/10/16
975 4519: Int64ops cleanup (pango)
976 -------------------------------------------------------------------------------
977 2005/10/11: version 2.6.5 = tag release-2-6-5
978 4508: Configure: Print some important build targets
979 4507: EDK: Print server banners into logfile (pango)
980 4500: BT: Fix multifile download with zero-byte files (thanks to jave)
981 4506: replace obsolete longarry and fifo2 code (bogeyman)
983 2005/10/10
984 4504: Clean http_server.ml logging
985 4502: Remove obsolete Weak2 sourcecode (bogeyman)
986 4503: OV: fill buckets only with peers we send to and heard of (bogeyman)
987 4499: Check for stalled pid file and remove it if MLDonkey is not running
988       (does not work on MinGW due to missing Unix.kill) (pango, spiralvoice)
989 4501: HTML: Fix chunk wrapping on IE (zet)
991 2005/10/09
992 4477: prevented some compiler warnings (Schlumpf)
993 4496: Nicer summary of configure command
995 2005/10/06
996 4337: improved upload scheduler (pango)
997 4494: fix infinite loop when create_dir_mask on fat32 (zet)
998 4495: BT: include Wiki link to report unknown clients (bogeyman)
999 4493: BT: Correctly parse .torrent files with an empty directory (zet)
1000 4487: BT/HTML: Display files inside a multifile torrent (bogeyman, jave)
1001 4458: EDK: add enable_sui toggle option (enabled by default) (zet)
1002 4491: Compilation fix for NetBSD>=2.99 (Thomas Klausner)
1003 4490: memstats for a weakhash and a new OV command dump_bucket (bogeyman)
1004 4473: New command: whoami
1005 4457: BeOS: Compile patch for CryptoPP (Michael Lotz)
1006 4460: Added search for .torrents via IsoHunt (WingMaster)
1007 4456: Fix shrink effect in vd for Opera (Luar Roji)
1009 4452: Clean configure.in, check for c++ compiler
1010 * zlib is not optional anymore
1011 * remove old code (Cryptokit, Broosnet etc.)
1012 * distinguish between Cygwin and MinGW
1013 * print start warning message only for Cygwin
1014 * remove whitespaces
1016 4450: Remove swarmer data when cancelling download (kempston, zet)
1018 2005/09/21
1019 4454: commonSources: add sources from resumed files
1020       (outside_queue sources) back to the queues (zet)
1021 4453: Telnet: Print reject message for connecting client
1022       if it is not allowed to connect,
1023       prepend "dllink" for all commands starting with "http://"
1024 4455: Improve make distclean
1025 4449: New parameter for pid file: -pid <dir>, small improvements for pid files
1026 4451: Correct the help of allowed_ips (gildor)
1028 2005/09/19
1029 4439: Fix for "make mlnet.byte" (zet)
1030 4438: Fix secure-ident related compile bugs in Opennap & Soulseek
1031 4437: BT: show up/down stats for Brand unknown (bogeyman)
1032 4436: EDK: Solve memleak in donkeyChunks (file_md4s_to_register) (bogeyman)
1033 4434: Added button to eMugle in Search (wingmaster)
1034 4432: Add more info to mem_stats (zet)
1036 2005/09/18
1037 4431: Newgui: Compile fix
1038 4419: EDK: Support secure user identification (crypto5, by zet)
1040 2005/09/17
1041 4424: OV: discard peers with ip 1.0.0.0 and random port
1042 4425: EDK: Support server extended getsources2 opcode (zet)
1043 4429: Better error message if MLDonkey lacks network support
1044       for a file in files.ini
1045 4427: BT: 10 retries / follow 10 redirections in 
1046       dllink http://server/file.torrent
1047 4423: OV/KAD: Save only active peers to config files/ save max 200 peers
1048       (bogeyman)
1050 2005/09/14
1051 4420: Remove obsoleted commonSwarming1 code
1052 4418: Re-activate sources_per_chunk option (pango)
1053 4417: BT: Improve BT upload speed (pango)
1054 4374: fix "max_hard_download_rate has to be doubled" (pango)
1055       This patch changes internal code, no option has to be changed
1057 2005/09/13
1058 4406: Improved Unicode filename support (CML)
1059 4412: OV: Handle OvernetPeerNotFound correctly (bogeyman)
1060 4411: OV/KAD: Some peers are not added to known_peers (bogeyman)
1061 4410: Shorter filesystem name for XFS
1062 4409: Compile fix if Bzip2 is not available
1063 4408: OpenBSD: configure.in fix to find libbz2 and others in /usr/local
1065 2005/09/08
1066 4397: Buildinfo: Run-time check for Windows OS version / Unix uname (zet)
1067 4403: html_mods: mem_stats in a single readable table (zet)
1068 4402: BT: BT-user_agent option (zet)
1070 2005/09/06
1071 4268: Web/Gui: free core's buffer allocated by vd # and gui (bogeyman)
1072 4393: Lower ip blocking memory usage (pango)
1073       new option ip_blocking_descriptions true|false
1074 4401: BT: Send 'stopped' event to all trackers when exiting (zet)
1075 -------------------------------------------------------------------------------
1076 2005/09/04: version 2.6.4 = tag release-2-6-4
1077 4392: Print "Core started" on stdout even if logging is enabled
1078       Fixes problems when MLDonkey is spawned by a GUI
1080 2005/09/03
1081 4247: memstats: BT/FT/GNUT/G2: initial memstats, ALL: show nr of old_files,
1082       BT: nr of torrent files
1083 4390: Mail: Print incoming path if !!url_in_mail is used
1084 4389: BT: Fix core exit if dirs of a shared multifile torrent are not writable
1085 4368: new option: create_file_sparse true|false, this works only for
1086       files on NTFS drives in MinGW compiled MLDonkey (thanks to zet)
1088 2005/09/01
1089 4385: EDK: Preserve untested servers (pango)
1090 4351: optimize ip blocking lists (pango)
1091 4376: EDK: Re-enable result_done (already downloaded) in search results (zet)
1092 4126: Improved log_file handling
1094 * there is now a default log_file: mlnet.log, old downloads.ini is *not* updated
1095 * its default log_file_size is 2MB, this is checked only on core start,
1096   if log_file is bigger it will be resetted
1097 * logging will always be appended to log_file
1098 * new command "clear_log" to reset log_file while the core is working
1099 * new command "open_log" to reopen log after close_log
1100 * removed command "log_file", same can be achieved through "set log_file <file>"
1102 4384: HTML: Add "Import Serverlist" in servers,clean third button row (schlumpf)
1103 4365: Disable console "X" close button on MinGW, second version (CML)
1104 4382: Solve libgd configure in mandrake 10.0
1105 4381: better differentiation of eDonkey and BT Stats Table (schlumpf)
1106 4380: some info for SCM Version (CVS co Date/ SVN revision) (schlumpf)
1107 4379: Fix compile error when libgd is not present
1108 4378: Longhelp: Better description for add_user
1109 4377: Better description for shared_directories in downloads.ini
1110 4356: EDK: Improved server.met handling / fix contact.dat loading
1112 * Changed user agent from "MLdonkey" to "MLDonkey", solves problem
1113   when downloading files from www.gruk.org and www.srv1000.com
1114 * MLDonkey new recognizes links like ed2k://|serverlist|http://server/file.ext|/
1115 * "servers" command now takes URLs
1116 * if period in web_infos is zero the file is only loaded during core start
1117   (as requested by the owner of www.gruk.org)
1118 * in all places where a filename or URL for a server.met can be used this
1119   file can also be compressed with gz/bz2/zip
1120 * automatically replace old default server.met in web_infos
1121 ("server.met", 24, 
1122 "http://ocbmaurice.dyndns.org/pl/slist.pl/server.met?download/server-best.met");
1123   with fake servers free list from gruk.org:
1124         ("server.met", 0, "http://www.gruk.org/server.met.gz");
1125 * fixed bug which prevented loading Overnet contact.dat file in web_infos
1127 2005/08/29
1128 4368: Use sparse files on MinGW/NTFS (zet)
1129 4370: BT/Win32: fix multifile hashing (Amorphous)
1131 2005/08/28
1132 4366: HTML: more maintainable html_mods styles (pango)
1133 4367: Improve logging
1134 4361: New command: uptime
1136 Lots of improvements for MinGW, this platform now supports
1137 files > 2GB, threads and libgd generated statistics.
1138 Here you will find compilation instructions:
1139 http://mldonkey.sourceforge.net/Windows
1141 4342: Large_file support for mld_hash and MinGW MLDonkey core (zet)
1142 4358: Add thread support for MinGW (zet)
1143 4362: configure.in support for libgd on MinGW/FreeBSD
1144 4349: increase filedescriptor limit for mingw (zet)
1145 4365: Disable console "X" close button on MinGW (zet)
1147 2005/08/26
1148 4360: Configure: Test for nl_langinfo(CODESET)
1149 4359: Upload: Give upload slot truely randomly (pango)
1150 4347: Improve exit codes, codes were inspired by sysexits.h
1151 4345: Code clean: Optimize redundant time_to_string functions
1152 4357: Rename ed2k_hash to mld_hash
1153 4344: Improve ./configure checks (bzlib.h, iconv on Windows)
1154 -------------------------------------------------------------------------------
1155 2005/08/21: version 2.6.3 = tag release-2-6-3
1156 4254: Patch reverted, did not work
1157       "html_mods: Table data is incorrectly centered"
1158 4336: Improve some log file messages
1159 4321: BT: fixed "make_torrent produce corrupted files on Windows" (beedauchon)
1160 4335: Buildinfo: Fix bug if Bzip2 version string is empty (beedauchon)
1161 4329: HTTPClient: Implement retries for failed requests
1162 4319: Fix compile if libbz2 is not available,
1163       new configure option: --disable-bzip2
1164 4334: BT/FileTP: Some progress on cancel bug (kempston)
1165 4333: send ip blocked addr state to gui, compute_torrent from gui (zet)
1166 4332: Let configure fail if GNU make is not installed
1168 2005/08/18
1169 4323: HTML: Search results: new colums for Bitrate, Codec and length
1170 4324: Log: Improve output for verbosity "hid"
1171 4322: EDK: compatibleclient 40 -> Shareaza
1172 4320: Fix compile on FreeBSD < 5.3
1174 2005/08/15
1175 4317: Updated ./configure for compiling lablgtk2 with --enable-batch
1176 4316: Updated ./distrib/Install.txt for Ocaml 3.08.4 and new GUI options
1177 4292: html_mods: Match styles default frameHeight with the common default
1178 4314: Allow compiling with Ocaml 3.08.4
1179       Compiling with 3.08.3 still works
1180 4312: BT: Allow seeding (beedauchon)
1181 4311: BT: create_torrent: default_tracker and default_comment (beedauchon)
1182 4309: GUI: send ed2k/bt network u/d totals (zet)
1183 4308: Gnutella/G2: Fix commit if no TigerTree is available
1184 4305: buildinfo: Print some system internals
1185 4304: EDK: Fix disconnect state with verbosity = "hid"
1186 4297: Create ini file backups on shutdown
1187 Note: file_sources.ini is never saved, it makes no sense to keep this file.
1189 New options:
1191 * backup_options_format, default "tar.gz", "zip" can also be used
1193 * backup_options_delay, default 0
1194 How often (in hours) should a backup of the ini files be written into old_config.
1195 A value of zero means that a backup is written only when the core shuts down.
1197 * backup_options_generations, default 10
1198 Define the total number of options archives in old_config.
1200 Command save got two new parameters:
1201 * "save all" saves options, sources and creates a ini file backup
1202 * "save backup" speaks for itself;-)
1203 -------------------------------------------------------------------------------
1204 2005/08/11: version 2.6.2 = tag release-2-6-2
1205 4296: BT: Fix options parsing
1206 -------------------------------------------------------------------------------
1207 2005/08/09: version 2.6.1 = tag release-2-6-1
1208 4291: EDK: Better logging for unknown compatibleclient values
1209 4290: BT: Some small fixes for messages interested and cancel (beedauchon)
1210 4289: LOG: Improve verbosity "hid"
1211 4287: Better clear Fifo buffers (bogeyman)
1212 4268: Web/Gui: free core's buffer allocated by vd # and gui (bogeyman)
1214 2005/08/08
1215 4285: IPBlock: Server support
1216 * display in vm/vma if a server has a blocked IP
1217 * prevent connections to a IP blocked server,
1218   in EDK case this resulted in a LowID connection 
1220 4284: Remove whitespaces / Some logging changes
1222 2005/08/07
1223 4279: MinGW: HDD statistics support
1224 4281: Remove white spaces / Some logging stuff
1225 4251: HTML: few fixes / new option html_frame_border true|false
1226 4278: Windows: Fix bug creating work dirs in empty dir
1228 2005/08/06
1229 4276: IPBlock: Never block local IPs even if they are in blocklist
1230 4274: Use relative path if downloads.ini is present
1232 2005/08/05
1233 4272: HTML: Cursor focus in input field
1234 4271: GTK2: Fix compile bug in src/gtk2/chat/chat_art.ml
1235 4155: Let MLDonkey create its data in $HOME/.mldonkey
1237 Usage instructions:
1238 * if the core is started in a directory where downloads.ini exists
1239   this directory will be used, this is the same behaviour as before
1240 * on Windows the current directory will always be used,
1241   this is consistent with eMule
1242 * on other systems $HOME/.mldonkey will be created and used,
1243   this is consistent with eDonkey, aMule and Unix standards
1244 * if variable MLDONKEY_DIR is used that directory has priority,
1245   to simulate the behaviour without this patch use:
1246     export MLDONKEY_DIR="." && ./mlnet
1248 2005/08/04
1249 4270: Overnet: Convert local IPs sent by OV clients to real IPs
1250 4269: IPBlock: Several fixes, better zip file support
1251 4264: Fasttrack: Force commit of all complete files
1253 4258: BT: Statistics, recognize more clients, min_interval,
1254       torrents/old and more...
1255       This patch was done by Beedauchon, it incorporates weeks of work from him.
1256 * move .torrent to torrents/old if the file is not shared anymore
1257 * new command rm_old_torrents: delete all files in torrents/old
1258 * eDonkey like statistics for BT clients (csbt command)
1259 * compute_torrent and make_torrent can put a comment into the .torrent file
1260 * MLdonkey computes a BT-compatible client_uid starting with "-ML"
1261 * parse more fields from .torrent files and display them in HTML interface
1262 * Tracker: replace "/tracker" by "/announce"
1263 * Tracker: add "/scrape"
1264 * Multitracker support for downloading
1266 2005/08/02
1267 4263: Fasttrack: Force bootstrapping nodes
1269 2005/08/01
1270 4261: HTML: Add DL button - opens dialog for entering links (omgwtf2)
1271 4260: IPblock: Enable IP blocking for Overnet and HTTP server
1272       (=BT Tracker) (beedauchon)
1273 4257: Kick uploaders which send no data for more than 1 minute
1274 4256: Print message if glibc version mismatch
1275       updates for buildinfo (version of libbz2, libz, libpng)
1277 2005/07/29
1278 4255: HTML: updates for cs command
1279 4254: html_mods: Table data is incorrectly centered
1280 4253: HTML: New style Construction (omgwtf2)
1281 4251: few html fixes (reverted) (beedauchon)
1283 2005/07/28
1284 4250: Remove whitespaces from commonUploads.ml
1285 4249: HTML: Links to fake check services in search results (bogeyman)
1287 2005/07/27
1288 4194: FileTP : Add support for "referer", error messages cleanup (beedauchon)
1289 4245: BT: Remove whitespace (beedauchon)
1290 4244: Change web_infos period to hours (this is a bugfix,
1291       no need to change ini files)
1292       new option: enable_mlnet_redirector
1294 2005/07/26
1295 4243: FileTP: Clean lots of whitespaces
1296 4031: HTML: relative refs in HTML output (beedauchon)
1297 4191: Access to disk data (free space, max file name length)
1298       This is first step implmenting this, checkout the
1299       disk command for debugging.
1300 4242: IPBlock: Support guarding_full.zip
1301 4241: Fix html_mods_vd_gfx_remove
1302 4240: EDK: New option keep_downloaded_in_old_files
1304 2005/07/23
1305 4184: support guarding.p2p in zip/gz/bz2 format
1306       bz2 segfaults on OpenBSD, therefore disabled
1307       see notes in the patch on how to compile with MinGW
1309 2005/07/22
1310 4205: Improve logging with timestamps 2 (incomplete)
1311 4204: Improve logging with timestamps (incomplete)
1313 2005/07/21
1314 4195: GUI: Change configure options
1316 Now "./configure" compiles no GUI, "--disable-gui" is default.
1317 To use a GUI use "--enable-gui", this enables GTK2 GUI.
1318 Other options are:
1319 --enable-gui=newgui2 (use GTK2 GUI)
1320 --enable-gui=newgui1 (use GTK1 newgui)
1321 --enable-gui=oldgui  (use GTK1 oldgui)
1322 Options like "--disable-newgui" or "--enable-gtk2" were removed.
1324 2005/07/20
1325 4193: CommonGraphics : some whitespace cleanups
1326 4190: Gdstats: Fix tag.png/jpg link output
1327 4188: Overnet: Dont put our own ID in the buckets (bogeyman)
1328 -------------------------------------------------------------------------------
1329 2005/07/19: version 2.6.0 = tag release-2-6-0
1330 4175: New option html_mods_use_js_tooltips, default true
1331       (4175_5.patch)
1332 4187: Update version to 2.6.0
1333 4186: SCM date for Windows / FreeBSD configure enhancement
1335 2005/07/18
1336 4183: HTML: Overnet/Kademlia stats improvements (beedauchon)
1337 4118: Solve memory leak in Overnet/Kademlia
1338 4182: Get CVS date in configure for OpenBSD
1339 4175: HTML: Add Multiline File Information in download table
1340       (4175_4.patch)
1342 2005/07/17
1343 4181: EDK: Control identified versions
1344 4180: EDK: Files copied to incoming dir for sharing do not
1345       appear in upstats after hashing
1346 4179: Get CVS date in configure for FreeBSD & Mac OS X
1347 4178: Dont build GUI on "make release.mlnet.static"
1348 4177: Clear logging, first steps toward time stamps
1349 4175: HTML: Add Multiline File Information in search results
1350 4174: EDK: Re-enable source exchange with eMule clients
1351 4163: EDK: Avoid saving sources every save_options_delay
1353 2005/07/14
1354 4173: Clear whitespace from code
1355 4168: HTML: Graphical chunk display in vd <num> (beedauchon)
1356 4167: Gdstats: Fix corrupted pics output/improved output (beedauchon)
1358 2005/07/13
1359 Remove obsolete ./src/gtk/gui2 directory
1360 4165: Clean log file
1361 4164: Gnutella/G2: Update Webcache URLs
1362 4160: resize properly the names in the gtk2 gui (su_blanc)
1363 4158: EDK: Parse and display version numbers, also in GTK2 GUI (su_blanc)
1364 4114: EDK: new command "reset_stats" (Knocker)
1366 2005/07/10
1367 4159: Removed whitespaces (beedauchon)
1368 4156: tray icon in x11 for GTK2 GUI (su_blanc)
1369 4157: fix mlnet.pid checking at start up for GUI
1371 2005/07/07
1372 4153: More infos for mem_stats
1373 4146: Use lprintf_nl instead of "lprint_newline ()" or "\n" (beedauchon)
1375 2005/07/06
1376 4118: Improve Overnet/Kademlia logging and mem_stats output
1377       (overnet_log,patch)
1378 -------------------------------------------------------------------------------
1379 2005/07/05: version 2.5.30.17 = tag release-2-5-30-17
1380 4142: Remove unneeded code
1381 4141: Cleaned logging
1382 4140: New option: create_dir_mask
1383       New directories in incoming_directories are created
1384       with these rights. 
1385 4139: EDK: don't ask clients for non-downloading files
1387 2005/07/04
1388 patch posted in bug 13619:
1389   Always returns ASCII(C) locale when it use libcharset
1391 2005/06/29
1392 4135: Change emule_version
1393 4134: Clean core startup messages and log output
1394 4130: Print warning message for Windows users
1395 4128: Notification mail: show hash and download time
1396 4127: Add TOS support
1397 4123: First steps toward integrated user-management:
1398       new commands "remove_user" and "users",
1399       only "admin" is allowed to kill the core
1400       HTML interface to setup users (Options, Users)
1402 2005/06/25
1403 4125: Some configure.in fixes if libpng is misssing in libgd
1405 2005/06/23
1406 4122: EDK: "server <met>" command now responds with a clearer answer (Knocker)
1407 4121: EDK: Dont remove prefered server if server_users < min_users_on_server
1408       (Knocker)
1409 4120: EDK: send emule_version to servers (Knocker)
1410 4083: new build target: release.mlnet.distri
1411       it contains both the dynamic and the static linked core
1413 2005/06/22
1414 4115: sort output of "links" in alphabetically order (Knocker)
1416 2005/06/20
1417 4109: EDK: Improve update_server_list
1418 4104: Check accessibility of used directories on core startup
1419 4101: Telnet: Show BT hash in vd <num>
1420 4099: Automatically insert version number in Windows ressource file
1421 4093: Add Buildinfo button to HTML, Help+
1422 4092: Add Razorback-Stats and Bitzi links to upstats
1423 4091: EDK: Some progress on the cancel bug
1424 4090: Overnet: Add stats to mem_stats and code cleanup
1425 4089: gdstats: Update second graph correctly
1426 4085: change download priority to keep started download rolling
1427 4071: Code cleanup: Replace lprintf_newline with "\n"
1428 -------------------------------------------------------------------------------
1429 2005/06/06: version 2.5.30.16 = tag release-2-5-30-16
1430 4070: Exit core on startup if a port is already used
1431 4079: mlnet server id fix
1433 2005/06/03
1434 4067: BT: Fix multifile commit
1435       (updated to create dirs with rights 777)
1436 4063: HTML: Some improvements (beedauchon)
1438 2005/05/30
1439 3984: Make filename_conversions option implementation safe
1440 4042: Avoid sharing temp dir
1441 4046: Hotfix: Circumvent max_hard_download_rate/2 bug
1442 4051: mailer:encode subject and include a time zone
1443 4055: Allow canceling of ed2k downloads if G2 is enabled
1444 4056: Close all files if core receives SIGHUP
1445 4057: Hotfix: Close files if an upload slots gets free
1446 4058: Remove donkey_devel code, it is outdated
1447 4060: Extend core startup message
1448 4061: Block system signals during core startup
1450 2005/05/28
1451 4040: EDK: Do not truncate shared files
1452 4043: Avoid locking shared files
1453 4044: G2: Enable dllink support for servers and friends
1454 4045: Remove command "-daemon", use 'mlnet > /dev/null 2>&1 &' instead
1455 4050: Sync with Amorphous rev325
1457 2005/05/19
1458 4033: Fix "make clean" on MinGW/Cygwin (updated 2005/05/28)
1459 4034: HTML: sources command has HTML output now (from beedauchon)
1461 Replaced docs/http-1.1.txt and docs/uri.txt with links
1462 to the original files.
1464 Remove big, dcgui, giFT, hwd, lopster and small from ./icons
1465 GTK old- and newgui and GTK2 GUI compile without those dirs.
1467 Only these sets are used:
1468 ./config/Makefile.in:  ICONS_CHOICE=icons/rsvg
1469 ./config/Makefile.in:    ICONS_CHOICE=icons/tux
1470 ./config/Makefile.in:    ICONS_CHOICE=icons/kde
1472 2005/05/17
1473 3985: Create pid file
1474 3991: Respect $MLDONKEY_DIR
1475 3993: Enable signal handling on MinGW
1476 3996: EDK: Support auxports
1477 4017: Fix use_tags compile
1478 4018: New EDK clients: Emule Plus + Hydranode
1479 4023: Enhance buildinfo
1480 4025: Enable sha1new on Solaris and Windows
1481 4026: Remove all servers with "rem all" works now
1482 4027: Fix jpg viewing with gdstats
1483 4028: Remove gd generated files (cosmetic code update 2005/05/19)
1484 4029: EDK: Print warning if enable_servers false
1486 2005/05/13
1487 3979: Show CVS date in CURRENT_RELEASE
1488 3971: Send sources availability
1489 3977: html_mods: fix server listing when a net is disabled
1490 3978: properly sort availability in the GTK2 GUI
1491 * Patch from beedauchon adds html support to donkeys
1492   new_print_mod_stats if emule mods statistics are disabled.
1493 * Patch from beedauchon adds html support to the command gstats.
1494 * Patch from beedauchon adds html support to the command ov/kad_stats.
1495 * Patch from beedauchon adds some fixes to the html output 
1496   of the networks command.
1497 -------------------------------------------------------------------------------
1498 2005/05/02: version 2.5.30.15 = tag release-2-5-30-15
1499 This version shares the same code as Amorphous revision 304.
1501 3963: Remove Audiogalaxy code
1502 3964: Remove obsolete Cymes entries
1503 3970: Print web_infos (from beedauchon)
1504 3972: bug fixes for the GTK2 GUI
1505 3973: Support for Overnet contact.dat (from beedauchon)
1506 3974: HTML: RSS support (from beedauchon)
1507 3975: EDK: Fix for sending shares to server
1508 3976: Remove obsolete Ares code
1509 -------------------------------------------------------------------------------
1510 2005/05/01
1511 3956: Set utf-8 character encoding in notification mails
1512 3952: Print glibc version in buildinfo
1513 3969: Sync with Amorphous rev293 
1514 from rev290:
1515 * A little cleanup for debug output.
1516 from rev293:
1517 * Patch from beedauchon fixes transparency issues with
1518 graphical stats.
1519 ---------------------------------------------------------------------
1520 2005/04/26: spiralvoice (version 2.5.30.14 = tag release-2-5-30-14)
1522 3908: Split patch 3900: Vorbis file support
1523 3949: Some improvements for graphical stats
1524 3950: bug fixes for the gtk2 GUI
1525 3951: servers enhancement
1526 ---------------------------------------------------------------------
1527 2005/04/25: spiralvoice (version 2.5.30.13 = tag release-2-5-30-13)
1528 This version shares the same code as Amorphous revision 286.
1530 3947: More build fixes for sha1new on FreeBSD 
1531 ---------------------------------------------------------------------
1532 2005/04/24: spiralvoice (version 2.5.30.12 = tag release-2-5-30-12)
1534 3943: Fix building without gd
1535 3944: Sync with Amorphous 284
1536 * lots of whitespace cleanups
1537 * Some cleanups in configure.in .
1538 * Corrected that --enable-gd is the default
1539 ---------------------------------------------------------------------
1540 2005/04/24: spiralvoice (version 2.5.30.11 = tag release-2-5-30-11)
1542 3942: Fix for Gnutella/G2/Fasttrack dllink handling
1543 ---------------------------------------------------------------------
1544 2005/04/24: spiralvoice (version 2.5.30.10 = tag release-2-5-30-10)
1546 3938: Print cwd on core start to help users finding their ini files
1547 3939: gd generated bandwith-usage graphic in the web-ui
1548 3941: Sync with Amorphous rev280/281
1549 * Little fix for the buildsystem for commonGraphics.
1550 * Fix the sha1new configure-test for FreeBSD.
1551 * I hope, that i fixed problems with linking libiconv for FreeBSD.
1552 * Change the iconv check a bit. Users with unusual locations
1553 should use --with-libiconv-prefix with configure. Still
1554 seems not to work right on FreeBSD.
1555 * Fix sha1new for FreeBSD for sure now.
1557 ---------------------------------------------------------------------
1558 2005/04/23: spiralvoice (version 2.5.30.9 = tag release-2-5-30-9)
1560 3919: Move users/passwords from downloads.ini to users.ini which has rights 600
1561 3930: Build fixes for FreeBSD & OpenBSD (some more patches)
1562 3935: Core did not create incoming on first start
1563 3937: Whitespace cleanup of configure --help
1564 ---------------------------------------------------------------------
1565 2005/04/23: spiralvoice (version 2.5.30.8 = tag release-2-5-30-8)
1567 Mozilla MLdonkey Protocol Handler updated to version 1.5
1568 3924: More bt peer ids + clean up networks cmd in html (table sorts properly)
1569 3926: mac osx gtk2 gui building
1570 3930: Build fixes for FreeBSD & OpenBSD
1571 3931: Prevent DDOSing fm2.imesh.com
1572 3932: Print warning if core cant do DNS lookups
1573 ---------------------------------------------------------------------
1574 2005/04/20: spiralvoice (version 2.5.30.7 = 2.6pre19, tag release-2-5-30-7)
1576 3915: Show only searchable networks in HTML, search
1577 3916: Change Opennap servers_list_url to a working one
1578 3918: HTML: Print network capabilities table
1579 3921: Change Fasttrack temp file names 
1580 3922: Re-enable use of ft:// links to add Fasttrack servers
1581 ---------------------------------------------------------------------
1582 2005/04/13: spiralvoice (version 2.5.30.6 = 2.6pre18, tag release-2-5-30-6)
1584 * Add an headder-file to charsetstubs.c so it compiles on
1585   certain platforms. This fixes savannah bug #12683.
1587 To compile on FreeBSD and OpenBSD link these files:
1589 /usr/local/include/libcharset.h
1590 /usr/local/include/localcharset.h
1591 /usr/local/include/iconv.h
1593 to /usr/include and /usr/local/lib/libcharset* to /usr/lib.
1594 ---------------------------------------------------------------------
1596 2005/04/13: spiralvoice (version 2.5.30.5 = 2.6pre17, tag release-2-5-30-5)
1598 3894: New build targets: release.utils.shared & release.utils.static
1599 3895: Amorphous patches from SVN revision 259
1600 * If using iconv in an libiconv, check for libcharset.h and
1601 use it, if it is not present use localcharset.h . This
1602 should fix compiling on some systems.
1603 * Lower AC_PREREQ to 2.53 (debian wood needs that).
1604 * Some whitespace fixing for configure --help .
1605 * Use -mno-cygwin for cc when --enable-mingw is used. But it
1606 seems like it does not prevent the freezing we know from
1607 cygwin compiled cores.
1608 * Use the present fd for getsize64 in unix32. This should
1609 fix multi-files for bt in win32, as win32 only allows one
1610 fd per file because of the default locking behaviour.
1611 * Ignore exceptions from utimes, as in win32 the default
1612 locking behaviour prevents them.
1614 3896: BT support for file_started_cmd
1615 3901: Change HTML headers from iso-8859-1 to UTF-8
1616 3902: Amorphous patches from SVN revision 264
1617 * Add -mno-cygwin to -ccopt for ocaml. Seems not to fix
1618 --enable-mingw either.
1619 * Clean up canonize_basename, now that we have charset
1620 conversion. Now we should be able to have most chars in
1621 filenames if the locale is set right.
1622 * When shorten-ing names, just use Charset.to_utf8 instead
1623 of String.excaped . Now non-ASCII chars should show up
1624 nicely in web-ui and telnet-ui. The conversion should be
1625 done when these strings enter the core, but that would be
1626 quite a task.
1627 * Remove an Charset.to_locale that shouldn't be there.
1629 3903: Remove some log messages
1630 3904: Format "vd <num>" output in telnet to have md4 hashes back
1631 3905: Prevent crash on start when wrong system date is set
1632 3906: Fix GTK1 GUI compile (was broken since patch 3867)
1633 3907: Fix UTF-8 stuff
1634 3909: Some cosmetical stuff from Amorphous rev 266
1635 ---------------------------------------------------------------------
1637 2005/04/07: spiralvoice (version 2.5.30-4 = 2.6pre16, tag release-2-5-30-4)
1639 3889: Clean logfile
1640 3887: Syncing Savannah CVS with Amorphous SVN
1641 * Applied savannah patch #3867 with small modifications, so
1642 it builds on systems that don't have libiconv but have
1643 iconv() in libc (i hope it still works on systems with
1644 libiconv :) ) and so that the gui protocol version 30
1645 behaves as before.
1646 - new gui protocol version 31 (see guiProto.ml) fixes
1647 savannah bug #11988 : GUI-Protocol doesn't send hashes
1648 for files not from the donkey-network
1649 - fix for savannah bug #12390 : GTK2 GUI configuration
1650 problem
1651 - bt shares now show up under shares
1652 - gtk2-gui: fix some bugs in text display (while using
1653 Pango markup)
1654 - gtk2-gui: fix upload/download rate of clients
1655 - gtk2-gui: md4 is replaced by uids everywhere (downloads,
1656 uploads, results)
1657 * Patch from beedauchon on irc fixes that gnutella and
1658 gnutella2 options had the same prefix.
1659 * Corrected debug-output in http_client.ml form last commit.
1660 * Little debug-log cleanup.
1661 * Fixed savannah bug #12348 gnutella (and related networks)
1662 accumulated more and more ultrapeers (servers) during
1663 runtime and did not forget them, so memory usage growed
1664 over time.
1665 ---------------------------------------------------------------------
1667 2005/04/04: spiralvoice (version 2.5.30-3 = 2.6pre15, tag release-2-5-30-3)
1669 3883: Fix compile errors in GTK1 GUIs due to patch #3867
1670 ---------------------------------------------------------------------
1672 2005/04/04: spiralvoice (version 2.5.30-2 = 2.6pre14, tag release-2-5-30-2)
1674 3864: html-interface: slightly easier renaming
1675 3867: bug fixes for the new GTK2 GUI
1677 3873: Syncing Amorphous 2-5-30ac with 2-5-30-1 
1678 * Now really fixed the infinite loop in the sourcemanagement.
1679 * The check for the version of ocaml in the configure file
1680 should be fixed now. Now 3.08.3* and 3.08.2* (for mac only
1681 3.08.2+4 to +8) are recognized. If needed 3.08.3 should be
1682 downloaded correctly.
1683 * Some debug-output cleaning.
1684 * Updated warning message for old mldonkey clients, they
1685 should at least upgrade to 16v.
1686 * Removed option master_server_min_users as it was not used
1687 in the code.
1689 3874: Extend vd command with parameters
1690 * add telnet commands
1691 vd queued
1692 vd downloading
1693 vd paused
1694 shows only chosen downloads
1695 tip: use aliases vdd -> vd downloading
1696 vdq -> vd queued
1697 vdp -> vd paused
1699 3876: Support subrelease in configure.in
1700 3877: Identify more bt peer ids (client software)
1701 3882: Decode http-header-name location case-insensitive
1702 ---------------------------------------------------------------------
1704 2005/03/20: spiralvoice (version 2.5.30-1 = 2.6pre13, tag release-2-5-30-1)
1706 This release shares the same code as Amorphous SVN release 2-5-30ab
1707 except the fact is needs Ocaml 3.08.3
1709 3792 : EDK/HTML: More readable uptime in cs
1710 3795 : Updated files for bugs building GTK2 GUI, GTK1 newgui and GTK1 oldgui
1711 * To build GTK1 newgui: ./configure
1712   To build GTK1 oldgui: ./configure --disable-newgui
1713   To build GTK2 GUI: ./configure --enable-gtk2
1714   lablgtk-1.2.7 and lablgtk2-2.4.0 can both be installed at the same time.
1716 3816 : New URLs in FakeCheck. Corrected Bitzi URL
1717 3573 : Allows for aliased commands in driverCommands
1718 3822 : Fix for completed files appear multiple times in upstats
1719 3829 : Options care
1721 3828 : Opennap compiles again
1722 * this does not mean the module actually works;-)
1724 3830 : Review build process
1725 * Ocaml 3.08.3 is now required to build MLDonkey
1726 * Removed config/Makefile.config.i?86.in files. If you want
1727   to build for an arch that is not the build-machine then
1728   use for example ./configure --host=i586-pc-linux-gnu .
1729 * Added the opt-binaries from utils to make clean.
1730 * Added configure option --enable-debug .
1731 * Removed the configure options for directconnect and
1732   audiogalaxy, any developer wo wants to work on them can
1733   add them again and nobody else should use them.
1735 3791 : Syncing 2.5.30 and Amorphous 2.5.30aa
1737 * Adapted a change to the command "sources" from savannah
1738   patch #3621 that had a new command "tsources". "sources"
1739   now prints it's information in a much more compact table.
1740 * Savannah patch #3304 has UTF 8 encoding for strings from
1741   the core.
1742 * Changed so redirectors (gwebcaches) for gnutella/g2 are
1743   only contacted once a day. This is no good solution, but
1744   it should prevent us from harming the network.
1745 * Prevent active_udp_queue in g2 from growing over length
1746   100 and eating all memory (this is a workaround and
1747   should be fixed for real someday).
1748 * Now ./configure checks for autoconf259 and autoconf-2.59
1749   and uses these instead of autoconf. AC_PREREQ in
1750   configure.in is now set to 2.59 instead of 2.5 .
1751 * The default port for the gift gui is now 0, to disable it,
1752   because it did not ask for authentication.
1753 ---------------------------------------------------------------------
1755 2005/03/02: spiralvoice (version 2.5.30 = 2.6pre12, tag release-2-5-30)
1757 This version solves the serious file corruption bug in version 2-5-29
1758 ---------------------------------------------------------------------
1759 These patches were applied to 2-5-29 by b8_bavard without mentioning
1760 in Changelog:
1762 3357: BT: use config option for hardcoded TCP-read-timeout
1763 3326: html_mods: Show sources info in vd # output again
1764       (bt_vd_soft.diff + html_print_sources.diff)
1765 -------------------------------------------------------------------
1766 This patch was applied to 2-5-28-1 by spiralvoice without mentioning
1767 in Changelog:
1769 3672: Let mldonkey upload (complete files) work with Low ID clients
1770 -------------------------------------------------------------------
1772 These patches are part of release 2.5.30:
1774 3676: BT/fileTP HTTP header check (header_checks-fix.diff)
1775 3551: new gtk2 gui (3551_1_29.patch.gz, rsvg_icons_set.patch.gz)
1776 3308: Optionally skip (queued/paused) files in html vd display
1777 3461: [EDK] Fix some bugs (3461_29.patch, tweak_commonSources.2-5-28-fixed.patch)
1778 3476: Fix bug in friends file list
1779 3481: Let configure fail if Ocaml and wget are not available
1780 3484: Add vd link for nocheckboxes html interface (3484_2.patch)
1781 3490: Some leftovers from patch_pack 2-5-28h
1782       (lowid_29.patch, cleanups_small-fixes.patch, 3490_2.patch)
1783 3491: Some stuff for config/Makefile.config.i?86.in
1784 3494: BT: tracker interval fixed again (this patch replaces
1785       patch 3447 from 2-5-28-1, 3494_29.patch)
1786 3522: BT guarding.p2p support
1787 3575: Detect if config/ directory is absent during configure
1788 3603: Error in mldonkey-design.tex
1789 3604: Fix for bug #11394 - HTTP redirection
1790 3608: EDK: Higher default for walker_server_lifetime 
1791 3609: New extensions for video search (extensions28.patch)
1792 3610: Kademlia nodes are collected even if Kademlia is disabled
1793 3615: Small typo, clean logfile
1794       (log.patch, log.patch (for Overnet messages, new in 2-5-28p,
1795       typo.patch, 3615_4_29, replaces edkudp_messages.patch,
1796       3615_5_29, replaces compatableclient.patch)
1797 3616: fix for too much source-queries to servers for 2.5.28i
1798       (3616_29.patch)
1799 3620: Donkey guarding.p2p support (3620_29.patch)
1800 3621: new command "tsources" prints table of sources
1801 3622: we should only ask for sources if we need_new_sources (3622_29.patch)
1802 3627: Adding EDK servers with edk://server did not work
1803 3631: Solve configure problem on Mac - fixes bug 11365
1804 3634: This patch addes RazorBack's file history link to interface 
1805 3637: Fix for MacOS Orphaned File Descriptor Bug
1806 3648: HTML: Display sharing strategies in Options, Shares
1807 3652: TELNET: Display search result summary
1808 3653: Handle HTML error 304 in http_client.ml (3653_29.patch)
1809 3655: Bugfix for multiple sourceexchanges with the same peer
1810       (3655_2.patch)
1811 3656: Parse eMules ipfilter.dat for use in IP blocking function
1812 3672: Let mldonkey upload (complete files) work with Low ID clients
1813 3675: EDK: keep_cancelled_in_old_files works again
1814 3677: Fix for bug #11686 - fileTP cancel
1815 3680: get more infos on servers per UDP
1816 3685: fileTP FTP quick fix
1817 3688: Avoid Exception Pervasives.Exit in QueryFileReq
1818 3707: Use Ocaml 3.08.2 instead of 3.08.0 when no Ocaml is installed yet
1819 3715: Some care for options
1820 3719: New command: buildinfo (3719.patch, buildinfo2.patch, 3719_3.patch)
1821 3721: HTML: Remove filewatcher.org from Search function
1822 3725: EDK: 15 new eMule mods
1823 3726: EDK: Better recognition for Shareaza clients
1824 3728: EDK: vd <num> source score display bugfix
1825 3734: Configurable socket option so_keepalive (3734_29.patch)
1826 3737: FT/GT: Canceling download works again (3737_29.patch)
1827 3744: bugfix #11362 and some description cleanup
1828 3754: Bitzi lookup works again in Search results interface (3754_29.patch)
1829 3157: Send core update message to "new mldonkey" (3157_29.patch)
1830 3681: remove guarding block of indirect sources
1831 3717: improvement of patch 3672 (additonally bugfix for wrong Hi/Lo-ID in serverlist)
1832 3773: Solve compile bug in tools (dp500.patch, make_torrent.patch)
1833 3673: do not send the entire list of shadred file to servers every 5 minutes
1834       (3673_29.patch)
1835 3291: Fix for bug 9996 - Missing Date Header in Emails
1836       (fixed problems with 3291_29.patch)
1837 3736: Bugfix for Chunks-Randomizing and LowID recognition on inbound connections
1838 3722: Enhancements to the sourceexchange and some minor ED2K bugfixes (3722_29.patch)
1839 3735: Sourcemanagement revisited (3735_29.patch)
1840 3776: Fix for file corruption in CVS 2-5-29
1841 3777: Lots of backported stuff from Amorphous branch 205
1842       (backport.patch, log.patch)
1844 -------------------------------------------------------------------
1846 UPDATE (2005/02/20): branch 2-5-28 was updated, to check out use "-r release-2-5-28-1"
1848 A SERIOUS bug is in 2.5.29, don't use it, version 2.5.30 will appear soon !
1849         (if you do a checkout/update , use tag 'release-2-5.28' instead)
1850         
1851 2004/10/26: Fabrice (version 2.5.29 = 2.6pre11, tag release-2-5-29)
1852   - Bittorrent: files should be shared even after commit.
1853   - Removed some options:
1854        * "incoming_directory", replaced by "shared_directories", with
1855            strategy "incoming_files" (for downloaded files) and
1856            "incoming_directories" (for downloaded directories on Bittorrent).
1857        * For networks, "network_options_prefix" and "commit_in_subdir".
1859 2004/10/22: Fabrice
1860   - Measure latencies between clients and send them to redirectors:
1861      * On TCP connections
1862      * On UDP: 
1863          * Edonkey Server Ping/Pong
1864          * Overnet/Kademlia clients Connect/ConnectReply
1865          * Fasttrack Supernode Ping/Pong
1867 2004/10/18: Fabrice
1868   - Many changes and patches applied, labeled as UNSTABLE until further
1869       tested.
1870   - Applied Savannah patches: #3321 (print_sources), #3338 (BT-quit), 
1871      #3341 (BT-numwant), #3352 (GUI-GetVersion), #3356 (BT-showfile),
1872      #3363 (gzip-0len), #3407 (BT-referer), #3408 (complete),
1873      #3409 (download-sort), #3411 (setoptions), #3412 (BT-delay),
1874      #3413 (BT-messages), #3414 (BT-latepeerid), #3415 (ED2K-ip),
1875      #3420 (BT-chooser), #3421 (BT-events), #3422 (BT-reshare),
1876      #3423 (BT-manualstop), #3425 (BT-latepeerid2), #3427 (logchats),
1877      #3428 (BT-delay2), #3429 (BT-handler), #3430 (BT-verify),
1878      #3435 (BT-assert1), #3436 (BT-parsehead), #3438 (ED2K-proto),
1879      #3439 (swarm2), #3442 (kad-options), #3443 (log)
1880   - Default is now Swarming2.
1882 2004/10/13: Fabrice
1883   - Gnutella/Gnutella2: deflate_connections works
1885 2004/10/07: Fabrice
1886   - CommonUploads: 
1887       * Description of shared files is saved on disk during execution.
1888       * Computed UIDs, Md4s and tiger-trees are stored in shared_files.ini
1889           between executions.
1890   - Fasttrack:
1891       * Experimental ultrapeer mode for local experimentations (will not
1892           work on the Fasttrack network).
1894 2004/10/03: Fabrice
1895   - Bittorrent:
1896       * Start download without the torrent, when enough information is known.
1898 2004/09/27: Fabrice
1899   - Fasttrack:
1900       * Clean protocol specification
1901       * Basic ultrapeer
1903 2004/09/21: Fabrice
1904   - Gnutella/Gnutella2: 
1905       * Implemented basic ultrapeer (without Bloom filters)
1906       * Implemented HTTP upload
1907       * Implemented TigerTree verification
1909 2004/08/31: Fabrice
1910   - Bug fixes: 
1911       * chunk*.tmp are always removed
1912   - Applied patches: #3305 (config gtk), #3306 (mlgui align), #3307 (clean),
1913       #3313 (ft), #3317 (bt softs), #3319 (floats), 
1915 2004/08/18: Fabrice (version 2.5.28 = 2.6pre10, tag release-2-5-28)
1916   - Tested CommonSwarming2 with Edonkey and BT (should also work with 
1917       Fasttrack).
1919 2004/08/17: Fabrice
1920   - Applied patches: #3279 (cygwin), #3288 (aclocal), #3291 (maildate),
1921       #3292 (no gtk-config), #3554 (sharedbytes), #3561 (htmlpref),
1922       #3574 (gziphtml)
1924 2004/08/16: Fabrice
1925   - Bug fixes:
1926       * CommonSwarming: one bug causing BAD WRITE, and one bug causing bad
1927           selection of the block to download first.
1928   - CommmonSwarming2:
1929       * New "merge f1 f2" command to declare that data from file f2 should be
1930           saved in file f1. Not that all the data already downloaded to f2 is
1931           currently lost.
1933 2004/08/12: Fabrice
1934   - Bug fixes:
1935       * DriverCommands: add_user shouldn't raise exception anymore (bug #9990) 
1937 2004/08/11: Fabrice
1938   - Bug fixes:
1939       * DonkeyOptions: compute_md4_delay forced above 0.1 (bug #8812)
1940       * CommonNetwork: use Url.decode on urls 
1941       * Http_client: correct Host header (bug #8705)
1942   - Applied patch #2974 (wget)
1943   - CommonSwarming2: new implementation for multi-network swarming (not
1944       working yet). Not used anyway unless -enable-swarming2 is specified.
1946 2004/08/10: Fabrice (version 2.5.27 = 2.6pre9, tag release-2-5-27)
1947   - Applied patch #3276 (gui proto 29)
1948   - Bug fixes:
1949       * CommonInteractive: Filename conversion of forbidden Windows characters
1950           before saving files (bug #9213)
1951       * MlUnix: stdout and stderr are not closed, just redirected to /dev/null
1952           (bug #8580)
1953       * DonkeyFiles: limit upload to client to max_msg_size (bug #9818).
1954       * CommonSources: fixed bug preventing saved sources from being used
1955           (and thus previously known emule clients from being used).
1956       * CommonSwarming: save and reload chunks ages
1957       * FasttrackComplexOptions: sources are correctly loaded
1958   - Fasttack now uses module CommonHosts
1960 2004/08/09: Fabrice (version 2.5.26 = 2.6pre8, tag release-2-5-26)
1961   - Bug fixes:
1962       * GuiDecoding: bug causing deconnection for protocol 28
1963       * New Fasttrack files from giFT-Fasttrack
1964       * New option filename_conversions in downloads.ini to translate chars
1965           in names before saving files.
1966       * DonkeyClient: fixed QueueRankReq handling
1968 2004/08/09: Fabrice (version 2.5.25 = 2.6pre7, tag release-2-5-25)
1969   - Bug fixes (to be tested):
1970       * CommonSwarming: removed downloaded counter, use the file's one.
1971           Verified files should now be seen correclty after verify_chunks or
1972           recover_temp.
1973       * CommonInteractive: modified canonize_basename to replace chars
1974           outside 32-127 by ?. Should solve saving of CJK files on disk.
1975       * Unix32: open in read-only if EROFS is raised
1976       * DonkeyComplexOptions: force use of update_server_list variable, and
1977           check IP reachability (bug #7200). Should also fix bug #8971.
1978       * DonkeyClient: Don't ask for slot if no interesting chunk. Use
1979          good_client_rank option to put clients in "good_sources" queue.
1980          (bug #9016).
1981       * DonkeyClient: removed "connection_ok" in query_locations to
1982          allow servers to become master (bug #7741).
1983       * DonkeyServer: new command "preferred" to choose preferred servers,
1984          that will become masters immediatly and with priority if connected
1985          (which should happen automatically during the walking process).
1986          (bugs #9247/#9655)
1987       * GnutellaServers: added gnutella2_needed variable to decide when to
1988          keep a connection in Gnutella/Gnutella2 (bug #9697).
1989       * GnutellaRedirector: set delay between reconnections to redirector
1990          to 1 hour. (bug #9686)
1991       * CommonHosts: added option to limit the number of known hosts
1992           in Gnutella "max_known_hosts" (default 1000) (bug #8416)
1993       * configure.in: changed REQUIRED_OCAML to 3.08 (bug #9939)
1994       * DonkeyOvernet: searches are removed after 5 minutes.
1995   - Applied patch #3274 (ocaml3.08)
1997 2004/08/06: Fabrice
1998   - Applied patches: #3269 (int64), #3266 (mc), #3267 (ocaml3.08)
2000 2004/08/05: Fabrice (version 2.5.24 = 2.6pre6, tag release-2-5-24)
2001   - Bug fixes:
2002       * CommonSwarming: remove "double the downloaded size" of downloads.
2003       * DonkeyComplexOptions: prevents saving options before loading them,
2004           which used to destroy the file_sources.ini and shared_files_new.ini
2005           files.
2006       * CommonSources: check_time discarded the real time.
2007       * DonkeyOvernet: enabling Overnet at runtime wouldn't start it.
2008       * DonkeyShare: downloaded files should be shared immediatly.
2009   - Applied patches: #3264 (emule mods)
2010   - Overnet/Kademlia: added prebuckets. Number of peers limited to 20 per
2011       bucket and 100 per prebucket. Boot peers addresses from redirector.
2013 2004/08/04: Fabrice (version 2.5.23 = 2.6pre5, tag release-2-5-23)
2014   - ocaml-3.08 is required to compile now.
2015   - Overnet and Emule-Kademlia share the same (partial) implementation:
2016       * Use global options "enable_overnet", "enable_kademlia" and
2017           "enable_servers" to choose which modes you want to use.
2018       * See the options for Kademlia and Overnet in donkey.ini.
2019       * Use kad_ and ov_ prefixes to call commands for these networks
2020          ("kad_buckets" gives the current connection status, "kad_boots"
2021            gives the number of known peers to bootstrap, "kad_stats" gives
2022            the current status of searches, "kad_store" for what is published
2023            on the client)
2024       * Currently working:
2025          * Search for keywords (normal searches)
2026          * Search for files (localisation of sources)
2027          * Replies to external searches
2029 2004/08/01: Fabrice
2030   - Applied Savannah patches: #3249 (no udp), #3250 (mem_stats), 
2031      #3251 (verify_chunks)
2033 2004/07/30: Fabrice
2034   - Applied patches: #3053 (configure), #3064 (bt share), #3146 (ed2k servers),
2035      #3160 (emule mods), #3183 (config saved), #3235 (zlib), #3242 (Makefile),
2036      #3245 (bt nuploaders), #3246 (bt cookies)
2037   - Added src/networks/donkey/donkeyProtoKademlia.ml. Rewritting DonkeyOvernet
2038      to fix the implementation of Overnet, and to make it usable for Kademlia.
2040 2004/07/29: Fabrice
2041   - CommonSwarming: re-implemented chunk duplication.
2043 2004/07/29: Fabrice  (version 2.5.22 = 2.6pre4, tag release-2-5-22)
2044   - Fixed a bug in number of sources computation.
2046 2004/07/28: Fabrice
2047   - New subtree src/gtk2 to compile the GUI with gtk2. You need lablgtk2
2048      installed, and use "./configure --enable-gtk2" to enable. Some things
2049      are broken, such as availability display (but when is that pixmap
2050      destroyed ???).
2051   - New message InterestedInSources in the GUI protocol, to save more
2052      bandwidth by sending sources information only when asked.
2054 2004/07/02: Fabrice
2055   - Applied Savannah patches: #3165 (ipset), #3166 (mozilla height),
2056    #3178 (BT compatct). #3184 (hightime)
2059 2004/06/25: Fabrice
2060   - Applied Savannah patch: #3162
2061         
2062 2004/06/18: Fabrice
2063   - GUI protocol:
2064     * New message InterestedInSources
2065     * Fields file_all_sources and file_active_sources correct for eDonkey 
2066        plugin. Should save some bw, mem and cpu in the GUI, when only this
2067        info needs to be displayed.
2069 2004/06/17: Fabrice
2070   - Major changes in search results management:
2071     * New option 'save_results' (default is 0)
2072         0 : results are not saved between sessions
2073         1 : results first appearance are saved between sessions
2074         2 : full results are saved
2075     * Local search is now always available. A structure to search old
2076         results (in the same session, and in former sessions if 
2077         save_results = 2) is built for 5 minutes, so the memory should
2078         be reclaimed 6 minutes after the last local search.
2079     * All results for all networks are stored on disk, not in memory.
2080     * The 's' command output displays a 'N' for new results, i.e. results
2081         that never appeared before that search.
2082     * New option 'special_queries' in 'searches.ini' defining 
2083         abbreviations for search arguments (eg "-movies" means 
2084          "avi -minsize 650000000 -maxsize 735000000") that can be
2085         used with 's' and 'ls': "s -movies dvdrip fr"
2086   - Command 'mem_stats' now takes an argument (0 for normal, 1 for more
2087        details).
2088   - Applied patches: #3120 (html), #3124 (ed2khash)
2090 2004/06/03: Fabrice
2091   - Fixed bug adding unwanted friends
2093 2004/05/30: Fabrice
2094   - Added RSS loading via option web_infos, with command "rss" to print them.
2095   - Applied patches from Savannah: #3005 (networks), #3007 (printf2),
2096      #3008, #3016 (solaris), #3017 (log),#3023 (telnet), #3024 (log), 
2097      #3028 (donkey-ip), #3029 (firewalled), #3030 (log), 
2098      #3031 (ft users), #3033 (chmod), #3039 (Makefiles), 
2099      #3046 (telnet), #3065 (misc), #3067 (bsd), #3096 (wincomp),
2100      #3100 (force dl), #3070 (upload)
2102 2004/05/05: Fabrice (version 2.5.21 = 2.6pre3, tag release-2-5-21)
2103   - DonkeyClient: re-implemented indirect connections that were lost since
2104       2.5.17
2105   - For some reason, download seems to be limited to max_hard_download_rate/2.
2106       Try to increase this option until a fix is found. 
2108 2004/05/04:
2109   - Applied patches: disconnect (Spiralvoice)
2110   - Applied Savannah patches: #3003, #2988
2111   - Fixed bug preventing connections with Overnet clients.
2112   - New command 'activity'
2114 2004/05/03: Fabrice (version 2.5.19 = 2.6pre1, tag release-2-5-19)
2115   - Applied patches from Savannah: #3002 (cs_total), #3001 (newgui_csources),
2116       #2993 (guiprio), #2988 (cs_html), #2983 (typo18),
2117       #2978 (shorten results), #2975 (title opfile), #2966 (telnet stats),
2118       #2965 (min users), #2964 (htmlmod), #2963 (lugdu_share), 
2119       #2942 (emule mod), #2941 (options)
2120     * #2952 is postponed until I understand if it is already included in the
2121        Emule better compatibility work done.
2122     * #2974 is postponed for verification of compatibility with other platforms
2124 2004/05/02: Fabrice
2125   - Fixed bug causing lost of partially downloaded chunks.
2126   - Fixed bug in recover_bytes, and added new Edonkey command 
2127       'recover_bytes <file_num>' to recover files at a byte
2128       level (i.e. partially downloaded chunks)
2130 2004/05/01: Fabrice
2131   - Improved Emule compatibility: 
2132      * Send 'emule_miscoptions1' on Connect, store emule features
2133      * Receive EmuleCompressedPart messages (if Zlib)
2134      * Receive SourceExchanges messages version 2
2135      * Receive QueryFile messages containing QueryChunksReplyReq
2136      * Send QueryFile messages containing QueryChunksReplyReq
2137      * Send EmuleRequestSourcesReq even for small files
2138      * Send QueryChunksReplyReq only if chunks not known
2139      * Send JoinSlotReq with md4 
2141 2004/04/29: Fabrice
2142   - DonkeyPandora: print packets and check encoding/decoding of
2143       Edonkey packets using traces captured by tcpdump and treated
2144       with Pandora.
2146 2004/04/25: Fabrice (version 2.5.19, tag release-2-5-19)
2147   - Hardcoded size packet_frame_size to 1 in tcpBufferSocket.ml, so 
2148      bw-management should be the same as in 2.5.16
2150 2004/04/22: Fabrice
2151   - Memory leak bug found in the bandwidth management. Udp packets are not
2152       sent because all the upload bandwidth is used. Partially fixed by
2153       limiting the size of the queue of packets.
2155 2004/04/20: Fabrice
2156   - Applied patches from Habi
2158 2004/04/16: Fabrice (version 2.5.18, tag release-2-5-18)
2159   - Fixed bug solved by patch #2937
2160   - DonkeyInteractive: new command 'set_brothers' to associate a list of
2161       files as probably colocated.
2162   - CommonSources: everything should work now.
2164 2004/04/15: Fabrice
2165   - CommonSources: the implementation seems correct and enough efficient,
2166       still missing the limitation on the number of sources.
2167   - CommonSwarming: better handling of the 'last_seen' field
2169 2004/04/11: Fabrice
2170   - Applied Savannah patches: #2928 (already downloaded), 
2171        #2861 (useless options), #2852 (typo), #2915 (avoid getpeername),
2172        #2911 (bt log), #2907 (html prio), #2896 (autoconf), 
2173        #2872 (voo html), #2871 (clean servers), #2866 (autorel),
2175 2004/04/07: Fabrice
2176   - DonkeyNeighbours: try to use semantic links to find new sources for
2177       files among known sources. Send hit-ratio to redirector to gather
2178       stats.
2180 2004/04/06: Fabrice
2181   - CommonGlobals: only execute 'do_at_exit' in the main process, not
2182       in the forked ones (should solve bug #7738).
2184 2004/03/23: Fabrice
2185   - CommonSwarming: print an error message instead of pausing a file. Still
2186       to find the origin of the error message.
2187   - Bandwidth management has changed a bit, but without great success...
2189 2004/03/22: Fabrice
2190   - Safer options-saving at exit: close all the sockets to prevent "not
2191      enough file descriptors" error and remove a file called
2192     "config_files_space.tmp" to free 'config_files_security_space' megabytes
2193     created at startup.
2194   - Applied patches from Savannah: #2844(share), #2846(bt)
2196 2004/03/21: Fabrice
2197   - Applied patches from Savannah: #2832 (telnet_max_name_len), 
2198       #2833 (filetp), #2620, #2834 (mingw), #2836 (guardian_p2p url),
2199       #2837 (html), #2840 (overnet), #2841 (localtime)
2201 2004/03/18: Fabrice
2202   - Applied patches from Savannah: #2792 (doc), #2805 (comestic)
2203   - PClink for DP500: better handling of long filenames to prevent
2204        freezing the player.
2206 2004/03/17: Fabrice
2207   - Applied some patches for Solaris
2209 2004/03/17: Fabrice (version 2.5.17, tag release-2-5-17)
2210   - TcpBufferedSocket: new option 'copy_read_buffer', every byte downloaded
2211      from the network is copied twice, so more CPU used, but maybe better 
2212      network performances.
2213   - Donkey plugin: code clean-up to use CommonSwarming. Some features are
2214      now disabled, such as "reliability" until they are implemented in
2215      CommonSwarming (and so, shared by other plugins).
2217 2004/03/16: Fabrice
2218   - New function 'CommonFile.recover_bytes' to recover files using non-zero
2219      bytes interval written in the file. New associated option
2220      'max_recover_gap' to indicate how many consecutive zeroes in
2221      the file between non-zero bytes should still be considered as part of
2222      a downloaded segment.
2224 2004/03/12: Fabrice
2225   - IP: fixed option 'allow_local_network' 
2226   - GUI protocol:
2227       * New GUI protocol 26 with new format for CoreProtocol adding
2228           the max known opcodes for to_gui and from_gui messages.
2229       * The GUI can now receives unknown messages without breaking the
2230           connection.
2232 2004/03/10: Fabrice
2233   - Applied patches: #2760, #2766, #2767, #2768, #2773
2235 2004/03/09: Fabrice
2236   - Applied patch backchanges.patch (HighTime) for BT plugin
2238 2004/03/07: Fabrice (version 2.5.16, tag release-2-5-16)
2239   - Applied patches:
2240         #2750 (blocking_updated2), #2753 (bug 2586)
2241         #2751 (get_range)          #2754 (depend_mingw)
2242         #2752 (sourcesanitize)
2244 2004/03/07: Fabrice (version 2.5.15, tag release-2-5-15)
2245   - Applied patches #2755 (joinqueuemd4), #2866 (bttt), #2867 (buf_str)
2248 2004/03/06: Fabrice (version 2.5.14, tag release-2-5-14)
2249   - Http_server: replies are filled in the handler and sent by the server
2250       (not by the handler anymore). HEAD/GET requests should be treated
2251       correctly.
2252   - New URL "http://http_ip:http_port/preview_download?q=file_num" where
2253      "file_num" is the download number (in telnet for eg). Can be used to
2254      preview files with mplayer.
2256 2004/03/05: Fabrice
2257   - New tool "ocamlpp" used for preprocessing files with .mlt extensions.
2258   - Applied patches: 
2259       #2640, #2677 (cosmetic patches),
2260       #2686 (remove array bound error in guiDecoding),
2261       #2691 (close splash screen), 
2262       #2694 (status bar in downloads),
2263       #2710 (default sharing strategy),
2264       #2720 (mail),
2265       #2724 (frame height),
2266       #2726 (bind BT),
2267       #2727 (options)
2268   - GUI Protocol:
2269      * New message: NetworkMessage (network, message) for network-specific
2270          GUI messages: opcode 63[2 bytes], len[4 bytes], message[len]
2271      * get_string and buf_string can store strings greater than 65536 bytes
2272          (when len = 0xffff, there is another 4-bytes integer giving the full
2273          len)
2274   - Fixed bug in commonHasher_c.c for files > 2 GB
2276 2004/02/17: Fabrice (version 2.5.13, tag release-2-5-13)
2277   - Applied patches #2638, #2639
2278   - New tool "subconv" to easily modify .sub and .srt subtitles files.
2279   - FileTP:
2280      * Files are immediatly added, without checking first their size nor
2281         their existence.
2282   - Streaming of files for Kiss DP500 Divx player, including
2283       files from temp/ and incoming/. See the dp500_ options.
2285 2004/02/16: Fabrice (version 2.5.12, tag release-2-5-12)
2286   - Applied patches #2616, #2617, #2618, #2625, #2626, #2627, #2631,
2287       #2634, #2637
2288   - Telnet: 
2289       * Now, "cancel" does not cancel files, files are just put in a list,
2290           and you need to type "confirm yes" to definitively cancel them.
2292 2004/02/10: Fabrice (version 2.5.11, tag release-2-5-11)
2293   - New GUI protocol 24, all times in relative-time.
2294   - Re-applied patch #2603
2295   - ./config/configure.in: select former or new implementation of sha1
2296       depending on the presence of byteswap.h and endian.h.
2297   - Applied patches #2611, #2612, #2613, #2614 
2299 2004/02/09: Fabrice (version 2.5.10, tag release-2-5-10)
2300   * Applied patches sha1, #2597, #2603, #2604
2301   * New GUI messages: 
2302       Gui -> Core: GetUploaders, GetPending, 
2303                    GetSearches, (GetSearch search_id),
2304                    (ConnectClient cid), (DisconnectClient cid)
2305       Core -> Gui: (Uploaders num_list), (Pending num_list), 
2306                    (Search search_request)
2307      GetSearches and GetSearch allow a GUI to query for former searches and
2308       to receive the results corresponding to a particular former search.
2309   * New console command "disconnect <client_id>"
2310   * FileTP:
2311      * New option 'remote_shells' to define, for each hostname, which 
2312          remote shell to use and with which arguments (e.g. if you want
2313          to use rsh or ssh with username@hostname or a particular port).
2314          still no password allowed...
2315      * New version of 'get_range' that accepts a 'rangex' argument to
2316          send the data without base64 encoding (works for me, but I don't 
2317          know for other shells). Set the 'get_range' option to set the
2318          path of the remote get_range command, and 'range_arg' to use
2319          either 'range' or 'rangex'.
2321 2004/02/07: Fabrice (version 2.5.9, tag release-2-5-9)
2322   * Applied patches #2428, #2595, #2596
2323   * TcpBufferedSocket: 'exec_command' only creates one TcpBufferedSocket.t
2324      both for reading and writing.
2325   * FileTP:
2326      * Basic "remote shell" protocol (using ssh):
2327         use 'http <ssh://hostname/relative-filename>' to download the file
2328         hostname:~/relative-filename. ssh must be able to connect to the
2329         host without password exchange. The remote host must have the
2330         'get_range' utility in the PATH of ssh (use "make utils" to
2331         have 'get_range' compiled with in mldonkey). The transfer rate is
2332         not very good (30 KB/s, either because of too small 
2333         tcpBufferedSocket buffers, or because of the base64 encoding).
2335 2004/02/06: Fabrice (version 2.5.8, tag release-2-5-8)
2336   * FileTP:
2337      * Basic FTP protocol: 
2338         use 'http <ftp://url>' and 'mirror <ftp://url>'
2339      * Option 'mirrors': list of list of interchangeable url prefixes.
2341 2004/02/06: Fabrice (version 2.5.7, tag release-2-5-7)
2342   * New network 'FileTP' for simple file transfer protocols:
2343      * Basic HTTP protocol: 
2344         use 'http <http://url>' to start a download.
2345         use 'mirror <file_num> <http://url>' to add a mirror.
2346   * TcpBufferedSocket: initial size of buffer now depends on the last
2347         read input. might cause problems in memory until a better cache of
2348         buffers is implemented
2350 2004/02/06: Fabrice (version 2.5.6, tag release-2-5-6)
2351   * CommonInteractive:
2352      * file_cancel: removes the file itself
2353   * Unix32:
2354      * new function 'destroy' to completely destroy a FD, so that it cannot
2355         be used afterwards (but it does not remove the file). Used
2356         in CommonInteractive.file_commit and CommonInteractive.file_cancel.
2357   * DonkeyInteractive: clients might get stucked if they tried to
2358       upload a file that has just been commited, since the name is not
2359       updated anymore in Unix32.rename. We need to remove the former 'file' 
2360       structure and then add a new one for the shared file, thus disconnecting
2361       all the former uploaders (knowing them, they will reconnect asap :)).
2362       To be done.
2363   * Applied patches #2586, #2587, #2588
2365 2004/02/05: Fabrice (version 2.5.5, tag release-2-5-5)
2366   * Change in the version numbers, keep only 3 digits :)
2368 2004/02/04: Fabrice (version 2.5.4+8, tag release-2-5-4-8)
2369   * Bittorrent:
2370      * New version of uploaders choice.
2371   * Applied patches #2571, #2579, #2580 (is patch #2578 reversed ?)
2373 2004/02/04: Fabrice (version 2.5.4+7)
2374   * Bittorent:
2375      * Fixed upload for seeded files, and probably some other bugs.
2376   * Telnet interface:
2377      * ?? display commands per category
2379 2004/02/03: Fabrice (version 2.5.4+6)
2380   * Applied patches #2556, #2558, #2559, #2561, #2568, #2569, #2571, 
2381        #2572, #2574
2382   * TcpBufferedSocket: event CONNECTED is sent the first time a socket
2383       is available for writting.
2384   * Newgui:
2385      * Gui_cdget: Updated some regexps to correctly query IMDB.
2386   * Bittorrent:
2387      * BTTracker: the tracker should work. 
2388      * New internal command "torrents" to list URLs of files in
2389         torrents/tracked/
2391 2004/02/02: Fabrice (version 2.5.4+5)
2392   * New Internationnalisation format: short strings are stored for translation
2393       in ~/.mldonkey/mlnet_strings.$LANG. The new scheme allows easy 
2394       translation of options descriptions and all other strings used
2395       after CommonOption. Can also be used to translate the interfaces.
2396       Unfortunately, this new scheme makes most of the former translations
2397       obsolete, but most of them have been approximately changed to the
2398       new format (see distrib/i18n/mlnet_strings.*, copy yours in
2399       ~/.mldonkey/ to check)
2401 2004/02/01/ Fabrice (version 2.5.4+4)
2402   * Applied patches #2532 (new-gui), #2535 (INSTALL.txt), #2549 (vers mesg), 
2403        #2550 (minsize shared)
2405 2004/01/28: Fabrice (version 2.5.4+3)
2406   * CommonShared:
2407      Strategies of sharing can be defined in "searches.ini" (recursive or not,
2408       min file size, extensions). 
2409      * Predefined strategies:
2410          [all_files]: recursively all files > 10 KB
2411          [mp3s]: recursively .mp3 < 10 MB
2412          [avis]: recursively .avi > 500 MB
2413          [only_directory]: not recursive, all files > 10 KB
2414      * Strategy for incoming/ is now [only_directory].
2415      * Format of "shared_directories" option changed accordingly: new default
2416         directory shared/ with strategy [all_files].
2417   * CommonComplexOptions:
2418      file_state, file_age and file_size are saved for all networks in options.
2419   * CommonSwarming:
2420      functions to save and load chunks and present_chunks from options.
2422 2004/01/27: Fabrice
2423   * TcpBufferedSocket: 
2424     * Weak form of connection_manager, that should progressively be used to
2425         better distribute connections among networks.
2426     * Zlib Compression of connection is now done transparently.
2427   * Int32ops: removed Int32 operations. int32 should be removed as many times
2428       as possible to avoid limitations at 4GB. Bittorrent protocol does not
2429       support files > 4 GB (check new version ?)
2431 2004/01/26: Fabrice
2432   * CommonSwarming: completely rewritten. No partition anymore. Better
2433       block choice strategy. More efficient strutures.
2434   * BTTracker: 
2435       * new directories in "torrents/":
2436         * downloads/: .torrent of files being currently downloaded
2437         * tracked/: .torrent of files being currently tracked (maybe seeded)
2438         * seeded/: .torrent of files being currently seeded
2439       * mldonkey command 'compute_torrent' computes a .torrent file for a
2440         filename and put it in torrents/tracked/. The file is immediatly
2441         tracked.
2442       * mldonkey tracker can be accessed:
2443           http://ip:6881/tracker?info_hash=.... -> for the tracker
2444           http://ip:6881/filename.torrent -> to download 'filename.torrent'
2446 2004/01/23: Fabrice
2447   * ed2k_hash: new option -check <size> to compute different hashes on
2448       a generated file of size <size> KB, to test DiskFile, SparseFile and
2449       MultiFile implementations. 
2450   * Unix32:
2451      * Open ALL files in RW mode by default, and fall back in RO mode in
2452         case of error. 
2453      * New format SparseFile completely implemented. 
2454      * Unix32.rename makes the Unix32.t invalid. Might cause some bugs
2455         when sharing just commited files (TO CHECK).
2456   * Options:
2457      * New EXPERIMENTAL option 'emulate_sparsefiles' in downloads.ini,
2458         to emulate sparse files on non-sparse filesystems (e.g. FAT).
2459         Currently only works for Edonkey files, and <preview> and
2460         <recover_file> won't work for them.
2462 2004/01/16: Fabrice
2463   * Fixed problem with files.ini when downloading BitTorrent files
2465 2004/01/15: Fabrice
2466   * Applied Savannah patches #2480, #2481 (emule), #2482 (old GUI)
2468 2004/01/14: Fabrice
2469   * Applied Savannah patches:
2470      #2475, #2474 (bin modes), #2479 (BT), #2473 (negative time),
2471      #2437 (force-download typo), #2423 ("links" command), #2421 (connecttime),
2472      #2417 (message 21), #2415 (LSD not banned), #2414 (old GUI),
2473      #2413 (emule tags), #2411 (emule stats), #2473 (telnet)
2474   * Applied Pango's patch: common_recover_temp
2476 2003/12/22: Fabrice
2477   * make_torrent: 
2478      * .torrent filename is specified by -torrent
2479      * New option "-split <filename>" that will split <filename> in smaller
2480          files according to a .torrent file.
2481   * Applied pause.patch 
2483 2003/12/17: Fabrice
2484   * Applied upload_slots patch again
2486 2003/12/16: Dek
2487   * mldonkey CVS moved to berlios until savannah is back again.
2488      see https://developer.berlios.de/cvs/?group_id=610 
2489      for server-details, web-CVS etc.
2490   
2491 2003/12/16: Fabrice
2492   * Applied patches from spiralvoice page: prevent_interface_close, xmule,
2493      emule_tags, upload_cnum, suxx_wap, mld_cb10, remove_challenge,
2494      upload_slots, html_gnutella2, amule
2495      
2496 2003/12/15: Fabrice
2497   * Modified "forget" command
2498   * Bittorrent: crash when commiting directories fixed
2500 2003/12/09: Fabrice
2501   * Opennap: removed redondant client_port option
2502   * Gnutella2: removed options with same values as for Gnutella
2504 2003/12/08: Fabrice
2505   * New option 'allow_local_network' to allow connections on the local
2506      network for debugging purpose.
2507   * Bittorrent:
2508       * If 'tracker_port' is not nul, a WEB server is started inside mldonkey
2509          that is used as a tracker, with url:
2510                  http://YOUR-IP:<tracker_port>/tracker
2511       * New option 'shared_torrent_files', a list of pairs:
2512           torrent_files = [
2513                ("/test_bt.torrent", "../../one_torrent_file.torrent");
2514           ]
2515         where the first string in the pair is the relative url on the 
2516         tracker web-server http://YOUR-IP:<tracker_port>/test_bt.torrent
2517         and the second is the filename .torrent on the disk to be served.
2518       * New option 'tracked_files': a list of the filenames of the .torrent
2519           files that should be tracked.
2520       * New option 'shared_files': a list of pairs (path to .torrent file, 
2521           path to corresponding shared file).
2523 2003/12/06: Fabrice
2524   * New option file_started_cmd (by default "mlprogress") used when a
2525      new download is started to display a progress popup. Set to "" to
2526      disable.
2527   * Improved progress popup.
2529 2003/12/06: Fabrice
2530   * Added 'mlprogress <num>' program that popup a window to display the
2531      download of file <num> (thx to b8_zoggy). Not tested yet.
2533 2003/12/06: Fabrice
2534   * Applied Spiralvoice patches ban.clients, win.patch, patch_pack2c
2535   * Added option 'allow_any_command' to use ! instead of !! for 
2536      arbitrary commands (false by default for security reasons)
2537   
2538 2003/12/05: Fabrice
2539   * Merged devel/ and stable/ branches for Gnutella2
2541 2003/12/04: Fabrice
2542   * Added module CommonBitzi (merge with devel version)
2544 2003/12/03: Fabrice
2545   * Updated ed2k_hash to compute Sig2dat and Bitprints. For Mac users, you can
2546      check whether bitprints with tiger-trees are correctly computed:
2547        ./ed2k_hash.byte -hash bp COPYING 
2548      gives:
2549       urn:bitprint:QI3PHA4WVH75CAL72NCNTXZE3SNHU6K3.5URJJG7REVGICNBK5UQBPFGIEO234ZJ3MX2T54I
2550       Partial   0 : 5URJJG7REVGICNBK5UQBPFGIEO234ZJ3MX2T54I
2552 2003/12/02: Fabrice
2553   * Applied patch #2399 (anti-thieves v2)
2554   * Splitted Gnutella and Gnutella2 plugins
2556 2003/12/02: Fabrice
2557   * gui_messages.ini.dutch added
2558   * Suppressed UDP frames sent by a firewalled client, causing it to be
2559       black-listed.
2561 2003/12/01: Fabrice
2562   * Applied patch #2390
2563   * Added Autoconf.windows boolean
2564   * New tool 'make_torrent' generated by 'make make_torrent', that can be
2565       used to generate, print, verify and modify .torrent files.
2567 2003/11/29: Fabrice
2568   * Applied patch #2382 (mingw), #2380 (anti-thieves),
2569      #2384 (gui), #2386 (gui)
2570   * Removed client addr as string in GUI protocol 20
2572 2003/11/29: Fabrice
2573   * Unix32: create_ro = create_rw
2574   * New module BTTracker, to implement a tracker for BitTorrent.
2575       Command "compute_torrent <filename>" in console to generate
2576       the torrent file associated with filename. Not working yet.
2578 2003/11/29: Fabrice
2579   * Removed patch #1261 
2580   * Applied patch #2243 (bind sockets), #2377 (mlnet.static),
2581       #2378 (ocaml url)
2582   * Fixed compilation problem in oldgui
2583   * ED2K: send compressed ShareReq message to zlib-enabled servers.
2585 2003/11/29: Fabrice
2586   * Unix32: fixed a bug preventing the creation of a correct directory in BT
2588 2003/11/28: Fabrice
2589   * Unix32: some bug fixes which may have caused bad Sha1 computation in BT at 
2590       inner file borders.
2592 2003/11/28: Fabrice
2593   * Applied GUI patches #2372 (renamefile), #2373 (newgui), 
2594        #2374 (configwin), #2375 (im), #2376 (configure)
2595   * Applied HTML patches #2151, #2264
2598 2003/11/27: Fabrice
2599   * Removed patch #2341 (for fun :) )
2600   * Applied patch #2139 (html mod), #2371 (telnet)
2601   * Compressed connections to servers work, multiple replies to a search
2602       in one UDP packet works too.
2604 2003/11/27: Fabrice
2605   * Unix32: and yet another bug fixed in MultiFile: no more 
2606       Invalid_argument("Unix.write") error
2608 2003/11/27: Fabrice
2609    * Applied patches #2341 (BT), #2354 (BT with MultiFile), 
2610        #2339 (improved telnet), #2311 (Overnet [EXPERIMENTAL])
2611     BUT: is there a bug on Savannah, or is it my browser that incorrectly
2612      download patches with &quot;, &gt;, etc... inside ?
2613   * Fixed ed2k_hash compile error
2614   * Hardcoded emule protocol version set to 0x30, connect to Razorblack
2615   * Unix32: another bug fixed causing "really_write 0 BYTES" errors.
2617 2003/11/27: Fabrice
2618    * Bug with Unix32.read fixed (no flush).
2619    * New file type MultiFile in Unix32, created with create_multifile, to
2620        be used by BT. 
2622 2003/11/24: Fabrice
2623    * New UDP protocol implemented:
2624         * Understand servers flags in UDP pongs
2625         * Query for and understand multiple replies in one packet
2626         * Query sources for multiple files, and understand multiple files sources 
2627              in one packet
2628    * server_last_message updated correctly.
2630 2003/11/24: Fabrice
2631    * Suppressed option client_server_md4 (to correcly connect to all servers)
2632    * Copy Emule behavior for client-client connection
2633    * Send ET_COMPATIBLE flag in EmuleClientInfo with number 10
2634    * Send EmuleClientInfo as soon as Emule client is identified
2635    * Set verbose = "unk" to save unknown packets in /tmp/ directory
2636         
2637 2003/11/21: Fabrice
2638    * Applied patches: #2097, #2099, #2110 (mingw), 
2639        #2111, #2193 (telnet), #2248, #2255 (XSS bug), 
2640        #2268 (server zlib), #2269 (opennap napigator)
2642 2003/11/21: Fabrice
2643    * Applied patches on BT: #2135, #2158, #2247, #2254, #2256
2644    * Applied patch #2299 (files > 2 GB), #2263 (don't ban uploaders),
2645        #2202 (gnutella2 DDOS)
2646    * Gnutella/gnutella2 plugin compiled again
2648 2003/11/20: Fabrice
2649    * Modified to compile with ocaml-3.07
2650    * Started merging -devel and -stable versions
2651       * Gnutella and Gnutella2 plugins disabled
2652       * Should fix GUI protocol problems with G2GUI
2654 2003/11/17: Fabrice
2655    * Applied patches
2656       - GUI: #2080-#2087
2657         + By default, the new gui is built. To build the former one, run
2658             ./configure -disable-newgui
2659         + When switching from one gui to another one, the .mldonkey_gui* files
2660             may be incorrect, so you are advised to save them or delete them
2661             before switching.
2662       - #2067 ("nu" for bittorrent), 
2663         #2070 (new option "all_sources_on_telnet"),
2664         #2094 (sort files by priority for each downloader)
2665    * Some modifications for soulseek:
2666       * Retry connect only after 300 seconds.
2667       * Don't retry connect after INVALIDPASS unless login or password is
2668           changed
2670 2003/10/12: Simon (release-2-5-4)
2671    * Applied patches #2033 (hide-dirs), #2038 (ocaml-3.07), 
2672       #2039 (mlsubmit.reg), #2041 (hide-psswd)
2674 2003/10/10: Simon
2675    * Removed patch #1765
2676         
2677 2003/10/09: Simon
2678    * Applied patches #1608 (anti-thieves), #1669 (anti-spam), 
2679         #1692 (min-users-per-server), #1695 (html-mods),
2680         #1710 (regexp in voo), #1711 (sorted voo), 
2681         #1714 (gui priority bug fix), #1715 (fasttrack),
2682         #1732 (mldonkey_submit), #1733 (viewfiles 6 hours),
2683         #1734 (browse-friends), #1743 (bittorrent compliance),
2684         #1748 (emule-bugfix), #1753 (max-conn-servers),
2685         #1765 (limit-reqs DANGER), #1801 (http-proxy),
2686         #1843 (message-file), #1862 (download-amount),
2687         #2024 (filenames), #2025 (friends-slots),
2688         suxx-lugdunum-fix-v2
2689         
2690         DELAYED: #1911 (hidden-chunks)
2692         
2693 2003/06/07: Simon (release-2-5-3)
2694    * Applied patches #1582, #1594, #1598
2696 2003/06/06: 
2697   - CVS Modifications: Branches:
2698     * new branch release-2-5-devel for development version
2699     * default branch is STABLE now
2700     * branch release-2-5-1-patches is obsolete and should not be used anymore
2701          The last tag in this branch release-2-5-3 is still the most STABLE
2702          version here.
2704 2003/06/05: Simon  (release-2-5-3)(branch: release-2-5-1-patches)
2705   - Fixed ENORMOUS bug in donkey that could cause corruption on other clients
2706      All the md4s will be recomputed for all shared files at next startup.
2708 2003/05/28: Simon (release-2-5-2)
2709   *
2710   *   Completely unstable. For development only. This version may corrupt
2711   *   all your downloads, destroy your config files, and so on...
2712   *
2713   - Common:
2714       * CommonHosts: use the same system to manage hosts in Gnutella and
2715           Fasttrack (later in eDonkey and Overnet ?)
2716       * CommonUploads: save all UIDs (Sha1...) in shared_files.ini
2717       * CommonDownloads: 
2718          * A file can be downloaded together from FT, Gnutella and BitTorrent
2719              Downloads are displayed as on the "MultiNet" network.
2720          * The 'add_uid' command can be used to extend the knowledge on a file
2721              so that it can be downloaded from other networks.
2722   - Gnutella:
2723       * Discard results without UIDs
2724   - New plugin 'donkey_devel' not working yet, enabled with option
2725         -enable-open_donkey, replace the other one, and should be able
2726         in the future to share downloads with other networks.
2727         
2728 2003/06/02: Simon  (release-2-5-1)
2729   - BitTorrent: bug fix when reconnecting to tracker (remove empty event field)
2730   - DriverMain: remove use of "cp" command
2731   - Applied patches #1530, #1531, #1543, #1548 and #1563
2732         
2733 2003/05/27: Simon
2734   - Applied patches #1530, #1531
2736 2003/05/26: Simon
2737   - Fixed 'install' target of Makefile
2739 2003/05/26: Fabrice  (release-2-5)
2740   Stable release 2.5
2742 2003/05/26: Simon  (release-2-5-rc3)
2743   - Fasttrack:
2744       * Reduce client_name to 32 characters
2745       * Stop computing useless SHA1 hashes (inherited from Gnutella copy/paste)
2747 2003/05/26: Simon  (release-2-5-rc2)
2748   - GUI:
2749       * Plugins sorted in config panel
2750   - Fixed bug adding one file several times in 'old_files'
2752 2003/05/25: Simon  (release-2-5-rc1)
2753   - Applied patch #1523, #1527
2754   - Fasttrack:
2755       * Limitation on the number of simultaneous sources for a file
2756   - Fixed major file corruption bug when using 'buffer_writes' in bittorrent,
2757       fasttrack and gnutella.
2759 2003/05/24: Simon  (release-2-4-6)
2760   - Mac OS X:
2761       * Fixed a compilation problem
2762   - GUI:
2763       * Fixed the problem with servers appearing as New Hosts
2764   - Plugins initialized in the correct order (no downloads restarted at 0%)
2766 2003/05/23: Simon  (release-2-4-5)
2767   - Fasttrack:
2768       * Ask for a range only after the connection has succeeded
2769       * Support for Complex queries
2770       * Works on PPC now
2771   - Bittorrent:
2772       * Force flush with "buffer_writes" option before Sha1 computation
2773   - Applied patches #1512, #1513
2775 2003/05/21: Simon
2776   - Applied patch #1510
2777   - "set enable_... true/false" should now immediatly trigger the network 
2778       (before that, a restart was necessary)
2780 2003/05/20: Simon (release-2-4-4)
2781   - Bug fix: the bug causing too many open file descriptors and pausing
2782       recovered files maybe fixed.
2783   - Gnutella:
2784      * Fixed problem with \r in GWebCache
2785   - Fasttrack:
2786      * sig2dat:// links added
2787      * Automatically replace spaces in client name by _
2788   - Searches can be limited to particular network (bug fix in GUI)
2790 2003/05/19: Simon (release-2-4-3)
2791   - Applied patch #1503
2792   - Fasttrack: working good now :)
2793      * Use HTTP/1.0 (really necessary ? probably not)
2794      * Recover sources for files
2795      * Reconnect to good sources immediatly
2796      * Ask longer ranges
2797   - Gnutella2:
2798      * Added number of leaves per ultrapeer
2800 2003/05/18: Simon (release-2-4-2)
2801   - Applied patches #1476, #1477, #1479 and #1481
2802   - FastTrack:
2803      * Can look for new sources
2804   - Added mldonkey/tools/pandora/ to help understand protocols
2806 2003/05/14: Simon (release-2-4-1)
2807   - FastTrack: first try, far from complete, only for x86 !!!
2808      * Copy of gnutella/ plugin architecture to fasttrack/
2809      * Cipher C stubs available from Ocaml
2810      * Connection to main server: OK
2811      * Connections to ultrapeers: OK
2812      * Simple Searches sent: OK
2813      * Results received: OK
2814      * Downloads: OK, no recover yet
2815   - Config: copy old downloads.ini to downloads_expert.ini and
2816       donkey.ini if the latter ones are absent
2818 2003/05/10: Simon (release-2.4-0)
2819   - BitTorrent:
2820      * Fixed a bug making mldonkey use 100% of CPU when misbehaving clients
2821         send thousands of Have messages
2822      * New option 'delete_original' to get rid of the old file when splitting
2823         is successful
2824   - Gnutella2: 
2825      * Enabled by default when Gnutella is enabled
2826      * XML tags correctly added to results
2827   - GUI:
2828      * Added 'New Server' button
2829   - Searches:
2830      * Added the ability to choose the network for each search
2831   - Options:
2832      * Fixed bug with options that couldn't be changed anymore in WEB interface
2833   - Update ed2k_mozilla/mldonkey_protocol_handler.xpi to version 1.2
2835 2003/05/09: Simon (release-2-4-rc12)
2836   - ed2k_hash: computation false for multichunks files, fixed.
2837   - Gnutella2:
2838      * Reply to QKR
2839      * Reply to Q2 for URN requests
2840      * Limit downloads to 5 slots (max_available_slots option in gnutella.ini)
2841      * Support HTTP/1.1 upload, and /uri-res/N2R?urn:sha1: queries
2842   - Options: options have been splitted in different files:
2843      'downloads.ini' : most simple options
2844      'downloads_expert.ini' : options for experts
2845      'donkey.ini' :  simple options for edonkey
2846      'donkey_expert.ini' : edonkey options for experts
2848 2003/05/08: Simon (release-2-4-rc11)
2849   - RPM: new Makefile rule 'rpm' to build rpms for mldonkey
2850   - Gnutella: 
2851      * Use both keyword and uid searches to recover files
2852      * Make a recover search at download startup (next one every hour)
2853      * Compiled only if Zlib is available
2854      * Gnutella2 support working (no upload yet... for sunday). To try,
2855         set enable_gnutella first to true, then set enable_gnutella2 to true
2856         in the gnutella plugin (and maybe enable_gnutella1 to false...)
2857      * Remove hosts older than 3 hours
2858   - Donkey:
2859      * Keeps pending messages to clients
2860   - ftruncate64 implementation rewritten
2861   - GUI:  
2862      * options panels are not options anymore
2863      * Protocol version 15:
2864        * ForgetSearch is replaced by CloseSearch which takes 2 args and 
2865           opcode 53
2867 2003/05/07: Simon (release-2-4-rc10)
2868   - Applied patches #1459, #1460 and #1462
2869   - Soulseek: 
2870      * New option 'servers', with mail.slsk.org:2240 by default
2871   - GUI:
2872      * Only send modified options
2874 2003/05/05: Simon (release-2-4-rc9)
2875   - eDonkey:
2876      * Added ed2k_hash to the distribution (use 'make ed2k_hash' to compile)
2877   - Options:
2878      * List parsing should be tail recursive now
2879   - Gnutella1/Gnutella2:
2880      * Better management of hosts
2881      * More aggressive with QKR queries
2882   - DNS: correctly handle names starting with numbers (bittorrent URLs for
2883       example)
2885 2003/05/02: Simon
2886   - Gnutella2:
2887      * Fixed defragmentation
2888      * Fixed QH2_H_DN message
2890 2003/05/01: Simon (v release-2-4-rc9)
2891   - Gnutella:
2892      * Added GGEP extensions to PONG messages
2893      * Added Bye-Packet support
2895 2003/04/30: Simon (v release-2-4-rc8)
2896   - Applied patch #1432
2897   - Gnutella:
2898      * COBS implemented and incoming GGEP
2899      * Some Vendor-Messages
2900      * More headers understood
2901   - BitTorrent:
2902      * Better control of max_opened_connections
2903      * More Aggressive lifetime for connections (10 minutes without downloads)
2905 2003/04/26: Simon
2906   - Applied patches #1427, #1428
2908 2003/04/24: Simon
2909   - Applied patch #1424
2910   - Changes in 64bits system calls
2911   - Gnutella:
2912      * Bug fixes: HTTP return code is correctly tested
2914 2003/04/23: Simon (v release-2-4-rc6)
2915   - Applied patch #1402
2916   - Prevent exceptions from raising from calls to lprintf
2917   - Fixed bug in Unix32 causing error with file descriptors
2918      (and maybe file corruption)
2919   - BitTorrent:
2920      * Commit directories in multiple files
2922 2003/04/22: Simon (v release-2-4-rc5)
2923   - Gnutella:
2924      * Old host discovery system doesnot work anymore. Implemented
2925          GWebCache system
2926      * Option prefix set to GNUT
2927   - Updated to use ocaml-3.06+27 which should support all Mac OS X versions
2928   - Applied pango's patches:
2929        88_login_missing_in_gui, 89_better_xs_messages, 90_limit_indirects
2930   - Applied patch #1397 (upload priority)
2931   - Bittorrent:
2932      * Fixed problem with never finishing downloads
2933   - Driver:
2934      * Fixed problem with availability display
2935   - Gnutella:
2936      * Don't use 'Accept:' header for gnutella1 hosts, since most of them
2937          refuse the connection
2939 2003/04/20: Simon
2940   - Complete reorganization of source tree
2941   - GUI: exit uses CTRL-q instead of CTRL-e
2943 2003/04/19: Simon (v release-2-4-rc4)
2944   - Applied patch #1393, #1395
2945   - Gnutella2 (not yet working):
2946      * Encoder/Decoder tested successfully on real shareaza recorded stream
2947      * Some handlers
2949 2003/04/18: Simon
2950   - Applied patches #1389, #1391
2952 2003/04/17: Simon
2953   - Changes in Makefile:
2954         * Compile only mlnet and mlnet+gui
2955         * mldonkey_gui is renamed in mlgui
2956         * mldonkey_gui2 is renamed in mlgui2, and not compiled by default
2957         * Added target 'install' (use --prefix configure option). 
2958              * Create mldonkey, mlslsk,... as links to mlnet
2959              * Create mldonkey_gui as a link to mlgui
2960   - Fixed generated mlsubmit.reg
2961   - Donkey: 
2962      * last_high_id is only changed if option use_server_id is set
2964 2003/04/16: Simon
2965   - Changed version number to 2.4-rc4
2966   - Bittorrent:
2967      * More aggressive reask delay of 2 minutes
2968      * Improve detection of end of download
2969   - Removed Sha1 and Tiger assertions in md4.ml, but set a flag when
2970       computation failed.
2972 2003/04/15: Simon (v 2.04rc3)
2973   - CommonUploads: changed a bad comparison in download_engine
2974   - Applied patch #1385, #1387
2975   - Bittorrent: 
2976      * Fixed a bug that prevented the download from starting in some cases
2977      * Any client from which some bytes were downloaded obtains immediatly 
2978         an upload slot
2979      * Can send several requests at once when enough bw is available
2981 2003/04/14: Simon (v 2.04rc2)
2982   - Donkey: more accurate when asking for slots
2984 2003/04/13: Simon
2985   - Applied patches #1377, #1379 and #1382 
2986   - BitTorrent:
2987      * File Pause/Resume
2988      * More checks to detect download termination
2989   - Limewire plugin renamed to Gnutella
2991 2003/04/08: Simon  (v 2.04rc1-15)
2992   - Applied patch #1372 (= #1373 I hope)
2993   - Tiger: try to prevent Bus Error bugs on Solaris by aligning the buffer
2994   - BitTorrent: 
2995       * Verify file before commiting
2996       * Properly cancel files
2997   - Unix32: flush buffers before closing files
2998   - Donkey: connections have now a lifetime of 20 minutes at the 
2999      beginning, increased when receiving important messages (upload, download).
3000      Connections above max_opened_connections have only 1 minute 30 to life.
3001      Might improve the limit on the number of connections.
3003 2003/04/07: Simon  (v 2.04rc1-14)
3004   - Fixed bug with client_uid option in mlnet.
3005   - Applied patch #1370
3006   - BitTorrent: 
3007       * fixed problems in URLs when contacting tracker '+' -> '%20'
3008       * Update Downloaded chunks in interface
3009       * Resent chunks queries on Unchoke (correct ?)
3010   - Gnutella: Send urn:sha1: when available in QueryReplies
3012 2003/04/06: Simon
3013   - Applied pango's patch 87_preview_from_all_interfaces
3014   - Remove Queries page from GUI menu
3015   - Applied patch #1366
3017 2003/04/06: Simon  (v 2.04rc1-13)
3018   - BitTorrent: almost complete implementation, still to test
3019       Current Restrictions:
3020         * No support for multiple files in one file (open files.ini, 
3021           you will find the positions of the sub-files there)
3022         * No support for releasing files
3023       But upload WORKS correctly
3024   - Lot of code has moved, need some more testing before stable 2.04
3026 2003/04/04: Simon
3027   - LimeWire Plugin:
3028      * GUID fixed
3029   - Some C warnings removed
3030   - Moved donkey/ upload code to common/commonUploads.ml to be used by other
3031       plugins
3032   - Fixed Tiger Tree function on BigEndian platforms
3034 2003/04/03: Simon 
3035   - Fixed bugs #3079 and #3080 :)
3036   - New common/commonSwarming.ml module to handle swarming for all networks
3037       that support it.
3038   - LimeWire Plugin:
3039      * Swarming possible, not completely tested
3040      * More headers understood: 
3041        X-Gnutella-Alternate-Location, X-Gnutella-Content-URN,
3042          Remote-IP
3044 2003/04/01: Simon  (v 2.04rc1-12)
3045   - Fixed per user Column Sorting in HTTP interface
3046   - Fixed bug #3003 :)
3047   - Fixed Filepath.path_to_string so that "" becomes [], and not [""] that
3048       makes mldonkey shares its own directory.
3049   - Implementation of Tiger trees correct for files < 1 MB
3050   - Lots of changes in Unix32
3051   - Applied patch #1340
3052   - Limewire Plugin: probably lots of bugs, many changes
3053      * Gnutella2 support started:
3054         * Handshakes
3055         * Protocol Encoding/Decoding not tested
3056         * UDP socket
3057      * Support for Magnets and HUGE
3058      * Different results if different UIDs, requests for files by UID
3059   - Applied pango's patches: 85_ip_from_highids, 86_priority_patch
3061 2003/03/26: Simon
3062   - CommonHasher: implemented asynchronous hashing of files using sha1.
3063   - Applied patch #1324
3065 2003/03/24: Simon (v 2.04rc1-11)
3066   - Fixed compilation problem of md4_c.c and md5_c.c
3068 2003/03/23: Simon (v 2.04rc1-10)
3069   - Gnutella/Limewire:
3070     * Upload tested successfully with gtk-gnutella
3071     * Push message understood (danger: unlimited number of connections)
3072     * Added computation of sha1 digests in Md4 module, digests of shared
3073          files are not yet computed.
3074   - Bug fixes:
3075     * Bandwidth should be displayed correctly in WEB interface: the
3076        control_ bandwidth should be displayed instead of tcp_ which includes
3077        interfaces.
3078     * Filename: assert failure removed
3079   - Applied patch #1320
3081 2003/03/22: Simon (v 2.04rc1-9)
3082   - Bug fixes:
3083     * log_file with -daemon option
3084     * pending slots should only contain connected clients
3085   - Applied patches:
3086     * pango:
3087        71_upload_slots_dynamic_allocation
3088        81_implicit_dllink_ovlink_commands
3089        83_hide_upload_slots_round_robin
3090     * Savannah: #1315, #1319
3092 2003/03/21: Simon (v 2.04rc1-8)
3093   - Fixed config/Makefile.in to compile static binaries
3094   - Bug fix: don't close stdout when a log_file is provided
3096 2003/03/20: Simon (v 2.04rc1-7)
3097   - Build libraries before building executables
3098   - Applied patch #1300, #1302, #1303, #1307
3099   - Use file_add_downloaded in all plugins: display correct download rate
3101 2003/03/19: Simon (v 2.04rc1-6)
3102   - Applied patch #1297, #1298
3103   - New command 'rename'
3104   - New option 'minimal_packet_size' 
3105   - TcpBufferSocket: use 'minimal_packet_size' instead of 'ip_packet_size'
3106   - Modifications in Unix32 to abstract operations on big files. Next step:
3107      filesystems that don't support sparse-files (Windows)
3108   - 'auto_commit' is not done immediatly, but tested every minute
3109   - Bug fix: Paused files were caused by Printf.printf and print_newline
3110       with stdout closed (or terminal killed). Replaced by lprintf and
3111       lprint_newline.
3113 2003/03/19: Simon
3114   - MinGW port:
3115         * Unix.write limited to 16 kB.
3117 2003/03/19: Simon (v 2.04rc1-5)
3118   - MinGW port:
3119         * Support for non-blocking sockets
3120          * New file .depend.mingw for dependencies under MinGW
3121          * If an error appears compiling mlnet, try "make mldonkey"
3122   - Applied patch #1294 
3124 2003/03/18: Simon (v 2.04rc1-4)
3125   - Applied patches #1271, #1272
3126   - New experimental options 'buffer_writes', 'buffer_writes_delay' and
3127        'buffer_writes_threshold' to buffer writes to decrease HD usage.
3128   - Applied pango's patches:
3129       * pango, don't forget that you should modify config/Makefile.in and
3130          not only Makefile.
3131       51_new_chunks_scheduling
3132       62_wait_for_id_before_publishing
3133       77_reliable_sources
3134       80_file_received_file_downloaded
3136 2003/03/15: Simon
3137   - New command 'calendar_add' to add a command to the calendar
3138   - Remove dependency to Zlib in LimeWire/eDonkey
3140 2003/03/14: Simon
3141   - Applied patch #1266
3142   - Fixed Challenge, so that it does not depend on Ocaml version
3144 2003/03/13: Simon (v 2.04rc1-3)
3145   - Applied patch #1263, #1264
3146   - Fixed bug with allowed_commands option
3148 2003/03/12: Simon (v 2.04rc1-2)
3149   - Applied patch #1259, #1261,
3150     + pango: 01_more_blocreq_checks, 08_better_default_parameters,
3151              60_no_emule_quota, 78_lugdunum_pings_fix, 79_auto_commit
3153 2003/03/11: Simon (v 2.04rc1-1)
3154   - New changes for Emule compatibility.
3155   - Added option 'log_file' in downloads.ini
3157 2003/03/10: Simon (release-2-04rc1)
3158   - Changes in replies to Emule AvailableSlot
3159   - Applied patches #1250, #1251
3160   - Terminal mode: recognize Window size when possible (rfc 1073)
3161   - Upload queue has been cleaned. Doesn't work as a fifo anymore.
3163 2003/03/10: Release 2.03, 
3165   We are forced to release a new stable version a bit earlier than expected,
3166 due to problems with old clients accessing savannah at startup.
3167   Compared to the 2.02 release, this new release provides:
3168    * Better Emule compatibility
3169    * New improved sources management (fewer sources, but better sources)
3170    * Improved interfaces: 
3171        * new WEB interface (use html_mods option to use the old one)
3172        * some colors in terminal (use term_ansi option to disable)
3173        * new external searches in the GUI
3175 2003/03/10: Simon
3176   - Fixed 0 upload bug :)
3178 2003/03/06: Simon
3179   - Debug: new commands 'debug_client <nums>' to see messages exchanged with
3180       those clients, and 'clear_debug' to clear the debug table.
3181   - New option '-daemon' and new command 'daemon' to run mldonkey in
3182       daemon mode.
3183   - New commands 'log_file <file>' and 'close_log' to log output to a file.
3184   - New command '! <cmd>' to execute a system command from the interface.
3185       The <cmd> command must have been defined in the option
3186       'allowed_commands' as the symbolic name for another command.
3187       You cannot pass arguments, only those associated with the command
3188       in 'allowed_commands' are used (default example: df)
3189   - New multi-user system:
3190      * Options 'password', 'http_login' and 'http_password' have been
3191        replaced by one option 'users', that should not be edited manually
3192        (to reset, remove it completely), since the passwords are encrypted
3193        in config files.
3194      * The default user is 'admin'. He should not be removed. He is the
3195        only one who has the right to add new users. Default password is
3196        "" (empty)
3197      * 'auth <user> <password>' is used to change the user in a 
3198          console/GUI session
3199      * 'add_user <user> <password>' is used to add a user, or change the
3200          password associated with it. Only 'admin' is allowed to use this
3201          command.
3202      * Searches are now displayed per user. All other views are shared 
3203          between users.
3204   - Bug fixes:
3205      * Bug in GUI proto 7..13, where force param of Download_query was
3206         sent with bad opcode.
3207   - Links to the WEB server of savannah have been banned: in web_infos and
3208       network_update_url. The redirector is temporarily used to provide this
3209       information.
3210   - Telnet interface: 
3211      * ANSI escape sequences: option "term_ansi", command "ansi true/false",
3212         to activate/disactivate colors on terminal
3213      * Command "term <width> <height>" for prompt on last line, until I 
3214         remember how to detect terminal size automatically.
3215   - New option 'max_concurrent_downloads', and new state Queued for files
3216       being downloaded. Only the 'max_concurrent_downloads' files with
3217       highest priority are really being downloaded, other files with
3218       lower priority are waiting.
3219   - Limewire/Gnutella:
3220      * Correctly send the QRT table to ultrapeers
3221      * Almost able to reply to searches
3222   - GUI:
3223      * Upload tab: new button "Add Shared Directory"
3224   - Applied patches #1247, #1228, #1235, #1242, #1248, #1232
3225   - Bug fixes in eDonkey:
3226      * 'peer_ip' is only called if reliable_sources is activated
3227      * A client cannot appear twice in the pending slots queue 
3229 2003/03/05: Simon (v 2.02-29 next release: monday)
3230   - IMPORTANT Bug fixes (thx pango):
3231      * Corrupted blocks are removed
3232      * Re-order arguments when computing md4 with threads
3233        -> all your shared files hashes will be recomputed :(
3235 2003/03/05: Simon (v 2.02-28)
3236   - Bug Fixes:
3237      * 'vr' should not raise Exception in String.sub, fix in
3238          result_format_of_name
3239   - Direct-Connect: use async DNS by threads when available
3240   - Applied patches #1226, #1227 from Savannah
3241   - Options: some memory improvements (clear unused initial options,
3242       avoid building intermediate data structures)
3244 2003/03/04: Simon (v 2.02-27)
3245   - Bug fixes: 
3246      * 'log' command correctly set the size of the log (otherwise, an 
3247       exception is raised... and no GUI can connect for eg)
3249 2003/03/04: Simon (v 2.02-26)
3250   - Applied patches #1219, #1220, #1221, #1222
3251   - Redirection of output to a log:
3252      * Only startup messages are sent to stdout
3253      * New argument -stdout for all messages to be sent to stdout
3254      * New commands: 'log' to see the last non-printed messages,
3255        'stdout <true|false>' to enable/disable messages to stdout again.
3257 2003/03/03: Simon (v 2.02-25)
3258   - Source Management:
3259        * Query files every min_reask_delay even when already connected
3260        * Removed the 2 queues for really bad files
3261   - Emule compatibility: on disconnect, file queries are stored if 
3262      a JoinSlot message was sent, and reused if an unrequested AvailableSlot
3263      message is received (to be tested).
3264   - Duplication of similar chunks between files (the next step should be
3265       to only download one of these chunks) tested every 5 minutes
3266   - Applied patches #1203, #1204, #1210 and #1215
3267   - Applied patch 77_trusted_sources, activated by option 'trusted_sources'
3268   - New option 'max_indirect_connections' to limit the number of incoming
3269       connections.
3270   - New command 'options' to print options by section
3272 2003/03/02: Simon (v 2.02-24)
3273   - New commands 'share <dir>' and 'unshare <dir>' to manipulate
3274       shared_directories
3275   - Applied pango's patch 71_upload_slots_dynamic_allocation, controlled
3276       by option 'dynamic_slots' (false by default)
3277   - Applied patch #1199
3278   - Bug Fixes:
3279        * Computation of guptime
3280        * Dropping all sources of files when too many sources
3281        * Mailer that don't accept the <..> addresses (new option
3282           'add_mail_brackets')
3283   - Added detection of similar chunks between files, not used yet
3284   - Applied patch #1200, with option 'filename_in_subject'
3285   - Source Management:
3286        * Changed default for min_reask_delay to 600 seconds
3287        * Two new queues, one for good clients (every 10 minutes), one for
3288            bad clients (every 6 hours)
3290 2003/03/01: Simon (v 2.02-23)
3291   - Bug fixes:
3292     * stats should be correctly saved
3293     * sources above max_sources_per_file should be correctly removed
3294     * IMPORTANT: JoinSlot message should be sent correctly again at 
3295        each connection
3296   - Gui: added a "Scan Ports" command to autodetect core port. Be careful, it
3297     can trigger intrusion detection softwares ! It is partially asynchronous,
3298     so that the replies may appear several seconds after the function returned.
3300 2003/02/28: Simon (v 2.02-22)
3301   - eDonkey: respect max_sources_per_file
3302   - Applied patch #1198, stats saved as options in 'stats.ini'
3303   - Added link to French forum on main WEB page
3305 2003/02/26: Simon (v 2.02-21)
3306   - eDonkey: 
3307       * Save hashes of commited files in shared_files.ini to remove
3308         rehashing commited files on startup
3309       * Remove / after the md4 in ed2k links      
3310       * Full-Chunks SUPPORTED
3311   - Applied patch #1185
3312   - Applied pango's patches:
3313        63_revert_optimize_chunks_display
3314        65_fix_file_unbound_argument, 
3315        66_fix_ocl_parsing,
3316        67_can_download_from_uploaders,
3317        70_fix_duplicates_in_pending_slots_fifo
3318        74_emule_protocol_version
3319      Comments on patches not applied: 
3320       * 73: should not use Weak.t but remove the client when disconnected.
3321       * 58: not sure what it does exactly
3322       * 60: emule quotas remain until full-chunk is fixed
3323       * 69: no full-chunk until we and edonkey can support it
3324       * other ones (51, 68, 71, 72): touch the internals of the sensible
3325          upload/download engine. need more time to check
3326   - Fix: correctly cache IPs in Ip.async_ip
3328 2003/02/25: Simon (v 2.02-20)
3329   - Applied patch #1174, #1177, #1178
3330   - With threads, asynchronous DNS resolution of urls
3331   - GUI: ed2k links directly saved to selection, but doesnot work yet
3332   - eDonkey: 
3333      * Try to work around the incoming Emule connections sending
3334         an immediate AvailableSlot
3335      * Inverted 2 shared/commit lines in CommonComplexOptions.file_commit to
3336         prevent rehashing of downloaded files
3337   - ./configure: Improved pthread support
3339 2003/02/25: Simon (v 2.02-19)
3340   - Fixed Makefile for pthread library
3342 2003/02/24: Simon (v 2.02-18)
3343   - eDonkey: 
3344      * Fixes: good sources dropped
3345   - Limewire:
3346      * Implementation of Query Routing 0.1
3347   - Applied patches #1169, #1173
3348   - ./configure: use option -enable-pthread-lib=pthread, or whatever, to enable
3349        use of threads
3351 2003/02/22: Simon (v 2.02-17)
3352   - GUI: new application mldonkey_installer'. Guess its goal. Need
3353       -enable-devel in ./configure . Not working yet.
3354   - Applied patch #1165, #1164, #1161
3356 2003/02/21: Simon
3357   - eDonkey: 
3358      * Removed slot reserved for mldonkey2
3359      * Added some UDP messages for Emule (not yet used)
3360   - Applied patch toggle_browse_share by Martin
3361   - Applied patch #1151, #1152 and #1156
3362      pango's ones: 
3363         59_fix_gui2_compile_warning
3364         61_remove_zone_present_field,
3365         62_telnet_use_interface_buffer
3366         63_optimize_html_mods_chunks
3367         64_html_mods_upstats_links
3368   - Fix: 'uploaders' command only prints connected clients.
3369   - ./configure: new option -enable-pthread, if you want to compute some
3370       md4s in another thread. 
3372 2003/02/20: Simon (v 2.02-16) tag unstable-2-02-16
3373   - Applied patch #1137: new html_mods
3374   - Added some options in 'vo':
3375        client_name,allowed_ips,client_ip, force_client_ip
3376   - ./configure:
3377        * If no native code compiler is available, compile in bytecode (HPPA)
3378        * New option -disable-gui
3379   - Protocols: 
3380        * Overnet: Fixed message 27, removed message 33
3381        * eDonkey: added message 92
3382        * Try to print the IP:port for unknown packets
3383   - Net: mtu changed to 1500
3385 2003/02/19: Simon (v 2.02-15)
3386   - Applied patch #1136: better mail output
3387   - Applied patch adding "rem" command
3388   - Applied patch #1128: Adding chunk_width edit option
3389   - Applied patch #890: FakeCheck link
3390   - Donkey:
3391      * Try to recover direct address from connecting client
3392      * Try to ask good connecting clients to reconnect (either by tcp or udp)
3394 2003/02/19: Simon (v 2.02-14)
3395   - Bug fix: vd <num> (patch #1135)
3397 2003/02/18: Simon (v 2.02-13)
3398   - Upgraded to lattest html_mods
3399   - GUI: 
3400        * You can now pass the full path to a file filled with urls (ed2k://) in 
3401          the ed2k:// entry
3403 2003/02/18: Simon (v 2.02-12)
3404   - fixed bug exiting on set_request_result not found.
3406 2003/02/18: Simon  (release unstable-2-02-11)
3407   - DonkeyServers: fixed a bug with socket Lifetimes
3408   - Fixed bugs in gpattern and vm commands
3410 2003/02/17: Simon (release unstable-2-02-10)
3411   - DonkeySources3: new source management (use 'sources' command for info)
3412       * Increased default max_clients_per_second to 30
3413       * Removed ban on rank > 500
3414   - Applied last html_mods patch. Does not work well on my Mozilla version.
3415      So, disabled by default (activate with html_mods = true). WEB Messages
3416      have been changed, so that foreign translations are not ok anymore.
3417   - DonkeyServers: query more files before deconnection from clients.
3419 2003/02/15: Simon
3420   - GUI:
3421       * Added small icons (used by default)
3422   - Core:
3423       * better chroot support
3424          * set shell variable MLDONKEY_CHROOT=/dir if you want mldonkey to
3425             chroot itself in /dir. mldonkey must be started as root (or setuid)
3426             and should drop its priviledges using run_as_user/run_as_useruid.
3427          * added option 'run_as_useruid'. The directory where mldonkey
3428             will save its files must be writtable by this user, and
3429             the incoming directory too (recall: options can be set on the
3430             command line: #root> /usr/local/bin/mldonkey -run_as_useruid 502).
3432 2003/02/09: Simon
3433   - GUI:
3434       * New query tabs: "ShareReactor Search" and "Jigle Search"
3435       * More options in "FreeDB Search" tab
3436   - Ip: DNS queries are now always cached.
3438 2003/02/07: Simon
3439   - Applied patch #1079 (fragmentation)
3440   - DonkeyOvernet:
3441       * Keyword store completely rewritten
3442       * Remove keywords older than 1 hour 
3444 2003/02/06: Simon
3445   - GUI:
3446       * New query tab "IMDB Search"
3448 2003/02/05: Simon
3449   - Applied html_mods patch 2 from Mike Jones
3450   - GUI:
3451       * New query tab "FreeDB Search"
3453 2003/02/04: Simon
3454   - Ported to Ocaml CVS version: 3.06+21 is required on Mac OS X. Downloads
3455       are done from Savannah for 3.06 and 3.06+21
3456   - GUI: 
3457       * New message CleanTables sent every 30 minutes to the GUI to clean
3458           source tables.
3459   - DonkeyProto: closer to Overnet 0.44, still some information missing
3460       A client browse trace is available in DonkeyProtoClient.ml
3462 2003/02/03: Simon
3463   - WEB interface: applied patch html_mods
3464   - Applied patch 1053 (separated blocks in GUI)
3465   - GUI: 
3466     * moved column popup on right button
3468 2003/02/01: Simon
3469   - GUI: display rank when possible
3471 2003/01/30: Simon (tag unstable-2-02-9, and good week-end)
3472   - Net: attempt to take into account TCP/IP packets size in bandwidth control.
3473       Seems to work better
3474   - GUI: 
3475        * Change file priority in GUI
3476        * New option 'downloads_up' to permute downloads/downloaded
3477        * Click on column titles to sort/add/remove them
3478   - Donkey: 
3479        * Ask files from server in decreasing priorities order
3480        * Should be able to import Emule .part.met files
3481   - Mailer: patch from <moumar@netcourrier.com> applied
3483 2003/01/30: Zoggy
3484   - Changed The License of okey, configwin, mp3tag and mlchat to GPL
3485   - one tab per list in the column configuration tab (gui/settings)
3487 2003/01/28: Simon 
3488   - GUI: 
3489        * new protocol 12
3490        * New state "Queued out" for sources
3491        * New state "Aborted <reason>" for files
3492        * Some items copied from the "downloaded" contextual menu to the
3493            "Downloading" contextual menu
3494   - Donkey:
3495        * Sources Management a la 2-02-5 updated (next time, choose your
3496            source management depending on an option ?)
3497   - Overnet:
3498        * New option "enable_overnet" (true by default), accessible from
3499           GUI Settings
3501 2003/01/26: Simon (tag unstable-2-02-8) 
3502   - Added bundle binaries (core + gui with communication via FIFO) to
3503       ease use of alternative networks (mldc+gui, mlslsk+gui, etc).
3504   - Donkey:
3505        * FIX: connections to Overnet
3506        * Updated 'cs' command
3507        * FIX: seens in stats replaced by successful connections
3508   - Console:
3509        * 'mem_stats' prints a bit more info (not yet enough)
3511 2003/01/25: Simon
3512   - Direct-Connect:
3513        * FIX: Active searches don't work, go back to passive
3515 2003/01/25: Simon (tag unstable-2-02-7) 
3516   - Direct-Connect:
3517        * Better management of users in servers/rooms
3518        * Servers headers displayed in GUI console
3519        * Active Searches enabled if not "firewalled"
3520            (don't forget to set the 'firewalled' option if needed, or
3521            to set 'force_client_ip' since IP detection does not work
3522           as in edonkey) 
3523   - GUI:
3524        * Queries moved to server tab
3525        * FIX: rooms work correctly
3526        * Console:
3527           - limited to 500 lines
3528           - FIX: Font "fixed" is not required anymore 
3529           - Combo/history of commands
3530   - Donkey:
3531        * New option 'log_clients_on_console' to log client disconnections
3532           on GUI console
3533   - Emule Support:
3534        * Propagate max 20 direct sources, not older than 10 minutes, verified.
3536 2003/01/24: Simon
3537   - Emule Support: 
3538        * Compressed packets are accepted (not yet requested)
3539        * Second Sources packet format accepted
3540   - Direct-Connect:
3541        * Respect the timeout between searches
3542        * Take file state into account
3543   - FIX: 
3544        * don't touch client_ip if not changed
3545        * correctly remove "Bad clients"
3546   - DonkeySources1: 
3547        * remove sources not connected since
3548                 max_source_age * 12 h (half-days instead of days). 
3549        * correctly save source_age
3550        * take priority and popularity into account for score
3552 2003/01/23: Simon
3553   - FIX:
3554        * Opennap plugin should compile again
3555        * Last chunk always downloaded first
3556   - Patch applied: new_client_stats (cs command)
3557   - DonkeySources:
3558        * Improved 'sources' command stats
3559        * Scores of sources are saved
3560        * File state is taken into account for the score
3561        * Sources with rank > 300 are not kept in good clients
3562   - Direct-Connect: no leeching anymore !
3563        * mldc replies correctly to passive searches (ie on the same hub)
3564        
3565 2003/01/22: Simon (tag unstable-2-02-6)
3566   * Mainly a bug-fix release for 2-02-5. Lots of features still missing
3567      (sources' scores are not saved, lastreqs,cancelled files sources not
3568       immediatly removed,...)
3570   - Fix: problem with downloads never starting
3571   - Fix: problem with partial chunks not saved
3572   - Added www.mldonkey.org in the HTTP interface
3573   - Better information on request results for each client
3574   - New option 'verbosity' to choose which warnings to display. 
3576 2003/01/19: Simon
3577   - Replaced date using floats by ints (lots of new bugs...)
3578       Please, signal any incompatibility with guis (mldonkeywatch...)
3580 2003/01/17: Simon
3581   - Started implementing new source management system
3583 2003/01/16: Simon
3584   - Global change to use int64 instead of int32 everywhere. I hope I didnot
3585       forget places, otherwise big bugs.
3587 2003/01/16: Fabrice
3588   - Added doc/overnet.txt
3590 2003/01/15: Simon
3591   - DonkeySources1: 
3592     * Old sources are stored in two queues to always start by the best ones
3593     * FIX: Connected sources are also saved
3594     * FIX: Connected sources are also printed
3596 2003/01/14: Simon
3597   - DonkeyInteractive: FIX: "out-of-bound" error
3598   - DriverControlers: shorter help
3599   - DonkeyProtoClient: 
3600       * FIX: for cDonkey, send both QueryChunksReq and QueryFileReq
3601   - DonkeyOneFile: fixed non-shared partial downloads at startup
3602   - Options: values can be aliases to reduce space usage (
3603      used in file_sources.ini)
3604   - DonkeySources1: 
3605       * FIX: sources are sorted to avoid recently-connected sources in 
3606      front of the queue.
3607       * clients ranking > 1000 put in concurrent_sources, not good sources
3608   - DonkeyClient: 
3609       * connection lifetime of connection set to 1 minute, and prolounged
3610             if either peer uploads or downloads
3611       * FIX: challenge is also send for incomning connection
3612       * ban clients with queue ranking > 1000 and send them a message
3613       * send a bad QueueRanking  to banned clients asking to enter
3614           the queue.
3615   - CommonOption: save_options_delay default set to 15 minutes
3616   - config/Makefile.in: IRC compiled by default
3618 2003/01/13: Simon (tag unstable-2-02-5)
3619   - DonkeyClients: add md4s of connected clients to a hashtbl to prevent
3620       accepting two connections from the same client.
3621   - DonkeySources1: 
3622      * new sources are queued LIFO.
3623      * old sources are immediatly stored in old_sources.
3624      * fixed adding several times the same file to one source
3625   - DonkeyOptions: md4 now identifies mldonkey as emule.
3626   - Gui_downloads: expose events redraw the color bar 
3627   - DonkeyServers: black-list servers on port 4662
3629 2003/01/12: Simon
3630   - DonkeyGlobals: remove 1 from size to compute nchunks in new_file
3631   - DonkeyTypes: removed field file_all_chunks, recomputed
3632   - DonkeyComplexOptions: save mtime and chunk states. mldonkey should not
3633       compute the md4 at each startup anymore.
3635 2003/01/11: Simon
3636   - Source Management: ask for new sources only if we have fewer than
3637       600 * max_clients_per_second new/good sources.
3638   - IRC: completely working ?
3639       * Connect to server and login
3640       * General channels (right-menu on IRC account) such as '#mldonkey' :)
3641       * In channels: receive messages, receive users, send messages, close chat
3642       * Private channels with users (double-click on user)
3644 2003/01/10: Simon (tag unstable-2-02-4)
3645   - Gui: display chunks availability when selecting a source
3646   - DonkeyComplexOptions: saved some space in file_sources.ini
3647   - DonkeyClient: 
3648      * JoinQueue are not forgotten when the queue is full.
3649   - DonkeyGlobals: Use Weak Hashtbl for udp_clients. Should save memory.
3650   - New command 'sources' to print the state of the different source queues.
3651   - DonkeySources2: Always use the same client_num for the same source
3652       (to avoid flooding the GUI with new clients)
3653   - Pango's patches: 39_readable_server_banners, 40_boot_time_is_redundant, 
3654      43_waiting_queries_late_filtering, 46_overnet_fix_errormsg, 
3655      50_tight_file_commit, 52_self_create_mldonkey_gui_ini ,
3656      53_dont_propagate_overnet_sources, 55_overnet_send_appropriate_infos
3657      57_optional_servers_walking
3659 2003/01/10: Simon (tag unstable-2-02-3)
3660   - DonkeySources2: fixes from 2003/01/08 had been reverted by CVS. 
3661       Sources were dropped under heavy usage
3663 2003/01/09: Simon (tag unstable-2-02-2)
3664   - DonkeyClient/DonkeyProtoClient: complete implementation of Emule 
3665       client-to-client source propagation.
3666   - DonkeyClient: limitation of file groups to 1000 files
3667       (should save memory)
3668   - DonkeyGlobals: removed the mldonkey letters in md4
3669   - Makefile: 'mlim' is compiled only if mldonkey_gui is compiled
3670   - DonkeyOptions: removed options are back in downloads.ini  
3672 2003/01/08: Simon (tag unstable-2-02-1)
3673   - Fixed some bugs in new sources management. Seems to works pretty well.
3674   - For fun: new mldonkey authentification, just to see how long it will take
3675      to emule devels to break it :)
3677 2003/01/07: Simon
3678   - ./configure:
3679      * called automatically by make when needed
3680      * -enable-im has been removed
3681      * -enable-devel has been added for development things
3682   - IM: 
3683      * Friends, accounts and rooms are packed inside a notebook
3684      * IRC connects and join channels, but the channel widget is not done
3685      * The IM widget is available from mldonkey_gui IM menu
3686      * 'mlim' is mldonkey IM-specific program
3687   - Donkey:
3688      * New source management seems to work, not complete yet
3689      * Upload: fill client buffers depending on the upload rate
3691 2003/01/02: Simon
3692   - Makefile: simplification and regeneration from config/Makefile.in
3694 2002/12/29: Simon
3695   - Gui: fixed the display of the number of shared files
3697 2002/12/28: Simon
3698   - DonkeyServers: 
3699     * New option 'keep_best_server' (default true) to automatically change
3700        the server mldonkey remains connected when it finds a better server
3701     * walker: does not reconnect if already connected to more than
3702        the maximal number of servers (option 'max_walker_servers' (default 1)).
3704 2002/12/27: Simon
3705   - Opennap: send shared files to server after connection.
3707 2002/12/26: Simon
3708   - Options: 
3709     * new options file 'edonkey.ini' for options specific to eDonkey/Overnet
3710     * eDonkey specific options moved from 'downloads.ini' to 'edonkey.ini'
3711   - Direct-Connect: upload works correctly. Need more tests. Maybe add
3712      different mailing-lists for (mldonkey-dc@, mldonkey-nap@,...)
3714 2002/12/25: Simon
3715   - New argument -find_port, to search other ports when the ones specified are
3716       already used. The options are modified accordingly.
3717   - Option 'allowed_ips': changed are immediatly taken into account for
3718       the HTTP interface.
3719   - Major Bug: fixed bug of 100% CPU usage when timeout < 0.0001 and poll used.
3720   - Direct-Connect: upload of shared list works
3721   - Makefile: different executables for each network. 
3722      'mldonkey' -> eDonkey2000 + Overnet
3723      'mldc' -> Direct-Connect
3724      'mlgnut' -> Gnutella
3725      'mlslsk' -> SoulSeek
3726      'mlnap' -> Open Napster
3727     and 'mlnet' for all networks
3729 2002/12/24: Simon
3730   - Test for existence of the GUI before asking or trying to start it
3732 2002/12/23: Simon (tag release-2-02)
3733   MAJOR BUG FIX:
3734   - DonkeyClient: fixed a bug preventing download from indirect clients.
3736 2002/12/21: Simon (tag release-2-01-4) 
3737   - DonkeyOvernet: updated TCP protocol to overnet 0.42
3738   - Bug fixes:
3739    * DonkeyOneFile: removed a bug disconnecting from time to time an uploader.
3740    * DonkeyClient: 
3741      * verify that clients have received a slot before uploading
3742      * remove client from upload queue when reconnecting
3744 2002/12/20: Simon
3745   - Applied patch #812 (KDE Icon set). The old icons can still be used by
3746      changing the Makefile line : ICONS_CHOICE=big
3747   - Applied patch #852 (wildcards in black-list)
3748   - Applied patch #855: correctly sort servers before remove_old_servers
3749   - Removed some options for Overnet: publish and search for sources
3750       is now automatic
3751   - DonkeyOptions: new options:
3752      ban_queue_jumper (true): if you want to ban clients reasking files too fast
3753      ban_period (6): how long are they banned
3754      send_warning_messages (false): send a message when a client is banned
3755      max_emule_slots (33): percent of upload slots that emule clients can use
3756        (cannot be set under 25%)
3759 2002/12/19: Simon
3760   - DonkeyClient: quota limitations:
3761      * Emule clients can not get more than 1/3 of the upload slots
3762      * at least one mldonkey client can always enter the queue
3763   - DonkeyClient: banning mechanism for clients that connect too often
3764      (don't prevent downloading from them)
3765   - Gui: 
3766      * Remove duplicates at end of list
3768 2002/12/18: Simon
3769   - Multi-column sort should work again.
3770   - Reverted again the query for all files to a query for one file.
3772 2002/12/18: Simon (tag release-2-01-3)
3773   - Removed the Credit System. The world is already unfair enough, no need
3774       to bring a monetary system here. Moreover, it prevents correct downloads
3775       from other mldonkey clients !
3776   - Overnet: Applied Norbert Lataille's patch 3.0
3778 2002/12/18: Simon (tag release-2-01-2)
3779   - MinGW port: should compile and seems to run. Not yet tested enough.
3780   - DonkeyServers: 
3781     * Better way to choose the master servers: if a new
3782       server has 5 times more users or at least 1000 more users than a master
3783       server, it replaces the master server.
3784     * Don't remove old servers if we are connected to them !
3786 2002/12/17: Simon
3787   - Prevent downloading the entire file list at every connection to a friend
3788   - Added Ip.reachable to remove local network addresses
3789   - Started port to native Windows via MinGW
3791 2002/12/16: Simon
3792   - Applied Martin's patch on WEB Realm
3793   - Added option 'run_as_user' that can be used to change (setuid) the
3794       priviledges of mldonkey after ports binding.
3795   - Started implementing upload in Direct-Connect
3796   - New command 'friends' to print a list of all friends
3798 2002/12/15: Simon
3799   - Applied Norbert Lataille's patch 2.5 on Overnet publish
3800   - Applied Andre Hinrichs's patch for better help
3801   - Applied Pango's patches (20021213b):
3802      05_save_client_last_filereqs: applied
3803      07_keep_user_filenames: applied
3804      20_vd_sharp_urls: applied
3805      21_queue_new_sources
3806      24_unbroke_random_order: applied
3807      25_bolder_remove_old_sources
3808      29_mrvn_eta: applied
3809      32_xou_web_interface: applied
3810      34_suxxx_display_chunks_in_telnet: applied
3811      35_fix_console: applied
3813 2002/12/12: Simon
3814   - Rewritten remove_old_servers, scheduled every 15 min
3815      * CommonComplexOptions.servers is an intmap, not a list anymore
3816      * Delays are printed
3817      * Black-listed servers are removed immediatly
3818      * Last Connection is extracted immediatly
3820 2002/12/09: Simon (tag release-2-01)
3821   - Fabrice should compile and release binaries for 2.01
3822   - Fixed problem with stats
3823   - Overnet: added an option for publish (false by default since still in dev)
3824   - IM: Only Yahoo works
3825   - A message is sent to old clients only randomly. 
3827 2002/12/08: Simon
3828   - Applied Overnet publish patch from Norbert LATAILLE
3829   - The Overnet patch is too aggressive (about 5 kB/s). It really needs to
3830      be tune.
3832 2002/12/07: Simon
3833   - Fixed bug in "nu" command (thanks Rudolf Polzer)
3834   - "reshare" now add new files to upload.
3836 2002/12/06: Simon
3837   - Applying Pango's patch: 
3838        01_display_server_banners: banners already appear in GUI console
3839        02_force_high_id: applied
3840        03_overnet_boot_dns_resolution: already done
3841        05_network_signature_change: applied
3842        06_wrong_lowid_display: already done
3843        07_keep_user_filenames: applied
3844        08_better_default_parameters: partially applied
3845        09_md4_speedup.patch: already done
3846        10_port_blacklist: applied
3847        11_max_connected_servers_offbyone: already done
3848        12_files_md4_corruption: already done
3849        13_revert_iptos: applied, but why in and out ?
3850        14_get_chunks_in_random_order: applied, but with an option to disable it
3851        15_fix_ovweb_default_site: applied, but an option would be better
3852        16_sources_per_chunk: applied
3853        18_remove_cancelled_downloads: applied
3854        20_vd_sharp_urls: applied
3855        24_check_for_x: applied
3856        22_connect_on_server_urls: applied
3857        26_old_file_on_cancel: applied, but option, disabled by default
3858        23_uploaders_command: applied
3859        27_selective_hide_files: applied
3861    NOT APPLIED, need some discussion:
3862        17_hide_chunks_being_uploaded: 
3863        21_fifo_new_sources:
3864        25_bolder_remove_old_sources:
3866 2002/12/04: Simon
3867   - Gpattern: fixed bugs introduced by mldonkey :)
3868   - Gui_servers, Gui_friends: server users list and file sources list are only
3869       update 1/10 second after selection to avoid flickering.
3871 2002/12/02: Simon
3872   - Moved some code in the GUI driver to avoid sending many messages when
3873       GUI use the POLL extension.
3875 2002/12/01: Simon
3876   - Applets: new directory applets/, containing 3 sub-directories:
3877      * api: a common C api used by applets to chat with mldonkey on its GUI port
3878      * kde: a KDE panel applet
3879      * gnome: a GNOME panel applet
3880     A lot to be done. I know a bit GTK, not QT ...
3881     The Client_stats message is not yet completely filled with useful data
3882     by the core. 
3884 2002/11/20: Simon
3885   - IM: 
3886       * Accounts Window, and Toplevel menu to access it
3887       * Contacts Window works
3888       * Dialog Window
3890 2002/11/18: Simon
3891   - Gui_rooms: each opened room has its own users/messages widgets, to avoid
3892         reprinting all messages when changing of room. Maxence, could you
3893         look at that and explain me how to destroy a widget when room is
3894         closed
3895   - CommonInteractive: raise Not_found when the option doesnot exists
3896         (no more "option NAME value changed" for non-existing options :)
3897   - Instant Messaging: Started implementing the interface for instant 
3898         messaging.
3900 2002/11/17: Simon
3901   - CommonClient: check MD4 replies from client (inspired from patch #662)
3902   - DriverMain: track options_version, to be able to update the options
3903         when a new version of mldonkey is used.
3905 2002/11/16: Simon
3906   - CommonOptions: added the redirector-generated server list to web_infos,
3907         and an option to change the redirector. Now, we should probably
3908         disable auto_update_server by default, since the relocator gives
3909         a nice server list. Or we should give more weight to new servers
3910         when trying to connect.
3912 2002/11/15: Simon
3913   - DonkeyServer: added sending of UDP pings. Check that pings have been
3914         replied before sending extended search/locate requests.
3915   - DonkeyClient: changed mldonkey-specific protocol to recognize old
3916         clients, and send a warning.
3918 2002/11/14: Simon
3919   - Fixed bug #1701 ?: read at least 1000 bytes before writing stream
3920         in a file from Limewire. Gnutella clients problem, or is_http_ok is
3921         not strict enough.
3922   - Fixed bug #1708 ?: rewritten get_page and wget in net/http_client.ml
3923         to avoid fd leak.
3924   - Support #101511: in the Upload panel of the GUI, the contextual menu
3925         offers to print ed2k links in the Console panel.
3926   - GuiTypes: new event Server_message_event to send server messages to
3927         the GUI console.
3928   - GuiEncoding/GuiDeconding: now, protocol versions will only change when
3929         the encoding of some old messages changes, not when new messages
3930         are added, so that new messages can be handled even if an old
3931         format is used for other messages (old GUIs can benefit from new
3932         messages)
3933   - DonkeyOvernet: change the URL in 'ovweb'
3934   - DonkeyProtoCom: sending much more information to the redirector, so that:
3935         - we can generate our own server list
3936         - we can generate an overnet peer list
3937         - we can gather some statistics on node bandwidth usage to decide
3938             when to create supernodes.
3939   - Observer: now generates a 'servers.met' file every 5 minutes, which is
3940         sent to savannah, if I find the command :), but the dest is:
3941         "http://savannah.nongnu.org/download/mldonkey/network/servers.met"
3942         if you want to add to your web_infos.
3943         Servers inside are guaranteed alive in the last 5 hours (well,
3944         unless the redirector is down which is often true :( )
3946 2002/11/13: Simon
3947   - common/commonOptions.ml: new option "network_update_url" to
3948         download files "motd.html" and "motd.conf" used to update some
3949         parameters in all clients. "motd.conf" is displayed in the
3950         HTML and telnet interfaces, and at startup. Why not in the GUI :) ?
3951         These URLs are downloaded every day, and can change the configuration
3952         of the client remotely. This will be used later to test different
3953         parameters to activate/desactivate ultrapeers behaviors.
3954   - donkey/donkeyServer.ml: new implementation of remove_old_servers. The
3955         new implementation sorts the servers, and remove all those that
3956         exceed their age, but guaranty to let at least "min_left_servers" in
3957         the list.
3958   - donkey/donkeySupernode.ml: started implementation of supernodes.
3959         Supernodes are mldonkey clients, that act as pseudo-servers:
3960         - they accept queries from mldonkey clients
3961         - they index files from all clients
3962   - donkey/donkeyOvernet.ml: fixed bug preventing removal of old
3963         connected peers.
3964   - config/configure.in: REQUIRED_LABLGTK=1.2.4 (please, dont force
3965         people to upgrade if it is not REQUIRED). Use the configure
3966         script to detect the version and to generate stubs for simple
3967         modifications (lib/gAutoconf.ml.new.in). Only upgrade for
3968         major reasons (ocaml release eg).
3970 2002/11/11: Simon
3971   - config/configure.in: detection of lablgtk version to be able to compile
3972         without lablgtk-20021031 (must find mouse position, zoggy ??). 
3973         GToolbox.popup_menu is generated by ./configure from 
3974         lib/gAutoconf.ml.new.in
3975   - gpattern/gpattern.ml: using arrays instead of lists. filters directly 
3976         integrated. Forces many changes in gui/gui*.ml, but should be much
3977         faster.
3978   - gui/gui_downloads.ml: Call to remove_client removed until a new message
3979         is added        for that in the protocol
3980   - net/udpSocket.ml: implementation of SOCKS 5 support for UDP. Must 
3981          check that bytes are correctly ordered.
3983 2002/11/10: Simon
3984   - Fabrice has to move, and his new employer does not allow him to
3985         program in other open-source projects (for Intellectual Property 
3986         problems). So he will keep administrating the project (web site, 
3987         forums, releases), while I'm integrated in the developper team
3988         as main developper... As a start, I have some bugs to fix, and
3989         I would like to create a parallel network over edonkey2000 using
3990         mldonkey supernodes.
3992 2002/11/06: zoggy
3993   - changes to use lablgtk-20021031 (@#!:@* Why the fuck did you do that ? 
3994         you are the only developper to use it, nobody can compile now :(
3995         
3996 2002/11/04: mldonkey
3997   - Applied patch #634 (increase buffer size for md4 comp.)
3998             patch #631 (max_connected_servers off by one)
3999             patch #630 (low id display)
4000             patch #632 (use DNS in "boot")
4002 2002/10/23: Simon
4003   - New implementation of 'remove_old_clients'
4005 2002/10/22: mldonkey
4006   - Patch #576 applied.
4007   - i18n: 
4008       * Message files changed: ~/.mldonkey_gui_messages.ini for GUI and
4009           ~/.mldonkey_messages.ini for core
4010       * Some messages customizable in core
4011       * web_common_header, html_header and download_html_header moved
4012           to ~/.mldonkey_messages.ini
4013       * ~/.mldonkey_messages.ini can be overwritten MLDONKEY_MESSAGES
4015 2002/10/21: mldonkey
4016   - lib/options.ml: always close open files. "Too Many Open File" bug again.
4018 2002/10/20: mldonkey
4019   - New default options for 'web_common_header' and 'html_header' by Xou.
4020   - Patches #572, #573 and #574 applied.
4022 2002/10/16: mldonkey
4023   - release 2.00
4024   - fix: uploaded files do not appear twice in panel
4025   - fix: empty results are not accepted anymore (Overnet ?)
4026   - fix: "ovweb" accepts URLs since default site is down
4028 2002/10/15: mldonkey
4029   - fix: files should not appear twice anymore in upload panel (files whose
4030       md4s have been computed replace [are not added anymore to] their
4031       corresponding temporary shared file).
4032   - fix: added must_write in udpSocket.ml when bandwidth controler is used
4033       (UDP packets were not sent anymore...)
4034   - fix: upload not more than the bandwidth each second
4036 2002/10/14: mldonkey
4037   - add: internationalisation
4038       * envirronment variable MLDONKEY_GUI_MESSAGES
4039   - fix: rewritten upload in edonkey. Old mode can be restaured with option
4040      'new_upload_system' set to false
4042 2002/10/13: mldonkey
4043   - add: internationalisation
4044       * new module lib/gettext.ml for format options
4045       * new GUI config file gui_messages.ini
4046       * new directory i18n to store gui_messages.ini.?? files for
4047          contributed languages
4049 2002/10/12: mldonkey
4050   - fix: support for several GUIs at the same time
4051       * Changes in how objects updates are monitored
4052       * Lots of changes in DriverInterface        
4054 2002/10/11: mldonkey
4055   - add: 'close_all_sockets' command to close all connection sockets.
4056       Added to the SIGHUP signal handler.
4057   - fix: SIGHUP doesn't call network_enable/disable anymore. Bug about
4058       automatic disabling of edonkey plugin ?
4059   - fix: new udp bandwidth management
4060   - add: starting reimplementing multi-gui
4062 2002/10/09: mldonkey
4063   - add: catch SIGTERM and save the config before exiting
4064   - add: publication on Overnet has been implemented, but not tested yet.
4065   - fix: "ovstats" displays more information on current searches
4067 2002/10/08: mldonkey
4068   - fix: bug in indexer2.ml that prevented complex searches in local history
4069       and in filters.
4070   - patch #556 and debian/ from #553 from Goswin von Brederlow. Some problems
4071       with the end of the patch #553.
4072       * Availability seen in % of missing chunks, and height in color bar.
4073       * New "last-seen" and "Age" columns in GUI
4074       * No segfault on division by zero when size=0
4075       * No queries for paused files.
4076       * New debian/ directory
4077   - GUI protocol 9
4078   - add: gui open a message box when password is not valid.
4080 2002/10/07: mldonkey
4081   - fix: "forget_search" should work correctly now
4082   - fix: use Unix.LargeFile.stat instead of Unix.stat to avoid 
4083       exception when sharing files greater than 1.7 Go
4084   - add: filters. Need to enable 'filter_search' option, and to 
4085       change 'filter_search_delay' (results are gathered during this delay,
4086       and all filtered together and displayed, so results are displayed
4087       with this period, and no results are displayed before the delay).
4089 2002/10/06: mldonkey
4090   - fix: split add_interesting_client in two different functions:
4091       force_fast_connect_client (connect immediatly, regardless of
4092        min_reask_delay) and connect_as_soon_as_possible.
4093   - fix bug #1291: vma does now display all servers
4094   - add: new command "version"
4095   - fix: "nu" can take negative arguments to decrease the no-upload period
4096   - fix: stop adding MD4 to proposed names
4098 2002/10/05: mldonkey
4099   - fix: clients_lists are now stored in a 5 buckets array, one per minute.
4100       Strange behavior: the list is almost always full, and the number of fds
4101       increases dangerously. set client_timeout to 30 or smaller to
4102       improve that ? Must check that this timeout is changed when the client
4103       becomes interesting (queued for upload or download). Also set
4104       max_clients_per_second to more than 5...
4105   - fix: prefered files are not queried twice anymore, nor client repeatedly 
4106      queried after connection, to avoid Emule Black-list stupid mechanism.
4107   - fix: unknown commands should print an error now
4108   - add: new command "priority" that can be used to change the priority of
4109       a file. Such files will get priority times more bandwidth than
4110       normal connections.
4111   - fix: 
4112      * new command "use_poll" to switch between poll and select.
4113      * Fixed bug in poll making huge CPU usage
4114   - add: new messages for publishing files on Overnet.
4116 2002/10/04: mldonkey
4117   - fix: file_best_name should be used more often
4118   - fix: recover_temp should use the best available name
4119   - fix: the number of overnet peers saved in servers.ini is now limited
4120       by overnet_max_known_peers
4122 2002/10/03: mldonkey
4123   - add: new files for IP multicast, not used, probably never
4124   - add: overnet URLs in "ovlink", statistics "ovstats"
4125   - add: overnet new options to reduce memory usage "overnet_max_search_hits"
4126       and "overnet_max_waiting_peers"
4128 2002/10/02: mldonkey
4129   - add: priority of files
4130      * read power added to TcpBufferedSocket.t for priviledged connections
4131      * DonkeyTypes.file_priority for priviledged files
4132      * DonkeyTypes.client_power for priviledged clients
4134 2002/10/01: mldonkey
4135   - add: more debug output for 'dump_heap'
4136   - donkeyClients.ml: SourceReq clients are not immediatly added to
4137      clients_list
4139 2002/09/29: mldonkey
4140   - fix: bug #1252: servers were added several times in Opennap/DC to each user.
4141   - fix: ed2k link should appear again in 'download' mail
4143 2002/09/28: mldonkey
4144   - fix: sources are correctly removed from the GUI locations panel
4145   - fix: Makefile should correctly compile targets 'static' and 'byte'
4146   - fix: Add command
4147        MORECFLAGS="-I patches/ocaml-3.06/ -DHEAP_DUMP" make cdk/heap_c.o
4148       to compile with "dump_head" command.
4150 2002/09/28: mldonkey
4151   - fix: incoming connections timeout are now correctly set, and
4152       connections should be correctly initialized.
4153   - fix: 
4154      * With select, you cannot use more than 1024 file descriptors
4155        (otherwise, it segfaults)
4156      * Added poll support, that allows to use more than 1024 fds and
4157         is used by default.
4158   - fix: better control of the number of used fds
4159   - add: message in GUI starter about the 'ask_for_gui' option
4160   - fix: faster sharing of downloaded files (probably present chunks are
4161      checked first)
4162   - fix: Ip.valid check for class D addresses
4163   - add: new option 'verbose_overnet'
4164   - fix: a file name is changed only if it was the MD4 before.
4165   - fix: don't query blocks for Paused files
4167 2002/09/27: mldonkey
4168   - fix: upload improvements
4169      * names are correctly chosen, and sent to the server
4170      * all BUFFER_OVERFLOW due to long file lists have been removed
4171      * after restart, non commited files are still shared.
4172      * bug fixed when shared file list is too long (shortened message)
4173      * the size of the ShareReq message directly depends on the space
4174         available in the server buffer.
4175      * md4s for downloaded files are never recomputed after commit
4176   - fix: force download:
4177      * new contectual menu item "Force Download" in GUI result panel
4178      * "force_download" should now work well
4179   - add: core errors are displayed in the GUI console (maybe the last line
4180      of the console should be displayed in the status bar ?)
4181   - GUI protocol 7 for "force" argument to Download_query
4183 2002/09/27: zoggy
4184    - add : web directory to manage source files of generated mldonkey pages
4185    - change : chat protocol version (-> 1.1) to be able to communicate with
4186         mlchat from Cameleon
4188 2002/09/25: mldonkey
4189   - add: new module common/commonDownloads.ml to share the functions used
4190       in all network where downloads are in one piece.
4191   - fix: mail, chat and file_completed_cmd are used for all finished downloads
4192        not only eDonkey (CommonInteractive.file_complete)
4193   - fix: file_commit now moves the file to incoming/. All networks must now
4194        use the "commit" function, not only edonkey.
4195   - fix: try to save the md4 of each file before sharing it.
4197 2002/09/24: mldonkey
4198   - fix: renewed my passport (6 hours)
4199   - fix: prevent "BAD BAD BAD" lines from removing good sources. Very Important
4200      Bug for your downloads.
4202 2002/09/23: mldonkey
4203   - fix: mldonkey_gui prints a better error message when the hostname couldn't 
4204       be resolved.
4205   - fix: the configure script allows ocaml versions with +n extensions.
4206   - add: new program mldonkey_guistarter to start the GUI immediatly at
4207       mldonkey startup
4208     * New options 'ask_for_gui', 'start_gui', 'mldonkey_bin' and 'mldonkey_gui'
4209     * New option panel 'Startup'
4210   - fix: get_int64 works correctly (no more negative upload counters)
4212 2002/09/22: mldonkey
4213   - fix: udp packets added to bandwidth computation
4214   - GUI:
4215      - add: new option panel for plugins
4216      - add: each plugin defines its own option for the GUI panel
4217      - fix: when gui_poll, don't send options values
4218   - Overnet: 
4219      * No need for servers anymore :), searches and downloads are OK
4220         (but no filter on search results)
4221   - add: lots of debug messages for bandwidth control. 
4222      * I should probably remove from remaining_bytes the size of the
4223         TCP packet header, each time the write/read is OK.
4224      * I should optionnally include the GUIs in the control !
4226 2002/09/21: mldonkey
4227   - fix: removal of out-of-bounds accesses, not supported by Ocaml on 
4228         OSX Jaguar
4229      * added check in ./configure for MacOsX 6.0 to enable CheckBounds
4230      * added -inline 10 for checkbounds to be removed for other archs (5
4231         would be enough)
4232      * added Autoconf.check_string calls in littleEndian.ml and bigEndian.ml
4233   - add: Overnet works for simple queries and sources
4234      * two options disabled by default: overnet_search_keyword and
4235            overnet_search_sources
4237 2002/09/20: mldonkey
4238   - add: OverNet should now be able to add sources to eDonkey downloads
4239      (it is triggered using the "overnet" command). You need peers to
4240      access OverNet: see the end of the distrib/servers.ini file.
4241   - fix: started debugging mldonkey on Mac OS X 10.2
4242      - fix : SIGBUS in telnet "q" command.
4243      - need to check all possible array/string out-of-bounds accesses.
4245 2002/09/19: mldonkey
4246   - add: OverNet support started in donkey/donkeyProtoOvernet.ml and
4247       donkey/donkeyOvernet.ml. Can connect to OverNet peers and learn 
4248       more peers.
4249   - add: new donkey command "import_temp <dir>" to import old files
4250      currently downloaded by edonkey in mldonkey.
4251   - fix: Bug #1052 (buffer overflow warnings when MLdonkey is reading 
4252       my shared files)
4254 2002/09/18: mldonkey
4255   - fix: Bug #420 (Wrong permission on imported files)
4256   - fix: Bugs #421 and #591 (vd: meta refresh use external ip)
4257   - fix: Bug #842 (mldonkey overwrites the modified download.ini)
4258   - fix: Bug #878 (Hidden files are shared)
4259   - fix: Bug #1053 (no warning when overwriting files)
4260       Note: / and \ in names are also replaced by _
4261        Duplicated files get a .2 , .3, etc
4263 2002/09/16: mldonkey
4264   - fix: Bug #432 (same packet is send with the same data)
4266 2002/09/15: mldonkey
4267   - add: GUI
4268       * Display the current upload/download rate in bytes.
4270 2002/09/14: mldonkey
4271   - add: New options in downloads.ini:
4272       * [gui_options_panel] to configure the options that are configurable in
4273        the GUI without modifying the GUI. Fix for Bug #844
4274       * [debug_net] to display more information about low-level network layer
4275   - add: GUI
4276       * New protocol 5 for message [Add_section_option]
4277       * Boolean and filename options have special entries
4278       * More client options in the GUI option panel
4279   - fix: LimeWire
4280       * Correctly display file sources
4281       * No more Unix.write errors due to early disconnections
4282       * More ultra-peers agent types allowed
4284 2002/09/11: mldonkey
4285   - add: CyMeS server directory
4287 2002/09/08: mldonkey
4288   - fix: prevent connecting several times to the same server
4289   - fix: remove_old_servers should work again
4290   - fix: 'vo' command only display one-line options
4292 2002/09/07: mldonkey
4293   - Fix: Removed mldonkey_ suffix from names.
4294   - Add: option 'files_queries_per_minute' and 'files_queries_initial_delay'
4295       in downloads.ini to meet lugdunum master and Smurk UK requests.
4296   - Fix: edonkey private messages should work again.
4298 2002/09/05: mldonkey
4299   - fix: upload tab should work
4301 2002/09/04: zoggy
4302   - add : upstats in the uploads tab
4303         
4304 2002/09/04: mldonkey
4305   - fix: shared files are not shared between all networks anymore (each 
4306      network has its own shared file type).
4307   - add: edonkey protocol files are not hidden anymore
4308   - add: upload per shared file.
4309   - add: new upload messages in GUI protocol 4
4311 2002/09/03: mldonkey
4312   - Soulseek:
4313       * Browse friend and simple downloads should work.
4315 2002/08/30: zoggy
4316   - add : download a whole directory from a friend
4317   - fix : the 'goto <page>' actions, because of the new rooms and uploads tabs
4318   - add : an option to specify if we display sizes with G,M, and k suffixes
4319   - code : moved the servers, downloads and uploads status label to
4320     Gui_servers.pane_servers, Gui_downloads.pane_downloads and
4321     Gui_uploads.box_upstats so they can be updated more accurately,
4322     and not each time a message comes.
4323         
4324 2002/08/29: zoggy
4325   - add :Now display the tree of files instead of just the list of files
4326     for the selected friend (with a new option files_auto_expand_depth)
4327   - add : new added chat room automatically selected
4328         
4329 2002/08/29: mldonkey
4330   - CVS commit on Savannah:
4331       * Ocaml 3.06 is now used to compile.
4332       * donkey/donkey.lam is not distributed anymore with mldonkey.
4333           It should be downloaded as:
4334            http://pauillac.inria.fr/~lefessan/src/edonkey/donkey.lam.SOME_MD5
4335           and copied in the donkey/ directory.
4337           where SOME_MD5 is the contents of the file donkey/donkey.lam.md5
4339           This can be automated by the configure script.
4340   - GUI protocol version 4:
4341       * new message Room_remove_user
4342   - Updates to be sent to the GUI are now stored in common/commonEvent.ml
4343   - Only one GUI can be connected to mldonkey at any given time.
4344   - Soulseek: 
4345       * Join/Leave room works with dialog and user updates.
4347 2002/08/23: mldonkey
4348   - update: ocaml 3.06 should now be used to compile mldonkey without secret/.
4349   - add: GUI protocol version 3 should work for poll.
4350   - Private messages are now received in a special (hidden) chat room,
4351      which is used to send messages to the GUI.
4352   - fix: Gui_columns has been rewritten with functors
4353   - fix: commonChatRoom.ml renamed in commonRoom.ml
4354   - add: room panel now displays both active and inactive rooms.
4355   - add: better SoulSeek support:
4356      * Searches work (no download yet :(
4357      * Join/Leave room works (no dialog yet)
4359 2002/08/23: zoggy
4360   - add : an uploads tab (modules Gui_uploads and Gui_uploads_base)
4361           only the tab for this evening, gotta go sleeeeeeep
4362         
4363 2002/08/22: mldonkey
4364   - gui_proto.ml has been cut in guiTypes.ml (types), guiProto.ml (protocols)
4365      and guiEncoding.ml and guiDecoding.ml.
4366   - Better soulseek support
4368 2002/08/21: zoggy
4369   - fix : memorize the size of the vpane in the friends tab, 
4370           for the chat notebook.
4371           BTW, mldonkey compiled like a breeze will ocaml 3.06 
4372           without patch :-) I let mldonkey change the configure 
4373           script, don't want to disturb ;-)
4374         
4375 2002/08/19: zoggy
4376   - fix : a bug closing two chat boxes instead of one
4377   - add : in chat rooms, try to get the user name and give him
4378           its own color to display his name in the messages
4379   - add : file sizes in downloads and result boxes now displayed
4380           with G(iga), M(ega) or k(ilo) suffixes
4381   - fix : scrollbar added to the chat room boxes, and the text
4382           with the messages is not editable any more. 
4383           Chat rooms on direct connect work, except that kicked
4384           people are not removed from the list.
4385         
4386 2002/08/18: zoggy
4387   - add: chat integrated in the gui; pb with the Gtk Main loop:
4388          the chat window receive no event; will investigate,
4389          or add the chat boxes in a notebook of the friends tab ?
4390          Ok, done. I had to find my way through the not really clear
4391          code of the Gui_proto module. And surprise, the code
4392          indent is really, really bad, making it still more difficult 
4393          to understand...
4394          Yet to do : change and memorize the size of the chat notebook,
4395          but now i gotta go while it is not raining.
4396         
4397 2002/08/16: mldonkey
4398   - add: New command "dd <size> <md4>" originally used by mldonkey_submit.
4399      mldonkey now generates a mlsubmit.reg file that can be used under Windows
4400      to submit ed2k urls to mldonkey (thanks to equinox), and the 
4401      mldonkey_submit file.
4402   - fix: Client files are now stored in a tree in the GUIs.
4403   - fix: Config/config.guess and .sub updated.
4405 2002/08/15: mldonkey
4406   - fix: "set" and "vo" should work on simple options of all networks.
4407   - add: New option "calendar" to execute commands at different hours of day.
4409 2002/08/14: mldonkey
4410   - add: The ./configure script is now able to download, compile and install
4411       locally (not as root) ocaml and lablgtk to be able to compile mldonkey.
4412   - fix: The ocaml-3.05.patch file contains the fix for the memory bug.
4414 2002/08/12: mldonkey
4415   - Olivier and Manu now work on another branch for servers rings
4417 2002/08/10: mldonkey
4418   - Move bigEndian.ml to littleEndian.ml to be correct :)
4419   - Started implementing the OpenFT plugin, using LimeWire plugin code.
4421 2002/08/09: mldonkey
4422   - Client_ip is now always recomputed to avoid keeping an old IP address after
4423    the IP changed (unless force_client_ip is true)
4424   - The md4 is only used to save a file if no other name is available
4425   - Files of new friends are correctly displayed (the client structure in the
4426      friend list was not the canonized one).
4427   - When sighup is sent, all networks are reset (disable/enable). Can be used
4428      after a reset of the DSL connection.
4429   - Removed friends are not kept as Contact any more.
4431 2002/08/08: mldonkey 
4432   - Fixed bug in mldonkey_gui2 preventing removal of downloaded files.
4433   - Number of downloaded files is now displayed in mldonkey_gui. I still
4434      don't understand why so many features of the first GUI have been
4435      removed from the new GUI. Moreover, the object-oriented style makes
4436      it hard to understand and uggly to program. PLEASE, never put objects
4437      in the core.
4439 2002/08/08: zoggy
4440   - fix : extended search button now does not appear any more in the friends tab
4441   - add : the user must confirm before cancelling a download
4442   - fix : window and global variables cleared when disconnected
4443   - fix : Detect disconnection to client in the GUI
4444         
4445 2002/08/07: mldonkey
4446   - Upload statistics are correctly displayed by GUIs
4447   - Upload is now computed in bytes
4448   - Server_state and Client_state messages are used again.
4449   - Fixed bug in TcpBufferedSocket preventing UDP packets from being sent when
4450        bandwidth control is disabled (prevent Extended Searches).
4451   - Fixed bug in Options causing Stack Overflow in convert_list
4452   - Implemented simple form of subscription in server
4453   - Predicate should now work completely in server
4454   - Number of replies to a query limited to 1000
4455   - Fixed bug in mldonkey_gui2 forcing GUI protocol 0
4457 2002/08/06: mldonkey
4458   - Rewritten server code to recognize mldonkey clients
4459   - New GUI protocol 2
4460   - Local search works again
4461   - New subscribe button
4463 2002/08/05: mldonkey
4464   - The eDonkey server now shares the list of servers with the eDonkey client
4465   - An error in the ocaml-3.05 patch has been fixed.
4467 2002/08/02: mldonkey
4468   - Fixed a bug in eDonkey saving sources for files in files.ini
4469   - Fixed a bug in the parsing of server.met files downloaded from the WEB
4470      (there was a "made by ..." at the end !!)
4471   - load_url now supports HTTP 302 redirections
4472   - Fixed a bug to connect to friends at startup
4474 2002/08/01: mldonkey
4475   - Fixed a bug in the GUI protocol version 0
4476   - More fields in commonFile.file_impl. Download rate is computed the same
4477       way for all networks.
4478   - LimeWire download bug fixed (3 mp3s loaded for test)
4480 2002/08/01: mldonkey
4481   - Fixed bug with multiple files displayed in the GUI
4482   - New GUI protocol 1 containing Client_stats
4484 2002/07/31: mldonkey
4485   - Old gui2 compiles normally and works.
4486   - SendMessage (-1, PrivateMessage (num, string)) is used to send a private
4487      message outside any room.
4489 2002/07/30: mldonkey
4490   ********* Ocaml 3.05 should now be used to compile mldonkey ********
4491   - The patch to the ocamlopt compiler is not required anymore.
4493 2002/07/29: mldonkey
4494  - Re-included old gui as gui2/ and mldonkey_gui2. Not yet working. 
4495      Let the user choose until mldonkey_gui is working properly.
4497 2002/07/27: mldonkey
4498  - GUI: 
4499     o Only connected servers are normally displayed.
4500     o New button to display all servers.
4502 2002/07/26: zoggy
4503  - GUI: Extended search button only available in the result box of the 
4504         last query
4505  - GUI : fixed font for the console
4506         
4507 2002/07/24: mldonkey
4508  - Added GUI counter for better protocol compression.
4509  - Removed user_remove function
4511 2002/07/23: mldonkey
4512  - Bug fix in Ocaml weak hash tables
4513  - First file downloaded on DC (yeah !!)
4515 2002/07/21: mldonkey
4516  - Fixed a bug in the GUI protocol
4517  - Improve timers behaviors
4519 2002/07/16: mldonkey
4520  - Upload should be OK in Direct-Connect
4521  - CDDB: research is possible in index. building the index takes at least 
4522      600 Mo of RAM ... maybe some work to compress it.
4524 2002/07/15: mldonkey
4525  - New structure network_info
4526  - Direct-Connect: allow other clients to browse our client
4527  - CDDB: use_tags is able to index a freedb database. take about 300 Mo for
4528     the full indexed database. need to build a server now.
4529  - Donkey: fixed a buf in the protocol that removed shared files from shared
4530      list.
4532 2002/07/14: mldonkey
4533  - New env variable MLDONKEY_DIR
4535 2002/07/13: mldonkey
4536  - More options in alternative networks.
4537  - ./configure script accepts a --disable-multinet option.
4538  - New option -check_impl to display unimplemented methods.
4539  - New behavior for computing the downloaded size in donkey.
4541 2002/07/11: mldonkey
4542  - Upload on edonkey is priviledged, thanks to the upload_power option.
4543     Done by giving more upload to some connections in TcpBufferedSocket.
4545 2002/07/10: mldonkey
4546  - Protocol between GUI and Core completely rewritten. No more Ocaml specific.
4547      Other GUIs are encouraged to move to this new protocol.
4548  - network-specific URLs are supported:
4549      ed2k://|file|...
4550      ed2k://|server|ip|port|
4551      ed2k://|friend|ip|port|
4552      dc://|server|ip:port|
4553      dc://|friend|ip:port|
4554  - Client browsing in Opennap.
4556 2002/07/04: mldonkey
4557  - Better types for result, client, user and file in LimeWire
4559 2002/07/03: mldonkey
4560  - Better Opennap support
4561     - Should no more be 'too many pending searches'.
4562     - Better types for result, client, user and file.
4564 2002/07/02: mldonkey
4565  - Per network options better supported (use "set" command with a prefix).
4566  - One step towards soulseek implementation.
4567  - Started implementing 'disable' methods.
4568  - Using Weak hash tables for all common modules.
4570 *** 2002/07/01: in holidays :) no network access for two weeks ...
4572 2002/06/30: mldonkey
4573  - HE3 compress/decompress code completely working for DirectConnect
4574  - Can download file list in DirectConnect (not display it)
4575  - Client IP correctly detected.
4577 2002/06/29: mldonkey
4578  - Added columns configuration for users in GUI.
4579  - Added message BrowseUser from GUI to Core and user_ops.op_user_browse_files.
4580  - Communication between clients in Direct Connect started.
4581  - User information from Direct Connect displayed in GUI (admin/link/bytes)
4583 2002/06/28: mldonkey
4584  - Fixed several problems in WEB/telnet interface
4585  - Added enable(disable) networks menu in GUI (disable not implemented):
4586      networks can be started from GUI. New message EnableNetwork from GUI.
4587  - Added display networks menu in GUI: servers and results from a network
4588      can be hidden.
4590 2002/06/27: mldonkey
4591  - Started using Weak Hashtbl in common/ structures to avoid memory leaks.
4592  - The GUI displays correctly eDonkey, Open-Napster, LimeWire and DirectConnect.
4593  - Lots of debbugging messages have been removed.
4595 Pre-Release 1.99:
4596   Complete change of the architecture. mldonkey should now support multiple
4597    peer-to-peer networks. Currently, download is possible from:
4599     * Audiogalaxy support: works great (oups, not useful anymore :(
4600      1) Must set 'enable_audiogalaxy' to true in downloads.ini 
4601      2) Start mldonkey. It should create 'audiogal.ini'. If you don't have any
4602         audiogalaxy account, create an account: go on http://localhost:4081/
4603         (if you are running mldonkey on localhost), and create it.
4604      3) Stop mldonkey. Edit audiogal.ini. Set the 'login' and 'password' 
4605          options from your account.
4606      4) Restart mldonkey. Go on http://localhost:4081/ to choose files to
4607          download. 
4609    * LimeWire bridge. works great.
4610      1) Must set 'enable_limewire' to true in downloads.ini
4611      2) It should automatically connect to several ultra peers.
4612      - Recover downloads works
4614    * Open Napster support. Seems to work.
4615      1) Must set 'enable_opennap' to true in downloads.ini
4617    * Direct Connect support. Not working  yet.
4618      1) Must set 'enable_directconnect' to true in downloads.ini
4619      2) You can connect to some hubs and search for files. Download
4620       is not yet working, nor sharing, so that you will probably be
4621       kicked fast.
4623   IMPORTANT:
4624    If you want to test some of these networks, edit the downloads.ini to
4625    enable them. There are a lot of debugging messages (pipe to /dev/null,
4626    don't kill the terminal). Most telnet commmands should work, but it is
4627    not sure. In the GUI, use the File->Settings->GUI->Columns panel and,
4628    for each type of structure, add the Network column to see in which 
4629    network a server or a file is located.
4631   * Improved server implementation (enable_server option). Not working yet.
4632   * Started implementing freedb bridge. Not working yet.
4633   * replace Sys.rename with Unix2.rename (to allow cross-device moves)
4634   * brand new GUI : choice of columns, icons, external chat utility, support
4635         for custom searches. See file ~/.mldonkey_gui.ini for changing icons
4636         and keyboard shortcuts. Searches skeletons are defined in the
4637         searches.ini file in the directory where you launched the mldonkey core.
4640 Release 1.16:
4641   * Compaction forced every 'compaction_delay' hours (default is 2).
4642   * File age computed for files smaller than one chunk. Better downloads for
4643       these files.
4644   * Servers sending extended search results are remembered, and immediatly
4645      asked if their files are downloaded.
4646   * Predicates in Indexer should work in most cases.
4647   * Fixed #100833: new options 'http_bind_addr', 'gui_bind_addr', 
4648      'telnet_bind_addr' and 'telnet_bind_addr'.
4649   * Started implementing 'use_tags', a program to rename mp3s from tags (and
4650       maybe from freedb, someone interested ?)
4651   * New option 'propagate_sources' to allow mldonkey to propagate sources
4652      to other peers. When enabled, send far fewer messages than in 1.15.
4653   * Fixed #100870: WEB interface can be configured through 'html_header', 
4654      'web_common_header' and 'vd_reload_delay'
4655   * GUI buffer size increased. Can be set by 'interface_buffer' in 
4656      ~/.mldonkey_gui.ini
4657   * Fixed bug making mldonkey use 100% CPU for long periods.
4658   * Fixed option name for 'update_server_list'
4659   * New options 'max_sources_per_file' to limit the number of sources for
4660     a given file. One source is removed each time a new source is added 
4661     above this number.
4662   * New command 'id' to display ID numbers for connected servers.
4663   * 'client_buffer_size' set to 500000 by default.
4664   * Fixed bug in ocaml patch that made open_mldonkey never finish downloads.
4666 Release 1.15:
4667   * Started implementing mldonkey_s (eDonkey compatible server)
4668   * GUI:
4669     - Should fit in 640x480 screens.
4670     - Server can be specified by ip:port in Add Server entry.
4671     - Removed some non-tailrecursive functions.
4672   * Core acts now with all (direct) clients as a server to diffuse sources
4673      for files. Indirect mldonkey clients can also receive information.
4674   * WEB interface:
4675     - New option 'customized_searches' that can be used to add new
4676        queries in the WEB interface (see new option file searches.ini
4677        for examples).
4678     - Improved searches (work also in the GTK GUI): 
4679        * In the keyword/artist/title/album fields, a '-' in front of
4680         a word means 'without'. Words separated by
4681         spaces must appear in the reply. 
4682        * In the format field: you can specify several formats, separated by
4683         spaces. A '-' in front of a format means you don't want that format.
4684     - New options 'web_header' and 'web_header_frame' to customize the header
4685        displayed by the Web interface.
4686     - Generate correct HTML with HEAD and TITLE :)
4687     - Downloads can be sorted by name/percent/downloaded/size/rate.
4688     - Paused downloads are correctly displayed.
4689     - Use tables instead of spaces (for non-fixed fonts).
4690     - Added option 'use_html_frames'. When frames are enabled, clicking
4691        on a result to download will only modify the second frame.
4692     - Checklist of downloads and results can be activated/desactivated with
4693       the option 'html_checkbox_file_list'.
4694     - The number of days since the file was last seen complete is now displayed
4695   * Core:
4696     - New option 'file_completed_cmd' for a command which is called when 
4697      a file download is completed with as arguments: 
4698      <filename on disk> <md4> <size> <names on the edonkey networks>*
4699     - Started moving local indexation from mldonkey to an auxiliary program,
4700      controled by options 'local_index_find_cmd' and 'local_index_add_cmd'.
4701      See the 'Using auxiliary programs for local indexation' section in
4702      the help (in progress, doesn't work).
4703     - New command line option -client_ip that can be used to force the
4704      IP used by mldonkey (if you have a firewall). Be careful with
4705      dynamic IPs.
4706     - Delay between md4 computation can be set by 'compute_md4_delay' option.
4707      Chunks downloaded improve to reduce long md4 computations.
4708   * Most problems with ed2k:// links should be fixed (/ at the end, and
4709      spaces in the middle). MLdonkeySubmit is distributed for Konqueror users.
4710   * Improved implementation of indexation. Documents description are
4711      stored on disk. Different choices of indexation.
4712   * Server black list: 'bs <ip1> <ip2> ...' in console to add IPs to the
4713     server blacklist. Servers on this black list are eventually removed,
4714     and will never be added again.
4715   * New option 'master_server_min_users' that prevent mldonkey from remaining
4716      connected to a server with too few users.
4717   * New option 'dont_update_server_list' to disable automatic update of
4718      server lists.
4719   * Telnet interface: 
4720      - New command 'remove_old_servers'
4721   * New (less-aggressive) management of sources:
4722      - New option 'max_source_age' (in days) to remove old sources.
4723      - New option 'max_clients_per_second' to prevent bursts of connections.
4724   * Faster computation of md4s for i486/i586/i686 Linux systems.
4725   * Fixed bugs:  
4726    - #100662: only valid server IPs are accepted.
4727    - Use IP returned by getsockname instead of the one from gethostbyname.
4728    - #100761: new option 'update_server_list' to choose whether you want 
4729      mldonkey to automatically add new servers to your server list.
4730    - Fixed bug preventing sharing of in-download files after restart.
4731    - Fixed bug making history.met always increase.
4733 Release 1.14:
4734   * Bandwidth is now controled by the 'max_hard_download_rate' and
4735       'max_hard_upload_rate' options. Old rate options are obsolete.
4736   * All simple options can now be set by arguments on the command line (use 
4737      -help to show arguments).
4738   * Bug fixes:
4739     - Removed non-tailrecursive function in options.ml causing segfault when
4740        loading files.ini.
4741     - Connected clients without names in GUI should not appear anymore.
4742     - Remove 2 minutes timeout for queued clients.
4744 Release 1.13:
4745   * Annotations on files in file 'comments.met'. Commands 'comments <filename>'
4746     to load a file, and 'comment <md4> <comment>' to add a new comment.
4747     Such comments could be downloaded from web sites (sharereactor.com).
4748   * New option 'web_infos' and new command 'add_url' on console: allow
4749     to download a file from the WEB automatically everyday (or less 
4750     frequently). Currently, only server.met and comments.met files are
4751     supported.
4752   * GUI:
4753      - New config file in $HOME/.mldonkey_gui.ini with GUI options
4754      - colors added in lists (see .mldonkey_gui.ini)
4755      - Layout is saved.
4756      - File locations are updated.
4757      - Improved protocol to decrease bandwidth
4758      - Comments are displayed in searches, and can be added in contextual menu.
4759      - Shortcuts can be configured by options.
4760   * Mailer accept non-canonnical addresses.
4761   * Option 'verbose': '#' for download, 'U' for upload, and other messages.
4762   * When possible, find extra names for files in history.
4763   * Console:
4764       - New command 'close_fds' to close all open files, to free space on disk 
4765         after remove.
4766       - New command 'pause' and 'resume' to pause and resume downloads (use
4767          arg 'all' to apply to all files).
4768   * Some control on how many connections can be opened per minute.
4769   * Better scheduling of compaction (new option 'compaction_overhead')
4770      in both core and GUI that caused delay when exiting.
4771   * Bug fixes:
4772     - Remove block change causing many 'exceeding block boundaries'
4773     - history.dat changed to history.met, using more secure marshaling.
4774     - OVERFLOW with GUI should not appear anymore.
4775     - Compaction makes GUI memory usage better.
4777 Release 1.12:
4778   * Bug fixes:
4779     - Remove error 'bad file descriptor' when saving files.
4780     - Remove possible infinite loop in upload function.
4782 Release 1.11:
4783   * Option 'shared_directories' to specify other directories where files to
4784    share can be found.
4785   * Setting 'telnet_port', 'http_port' or 'gui_port' to 0 disables the
4786       corresponding access.
4787   * Console: 
4788    - Sort results by size in vr.
4789    - When 'd' fails with Already_done, you can use 'force_download' to force
4790       an already downloaded file to be restarted.
4791    - New command 'dllink' taking an ed2k URL to download as argument.
4792    - Command 'set' can be used to set the allowed_ips option:
4793        set allowed_ips '127.0.0.1 128.91.255.255' 
4794      255 is for networks.
4795    - shorten names in 'vd' output (see 'max_name_len' option). 
4796   * WEB:
4797    - New Cancel links in 'vd' output.
4798    - New 'Complex Search' link in interface.
4799    - 'View Options' output can be edited to modify options.
4800   * GUI:
4801    - The GUI tries to connect to the core every second until it succeeds.
4802    - Corrected MD4 columns
4803    - In search panel, 'Max hits' combo set the maximal number of replies
4804       per server.
4805   * Bug fixes:
4806    - Don't add twice the incoming dir to shared file names.
4807    - Cross-partition moves fail, but filename is renamed in temp dir.
4808    - Limited open fds for files to 50 (doesn't limit shared files
4809        and downloaded files).
4810    - Execute entry on WEB interface always displayed.
4811    - Removed a timeout closing all client connection after 2 minutes.
4812    - Shared files are opened in read-only mode.
4814 Release 1.10:
4815   * Default timeout for server connection set to 5 for faster connection.
4816   * Options are now divided into four configuration files: downloads.ini,
4817       servers.ini, friends.ini and files.ini.
4818   * Console: better display of downloads.
4819   * Verification of IP addresses for admin ('allowed_ips' option).
4820   * WEB interface: added pragma no-cache. 
4821   * Keep checking servers in the background.
4822   * GUI: Auto-resize is now delayed. Default selection
4823      mode is EXTENDED. Contextual menu items to switch between
4824     auto-resize/manual resize and EXTENDED/MULTIPLE selection.
4825   * Send a mail when download is finished. You must complete the
4826     'smtp_server', 'smtp_port' and 'mail' options.
4827   * Bug fixes: partial page in WEB interface fixed (often with vr).
4828       Removed two minutes timeout on good client connections.
4829       NoSpaceLeft causes pause in download.
4831 Release 1.09:
4832   * Bug fixes: fixed bad md4 computation of the first chunk, preventing
4833      completion of downloads.
4834   * New command 'recover_temp' to recover all lost files from the temp
4835      directory.
4836   * See  http://www.freesoftware.fsf.org/mldonkey/ for porting mldonkey on new OSes.
4838 Release 1.08:
4839   * Remove use of the 'mmap' system call.
4840   * Better management of delays between connection attempts.
4841   * Local searches use minsize/maxsize information.
4842   * More information on availability on WEB/console interface.
4843   * Small improvement in MD4 computation. Shared files MD4s are saved in
4844      a 'shared_files.ini' file to avoid computating them again.
4845   * Filters on replies: set the 'filters' option to a string containing
4846      sub-words you want to remove, separated by spaces.
4847   * Maximal download rate can be specified in 'max_download_rate' option.
4848    (need probably to be rewritten more carefully).
4849   * Bug fixes: files greater than 9mb in incoming/ can now be shared,
4850       ftruncate replaced by lseek (for vfat FS), multiple connections to
4851       the same client fixed.
4853 Release 1.07:
4854   * Exchange of sets of sources between mldonkey clients.
4855   * Started implementing chat between friends.
4856   * GUI allows adding friends by specifying IP and port. New 
4857      'Connect friend' menu. Better properties of files.
4858   * New menu item 'preview' in GUI, associated with option 'previewer'.
4859   * New menu 'Select All' in lists.
4860   * Bug fixes: in mp3 tags edition, in connected servers count, in
4861     displaying friends files, in passive connections.
4863 Release 1.06:
4864   * History of seen files. New commands: 'ls' for local search on the history,
4865     of search on servers, 'clh' for clear local history. New options: 
4866     'use_file_history' to allow history on files, 'save_file_history' to
4867     save the history on disk. For now, search only by words (not size).
4868   * Authentification by the 'auth' command on the telnet client.
4869   * Bug fixes: servers disconnected viewed as connected.
4871 Release 1.05:
4872  * UDP protocol implemented: extended searches to all servers.
4873  * Improved HTTP interface (port 4080).
4874  * Limitation on minimal upload dropped to 1 kB/s.
4875  * Fixed bug preventing queries on multiple words.
4877 Release 1.04:
4878   * Improved WEB interface (download files by clicking).
4879   * Stats on upload.
4881 Release 1.03:
4882   * Upload can be disabled temporarily, if your client has been running long
4883    enough.
4885 Release 1.02:
4886   * max_upload_rate is not modified automically anymore.
4887   * command-line client available from the GUI.
4889 Release 1.01:
4890   * New command 'set' in command-line client to change options values
4891   * Command-line client accessible from the GUI or any 
4892    WEB browser (at http://localhost:4080/)
4894 Release 1.00:
4895   * Upload/download works
4896   * Friends works
4897   * Complex queries works
4898   * Command-line interface works
4899   * Graphical interface works
4900   * Import old config works