mirror of https://github.com/GOSTSec/sgminer
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
270 lines
10 KiB
270 lines
10 KiB
Version 1.3.0 - July 19, 2011 |
|
|
|
- Massive infrastructure update to support pool failover. |
|
- Accept multiple parameters for url, user and pass and set up structures of |
|
pool data accordingly. |
|
- Probe each pool for what it supports. |
|
- Implement per pool feature support according to rolltime support as |
|
advertised by server. |
|
- Do switching automatically based on a 300 second timeout of locally generated |
|
work or 60 seconds of no response from a server that doesn't support rolltime. |
|
- Implement longpoll server switching. |
|
- Keep per-pool data and display accordingly. |
|
- Make sure cgminer knows how long the pool has actually been out for before |
|
deeming it a prolonged outage. |
|
- Fix bug with ever increasing staged work in 1.2.8 that eventually caused |
|
infinite rejects. |
|
- Make warning about empty http requests not show by default since many |
|
servers do this regularly. |
|
|
|
|
|
Version 1.2.8 - July 18, 2011 |
|
|
|
- More OSX build fixes. |
|
- Add an sse4 algorithm to CPU mining. |
|
- Fix CPU mining with other algorithms not working. |
|
- Rename the poclbm file to ensure a new binary is built since. |
|
- We now are guaranteed to have one fresh work item after a block change and we |
|
should only discard staged requests. |
|
- Don't waste the work we retrieve from a longpoll. |
|
- Provide a control lock around global bools to avoid racing on them. |
|
- Iterating over 1026 nonces when confirming data from the GPU is old code |
|
and unnecessary and can lead to repeats/stales. |
|
- The poclbm kernel needs to be updated to work with the change to 4k sized |
|
output buffers. |
|
- longpoll seems to work either way with post or get but some servers prefer |
|
get so change to httpget. |
|
|
|
|
|
Version 1.2.7 - July 16, 2011 |
|
|
|
- Show last 8 characters of share submitted in log. |
|
- Display URL connected to and user logged in as in status. |
|
- Display current block and when it was started in the status line. |
|
- Only pthread_join the mining threads if they exist as determined by |
|
pthread_cancel and don't fail on pthread_cancel. |
|
- Create a unique work queue for all getworks instead of binding it to thread 0 |
|
to avoid any conflict over thread 0's queue. |
|
- Clean up the code to make it clear it's watchdog thread being messaged to |
|
restart the threads. |
|
- Check the current block description hasn't been blanked pending the real |
|
new current block data. |
|
- Re-enable signal handlers once the signal has been received to make it |
|
possible to kill cgminer if it fails to shut down. |
|
- Disable restarting of CPU mining threads pending further investigation. |
|
- Update longpoll messages. |
|
- Add new block data to status line. |
|
- Fix opencl tests for osx. |
|
- Only do local generation of work if the work item is not stale itself. |
|
- Check for stale work within the mining threads and grab new work if |
|
positive. |
|
- Test for idle network conditions and prevent threads from being restarted |
|
by the watchdog thread under those circumstances. |
|
- Make sure that local work generation does not continue indefinitely by |
|
stopping it after 10 minutes. |
|
- Tweak the kernel to have a shorter path using a 4k buffer and a mask on the |
|
nonce value instead of a compare and loop for a shorter code path. |
|
- Allow queue of zero and make that default again now that we can track how |
|
work is being queued versus staged. This can decrease reject rates. |
|
- Queue precisely the number of mining threads as longpoll_staged after a |
|
new block to not generate local work. |
|
|
|
|
|
Version 1.2.6 - July 15, 2011 |
|
|
|
- Put a current system status line beneath the total work status line |
|
- Fix a counting error that would prevent cgminer from correctly detecting |
|
situations where getwork was failing - this would cause stalls sometimes |
|
unrecoverably. |
|
- Limit the maximum number of requests that can be put into the queue which |
|
otherwise could get arbitrarily long during a network outage. |
|
- Only count getworks that are real queue requests. |
|
|
|
|
|
Version 1.2.5 - July 15, 2011 |
|
|
|
- Conflicting -n options corrected |
|
- Setting an intensity with -I disables dynamic intensity setting |
|
- Removed option to manually disable dynamic intensity |
|
- Improve display output |
|
- Implement signal handler and attempt to clean up properly on exit |
|
- Only restart threads that are not stuck waiting on mandatory getworks |
|
- Compatibility changes courtesy of Ycros to build on mingw32 and osx |
|
- Explicitly grab first work item to prevent false positive hardware errors |
|
due to working on uninitialised work structs |
|
- Add option for non curses --text-only output |
|
- Ensure we connect at least once successfully before continuing to retry to |
|
connect in case url/login parameters were wrong |
|
- Print an executive summary when cgminer is terminated |
|
- Make sure to refresh the status window |
|
|
|
Versions -> 1.2.4 |
|
|
|
- Con Kolivas - July 2011. New maintainership of code under cgminer name. |
|
- Massive rewrite to incorporate GPU mining. |
|
- Incorporate original oclminer c code. |
|
- Rewrite gpu mining code to efficient work loops. |
|
- Implement per-card detection and settings. |
|
- Implement vector code. |
|
- Implement bfi int patching. |
|
- Import poclbm and phatk ocl kernels and use according to hardware type. |
|
- Implement customised optimised versions of opencl kernels. |
|
- Implement binary kernel generation and loading. |
|
- Implement preemptive asynchronous threaded work gathering and pushing. |
|
- Implement variable length extra work queues. |
|
- Optimise workloads to be efficient miners instead of getting lots of extra |
|
work. |
|
- Implement total hash throughput counters, per-card accepted, rejected and |
|
hw error count. |
|
- Staging and watchdog threads to prevent fallover. |
|
- Stale and reject share guarding. |
|
- Autodetection of new blocks without longpoll. |
|
- Dynamic setting of intensity to maintain desktop interactivity. |
|
- Curses interface with generous statistics and information. |
|
- Local generation of work (xroll ntime) when detecting poor network |
|
connectivity. |
|
|
|
Version 1.0.2 |
|
|
|
- Linux x86_64 optimisations - Con Kolivas |
|
- Optimise for x86_64 by default by using sse2_64 algo |
|
- Detects CPUs and sets number of threads accordingly |
|
- Uses CPU affinity for each thread where appropriate |
|
- Sets scheduling policy to lowest possible |
|
- Minor performance tweaks |
|
|
|
Version 1.0.1 - May 14, 2011 |
|
|
|
- OSX support |
|
|
|
Version 1.0 - May 9, 2011 |
|
|
|
- jansson 2.0 compatibility |
|
- correct off-by-one in date (month) display output |
|
- fix platform detection |
|
- improve yasm configure bits |
|
- support full URL, in X-Long-Polling header |
|
|
|
Version 0.8.1 - March 22, 2011 |
|
|
|
- Make --user, --pass actually work |
|
|
|
- Add User-Agent HTTP header to requests, so that server operators may |
|
more easily identify the miner client. |
|
|
|
- Fix minor bug in example JSON config file |
|
|
|
Version 0.8 - March 21, 2011 |
|
|
|
- Support long polling: http://deepbit.net/longpolling.php |
|
|
|
- Adjust max workload based on scantime (default 5 seconds, |
|
or 60 seconds for longpoll) |
|
|
|
- Standardize program output, and support syslog on Unix platforms |
|
|
|
- Suport --user/--pass options (and "user" and "pass" in config file), |
|
as an alternative to the current --userpass |
|
|
|
Version 0.7.2 - March 14, 2011 |
|
|
|
- Add port of ufasoft's sse2 assembly implementation (Linux only) |
|
This is a substantial speed improvement on Intel CPUs. |
|
|
|
- Move all JSON-RPC I/O to separate thread. This reduces the |
|
number of HTTP connections from one-per-thread to one, reducing resource |
|
usage on upstream bitcoind / pool server. |
|
|
|
Version 0.7.1 - March 2, 2011 |
|
|
|
- Add support for JSON-format configuration file. See example |
|
file example-cfg.json. Any long argument on the command line |
|
may be stored in the config file. |
|
- Timestamp each solution found |
|
- Improve sha256_4way performance. NOTE: This optimization makes |
|
the 'hash' debug-print output for sha256_way incorrect. |
|
- Use __builtin_expect() intrinsic as compiler micro-optimization |
|
- Build on Intel compiler |
|
- HTTP library now follows HTTP redirects |
|
|
|
Version 0.7 - February 12, 2011 |
|
|
|
- Re-use CURL object, thereby reuseing DNS cache and HTTP connections |
|
- Use bswap_32, if compiler intrinsic is not available |
|
- Disable full target validation (as opposed to simply H==0) for now |
|
|
|
Version 0.6.1 - February 4, 2011 |
|
|
|
- Fully validate "hash < target", rather than simply stopping our scan |
|
if the high 32 bits are 00000000. |
|
- Add --retry-pause, to set length of pause time between failure retries |
|
- Display proof-of-work hash and target, if -D (debug mode) enabled |
|
- Fix max-nonce auto-adjustment to actually work. This means if your |
|
scan takes longer than 5 seconds (--scantime), the miner will slowly |
|
reduce the number of hashes you work on, before fetching a new work unit. |
|
|
|
Version 0.6 - January 29, 2011 |
|
|
|
- Fetch new work unit, if scanhash takes longer than 5 seconds (--scantime) |
|
- BeeCee1's sha256 4way optimizations |
|
- lfm's byte swap optimization (improves via, cryptopp) |
|
- Fix non-working short options -q, -r |
|
|
|
Version 0.5 - December 28, 2010 |
|
|
|
- Exit program, when all threads have exited |
|
- Improve JSON-RPC failure diagnostics and resilience |
|
- Add --quiet option, to disable hashmeter output. |
|
|
|
Version 0.3.3 - December 27, 2010 |
|
|
|
- Critical fix for sha256_cryptopp 'cryptopp_asm' algo |
|
|
|
Version 0.3.2 - December 23, 2010 |
|
|
|
- Critical fix for sha256_via |
|
|
|
Version 0.3.1 - December 19, 2010 |
|
|
|
- Critical fix for sha256_via |
|
- Retry JSON-RPC failures (see --retry, under "minerd --help" output) |
|
|
|
Version 0.3 - December 18, 2010 |
|
|
|
- Add crypto++ 32bit assembly implementation |
|
- show version upon 'minerd --help' |
|
- work around gcc 4.5.x bug that killed 4way performance |
|
|
|
Version 0.2.2 - December 6, 2010 |
|
|
|
- VIA padlock implementation works now |
|
- Minor build and runtime fixes |
|
|
|
Version 0.2.1 - November 29, 2010 |
|
|
|
- avoid buffer overflow when submitting solutions |
|
- add Crypto++ sha256 implementation (C only, ASM elided for now) |
|
- minor internal optimizations and cleanups |
|
|
|
Version 0.2 - November 27, 2010 |
|
|
|
- Add script for building a Windows installer |
|
- improve hash performance (hashmeter) statistics |
|
- add tcatm 4way sha256 implementation |
|
- Add experimental VIA Padlock sha256 implementation |
|
|
|
Version 0.1.2 - November 26, 2010 |
|
|
|
- many small cleanups and micro-optimizations |
|
- build win32 exe using mingw |
|
- RPC URL, username/password become command line arguments |
|
- remove unused OpenSSL dependency |
|
|
|
Version 0.1.1 - November 24, 2010 |
|
|
|
- Do not build sha256_generic module separately from cpuminer. |
|
|
|
Version 0.1 - November 24, 2010 |
|
|
|
- Initial release. |
|
|
|
|