1.0.1 — 2023-04-03
1.0.0 — 2022-08-25
- Removed: Deprecated function
ethash_verify()
has been removed. Useethash_verify_against_boundary()
. #226
0.9.0 — 2022-04-05
- Added: The constant
ETHASH_MAX_EPOCH_NUMBER = 32639
representing the maximum supported Ethash epoch. #212 - Removed: Previously deprecated ProgPoW implementation. #207 #209 #210
- Removed: Support for using custom hash function for light cache generation. #213
- Removed: The internal header builtins.h. #208
0.8.0 — 2021-11-09
- Added: The new set of functions which verify Ethash hashes against difficulty
has been added to the library:
verify_against_difficulty()
andverify_final_hash_against_difficulty()
. These functions improve usability by omitting previously required difficulty to boundary conversion. The old verification function is still available under theverify_against_boundary()
name but its usage is discouraged. #195 - Added: The dedicated procedure to convert difficulty to boundary
ethash_difficulty_to_boundary()
has been added to the testing infrastructure but can be promoted to the public API if requested. #191 - Deprecated:
verify()
has been deprecated and replaced withverify_against_boundary()
. #193 - Deprecated:
verify_final_hash()
has been replaced byverify_final_hash_against_difficulty()
. #200 - Deprecated: The ProgPoW support has been deprecated and will be removed in the next release. #201
- Changed: The internal hash type comparison operators have been
optimized and the dependency on the
memcmp()
function has been dropped. #186 - Changed: Verification functions now return error codes instead of
bool
with additional information about which verification check has failed. #187- In C API error codes are represented by the
ethash_errc
enum, - In C++ the error codes are wrapped into
std::error_code
.
- In C API error codes are represented by the
- Changed: Some build requirements have been increased.
0.7.1 — 2021-08-26
- Added: Support for building with clang-cl (LLVM-based toolchain for Visual Studio 2019). #179 #180 #182 #183 #184
0.7.0 — 2021-05-26
- Changed: The global context API (aka "managed" API) has been moved to
separate library
ethash::global-context
andethash/global_context.hpp
header. #175 - Added: CMake options to disable building of individual libraries:
-DETHASH_BUILD_GLOBAL_CONTEXT=NO
disables buildingethash::global-context
.-DETHASH_BUILD_ETHASH=NO
disables buildingethash::ethash
andethash::global-context
. Onlyethash::keccak
is built then.
- Added: Basic support for building to WebAssembly #175
0.6.0 — 2020-12-15
- Added: The ethash::keccak library received the optimized Keccak implementation which uses BMI and BMI2 x86_64 extensions. This implementation is automatically selected at startup provided the used extensions are available in the hardware. #162 #168
0.5.2 — 2020-08-03
- Fixed: Fix compilation with MSVC/C++17. #154
0.5.1 — 2020-01-30
- Added: Experimental Python bindings — ethash package. #123 #138
- Added: More functions exposed in C API. #136
- Changed: ProgPoW implementation updated to revision 0.9.3. #151
0.5.0 — 2019-06-07
- Changed: The Keccak implementation has been moved to separate library "keccak", available as ethash::keccak target in the ethash CMake package. #131
0.4.4 — 2019-02-26
- Fixed: Fix compilation on PowerPC architectures (-mtune=generic not supported there). #125
0.4.3 — 2019-02-19
- Added:
The public
version.h
header with information about the ethash library version. #121 - Added:
Ethash and ProgPoW revisions exposed as
{ethash,progpow}::revision
constants. #121
0.4.2 — 2019-01-24
- Fixed: The
progpow.cpp
file encoding changed from utf-8 to ascii.
0.4.1 — 2018-12-14
- Added: [KISS99 PRNG](https://en.wikipedia.org/wiki/KISS_(algorithm) distribution tester tool.
- Changed: ProgPoW implementation updated to revision 0.9.2.
- Changed: ProgPoW implementation optimizations.