NEWS 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. - Display URL connected to and user logged in as in status.
  2. - Display current block and when it was started in the status line.
  3. - Only pthread_join the mining threads if they exist as determined by
  4. pthread_cancel and don't fail on pthread_cancel.
  5. - Create a unique work queue for all getworks instead of binding it to thread 0
  6. to avoid any conflict over thread 0's queue.
  7. - Clean up the code to make it clear it's watchdog thread being messaged to
  8. restart the threads.
  9. - Check the current block description hasn't been blanked pending the real
  10. new current block data.
  11. - Re-enable signal handlers once the signal has been received to make it
  12. possible to kill cgminer if it fails to shut down.
  13. - Disable restarting of CPU mining threads pending further investigation.
  14. - Update longpoll messages.
  15. - Add new block data to status line.
  16. - Fix opencl tests for osx.
  17. - Only do local generation of work if the work item is not stale itself.
  18. - Check for stale work within the mining threads and grab new work if
  19. positive.
  20. - Test for idle network conditions and prevent threads from being restarted
  21. by the watchdog thread under those circumstances.
  22. - Make sure that local work generation does not continue indefinitely by
  23. stopping it after 10 minutes.
  24. - Tweak the kernel to have a shorter path using a 4k buffer and a mask on the
  25. nonce value instead of a compare and loop for a shorter code path.
  26. - Allow queue of zero and make that default again now that we can track how
  27. work is being queued versus staged. This can decrease reject rates.
  28. - Queue precisely the number of mining threads as longpoll_staged after a
  29. new block to not generate local work.
  30. Version 1.2.6 - July 15, 2011
  31. - Put a current system status line beneath the total work status line
  32. - Fix a counting error that would prevent cgminer from correctly detecting
  33. situations where getwork was failing - this would cause stalls sometimes
  34. unrecoverably.
  35. - Limit the maximum number of requests that can be put into the queue which
  36. otherwise could get arbitrarily long during a network outage.
  37. - Only count getworks that are real queue requests.
  38. Version 1.2.5 - July 15, 2011
  39. - Conflicting -n options corrected
  40. - Setting an intensity with -I disables dynamic intensity setting
  41. - Removed option to manually disable dynamic intensity
  42. - Improve display output
  43. - Implement signal handler and attempt to clean up properly on exit
  44. - Only restart threads that are not stuck waiting on mandatory getworks
  45. - Compatibility changes courtesy of Ycros to build on mingw32 and osx
  46. - Explicitly grab first work item to prevent false positive hardware errors
  47. due to working on uninitialised work structs
  48. - Add option for non curses --text-only output
  49. - Ensure we connect at least once successfully before continuing to retry to
  50. connect in case url/login parameters were wrong
  51. - Print an executive summary when cgminer is terminated
  52. - Make sure to refresh the status window
  53. Versions -> 1.2.4
  54. - Con Kolivas - July 2011. New maintainership of code under cgminer name.
  55. - Massive rewrite to incorporate GPU mining.
  56. - Incorporate original oclminer c code.
  57. - Rewrite gpu mining code to efficient work loops.
  58. - Implement per-card detection and settings.
  59. - Implement vector code.
  60. - Implement bfi int patching.
  61. - Import poclbm and phatk ocl kernels and use according to hardware type.
  62. - Implement customised optimised versions of opencl kernels.
  63. - Implement binary kernel generation and loading.
  64. - Implement preemptive asynchronous threaded work gathering and pushing.
  65. - Implement variable length extra work queues.
  66. - Optimise workloads to be efficient miners instead of getting lots of extra
  67. work.
  68. - Implement total hash throughput counters, per-card accepted, rejected and
  69. hw error count.
  70. - Staging and watchdog threads to prevent fallover.
  71. - Stale and reject share guarding.
  72. - Autodetection of new blocks without longpoll.
  73. - Dynamic setting of intensity to maintain desktop interactivity.
  74. - Curses interface with generous statistics and information.
  75. - Local generation of work (xroll ntime) when detecting poor network
  76. connectivity.
  77. Version 1.0.2
  78. - Linux x86_64 optimisations - Con Kolivas
  79. - Optimise for x86_64 by default by using sse2_64 algo
  80. - Detects CPUs and sets number of threads accordingly
  81. - Uses CPU affinity for each thread where appropriate
  82. - Sets scheduling policy to lowest possible
  83. - Minor performance tweaks
  84. Version 1.0.1 - May 14, 2011
  85. - OSX support
  86. Version 1.0 - May 9, 2011
  87. - jansson 2.0 compatibility
  88. - correct off-by-one in date (month) display output
  89. - fix platform detection
  90. - improve yasm configure bits
  91. - support full URL, in X-Long-Polling header
  92. Version 0.8.1 - March 22, 2011
  93. - Make --user, --pass actually work
  94. - Add User-Agent HTTP header to requests, so that server operators may
  95. more easily identify the miner client.
  96. - Fix minor bug in example JSON config file
  97. Version 0.8 - March 21, 2011
  98. - Support long polling: http://deepbit.net/longpolling.php
  99. - Adjust max workload based on scantime (default 5 seconds,
  100. or 60 seconds for longpoll)
  101. - Standardize program output, and support syslog on Unix platforms
  102. - Suport --user/--pass options (and "user" and "pass" in config file),
  103. as an alternative to the current --userpass
  104. Version 0.7.2 - March 14, 2011
  105. - Add port of ufasoft's sse2 assembly implementation (Linux only)
  106. This is a substantial speed improvement on Intel CPUs.
  107. - Move all JSON-RPC I/O to separate thread. This reduces the
  108. number of HTTP connections from one-per-thread to one, reducing resource
  109. usage on upstream bitcoind / pool server.
  110. Version 0.7.1 - March 2, 2011
  111. - Add support for JSON-format configuration file. See example
  112. file example-cfg.json. Any long argument on the command line
  113. may be stored in the config file.
  114. - Timestamp each solution found
  115. - Improve sha256_4way performance. NOTE: This optimization makes
  116. the 'hash' debug-print output for sha256_way incorrect.
  117. - Use __builtin_expect() intrinsic as compiler micro-optimization
  118. - Build on Intel compiler
  119. - HTTP library now follows HTTP redirects
  120. Version 0.7 - February 12, 2011
  121. - Re-use CURL object, thereby reuseing DNS cache and HTTP connections
  122. - Use bswap_32, if compiler intrinsic is not available
  123. - Disable full target validation (as opposed to simply H==0) for now
  124. Version 0.6.1 - February 4, 2011
  125. - Fully validate "hash < target", rather than simply stopping our scan
  126. if the high 32 bits are 00000000.
  127. - Add --retry-pause, to set length of pause time between failure retries
  128. - Display proof-of-work hash and target, if -D (debug mode) enabled
  129. - Fix max-nonce auto-adjustment to actually work. This means if your
  130. scan takes longer than 5 seconds (--scantime), the miner will slowly
  131. reduce the number of hashes you work on, before fetching a new work unit.
  132. Version 0.6 - January 29, 2011
  133. - Fetch new work unit, if scanhash takes longer than 5 seconds (--scantime)
  134. - BeeCee1's sha256 4way optimizations
  135. - lfm's byte swap optimization (improves via, cryptopp)
  136. - Fix non-working short options -q, -r
  137. Version 0.5 - December 28, 2010
  138. - Exit program, when all threads have exited
  139. - Improve JSON-RPC failure diagnostics and resilience
  140. - Add --quiet option, to disable hashmeter output.
  141. Version 0.3.3 - December 27, 2010
  142. - Critical fix for sha256_cryptopp 'cryptopp_asm' algo
  143. Version 0.3.2 - December 23, 2010
  144. - Critical fix for sha256_via
  145. Version 0.3.1 - December 19, 2010
  146. - Critical fix for sha256_via
  147. - Retry JSON-RPC failures (see --retry, under "minerd --help" output)
  148. Version 0.3 - December 18, 2010
  149. - Add crypto++ 32bit assembly implementation
  150. - show version upon 'minerd --help'
  151. - work around gcc 4.5.x bug that killed 4way performance
  152. Version 0.2.2 - December 6, 2010
  153. - VIA padlock implementation works now
  154. - Minor build and runtime fixes
  155. Version 0.2.1 - November 29, 2010
  156. - avoid buffer overflow when submitting solutions
  157. - add Crypto++ sha256 implementation (C only, ASM elided for now)
  158. - minor internal optimizations and cleanups
  159. Version 0.2 - November 27, 2010
  160. - Add script for building a Windows installer
  161. - improve hash performance (hashmeter) statistics
  162. - add tcatm 4way sha256 implementation
  163. - Add experimental VIA Padlock sha256 implementation
  164. Version 0.1.2 - November 26, 2010
  165. - many small cleanups and micro-optimizations
  166. - build win32 exe using mingw
  167. - RPC URL, username/password become command line arguments
  168. - remove unused OpenSSL dependency
  169. Version 0.1.1 - November 24, 2010
  170. - Do not build sha256_generic module separately from cpuminer.
  171. Version 0.1 - November 24, 2010
  172. - Initial release.