Fulcrum 1.2.1
What's new:
This is mostly a maintenance release that updated the codebase to compile cleanly against Qt 5.15.x and to also work-around some bugs in Qt 5.15.x. If you intend to use Fulcrum with Qt 5.15.x, then you should upgrade since Qt 5.15.x introduced several bugs that versions of Fulcrum prior to this one cannot cope with.
This version of Fulcrum should work perfectly as before on all supported Qt versions (5.12.5 and above).
Note that the released precompiled binaries were all statically linked to Qt 5.14.2, so Qt's 5.15.x bugs only affected people that compiled their own Fulcrum against Qt 5.15.x, such as Arch Linux users.
Summary of changes:
- Made the codebase compatible with the Qt 5.15.x series (as before, it still is backward compatible with Qt 5.12.5 or above).
- Replaced the Qt JSON serializer and deserializer with our own custom code for parsing/writing JSON.
- The motivation for this is because Qt recently replaced their JSON backend in 5.15.x and it has regressions in terms of correctness as well as performance.
- In addition, our custom serializer now has much more generous limitations on data size and JSON nesting level than we had in previous releases, when we were using Qt's
QJsonDocument
for serialization/deserialization.
- Added some benchmarks and tests to the codebase (only accessible if compiling with
-DENABLE_TESTS
). - Various bits of refactoring and code cleanup.
Pre-compiled binaries for Linux
I have provided two pre-built binaries for Linux:
Fulcrum-1.2.1-x86_64-linux.tar.gz
, which is compiled on anUbuntu 18.04
system using Docker.Fulcrum-1.2.1-x86_64-linux-ub16.tar.gz
, which is compiled on a stockUbuntu 16.04
system (using Docker) but with g++ 7.3.0 installed from this ppa source:ppa:jonathonf/gcc-7.3
&ppa:jonathonf/gcc
Both of the above binaries contain Qt5Core
and Qt5Network
from Qt 5.14.2 statically linked. They still requires libz2
, libstd++
, and the right libc
version as dynamic libs on your system (but those are usually present if you are on a recent system).
If the first binary fails, try the second one (-ub16
), which should work on older systems, hopefully.
Pre-compiled binaries for Windows
Fulcrum-1.2.1-win64.zip
- Pre-built, statically linked Windows version.- It should "just work" on any Windows 7 or above 64-bit system.
- Includes is a statically-linked
Fulcrum.exe
, built withQt 5.14.2
andgcc 7.5.0
. - Additionally,
FulcrumAdmin.exe
is included which is the python script, but made into aonefile .exe
using PyInstaller.
See the .asc
files at the bottom for signatures; my gpg public key can be obtained here: https://github.com/Electron-Cash/keys-n-hashes/blob/master/pubkeys/calinkey.txt
Binary builds for macOS coming soon -- Until then you can always build from source!