2017-08-17
Install
To install Paymetheus download and run either Paymetheus 64bit or Paymetheus 32bit depending on your version of Windows.
To install the command line tools, please see dcrinstaller.
To install decrediton download, uncompress, and run decrediton Linux or decrediton OSX.
See manifest-v1.0.7.txt, and the package specific manifest files for sha256 sums and the associated .asc files to confirm those shas.
See README.md for more info on verifying the files.
Contents
dcrd v1.0.7
This release of dcrd primarily contains improvements to the infrastructure and other quality assurance changes that are bringing us closer to providing full support for Lightning Network.
A lot of work required for Lightning Network support went into getting the required code merged into the upstream project, btcd, which now fully supports it. These changes also must be synced and integrated with dcrd as well and therefore many of the changes in this release are related to that process.
Notable Changes
Dust check removed from stake transactions
The standard policy for regular transactions is to reject any transactions that have outputs so small that
they cost more to the network than their value. This behavior is desirable for regular transactions, however
it was also being applied to vote and revocation transactions which could lead to a situation where stake pools
with low fees could result in votes and revocations having difficulty being mined.
This check has been changed to only apply to regular transactions now in order to prevent any issues. Stake
transactions have several other checks that make this one unnecessary for them.
New feefilter
peer-to-peer message
A new optional peer-to-peer message named feefilter
has been added that allows peers to inform others about the minimum transaction fee rate they are willing to accept. This will enable peers to avoid notifying others about transactions they will not accept anyways and therefore can result in a significant bandwith savings.
Bloom filter service bit enforcement
Peers that are configured to disable bloom filter support will now disconnect remote peers that send bloom
filter related commands rather than simply ignoring them. This allows any light clients that do not observe
the service bit to potentially find another peer that provides the service. Additionally, remote peers that
have negotiated a high enough protocol version to observe the service bit and still send bloom filter
related commands anyways will now be banned.
Changelog
All commits since the last release may be viewed on GitHub here.
Protocol and network:
- Allow reorg of block one decred/dcrd#745
- blockchain: use the time source decred/dcrd#747
- peer: Strictly enforce bloom filter service bit decred/dcrd#768
- wire/peer: Implement feefilter p2p message decred/dcrd#779
- chaincfg: update checkpoints for 1.0.7 release decred/dcrd#816
Transaction relay (memory pool):
- mempool: Break dependency on chain instance decred/dcrd#754
- mempool: unexport the mutex decred/dcrd#755
- mempool: Add basic test harness infrastructure decred/dcrd#756
- mempool: Improve tx input standard checks decred/dcrd#758
- mempool: Update comments for dust calcs decred/dcrd#764
- mempool: Only perform standard dust checks on regular transactions decred/dcrd#806
RPC:
- Fix gettxout includemempool handling decred/dcrd#738
- Improve help text for getmininginfo decred/dcrd#748
- rpcserverhelp: update TicketFeeInfo help decred/dcrd#801
- blockchain: Improve getstakeversions efficiency decred/dcrd#81
dcrd command-line flags:
- config: introduce new flags to accept/reject non-std transactions decred/dcrd#757
- config: Add --whitelist option decred/dcrd#352
- config: Improve config file handling decred/dcrd#802
- config: Improve blockmaxsize check decred/dcrd#810
dcrctl:
- Add --walletrpcserver option decred/dcrd#736
Documentation
- docs: add commit prefix notes decred/dcrd#788
Developer-related package changes:
- blockchain: check errors and remove ineffectual assignments decred/dcrd#689
- stake: less casting decred/dcrd#705
- blockchain: chainstate only needs prev block hash decred/dcrd#706
- remove dead code decred/dcrd#715
- Use btclog for determining valid log levels decred/dcrd#738
- indexers: Minimize differences with upstream code decred/dcrd#742
- blockchain: Add median time to state snapshot decred/dcrd#753
- blockmanager: remove unused GetBlockFromHash function decred/dcrd#761
- mining: call CheckConnectBlock directly decred/dcrd#762
- blockchain: add missing error code entries decred/dcrd#763
- blockchain: Sync main chain flag on ProcessBlock decred/dcrd#767
- blockchain: Remove exported CalcPastTimeMedian func decred/dcrd#770
- blockchain: check for error decred/dcrd#772
- multi: Optimize by removing defers decred/dcrd#782
- blockmanager: remove unused logBlockHeight decred/dcrd#787
- dcrutil: Replace DecodeNetworkAddress with DecodeAddress decred/dcrd#746
- txscript: Force extracted addrs to compressed decred/dcrd#775
- wire: Remove legacy transaction decoding decred/dcrd#794
- wire: Remove dead legacy tx decoding code decred/dcrd#796
- mempool/wire: Don't make policy decisions in wire decred/dcrd#797
- dcrjson: Remove unused cmds & types decred/dcrd#795
- dcrjson: move cmd types decred/dcrd#799
- multi: Separate tx serialization type from version decred/dcrd#798
- dcrjson: add Unconfirmed field to dcrjson.GetAccountBalanceResult decred/dcrd#812
- multi: Error descriptions should be lowercase decred/dcrd#771
- blockchain: cast to int64 decred/dcrd#817
Testing and Quality Assurance:
- rpcserver: Upstream sync to add basic RPC tests decred/dcrd#750
- rpctest: Correct several issues tests and joins decred/dcrd#751
- rpctest: prevent process leak due to panics decred/dcrd#752
- rpctest: Cleanup resources on failed setup decred/dcrd#759
- rpctest: Use ports based on the process id decred/dcrd#760
- rpctest/deps: Update dependencies and API decred/dcrd#765
- rpctest: Gate rpctest-based behind a build tag decred/dcrd#766
- mempool: Add test for max orphan entry eviction decred/dcrd#769
- fullblocktests: Add more consensus tests decred/dcrd#77
- fullblocktests: Sync upstream block validation decred/dcrd#774
- rpctest: fix a harness range bug in syncMempools decred/dcrd#778
- secp256k1: Add regression tests for field.go decred/dcrd#781
- secp256k1: Sync upstream test consolidation decred/dcrd#783
- txscript: Correct p2sh hashes in json test data decred/dcrd#785
- txscript: Replace CODESEPARATOR json test data decred/dcrd#786
- txscript: Remove multisigdummy from json test data decred/dcrd#789
- txscript: Remove max money from json test data decred/dcrd#790
- txscript: Update signatures in json test data decred/dcrd#791
- txscript: Use native encoding in json test data decred/dcrd#792
- rpctest: Store logs and data in same path decred/dcrd#780
- txscript: Cleanup reference test code decred/dcrd#793
Misc:
- Update deps to pull in additional logging changes decred/dcrd#734
- Update markdown files for GFM changes decred/dcrd#744
- blocklogger: Show votes, tickets, & revocations decred/dcrd#784
- blocklogger: Remove STransactions from transactions calculation decred/dcrd#811
Contributors (alphabetical order):
- Alex Yocomm-Piatt
- Atri Viss
- Chris Martin
- Dave Collins
- David Hill
- Donald Adu-Poku
- Jimmy Song
- John C. Vernaleo
- Jolan Luff
- Josh Rickmar
- Olaoluwa Osuntokun
- Marco Peereboom
dcrwallet v1.0.7
This release focused on fixing several issues related to corrupted spend
tracking that would cause double spend errors when sending transactions. All
users are recommended to upgrade.
This release also lays the groundwork for more staking features to be
implemented in future releases. The wallet now tracks more details about all
tickets and the votes or revocations that spend them. In future releases, this
can be used to implement highly requested features such as detailed listings of
all tickets, votes, and revocations and subsidy calculations.
Database upgrade notice
This release contains a wallet database upgrade. Once upgraded, the database
can not be used on older releases and downgrading will require restoring from
seed or backup. The Decred project recommends ensuring you have access to your
wallet seed before upgrading in case a downgrade is necessary.
Bug fixes
-
Gaps are no longer created between watched addresses. This in turn fixes
issues where incoming transactions were not received by the wallet and
subsequently fixes various double spending and orphan transaction errors when
sending transactions or purchasing tickets. Users affected by these issues
are asked to rescan or restore from seed after upgrading. -
Adding multiple double spending unconfirmed transactions to the wallet no
longer corrupts spend tracking. -
Database usage has been altered to avoid known data corruption issues caused
by Bolt cursors. -
Wrapped address child indexes now continue to stay wrapped across wallet
restarts instead of returning to the highest returned child index. This may
avoid unintended address reuse issues. -
The first address of newly-created accounts is no longer skipped over when
generating addresses. -
Handling of stake transactions has been rewritten to keep data consistent with
missed votes and blockchain reorganizations. -
Balance reporting has been corrected for the voting authority and locked by
tickets balances by taking the ticket purchase's transaction fee into account. -
The
sendtoaddress
,sendfrom
, andsendmany
JSON-RPC methods now verify
that the intended network of addresses in the request match the active
network. -
Missing an explicitly specified config file now errors instead of only logging
a warning.
New features
-
The
signrawtransaction
JSON-RPC andWalletService.SignTransaction
gRPC
methods are now capable of being used on offline wallets. -
The
WalletService.SignMessage
andMessageVerificationService.VerifyMessage
gRPC methods have been introduced to add message signing and verification
features to the gRPC API. These methods operate similarly to the
signmessage
andverifymessage
JSON-RPC methods. -
The
getbalance
JSON-RPC method now includes fields for unconfirmed balances
of each account. These balances are calculated as the spendable (by
consensus) balance which is not already included under thespendable
field,
which is the spendable balance by both consensus rules and the minimum number
of required confirmations. The addition of both fields equals the total
spendable-by-consensus balance. -
Private passphrases can now be specified on the command line or in a config
file with the--pass
option. When used, the passphrase prompt at startup is
avoided when the auto ticket buyer is enabled.
Other improvements
-
The auto ticket buyer takes better advantage of the improved ticket price
algorithm by reducing the default maximum ticket purchase fee from 0.1/kB to
0.01/kB and reducing the maximum number of tickets purchased per block from 5
to 1. -
Ticket purchases are now removed from the wallet once the ticket price
changes. As a result, the--prunetickets
config option is no longer required
or useful and has been deprecated. -
Performance enhancements have been made for the
getstakeinfo
JSON-RPC and
WalletService.StakeInfo
gRPC methods. -
The logger has been rewritten for improved performance. Rolled log files are
now gzipped. -
Error logs for duplicate script imports when the wallet is locked have been
removed. -
Code quality has improved over several areas.
Changelog
All commits since the last release may be viewed on GitHub here.
Paymetheus v1.0.7
This release focused on under-the-hood improvements to the backend (dcrwallet)
instead of new features or UI changes. Users should no longer encounter double
spend or orphan transaction errors sending transactions due to fixes for wallet
spend tracking corruption, but a seed restore is necessary to fix
already-corrupted wallets.
Database upgrade notice
This release contains a wallet database upgrade. Once upgraded, the database
can not be used on older releases and downgrading will require restoring from
seed or backup. The Decred project recommends ensuring you have access to your
wallet seed before upgrading in case a downgrade is necessary.
Bug fixes
-
Gaps are no longer created between watched addresses. This in turn fixes
issues where incoming transactions were not received by the wallet and
subsequently fixes various double spending and orphan transaction errors when
sending transactions or purchasing tickets. Users affected by these issues
are asked to restore from seed after upgrading. -
Adding multiple double spending unconfirmed transactions to the wallet no
longer corrupts spend tracking. -
Database usage has been altered to avoid known data corruption issues caused
by Bolt cursors. -
Wrapped address child indexes now continue to stay wrapped across wallet
restarts instead of returning to the highest returned child index. This may
avoid unintended address reuse issues. -
The first address of newly-created accounts is no longer skipped over when
generating addresses. -
Handling of stake transactions has been rewritten to keep data consistent with
missed votes and blockchain reorganizations.
Other improvements
- Performance enhancements have been made for querying stake statistics in the
"Stake mining" view.
Changelog
All commits since the last release may be viewed on GitHub here.
Also see all changes to dcrwallet here.
decrediton v1.0.7
This release of decrediton aims to smooth out various issues that users have
consistently reported since the release of v1.0.6. Extra care has been taken
to ensure that users get as much information as possible to understand some
of the innerworks of Decred. But at the same time, ticket purchasing and other
features are actively being simplified and refined. We have also added
some basic animations instead of the default loading screens. We hope to
integrate several pieces of art and animations from our amazing community of
artists.
In the coming releases we are expecting the following: Windows releases and
a completely revamped onboarding procedure. This release is a step toward
realizng those goals.
We have also begun a complete refactor and reorganization of the React
components. This issue describes the end goal of this project.
Ideally, we will be able to make the UX/UI development open to all designers,
which will allow for a true collborative effort.
Database upgrade notice
This release contains a wallet database upgrade. Once upgraded, the database
can not be used on older releases and downgrading will require restoring from
seed or backup. The Decred project recommends ensuring you have access to your
wallet seed before upgrading in case a downgrade is necessary.
Bug fixes
-
Gaps are no longer created between watched addresses. This in turn fixes
issues where incoming transactions were not received by the wallet and
subsequently fixes various double spending and orphan transaction errors when
sending transactions or purchasing tickets. Users affected by these issues
are asked to restore from seed after upgrading. -
Adding multiple double spending unconfirmed transactions to the wallet no
longer corrupts spend tracking. -
Database usage has been altered to avoid known data corruption issues caused
by Bolt cursors. -
Wrapped address child indexes now continue to stay wrapped across wallet
restarts instead of returning to the highest returned child index. This may
avoid unintended address reuse issues. -
The first address of newly-created accounts is no longer skipped over when
generating addresses. -
Handling of stake transactions has been rewritten to keep data consistent with
missed votes and blockchain reorganizations. -
Ticket autobuyer was not properly starting and stopping. Now user is
properly notified when the ticket buyer has started. In the coming releases,
we will be adding even more feedback from ticket buyer so the the user
is able to see some of the decision making happening each block. -
Autobuyer settings are now properly set on config updates and have confirmed
that dcrwallet receives all settings as expected configuration changes. -
Under strange circumstances, users with multiple stakepools reported that
settings were being overwritten. Now, only the pool fees field is updated if
necessary. -
Revocations are now shown in the transaction History page.
-
Small display fixes now allow clear rendering on Windows. We are in the
process of fully releasing on Windows in the next release. -
Font files were previously configured incorrectly due to not have the
corresponding font files for request font weight. It made all fonts look
fuzzy and unclear. -
Some fields have been fixed to allow expected double-click-to-select
functionality. We are auditting and trying to fix all of them soon. -
Testnet2 Wallets weren't properly being located.
-
Update to use current network minfees by default (0.001 DCR/kB).
-
New account creation and account renaming are now shown immediately after
successful response from wallet. Previously it would take an extra render
for them to be updated in the accounts list.
New features:
-
Transaction details page has been revamped to provide the used inputs and new
outputs that each transaction creates. We will be adding more to this page
as new information is added to be received from dcrwallet. -
Transaction notifications have been moved to the bottom of the screen and
now contain a much clearer idea of each new transaction received. We will
be adding the ability to click on these notifications to show the full
transaction details page. -
Implement new seed entry system (react-select). Now users can use the
bubble entry system to ensure they have proper spellings and length when
entering existing seed or confirming new ones. -
We have started to add tooltips to various fields with the react-tooltip
package. We are trying to avoid putting tooltips on everything. We mostly
try to follow feedback we're getting from users as to where tooltips might
clear up confusion in terms of the UX. -
Add copy-to-clipboard functionality to address generation on the Receive page.
We're currently auditing other places that it would make sense to add these
buttons (or some other trigger to copy). Most likely, tx and block hashes,
scripts and other long strings that are annoying to highlight to copy. -
Add logging with winston package. This is the first step at revamping the
startup procedure for decrediton. The more instances where users are can
see where something wrong, the better we can fix/diagnose further issues. -
Introduce custrom animations for loading times. Currently we have a simple
rotating DCR logo and a sprite animated Stakey. We are planning on adding
a few more from various artists to showcase some of the great art being
created by our community.
Other improvements:
-
Add working wallet/account buttons to go to Accounts page for better UX.
-
Move stakeinfo to an expandable div on tickets page.
-
Overhaul of various styling according to designer input.
-
Refactor redux actions for cleaner reading.
-
Add better instructions for stakepool apikey entry.
-
Begin complete react component/container refactor. This is the first step
towards fixing component structure and reuse. -
Begin removing inline styles and Radium, replaced with Less styling.
-
Add config option to use a remote daemon set up.
-
Update README.md to include quirk about installing decrediton for the first
time for development. -
Add core-decorators library and utilize @autoBind annotation.
-
Update to use webpack 3.
-
Add rpm and deb linux builds.
-
Fixes to DockerFile support.
Changelog
All commits since the last release may be viewed on GitHub here.
Also see all changes to dcrwallet here.