Change file modes.
Keep the unique id of each work item across copy_work to prevent multiple work items having the same id.
Make the numbuf larger to accept larger scrypt parameters.
Store session id for stratum if the pool supports it for future mining.resume support.
Add timestamps to stratum_share structs as they're generated and copy the stratum sessionid if it exists to stratum work generated.
Unlock the sshare_lock in submit_work_thread when all references to work and sshare are complete.
Remove last reference to struct work used outside the sshare_lock in submit_work_thread
Do as much outside of mutex locking of sshare_lock as possible.
Try resubmitting stratum shares every 5 seconds for up to 2 minutes if the pool session id exists and matches on failure to submit.
Only clear stratum shares mandatorily on stratum dropouts when the pool does not support resume.
Free sessionid in clean_work and remove redundant setting of strings to NULL since the whole work struct is zeroed.
Abstract out the setting up of the stratum curl socket.
Provide basic framework for restarting stratum depending on whether resume support exists or not.
Provide support for mining.resume with stratum, currently re-authorising after successful resumption pending finalising of the protocol process.
Only continue submitting shares with mining.resume support on stratum when the session id matches.
Fix tv_lastupdate being made into tv_end and update the hashmeter on cycle, not opt_log_interval.
Bugfix: Duplicate stratum sessionid when copying work, to avoid double-free
Bugfix: Missing pool_no parameter to applog for no-stratum-sessionid debug message
Move to storing the nonce1 in the work struct instead of the sessionid for the now defunct first draft mining.resume protocol.
Use the sessionid as passed on stratum connect to attempt to resume a connection once and then clear it if it fails, to use a new connection.