Archive for the ‘Versions’ Category

DC++ 0.75

March 7, 2009

A new version of DC++ has just out and (as you may noticed a bigger leap in the versioning) this seems to be a milestone release. This version is a result of a certain period of development and may start a new era in the ever progressing history of DC++. We can assume that every required adaptations and problems are solved since DC++ switched to an open source compiler, changed  GUI library and introduced a new (segmented) download method.

While the previous version was pretty stable and had all major bugs fixed, this new release focuses to fix bugs that can occour in less common situations. Along with these fixes DC++ 0.75  introcuces a few important improvements as well.

GUI changes

  • By popular demand, a possibility added to unmerge search results for same files. In other words this means that in certain situations when merged results aren’t an advantage, you have the option to organize your search results the same way as before.
  • User interface elements are automatically resized according to the length of the text they hold. It results not just nicely arranged controls; from now, all longer GUI translations will fit so there’s no need to use ugly abbreviations anymore.  (To all translators: its time to review your GUI translations! :) )

Fixed bugs :

  • Fixed compatibility (non-segmented) mode downloads so they always resume correclty if you restart DC++. Also fixed a problem that in some cases DC++ still used chunks in this mode.
  • Fixed a possible crash when two or more shared directories have the same virtual name. This bug could hit those who have very large number of files shared (total share over 1 TiB).
  • Fixed error handling when file lists and zlib transfers are decompressed. This could cause crash in special cases.
  • No more crashes when you remove several hundreds of elements from the finished transfers’ lists.

Improvements :

  • A possibility added to recheck integrity of partially downloaded files. This is useful in case of any disk error,  but the main advantage it brings is the ablility to easily resume large unfinished downloads when your download queue lost or damaged.  Read more in the updated Resume FAQ.
  • From now DC++ optionally uses the user profile folder for default download target and also for storing settings and temporary files (hublists cache, file lists, etc…).  This feture will be most welcomed by Vista and Windows 7 users as it should eliminate UAC warnings in most cases. If you use the installer to install DC++, it will be configured to use profile folders. If installed from the .zip archive manually, settings and downloads will be placed the old way (to the program folder).
  • Translating DC++ Help file to several languages are progressed a lot

For the complete list of changes refer to the changelog.

DC++ pointing out the corrupted

February 11, 2009

One of the latest enhancements in DC++ is the hub referral on client-client connections, proposed by Jan Vidar Krey. The current bazaar trunk implements this mechanism and the next DC++ version that will be released soon will also have it. The purpose of this extension is to point out the corrupted hub that is sending the current client to a non DC client, with obvious malevolent purpose. This implies that the hub is either using exploitable software, or that it’s intentionally abusing the clients. Either way, the hubowners are solely responsible.

On connecting to the other party, DC++ will also send the hub URL that it used to connect to the hub sending out the CTM message. By packet inspection, an attacked party can figure out which is the corrupted hub (only a pointer is required, such that they have a point of reference ) . Another good part about this extension is that it works on both ADC and NMDC ( some workaround was found for NMDC: adding the url to the PK string since NMDC is not extensible nor flexible in this matter ) , with the least effort from the clients and it does not bother them in any way. A normal client should ignore the specific message ( I don’t find any particular usage for it ).

We strongly recommend all mods to inherit this extension and other clients out there to implement it so the CTM attacks impact on DC software will stop being so great.

DC++ 0.7091

November 29, 2008

We are happy to announce that the new version of DC++ is available for download. It’s been about 5 months since the last stable release and numerous improvements and bug fixes come with this new version.

The most interesting GUI changes are as follows:

  • You can set the maximum width of the tabs as you like (no more truncated hub names)
  • Finished Uploads & Downloads windows are refined, from now you can filter to show only 100% finished downloads.
  • Added a popular option to always have a tray icon displayed for quick access
  • Numerous small improvements in the search window
  • DC++ should really remember the positions of all splitters, column orders and column sizes
  • Up-down control in the main status bar to change the number of upload slots quickly

Important bugs fixed :

  • Shell menus are restructured and loaded only if they needed. This also eliminates possible crashes when opening the shell menu under Vista.
  • In some cases it was impossible to add all the found sources to the queue from the search window
  • A possible crash if some ADL Search elements set to auto-download fixed
  • Fixed a possible lockup at start when the download queue has too many directories on Vista
  • Solved a problem which could cause crashes when tabs closed

Other changes and improvements :

  • Automatch queue for all search results is always on from now
  • Partial file list requests are visible in download queue so they can be deleted in case of connection problems
  • The whole Help file became translatable and a few partially translated Help files are added to the release. The localized Help file and tooltips are shown automatically according to the current locale settings

For the complete list of changes refer to the changelog.

Unlike the previous unstable release ( 0.708 ) this new version is tested and found highly stable. As usual it will be marked stable only after the two weeks public test period but the upgrade is recommended even before – especially for Vista users.

When stable become really stable

June 22, 2008

DC++ 0.707 has just out. Probably this version will be the first from the 0.7xx series which will be considered as a highly stable release – also hopefully a version that many user will feel safe to upgrade to. Altough the two previous versions also marked stable, both of them have a few rather serious problem so users of all 0.70x versions are encouraged to upgrade to 0.707 as soon as possible.

As you may know our client changed a lot over the last year, switching to a new, open source compiler and GUI library was a big step forward even in the ever-changing world of DC++. Introducing segmented downloads needed a lot of additional change and… caused some side effects as well. When DC++ 0.705 and 0.706 marked stable, more and more users downloaded and started to use these new versions and they helped a lot to find and fix a few more existing problems. Some kind bugs are hard to discover when a new version is used only by small group of testers so those numerous reports and feature requests from the community was really great. Now with 0.707 we reached a point where we hope that all the major problems are solved.

Along with several minor things the current GUI changes include :

  • Search results with same TTH are grouped so from now so multiple results for the same file occupy only one row in the search results list. The ‘User’ column shows how many users share the file and their nicks can be seen in the right click menu.
  • The annoying problem of spamming the finished up/downloads windows with all the finished segments is gone.
  • From now you can copy the elements of the hub’s userlist to the clipboard.
  • There’s a new quick access to all favorite hubs by a new drop-down menu in the toolbar.
  • The built-in Help (and some important FAQs in it) are improved and a Get started guide added for beginners as well.
  • Translations are greatly improved (thanks to the respective translators!), even a few more languages added.

Important problems fixed :

  • A possible crash when resuming downloads in non-segmented mode.
  • A security problem, where a remote client could crash your DC++, without you knowing or could do anything about it. (The issue hits all DC++ versions from 0.670 !!)
  • Fixed a severe bug that keeps DC++ from returning correct search results for files and returns no results at all when searched for directories (bug exists from 0.705).
  • Also fixed a problem introduced with 0.706 where resumed downloads can be corrupted if the temporary file deleted or if you try to resume downloads started with an older version of DC++.

So again, its time (and safe) to upgrade! As usual, if no serious bugs are reported, 0.707 will be marked stable within two weeks.

DC++ 0.706

April 26, 2008

Another version of DC++ is out. After 0.705 being stable, this version comes up with the primary fixes required by people on launchpad, and it’s getting closer and closer to the old interface functionality.
The most significant changes include :
You can now see if a hub/user is online/offline by the color of the icon.
The transfer color bars are back.
You can now share multiple folders under the same virtual name ( mixes the files ).
Every connection shows now on which hub it started.
Translations are more complete, we thank this way everybody who helped translating.
Among other multiple fixes, we hope this is the best DC++ version to the day.
The same thing goes, if no serious bugs are reported about this version, in two weeks it will be marked stable, so go ahead and download it from sourceforge and have a test. We await your feedback.

Translation update

April 14, 2008

There’s a new release coming in a few days and the translations templates on launchpad have been updated – if you want your language to be complete please have a look…

In the future I’ll only post these updates to http://sourceforge.net/mailarchive/forum.php?forum_name=dcplusplus-devel, so please subscribe if you’re interested in keeping your translation up to date…it’s a low-traffic list, so you don’t have to worry…

DC++ 0.705

March 15, 2008

Another version of DC++ has been released. This time, it’s even closer to being stable. If there will not be reported any serious bugs, in two weeks it will be moved to stable. So please have a check on it and report feedback on the launchpad page.

What are the changes in this release?

A lot of stability improvement, starting from crashes to bugs and so on.
Also, some visual improvements like new menu types.
Segmented downloading new separate window for each downloading file, and a new connection window for each chunk.
Language files now use gettext and they are included in the distribution for the major languages.
Tabs drag& dropping and tooltips.
Updated links so that you have any problem, you can easily find the answers you seek now.

You can download DC++ 0.705 from here.

0.704 released

December 14, 2007

The new version of DC++ is out ( probably the last one in 2007 ). You can find it here .

As in a previous blog post, this new version adds the Coral distributed network hublists, which will make sure you have a working hublist in your client.

Also, this version brings ( more or less ) the compatibility with ADC 1.0 . This means that the protocol BASE feature is advertised ( instead of the BAS0 revision ). UCMDs ( the ADC’s User commands extension ) is also advertised in the initial SUP string protocol,  so DC++ users can now use the commands given by ADC hubowners ( hubsofts should start implementing ) .  This also means that 0.704 will use the protocol string ADC/1.0 when trying to download. Don’t worry, you can still download from older versions because the 0.10 protocol string is still kept ( same goes about the INF flags OP, RG… ). The only compatibility that is really breaked is the password sending because the hash the client must send in 1.0 is slightly different ( see differences between ADC 1.0 and 0.10 ).

0.704 includes more fixes that everybody wanted to have as soon as possible, these include : closing tabs with mid-mouse button,  chat focusing all the time, hub name printed to main window title.

The segmented downloading crashes are now fixed .

On top of all, enjoy your new version.

Restricting $ in file names

November 19, 2007

As of version 0.703, DC++ is able to share files containing “$” in their name. This is (obviously) because that restriction was removed. It was removed because it’s completely irrelevant at this time; DC++ will only use TTHs to request files. As such, it doesn’t matter if the file name is written in a special way (except maybe how it should be stored on the end computer, but that’s a different matter) when it comes to downloading.

All of this is now fine, but why wasn’t it previusly fine to share those types of files? Actually, this isn’t a restriction that has been set because the NMDC protocol didn’t support it; This is an artificial restriction in DC++. (Most likely because of its initial coding.)

You see, the NMDC GET command do require a $ in the command (besides in the beginning), but it’s not something a client couldn’t work around.

The command NMDC use is “$Get $|”. If the client start to search from the beginning (after “$Get”) after the $ to find the offset, a file name containing a $ will obviously break/behave unexpectadly. However, if the client would search backwards from the first |, it would be able to catch the correct offset and file name, even if the file name contain a $.

(Yes, of course, we still have a restriction for “|” in the GET and a file’s name.)

Note: I don’t know if DC++ has fixed this kind of behaviour for other commands still in operation in DC++.

Don’t forget that you can make topic suggestions for blog posts in our “Blog Topic Suggestion Box!”

Coral network coming to a DC++ near you

November 8, 2007

The upcoming version of DC++ will include more hub list addresses than it already does. However, while these additions are technically pointing to different addresses, they reference the same hub lists as the current set does.

What DC++ is going to utilize is the Coral distributed network to download hub lists. It does that by appending “nyud.net” to the hub list host. What Coral will do is that it will download the hub list, cache it in the distributed network and when you try to use the hub list, you’re using the cached one. This will mean that hub list owners will be able to have a lower upload bandwidth to distrubute their file.

Coral will be able to catch newly updated material within 5 minutes. Beyond that, there’s an automatic expiry limit before the file will be discarded in the network, which is set to 12 hours.

(I don’t think it’s possibly to set the expiry limit if the lists are in .bz2. You might be able to pull it off in the XML file, but I don’t know if Coral will treat it properly. Use the HTTP directive HTTP-EQUIV=”EXPIRES” to set the expiry limit.)

(Yes, this update was intentionally timed after the 0.703 release.)

Note that this is just a testing phase. If successful, the Coral:d lists will completely replace the others.

Don’t forget that you can make topic suggestions for blog posts in our “Blog Topic Suggestion Box!”