Releases: raiden-network/light-client
Arbitrum Release v3.1.1 Rohinī
🦁 New Raiden Light Client SDK, dApp and CLI
INFO: The Light Client SDK, CLI and dApp are all work in progress projects. All three projects have been released for mainnet and all code is available in the Light Client repository. As this release still has its limitations and is a beta release, it is crucial to read this readme including the security notes carefully before using the software.
This is a maintenance release for the Arbitrum (v3) series, syncing fixes and dependencies updates with v2 backports branch, more specifically the just-released v2.3.0 version.
The only user-facing change is the support for installing and running the Light-Client (specially the CLI) on ARM64 (e.g. Apple's M1) architectures [#3135]. For more details, refer to v2.3.0 and v3.1.0 releases.
Mainnet Release v2.3.0 Kṛttikā
🧭 New Raiden Light Client SDK, dApp and CLI
INFO: The Light Client SDK, CLI and dApp are all work in progress projects. All three projects have been released for mainnet and all code is available in the Light Client repository. As this release still has its limitations and is a beta release, it is crucial to read this readme including the security notes carefully before using the software.
This is a maintenance release for the stable mainnet Krttika release (v2). While current master branch contains development progress for the new raiden-contracts v0.50, with changes required to allow Raiden to run properly on rollups like Arbitrum, these contracts won't be immediately deployed to Ethereum Mainnet (Homestead) or be the default contracts on testnets (like Goerli).
But these networks are still supported on the v2 branch, and this release backports some refactorings, bugfixes and dependency updates from master back to v2 series (v0.40 contracts) in a fully backwards compatible manner, so no user action is needed.
Highlights
The main feature of this backports release is the coming of the Raiden webUI as an optional interface for the CLI. Not to be confused with the Light-Client dApp, which is a standalone web Raiden client running in the browser, the webUI requires a Raiden REST API-capable client running in the background, and provides a web management interface to the underlying full node. It was initially designed for the Python Client, but with the CLI's API achieving full compatibility with the reference implementation, it became possible to run the webUI as a drop-in addon. Run the CLI with --web-ui to enable it, and then go to http://localhost:5001/ui to see it in action.
Fixed
- [#3135] Fixed some native dependencies to allow installing and running in ARM64 processors (e.g. Apple's M1 computers)
Changed
- [#3160] Backport v3.1.0 improvements to
v2series (supporting raiden-contracts v0.40 Coruscant and Ethereum Mainnet). Notably,--web-uioption is available on v2 Mainnet series.
Mainnet Release v3.1.0 Rohinī
🐱 New Raiden Light Client SDK, dApp and CLI
INFO: The Light Client SDK, CLI and dApp are all work in progress projects. All three projects have been released for mainnet and all code is available in the Light Client repository. As this release still has its limitations and is a beta release, it is crucial to read this readme including the security notes carefully before using the software.
This release brings the Raiden WebUI which was formerly only available for the Python Client to the Light Client CLI. The dApp UI is still available as the other official interface and standalone (browser) client. Use --web-ui with the CLI to bring up the WebUI, served by default from http://localhost:5001/ui.
Raiden SDK
Fixed
- #3118 Dynamically set
config.revealTimeoutto half oftokenNetworkRegistryContract.settleTimeout, if it'd be smaller than default of 600s
Changed
- #3122
Raiden.dumpDatabasenow returns anAsyncIterableof database rows objects, which allow to stream even big state dumps without having to accumulate everything in memory; also, it doesn't require stopping SDK to dump state anymore
Added
- #3123
Raiden.getTransfersmethod, an easier way to get, filter and paginate over past transfers.
Raiden dApp
Changed
- #3122
Backup Statedoesn't require SDK to be shut down anymore
Raiden CLI
Added
- #3122
/api/v1/state.jsonendpoint to allow downloading/backing up and--load-state <path.json>parameter to upload/rehydrate state/database in a fresh instance - #3123 Experimental:
--web-uioption to serve Raiden WebUI from/uiroute; requiresyarn build:webui
Mainnet Release v3.0.0 Rohinī
⚡ New Raiden Light Client SDK, dApp and CLI
INFO: The Light Client SDK, CLI and dApp are all work in progress projects. All three projects have been released for mainnet and all code is available in the Light Client repository. As this release still has its limitations and is a beta release, it is crucial to read this readme including the security notes carefully before using the software.
With this release the Light Client becomes compatible to the contract versions 0.50.0 which are available on Arbitrum One and are compatible with any project living on top of the roll-up. As a result of this release, the whole on-boarding process and blockchain interactions are much faster and cheaper thanks to the roll-up technology. This release required major refactoring also by the Light Client, resulting in breaking changes to all interfaces.
Raiden SDK
Fixed
- #3106 Fix bug where
Raiden.transferOnchainTokenswithsubkey=truecould be ignored and main account used instead
Changed
- #2916 BREAKING Switched timeouts to use timestamps (seconds) instead of blocks; previous Raiden stable releases and contracts used block numbers to count the passage of time (e.g. transfers, withdraws and channel settlement timeouts); the new refactored contracts use timestamps (in seconds) instead, which is more predictable on networks with random or on-demand block generation cadence, like rollups; while this change is motivated by the Arbitrum compatiblity effort, it's not restricted to rollups, and may eventually also be deployed to other networks
- #2976 BREAKING Switched to
arbitrumbranch of raiden-contracts; this contracts branch usesblock.timestamps to count timeouts, instead of block numbers; this also creates a new state for clients (new contracts, new state schema and entry)
Added
- #3034 SDK now accepts
config.confirmationBlocks = 0(default for Arbitrum), speeding up transactions wait times on rollup environments
Removed
- #3034 Remove
settleTimeoutoption fromconfigandRaiden.openChannelmethods, since this value is now constant per contract deployment (exposed throughRaiden.settleTimeoutgetter)
Raiden dApp
Fixed
- #3078 Fix quick pay feature for Arbitrum and zero confirmation blocks
Changed
- #3051 Adapt UDC withdraws to timestamps instead of block numbers
Removed
- #3053 Remove
settleTimeoutreferences and settlement block countdown, since these don't apply anymore
Raiden CLI
Removed
- #3034 Remove
--default-settle-timeoutCLI option, since this value isn't customizable anymore and instead constant per contract's deployment
Changed
- #3034
--default-reveal-timeoutnow receives seconds, instead of blocks
Mainnet Release v2.2.0 Kṛttikā
🎒 New Raiden Light Client SDK, dApp and CLI
INFO: The Light Client SDK, CLI and dApp are all work in progress projects. All three projects have been released for mainnet and all code is available in the Light Client repository. As this release still has its limitations and is a beta release, it is crucial to read this readme including the security notes carefully before using the software.
This is a maintenance release for the stable mainnet Krttika release (v2). While current master branch contains development progress for the new raiden-contracts, with changes required to allow Raiden to run properly on rollups like Arbitrum, these contracts won't be immediately deployed to Ethereum Mainnet (Homestead) or be the default contracts on testnets (like Goerli).
But these networks are still supported on the v2 branch, and this release backports some refactorings, bugfixes and dependency updates from master back to v2 series (v0.40 contracts) in a fully backwards compatible manner, so no user action is needed.
Two changes to highlight: now the SDK should have saner behavior for picking up automatic/compatible PFS and Matrix transport servers when not being passed explicit config options, and the CLI can now be installed with npm/yarn in the global scope or run with npx out of the box.
Raiden CLI
Added
- [#3101] Add
OneToNandUserDepositToken(SVT/RDN) addresses to/contractsand/user_depositendpoints,eth_balance, currentblock_numberandnetworkinfo properties to/addressendpoint - [#3101] You can now install/run raiden-cli from npmjs with
npx -p @raiden_network/raiden-cli raiden <options>
Raiden SDK
Added
- [#3069] SDK now can (and will first by default, in
automode) query and use PFS's advertisedmatrix-serverbefore config.matrixServerLookup`. This should help ensure your client picks up an automatic matrix server which is compatible with (a properly configured) PFS. - [#3101] Try to read
deploymentJSON files at runtime, besides embedded ones at transpilation-time
Fixed
- [#3100] Filter out registered but misconfigured PFSs used for presence requests which are operating on a different network. Should fix peers appearing as offline on Goerli with automatically chosen PFS.
Mainnet Release v2.1.0 Kṛttikā
🧱 New Raiden Light Client SDK, dApp and CLI
INFO: The Light Client SDK, CLI and dApp are all work in progress projects. All three projects have been released for mainnet and all code is available in the Light Client repository. As this release still has its limitations and is a beta release, it is crucial to read this readme including the security notes carefully before using the software.
This new version adds a feature to the dApp that protects the user from loading temporary updates unintentionally. Besides the side effect of loading a different version temporary it is important that users always confirm updates and manually trigger the installation of a new version. Unintended updates can for example happen on a force-reload of of the web-browser. For more information, refer to the notes from the v2.0.0 release.
Raiden dApp
Added
- [#3024] Prevent the usage of uninstalled versions
Mainnet Release v2.0.1 Kṛttikā
💉 New Raiden Light Client SDK, dApp and CLI
INFO: The Light Client SDK, CLI and dApp are all work in progress projects. All three projects have been released for mainnet and all code is available in the Light Client repository. As this release still has its limitations and is a beta release, it is crucial to read this readme including the security notes carefully before using the software.
This is a patch release to fix the update feature of the dApp. Users of the officially hosted https://lightclient.raiden.network client should ensure to update from v1.1.0 directly to v2.0.1. Please remember that this is still a major release jump and implies a switch to the new contracts. For more information, refer to the notes from the v2.0.0 release.
Raiden dApp
Fixed
- [#3021] Fix version handling to detect client updates
Mainnet Release v.2.0.0 Kṛttikā
🔪 New Raiden Light Client SDK, dApp and CLI
INFO: The Light Client SDK, CLI and dApp are all work in progress projects. All three projects have been released for mainnet and all code is available in the Light Client repository. As this release still has its limitations and is a beta release, it is crucial to read this readme including the security notes carefully before using the software.
We're happy to announce the new major release of the Raiden Light-Client, v2.0.0!
This is a mainnet-ready release. It includes support for the new raiden-contracts v0.40.0, and as so, requires users to ensure their old channels are closed and settled, and as this also includes new UserDeposit (UDC) contracts, users willing to upgrade should also withdraw the service tokens deposited on the old ones to deposit on the new contracts.
Highlights of the release:
- The
raiden dappgot a new quick pay feature. - For the
raiden SDK:- Support for new contract functions
TokenNetwork.openChannelWithDepositso that opening a channel plus depositing can happen in one transaction saving a rough 12% in gas fees per operation. Withdrawing service tokens from the UDC to the main account can now also happen in one transaction. - Faster transfers by encrypting secrets for targets on transfer's
metadata(instead of a challenge/response exchange, which is still the fallback) - Cooperative settlement: instead of waiting the
settleTimeout(default=500 blocks) period before getting the tokens split, cooperating peers can exchange messages attesting the end balance of the respective channels, and get the channel settled in a single step, saving 50% gas compared to the split uncooperative close+settle (fallback).
- Support for new contract functions
Raiden SDK
- [#2949] Allows
Raiden.transfer'soptions.pathsto receive a broader schema, including{ route: Address[]; estimated_fee: Int<32>; address_metadata?: ... }[], needed to support CLI'spathsparameter of/paymentsendpoint - [#2953]
config.gasPriceFactorapplies overmaxPriorityFeePerGas, using the new fee parameters from London when possible; now, by default, no fee parameters are specified, leavingethersand provider (e.g. Metamask) to figure out best gas fees, fixing [#2952]; - [#2965] Add +5%
gasLimitmargin on transactions which are successfuly estimated, to avoid running out of gas on narrow calls. - [#3012] Updated raiden-contracts to v0.40
Removed
- [#2965] Remove
options.subkeyon certainRaidenpublic methods; if you need to force subkey or main account usage for single txs, setconfig.subkeythen reset after tx is sent; default behavior is kept
Fixed
- [#2913] Fix crash when starting client with
userDepositContractAddressas contracts entrypoint on aTokenNetworkRegistrywith no registered tokens yet - [#2963] Don't set channel as
closinguponchannelClose.request, allowing user to cancel Metamask's prompt and keep an usable channel; Channel becomesclosingonly after tx is sent
Raiden Dapp
Added
- [#2882] Add new quick pay feature
Raiden CLI
- [#2949] Passthrough
/paymentsparameters, includingpaths, which should receive pre-fetched route in the format{ route: Address[]; estimated_fee: NumericString; address_metadata?: MetadataMap }[]. - [#2971] Allow appending
:<block>to--user-deposit-contract-address=option, to start scanning since this block instead of genesis
Testnet Pre-release v2.0.0-rc.2
🐎 New Raiden Light Client SDK, dApp and CLI Pre-Release
INFO: The Light Client SDK, CLI and dApp are all work in progress projects. All three projects have been released for mainnet and all code is available in the Light Client repository. As this release still has its limitations and is a beta release, it is crucial to read this readme including the security notes carefully before using the software.
This is a pre-release (for testing only) of the next version of the light-client. It includes support for the new raiden-contracts v0.40.0rc0, and as so, requires users to ensure their old channels are closed and settled, and as this also includes new UserDeposit (UDC) contracts, users willing to upgrade should also withdraw the service tokens deposited on the old ones to deposit on the new contracts.
Highlights of the release:
- The
raiden dappgot a new quick pay feature. - For the
raiden SDK:- Support for new contract function
TokenNetwork.openChannelWithDepositso that opening a channel and depositing can happen in one transaction saving gas. - Support for
UserDeposit.withdrawToBeneficiaryfunction on the UDC so that users can withdraw tokens directly to their main account instead of their subkey account saving vital gas. - Ensuring capabilities are updated when they change and delaying non-closing auto settle to prevent wasted gas.
- Support for new contract function
Raiden SDK
Fixed
- [#2798] Delay non-closing auto-settle to prevent wasted gas on channelSettle race; closing side is given priority on auto-settling
- [#2889] Ensure capabilities are updated when they change even if RTC channels are established by reconnecting them.
Added
- [#2891] Use
TokenNetwork.openChannelWithDepositon new contracts for faster open+deposit in a single transaction. - [#2892] Use
UserDeposit.withdrawToBeneficiaryto withdraw from UDC directly to main account
Raiden Dapp
Added
- [#2882] Add new quick pay feature
Testnet Pre-release v2.0.0-rc.1
🧑🍳 New Raiden Light Client SDK, dApp and CLI Pre-Release
INFO: The Light Client SDK, CLI and dApp are all work in progress projects. All three projects have been released for mainnet and all code is available in the Light Client repository. As this release still has its limitations and is a beta release, it is crucial to read this readme including the security notes carefully before using the software.
This is a pre-release (for testing only) of the next version of the light-client. It's a major version bump because it includes support for the new raiden-contracts v0.39, and as so, requires users to ensure their old channels are closed and settled, and as this also includes new UserDeposit (UDC) contracts, users willing to upgrade should also withdraw the service tokens deposited on the old ones to deposit on the new contracts.
One of the main features of the new contracts is to support cooperatively settling channels, also implemented on this client version, which allows cooperating clients to close and settle channels in a single transaction, without having to wait settleTimeout (default of 500 blocks) in order to settle and retrieve the funds. This is automatically done if possible when trying to close a channel (Raiden.closeChannel SDK method).
This release should be compatible with old contracts and clients, but defaults to the new deployment information, so if you want to run it on the old contracts, you may need to specify the contracts information manually (e.g. by running the CLI with --user-deposit-contract-address=0xD145252daB9323F9Acb70295d6a0589c611F225d for Göerli).
Raiden SDK
Added
- [#2839] Cooperative settlement - allow users to exchange withdraw signatures enabling settling a channel instantly. This is the new default behavior on
Raiden.closeChannel, falling back to default uncooperative close if needed.