Skip to content
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
Latest commit c388113 Oct 23, 2022 History
2 contributors

Users who have contributed to this file

@xmrig @SChernykh


  • #3129 Fix: protectRX flushed CPU cache only on MacOS/iOS.
  • #3126 Don't reset when pool sends the same job blob.
  • #3120 RandomX: optimized CFROUND elimination.
  • #3109 RandomX: added Blake2 AVX2 version.
  • #3082 Fixed GCC 12 warnings.
  • #3075 Recognize armv7ve as valid ARMv7 target.
  • #3132 RandomX: added MSR mod for Zen 4.
  • #3134 Added Zen4 to


  • #3067 Monero v15 network upgrade support and more house keeping.
    • Removed deprecated AstroBWTv1 and v2.
    • Fixed debug GhostRider build.
    • Monero v15 network upgrade support.
    • Fixed ZMQ debug log.
    • Improved daemon ZMQ mining stability.
  • #3054 Fixes for 32-bit ARM.
  • #3042 Fixed being unable to resume from pause-on-battery.
  • #3031 Fixed --cpu-priority not working sometimes.
  • #3020 Removed old AstroBWT algorithm.


  • #2954 Dero HE fork support (astrobwt/v2 algorithm).
    • #2961 Dero HE (astrobwt/v2) CUDA config generator.
    • #2969 Dero HE (astrobwt/v2) OpenCL support.
  • Fixed displayed DMI memory information for empty slots.
  • #2932 Fixed GhostRider with hwloc disabled.


  • #2904 Fixed unaligned memory accesses.
  • #2908 Added MSVC/2022 to version.h.
  • #2910 Fixed donation for GhostRider/RTM.


  • #2778 Fixed READY threads X/X display after algorithm switching.
  • #2782 Updated GhostRider documentation.
  • #2815 Fixed cn-heavy in 32-bit builds.
  • #2827 GhostRider: set correct priority for helper threads.
  • #2837 RandomX: don't restart mining threads when the seed changes.
  • #2848 GhostRider: added support for client.reconnect method.
  • #2856 Fix for short responses from some Raptoreum pools.
  • #2873 Fixed GhostRider benchmark on single-core systems.
  • #2882 Fixed ARMv7 compilation.
  • #2893 KawPow OpenCL: use separate UV loop for building programs.


  • #2751 Fixed crash on CPUs supporting VAES and running GCC-compiled xmrig.
  • #2761 Fixed broken auto-tuning in GCC Windows build.
  • #2771 Fixed environment variables support for GhostRider and KawPow.
  • #2769 Performance fixes:
    • Fixed several performance bottlenecks introduced in v6.16.1.
    • Fixed overall GCC-compiled build performance, it's the same speed as MSVC build now.
    • Linux builds are up to 10% faster now compared to v6.16.0 GCC build.
    • Windows builds are up to 5% faster now compared to v6.16.0 MSVC build.


  • #2729 GhostRider fixes:
    • Added average hashrate display.
    • Fixed the number of threads shown at startup.
    • Fixed --threads or -t command line option (but --cpu-max-threads-hint is recommended to use).
  • #2738 GhostRider fixes:
    • Fixed "difficulty is not a number" error when diff is high on some pools.
    • Fixed GhostRider compilation when WITH_KAWPOW=OFF.
  • #2740 Added VAES support for Cryptonight variants +4% speedup on Zen3.
    • VAES instructions are available on Intel Ice Lake/AMD Zen3 and newer CPUs.
    • +4% speedup on Ryzen 5 5600X.


  • #2712 GhostRider algorithm (Raptoreum) support: read the RELEASE NOTES for quick start guide and performance comparisons.
  • #2682 Fixed: use cn-heavy optimization only for Vermeer CPUs.
  • #2684 MSR mod: fix for error 183.


  • #2614 OpenCL fixes for non-AMD platforms.
  • #2623 Fixed compiling without kawpow.
  • #2636 #2639 AstroBWT speedup (up to +35%).
  • #2646 Fixed MSVC compilation error.


  • #2606 Fixed: AstroBWT auto-config ignored max-threads-hint.
  • Fixed possible crash on Windows (regression in v6.15.1).


  • #2586 Fixed Windows 7 compatibility.
  • #2594 Added Windows taskbar icon colors.


  • #2548 Added automatic coin detection for daemon mining.
  • #2563 Added new algorithm RandomX Graft (rx/graft).
  • #2565 AstroBWT: added AVX2 Salsa20 implementation.
  • Added support for new CUDA plugin API (previous API still supported).


  • #2532 Refactoring: stable (persistent) algorithms IDs.
  • #2537 Fixed Termux build.


  • #2484 Added ZeroMQ support for solo mining.
  • #2476 Fixed crash in DMI memory reader.
  • #2492 Added missing --huge-pages-jit command line option.
  • #2512 Added show the number of transactions in pool job.


  • #2468 Fixed regression in previous version: don't send miner signature during regular mining.


  • #2445 Added support for solo mining with miner signatures for the upcoming Wownero fork.


  • #2280 GPU backends are now disabled in benchmark mode.
  • #2322 Improved MSR compatibility with recent Linux kernels and updated
  • #2340 Fixed AES detection on FreeBSD on ARM.
  • #2341 sse2neon updated to the latest version.
  • #2351 Fixed help output for --cpu-priority and --cpu-affinity option.
  • #2375 Fixed macOS CUDA backend default loader name.
  • #2378 Fixed broken light mode mining on x86.
  • #2379 Fixed CL code for KawPow where it assumes everything is AMD.
  • #2386 RandomX: enabled IMUL_RCP optimization for light mode mining.
  • #2393 RandomX: added BMI2 version for scratchpad prefetch.
  • #2395 RandomX: rewrote dataset read code.
  • #2398 RandomX: optimized ARMv8 dataset read.
  • Added argon2/ninja alias for argon2/wrkz algorithm.


  • #2296 Fixed Zen3 assembly code for cn/upx2 algorithm.


  • #2276 Added support for Uplexa (cn/upx2 algorithm).
  • #2261 Show total hashrate if compiled without OpenCL.
  • #2289 RandomX: optimized IMUL_RCP instruction.
  • Added support for --user command line option for online benchmark.


  • #2207 Fixed regression in HTTP parser and llhttp updated to v5.1.0.


  • #2239 Fixed broken coin setting functionality.


  • #2196 Improved DNS subsystem and added new DNS specific options.
  • #2172 Fixed build on Alpine 3.13.
  • #2177 Fixed ARM specific compilation error with GCC 10.2.
  • #2214 #2216 #2235 Optimized cn-heavy algorithm.
  • #2217 Fixed mining job creation sequence.
  • #2225 Fixed build without OpenCL support on some systems.
  • #2229 Don't use RandomX JIT if WITH_ASM=OFF.
  • #2228 Removed useless code for cryptonight algorithms.
  • #2234 Fixed build error on gcc 4.8.


  • #2122 Fixed pause logic when both pause on battery and user activity are enabled.
  • #2123 Fixed compatibility with gcc 4.8.
  • #2147 Fixed many new job messages when solo mining.
  • #2150 Updated sse2neon.h to the latest master, fixes build on ARMv7.
  • #2157 Fixed crash in cn-heavy on Zen3 with manual thread count.
  • Fixed possible out of order write to log file.
  • http-parser replaced to llhttp.
  • For official builds: libuv, hwloc and OpenSSL updated to latest versions.



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


  • #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.


  • #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.


  • #2039 Fixed solo mining.


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


  • #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.


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


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


  • 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.


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


  • #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 with new MSR mod.
  • Added 250K and 500K offline benchmarks.


  • #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.


  • 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.


  • #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.



  • #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.


  • #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.


  • #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.


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


  • #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.


  • #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.


  • #1742 Fixed crash when use HTTP API.


  • #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.


  • #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.


  • #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.


  • #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.


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


  • #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.


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


  • #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.


  • #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.


  • #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.


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


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


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


  • Added SOCKS5 proxies support for 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.


  • #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.


  • #1529 Fixed crash on Bulldozer CPUs.


  • #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.


  • #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.


  • #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.


  • #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.


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


  • #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.


  • #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.


  • #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.


  • #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.


  • #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.


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
  • 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