1 The release mechanism was changed in a way that minor updates
2 will not get a release tag in CVS, also the version number reported
3 by MLDonkey will stay the same.
5 Patches done after the last release are experimental,
6 please test carefully and report your results.
8 All numbers mentioned here can be found as patches on
9 http://savannah.nongnu.org/patch/?group=mldonkey
11 To compile MLDonkey on MinGW follow this guide:
12 http://mldonkey.sourceforge.net/Windows#MinGW_Installation
18 7732: Remove the non-existant -O6 optimization level (blickly)
19 7755: CryptoPP: Fix build with GCC 4.7
22 7728: Update GNU config.guess and config.sub to version 2012-02-10
23 7727: Makefile: call `$(CPP) -x c` instead of `cpp` (ygrek)
24 7726: Add support for Debian/Hurd
27 7647: Update options description of allow_local_network (ygrek)
28 7646: Include .desktop file in source package (ported from Arch Linux)
29 7645: DC: show hashing progress in dcinfo (ygrek)
30 7644: Fix broken target release.utils.static
31 7642: Update GNU config.guess and config.sub to version 2011/10
32 7641: DC: fix ownership for downloads by non-admin users (ygrek)
33 7593: Less allocations (ygrek)
34 -------------------------------------------------------------------------------
35 2011/08/07: version 3.1.0 = tag release-3-1-0
38 7499: BT/DHT: fix logging in tools/bt_dht_node.ml
41 7573: http: better error reporting (ygrek)
42 7529: configure: better help strings (ygrek)
45 7541: BT: better UI for subfile selection (ygrek)
46 - remove debug prefix from set_subfile_prio command
47 - do not reload page when toggling subfiles (ajax)
48 7540: CryptoPP: Fix compile error with g++ 4.6 (glondu)
49 - fixes Debian bug 625051
52 7518: Configure: Ocaml VCS moved to SVN
53 - replace --enable-ocamlver=CVS with --enable-ocamlver=SVN to compile SVN trunk
54 7517: http: fix XSS in error handler (ygrek)
55 7495: Fix compilation of Ocaml 3.11.* with recent binutils (ecc, glondu)
58 7506: BT/DHT: show stats, choose random port (ygrek)
61 7501: Options: Disable Overnet by default and remove contact.dat from web_infos
64 7456: Mail: Multiple mail addresses for admin (ygrek)
65 7500: Diskinfo: Recognize BTRFS
68 7499: BT/DHT: fix logging (ygrek)
69 7498: BT/DHT: make token more robust against broken nodes (ygrek)
70 7497: HTML: mark not saved values in options (ygrek)
71 7496: BT: stop asking users to submit unknown client ids (ygrek)
72 7495: Fix compilation of Ocaml 3.12.0 with recent binutils (ecc, glondu)
73 7494: GTK2 GUI: fix too obtrusive splash window (bugmenot, ygrek)
74 7493: BT: open DHT port by UPnP (tathar)
77 7448: BT: support for partial download (jave, pango & ygrek)
78 - partial files are not committed, location in temp dir is shown so that users
79 can easily locate downloaded subfiles
82 7442: BT: DHT support (ygrek)
83 - new options BT-dht_port, BT-use_trackers, BT-dht_bootstrap_nodes
84 - new verbosity level "dht"
85 -------------------------------------------------------------------------------
86 2011/01/22: version 3.0.7 = tag release-3-0-7
89 6012: Fix bug in Http_client.wget_string (ygrek)
92 7418: Ignore setsockopt_float exception while sending mail
95 7303: UPNP: added BT_tracker-port
96 7418: SMTP auth implementation (ygrek)
97 - new options smtp_login and smtp_password
98 - added socket timeout for mail server communication, fix bug #22713
99 7412: tar.gzip: fix harmless error message (ygrek)
100 7388: DC: fix sharing on Windows (ygrek)
101 -------------------------------------------------------------------------------
102 2010/11/15: version 3.0.6 = tag release-3-0-6
105 7386: Makefile: Do not compile make_torrent when BT support is disabled
106 - fixes compile error during "make utils"
109 7355: HTML: Fix URL enconding of commands (ygrek)
110 7375: FileTP: fix submitting ftp download links (ygrek)
111 7374: BT: calculate compatible hash for wrong torrents (ygrek)
112 6012: http_client: Support gzip accept-encoding + content-encoding (ygrek)
115 7372: GTK2 GUI: Compile with lablgtk-2.14.2 by default
118 7303: UPNP support (zzpptt)
119 - to compile using pre-installed libs: configure --enable-upnp-natpmp
120 - to compile UPNP libs during MLDonkey compile use --enable-force-upnp-natpmp
121 - ToDo: MinGW support
122 7365: HTML: improve code for sorting tables (ygrek)
123 7364: KAD: parse new nodes.dat formats (ygrek)
126 7358: Update mlnet_strings.ru_RU.UTF-8 (balamutick)
129 7318: EDK/Emule captcha: Use Base64 functions (ygrek)
130 7357: configure: fix quoting of arguments (ygrek)
133 7318: EDK: Emule captcha support and slight cleanup (dennisne)
134 - added support for Emule's anti-spam chat CAPTCHAs
135 - added clear_message_log command to clear (long) message logs
136 - HTML: reversed order of chat messages
137 7319: EDK: Fix CryptoPP on mips64 abi n32 (viric)
138 7356: options: ensure that tmp file is removed (ygrek)
139 7354: DC: cleanup temporary files (ygrek)
140 7353: DC: silence "ADC not supported" message (ygrek)
141 7352: net: do not log ordinary network errors (ygrek)
142 7351: DC: fix download of large files (integer overflow) (ygrek)
143 7350: cleanup accesstest temp files (ygrek)
146 7349: Fix release.* make targets on GNU/kFreeBSD
147 7348: Update GNU config.guess and config.sub to version 2010/09
148 -------------------------------------------------------------------------------
149 2010/09/26: version 3.0.5 = tag release-3-0-5
152 7308: DC: bugfix (generate valid partial list) (ygrek)
155 7144: Update clean targets
158 7305: Xml-light: fix attributes parsing (ygrek)
159 7310: EDK: improve comment port option (ygrek)
160 7308: DC: handle ADCGET list (ygrek)
161 7307: New make target "tests" for unit tests (ygrek)
162 7306: DC: show client brand, session transfer and duration (ygrek)
165 7302: DC: Fix performance problem with many shared files (ygrek)
166 7299: configure: abort on unknown options
169 7296: Fix compilation problems introduced by patch 7144 (ygrek)
170 - remove linking to camlp4lib
171 - use alternative if camlp4of is not present
174 7144: BT: Support for UDP trackers (ygrek)
175 7288: HTML: Prepare localization (balamutick)
176 7287: Fix GTK1 oldgui compile with Ocaml 3.1* (ygrek)
177 7289: Raise minimum required Ocaml version to 3.10.1
180 7267: Fix compilation error in GTK2 GUI
181 7282: Fix configure warning
182 -------------------------------------------------------------------------------
183 2010/08/15: version 3.0.4 = tag release-3-0-4
184 7280: BT: fix make_torrent creates sometimes torrents without name argument
186 7278: configure: more useful --enable-debug (ygrek)
187 - enable also for ocamlopt
188 - enable when profiling
189 7274: DC: Increase message buffer size to fix communication with bots
193 7267: http proxy authentication support (ygrek)
194 - new options http_proxy_login and http_proxy_password control authentication
195 for TCP CONNECT and plain HTTP requests through http proxy
198 7273: Fix compile errors on Debian/kFreeBSD
199 7272: Configure: Use Ocaml 3.12.0 as default compiler
200 7269: Fix typos (glondu)
201 -------------------------------------------------------------------------------
202 2010/08/01: version 3.0.3 = tag release-3-0-3
205 7262: BT: improve porttest (ygrek)
206 7254: BT/bandwidth controllers: accept incoming connections while downloading
207 - should improve upload when downlink is saturated (ygrek)
210 7258: russian i18n mlnet_strings (Balamutick/ygrek)
213 7253: Fix downloading Ocaml 3.12 archive, use lablgtk-2.12.0 for Ocaml < 3.10
214 7252: GTK2 GUI: Fix compile bug with lablgtk2-20100620 and Ocaml 3.12
215 7251: BT: OCaml 3.08.3 compatibility fix (ygrek)
216 7250: DC: discover self IP (ygrek)
217 7249: DC: fix parsing MyINFO with non-latin nicks (ygrek)
220 7248: DC: correctly parse dchub:// entries in xml hublist (ygrek)
221 7247: BT tracker: remember tracked files after restart (ygrek)
224 7245: HTML: Fix unstable option sections links position (ygrek)
225 7210: upload scheduler: correctly handle clock jumps (ygrek)
226 7219: fsync rename options files (ygrek)
229 7208: New aliases (ygrek)
230 - "unpause", "continue" for command "resume"
231 - "man" for command "help"
232 7233: BT: Announce shared files when share_scan_interval = 0 (ygrek)
235 7206: MinGW: Fix diskinfo on large partitions
238 7201: DC: Whitespace fixes (ygrek)
239 7202: BT: Improve internal tracker (ygrek)
240 - continue tracking files even if there are no requests
241 - better logging and error reporting
242 - remove peer from peers list when it sends 'stopped' event
243 7203: Fix linking with binutils-gold
246 7183: DC: magnet links and html ui usability tweaks (ygrek)
247 7180: DC: better encoding handling (ygrek)
248 - new option default_encoding for communications with hubs, default CP1252
249 7181: HTML: Fix sorting of friends' file list (ygrek)
250 7200: Allow compilation with upcoming Ocaml 3.12
251 -------------------------------------------------------------------------------
252 2010/04/25: version 3.0.2 = tag release-3-0-2
253 7175: DC: PtokaX compatibility (ygrek)
254 7169: Equal scales for graphical up/down stats (ygrek)
255 7167: Improve add_mail_brackets option description,
256 change default according to RFC (ygrek)
259 7164: BT: more user-friendly tracker (ygrek)
260 - `compute_torrent` shows full path and url to generated torrent file
261 - `torrents` output htmlized
262 - corrected server header
263 - improved comments for tracker options
264 - search torrents in old directory too
265 7163: Fix not sending UDP packets when max_hard_upload_rate = 0 (ygrek)
268 7162: filter longhelp output (ygrek)
269 - longhelp (or ??) with parameters will output only those commands that
270 contain all of the specified parameters as substring
273 7161: bw_toggle: Add options "high" and "low"
274 - bw_toggle without options works as before
275 - if "high" is added, the *_2 option set is used if max_opened_connections_2
276 is higher than max_opened_connections, otherwise the option values are kept
277 - if "low" is added, the *_2 option set is used if max_opened_connections_2
278 is lower than max_opened_connections, otherwise the option values are kept
279 6959: DC: Fix invalid XML (ygrek)
280 - enhanced patch (use Xml.escape and properly escape attributes in Xml.to_string)
283 7153: BT: correctly handle failed tracker requests (ygrek)
284 7155: DC: understand hublist.xml (ygrek)
287 7151: BT: html ui tweaks (ygrek)
290 7150: BT: track torrents created with compute_torrent (ygrek)
293 7142: BT: max_uploaders_per_torrent option not restored from .ini files (xboct)
294 7140: MinGW: Fix linking with Ocaml 3.11.2
295 7139: BT: Some improvements and fixes (ygrek)
296 - Don't request sources from tracker (set numwant=0) if we don't need them e.g.
297 'stopped' event or when sharing
298 - Prevent client from repeatedly sending 'started' events for shared files
299 - Check that peer addresses, returned from tracker in compact format, are valid
300 and not blocked (same check as for non-compact format)
301 - Show torrent info_hash in html ui
302 7138: BT: Recognize more client brands (ygrek)
303 7137: Fix error in calculating average upload speed for client (ygrek)
304 7136: GTK2 GUI: start downloads from search results items
305 by double-click (soulcatcher)
308 7128: BT: Fix ratio reporting (ygrek)
309 7127: Configure: Use Ocaml 3.11.2 as default compiler
310 7076: Support preallocating files on Unix systems (drwho)
311 Recent Linux kernels support fast preallocation when the filesystem is
312 XFS, EXT4 or BTRFS, this patch adds preallocation support when
313 posix_fallocate() is available
314 6968: GTK2 GUI: Fix switching server preferred status (dcoppa)
315 -------------------------------------------------------------------------------
316 2009/10/23: version 3.0.1 = tag release-3-0-1
317 6961: BT: Fix torrent parsing when announce-list is empty
320 6959: DC: Fix invalid XML (lucasn)
321 6804: EDK: Log incoming chat messages with ip:port info (Dennis Nezic)
322 6772: New option max_result_name_len, shortens strings in
323 HTML/Telnet search results
324 6958: EDK: Fix server connects on Solaris due to missing SO_KEEPALIVE
325 6957: Configure: Make Ocaml 3.11.1 the default compiler
326 6956; BT: Fix download of torrent files with no 'announce' field (Hose Bag)
329 6759: HTML: Properly sort column hits in Options, IP blocking
330 -------------------------------------------------------------------------------
331 2009/02/24: version 3.0.0 = tag release-3-0-0
332 6754: Fix local file access bug in internal http server
333 - this is an urgent security related bug-fix and effects
334 all MLDonkey versions >= 2.8.4
335 6752: Optimized implementation of the ip_set module (cbah)
336 6736: Add/fix some copyright texts
337 -------------------------------------------------------------------------------
338 2009/01/20: version 2.9.7 = tag release-2-9-7
339 6727: Web_infos: Replace old GeoIP URL with new one
340 - old code added the new URL, even if GeoIP was not present in web_infos
343 6714: BT: Fix bug when computing limits for max_bt_uploaders
344 6713: GeoIP: New web_infos URL for country list (thx to Choby)
345 - old URLs are updated to:
346 http://www.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
349 6689: Allow compilation with Ocaml 3.11.0
352 6629: Mail: Move hostname from subject to body (eydaimon)
353 Updated Mozilla protocol handler to version 2.5
354 - original source from http://www.informatik.uni-oldenburg.de/~dyna/mldonkey
355 6628: IP discover: Use http://whatismyip.org, old URL is not working anymore
356 -------------------------------------------------------------------------------
357 2008/08/04: version 2.9.6 = tag release-2-9-6
358 6599: Allow values lower than max_upload_slots for BT-max_bt_uploaders
361 6593: CryptoPP performance fix for ARM (Marc Pignat)
362 6592: HTML: Fix invalid html respond when login is invalid
365 6571: Runinfo: Include DirectConnect in list of enabled nets
368 6558: Fix text relocation warnings on hardened distributions (Davide Pesavento)
369 6557: BT: Send correct downloaded value when download is stopped to tracker
371 -------------------------------------------------------------------------------
372 2008/05/02: version 2.9.5 = tag release-2-9-5
373 6503: Remove release status when download is finished
376 6465: BT: Send correct downloaded value when download starts to tracker
378 6477: Use $MLDONKEY_DIR/mlnet_tmp instead of /tmp
379 - This patch fixes problems with hash checking of multifile BT
380 downloads when /tmp is too small.
381 - To override $MLDONKEY_DIR/mlnet_tmp use variable $MLDONKEY_TEMP.
382 This patch has nothing to do with option temp_directory.
383 6472: Multiuser: Count only files in download queue for user/group statistics
385 6470: BT: Use default of max_upload_slots as minimum for BT-max_bt_uploaders
386 instead of hard-coded value
389 6466: Fix option_hook loop when changing max_upload_slots < 3,
390 caused by patch #6451
393 6462: Multiuser: Restrict chown to admin users only
396 6458: Fix commit bug when filesystem reports negative values
397 for maximum filename length
400 6451: BT: Implement minimum of 3 (like max_upload_slots)
401 for option max_bt_uploaders
402 -------------------------------------------------------------------------------
403 2008/03/02: version 2.9.4 = tag release-2-9-4
404 6440: GTK2 GUI: Compile with lablgtk-2.10.1 by default
405 - lablgtk-2.10.0 does not compile with Ocaml 3.10.2
408 6439: Configure: Make Ocaml 3.10.2 the default compiler
411 6407: New options run_as_group/run_as_groupgid
412 - works the same way as options run_as_user/run_as_useruid
413 - display system user:group running MLDonkey core in runinfo
414 6406: Mail: Fix bug in rfc2047 encoding
417 6404: New option release_new_downloads
418 - set to true to activate release slot feature for all newly started downloads
421 6080: HTTP interface: new command/button "logout" (Schlumpf)
422 6077: bw_toggle: support new option "max_opened_connections_2" (Schlumpf)
423 6401: Swarmer: Correctly update file_downloaded during recover_temp (pango)
424 6400: EDK: Correctly update filename after recover_temp
425 6396: Log: Print user:group when starting a download
426 6395: Makefile: Do not strip shared linked binaries on Mac OS X, clean Makefile
429 6381: Multiuser: Block commands "shares" and "share" for non-admin users
430 -------------------------------------------------------------------------------
431 2008/01/16: version 2.9.3 = tag release-2-9-3
432 6379: bwstats: Show downloaded bytes (pango)
435 6377: Configure: Make Ocaml 3.10.1 the default compiler
436 - Ocaml 3.10.1 fixes crashes in MLDonkeys eDonkey module when compiled with
437 Ocaml 3.10.0 on 64bit systems
440 6373: Swarmer: Ignore received data when file is queued
443 6367: FileTP: Fix bug when starting downloads > 4GB via dllink
446 6364: MinGW: Fix broken share priorities (thx to vbnuy6)
447 6365: HTML: Use option max_name_len in upstats for unhashed files
450 6362: Small Geoip updates
451 - new countries + flags: Saint Barthelemy, Saint Martin
452 - updates flags: Georgia, Democratic Republic of the Congo, Western Sahara, Lesotho
455 6361: GUI: Send console messages to admin users after unsharing a file
456 6349: DirectConnect: Correctly report total shared filesize to server (LuCasn)
457 6360: BT: New command print_torrent <file_num>,
458 new link in HTML, upstats to display .torrent details
461 6351: Allow compilation with upcoming Ocaml 3.10.1
464 6342: HTML: fix broken vm output in Opera (schlumpf)
465 6346: Environment variables for file_started_cmd (see option help text)
468 6343: gcc-4.3 compile fix for CryptoPP (brian m. carlson)
471 6337: Fix inequality test for option html_mods_theme (pango)
474 6255: Fix compile warnings for GTK2 GUI and DC++ (pango)
475 -------------------------------------------------------------------------------
476 2007/10/20: version 2.9.2 = tag release-2-9-2
477 6242: Allow deactivation of [telnet|gui|gift]_port by setting it to 0
480 6240: GTK1 oldgui: Hide password in server settings
481 6239: Update GNU config.guess and config.sub to version 2007/07
482 Updated Mozilla protocol handler to version 2.2
483 - original source from http://www.informatik.uni-oldenburg.de/~dyna/mldonkey
484 6238: Fix statvfs code on alpha platform (Alexander Kotelnikov)
485 6237: EDK: Load server.met files from archives even if unpack fails
486 - http://www.gruk.org/server.met.gz is not a gz archive at the moment...
489 6231: Swarming: Propagate chunks of finished file before commit (pango)
490 to other downloading files
493 6223: GTK2 GUI: Compile with lablgtk-2.10.0 by default
494 - this patch changes the lablgtk2 version used by ./configure
495 - self-compiled lablgtk-2.10.0 must be patched with patches/lablgtk-2.10.0.patch
498 6221: Configure: Remove unneeded checks
499 6220: GTK2 GUI: Fix compile bug due to changed API in lablgtk-2.10.0
500 - GTK2 GUI still compiles with older versions of lablgtk2
503 6197: Options backup: Better log messages, remove useless exception
504 -------------------------------------------------------------------------------
505 2007/09/09: version 2.9.1 = tag release-2-9-1
506 6192: EDK: Use discovered client_ip when lowid
509 6187: BT: Fix wrong file order of multifile torrents due to patch #6174
512 6179: BT: Send correct downloaded amount to tracker when download completed
513 6174: BT: Encode non-UTF8 filenames using "encoding" or "codepage" data
514 from .torrent if present
517 6175: Yet another patch for share_scan_interval
518 - new default 30 minutes for newly created ini files
519 - still use 0 to disable
520 - hard-coded global minimum of 5 minutes, this updates old default 1 to 5
521 - automated options update, if update is needed (options_version <= 19) and
522 share_scan_interval = 5 (because of new hard-coded minimum, which is
523 processed earlier) its changed to new default of 30
524 6145: EDK: Update options description of max_connected_servers (Schlumpf)
525 6172: EDK: properly advertise and honour noviewshared tag (TripleM)
528 6160: BT: Another fix for share_scan_interval
529 - Old hard-coded default was 300s, now with share_scan_interval its
530 possible to use a minimum of 60s which produces high CPU load.
531 This patch implements a minimum of 300s for the BT share_files timer.
534 6128: New default for option messages_filter (unease)
535 6132: HTML: Fix group display in vd <num> for admin users
536 view of other users files
537 6130: Change API for network_parse_url, support user group
538 6127: HTML: Display file_chunk_sizes/file_piece_size in vd <num>
539 6135: BT: Fix high CPU load when share_scan_interval = 0
540 due to buggy patch #6049 (thx to darkman)
541 -------------------------------------------------------------------------------
542 2007/07/27: version 2.9.0 = tag release-2-9-0
543 6118: Configure: Update defaults
544 - enable DirectConnect by default
545 - disable Gnutella & Gnutella2 by default
546 - MLDonkey does not support UDP host cache and contains
547 non-working GWebCache URLs
548 - Gnutella/G2 code has not been updated for several years,
549 its officially unmaintained for now
550 - remove non-existing GWebCache URLs
553 6087: Fix logging of verbosity "bw", remove obsolete options
554 6085: BT: Improve UTF8 support
555 - parse field "encoding"
556 - use field "name.utf8" instead of "name", if available
559 5996: BT: Recognize more client types (orbit)
560 6065: DirectConnect: Support dc++ hublist in web_infos
561 6063: BT: Better detect single-file torrents
564 6068: BT: Fix download start when torrents/downloads filesystem
565 allows more than 16M chars
568 6064: BT: Earlier first scan of torrents/incoming/*
569 6053: HTML: Send correct filename when previewing (chandlerding)
570 6061: Options: New type port_option, values are bound to be >= 0 and <= 65535
571 6060: Do not send mail notifications when smtp_server = ""
572 6059: Multiuser: Avoid double group entries in user_groups
573 6056: Log username, IP:port and old/new value when changing options
576 6049: BT: Support user_commit_dir when seeding,
577 reshare every share_scan_interval minutes
580 Move docs/multiuser.txt to distrib/multiuser.txt
581 6048: Make Ocaml 3.10.0 the default compiler
582 - MLDonkey can still be compiled with Ocaml 3.08.3/4 & 3.09.*
583 - if you need GTK1 oldgui you must use Ocaml < 3.10.0 to compile
586 6044: BT: Limit max_bt_uploaders to max_upload_slots (pango)
587 6043: Discover WAN IP
588 - new command "discover_ip" to force discovery
589 - new option "discover_ip" to enable automatic discovery on startup
590 and after SIGHUP, default true
591 - this patch is important for BT-only usage, without this patch the
592 WAN IP was discovered only by using EDK server replies
593 6034: Load $MLDONKEY/web_infos/* before activating network modules
594 - this fixes a security hole when networks started connecting
595 before IP blocklist was loaded
596 6025: Extend command "links" to optionally display all downloading files
597 - "links" displays all files, not only shared ones like before
598 - "links shared" lists only shared files
599 - "links downloading" lists only downloading files
602 6024: Multiuser: New parameters for command useradd:
603 user_mail + user_max_concurrent_downloads
606 6021: Remove leftovers from optional zlib support,
607 replace Autoconf.zlib__* with Zlib.* functions
608 6005: Swarmer: Implement new download mechanism
609 - its now possible to switch the order blocks are downloaded from random
610 (first and last block first, default) to linear
611 - new command: download_order <file number> <random|linear>
612 6017: Multiuser: New optional parameters group/commit_dir for command useradd
613 6020: Multiuser: Fix handling of user "admin", its user_commit_dir was not
614 used when MLDonkey was not restarted between download start and commit
615 6019: BT: Disable user_commit_dir for multifile torrents to fix seeding
616 6011: BT: Send no_peer_id to trackers to save some bandwidth (berni)
617 6010: Update syslog.ml to version 1.4
618 5995: EDK: Better handle permission denied errors for shared/downloading files
619 5992: BT/IP block: Fix country-based IP blocking
620 -------------------------------------------------------------------------------
621 Split Changelog, all stuff older than 2.9.0 is now in docs/ChangeLog.old:
623 http://savannah.nongnu.org/cgi-bin/viewcvs/mldonkey/mldonkey/docs/ChangeLog.old?rev=HEAD&content-type=text/vnd.viewcvs-markup