xmrig/CHANGELOG.md
XMRig 89cf1424a4
v6.9.0
v6.8.3

Added `pause-on-active` option

Windows only for now. When set to true, pauses mining when user touches mouse or keyboard.

Allow result submission to origin daemon with self-select

With `self-select` mode enabled, the `submit-to-origin` config option
will let the `SelfSelectClient` submit the solution to both
the daemon where it got the template from as well as to
the connected pool, for miners that want to do pool minining
with Monero and solo mining with an altcoin (merged mining variant).

Thank you and special credit to @StriderDM (https://github.com/StriderDM)!

Code and copyright cleanup.

Fixed macOS build.

v6.9.0

Fixed crash when GPU mining cn-heavy on Zen3 system

Simplified code, fixed broken pause.

Added idle time detection for macOS.

v6.9.0-dev

Update CPU.md

v6.9.0
2021-02-22 19:27:17 -05:00

26 KiB

v6.9.0

v6.8.2

  • #2080 Fixed compile error in Termux.
  • #2089 Optimized CryptoNight-Heavy for Zen3, 7-8% speedup.

v6.8.1

  • #2064 Added documentation for config.json CPU options.
  • #2066 Fixed AMD GPUs health data readings on Linux.
  • #2067 Fixed compilation error when RandomX and Argon2 are disabled.
  • #2076 Added support for flexible huge page sizes on Linux.
  • #2077 Fixed illegal instruction crash on ARM.

v6.8.0

  • #2052 Added DMI/SMBIOS reader.
    • Added information about memory modules on the miner startup and for online benchmark.
    • Added new HTTP API endpoint: GET /2/dmi.
    • Added new command line option --no-dmi or config option "dmi".
    • Added new CMake option -DWITH_DMI=OFF.
  • #2057 Improved MSR subsystem code quality.
  • #2058 RandomX JIT x86: removed unnecessary instructions.

v6.7.2

  • #2039 Fixed solo mining.

v6.7.1

  • #1995 Fixed log initialization.
  • #1998 Added hashrate in the benchmark finished message.
  • #2009 AstroBWT OpenCL fixes.
  • #2028 RandomX x86 JIT: removed redundant CFROUND.

v6.7.0

  • #1991 Added Apple M1 processor support.
  • #1986 Up to 20-30% faster RandomX dataset initialization with AVX2 on some CPUs.
  • #1964 Cleanup and refactoring.
  • #1966 Removed libcpuid support.
  • #1968 Added virtual machine detection.
  • #1969 #1970 Fixed errors found by static analysis.
  • #1977 Fixed: secure JIT and huge pages are incompatible on Windows.
  • #1979 Term x64 replaced to 64-bit.
  • #1980 Fixed build on gcc 11.
  • #1989 Fixed broken Dero solo mining.

v6.6.2

  • #1958 Added example mining scripts to help new miners.
  • #1959 Optimized JIT compiler.
  • #1960 Fixed RandomX init when switching to other algo and back.

v6.6.1

  • Fixed, benchmark validation on NUMA hardware produced incorrect results in some conditions.

v6.6.0

  • Online benchmark protocol upgraded to v2, validation not compatible with previous versions.
    • Single thread benchmark now is cheat-resistant, not possible speedup it with multiple threads.
    • RandomX dataset is now always initialized with static seed, to prevent time cheat by report slow dataset initialization.
    • Zero delay online submission, to make time validation much more precise and strict.
    • DNS cache for online benchmark to prevent unexpected delays.

v6.5.3

  • #1946 Fixed MSR mod names in JSON API (v6.5.2 affected).

v6.5.2

  • #1935 Separate MSR mod for Zen/Zen2 and Zen3.
  • #1937 Print path to existing WinRing0 service without verbose option.
  • #1939 Fixed build with gcc 4.8.
  • #1941 Added CPUID info to JSON report.
  • #1941 Fixed alignment modification in memory pool.
  • #1944 Updated randomx_boost.sh with new MSR mod.
  • Added 250K and 500K offline benchmarks.

v6.5.1

  • #1932 New MSR mod for Ryzen, up to +3.5% on Zen2 and +1-2% on Zen3.
  • #1918 Fixed 1GB huge pages support on ARMv8.
  • #1926 Fixed compilation on ARMv8 with GCC 9.3.0.
  • #1929 Fixed build without HTTP.

v6.5.0

  • Added online benchmark mode for sharing results.
    • Added new command line options: --submit, --verify=ID, --seed=SEED, --hash=HASH.
  • #1912 Fixed MSR kernel module warning with new Linux kernels.
  • #1925 Add checking for config files in user home directory.
  • Added vendor to ARM CPUs name and added "arch" field to API.
  • Removed legacy CUDA plugin API.

v6.4.0

  • #1862 RandomX: removed rx/loki algorithm.
  • #1890 Added argon2/chukwav2 algorithm.
  • #1895 #1897 Added benchmark and stress test.
  • #1864 RandomX: improved software AES performance.
  • #1870 RandomX: fixed unexpected resume due to disconnect during dataset init.
  • #1872 RandomX: fixed randomx_create_vm call.
  • #1875 RandomX: fixed crash on x86.
  • #1876 RandomX: added huge-pages-jit config parameter.
  • #1881 Fixed possible race condition in hashrate counting code.
  • #1882 #1886 #1887 #1893 General code improvements.
  • #1885 Added more precise hashrate calculation.
  • #1889 Fixed libuv performance issue on Linux.

v6.3.5

v6.3.4

  • #1823 RandomX: added new option scratchpad_prefetch_mode.
  • #1827 #1831 Improved nonce iteration performance.
  • #1828 RandomX: added SSE4.1-optimized Blake2b.
  • #1830 RandomX: added performance profiler (for developers).
  • #1835 RandomX: returned old soft AES implementation and added auto-select between the two.
  • #1840 RandomX: moved more stuff to compile time, small x86 JIT compiler speedup.
  • #1841 Fixed Cryptonight OpenCL for AMD 20.7.2 drivers.
  • #1842 RandomX: AES improvements, a bit faster hardware AES code when compiled with MSVC.
  • #1843 RandomX: improved performance of GCC compiled binaries.

v6.3.3

  • #1817 Fixed self-select login sequence.
  • Added brand new build from source documentation.
  • New binary downloads for macOS (macos-x64), FreeBSD (freebsd-static-x64), Linux (linux-static-x64), Ubuntu 18.04 (bionic-x64), Ubuntu 20.04 (focal-x64).
  • Generic Linux download xenial-x64 renamed to linux-x64.
  • Builds without SSL/TLS support are no longer provided.
  • Improved CUDA loader error reporting and fixed plugin load on Linux.
  • Fixed build warnings with Clang compiler.
  • Fixed colors on macOS.

v6.3.2

  • #1794 More robust 1 GB pages handling.
    • Don't allocate 1 GB per thread if 1 GB is the default huge page size.
    • Try to allocate scratchpad from dataset's 1 GB huge pages, if normal huge pages are not available.
    • Correctly initialize RandomX cache if 1 GB pages fail to allocate on a first NUMA node.
  • #1806 Fixed macOS battery detection.
  • #1809 Improved auto configuration on ARM CPUs.
    • Added retrieving ARM CPU names, based on lscpu code and database.

v6.3.1

  • #1786 Added pause-on-battery option, supported on Windows and Linux.
  • Added command line options --randomx-cache-qos and --argon2-impl.

v6.3.0

  • #1771 Adopted new SSE2NEON and reduced ARM-specific changes.
  • #1774 RandomX: Added new option cache_qos in randomx object for cache QoS support.
  • #1777 Added support for upcoming Haven offshore fork.
    • #1780 CryptoNight OpenCL: fix for long input data.

v6.2.3

  • #1745 AstroBWT: fixed OpenCL compilation on some systems.
  • #1749 KawPow: optimized CPU share verification.
  • #1752 RandomX: added error message when MSR mod fails.
  • #1754 Fixed GPU health readings for pre Vega GPUs on Linux.
  • #1756 Added results and connection reports.
  • #1759 KawPow: fixed DAG initialization on slower AMD GPUs.
  • #1763 KawPow: fixed rare duplicate share errors.
  • #1766 RandomX: small speedup on Ryzen CPUs.

v6.2.2

  • #1742 Fixed crash when use HTTP API.

v6.2.1

  • #1726 Fixed detection of AVX2/AVX512.
  • #1728 Fixed, 32 bit Windows builds was crash on start.
  • #1729 Fixed KawPow crash on old CPUs.
  • #1730 Improved displaying information for compute errors on GPUs.
  • #1732 Fixed NiceHash disconnects for KawPow.
  • Fixed AMD GPU health (temperatures/power/clocks/fans) readings on Linux.

v6.2.0-beta

  • #1717 Added new algorithm cn/ccx for Conceal.
  • #1718 Fixed, linker on Linux was marking entire executable as having an executable stack.
  • #1720 Fixed broken CryptoNight algorithms family with gcc 10.1.

v6.0.1-beta

  • #1708 Added title option.
  • #1711 [cuda] Print errors from KawPow DAG initialization.
  • #1713 [cuda] Reduced memory usage for KawPow, minimum CUDA plugin version now is 6.1.0.

v6.0.0-beta

  • #1694 Added support for KawPow algorithm (Ravencoin) on AMD/NVIDIA.
  • Removed previously deprecated cn/gpu algorithm.
  • Default donation level reduced to 1% but you still can increase it if you like.

v5.11.3

  • #1718 Fixed, linker on Linux was marking entire executable as having an executable stack.
  • #1720 Fixed broken CryptoNight algorithms family with gcc 10.1.

v5.11.2

  • #1664 Improved JSON config error reporting.
  • #1668 Optimized RandomX dataset initialization.
  • #1675 Fixed cross-compiling on Linux.
  • Fixed memory leak in HTTP client.
  • Build dependencies updated to recent versions.
  • Compiler for Windows gcc builds updated to v10.1.

v5.11.1

  • #1652 Up to 1% RandomX perfomance improvement on recent AMD CPUs.
  • #1306 Fixed possible double connection to a pool.
  • #1654 Fixed build with LibreSSL.

v5.11.0

  • #1632 Added AstroBWT CUDA support (CUDA plugin v3.0.0 or newer required).
  • #1605 Fixed AstroBWT OpenCL for NVIDIA GPUs.
  • #1635 Added pooled memory allocation of RandomX VMs (+0.5% speedup on Zen2).
  • #1641 RandomX JIT refactoring, smaller memory footprint and a bit faster overall.
  • #1643 Fixed build on CentOS 7.

v5.10.0

  • #1602 Added AMD GPUs support for AstroBWT algorithm.
  • #1590 MSR mod automatically deactivated after switching from RandomX algorithms.
  • #1592 Added AVX2 optimized code for AstroBWT algorithm.
    • Added new config option astrobwt-avx2 in cpu object and command line option --astrobwt-avx2.
  • #1596 Major TLS (Transport Layer Security) subsystem update.
  • cn/gpu algorithm now disabled by default and will be removed in next major (v6.x.x) release, no ETA for it right now.
  • Added command line option --data-dir.

v5.9.0

  • #1578 Added new RandomKEVA algorithm for upcoming Kevacoin fork, as "algo": "rx/keva" or "coin": "keva".
  • #1584 Fixed invalid AstroBWT hashes after algorithm switching.
  • #1585 Fixed build without HTTP support.
  • Added command line option --astrobwt-max-size.

v5.8.2

  • #1580 AstroBWT algorithm 20-50% speedup.
    • Added new option astrobwt-max-size.
  • #1581 Fixed macOS build.

v5.8.1

  • #1575 Fixed new block detection for DERO solo mining.

v5.8.0

  • #1573 Added new AstroBWT algorithm for upcoming DERO fork, as "algo": "astrobwt" or "coin": "dero".

v5.7.0

  • Added SOCKS5 proxies support for Tor https://xmrig.com/docs/miner/tor.
  • #377 Fixed duplicate jobs in daemon (solo) mining client.
  • #1560 RandomX 0.3-0.4% speedup depending on CPU.
  • Fixed possible crashes in HTTP client.

v5.6.0

  • #1536 Added workaround for new AMD GPU drivers.
  • #1546 Fixed generic OpenCL code for AMD Navi GPUs.
  • #1551 Added RandomX JIT for AMD Navi GPUs.
  • Added health information for AMD GPUs (clocks/power/fan/temperature) via ADL (Windows) and sysfs (Linux).
  • Fixed possible nicehash nonce overflow in some conditions.
  • Fixed wrong OpenCL platform on macOS, option platform now ignored on this OS.

v5.5.3

  • #1529 Fixed crash on Bulldozer CPUs.

v5.5.2

  • #1500 Removed unnecessary code from RandomX JIT compiler.
  • #1502 Optimizations for AMD Bulldozer.
  • #1508 Added support for BMI2 instructions.
  • #1510 Optimized CFROUND instruction for RandomX.
  • #1520 Fixed thread affinity.

v5.5.1

  • #1469 Fixed build with gcc 4.8.
  • #1473 Added RandomX auto-config for mobile Ryzen APUs.
  • #1477 Fixed build with Clang.
  • #1489 RandomX JIT compiler tweaks.
  • #1493 Default value for Intel MSR preset changed to 15.
  • Fixed unwanted resume after RandomX dataset change.

v5.5.0

  • #179 Added support for environment variables in config file.
  • #1445 Removed rx/v algorithm.
  • #1453 Fixed crash on 32bit systems.
  • #1459 Fixed crash on very low memory systems.
  • #1465 Added fix for 1st-gen Ryzen crashes.
  • #1466 Added cn-pico/tlo algorithm.
  • Added --randomx-no-rdmsr command line option.
  • Added console title for Windows with miner name and version.
  • On Windows priority option now also change base priority.

v5.4.0

  • #1434 Added RandomSFX (rx/sfx) algorithm for Safex Cash.
  • #1445 Added RandomV (rx/v) algorithm for new MoneroV.
  • #1419 Added reverting MSR changes on miner exit, use "rdmsr": false, in "randomx" object to disable this feature.
  • #1423 Fixed conflicts with exists WinRing0 driver service.
  • #1425 Fixed crash on first generation Zen CPUs (MSR mod accidentally enable Opcache), additionally now you can disable Opcache and enable MSR mod via config "wrmsr": ["0xc0011020:0x0", "0xc0011021:0x60", "0xc0011022:0x510000", "0xc001102b:0x1808cc16"],.
  • Added advanced usage for wrmsr option, for example: "wrmsr": ["0x1a4:0x6"], (Intel) and "wrmsr": ["0xc0011020:0x0", "0xc0011021:0x40:0xffffffffffffffdf", "0xc0011022:0x510000", "0xc001102b:0x1808cc16"], (Ryzen).
  • Added new config option "verbose" and command line option --verbose.

v5.3.0

  • #1414 Added native MSR support for Windows, by using signed WinRing0 driver (© 2007-2009 OpenLibSys.org).
  • Added new MSR documentation.
  • #1418 Increased stratum send buffer size.

v5.2.1

  • #1408 Added RandomX boost script for Linux (if you don't like run miner with root privileges).
  • Added support for AMD Ryzen MSR registers (Linux only).
  • Fixed command line option --randomx-wrmsr option without parameters.

v5.2.0

  • #1388 Added 1GB huge pages support for Linux.
    • Added new option 1gb-pages in randomx object with command line equivalent --randomx-1gb-pages.
    • Added automatic huge pages configuration on Linux if use the miner with root privileges.
  • Added automatic Intel prefetchers configuration on Linux.
    • Added new option wrmsr in randomx object with command line equivalent --randomx-wrmsr=6.
  • #1396 #1401 New performance optimizations for Ryzen CPUs.
  • #1385 Added max-threads-hint option support for RandomX dataset initialization threads.
  • #1386 Added priority option support for RandomX dataset initialization threads.
  • For official builds all dependencies (libuv, hwloc, openssl) updated to recent versions.
  • Windows msvc builds now use Visual Studio 2019 instead of 2017.

v5.1.1

  • #1365 Fixed various system response/stability issues.
    • Added new CPU option yield and command line equivalent --cpu-no-yield.
  • #1363 Fixed wrong priority of main miner thread.

v5.1.0

  • #1351 RandomX optimizations and fixes.
  • #1307 Fixed mining resume after donation round for pools with self-select feature.
  • #1318 Added option "mode" (or --randomx-mode) for RandomX.
    • Added memory information on miner startup.
    • Added resources field to summary API with memory information and load average.

v5.0.1

  • #1234 Fixed compatibility with some AMD GPUs.
  • #1284 Fixed build without RandomX.
  • #1285 Added command line options --cuda-bfactor-hint and --cuda-bsleep-hint.
  • #1290 Fixed 32-bit ARM compilation.

v5.0.0

This version is first stable unified 3 in 1 GPU+CPU release, OpenCL support built in in miner and not require additional external dependencies on compile time, NVIDIA CUDA available as external CUDA plugin, for convenient, 3 in 1 downloads with recent CUDA version also provided.

This release based on 4.x.x series and include all features from v4.6.2-beta, changelog below include only the most important changes, full changelog available separately.

  • #1272 Optimized hashrate calculation.
  • #1263 Added new option dataset_host for NVIDIA GPUs with less than 4 GB memory (RandomX only).
  • #1068 Added support for self-select stratum protocol extension.
  • #1227 Added new algorithm rx/arq, RandomX variant for upcoming ArQmA fork.
  • #808 Added experimental support for persistent memory for CPU mining threads.
  • #1221 Improved RandomX dataset memory usage and initialization speed for NUMA machines.
  • #1175 Fixed support for systems where total count of NUMA nodes not equal usable nodes count.
  • Added config option cpu/max-threads-hint and command line option --cpu-max-threads-hint.
  • #1185 Added JIT compiler for RandomX on ARMv8.
  • Improved API endpoint GET /2/backends and added support for this endpoint to workers.xmrig.info.
  • Added command line option --no-cpu to disable CPU backend.
  • Added OpenCL specific command line options: --opencl, --opencl-devices, --opencl-platform, --opencl-loader and --opencl-no-cache.
  • Added CUDA specific command line options: --cuda, --cuda-loader and --no-nvml.
  • Removed command line option --http-enabled, HTTP API enabled automatically if any other --http-* option provided.
  • #1172 Added OpenCL mining backend.
  • Algorithm cn/wow removed, as no longer alive.

Previous versions

doc/CHANGELOG_OLD.md