Changelog 2.2.0
From AMule Project FAQ
Version 2.2.0 - The "We only delayed it to release on our 4th birthday. And then we lied about the date." version
2007-08-19
Bas Zoetekouw:
- Patch for debian bug #350396: "amule depletes entropy pool".
centaur:
- OpenBSD patch.
Coronas:
- Patch to show kad status in amuleweb (Bug 1103)
DLH:
- amulegui.xpm icon.
Gerd78:
- Added autostart-xas to rpm .spec files.
- Patch for autoconf >= 2.60.
- Patch for redefinition of $(docdir) in docs/Makefile.am.
- Patch for aMule .desktop files.
- Added amulegui desktop icon (with Vollstrecker).
- Patch for fixing aMule spec file in Fedora and Mandriva.
- Test for perl File::Copy in configure.
GonoszTopi:
- Added ability to compile amulecmd without threading support.
- Fixed source seeds handling on startup.
- Proper restoration of startup locale after checking available locales.
- Fixed linkage with wxMSW.
- Got rid of a few more warnings.
- Fixed #929: configure: BUILD_CC uses CC's CFLAGS
- Implemented #962: don't display (0) when not downloading from source
- Fixed #954 - added ability turn IPFilter on/off for servers/clients independently.
- Added support for magnet ed2k links.
- Improve cross compilation
- Fixed segmentation fault in amuled
- Proper restoration of startup locale after checking available locales
- Don't allow sources coming from .seeds to be cleaned up for a while after startup
- Improve accuracy for ticks
- Improve debug output
- Don't add clients when shutting down
- Added a simple (ascii) text file reader class
- Sed denoiser - removes excessive messages from compilation - Thanks to Vollstrecker for the idea and discussions.
- Drop path component from logged file names.
- Fix for perl v5.8.8
- wxCas compilation fixes for wxCVS
- Doxyfile doesn't need to be installed, it's unusable without the sources.
Hermit:
- Patch for amulecmd history which ensures that when the same command is repeated several times in a row it only gets recorded in the history once.
jcoy:
- Set download priority in amulecmd.
ken:
- Fixed control-clicking (right-clicking) on tabs in notebooks on the Mac.
- Compilation fix for MacOSX 10.3
- Fixed a crashing bug with static initialization order
- Ship the license as required by the GPL.
- Fixes linking of embedded CryptoPP (on the Mac, if nowhere else).
- Quick-n-dirty hack for stats graphs on the Mac.
Kry:
- Protocol Obfuscation (enabled by default)
- Large file support (>4GB)
- Disabled auto-update of servers from clients and other servers by default.
- Fixed a bug while getting sources for large files (>4GB)
- Fixed mldonkey_importer to work with mldonkey >= 2.7.6
- Improve exception handling
- Added a column on client view that shows if the user has reported having disabled shared files.
- Disable the "Show files" option in context menu if the user has reported having disabled shared files.
- Add generic CTag classes support for Kad data types
- Remove kad IO classes
- Safety on memfiles created from packets
- Fixed publishing and sending shared files requests
- Fixed Unittest
- Update audio and video types
- Update EC to use the equivalent of VBT tags
- Fix ID sending on hello packet to use the hybrid ID instead of plain ed2k id
- Fix a bug on sending info to other clients on file list request
- Upgrade lex generated code
- Add the --reset-config flag
- Modified getclosetsto() fix, originally by tatikiran
- Changes to flex parsing of search expressions.
- Fix several missing variable initializations
- Swap bytes for int types in EC code
- Lower reask times
- Fix Memleak in ECSocket
- Extend amulecmd with 'show log' and 'reset' command, originally by quinox, bug #856
- Usage of HOSTCC for compile-time executions
- Created translation status scripts
- Move server packets to the back of the UDP queue if the server is still resolving a dynamic host
- Script to wikify changelog
- Separate ECTag from ECPacket
- Fix crash on startup
- Fix several rare memleaks
- Fixes on Kademlia keyword store
- Initial Kademlia 2 integration
- Remove duplicated SendPacket functions in Kad
- CPacket uses const CMemfile reference instead of pointer
- Fix for (rare) bogus packets being send on kad
- Fix for empty packets in Kad Search
- Fixed server IP for EC
- Don't destroy shareddir.dat on remote GUI, bug #945
- Incorrect percentage displayed by amulecmd for files > 4Gb, bug #949
- Ask user to download server list when list is empty and ed2k active
- Support automake 1.10
- Reorganization of EC code
- Added script to generate EC files for different programming languages (C#, Java and C++) from an abstract language
- Dropped support for < wx2.8.x (in case you want to blame someone)
- Added remote gui datastructure for new classes.
- Fixed compilation with wx2.9, also with disabled 2.6 comatibility.
- Heavily modified IP2Country code. Proper names, guards, creation on the heap... etc.
- Added script to create Kad nodes files
- Fixes for emule-collection support
- Added some sanity checks
- Source links with crypt data support.
- Fix Mac build
- Remember kad and ed2k urls and restore them on restart.
- Force conversion to be ISO8859 for tag names, obvious from the network standards. This also fixes Kad.
- Changed the inheritance for the UDP sockets to include the encrypted layer
- Fix for MuleGifDecoder issue
- Windows fixes
- Added OnO patch for Toolbar display.
- Fixed validation of preferences items for wxWidgets 2.8.4
lfroen:
- Fix partcount not being set in remote gui
- Use only one EC library with amuleweb
- Fix LastSeenComplete
- Fix for NonCurrentSources
- Fix incorrect cookie parsing for amuleweb
- Fix passing strings in EC
- Lock webserver when serving images
- EC implementation in C# (work in progress)
- Fix preferences in amuleweb
- Fix EC crashing webserver when new item added
- GUI implementation in C# (work in progress)
- Implementing split() call
- Compilation fix for MuleGifDecoder
LittleAbacus:
- Patch to show part file numbers.
- set the search string to the search text of currently selected tab.
nvinay:
- Trivial issue with memset found using google codesearch which may affect only the debugging.
Phoenix:
- Fix for crash in amulegui/DownloadListCtrl.cpp.
- Upgraded extern/listctrl.{cpp,h} from wxWidgets cvs code.
- Fixed some gtk2 warnings in extern/listctrl.cpp.
- Fix for unhandled exception in new skinned toolbar code.
- Coding style fixes.
- Fix for server disconnection during global search.
- No more wxARRAY's in amuleweb.
- Fixed bug in mutex code in amuleweb (s_mutex_wcThreads).
- No more wxARRAY's in aMule code.
- Fixed bug in ECPacket.cpp: assignment inside assertion.
- Changed CECSocket constructor to be exception safe.
- Fix for invalid rectangle size on COScopeCtrl::PlotHistory().
- Removed the default constructor for Kademlia contacts.
- Fix for "get bwlimits" command in amulecmd always returning zero for maximum download value.
- Added UPnP support.
- Fix for crash in ECSocket.cpp.
- FileDetailDialog:: now has more intuitive Apply, Ok, Cancel interface.
- GUI to enter a specific bind IP in "Preferences->Connection->BindAddress".
- Resurrected support for the tag FT_DL_ACTIVE_TIME in the met file. It's value, the download active time, can now be seen in the file details dialog.
- Added the DLACTIVETIME variable to the list of replaced variables in the DowloadCompleted user event.
- MuleTrayIcon.cpp was not compiling for __WXMAC_CARBON__. Seems to be fixed, but must be the code now has a lot of ifdefs and must be tested on other platforms.
- Added two more events: "out of space in temporary partition" and "error upon completion".
- Fixed a crash in amulegui when adding a new category.
- Fixed a bug in amulegui, removing a category remotely did not update the category count in amule.conf, so the next time amule was run, the category was there again.
- Fixed a bug in toolbar skins, the skin file was opened even when the checkbox "Use skins" was not checked.
- Fixed a crash related to MuleGIFDecoder wx-2.8.0 when downloading the file IPFIlter.dat.
- Fix for ECSocket.cpp, amulegui was crashing upon entry.
- Fix for ClientDetailDialog in amulegui. Was showing incorrect IP / Server / Software version information.
- Switch binding of UPnP libraries to use one digit version names instead of unversioned names.
- Fix for crash in amuleweb when the image file did not exist.
- UPnP add/delete port mappings are now done in every device found, instead of only the first one.
- Creation of --enable-upnp/--disable-upnp configure flag.
- Update of wxWidgets-2.6.3 deprecated code to version 2.8.2.
- Fixed IPFilter.dat loading from a zipped file.
- Added a termination process to wxExecute() calls, so that we no longer leave zombies.
- CDirIterator now uses wxDir.
- CheckDirExists() now uses wxDir::Exists().
- CheckFileExists() now uses wxFile::Exists().
- GetLastModificationTime() now uses wxFileModificationTime().
- GetFileSize() now uses wxFile::Length().
- UTF8_CopyFile() now uses wxCopyFile(). Later reverted for locale fixes.
- UTF8_RemoveFile() now uses wxRemoveFile(). Later reverted for locale fixes.
- UTF8_MoveFile() now uses wxRenameFile(). Later reverted for locale fixes.
- theApp is now a global pointer, so that we can access the global application object from within a core file.
- Partial fix for the COLORREF compilation problem on Windows.
- Fix for libpng version detection on acinclude.m4. It was failing for strings like 1.2.15beta5 (e.g., debian 4.0 etch).
- Fix for theApp variable usage in amulegui. It was not beeing initialized and amulegui was segfaulting.
- Fixed the forum address in the backtrace print.
- Applied Bas Zoetekouw's patch for debian bug #350396: "amule depletes entropy pool".
- Implemented IP2Country using GeoIP.
- When converting from multibyte to wide characters, ConvAmuleBrokenFileNames now tries UTF-8 first. If this fails, then it tries ISO-8859-1.
- New directory based skin support, reworked Trevino's patch.
- Fixed amuleweb crashes due to bug in ECSocket.cpp
- Code to refresh port mappings in the event of a temporary router failure
- Code to deal with previously unhandled UPnP events.
- Fixed remote-gui segfault in UpdateStatsTree()
- syscall_check is no longer a macro
- Fixed a serious bug introduced by ENABLE_UPNP Makefile.am switch
- Fix for libpng version detection on acinclude.m4
- Fix for server list and node list
- Made some common dialog modals and giving them a default style
- Handle different UPnP library versions
- UPnP for amuleweb.
- Fix for crash on exit and a little less redundancy.
- Trying to make listctrls behave on Mac
Radek:
- Patch to fix windows compilation.
Raziel:
- Adapt Kad code to the standard coding guidelines.
- Work on EC API
spiralvoice:
- Patch to enable MLDonkey os_info support.
Skolnick:
- Added the time to the aMule stats in the wxCas window and in the generated image.
- Added the time to the aMule stats in the cas output and in the generated image
- Added option to generate image in JPG format (along with PNG)
- Added new icon for aMule
Trevino:
- Fix for "Both the Unknown client icon and the Unknown status icon points to the same file" issue.
- Skin support with relative paths.
Vollstrecker:
- Added possibility to give the path for output right with -p or -o in cas.
- Changed cas to use getopt_long.
- Added --config-dir and -c option to cas.
- Added alias -H --html to cas.
- Added alias -P --picture to cas.
- Added --config-dir and -c option to ed2k.
- Added --config-dir option to amuled.
- Fixed typos in the man pages.
- Added manpage for amulegui.
- Added amulegui desktop icon (with Gerd78).
- Manpages update.
- Add debian folder
wuischke:
- Add emulecollection support on aMule ED2K Links Handler
- Fix online signature update rate
- Fix display of filesize > 4GB in file detail dialog
- Fix toolbar import/about icon order
- Add option to load emulecollection in SharedFilesCtrl
- Add oga and ogv extension for file type search
- Allow skin/webserver template section via wxchoice + skin enhancement
- Some error messages rephrased, to improve readability
- Fix idle mode for UBT
- Fix Ctrl+a in MuleListCtrl
- Replace (f)lex by $(LEX) in Makefile.am files
- Fix libUPnP unloading.
- Fix building with external CryptoPP
- Ship skins with tarball
- Display file size in human readable format in FileDetailDialog
- Added upload feedback
- Added option to enable EC and set pass in A[amuled]
- Removed GetLocaleDir()
- Zipped skin format
- Fix utf8 problem with file names
- Fixed toolbar display with skins when blinking on incoming message
- Fix #1114, missing break statement, thanks to mr_hyde
Xaignar:
- Renaming the SearchList typedef to CSearchResultList
- Splitting CSearchFile out from SearchList.* to SearchFile.*.
- fix initialization of member variables in CSearchFile when creating on remote gui.
- Call GetLength safely when sharing files
- Added support for child results to CSearchListCtrl
- Major cleanup of CSearchList
- Add logger target for the thread-scheduler
- Add smart pointers CScopedPtr and CScopedArray
- Fix possible crash due to pending events
- Fix accessing empty list in CMuleListCtrl
- Add support for displaying large files with CBarShader
- Improved sanity checking and simplified exception-handling via CScopedPtr and CScopedArray.
- Major reworking of threads, add a thread scheduler for IO intensive tasks, improve thread-safety for AICH-sync thread
- Fix FileIO unittests and add test of const CMemFile objects
- Update AICH from eMule-0.47a Beta1
- fix positioning of individual frames
- Improved exception handling
- Updating the FindMatchingClient function
- Avoid dangling pointers in case of asserts failing
- Updating CFormat to properly handle 64b ints on all platforms
- Fixing CFile::GetAvailable if position is past EOF
- Fixed possible use of uninitialized variables
- Adding template function for freeing the contents of a list/map
- Remove CList
- Fixing a couple of infinite loops
- Fixes file completion under amuled
- Add locking to the ED2KLinks file
- Removed multiple macros for array size
- Removed the CMD4Hash from wxString constructor
- Add swap function to CRangeMap
- Reworking of the notify-code
- Optimized and simplified adding of shared files to the listctrl
- Remove partially copied files when a UTF8_CopyFile fails.
- Drop the file/directory permission settings, use umask instead
Special Thanks to:
- FreeToGo for implementing the first version of IP2Country on the forum.
- Mark James (http://www.famfamfam.com) for providing the flags icons.
- deloun and mischamajskij for their work on aMule skins
- Bun Bun, for being there to tell me I'm not stupid.