Browse Source

Update NEWS for BFGMiner

Luke Dashjr 13 years ago
parent
commit
18b5087b58
1 changed files with 85 additions and 51 deletions
  1. 85 51
      NEWS

+ 85 - 51
NEWS

@@ -3,36 +3,40 @@ BFGMiner Version 2.10.0 - Future
 - Include prctl header for thread renaming to work.
 - Include prctl header for thread renaming to work.
 - Set tv_idle time if a pool is not active when input from the menu.
 - Set tv_idle time if a pool is not active when input from the menu.
 - usb display message when device is in use/another cgminer
 - usb display message when device is in use/another cgminer
-- libztex: avoid the use of libusb_error_name()
 - minor unlikely zero pointer test
 - minor unlikely zero pointer test
 - BeaverCreek doesn't like BFI INT patching.
 - BeaverCreek doesn't like BFI INT patching.
 - Only stratum pools that are idle need to be kicked via cnx_needed.
 - Only stratum pools that are idle need to be kicked via cnx_needed.
-- mmq - abbreviate the temperature numbers
-- Do not do any setup if opt_api_listen is disabled in api.c.
 - usbutils.c uninitialised usbstat for non-primary mmqs
 - usbutils.c uninitialised usbstat for non-primary mmqs
+- Do not do any setup if opt_api_listen is disabled in api.c.
+- libztex: in case the selectFpga() failed set the selected fpga to unknown
 - Only set the lagging flag for select_pool() on failed getwork if we're not in
 - Only set the lagging flag for select_pool() on failed getwork if we're not in
 opt_fail_only mode.
 opt_fail_only mode.
-- libztex: in case the selectFpga() failed set the selected fpga to unknown
-- Modified windows-build.txt to update git instructions.
+- driver-ztex: support for broken fpga on a multifpga board
 - libztex: use a function for the twice called firmware reset code
 - libztex: use a function for the twice called firmware reset code
 - libztex: removed an unused struct member (ztex->valid)
 - libztex: removed an unused struct member (ztex->valid)
-- driver-ztex: support for broken fpga on a multifpga board
 - Set the pool lagging flag on startup to avoid it being shown initially, and
 - Set the pool lagging flag on startup to avoid it being shown initially, and
 only unset it once the maximum number of staged work items has been reached.
 only unset it once the maximum number of staged work items has been reached.
-- Avoid recursive locking of the stgd lock.
-- Return value of keep_sockalive is no longer used.
-- Remove dependency on mstcpip.h for windows build by making curl version >=
-7.25.0 mandatory on windows builds, and use curl functions for keepalive
-whenever possible instead.
+- libztex: Include compat.h for substitute libusb_error_name (on older libusb
+versions missing it)
+- Suppress warning about "succeeded" not being used in finish_req_in_progress
+for now
+- Bugfix: Always give the get_work thread a curl, regardless of other
+outstanding curls in use
+- Bugfix: Failover after even a single job-request failure (or else it takes
+too long on timeouts)
+- Bugfix: Need to remove and re-add curl easy handles from multi to start a new
+request
+- Access total_submitting under mutex lock to avoid any potential races, and
+increment it as soon as we queue the submission up
+- Just leave the submit_work thread running persistently
+- Bugfix: Restore work->pool after prepare_rpc_req since clean_work now clears
+it
+- Bugfix: Now that stage_work is trying to manipulate staged_work in the same
+thread, clone_available needs to stage it outside of its own lock
 - Make main() the getwork scheduler once everything is set up, so that all app
 - Make main() the getwork scheduler once everything is set up, so that all app
 exits use the kill_work and quit paths.
 exits use the kill_work and quit paths.
-- ztex: more style and whitespace fixes
-- libztex: silenced another warning
 - Set successful connect to true on auth stratum to allow summary on exit from
 - Set successful connect to true on auth stratum to allow summary on exit from
 single stratum pool.
 single stratum pool.
-- Only consider work stale for stratum of different job_id if it's not a share.
-- Increment version preempting changed version signifying different codebase to
-2.9
 - Hash_pop should signal further waiters on its own pthread conditional in case
 - Hash_pop should signal further waiters on its own pthread conditional in case
 there are multiple waiters.
 there are multiple waiters.
 - Check the job_id has not changed on stratum work when deciding if the work is
 - Check the job_id has not changed on stratum work when deciding if the work is
@@ -51,8 +55,14 @@ getworks requested or local work generated. Use a pthread conditional to wake up
 the thread whenever work is removed to generate enough work to stay above the
 the thread whenever work is removed to generate enough work to stay above the
 watermark set by opt_queue. Remove all remnants of the old queueing mechanism,
 watermark set by opt_queue. Remove all remnants of the old queueing mechanism,
 deleting the now defunct queued count.
 deleting the now defunct queued count.
+- Bugfix: Clean up share hashing and target checks, fixing share difficulty
+calculation for above-target would-be-shares
+- Use templates from pool_active and longpolls without fetching more
+unnecessarily
+- Try to avoid requesting GBT jobs when there is already a request in progress
+that will likely provide sufficient work
+- Reuse most recent GBT job if in get_work_thread if it isn't stale
 - libztex: fixed some warnings and removed some whitespaces
 - libztex: fixed some warnings and removed some whitespaces
-- libztex: silenced some warnings
 - Remove all references to the now unused workio_cmd structure.
 - Remove all references to the now unused workio_cmd structure.
 - Remove the old workio command queue thread, replacing it with a kill
 - Remove the old workio command queue thread, replacing it with a kill
 conditional to exit the program.
 conditional to exit the program.
@@ -60,60 +70,60 @@ conditional to exit the program.
 queue_request.
 queue_request.
 - Begin tearing down the old workio command queues by removing submit commands
 - Begin tearing down the old workio command queues by removing submit commands
 from there and submit them asynchronously via their own threads.
 from there and submit them asynchronously via their own threads.
-- Update windows build instructions.
-- Set pool probed to true on successful authorisation with stratum to avoid it
-being pinged later with pool_getswork.
 - driver-ztex: libztex_setFreq() must be called before ztex_releaseFpga()
 - driver-ztex: libztex_setFreq() must be called before ztex_releaseFpga()
 - driver-ztex: changed two pairs of malloc()/memset() to calloc()
 - driver-ztex: changed two pairs of malloc()/memset() to calloc()
 - libztex: Read bitstream file in 2kb blocks with simpler and faster code
 - libztex: Read bitstream file in 2kb blocks with simpler and faster code
 - Added the binary versions of ztex_ufm1_15d4.ihx and ztex_ufm1_15y1.ihx
 - Added the binary versions of ztex_ufm1_15d4.ihx and ztex_ufm1_15y1.ihx
-- Trivial space removal.
 - libztex: Add firmware download support for ZTEX 1.15d and 1.15x
 - libztex: Add firmware download support for ZTEX 1.15d and 1.15x
 - libztex: Factor out local version of libusb_get_string_descriptor_ascii()
 - libztex: Factor out local version of libusb_get_string_descriptor_ascii()
-- Shut up some boring old cpu warnings.
-- Style changes.
-- Allow pool active to be called on stratum or disabled pools in the watchpool
-thread if the pool has not been probed.
 - libztex: Make log messages say bitstream when refering to bitstreams
 - libztex: Make log messages say bitstream when refering to bitstreams
 - libztex: Don't return error when a bitstream was already configured
 - libztex: Don't return error when a bitstream was already configured
 - libztex: Read bitstream file in 64kb blocks with simpler and faster code
 - libztex: Read bitstream file in 64kb blocks with simpler and faster code
 - libztex: Verify that the mining firmware is not a dummy firmware
 - libztex: Verify that the mining firmware is not a dummy firmware
 - libztex: Match mining firmware ZTEX descriptor against the dummy firmware
 - libztex: Match mining firmware ZTEX descriptor against the dummy firmware
-- Combine shared padding into one char.
 - libztex: Start download sequence only after reading in the new firmware
 - libztex: Start download sequence only after reading in the new firmware
 - libztex: Download mining firmware to all devices with dummy firmware
 - libztex: Download mining firmware to all devices with dummy firmware
+- Update windows build instructions.
+- Set pool probed to true on successful authorisation with stratum to avoid it
+being pinged later.
+- Style changes.
+- Allow pool active to be called on stratum or disabled pools in the watchpool
+thread if the pool has not been probed.
 - lock (most of) the threaded statistics updates
 - lock (most of) the threaded statistics updates
 - README stats don't add up
 - README stats don't add up
+- Rearrange summary lines and include count of active submissions in progress
+- Increase FD_SETSIZE to 4096 on Windows
+- Defer submissions instead of blocking in pop_curl_entry
+- Run a single share submission thread asynchronously submitting all shares in
+parallel
+- Handle share submissions asynchronously, one at a time (still threaded)
+- Split up json_rpc_call so it can be used asynchronously in libcurl-multi
+- Split submit_upstream_work into _request and _completed stages, pulling out
+json_rpc_call
+- Bugfix: Adjust USB_* variables to new LIBUSB_* names
+- Bugfix: Use AC_PROG_CPP in libusb include subdirectory detection for improved
+portability
+- Bugfix: Avoid double-free due to realloc_strcat moving memory around
+- Bugfix: Free input memory after prioritising pools in TUI
+- Bugfix: Free filename entry for writing config file when done with it
+- Bugfix: Free input memory after prioritising pools in TUI
+- Bugfix: Free filename entry for writing config file when done with it
+- Bugfix: Stratum connections might be needed for share submissions up to a
+minute after the last time they are used to generate work
+- Bugfix: Clean work before trying to generate new stratum work on top of it
+- Bugfix: Free stratum nonce1 before replacing it with new value on reconnect
+- Bugfix: modminer: Get rid of useless usbutils include
 - usbutils.c remove compiler warning
 - usbutils.c remove compiler warning
 - Make need connection return true if a pool is idle.
 - Make need connection return true if a pool is idle.
-- API add Best Share to summary
-- Check on creating new GBT work if the structures are up to date and update
-them as required rather than regularly.
-- Update windows build instructions.
-- Enable backup stratum connections for getwork when the primary pool doesn't
-have longpoll aka solo mining.
-- Check for correct absence of opt_fail_only in cnx_needed.
-- Remove unused variable.
-- The specification for stratum has been elaborated to say that a changed diff
-applies only to new work so do not retarget when submitting shares.
-- Use a variable length string array in submit_upstream_work to cope with
-massive GBT submissions.
-- API lock access to some summary statistics (and copy them)
-- Suspend stratum connections to backup pools when there is no requirement to
-potentially grab work from them.
-- Fix missing export for RenameThread.
-- enumerate the mining threadnames
-- MMQ avoid possible number overrun crashes
-- mmq usb v0.4 + api usb stats
-- setting the name of the threads for linux,freebsd,openbsd and osx code is
-borrowed from bitcoins util.c, so it is already tested
-- Don't show broken WU value with scrypt mining.
-- Style police.
-- Remove unused getwork times in getswork.
-- Fix readme wordwrap.
 - New --skip-security-checks option to allow miners to skip checks when it
 - New --skip-security-checks option to allow miners to skip checks when it
 saves bandwidth
 saves bandwidth
 - Skip stratum transaction download when there are no transactions
 - Skip stratum transaction download when there are no transactions
+- Count template number, and append it to the coinbase of templates without any
+cbtxn
+- Bugfix: bitforce: Always increment global hw error counter when incrementing
+device hwe
+- Bugfix: Capitalize "MHz" correctly
+- Bugfix: Correct order of printf-style arguments in cbappend fail
 - API add Best Share to summary
 - API add Best Share to summary
 - API lock access to some summary statistics (and copy them)
 - API lock access to some summary statistics (and copy them)
 - Update windows build instructions.
 - Update windows build instructions.
@@ -127,6 +137,9 @@ applies only to new work so do not retarget when submitting shares.
 potentially grab work from them.
 potentially grab work from them.
 - Rename rename_thr to RenameThread to match cgminer
 - Rename rename_thr to RenameThread to match cgminer
 - modminer: Adopt symbolic command names from kanoi
 - modminer: Adopt symbolic command names from kanoi
+- ztex: Correctly release mutex and reset FPGA if configuration fails
+- ztex: Harmonize low-speed FPGA configuration code with high-speed code
+- libztex: Silence warning: comparison between signed and unsigned
 - Make gen_stratum_work more robust by using a dynamically allocated array for
 - Make gen_stratum_work more robust by using a dynamically allocated array for
 the header in case bogus data is sent by the pool to avoid overflowing a static
 the header in case bogus data is sent by the pool to avoid overflowing a static
 array.
 array.
@@ -137,8 +150,17 @@ truncating irrelevant zeroes from displayed hash.
 needed later on.
 needed later on.
 - Revert "Handle crash exceptions by trying to restart cgminer unless the
 - Revert "Handle crash exceptions by trying to restart cgminer unless the
 --no-restart option is used."
 --no-restart option is used."
+- Count longpoll decodes as queued work since the count otherwise remains
+static.
 - Provide helper function realloc_strcat to extend arbitrary length arrays
 - Provide helper function realloc_strcat to extend arbitrary length arrays
 based on string length.
 based on string length.
+- Look for libusb_init in -lusb, since FreeBSD has it there
+- Bugfix: Use pkgconfig for libusb when available, and try to guess the include
+path if not
+- Bugfix: Assign header-based rolltime before decoding work, so GBT expires
+overrides it properly
+- Bugfix: FPGA-README: Correct idVendor in example MMQ udev rule
+- fixes target calc for mips openwrt
 - Use base_work for comparison just for cleanness in __copy_work
 - Use base_work for comparison just for cleanness in __copy_work
 - Remove all static work structs, using the make and free functions.
 - Remove all static work structs, using the make and free functions.
 - Add pool no. to stale share detected message.
 - Add pool no. to stale share detected message.
@@ -147,19 +169,31 @@ based on string length.
 - Get rid of unused last_work in opencl thread data.
 - Get rid of unused last_work in opencl thread data.
 - Do away with the flaky free_work api in the driver code which would often lose
 - Do away with the flaky free_work api in the driver code which would often lose
 the work data in opencl and simply flush it before exiting the opencl scanhash.
 the work data in opencl and simply flush it before exiting the opencl scanhash.
+- Bugfix: clear_work: Whether the template is in fact being freed or not, the
+work reference to it needs to be
 - Minor work handling restructure, including moving some stratum data from
 - Minor work handling restructure, including moving some stratum data from
 fixed-size buffers to their own heap allocations.
 fixed-size buffers to their own heap allocations.
+- libztex: Work around ZTEX USB firmware bug exposed by the FreeBSD libusb
+- README: Document solo mining usage
+- README: Update dependencies
+- Bugfix: We should never roll stale work
+- Ubuntu: Removing erroneous libssl dep again. GITHUB#94
 - opencl: Use new dev_error function for REASON_DEV_NOSTART
 - opencl: Use new dev_error function for REASON_DEV_NOSTART
+- Bugfix: Clear out stratum share work before freeing it
 - Provide rudimentary support for the balancing failover strategies with stratum
 - Provide rudimentary support for the balancing failover strategies with stratum
 and GBT by switching pools silently on getwork requests.
 and GBT by switching pools silently on getwork requests.
 - Convert remaining modminer and bfl uses of usleep to nmsleep.
 - Convert remaining modminer and bfl uses of usleep to nmsleep.
 - Convert libztex to nmsleep where possible.
 - Convert libztex to nmsleep where possible.
 - Convert unreliable usleep calls to nmsleep calls in ztex driver.
 - Convert unreliable usleep calls to nmsleep calls in ztex driver.
+- Provide rudimentary support for literal ipv6 addresses when parsing stratum
+URLs.
 - Tidy up device error counts
 - Tidy up device error counts
 - Only increase gpu engine speed by a larger step if the temperature is below
 - Only increase gpu engine speed by a larger step if the temperature is below
 hysteresis instead of increasing it to max speed.
 hysteresis instead of increasing it to max speed.
 - Convert pool not responding and pool alive message on backup pools to verbose
 - Convert pool not responding and pool alive message on backup pools to verbose
 level only since they mean a single failed getwork.
 level only since they mean a single failed getwork.
+- Do not attempt to remove the stratum share hash after unsuccessful submission
+since it may already be removed by clear_stratum_shares.
 - Use stratum block change from backup pools as an alternative to longpoll for
 - Use stratum block change from backup pools as an alternative to longpoll for
 pools that don't support LP.
 pools that don't support LP.
 - Round some more static string arrays to 4 byte boundaries.
 - Round some more static string arrays to 4 byte boundaries.