Releases: decred/decred-binaries
v1.8.1
Install
To install Decrediton desktop wallet, download, uncompress, and runDecrediton Linux AppImage or Decrediton Linux tar or Decrediton macOS amd64 or Decrediton macOS arm64 or Decrediton Windows.
To install the command-line tools, please see dcrinstall.
See decred-v1.8.1-manifest.txt and the other manifest files for SHA-256 hashes and the associated .asc signature files to confirm those hashes.
See README.md for more info on verifying the files.
Contents
dcrd v1.8.1
This is a patch release of dcrd that includes some updates to the RPC server and JSON-RPC API in light of the changes made by DCP0011 as follows:
- The
getblock
andgetblockheader
RPCs now have an additionalpowhash
field for the new Proof-of-Work hash - The
getnetworkhashps
RPC now treats -1 for the blocks parameter as the default number of blocks versus the previous behavior that is no longer applicable to the new difficulty ajustement algorithm
The RPC server version as of this release is 8.1.0.
Changelog
This patch release consists of 5 commits from 2 contributors which total to 7 files changed, 47 additional lines of code, and 29 deleted lines of code.
All commits since the last release may be viewed on GitHub here.
RPC:
- rpc: Add PoWHash to getblock/getblockheader (verbose) results (decred/dcrd#3192)
- rpcserver: Modify getnetworkhashps -1 blocks logic (decred/dcrd#3193)
Developer-related package and module changes:
- jsonrpc/types: Add powhash to verbose block output (decred/dcrd#3192)
- main: Use backported rpc types updates (decred/dcrd#3192)
Misc:
- release: Bump for 1.8.1 (decred/dcrd#3194)
Code Contributors (alphabetical order):
- Dave Collins
- Jonathan Chappelow
dcrwallet v1.8.1
This release contains important bug fixes for VSP users.
Bug fixes
-
A warning is logged if a VSP fee payment could not be created due to a locked wallet (
1c1bcfbd
). -
VSP fee payments started by RPC requests are no longer cancelled early after the RPC returns (
07854e37
). -
The random duration interval during which ticket fee payment operations occur was fixed using the correct calculation of when a ticket goes live (
c4c6c421
). -
Fee payment confirmations are no longer assumed to be valid after they receive 6 confirmations, and the VSP is contacted to ensure that it has also confirmed the payment (
7c551ce6
). -
Block heights for ticket liveness and expiry are recalculated properly whenever unmined tickets are processed by the VSP client (
1319da0b
).
New features
- The verbose
getblock
andgetblockheader
JSON-RPC results now include apowhash
field with the hash calculated for the Proof-of-Work algorithm.
Changelog
The following lists all commits since dcrwallet v1.8.0:
1c1bcfbd
: vsp: Dont ignore locked wallet errs07854e37
: vsp: Hardcode background ctxc4c6c421
: vsp: Fix blocksUntilLive calc7c551ce6
: vsp: Only remove confirmed payments1319da0b
: vsp: Recalculate live/expiry heightbc7f095c
: Bump patch version for upcoming 1.8.1 releasea02926a8
: Update dcrd JSON-RPC types module7cb12ad4
: Update decred dependencies
Code Contributors (alphabetical order):
- Jamie Holdstock (@jholdstock)
- Josh Rickmar (@jrick)
Decrediton v1.8.1
This is a minor Decrediton release that updates DEX to the most recent release and fixes a few critical bugs.
Bug fixes
- Fix response buffer size for logging into DEX on v1.8.0
Changelog
All commits since the last release may be viewed on GitHub here.
v1.8.0
Install
To install Decrediton desktop wallet, download, uncompress, and run Decrediton Linux AppImage or Decrediton Linux tar or Decrediton macOS amd64 or Decrediton macOS arm64 or Decrediton Windows.
To install the command-line tools, please see dcrinstall.
See decred-v1.8.0-manifest.txt and the other manifest files for SHA-256 hashes and the associated .asc signature files to confirm those hashes.
See README.md for more info on verifying the files.
Contents
dcrd v1.8.0
This is a new major release of dcrd. Some of the key highlights are:
- Two new consensus vote agendas which allow stakeholders to decide whether or not to activate support for the following:
- Changing the Proof-of-Work hashing algorithm to BLAKE3 and the difficulty algorithm to ASERT
- Changing the Proof-of-Work and Proof-of-Stake subsidy split from 10%/80% to 1%/89%
- Separation of block hash from Proof-of-Work hash
- BLAKE3 CPU mining support
- Initial sync time reduced by about 20%
- Runtime memory management optimizations
- Faster cryptographic signature validation
- Low fee transaction rejection
- Unspent transaction output set size reduction
- No more checkpoints
- Improved network protocol message responsiveness
- Header proof commitment hash storage
- Address index removal
- Several CLI options deprecated
- Various updates to the RPC server:
- Total coin supply output correction
- More stable global communication over WebSockets
- Winning ticket notifications when unsynced mining on test networks
- Several other notable updates, additions, and removals related to the JSON-RPC API
- Infrastructure improvements
- Miscellaneous network and protocol optimizations
- Quality assurance changes
For those unfamiliar with the voting process in Decred, all code needed in order to support each of the aforementioned consensus changes is already included in this release, however it will remain
dormant until the stakeholders vote to activate it.
For reference, the consensus change work was originally proposed and approved for initial implementation via the following Politeia proposal:
The following Decred Change Proposals (DCPs) describe the proposed changes in detail and provide full technical specifications:
Upgrade Required
It is extremely important for everyone to upgrade their software to this latest release even if you don't intend to vote in favor of the agenda. This particularly applies to PoW miners as failure to upgrade will result in lost rewards after block height 777240. That is estimated to be around June 29th, 2023.
Downgrade Warning
The database format in v1.8.0 is not compatible with previous versions of the software. This only affects downgrades as users upgrading from previous versions will see a one time database migration.
Once this migration has been completed, it will no longer be possible to downgrade to a previous version of the software without having to delete the database and redownload the chain.
The database migration typically takes around 4-6 minutes on HDDs and 2-3 minutes on SSDs.
Notable Changes
Two New Consensus Change Votes
Two new consensus change votes are now available as of this release. After upgrading, stakeholders may set their preferences through their wallet.
Change PoW to BLAKE3 and ASERT
The first new vote available as of this release has the id blake3pow
.
The primary goals of this change are to:
- Increase decentralization of proof of work mining by obsoleting the current specialized hardware (ASICs) that is only realistically available to the existing highly centralized mining monopoly
- Improve the proof of work mining difficulty adjustment algorithm responsiveness
- Provide more equal profitability to steady state PoW miners versus hit and run miners
See the following for more details:
Change PoW/PoS Subsidy Split to 1/89 Vote
The second new vote available as of this release has the id changesubsidysplitr2
.
The proposed modification to the subsidy split in tandem with the change to the PoW hashing function is intended to break up the mining cartel and further improve decentralization of the issuance process.
See the following for more details:
Separation of Block Hash from Proof-of-Work Hash
A new Proof-of-Work (PoW) hash that is distinct from the existing block hash is now used for all consensus rules related to PoW verification.
Block hashes have historically served multiple roles which include those related to proof of work (PoW). As of this release, the roles related to PoW are now solely the domain of the new PoW hash.
Some key points related to this change are:
- The new PoW hash will be exactly the same as the existing block hash for all blocks prior to the activation of the stakeholder vote to change the PoW hashing algorithm
- The block hash continues to use the existing hashing algorithm
- The block hash will no longer have the typical pattern of leading zeros upon activation of the PoW hashing algorithm
- The PoW hash will have the typical pattern of leading zeros both before and after the activation of the new PoW hashing algorithm
BLAKE3 CPU Mining Support
The internal CPU miner has been significantly optimized to provide much higher hash rates, especially when using multiple cores, and now automatically mines using the BLAKE3 algorithm when the blake3pow
agenda is active.
Initial Sync Time Reduced by About 20%
The amount of time it takes to complete the initial chain synchronization process with default settings has been reduced by about 20% versus the previous release.
Runtime Memory Management Optimizations
The way memory is managed has been optimized to provide performance enhancements to both steady-state operation as well as the initial chain sync process.
The primary benefits are:
- Lower maximum memory usage during transient periods of high demand
- Approximately a 10% reduction to the duration of the initial sync process
- Significantly reduced overall total memory allocations (~42%)
- Less overall CPU usage for the same amount of work
Faster Cryptographic Signature Validation
Similar to the previous release, this release further improves some aspects of the underlying crypto code to increase its execution speed and reduce the number of memory allocations. The overall result is a 52% reduction in allocations and about a 1% reduction to the verification time for a single signature.
The primary benefits are:
- Improved vote times since blocks and transactions propagate more quickly throughout the network
- Approximately a 4% reduction to the duration of the initial sync process
Low Fee Transaction Rejection
The default transaction acceptance and relay policy is no longer based on priority and instead now immediately rejects all transactions that do not pay the minimum required fee.
This provides a better user experience for transactions that do not pay enough fees.
For some insight into the motivation for this change, prior to the introduction of support for child pays for parent (CPFP), it was possible for transactions to essentially become stuck forever if they didn't pay a high enough fee for miners to include them in a block.
In order to prevent this, a policy was introduced that allowed relaying transactions that do not pay enough fees based on a priority calculated from the fee as well as the age of coins being spent. The result is that the priority slowly increased over time as the coins aged to ensure such transactions would eventually be relayed and mined. In order to prevent abuse the behavior could otherwise allow, the policy also included additional rate-limiting of these types of transactions.
While the policy served its purpose, it had some downsides such as:
- A confusing user experience where transactions that do not pay enough fees and also are not old enough to meet the dynamically changing priority requirements are rejected due to having insufficient priority instead of not paying enough fees as the user might expect
- The priority requirements dynamically change over time which leads to non-deterministic behavior and thus ultimately results in what appear to be intermittent/transient failures to users
The policy is no longer necessary or desirable given such transactions can now use CPFP to increase the overall fee of the e...
v1.7.7
Install
To install Decrediton desktop wallet, download, uncompress, and run Decrediton Linux AppImage or Decrediton Linux tar or Decrediton macOS amd64 or Decrediton macOS arm64 or Decrediton Windows.
To install the command-line tools, please see dcrinstall.
See decred-v1.7.7-manifest.txt and the other manifest files for SHA-256 hashes and the associated .asc signature files to confirm those hashes.
See README.md for more info on verifying the files.
Contents
dcrd v1.7.7
This is a patch release of dcrd that includes the following changes:
- Use the latest network protocol version
- Reduce bandwidth usage in certain scenarios by avoiding requests for inventory that is already known
- Mitigate excessive CPU usage in some rare scenarios specific to the test network
- Improve best address candidate selection efficiency
Changelog
This patch release consists of 19 commits from 3 contributors which total to 92 files changed, 1357 additional lines of code, and 1191 deleted lines of code.
All commits since the last release may be viewed on GitHub here.
Protocol and network:
- peer: Use latest pver by default (decred/dcrd#3083)
- peer: Correct known inventory check (decred/dcrd#3083)
Documentation:
- peer: Go 1.19 doc comment formatting (decred/dcrd#3083)
- addrmgr: Go 1.19 doc comment formatting (decred/dcrd#3084)
- multi: Go 1.19 doc comment formatting (decred/dcrd#3087)
- docs: Update README.md to required Go 1.19/1.20 (decred/dcrd#3087)
Developer-related package and module changes:
- peer: Support module graph prune and lazy load (decred/dcrd#3083)
- main: Use backported peer updates (decred/dcrd#3083)
- addmrgr: Use TempDir to create temp test dirs (decred/dcrd#3084)
- addrmgr: Support module graph prune and lazy load (decred/dcrd#3084)
- addrmgr: Break after selecting random address (decred/dcrd#3084)
- addrmgr: Set min value and optimize address chance (decred/dcrd#3084)
- main: Use backported addrmgr updates (decred/dcrd#3084)
- main: Update to use latest sys module (decred/dcrd#3087)
Testing and Quality Assurance:
- build: Enable run_tests.sh to work with go.work (decred/dcrd#3087)
- build: Update to latest action versions (decred/dcrd#3087)
- build: Update golangci-lint to v1.51.1 (decred/dcrd#3087)
- build: Test against Go 1.20 (decred/dcrd#3087)
Misc:
- release: Bump for 1.7.7 (decred/dcrd#3085)
Code Contributors (alphabetical order):
- Dave Collins
- Eng Zer Jun
- Jonathan Chappelow
dcrwallet v1.7.7
This release includes many bug fixes and performance improvements that, in particular, benefits ticketbuying and other heavily-used wallets that contain many transactions.
Bug fixes
-
A deadlock during address discovery was corrected.
-
SPV peer selection no longer requires excessive CPU usage when few quality
peers are known. -
A data race during rescanning in SPV mode was corrected.
-
A logic race that could result in failing to watch addresses after purchasing tickets, and subsequently missing transactions paying to these addresses, was corrected.
-
A duplicate log message when failing to watch addresses after purchasing tickets was removed.
-
Account balances are no longer calculated by the automatic ticket buyer if the
ticketbuyer.balancetomaintainabsolute
flag is unset or zero. Calculating balances is a expensive operation on wallets with many transactions, and avoiding this unnecessary task can provide a significant performance boost. -
The hardcoded maximum number of UTXOs that can be concurrently mixed during account mixing was removed and replaced with a maximum value that scales with the
mixsplitlimit
config option. -
Mixed ticket buying and account mixing no longer creates change that is smaller than the minimum amount needed to mix a UTXO at the smallest common denomination during change account mixing. Previously, change that was too small to mix was only discarded (i.e. included in the transaction fee) during mixing at the smallest common denomination.
New features
-
A
watchlast
config setting was included to configure the maximum number of recent addresses on an account branch are watched at startup. -
A new UTXO selection algorithm was implemented to pick UTXOs at random. Previously, randomization was implemented by reading all UTXOs into memory and shuffling. The new algorithm reads UTXOs from the database directly without needing to read all UTXOs into memory, which provides both performance and memory improvements over the previous algorithm.
Changelog
All commits since the last release may be viewed on GitHub here.
Decrediton v1.7.7
This release includes a various new features and bug fixes. Users are now able to choose individually on each TSpend instead of by pubkey. Launcher views have been totally revamped and improved. Trezor views have also had an improved UX introduced. And last but not least, DEX has been upgraded to 0.6.0 which now allows for trading with ETH.
New Features
-
DEX has been updated to 0.6.0 which now allows access to the dcr-eth trading pair. You can find the full rundown of improvements to DEX for 0.6.0 here.
-
TSpends can now be voted on individually instead of by the overall signing pubkey. This gives stakeholders more control over their voting rights when it comes to treasury expenditures.
-
Launching views have been redesigned and should allow for more interactivity and learning while waiting for the wallet to fully load in. Ideally this should reduce the number of support questions we receive overall.
-
Trezor wallet creation views have been fully revamped and should allow for a much better user experience. The new views can be seen here.
Bug fixes
-
Resend vote choices to recently updated VSPs. If a user updates their local vote preference before the VSP that controls their ticket, this was required to ensure that the User's vote choices were maintained after they update to the new version.
-
Fix Dex Window not launching after wallet reload.
-
Speed up and refine wallet start up process. There were a few extraneous processes that were occurring durign startup that could cause delays in the wallet fully opening.
-
Fix an issue with the send form that would cause incorrect amounts to be used as the final value. Eg. User enters 50 to send, but only would register 5.
-
Fix time remaining estimation during block syncing.
-
Fix various minor CSS issues throughout.
Changelog
All commits since the last release may be viewed on GitHub here.
v1.7.6
2022-11-16
Install
To install Decrediton desktop wallet, download, uncompress, and run Decrediton Linux AppImage or Decrediton Linux tar or Decrediton macOS amd64 or Decrediton macOS arm64 or Decrediton Windows.
To install the command-line tools, please see dcrinstall.
See decred-v1.7.6-manifest.txt and the other manifest files for SHA-256 hashes and the associated .asc signature files to confirm those hashes.
See README.md for more info on verifying the files.
Contents
Decrediton v1.7.6
This is a small release that contains no changes to the Decrediton base, but fixes an issue with the underlying DEX. This also fixes an issue with Decrediton v1.7.5 on Windows resolving alternative DNS servers (8.8.8.8 etc).
Changelog
All commits since the last release may be viewed on GitHub here.
Code Contributors (alphabetical order)
- Jonathan Chappelow (@chappjc)
v1.7.5
Install
To install Decrediton desktop wallet, download, uncompress, and run
Decrediton Linux AppImage or Decrediton Linux tar or Decrediton macOS amd64 or Decrediton macOS arm64 or Decrediton Windows.
To install the command-line tools, please see dcrinstall.
See decred-v1.7.5-manifest.txt and the other manifest files for SHA-256 hashes and the associated .asc signature files to confirm those hashes.
See README.md for more info on verifying the files.
Contents
dcrd v1.7.5
This is a patch release of dcrd that updates the utxo cache to improve its robustness, optimize it, and correct some hard to hit corner cases that involve a mix of manual block invalidation, conditional flushing, and successive unclean shutdowns.
Changelog
This patch release consists of 19 commits from 1 contributor which total to 13 files changed, 1118 additional lines of code, and 484 deleted lines of code.
All commits since the last release may be viewed on GitHub here.
Developer-related package and module changes:
- blockchain: Misc consistency cleanup pass (decred/dcrd#3006)
- blockchain: Pre-allocate in-flight utxoview tx map (decred/dcrd#3006)
- blockchain: Remove unused utxo cache add entry err (decred/dcrd#3006)
- blockchain: Fix rare unclean utxo cache recovery (decred/dcrd#3006)
- blockchain: Don't fetch trsy{base,spend} inputs (decred/dcrd#3006)
- blockchain: Don't add treasurybase utxos (decred/dcrd#3006)
- blockchain: Separate utxo cache vs view state (decred/dcrd#3006)
- blockchain: Improve utxo cache spend robustness (decred/dcrd#3006)
- blockchain: Split regular/stake view tx connect (decred/dcrd#3006)
- blockchain: Bypass utxo cache for zero conf spends (decred/dcrd#3006)
- main: Use backported blockchain updates (decred/dcrd#3007)
Testing and Quality Assurance:
- blockchain: Address some linter complaints (decred/dcrd#3005)
- blockchain: Allow tests to override cache flushing (decred/dcrd#3006)
- blockchain: Improve utxo cache initialize tests (decred/dcrd#3006)
- blockchain: Consolidate utxo cache test entries (decred/dcrd#3006)
- blockchain: Rework utxo cache spend entry tests (decred/dcrd#3006)
- blockchain: Rework utxo cache commit tests (decred/dcrd#3006)
- blockchain: Rework utxo cache add entry tests (decred/dcrd#3006)
Misc:
- release: Bump for 1.7.5 (decred/dcrd#3008)
Code Contributors (alphabetical order):
- Dave Collins
dcrwallet v1.7.5
This release includes minor fixes and improvements for the wallet.
In addition to the fixes and new features listed below, the wallet has also been updated to follow the TestNet3 hard fork which throttles the difficulty changes allowed as hashpower is quickly increased on the network. This was an unvoted hard fork that only affects the test network, and all users of the test network must upgrade.
Bug fixes
-
The SFNodeCF service flag was removed from the required services of nodes connected to in SPV mode. Version 2 compact filters are now required by consensus rules and there is no service flag to identify their support.
-
An issue preventing the
signrawtransaction
JSON-RPC method from using private keys in the request parameters was corrected. -
The automated ticket buyer no longer attempts to mix change if the StakeShuffle server is not specified in the application config
(--csppserver
) or the gRPC requests that started the buyer.
New features
-
The gRPC methods
VotingService.TreasuryPolicies
andVotingService.SetTreasuryPolicies
were added for gRPC clients to be able to view and set the treasury voting policies of a ticket with VSPs. -
An
importpubkey
JSON-RPC method was introduced to import raw secp256k1 public keys and their derived P2PKH address to theimported
account. This method is only usable on watching-only wallets.
Changelog
All commits since the last release may be viewed on GitHub here.
Code Contributors (alphabetical order)
- bgptr
- Dave Collins
- David Hill
- Josh Rickmar
- Matheus Degiovani
Decrediton v1.7.5
This release is mainly due to a critical fix that was included in DEX 0.5.4.
There are other small bug fixes and improvements included as well.
Bug fixes
-
Fix never ending loading button on Treasury Spending tab.
-
Add Ticket Spent entry to the Revocation tx details page.
-
Fix placeholder size in TextInput
-
Rename cspp to StakeShuffle throughout.
-
Refresh DEX window with F5 key now working as expected.
-
Add testnet PiKeys on testnet for treasury spending tab.
Changelog
All commits since the last release may be viewed on GitHub here.
Code Contributors (alphabetical order)
- Alex Yocom-Piatt
- bgptr
- Jonathan Chappelow (@chappjc)
v1.7.3
Install
To install Decrediton desktop wallet, download, uncompress, and run Decrediton Linux AppImage or Decrediton Linux tar or Decrediton macOS amd64 or Decrediton macOS arm64 or Decrediton Windows.
To install the command-line tools, please see dcrinstall.
See decred-v1.7.2-manifest.txt and the other manifest files for SHA-256 hashes and the associated .asc signature files to confirm those hashes.
See README.md for more info on verifying the files.
Contents
Decrediton v1.7.3
This is a small patch release that fixes an issue with macOS 10.15 (Catalina) not being able to launch dcrd and dcrwallet properly.
We also fixed an issue with updating Treasury Spending choices failing due to dcrwallet not having an rpc implemented.
A couple other minor styling issues that were found in v1.7.2 were fixed as well.
Changelog
All commits since the last release may be viewed on GitHub here.
Code Contributors (alphabetical order)
- Alex Yocom-Piatt
- bgptr
v1.7.2
Install
To install Decrediton desktop wallet, download, uncompress, and run Decrediton Linux AppImage or Decrediton Linux tar or Decrediton macOS amd64 or Decrediton macOS arm64 or Decrediton Windows.
To install the command-line tools, please see dcrinstall.
See decred-v1.7.2-manifest.txt and the other manifest files for SHA-256 hashes and the associated .asc signature files to confirm those hashes.
See README.md for more info on verifying the files.
Contents
dcrd v1.7.2
This is a patch release of dcrd to resolve a rare and hard to hit case when optional indexing is enabled.
Changelog
This patch release consists of 4 commits from 2 contributors which total to 11 files changed, 158 additional lines of code, and 15 deleted lines of code.
All commits since the last release may be viewed on GitHub here and here.
Protocol and network:
- server: Fix syncNotified race (decred/dcrd#2931)
Developer-related package and module changes:
- indexers: fix subscribers race (decred/dcrd#2921)
- main: Use backported blockchain updates (decred/dcrd#2935)
Misc:
- release: Bump for 1.7.2 (decred/dcrd#2936)
Code Contributors (alphabetical order):
- Dave Collins
- Donald Adu-Poku
dcrwallet v1.7.2
This release updates the wallet in light of the activation of DCP0009 on all Decred networks, as well as providing various other fixes.
Bug fixes
-
All ticket revoking functionality has been removed or disabled due to the activation of DCP0009 which modified consensus rules to require miners to include revocations for new expired or missed tickets. The wallet will no longer log warnings and errors due to revocations being created in response to missed tickets, and all RPCs which manually revoked tickets have been deprecated and no longer perform any action. Old unspent tickets will be revoked by project members, eliminating the need for the wallet to ever create a revocation of its own.
-
The
verifymessage
JSON-RPC method andMessageVerificationService.VerifyMessage
gRPC method were corrected to return success when the message is validly signed by the keys associated with a P2PKH address. P2PK addresses are no longer valid inputs and an appropriate error will be returned if one is used. -
The
walletpubpassphrasechange
JSON-RPC method was enabled. This method was already implemented but the method was not exposed in the RPC API. -
Some options in the sample configuration were rewritten to move comments that described various options to their own lines. This prevents parsing and/or runtime errors if an option was uncommented due to the configuration not ignoring comments that do not begin at the start of a line.
New features
- The
WalletService.GetTicket
gRPC method now provides the VSP host associated with a ticket.
Changelog
All commits since the last release may be viewed on GitHub here.
Code Contributors (alphabetical order)
- bgptr
- Dave Collins
- Josh Rickmar
Decrediton v1.7.2
This Decrediton release includes various bug fixes for issues found during v1.7.1 usage. DCRDEX has been updated to 0.4.3. We have also added a few new features that should improve usage before the next big release.
Bug fixes
-
Fix 'account not found' error when registering for DCRDEX. There was a corner case that could be triggered due to using an incorrect password when creating a DEX account.
-
Launcher now allows for completion of wallets that had not completed their creation steps.
-
Improved performance of Transaction/Ticket history pages. Better scroll and saving previous place where they were viewing.
-
Automatically set the 'per-account encryption' during wallet creation since the passphrase is available.
New features
-
Ticket transaction details now show their associated VSP Host and a button that allows for the user to check the tickets' status at that VSP.
-
Due to the recent network upgrade, we've removed all of the Revoke buttons.
-
We've removed DEX login step once the user has successfully launched the DEX window for the first time.
-
Add Treasury Spending tab on the Governance Page. This allows for stakeholders to approve or deny the public keys that sign the tspends.
Changelog
All commits since the last release may be viewed on GitHub here.
Code Contributors (alphabetical order)
- Alex Yocom-Piatt
- Amir Massarwa
- bgptr
- Jonathan Chappelow
v1.7.1
Install
To install Decrediton desktop wallet, download, uncompress, and run Decrediton Linux AppImage or Decrediton Linux tar or Decrediton macOS amd64 or Decrediton macOS arm64 or Decrediton Windows.
To install the command-line tools, please see dcrinstall.
See decred-v1.7.1-manifest.txt and the other manifest files for SHA-256 hashes and the associated .asc signature files to confirm those hashes.
See README.md for more info on verifying the files.
Contents
dcrd v1.7.1
This is a patch release of dcrd which includes the following changes:
- Resolve an issue related to RPC authentication of limited users
Changelog
This patch release consists of 2 commits from 2 contributors which total to 3 files changed, 170 additional lines of code, and 35 deleted lines of code.
All commits since the last release may be viewed on GitHub here.
RPC:
- rpcserver: Fix websocket auth failure (decred/dcrd#2879)
Misc:
- release: Bump for 1.7.1 (decred/dcrd#2880)
Code Contributors (alphabetical order):
- Dave Collins
- 刘昆
dcrwallet v1.7.1
This release includes vote policy bug fixes for VSP users.
Bug fixes
-
The
setvotechoice
JSON-RPC method, when setting a vote choice for a particular ticket, will use the VSP recorded with the ticket from the database rather than using the VSP in the current application configuration. -
An issue where vote choices were sometimes not communicated with the VSP for all unexpired tickets was corrected.
-
The
settreasurypolicy
andsettspendpolicy
JSON-RPC methods now validate that the length of a ticket hash is exactly 32 bytes.
Changelog
All commits since the last release may be viewed on GitHub here.
Code Contributors (alphabetical order)
- Alex Yocom-Piatt
- Jamie Holdstock
Decrediton v1.7.1
This patch release fixes a few outstanding issues found after the initial release of v1.7.0. We have also included the new design for the Settings page and LN wallet creation.
Bug Fixes
-
Live tickets were not showing fee status.
-
Autobuyer wasn't working due to minimum ticketbuyer limit being 0.
-
Update treasury balance to combine legacy and new treasury balances.
-
Fix issue when creating DEX account that allowed for users to proceed on bad passphrase entry.
-
Update menu items when changing from SPV mode for DEX access.
-
Various styling issue.
Changelog
All commits since the last release may be viewed on GitHub here.
Code Contributors (alphabetical order)
- Alex Yocom-Piatt
- bgptr
- Jamie Holdstock
- Jonathan Chappelow
- Matheus Degiovani
v1.7.0
Install
To install Decrediton desktop wallet, download, uncompress, and run Decrediton Linux AppImage or Decrediton Linux tar or Decrediton macOS amd64 or Decrediton macOS arm64 or Decrediton Windows.
To install the command-line tools, please see dcrinstall.
See decred-v1.7.0-manifest.txt and the other manifest files for SHA-256 hashes and the associated .asc signature files to confirm those hashes.
See README.md for more info on verifying the files.
Contents
dcrd v1.7.0
This is a new major release of dcrd. Some of the key highlights are:
- Four new consensus vote agendas which allow stakeholders to decide whether or not to activate support for the following:
- Reverting the Treasury maximum expenditure policy
- Enforcing explicit version upgrades
- Support for automatic ticket revocations for missed votes
- Changing the Proof-of-Work and Proof-of-Stake subsidy split from 60%/30% to 10%/80%
- Substantially reduced initial sync time
- Major performance enhancements to unspent transaction output handling
- Faster cryptographic signature validation
- Significant improvements to network synchronization
- Support for a configurable assumed valid block
- Block index memory usage reduction
- Asynchronous indexing
- Version 1 block filters removal
- Various updates to the RPC server:
- Additional per-connection read limits
- A more strict cross origin request policy
- A new alternative client authentication mechanism based on TLS certificates
- Availability of the scripting language version for transaction outputs
- Several other notable updates, additions, and removals related to the JSON-RPC API
- New developer modules:
- Age-Partitioned Bloom Filters
- Fixed-Precision Unsigned 256-bit Integers
- Standard Scripts
- Standard Addresses
- Infrastructure improvements
- Quality assurance changes
For those unfamiliar with the voting process in Decred, all code needed in order to support each of the aforementioned consensus changes is already included in this release, however it will remain dormant until the stakeholders vote to activate it.
For reference, the consensus change work for each of the four changes was originally proposed and approved for initial implementation via the following Politeia proposals:
- Decentralized Treasury Spending
- Explicit Version Upgrades Consensus Change
- Automatic Ticket Revocations Consensus Change
- Change PoW/PoS Subsidy Split From 60/30 to 10/80
The following Decred Change Proposals (DCPs) describe the proposed changes in detail and provide full technical specifications:
It is important for everyone to upgrade their software to this latest release even if you don't intend to vote in favor of the agenda.
Upgrade Required
It is extremely important for everyone to upgrade their software to this latest release even if you don't intend to vote in favor of the agenda. This particularly applies to PoW miners as failure to upgrade will result in lost rewards after block height 635775. That is estimated to be around Feb 21st, 2022.
Downgrade Warning
The database format in v1.7.0 is not compatible with previous versions of the software. This only affects downgrades as users upgrading from previous versions will see a one time database migration.
Once this migration has been completed, it will no longer be possible to downgrade to a previous version of the software without having to delete the database and redownload the chain.
The database migration typically takes around 40-50 minutes on HDDs and 20-30 minutes on SSDs.
Notable Changes
Four New Consensus Change Votes
Four new consensus change votes are now available as of this release. After upgrading, stakeholders may set their preferences through their wallet.
Revert Treasury Maximum Expenditure Policy Vote
The first new vote available as of this release has the id reverttreasurypolicy
.
The primary goal of this change is to revert the currently active maximum expenditure policy of the decentralized Treasury to the one specified in the original Politeia proposal.
See DCP0007 for the full technical specification.
Explicit Version Upgrades Vote
The second new vote available as of this release has the id explicitverupgrades
.
The primary goals of this change are to:
- Provide an easy, reliable, and efficient method for software and hardware to determine exactly which rules should be applied to transaction and script versions
- Further embrace the increased security and other desirable properties that hard forks provide over soft forks
See the following for more details:
Automatic Ticket Revocations Vote
The third new vote available as of this release has the id autorevocations
.
The primary goals of this change are to:
- Improve the Decred stakeholder user experience by removing the requirement for stakeholders to manually revoke missed and expired tickets
- Enable the recovery of funds for users who lost their redeem script for the legacy VSP system (before the release of vspd, which removed the need for the redeem script)
See the following for more details:
Change PoW/PoS Subsidy Split to 10/80 Vote
The fourth new vote available as of this release has the id changesubsidysplit
.
The proposed modification to the subsidy split is intended to substantially diminish the ability to attack Decred's markets with mined coins and improve decentralization of the issuance process.
See the following for more details:
Substantially Reduced Initial Sync Time
The amount of time it takes to complete the initial chain synchronization process has been substantially reduced. With default settings, it is around 48% faster versus the previous release.
Unspent Transaction Output Overhaul
The way unspent transaction outputs (UTXOs) are handled has been significantly reworked to provide major performance enhancements to both steady-state operation as well as the initial chain sync process as follows:
- Each UTXO is now tracked independently on a per-output basis
- The UTXOs now reside in a dedicated database
- All UTXO reads and writes now make use of a cache
Unspent Transaction Output Cache
All reads and writes of unspent transaction outputs (utxos) now go through a cache that sits on top of the utxo set database which drastically reduces the amount of reading and writing to disk, especially during the initial sync process when a very large number of blocks are being processed in quick succession.
This utxo cache provides significant runtime performance benefits at the cost of some additional memory usage. The maximum size of the cache can be configured with the new --utxocachemaxsize
command-line configuration option. The default value is 150 MiB, the minimum value is 25 MiB, and the maximum value is 32768 MiB (32 GiB).
Some key properties of the cache are as follows:
- For reads, the UTXO cache acts as a read-through cache
- All UTXO reads go through the cache
- Cache misses load the missing data from the disk and cache it for future lookups
- For writes, the UTXO cache acts as a write-back cache
- Writes to the cache are acknowledged by the cache immediately, but are only periodically flushed to disk
- Allows intermediate steps to effectively be skipped thereby avoiding the need to write millions of entries to disk
- On average, recent UTXOs are much more likely to be spent in upcoming blocks than older UTXOs, so only the oldest UTXOs are evicted as needed in order to maximize the hit ratio of the cache
- The cache is periodically flushed with conditional eviction:
- When the cache is NOT full, nothing is evicted, but the changes are still written to the disk set to allow for a quicker reconciliation in the case of an unclean shutdown
- When the cache is full, 15% of the oldest UTXOs are evicted
Faster Cryptographic Signature Validation
Some ...
v1.7.0-rc3
Install
To install Decrediton desktop wallet, download, uncompress, and run Decrediton Linux or Decrediton macOS or Decrediton Windows.
To install the command-line tools, please see dcrinstall.
See decred-v1.7.0-rc3-manifest.txt and the other manifest files for SHA-256 hashes and the associated .asc signature files to confirm those hashes.
See README.md for more info on verifying the files.
Contents
dcrwallet v1.7.0-rc3
This release includes bug fixes and improvements from v1.7.0-rc2.
Bug fixes
- The mixing protocol was fixed to operate properly on both 32 and 64-bit hardware. This fix necessitated a breaking protocol change. All users of v1.7.0-rc1 and v1.7.0-rc2 must upgrade to continue mixing.
- DCP0010 activation is detected when running in RPC syncing mode and will produce votes with the proper subsidy value.
- The
walletinfo
JSON-RPC method now produces more reliable results when neither the SPV nor RPC syncers have been associated with the wallet. - A received
verack
message is no longer required in SPV mode. This fixes several P2P connection issues caused by dcrd sometimes sending other messages before theverack
.
Changelog
All commits since the last release may be viewed on GitHub
here.
Code Contributors (alphabetical order)
- Jonathan Chappelow
- Josh Rickmar
Decrediton v1.7.0-rc3
This release includes bug fixes and improvements from v1.7.0-rc2.
Bug fixes
- Fix proper on-chain agendas being shown in Governance.
- Improve dex page styling
- Add Italian translations
- Improve Dex Window functionality
- Fix a possible cause of mixing wallet slowness.
- Add dcrd upgrade check
Changelog
All commits since the last release may be viewed on GitHub here.
Code Contributors (alphabetical order)
- Alex Yocom Piatt
- bgptr
- Matheus Degiovani