Skip to content

Releases: EpicCash/epic-wallet

4.0.0

15 Sep 18:10
e938a49

Choose a tag to compare

What's Changed

Epic Wallet v4.0.0

This release brings major new functionality, breaking changes, and significant refactors across the wallet codebase.


🚀 Features

  • Transaction enhancements
    • Added transaction import/export (CSV and JSON)
    • Added from/to fields for self-send transactions
    • Added creation_height and confirmation_height to transaction logs
    • Enhanced transaction logs with mempool status
    • Improved transaction display formatting, sorting, and pagination
    • Implemented retrieve_outputs/retrieve_txs API with sorting & pagination
    • Offline mode support for wallet recovery and commands
  • APIs & Commands
    • Configurable owner_api_interface parameter
    • CLI: change_password command + remove_backup option
    • Enhanced scan, outputs, and txs commands with new flags & metadata
  • Network & Tor integration
    • Robust Tor integration with onion address support
    • Epicbox protocol improvements and stability updates
    • Node synchronization handling across wallet operations
  • Wallet management
    • Wallet data directory auto-creation + seed file checks
    • Recovery in offline mode
  • Other improvements
    • Added new Wallet Roadmap with progress indicators
    • Added error feedback for unsynced node status

🛠 Fixes

  • Wallet recovery bugs (default dir, init -r, node checks)
  • Mempool transaction status updates and TxSentCreated handling
  • Improved error handling in HTTPNodeClient and API auth feedback
  • Fixed wallet output scan to always check all unspent outputs
  • Increased HTTP client timeout (20s → 300s)
  • Fixed SQLite dependency issues (v0.37)
  • Fixed handling of mmr_index values in logs & RPCs
  • Fixed tests, foundation path, and RPC response handling
  • Fixed crashes in listener and improved compatibility with Epicbox
  • Numerous dependency updates for compatibility

⚠️ Breaking Changes

  • CLI flags
    • scan -hscan -s (start_height)
    • init -h/--hereinit -w/--cwd
  • APIs
    • retrieve_outputs and retrieve_txs now require pagination/sorting params
  • Config
    • epic-wallet.toml: [server.p2p_config.capabilities] section deprecated
  • RNG usage updated: StepRng replaced with mock-compatible RNG for rand 0.9
  • Error handling switched from failurethiserror

🔧 Refactors & Chore

  • Standardized formatting (rustfmt, toolchain)
  • Improved error logging and JSON test responses
  • Refactored transaction retrieval (RetrieveTxsResult)
  • Removed unused code and fields (Base58 trait cleanup, UUID usage refactor)
  • Dependency upgrades: rand 0.9, ed25519-dalek 2.1.1, log 0.4.27, sysinfo, sha2, digest, etc.
  • CI & GitHub workflow improvements
  • Updated .gitignore for Rust and VS Code

📚 Documentation

  • Updated Roadmap
  • Improved build instructions
  • Added CLI handbook sections
  • Updated changelog from earlier versions

Important upgrade nodes

To upgrade your Epic wallet version to 4.0, you must update following API based calls.
The params required 3 additional values for limit, offset and sorting.
The returned data structure has also changed see below.
It is recommendet to use a limit value for large datasets to prevent response timeouts.

"method": "retrieve_txs":
before: "params": [true, null, null],
after: "params": [true, null, null, null, null, null],

new structure of json response:

{
  "id": "1",
  "jsonrpc": "2.0",
  "result": {
    "Ok": {
      "txs": [
        {
         ...
        }
        // ...more transactions
      ],
      "pager": {
      	"limit": 0,
        "offset": 0,
        "records_read": 2,
        "sort_order": "asc",
        "total_records": 2
      },
    }
  }
}

"method": "retrieve_outputs":
before: "params": [true, true, null],
after: "params": [true, true, null, null, null, null],

new structure of json response:

{
  "id": "2",
  "jsonrpc": "2.0",
  "result": {
    "Ok": {
      "outputs": [
        {
          "output": {
           ....
          },
          "spent": false
        }
        // ...more outputs
      ],
      "pager": {
      	"limit": 0,
        "offset": 0,
        "records_read": 2,
        "sort_order": "asc",
        "total_records": 2
      },
    }
  }
}

"method": "receive_tx":
before: "params": [slate, account, message],
after: "params": [slate, account, message, null],

New wallet transaction states:

TxSentCreated:
Transaction created, but not yet sent to the node. The wallet has built the transaction, but it has not been broadcast to the network.

TxSentCancelled:
Sent transaction that was rolled back by user. The user cancelled the transaction before it was confirmed, so its inputs and outputs are reverted.

TxSentMempool (new added):
Transaction sent to mempool, waiting to be mined. The transaction has been broadcast and is in the mempool, but not yet included in a block.

TxSent:
Inputs locked + change outputs when a transaction is created. This is the standard state for a transaction that has been created and broadcast, with wallet inputs locked and change outputs generated.

TxReceived:
Outputs created when a transaction is received. This is the normal state for incoming transactions that have been processed by the wallet.

TxReceivedMempool (new added):
Received transaction found in the mempool, waiting to be mined. This means the wallet has detected an incoming transaction in the mempool, but it is not yet confirmed in a block.

TxReceivedCancelled:
Received transaction that was rolled back by the user. This state indicates that an incoming transaction was cancelled or reverted, and its outputs are no longer considered valid by the wallet.

New wallet behaviour.
The wallet now checks before every call if the node the wallet is connected to is synced.
To disable this check you can use --offline_mode, for example "epic-wallet --offline_mode send ..."

3.6.0

28 Feb 21:59
03fc494

Choose a tag to compare

What's Changed

Full Changelog: v3.5.0...v3.6.0

For users on Ubuntu 22.04 Jammy and later, you will need to install libssl1.1.1f from our website. Steps below:

dpkg -l | grep libssl

If it lists 1.1.1g you will need to remove those with:
sudo dpkg -r libssl1.1:amd64

and maybe
sudo dpkg -r libssl-dev:amd64 (first if it's installed too)

then install 1.1.1f
https://epiccash.com/libssl1.1_1.1.1f-1ubuntu2.23_amd64.deb
sudo dpkg -i libssl1.1_1.1.1f-1ubuntu2.23_amd64.deb


Please check the following sha256sums against your downloaded files:

epic-wallet-3.6.0-linux-amd64.tar.gz
878769a45525116b918bcc5e3e59439fa1a620a7dd821aa498013ca2b412ed05

epic-wallet_3.6.0_amd64.deb
3450cbf924b8e678aa336b89aa4e86239a009196da1af8ade5e62b39d64b63ca

MacOS-Intel_v3.6.0.zip
bf82e422cf04db0f857a57caee8a0bac927dbda34fa1edd0811e4491e1a9eefb

Windows_v3.6.0.zip
4f371321652e7c60420096db4d10959e54e9d723f3bb85685da30d62d98996f9

3.5.1

19 Dec 08:06
0fce73c

Choose a tag to compare

What's Changed

Full Changelog: v3.5.0...v3.5.1

3.5.0

22 Nov 13:29
ccac570

Choose a tag to compare

What's Changed

  • Update debian packaging for v3.4.0 by @who-biz in #84
  • updates the 'prettytable' dep to prevent crash on info command with rust 1.67.1 by @code-chronos in #83
  • Fix OwnerAPI v2 failure to retrieve epicbox config by @who-biz in #89
  • Gracefully handle invalid base58 encodings when calling 'send' cmd by @who-biz in #91
  • Fix domain/port discernment for transfers routed through epicbox by @who-biz in #90
  • Add GitHub Actions workflow for master branch by @who-biz in #92
  • Revert ebox port changes, fixes encrypted data parsing error by @who-biz in #93
  • [FIX] Improve epicbox address api calls by @blacktyger in #94
  • Update dependencies. by @johanneshahn in #95
  • Fix where epicbox listener stop receiving txs. by @johanneshahn in #96
  • fix bug where get_kernel send the wrong format to node api by @johanneshahn in #97
  • Don't panic on re-subscribe error, remove 'expect' usage by @who-biz in #98
  • push to release 3.5.0 by @johanneshahn in #99

New Contributors

Full Changelog: v3.4.0...v3.5.0

Fix where epicbox listener stop receiving txs.

18 Nov 09:30

Choose a tag to compare

This fix solves the problem, where the epicbox listener does not refresh his subscription and blocks connection with the epicbox server.

Full Changelog: v3.4.1...v3.4.2

v3.4.1 - epicbox-Hotfix

01 Oct 19:46
a8be757

Choose a tag to compare

Highlighted Changes

  • Fix domain/port discernment for transfers routed through epicbox by @who-biz in #90

What's Changed

  • Update debian packaging for v3.4.0 by @who-biz in #84
  • updates the 'prettytable' dep to prevent crash on info command with rust 1.67.1 by @code-chronos in #83
  • Fix OwnerAPI v2 failure to retrieve epicbox config by @who-biz in #89
  • Gracefully handle invalid base58 encodings when calling 'send' cmd by @who-biz in #91
  • Fix domain/port discernment for transfers routed through epicbox by @who-biz in #90
  • Add GitHub Actions workflow for master branch by @who-biz in #92
  • Revert ebox port changes, fixes encrypted data parsing error by @who-biz in #93
  • [FIX] Improve epicbox address api calls by @blacktyger in #94

Upgrade Notice:

  • Starting with Ubuntu 22.x it uses openssl v3 and the wallet still requires openssl v1.1 so you need it separately.:

Users must install openssl 1.1
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb
sudo dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb

System Requirements:

  • Windows - 10.x, 11.x
  • MacOs - 12.4 (Intel)
  • Linux/Ubuntu - 22.x

New Contributors

Full Changelog: v3.4.0...v3.4.1

v3.4.0

12 Jun 07:39
f814f5c

Choose a tag to compare

Release v3.4.0

Highlighted Changes

  • New Transaction method "epixbox" with public epic address
  • Update ring to 0.16.x
  • Fix bug, where owner_api threads are not closed

What's Changed

Note Regarding Debian Package

  • Please note, debian package was created after the initial releases were posted.
  • Therefore the epic-wallet binary packaged into epic-wallet_3.4.0_amd64.deb include commits up to: c5d01a2
  • This includes no changes to source files, strictly debian/rules, debian/changelog, and debian/control files used in packaging process.

Upgrade Notice:

  • Please change your wallet config (epic-wallet.toml) to support epicbox address transaction protocol

add:

#########################################
### EPICBOX CONFIGURATION ###
#########################################
[epicbox]
epicbox_domain = "epicbox.epic.tech"
epicbox_port = 443
epicbox_protocol_unsecure = false

Cli usage Notice:

Send Tx: ./epic-wallet send -m epicbox -d esXXXXX...@epicbox.epic.tech 5
Receive Tx: ./epic-wallet listen -m "epicbox"

Listener must be started before send tx. The epicbox listener can run parallel to the http listener.

System Requirements:

  • Windows - 10.x, 11.x
  • MacOs - 12.4 (Intel)
  • Linux/Ubuntu - 22.x

New Contributors

Full Changelog: v3.3.2...v3.4.0

Release v3.3.2

23 Jan 18:03
a323ae6

Choose a tag to compare

Highlighted Changes

  • Fix on tests
    • Changed requests port
  • Fix for issue #26 (Wallet Tx Details lost Output/s)
  • Fix to issue #20 (Wallet CLI shows wrong balance after recovery)
  • Emoji transaction
  • Fix for Rust warnings
  • New readme
  • LMDB to SQLite interface

More information about the highlighted changes can be found on our Wiki: Epic Wallet - v3.3.2

What's Changed

New Contributors

Full Changelog: v3.0.0...v3.3.2

Release v3.0.0

19 Dec 12:22

Choose a tag to compare

Highlighted Changes

  • Fix proof version and package url
  • Reusing the BlockFees structure from epic core
  • Update epic_util crate

What's Changed

New Contributors

Full Changelog: https://github.com/EpicCash/epic-wallet/commits/v3.0.0