@lvilar lvilar released this Nov 15, 2018 · 12 commits to master since this release

Assets 8

Syndicate Core version 2.1.0 is now available from:

https://github.com/SyndicateLtd/SyndicateQt/releases

This is a core version release, including various bug fixes and
performance improvements, as well as updated translations.

Please report bugs using the issue tracker at github:

https://github.com/SyndicateLtd/SyndicateQt/issues

Mandatory Update

Syndicate Core 2.1.0 is a mandatory update for all users. This release contains new consensus rules and improvements that are not backwards compatible with older versions. Users will have a grace period of five days to update their clients before enforcement of this update is enabled.

How to Upgrade

If you are running an older version, shut it down. Wait until it has completely shut down (which might take a few minutes for older versions), then copy over syndicate-qt.exe (on Windows) or /Applications/Syndicate-Qt (on Mac) or syndicated/syndicate-qt (on Linux).

Compatibility

Syndicate Core is extensively tested on multiple operating systems using
the Linux kernel, macOS 10.8+, and Windows Vista and later.

Microsoft ended support for Windows XP on April 8th, 2014,
No attempt is made to prevent installing or running the software on Windows XP, you
can still do so at your own risk but be aware that there are known instabilities and issues.
Please do not report issues about Windows XP to the issue tracker.

Syndicate Core should also work on most other Unix-like systems but is not
frequently tested on them.

Notable Changes

User Experience

Fix wrongly displayed balance on Overview tab

Fixes a display issue introduced with a previous change. This was a "display only" issue, all your coins were there all the time.

Show progress percent for zsynx reindex operations

When starting the wallet with -reindexaccumulators and/or -reindexzerocoin, these operations can take a considerable time to complete depending on system hardware. A progress percent on the splash screen is now shown for these processes to avoid confusion in thinking that the wallet has frozen.

Add TOR service icon to status bar

An icon is now shown for clients that are connected and operating over the TOR network. Included is a mouse-over tooltip showing the onion address associated with the client. This icon is only shown when a connection to the TOR network can be established, and will be hidden otherwise.

Syndicate Core Daemon & Client (RPC Changes)

Fix listtransactions RPC function

This addresses an issue where new incoming transactions are not recorded properly, and subsequently, not returned with listtransactions in the same session.

Technical Changes

Switch to libsecp256k1 signature verification

Here is the long overdue update for Syndicate Core to let go of OpenSSL in its consensus code. The rationale behind it is to avoid depending on an external and changing library where our consensus code is affected. This is security and consensus critical. Syndicate Core users will experience quicker block validations and sync times as block transactions are verified under libsecp256k1.

The recent CVE-2018-0495 brings into question a potential vulnerability with OpenSSL (and other crypto libraries) that libsecp256k1 is not susceptible to.

Write to the zerocoinDB in batches

Instead of using a separate write operation for each and every bit of data that needs to be flushed to disk, utilize leveldb's batch writing capability. The primary area of improvement this offers is when reindexing the zerocoinDB (-reindexzerocoin), which went from needing multiple hours on some systems to mere minutes.

Secondary improvement area is in ConnectBlock() when multiple zerocoin transactions are involved.

Resolution of excessive peer banning

It was found that following a forced closure of the Syndicate Core wallet (ungraceful), a situation could arise that left partial/incomplete data in the disk cache. This caused the client to fail a basic sanity test and ban any peer which was sending the (complete) data. This, in turn, was causing the wallet to become stuck. This issue has been resolved client side by guarding against this partial/incomplete data in the disk cache.