After 99 commits coming from 5 different contributors, we are excited to announce the release of BasicSwap version 0.14.3, along with an update to its user interface, now at version 3.1.2
This substantial update represents weeks of dedicated effort, incorporating numerous improvements, bug fixes, new features, and the addition of Dogecoin (DOGE). The changes stem from extensive testing by both contributors and community members, resulting in a significant step forward for user experience and platform stability.
Install the Latest BasicSwap Update 🖥️
To install the new update, which includes both the codebase and user interface updates, simply update BasicSwap through the usual process (video walkthrough) and launch the DEX again.
Docker
If you've installed BasicSwap following the Docker method...
- Shutdown BasicSwap properly and stop the Docker image (
docker-compose stop
), - From the
basicswap
folder, type thegit pull
command, - In the
/docker
folder, run thedocker-compose build --no-cache
command, - Once the process completes, launch BasicSwap again using the
docker-compose up
command.
Non-Docker
If you've installed BasicSwap follow the non-Docker method...
- Shutdown BasicSwap properly,
- From the
~/coinswaps/basicswap
folder, type thegit pull
command, - Execute the following command:
pip install --require-hashes -r requirements.txt
, - Execute the following command:
pip3 install .
, - Launch BasicSwap as usual.
Install Script
If you've installed BasicSwap using Nahuhh's Github installation script...
- Execute the update command twice:
bsx-update && bsx-update
.
Changelog 📝
Coin(s)
- Dogecoin (DOGE) added — Adaptor signature swaps only for now
- Added DOGE notice (custom-build core version)
- Fixed DOGE's OSX URL
- Use Particl release signing pubkey for Dogecoin
- Bumped Bitcoin Core version to 28.0
- Bumped DASH Core version to 22.0 (hardfork)
- Bumped Litecoin Core version to 0.21.4
- Bumped Wownero to version 0.11.3.0
- Revert output distribution error for Wownero
- Added new DASH subkey ID
- Updated expired DASH PGP key
- Removed
peerblockfilters
andblockfilterindex
flags from Litecoin and fixed upstream - Removed
=onion
from litecoin.conf (conflict) - Disable binding to the onionport for BTC
API
- Fixed some order book related API issues
identities
returns a single object instead of a list if address is setgetCoinSeed
shows expected seed IDs- Fix
identities
command not able to modify data when it should
UI Code
- Refactored some of the javascript code of the Offers page
- Refactored some of the javascript code of the Wallets page
- Fixed a potential javascript memory leak
UI
- Added warning for debug enabled
- Tweaks to Settings page
- Removed prefill of amount if variable is true on sending/receiving
- General tweaks and improvements to Wallets page
- Hide unused fee options for XMR and WOW on offer page.
- Cleaned up wallet "reseed" section
- Center QR code if there's only one wallet address
- Removed some unused assets
- Simplified and improved "new bid" page (more user-friendly)
- Fix the swap type as adaptor signature when both types are available
- Fixed the Get Inferred rate function
- Added private offers to order book
- Improved SMSG identity management
- Added first iteration of local reputation
- Removed some debug messages
- Preliminary work on new Quick Swaps (Taker) page and offers aggregator
Core Functionality
- Tor port fixes
- Add
upgradecores
function to basicswap-prepare script - Constrain swap state when processing reversed bid accept message
- Removed obsolete version attributes (Docker)
- Added dependabot config file
- Disabled duplicate (proof of funds) balance check when posting an offer
- Verify that the initial lock transaction can be funded before posting an offer
- Clearned up table row function in memory
checkWalletSeed
sets expected seed ID if missing- Renamed
getNewSecretKey
- Renamed
isCoinActive
- Ignore unknown coin types in
getCachedWalletsInfo
- Made bin/prepare.py executable
- Make removing Particl from list of enabled coins impossible (breaks BasicSwap)
- Added websocket functionality for offers published on the order book (dynamic updates)
Dependencies
- Updated packed version (guix)
- Let SQLite handle all query parameters
- Added ninja-build package
- Updated jinja2 to 3.1.5
Tests
- Switch CI tests
- Improved test_02_leader_recover_a_lock_tx test
- Moved test_003_api to test_xmr and run in CI
- Fixed test_persistent
- Added DOGE to
test_xmr_persistent
You can inspect all changes by verifying the 0.14.2 comparison page here.