New release: 2.11.3, 17th March 2013
Building further on the stability of 2.11 with more bugfixes, and the first significant scrypt update in some time thanks to a surge in its popularity and virtually the first ever donations towards developing and maintaining it since it was first added to cgminer.Human readable changelog:
- Updated USB detection code by Kano will now show known devices with cgminer -n, and you can manually select devices to mine with using the new --usb option - read the README for full documentation! (Yeah right, no one reads documentation
- Fixes for certain USB communication problems should make them more reliable.
- Workaround for the rare crash on switching pools with stratum with older libcurl builds.
- Adding a pool now from the menu will return quickly while it leaves probing it to the background.
- Internal improvements in scalability in preparation for ASIC devices (must be close now?
- Changes to the hashmeter to update it more frequently - for fast devices it will update smoother but for long-return devices (like slow FPGAs) it will look worse. This is in preparation for faster devices...
- Scrypt updates:
Fixed the failure to create high thread concurrencies.
Intensities above 13 will not lead to garbage being generated on GCN (7xxx) hardware now.
Decreased default GPU threads to 1. Intensities above 13 cannot handle more.
Changed the default choice of thread concurrency if no options are passed to cgminer as a hint, based on amount of available GPU ram.
Scrypt mining now shows the Work Utility as BTC mining does (total amount of diff 1 work done per minute).
Extensive updates to the SCRYPT-README file in line with changes to the code and new information (but no one reads documentation anyway
- Update the hashmeter at most 5 times per second.
- Usbutils use its own internal read buffer
- Calculate work utility for devices that support target diffs of greater than
1, and update scrypt code to use it.
- usbutils allow read termination match to be a string
- Set default GPU threads to 1 for scrypt.
- Connect backup stratum pools if the primary pool cannot deliver work.
- Use a new algorithm for choosing a thread concurrency when none or no shader
value is specified for scrypt.
- Do not round up the bufsize to the maximum allocable with scrypt.
- Remove the rounding-up of the scrypt padbuffer which was not effectual and
counter-productive on devices with lots of ram, limiting thread concurrencies
- bufsize is an unsigned integer, make it so for debug.
- Update the hashmeter once per second but only display the extra logs every
- add a dummy ztex to usbutils so cgminer -n lists ztex also
- nDevs required for -n with usb
- USB device list - convert some common error numbers to messages
- USB -n 'known' text only without ---usb-list-all
- USB modify -n and --usb-dump to only show known devices or use new
--usb-list-all option to see all
- Make pool adding while running asynchronous, using the pool test thread
- Only curl easy cleanup a stratum curl if it exists.
- Sacrifice the ram of curl handles in stratum disconnects when we have built
with old libcurl to avoid crashes.
- cgminer -n to include a USB device list
- usbutils allow call of usb_all() from other code
- Convert gbt_lock to a cg_lock.
- Add intermediate variants of cglocks that can be up or downgraded to read or
write locks and use them for stratum work generation.
- Move the stratum and GBT data to be protected under a new cg_lock data_lock.
- Convert the ch_lock to cg_lock.
- Convert the control_lock to a cg_lock.
- Remove unused qd_lock.
- Implement cg_lock write biased rwlocks.
- do usb_initialise() after the started message so we see it
- --usb-dump display brief dump if value = 0
- USB add --usb options to limit USB device selection v0.1