更新日誌 |
* Network support - Added support for eMule search links i.e. ed2k://|search|text_to_find|/ - Fixed error when seeded file uploading via gnutella. - Fix eD2k download sources not being sorted properly when they update our position in their queue. - Fix a couple of wrong lengths in download fragment selection. - Fix too many hits being added to query hit packets. (G2) - Advertise all available ranges to G1/2 clients. Optimise range string generation. - Fix gnutella source exchange sending wrongly formatted sources - Fix reflecting gnutella sources back to client - Fix for eD2k & HTTP fragmented file assignment for partial file uploads. - Added own IP address acquiring on every successful incoming and outgoing connect. - Fixed Shareaza never updating to GWCs with no hosts. (ticket #99) - Fixed stuck downloads when many seeding torrents presents. - Relaxed too strict network anti-hammering protection. - Implemented new UPnP/NAT port mapping method. - Implemented UPnP runtime controlling (it restores changed port mappings). - Added periodic refresh of UPnP port mappings (default 30 minutes, new option "Connection.UPnPRefreshTime"). - Updated Default services files - Fixed debug assert when Shareaza tries to upload torrent download to non-BitTorrent client. - Added support for uTorrent Peer Exchange UT PEX. (ivan386) (BitTorrent) - Added support for tracker exchange ("lt_tex"). (BitTorrent) - Changed Hub-rating calculation (added free memory bonus, 64-bit bonus, halfed multi-processor bonus). - Fixed wrong sending of HAW packet on connecting. (G2) - Added protection against query hammering. - Added G2_PACKET_RETRY_AFTER-part to query ack packets. - General.MinTransfersRest option defaulted to 50 ms and enforced. - Deprecated Bandwidth.HubUploads option, now Hub upload limit set to 50% (when Uploads.HubUnshare option is on). - Fixed bug that caused some Hubs to not to accept leaf connections and therefore stay at 0 leaves all the time. (So-called 0-leaf bug; ticket #127) - Fixed false positive torrent encoding error. - Fixed packet parsing in CChatSession. (G2)
* DC++ support - Implemented limited DC++ support. It can/has: > Connect to DC++ Hubs in active mode > Show all commands in system log > Search for files on Hub > Answer on incoming searches > Upload Library files > Upload Library file list (files.xml.bz2) > Mount file lists as Library collections. > Log DC++ UDP packets > Support for DC++ redirection command ($ForceMove) > Support for DC++ user bad name command ($ValidateDenide) > Some support for the DC++ password command ($GetPass) > Support of DC++ "$ADCGET list" command > Download > Search > Support for download and upload queues > Experimental support for overlapped upload requests > Import "hublist.xml.bz2" files by dropping it to Shareaza or opening them via the Host Cache. > DC++ URL support - Created "dcfile://" URL handler. Its new nonstandard URL type defines direct DC++ download. Format: "dcfile://HubIP:HubPort/User/TTH:FileTigerTreeRootHash/FileSize/". - Added "DC++" to vendors cache.
* Crash fixes - Fixed crash caused by bad Italian translation. - Fixed tray popup crash. - Fixed crash when bad data found in crash log. - Fixed Shareaza crash during playing of damaged video. - Fixed crash during .mp3 ID3 tag parsing with invalid Genre field. - Fixed crash caused by bad BitTorrent packet. - Fixed rare crash when user quickly selects views of Library. - Fixed scheduler crash when "hang-up connection" task found more than one Internet connection. - Fixed rare crash when library remotely browsed and updated at same time. - Added workaround for plugin crash on Shareaza exit. - Workaround for download preview crash on cancel. - Fixed incoming browse request crash when some Library files were deleted outside Shareaza before that.
* Internal and functional changes - Added /RegServerPerUser and /UnRegServerPerUser command line switches. - Better handling of unsupported codecs in Shareaza Media Player plugin. - Optimized library search by hash. - Added more strict file equality comparison by hash, size and name. - Fixed a bug that made the job times change within the scheduler if the computer was turned on later than the time at which a specific task had been scheduled. - Improved GFLReader plugin's image loading process. - Added faster and more robust way of closing Shareaza during hashing process. - Added more protection against downloads overload (too many sources, bad settings etc.). - Enhanced Scheduler shut-down mechanism. - Added dropped UDP packets debug logging. - Added new option "Connection.IgnoreOwnUDP" to ignore own datagrams (helps debugging). - Optimized compressing and decompressing of memory blocks. - Optimized SQLite interfaces. - Renamed "Gnutella2.QueryHostThrottle" option to "Gnutella2.QueryThrottle", "eDonkey.QueryServerThrottle" to "eDonkey.QueryThrottle". Removed "Gnutella1.RequeryDelay" option. - Changed "Connection.EnableUPnP" option default to "true". - Optimized Security object. - Updated VirusTotal plugin, uses new www.virustotal.com API compatible with any browser. - Added using of delay loaded DLLs. - Added ogv, webm, oga to audio/video schemas - Added low I/O priority for some file operations (Transfers, Library Builder, Download Tasks) under Vista and above. - Optimized download previews. - Fixed invalid metadata extraction when .mp3-file has empty IDv2. - Fixed XML parsing for Bitzi. Library.PreferAPETags option deprecated. - Fixed DocumentReader and RatDVDPlugin plugins. Enforced XML checks. - Optimized internal metadata builder. Library.ScanMPC option deprecated. - Added skin images caching (now less memory used). - Reduced Shareaza start-up time (postponed all starting threads). - Did some updates to the media player - Updated default security file (removed .wmv/.wma and private net) - Updated GeoIP database - Updated SQlite 3.5.8 -> 3.7.4 - Updated BZip 1.0.5 -> 1.0.6 - Updated Zlib 1.2.3 -> 1.2.5
* Graphical / GUI changes - Fixed Smart Download Preview window which did not close automatically or got stuck sometimes - Fixed cut lines in IRC Chat Window. - Fixed IRC window updates when Apply button pressed in Settings dialog. - Changed option "Settings.IRC.Timestamp" to "on" by default. - Fixed library files 48x48 icons loading. - Improved MediaPlayer recovery after codec crash. - Fix completed downloads being filtered from download control, optimised filtering - Made hash progress window flexible. - Changed the way download sources are coloured (colours generated randomly). - Added interface elements for DC++. - Added new GUI behavior: "Library" button now switches views between "Folders" and "Organizer" starting from second click. - Library views now remembers its selected folders. - Updated Flags. Added country flags to Host Cache window. Fixed bad sized protocol icons of Neighbours Window. - Patch to show source counts by real source count + alternate source counts in the search results. - Library now has initial selections as Default Download folder for Folders view and Favorites album for Organizer view. - Added BitTorrent packet dumps. - Improved packet dumps. - Updated lots of stuff on the Scheduler. - Fixed selection of user media players, now an unlimited number of custom players is supported. - Unified file execution process, enforced its security, added "too many files" confirmation (for Play Album button). - Added automatic detection of media players (AIMP2, GOM Player, MPlayer, SMPlayer, etc.). - Relaxed reaction on skin load error, now in most cases Shareaza agreed to load incomplete skin. Added more skin validation checks. - Added language file early loading (so command-line options and splash dialog can now be translated too). - Added Shareaza self-restart on language change. - Added new command-line option "-wait" - Shareaza will wait for another Shareaza instance exit and then continue execution. - Added command-line transmission from second Shareaza instance to first (to open files without using DDE for example as FireFox does). - Host (from Host Cache) now can use DNS-name also (was IP address only). - Added full-screen application detection to prevent hash window show. - Fixed tooltip flicker effect. Download and Upload tips made more dynamic. - Added completed download move indicator. - Added more detailed Gnutella query statistics: old "Gnutella Local Queries" divided by "Gnutella Incoming Queries" (all incoming packets) and "Gnutella Processed Queries" (good and accepted for feature processing packets). - Added Shareaza logo to background in Window Mode. Removed all default windows in Window Mode. - Fixed Neighbours window Time column sorting. - Updated a lot of icons on various places. - Fixed and optimized remote interface. - Fixed Skin colour duplicate calculations. - Fixed missed Library interface updates when file metadata was changed.
* Installer - Added "No Banner" skin to setup. - Fixed Shareaza internal components and associations registration under limited user and administrative accounts. (Now everyone should be able to see and use all plugins again.) - Added X-Mas skin.
* Updated languages: - Dutch (roestvrijstaal) - French (zigozag) - Russian (raspopov/Ryo-oh-ki)
* And last but not least... - Fixed lots of minor bugs, made thousands of smaller optimizations ... and got rid of half a million of crashes not named above. Of course, we did also create some new ones, else it wouldn't be fun any more. :) - Made lots of smaller changes for VS2010 support - Fixed lots of compiler warnings - Updated copyright info in some of our files which did still mention shareaza*com. - Created new SkinUpdate utility. It can test resources for validity, extract string tables from RC-file and save the result as XML-file. |