- #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).
- #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).
- #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
randomx_boost.sh
. - #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 forargon2/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.
- #2104 Added pause-on-active config option and
--pause-on-active=N
command line option. - #2112 Added support for Tari merge mining.
- #2117 Fixed crash when GPU mining
cn-heavy
on Zen3 system.
- #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 to64-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
randomx_boost.sh
with new MSR mod. - Added
250K
and500K
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
.
- Added new command line options:
- #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.
- #1845 #1861 Fixed ARM build and added CMake option
WITH_SSE4_1
. - #1846 KawPow: fixed OpenCL memory leak.
- #1849 #1859 RandomX: optimized soft AES code.
- #1850 #1852 General code improvements.
- #1853 #1856 #1857 Fixed crash on old CPUs.
- #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 tolinux-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
inrandomx
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
incpu
object and command line option--astrobwt-avx2
.
- Added new config option
- #1596 Major TLS (Transport Layer Security) subsystem update.
- Added new TLS options, please check xmrig-proxy documentation for details.
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
.
- Added new option
- #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 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.
- #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 OpenLibSys.org).
- 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
inrandomx
object with command line equivalent--randomx-1gb-pages
. - Added automatic huge pages configuration on Linux if use the miner with root privileges.
- Added new option
- Added automatic Intel prefetchers configuration on Linux.
- Added new option
wrmsr
inrandomx
object with command line equivalent--randomx-wrmsr=6
.
- Added new option
- #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
.
- Added new CPU option
- #1363 Fixed wrong priority of main miner thread.
- #1351 RandomX optimizations and fixes.
- Improved RandomX performance (up to +6-7% on Intel CPUs, +2-3% on Ryzen CPUs)
- Added workaround for Intel JCC erratum bug see https://www.phoronix.com/scan.php?page=article&item=intel-jcc-microcode&num=1 for details.
- Note! Always disable "Hardware prefetcher" and "Adjacent cacheline prefetch" in BIOS for Intel CPUs to get the optimal RandomX performance.
- #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 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.