From 535d78595ea322845eb5e5e4639abe75c362ef8d Mon Sep 17 00:00:00 2001 From: jahway603 Date: Thu, 9 May 2024 09:43:56 -0400 Subject: [PATCH 1/2] Updated Debian package changelog to resolve Issue #405 --- contrib/debian/changelog | 402 +++++++++++++++++++++++++++++++++++++++ contrib/debian/control | 4 +- 2 files changed, 405 insertions(+), 1 deletion(-) diff --git a/contrib/debian/changelog b/contrib/debian/changelog index 08ed69a2c..942b50ea5 100644 --- a/contrib/debian/changelog +++ b/contrib/debian/changelog @@ -1,3 +1,405 @@ +hush (3.10.2) stable; urgency=medium + + * Upgraded WolfSSL to 5.2.0 on Linux and Mac: #380. + * Upgraded to 4.8.1 on Windows because newer versions do not compile on it + * Only Hush and DragonX will automatically connect to various seed nodes + * Updated i2p seed node: 8c8b6e88f0. + * Removed unused code. + * Fixed boost download link: 323d2134a1. + * Hush and DragonX full nodes take up a lot less memory and binaries are now + smaller due to the cryptoconditions removal, which means syncing, rescanning + and compiling is faster: #381. + * Removed CLI options related to CryptoConditions: -ac_cc, -ac_cclib, + -ac_ccenable, and -ac_ccactivate + * Large page support enabled, which can lead to a 1-2% speed increase in + mining depending on RAM and CPU. + * Various small optimizations such as making some variables static or const + and removing unnecessary conditionals. + * Mining now starts faster because instead of only using 2 threads to prepare + data needed to mine, it now uses all physical cores: 1b5422eb2d. + * RandomX mining now takes slightly less memory. + * Added script for scanning DragonX nodes: 0679468f60. + * More details about p2p encryption: ccc86839b9, a358acab0b, 4ed576a7e2. + * Added Fedora install process: #384. + * Added Arch install process: #393. + * Implemented better error messages: f64c10baa9, f71f8124c3. + * Improved hush_scanner and seed node contrib file: 16dd3aef74. + * Removed unused Makefile: #291. + + -- Hush Core Tue, 05 Mar 2024 18:29:47 -0700 + +hush (3.10.1) stable; urgency=medium + + * Fixed bug causing "payment to wrong pubkey" error when syncing a new node + * Faster syncing of Hush and DragonX full nodes + * Slightly less memory usage in each Equihash/RandomX mining thread + * Fixed compiling issues related to RandomX v1.2.1 + * Improved RPC docs for getblocktemplate + * Removed the getdeprecationinfo RPC + + -- Hush Core Tue, 02 Jan 2024 15:16:40 -0700 + +hush (3.10.0) stable; urgency=medium + + * Hush and all Hush Smart Chains now use less RAM #283 + * Hush and all Hush Smart Chains now make it harder and more expensive for + an attacker to send shielded spam. This raises the cost in CPU 14d3ae1785 + and transaction fees 2308db22ee for Denial-of-Service attacks. + * Bug fix: Fixed hush-cli stop not stopping the node during the "Building + Witnesses" rescan phase #330 + * Bug fix: Fixed abortrescan couldn't be used when node starting up (RPC + warmup) and where it could not abort the rescan if it was in the "Building + Witnesses" phase #331 + * Bug fix: Fixed z_mergetoaddress where docs said you could use ANY_ZADDR + but you couldn't 7eb9d75b94 + * New RPC: z_listunspent now returns the text representation of a memo in + memoStr key + * New RPC: z_getstats which reports data about numer of shielded inputs (zins) + and shielded outputs (zouts) in transactions. 96ae2d61ca + * CVE fix: Upgraded curl to 8.4.0 #325 to fix CVE-2023-38545 + * New documentation about using CJDNS with Hush + * Implemented decentralized Devtax + * Updated to latest RandomX v1.2.1 which includes mining optimizations + * Fixed RandomX mining memory leak and crash #324 + * Fixed quoting bugs with dragonx-cli script + + -- Hush Core Tue, 28 Nov 2023 16:47:59 -0700 + +hush (3.9.4) stable; urgency=medium + + * Hush and DragonX nodes will now sync much faster + * DragonX now has checkpoints for faster & better chain security #243 #304 + * Updated to the latest RandomX code + * Rate limiting for the processing of incoming address messages for + increased security. #272 + * Removed unused function CWalletTx::GetRequestCount #273 + * Removed mapRequest tracking that only affects Qt display. #274 + * Randomized message processing peer order for increased privacy. #275 + * Removed BIP35 mempool p2p message for increased privacy. #284 + * Added additional community seed nodes + * Use custom jobs param when compiling boost for faster compile times #288 + * Now builds with gcc13 thanks to testing from jahway #293 + * Bug fix: -stratumallowip works with CIDR and netmask ranges again for solo + miners #270 + * Bug fix: Detect missing autoreconf in build.sh #289 + * Bug fix: Various assertions removed from BIP155 changes #297 + + -- Hush Core Sun, 02 Jul 2023 17:47:39 -0700 + +hush (3.9.3) stable; urgency=medium + + * Difficulty bug affecting DRAGONX has been fixed + * RandomX mining hashrate increase of about 60X + * Optimized memory usage of RandomX mining + * Adds Tor v3 and i2p support (BIP155 also known as addrv2) + * New RPC: getrescaninfo - Says if node is rescanning with additional info + about progress + * New RPC: abortrescan - Stops rescanning if node is currently rescanning + + -- Hush Core Mon, 13 Feb 2023 15:02:48 -0700 + +hush (3.9.2) stable; urgency=medium + + * This release adds RandomX support in Hush Smart Chains (HSCs) + * A new feature called "zsweep" has been added, which defaults to disabled. + * Expired transactions will not be relayed & nodes doing so no longer banned + * Fix a rare coredump when nodes have many unconfirmed or expired transactions + * New RPC: getblockmerkletree, which shows full Merkle Tree for a block height + * New RPC: z_consolidationstatus will show config + stats about consolidation + * New RPC: z_anonsettxdelta : Returns delta (difference) in the anonset for a + given txid. + * New RPC: z_anonsetblockdelta : Returns delta (difference) in the anonset for + a given block. + * getrawtransaction RPC now returns a "size" key with the size in bytes of a + transaction + * sendmany RPC will now reject transactions that send to t-addresses + immediately, instead of them being rejected in mempool + * New contrib script: contrib/gen-zaddrs.pl - Generates z-addresses in bulk + * New contrib script: contrib/sdl_checkpoints.pl - Generate SDL checkpoints + using getblockmerkletree + * ZeroMQ support has been removed from Hush + + -- Hush Core Tue, 27 Sep 2022 14:08:15 -0700 + +hush (3.9.1) stable; urgency=medium + + * Fix RPC deadlocks, which caused the RPC interface to hang + * The listbanned RPC now returns a new key time_remaining which tells how many + seconds are remaining in the ban + * The rescan RPC now works correctly when given a height. This can be used to + do a partial rescan from a custom height, without restarting the node. + * Minimum disk space required for running full node increased to 1GB from 50MB + * Dockerfile has been updated + + -- Hush Core Tue, 25 Jan 2022 06:39:18 -0700 + +hush (3.9.0) stable; urgency=medium + + * hushd, hush-cli, and hush-tx are now true binaries instead of shell scripts + * New official location for full node data is ~/.hush and existing full + nodes will continue to use the legacy ~/.komodo directory + * Hush full nodes will now attempt to talk to two more nodes by default: + node1.hush.land and node2.hush.land + * New RPC: listaddresses - Show all taddrs in this wallet.dat + * New RPC: rpcinfo - Shows stats about RPC internals + * These RPCs can now be run during RPC warmup: listaddresses, z_exportwallet, + signmessage, decoderawtransaction, and getnetworkinfo + * New doc/hushd.service to use hushd with systemd + * Optimize zaddrs by only building block's witness caches involving our wallet + connection on + * When RPC connection fails hush-cli now tells you which port it was trying to + connect to + * Calculation of HSC "network magic" has changed as of 3.9.0 + * New Stratum API so you can Solo mine with your full node, enable it + with -stratum=1 + * hush-smart-chain script now installed in Debian packages + * Now compatible on SBC (Single Board Computer) like PineBook, Rock64, + Raspberry Pi, etc. + + -- Hush Core Thu, 21 Oct 2021 04:44:44 -0700 + +hush (3.8.0) stable; urgency=medium + + * New Sietch feature: Randomized change output location + * New Sietch feature: Sietch-ified z_shieldcoinbase + * Implemented patch to fix how the longest chain is calculated, which could + prevent mining pools from making payout transactions + * plz_stop feature implemented for when RPC interface is not functioning + (such as filled by deadlocks) making it impossible to shut it down correctly + * -keepnotewitnesscache prevents Sapling Note Witness cache from being + deleted from wallet.dat on shutdown. + * -rescanheight can be used with -keepnotewitnesscache and -rescan to do a + partial rescan of history and avoid completely rebuilding the Witness Cache + * -zindex data is now stored on disk in the new zindex.dat file + * getpeerinfo now returns a relaytxes key which says if a remote node is + relaying transactions to your node + * Improvements to the RPC help documentation + + -- Hush Core Sat, 10 Jul 2021 06:53:52 -0700 + +hush (3.7.1) stable; urgency=medium + + * More internals code related to unused Sprout transactions removed, making Hush run and compile faster and use less memory. + * Now provides a more useful error message when a user attempts to make a transaction before the node is synced. + * z_sendmany RPC docs now show an example of a z2z transaction + * Deprecated alert p2p message is no longer processed and nodes using it will be banned + * try-before-evict ported from BTC core, which helps protect again Eclipse and Sybil Attacks + * "Feeler connections" ported from BTC, another technique which makes Eclipse and Sybil Attacks harder and more expensive + * New RPC: z_getbalances returns a list of all zaddrs with non-zero balance. + * "Automagic z_sendmany" makes the RPC easier to use and also improves privacy + + -- Hush Core Wed, 21 Apr 2021 14:18:12 -0700 + +hush (3.7.0) stable; urgency=medium + + * Improved TLS error reporting + * Fix bug relating to calculating difficulty + + -- Hush Core Thu, 01 Apr 2021 02:53:21 -0700 + +hush (3.6.3) stable; urgency=medium + + * Maintenance release, which is mostly the same as 3.6.2 but it fixes some + issues in Debian+Arch packages and binaries not able to find asmap.dat + + -- Hush Core Fri, 26 Feb 2021 14:42:59 -0700 + +hush (3.6.2) stable; urgency=medium + + * Autonomous System Map (asmap) bucketing by default + * New CLI flag -asmap is on by default, and can be turned off with -asmap=0 + * debug.log is now shrunk to 15MB instead of 100MB + * The max size of debug.log can now be controlled via -maxdebugfilesize + + -- Hush Core Sun, 21 Feb 2021 14:21:31 -0700 + +hush (3.6.1) stable; urgency=medium + + * WolfSSL upgraded to 4.6.0 and side-channel resistance enabled via + ECC_TIMING_RESISTANT + * Hush full nodes now exclusively communivate via P2P messages with TLS1.3 as + the option -tls=only has become default and cannot be turned off + * Improved error-handling and logging of TLS connections + * getpeerinfo now shows 3 new keys for each peer + * New developer documentation in DEVELOPING.md + * -whitelist and -whitelistaddress now called -allowlist and -allowlistaddress + * Minimum protocol version is now 1987420 + + -- Hush Core Wed, 27 Jan 2021 19:42:38 -0700 + +hush (3.6.0) stable; urgency=medium + + * Fixes sync issues near block 340k caused by blocktime halving bug + * New official domain https://hush.is reflected everywhere + * New Hush DPoW Notaries replace KMD Notaries + * Increased in-memory UTXO cache db by 100MB (25%) to increase performance of + initial syncing + * Prevent Delayed-Proof-of-Work attack from Komodo Notaries + * New -dpow-start-height CLI flag used to reject all DPoW transactions (and + attacks) up to a certain height, as general defense against any DPoW attacks + * More secure + private TLS 1.3 implementation + * Switched to WolfSSL 4.5.0 instead of OpenSSL + * Nodes randomly choose between GCM-SHA384 and CHACHA20-POLY1305-SHA256 when + making connections to other nodes. + * Faster release binaries with -03 + * Optimized and hardened memory pool code + * getblocktemplate RPC now provides better error reporting about whether there + are no peers or if it's not in sync + * Removed more Sprout code, which is tightly mixed into deep internals, + resulting in increased compile speed and reduced memory overhead + * New P2P protocol version. Peers only talk to 3.5.x nodes and newer + + -- Hush Core Fri, 18 Dec 2020 02:07:35 -0700 + +hush (3.5.2) stable; urgency=medium + + * Re-released hushd under the GNU Public License Version 3 (GPLv3) + * The z_listreceivedaddress RPC now returns a memoStr key for the utf8 string + representation of a shielded memo, if it exists + + -- Hush Core Thu, 22 Oct 2020 16:16:19 -0700 + +hush (3.5.1) stable; urgency=medium + + * TLS 1.3 support ported from ZEN with custom Hush tweaks + * All nodes will try using encrypted TLS connections with peers by default + * getinfo now returns a tls_connections key in JSON data + * -tls=only can be used to only use encrypted connections + * ASN map filtering of peers, ported from KMD + BTC Core + + -- Hush Core Tue, 06 Oct 2020 07:43:47 -0700 + +hush (3.5.0) stable; urgency=medium + + * Finalize changes to support new Blocktime of 75 seconds + * Updated the Hush Halving schedule, i.e. Emission Curve, for the next ~120 + years (the next 30 halvings) + * The Hush Block Reward will go to zero at Block 50740000 in the year 2140 + * Greatly improved Sietch implementation with "amnesia zdust" addresses + * Sietch zdust outputs now always contain "random/encrypted" data + * -wallet CLI option supports wallets outside the datadir and relative paths + * -txsend CLI option ported from Zcash upstream to help with i2p integration + * Improved aarch64 support for Raspberry Pi 4 + * Removed the proton optional dependency + * GetAdjustedTime() replaced with GetTime() + * Correctly keep track of ChainShieldedSpends for z_getchaintxstats + * timeoffset key in getpeerinfo and getnetworkifo deprecated and now always 0 + * More remnants of dead Sprout/JoinSplit code removed + * Added a z_listreceivedaddress RPC which internals never had RPC access + * Fixes and improvements to deletetx=1, still considered experimental + * Checkpoints updated up to Block 300K + + -- Hush Core Wed, 23 Sep 2020 22:03:17 -0700 + +hush (3.4.0) stable; urgency=medium + + * New Season 4 KMD Notary pubkeys have been updated (as of Block 245555) + * ENFORCED PRIVACY (aka z2z) merged & set to take effect at Block 340000 + * All remaining internals code relating to Sprout has been deleted + * The new Subatomic Dapp has been ported from KMD, which supports z2z swaps + * Implemented own mirror of Boost in our build system + * Merged various fixes relating to CryptoConditions from KMD upstream + * Optimizations and bug fixes to Sapling Consolidation + * Fixes CVE-2018–20586 from KMD (which ported it from BTC) + * Added z_getnotescount RPC + * Updated ccache dependency to 3.7.9 + * Ported the -txexpirynotify CLI option from ZEC upstream + * Added rescan RPC for wallets to initiate a rescan without importing a key + and without restarting + + -- Hush Core Thu, 18 Jun 2020 09:35:31 -0700 + +hush (3.3.2) stable; urgency=medium + + * ARMv8 support added + * Sapling Zaddr Consolidation, which reduces the size of wallets and + increases performance for service providers + * New CLI options added to hushd - refer to release notes for specifics + * New RPCs: z_getinfo, z_listsentbyaddress, z_listreceivedbyaddress, + getalldata + * New -opretmintxfee ported from KMD upstream + * ThreadNotifyWallets refactor ported from ZEC upstream + * Deletion of libsnark internal library + * Shielded index (zindex) statistics of coinbase and organic + transactions/payments corrected + * Updated dependencies: curl, boost, native_ccache, openssl, and proton + * Removed more Sprout-only RPC's (zcbenchmark, zcrawjoinsplit) and code + * Various improvements to RPC documentation + + -- Hush Core Wed, 08 Apr 2020 12:21:44 -0700 + +hush (3.3.1) stable; urgency=medium + + * Maintenance release fixes a non-consensus bug in sendmany which prevented + it from working. + + -- Hush Core Sat, 18 Jan 2020 09:16:21 -0700 + +hush (3.3.0) stable; urgency=medium + + * New "Sietch" functionality protects against new metadata attacks + * New ability to launch Hush Smart Chains with a single command + * Fixes CVE-2019-18936 in UniValue dependency: bitcoin/bitcoin#17742 + * New experimental Shielded Index (-zindex) which keeps track of many stats + seen via the new getchaintxstats RPC including shielded payments, + anonymity set size and many other things. + * New experimental z_listnullifiers RPC which returns Sapling nullifiers. + * Updates + fixes to all CryptoConditions smart contracts from KMD 0.5.0 + * Updates NSPV/Superlite code from KMD 0.5.0 + * Update 3rd party KMD Notary node pubkeys moving Hush from a run-time + fork of KMD to a source code fork + * Enable creation of z-only (like Pirate) Hush Smart Chains via -ac_private=1 + * Removed more Sprout-specific code, making hushd faster & easier to maintain + * Allow hush-cli stop to be run during RPC warmup + * Update to libsodium 1.0.18 + * Removes VerusHash from the source code + * Removed large amounts of Proof-of-Stake-related code not used in Hush + * Ported AFL fuzzing features to our build system from Zcash + * Changed max debug.log size from 10MB to 100MB + * Added checkpoints for every 1000th Hush block + * New contrib/checkpoints.pl script to automatically generate checkpoints + * Deleted QT wallet code inherited from Bitcoin, which was old and broken + * z_exportwallet can now optionally not rescan + * New SHA256 SSE4 routines ported from KMD (which was ported from BTC), + enabled with --enable-experimental-asm=yes + * debug.log no longer containts a log2_stake column + * New --hardfork-height CLI option for devs+notaries for testing + + -- Hush Core Fri, 03 Jan 2020 10:13:17 -0700 + +hush (3.2.3) stable; urgency=medium + + * Update build dependencies to use own forks of libgmp, libsnark, libsodium + * New RPC keys are now returned in getblockchaininfo : longestchain and + notarized which are now used by the SDL backend + + -- Hush Core Sat, 14 Dec 2019 04:59:59 -0700 + +hush (3.2.2) stable; urgency=medium + + * Fix CVE-2017-18350 from ZEC and windows portability fix from KMD upstream + * Removed some Sprout code + * Fixed some rare edge case bugs in Sapling param finding code + * New detection of "corrupt" Sapling params (invalid sizes) to helps give + users the correct error in a GUI wallet (corrupt versus no params) + * Fix Sapling params to support Mac DMGs being installed to /Applications + + -- Hush Core Tue, 26 Nov 2019 12:17:17 -0700 + +hush (3.2.1) stable; urgency=medium + + * Fixes issues discovered in Hush 3.2.0 + * New DEVELOPING.md document for advice working on Hush codebase + * Updated to latest upstream SuperLite/nSPV features + * Merged in latest cryptocondition/Antara module updates from KMD upstream + * Fixed a bug that corrupts the block index on second startup + * Improved code to locate installed Sapling params, since Debian packages + install them into /usr/share/hush + * Updated DNSSeeds + * Fix fees associated with transactions in the mempool with fSkipExpiry=0 + + -- Hush Core Tue, 29 Oct 2019 22:34:35 -0700 + hush (3.2.0) stable; urgency=medium * 3.2.0.1 release. diff --git a/contrib/debian/control b/contrib/debian/control index 8526dd6b4..ec0ceb293 100644 --- a/contrib/debian/control +++ b/contrib/debian/control @@ -13,4 +13,6 @@ Vcs-Browser: https://git.hush.is/hush/hush3 Package: hush Architecture: amd64 arm64 Depends: ${shlibs:Depends} -Description: Hush cryptocoin full node. Speak And Transact Freely. Hush inherits from Bitcoin Protocol and Zcash Protocol and is focused on private communications. +Description: Hush cryptocoin full node. + Speak And Transact Freely with Hush, which inherits from Bitcoin Protocol and + Zcash Protocol and is focused on private communications. From 41e7d602c8a1952b8c530e90fd4fff9632dc9075 Mon Sep 17 00:00:00 2001 From: jahway603 Date: Thu, 9 May 2024 10:12:44 -0400 Subject: [PATCH 2/2] Added changelog to Debian package building script --- contrib/debian/changelog | 17 +++++++++++------ contrib/debian/control | 2 +- util/build-debian-package.sh | 2 +- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/contrib/debian/changelog b/contrib/debian/changelog index 942b50ea5..bd257bf83 100644 --- a/contrib/debian/changelog +++ b/contrib/debian/changelog @@ -179,12 +179,17 @@ hush (3.8.0) stable; urgency=medium hush (3.7.1) stable; urgency=medium - * More internals code related to unused Sprout transactions removed, making Hush run and compile faster and use less memory. - * Now provides a more useful error message when a user attempts to make a transaction before the node is synced. + * Removed more internals code related to unused Sprout transactions, making + Hush run and compile faster and use less memory. + * Now provides more useful error message when user attempts to make + transaction before the node is synced. * z_sendmany RPC docs now show an example of a z2z transaction - * Deprecated alert p2p message is no longer processed and nodes using it will be banned - * try-before-evict ported from BTC core, which helps protect again Eclipse and Sybil Attacks - * "Feeler connections" ported from BTC, another technique which makes Eclipse and Sybil Attacks harder and more expensive + * Deprecated alert p2p message no longer processed & nodes using it will be + banned + * try-before-evict ported from BTC core to help protect against Eclipse and + Sybil Attacks + * "Feeler connections" ported from BTC, which is another technique to make + Eclipse and Sybil Attacks harder and more expensive * New RPC: z_getbalances returns a list of all zaddrs with non-zero balance. * "Automagic z_sendmany" makes the RPC easier to use and also improves privacy @@ -300,7 +305,7 @@ hush (3.4.0) stable; urgency=medium * Implemented own mirror of Boost in our build system * Merged various fixes relating to CryptoConditions from KMD upstream * Optimizations and bug fixes to Sapling Consolidation - * Fixes CVE-2018–20586 from KMD (which ported it from BTC) + * Fixes CVE-2018-20586 from KMD (which ported it from BTC) * Added z_getnotescount RPC * Updated ccache dependency to 3.7.9 * Ported the -txexpirynotify CLI option from ZEC upstream diff --git a/contrib/debian/control b/contrib/debian/control index ec0ceb293..7d1e6e2a2 100644 --- a/contrib/debian/control +++ b/contrib/debian/control @@ -13,6 +13,6 @@ Vcs-Browser: https://git.hush.is/hush/hush3 Package: hush Architecture: amd64 arm64 Depends: ${shlibs:Depends} -Description: Hush cryptocoin full node. +Description: Cryptocoin full node for Hush Speak And Transact Freely with Hush, which inherits from Bitcoin Protocol and Zcash Protocol and is focused on private communications. diff --git a/util/build-debian-package.sh b/util/build-debian-package.sh index 6fa0f1f7e..24bd4fe19 100755 --- a/util/build-debian-package.sh +++ b/util/build-debian-package.sh @@ -78,7 +78,7 @@ cp $SRC_PATH/src/dragonx-cli $DEB_BIN cp $SRC_PATH/src/dragonxd $DEB_BIN cp $SRC_PATH/src/hush-arrakis-chain $DEB_BIN -#cp $SRC_DEB/changelog $DEB_DOC/changelog.Debian +cp $SRC_DEB/changelog $DEB_DOC cp $SRC_DEB/copyright $DEB_DOC cp -r $SRC_DEB/examples $DEB_DOC # Copy manpages