Skip to content

Releases: decred/dcrdex

v1.0.5

15 Dec 04:37

Choose a tag to compare

DCRDEX v1.0.5

This release contains several important fixes and improvements. All users are advised to update.

Please read the v1.0.0 release notes for a full list of changes since v0.6.

Fixes and Improvements

  • multi: Prepare v1.0.5. (#3435)
  • testing: Update vspd. (#3436)
  • Bump decred deps to latest release versions (#3426)
  • build: Go 1.25 and update github actions (#3347)
  • Fix: add language fallback to prevent crash on unsupported locales (#3414)
  • dcr: Enable mixing for v5 wallet. (#3242)
  • Remove GO111MODULE=on (#3237)
  • Update dcrwallet to /v5. (#3234)

Code Summary

43 files changed, 497 insertions(+), 482 deletions(-)

V1.0.4

06 Nov 22:05

Choose a tag to compare

DCRDEX v1.0.4

This release contains several important fixes and improvements. All users are advised to update.

Please read the v1.0.0 release notes for a full list of changes since v0.6.

Fixes and Improvements

  • Updated dcrwallet dependency to 4.3.1. (#3387)
  • Fixed a seg fault bug on window close on Darwin (#3366)
  • Implemented snap package (#2580)
  • Updated libwebkitgtk deps (#3232)
  • Fixed a panic on nil dex connection config (#3345)
  • Updates MM bot run end time after each event (#3305)
  • Fixed an overflow bug VWAP calculations (#3299)
  • Show upgrade banner if newer version is available on GitHub (#3286)
  • Send notifications for changes in DEX account status (#3280)
  • Deserialize Firo blocks from bytes (#3263)
  • Fixed a bug where we were using a closed book feed channel (#3254)
  • Fixed GetBlockHash for Firo compatibility (#3251)
  • Added ExchangeWalletCustom to support external btc-clone wallets (#2855)
  • Fixed electrum wallet transaction DB panic (#3248)
  • Enabled mixing for v5 wallet. (#3242)
  • Check for used addresses (#2690)
  • Hide copy button on unsecure connection (#3226)
  • Switched to custom bisoncraft version for webview dependency (#3230)
  • Changed HTML titles to Bison Wallet (#3223)
  • Updated btcwallet dependency to v0.16.10 (#3206)
  • Created new syncer on Run error (#3215)
  • Handle market parameters update (#2846)
  • Use the app build version as Version in UI i( hamburger menu)

Code Summary

153 files changed, 4252 insertions(+), 2103 deletions(-)

v1.0.3

30 Apr 20:19

Choose a tag to compare

DCRDEX v1.0.3

This release contains several important fixes and improvements. All users are advised to update.

Please read the v1.0.0 release notes for a full list of changes since v0.6.

Fixes and Improvements

  • Allow Firo to send to an EXX address (#3119)
  • Fix Electrum Firo mm issues (#3202)
  • Use server's fee rate for swap fee estimates (#3200)
  • Add messaging for penalty compensation (#3188)
  • Update dcrwallet to 4.3.0 (#3197)
  • Update feature-policy header (#3193)
  • Fix Polygon wallet connected/disconnected notification spam (#3163)
  • Shorten systray tooltip (#3183)
  • Ignore irrelevant connect errors (#3182)
  • Handle Binance invalid listen key error (#3139)
  • Fix Ethereum wallet user action resolution handling (#3178)
  • Account for multi-split buffer when making MultiTrade (#3156)
  • Fix market-maker balance handling for shared txs across matches (#3138)
  • Fix Polygon polygon symbol conversion (#3118)
  • Update static chinese translations (#3071)
  • Translation German translations (#3124)
  • Store correct Bitcoin tx history refund hash (#3142)
  • Correct for Binance lot size and rate step filters (#3093)
  • Populate the core.Exchange map fields even when not connected (#3103)
  • Avoid error on RunStatsNote (#3104)
  • Parse Binance error responses (#3090)

Code Summary

530 files changed, 46490 insertions(+), 8867 deletions(-)

v1.0.2

18 Nov 20:36

Choose a tag to compare

DCRDEX v1.0.2

This release contains several important fixes and improvements. All users are advised to update.

Please read the v1.0.0 release notes for a full list of changes since v0.6.

Fixes and Improvements

  • Update dcrwallet dependency to include some bug fixes (#3068)
  • Fix formatting of Bitcoin DB filepath names for Windows compatibility (#3056)
  • Fix bug in form closing code on markets view (#3053)
  • Fix bugs related to Binance connection and balance retrieval (#3060)
  • Fix Binance balance check deadlock (#3066)
  • Add Decred mix split transaction identification. (#3061)
  • Improve performance when deleting inactive orders/matches (#3059)

Code Summary

32 files changed, 516 insertions(+), 242 deletions(-)

v1.0.0

04 Sep 02:26

Choose a tag to compare

DCRDEX v1.0.0

This release introduces a major version upgrade. Backwards compatibility is
not strictly preserved.

There are many new features, improvements, and bug fixes since v0.6.

Features and Improvements

  • Add Decred staking
  • Add Decred mixing
  • Add Polygon and Polygon tokens USDC, USDT, WETH, WBTC
  • Add Ethereum token USDT
  • Implement multi-balance contracts for Ethereum and Polygon to reduce provider request rate
  • Use free RPC providers by default for Ethereum and Polygon to enable one-click wallet creation
  • Implement Zcash shielded pool features and refactor wallet to be shielded-by-default
  • Add Digibyte, Firo, Zclassic wallets
  • Expose wallet transaction history
  • Add wallet notifications for new transactions, tip changes, and async ticket purchases
  • Server: Add a Websockets-based reverse tunnel for remote node RPC APIs
  • Server: Enable CA certificates for simplified registration
  • Implement new market making and arbitrage bots and GUI
  • Add Binance and Binance US arbitrage support
  • Refactor reputation system to accommodate low-lot-size markets and smaller bond sizes
  • Show reputation data on dexsettings and trading views
  • Enable password recovery using seed to avoid full wallet restorations
  • Server: Enable public BTC RPC providers
  • Normalize translation system to enable report generation for translators
  • Server: Add database table for finalized candles for faster startup
  • Total GUI refactor. Differentiated sections. Normalized forms. Drop sans-light font
  • Add desktop notifications
  • Implement model Tatanka Mesh for next-gen DEX
  • Use binary searches for optimal lot count in various places for snappier response on low-lot-size markets
  • Make transaction IDs and addresses in notifications into links
  • Enable locating bonds when restoring from seed
  • Switch to a custom BIP-39 based mnemonic seed that encodes the wallet birthday
  • Server: Add endpoint for simple health check for is.decred.online/
  • Enforce minimum rates, minimum lot sizes, and minimum bond sizes based on dust limits
  • Add system installers for Windows, Mac, Linux
  • Rebrand wallet from DCRDEX client (dexc) to Bison Wallet
  • Allow displaying values in custom units in some places
  • Add display for asset fiat rates, current network fees, and anticipated on-chain fees for trading

Fixes

  • Fix rescan panic for native BTC and LTC wallets
  • Multiple UI fixes for incorrect conversions or wrong units displayed
  • Fix panic for nil bookie via core.Book
  • Disable Bitcoin Cash SPV wallet for lack of filter support
  • Tons of other minor fixes

Code Summary

696 files changed, 149904 insertions(+), 37372 deletions(-)

v0.6.3

08 Sep 16:26
0e733c7

Choose a tag to compare

DCRDEX v0.6.3

This release contains several important fixes and improvements. All users are advised to update.

Please read the v0.6.0 release notes for a full list of changes since v0.5.

Features and Improvements

  • Trade limits scale with bond level.
  • Add extension mode. When in extension mode, 1 or more wallets are managed by a higher level application, and cannot be reconfigured through the dexc GUI.

Fixes

  • Fix bug where order was being retired before server accepted the redeem message.
  • Updates btcwallet dependency to incorporate recent upstream change (btcsuite/btcwallet#870). Resolves a common error that arose during wallet rescans.
  • Resolves a potential server deadlock that can occur if processing of matched cancel orders result in an account cancel violation that would result in a suspension.
  • Removes "bonus tiers", which were an accounting curiosity on the server that didn't do anything for the client but did introduce a bug where client's bonds would fully expire before being replaced.

Code Summary

25 files changed, 281 insertions(+), 126 deletions(-)

v0.6.2...v0.6.3

2 contributors

v0.6.2

20 Jun 16:42

Choose a tag to compare

DCRDEX v0.6.2

IMPORTANT: This release adds support for the Decred 1.8 consensus agendas. The native SPV Decred wallet in the previous release (v0.6.1) will not follow the chain following any hard forks resulting from DCP0011 or DCP0012. You you must update to v0.6.2 if you use the native Decred wallet.

This release also contains several important fixes and improvements. All users are advised to update.

Please read the v0.6.0 release notes for a full list of changes since v0.5.

Features and Improvements

  • Support the Decred 1.8 consensus agendas. All users of native SPV Decred wallets must update before the hard forks activate. (8aad3fa, 9908805, e0c0c8e)
  • SPV wallet backends for BTC-based assets (BTC, LTC, BCH) are now capable of reporting a fee rate to the application, even if that fee rate is from an external source such as a block explorer or other fee rate oracle. To ensure optimal fee rates are used in all scenarios, be sure the "External fee rate estimates" checkbox in the wallet settings form is checked. It should be checked by default for BTC. Do not change your wallet settings if it is already checked. (89e761a)
  • The UI form where the bond asset is chosen now has improved wording about fidelity bonds. Information presented to the user about bonds will be an area of continual improvement as we work towards v1.0. (29faa9b)
  • The http file server for the browser interface is now more efficient when serving static resources like images/style/js. (3622872)

Fixes

  • On Windows, perform automatic recovery of corrupted Ethereum transaction databases. (b9c9ece)
  • The suggested BTC deposit amount when preparing to register with bonds is now reasonable. Previously it was using the "max" fee rate, which suggested to the user a very large amount to proceed with registration using BTC. Now it uses a stabilized live estimate. (300e975)
  • When adding a DEX from the Settings page, the "wallet wait" form no longer proceeds when there is insufficient balance. Previously it would allow the user to proceed (and possibly fail) when the available balance was just the amount of one bond, when the required amount to proceed is double that amount plus the "fee buffer". (3957ff7)
  • When opened from the Settings page, the "wallet wait" form no longer closes itself when clicked. (b1b75a2)

Server

Decred's Go module dependencies are updated. There are no functional server changes.

Code Summary

11 commits, 41 files changed, 445 insertions(+), and 401 deletions(-)

v0.6.1...v0.6.2

3 contributors

v0.6.1

05 May 20:47

Choose a tag to compare

DCRDEX v0.6.1

This release contains several important fixes, and adds DigiByte support.

You should update to this release if you want to use Zcash. It is strongly recommended to use v5.4.2 with this release of DCRDEX until v5.5.0 has been evaluated.

Please read the v0.6.0 release notes for a full list of changes since v0.5.

Features

  • Add DigiByte (DGB) support. DigiByte Core v7.17.3 is now a supported external wallet. The v8.22 release candidate has not been evaluated yet, but there are several RPC changes that will require an update.
  • The required zcashd version has been bumped to zcashd v5.4.2. Version 5.5.0 has not been evaluated.
  • The rate of an order is now displayed in the header for the order in the Your Orders table.
  • The last selected candle bin width is remembered. The default for first use is 1hr.

Fixes

There are a number of important fixes. If you use Litecoin, it is strongly recommended to update to this release. More details coming soon.

Server

Startup order funding balance checks are fixed for when an account-based asset is the quote asset on the market.

Code Summary

45 commits, 75 files changed, 1,769 insertions(+), and 364 deletions(-)

v0.6.0...v0.6.1

7 contributors

DCRDEX v0.6.0

17 Apr 04:29

Choose a tag to compare

DCRDEX v0.6.0

April 4, 2023

Important Notices

UPGRADING: If updating from a previous version, you will not be able to open the upgraded dexc.db file in the previous version due to encoding changes. Make a backup if you wish to have the ability to go back to a v0.5.x release.

Zcash: If using an external Zcash wallet (with your own zcashd process), you must run zcashd with -allowdeprecated=getnewaddress -allowdeprecated=getrawchangeaddress. A future DCRDEX patch release will provide full support to zcashd v5.4.2 without this flag.

Always record the "seed" that is generated by the DEX client on initialization (when you set your password the first time in the browser window). This is a string of characters that is used to derive DEX account identities and initialize any native/built-in wallets you create in the DEX client. You must have this seed to recover funds that you receive in such wallets if your lose access to your DEX client's data folder.

Although DCRDEX looks and feels like a regular exchange, the decentralized aspect brings an expanded role to the client. Please take the time to read and understand the following:

  • If using external wallets, never shut them down while dexc is running. Always stop dexc before stopping your wallets.
  • If you have to restart dexc with active orders or swaps, you must immediately login again with your app password when dexc starts up.
  • There is an "inaction timeout" when it becomes your client's turn to broadcast a transaction, so be sure not to stop dexc or lose connectivity for too long or you risk having your active orders and swaps/matches revoked. If you do have to restart dexc, just remember to login as soon as you start it up again.
  • Only one dexc process should be running for a given user account at any time. For example, if you have identical dexc configurations on two computers and you run dexc and login on both, neither dexc instance will be adequately connected to successfully negotiate swaps.
  • Order history is not synchronized between different client installations.

Highlights

Read more

DCRDEX v0.5.9

23 Feb 14:01

Choose a tag to compare

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