Skip to content

DCRDEX v0.5.9

Compare
Choose a tag to compare
@chappjc chappjc released this 23 Feb 14:01
· 701 commits to master since this release

DCRDEX v0.5.9

This release is being cut with v0.6 just around the corner so that we can have automatically deployed Docker images for Umbrel. However, there are many other fixes in this release that we have decided to backport from v0.6 development.

Please read the v0.5.0 release notes for a full list of changes since v0.4.

For important information and an introduction to DCRDEX, read the initial release (v0.1.0) notes.

Until signed binaries become available from https://github.com/decred/decred-binaries/releases (they will be after v1.7.5), download the file for your distribution below.

NOTE: This release includes an experimental downloadable executable for Windows, the dexc-tray archive, which starts the DEX client with no terminal, and with a system tray icon. For Windows users, this should feel more natural. See #1828 for more info.

dex-tray-w11

Updates

  • Automatic Docker release image building and publication. When new GitHub releases are created, a Docker image of the client software is automatically built and published to https://hub.docker.com/r/decred/dcrdex/tags. (89942f0, 189d35b, ebbbc3e, a6ae166, a663f09, cfbb37c, 83af2ea, a9672d6, fe308ad)

  • Improved client database compaction. On shutdown, client databases will be compacted more frequently. The first time you shutdown with this release, you are likely to see a compaction. This may cause shutdown to take longer than normal, so please be patient. This may save significant disk space. (dcdc4c4)

  • Reduce lock contention on the wallet "driver" accesses. Performance may be improved in certain scenarios. (2d99cc4)

  • Build and test with Go 1.20. (8a5c11c, 15998d6)

  • The "best case" swap fee estimates now reflect the actual best case where a multi-lot order is matched with another multi-lot order. Previously it was reporting the fees for when a multi-lot order was matched with multiple orders, but using a batch transaction, which is better than the worst case of multiple un-batched swaps, but still not the best case. (9c3e9ca)

  • Handle user inputs for a DEX host that contains extra leading or trailing spaces. (da7e768)

  • Work around quirks of certain MacOS versions where TLS certificate errors happen unexpectedly, or are not reported with the proper types. (8c30008)

  • Spot price notifications for markets involving unknown assets are not logged. This will be common when a server is updated with support for ETH and ERC20, but an older client lacks support. (108a81e)

  • Balance notifications that contain no text message are not logged on the backend. The data is still displayed on the frontend. (fa877c2)

  • Frontend build system dependency updates. (28063b2)

  • Backend dependency updates with security fixes. (535211f)

  • Update the GitHub actions (continuous integration and testing) to avoid a deprecated command. (465c2c6)

  • If client startup fails to load existing accounts from the database file, the error is returned and the application exits rather than quietly starting up without the previously configured accounts. This could happen when attempting to use an upgraded database with an older version of the client software. (3a99c4f)

  • The root cause of a database error when attempting to store account information is now logged. (41f7a4e)

  • Add a swap fee rate sanity check to prevent attempting swaps with a fee rate of zero. (ff7cfe0)

  • Update the dcrd "addrmgr" dependency to improve performance of the native DCR wallet when there are very few good peers, as is often the case with testnet. (459fead)

Fixes

  • IMPORTANT Fix a rare but problematic deadlock (hang) in dcrwallet. (459fead)

  • Gracefully handle very old and previously unacknowledged notifications that were originally stored with a different binary encoding. This eliminates persistent logging of these invalid notifications. (0da6d6c)

  • Wallet reconfiguration was incomplete when there are active trades. (ef84b8e)

  • A rare error when unlocking UTXOs with external DCR and BTC wallets was not handled properly. (185a489)

  • Order fee estimates possibly showed large negative locked amounts in certain circumstances when trying a split transaction (pre-sizing outputs). (900574b)

  • Changing the application password was unnecessarily requiring a restart of the client. (0d42ab6)

  • Incorrect wallet synchronization progress was shown when all peers were lost. (72a5083)

  • Avoid a panic on 32-bit architectures (e.g. x86 and arm32) when fee rates are cached for an order book. (33fca32)

  • Fix a data race with the internal peer counter. (5005ae6)

  • Fix a rare data race with the swap confirmation counter when creating match notification. (06d2502)

  • Fix a rare data race in the BTC unit tests. (9a612a3)

  • Fix the summary for order and match archival showing the wrong final count of archived items. (facce62)

Server

  • Fix a rare shutdown deadlock on a DEX host. (13d1988)

Code Summary

38 commits, 54 files changed, 570 insertions(+), and 372 deletions(-)

v0.5.8...v0.5.9

6 contributors