diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4655cf34..48ec8acb 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,6 +16,13 @@
- Added new option `donate-over-proxy`.
- Added real graceful exit.
+# v2.14.4
+- [#992](https://github.com/xmrig/xmrig/pull/992) Fixed compilation with Clang 3.5.
+- [#1012](https://github.com/xmrig/xmrig/pull/1012) Fixed compilation with Clang 9.0.
+- In HTTP API for unknown hashrate now used `null` instead of `0.0`.
+- Fixed MSVC 2019 version detection.
+- Removed obsolete automatic variants.
+
# v2.14.1
* [#975](https://github.com/xmrig/xmrig/issues/975) Fixed crash on Linux if double thread mode used.
diff --git a/README.md b/README.md
index ee16862a..5b6dc7a0 100644
--- a/README.md
+++ b/README.md
@@ -13,7 +13,7 @@ Originally based on cpuminer-multi with heavy optimizations/rewrites and removin
* This is the **CPU-mining** version, there is also a [NVIDIA GPU version](https://github.com/xmrig/xmrig-nvidia) and [AMD GPU version]( https://github.com/xmrig/xmrig-amd).
* [Roadmap](https://github.com/xmrig/xmrig/issues/106) for next releases.
-
+
#### Table of contents
* [Features](#features)
diff --git a/src/base/net/stratum/Job.cpp b/src/base/net/stratum/Job.cpp
index 663818e2..1f1cd413 100644
--- a/src/base/net/stratum/Job.cpp
+++ b/src/base/net/stratum/Job.cpp
@@ -102,24 +102,6 @@ bool xmrig::Job::setBlob(const char *blob)
m_algorithm.setVariant(variant());
}
- if (!m_algorithm.isForced()) {
- if (m_algorithm.variant() == VARIANT_XTL && m_blob[0] >= 9) {
- m_algorithm.setVariant(VARIANT_HALF);
- }
- else if (m_algorithm.variant() == VARIANT_MSR && m_blob[0] >= 8) {
- m_algorithm.setVariant(VARIANT_HALF);
- }
- else if (m_algorithm.variant() == VARIANT_WOW && m_blob[0] < 11) {
- m_algorithm.setVariant(VARIANT_2);
- }
- else if (m_algorithm.variant() == VARIANT_RWZ && m_blob[0] < 12) {
- m_algorithm.setVariant(VARIANT_2);
- }
- else if (m_algorithm.variant() == VARIANT_ZLS && m_blob[0] < 8) {
- m_algorithm.setVariant(VARIANT_2);
- }
- }
-
# ifdef XMRIG_PROXY_PROJECT
memset(m_rawBlob, 0, sizeof(m_rawBlob));
memcpy(m_rawBlob, blob, m_size * 2);