Releases: scs/substrate-api-client
v1.16.0
What's Changed since v0.18.0
🎉 Featuring
- With this release we started using a new versioning strategy.
- Support for balance_transfer_keep_alive
- Implement state handling for Retracted status
⚡ Breaking API changes
🌈 Features
- Implement state handling for Retracted status (#807) @Niederb
- Implement balance_transfer_keep_alive (#775) @Niederb
Miscellaneous
12 changes
- Add documentation for version numbering and releases (#809) @Niederb
- Implement state handling for Retracted status (#807) @Niederb
- Reactivate extrinsic creation unit tests (#805) @haerdib
- Examples: switch to use rococo node (#802) @haerdib
- Update rust toolchain (#803) @haerdib
- Transform "unstable" example into an "new JSON-RPC" example (#798) @Niederb
- Update dependencies (#797) @Niederb
- Fix disk issues with Github runners (#796) @Niederb
- Bump openssl from 0.10.64 to 0.10.66 (#794) @dependabot
- Fix taplo issue in nightly build (#795) @Niederb
- Update some dependencies to the latest version (#793) @Niederb
- Implement balance_transfer_keep_alive (#775) @Niederb
v0.18.0
For
release-polkadot-v1.14.0
use branch release-polkadot-v1.14.0
Forrelease-polkadot-v1.13.0
use branch release-polkadot-v1.13.0
🎉 Featuring
- quickfix to handle new Merkleized metadata
- Better wasm support
- improvements on the build pipeline
What's Changed since v0.17.0
⚡ Breaking API changes
🌈 Features
🐛 Bug Fixes
- Bump rustls from 0.22.2 to 0.22.4 (#763) @dependabot
- Bump h2 from 0.3.24 to 0.3.26 (#758) @dependabot
- Update mio dependency that has a vulnerability (#756) @Niederb
- make stable work for std build (#746) @brenzi
Miscellaneous
20 changes
- Flag to disable metadata hash check (#776) @Niederb
- Wasm test (#772) @Niederb
- Run a cargo update (#786) @Niederb
- Use stabilized transaction calls (#784) @Niederb
- Fix the state_tests (#781) @Niederb
- Use stabilized chainSpec calls in
unstable_rpc_api_calls
(#783) @Niederb - Find working docker image (#780) @Niederb
- Upload Cargo.lock during build (#774) @Niederb
- Create a nightly build (#771) @Niederb
- Better wasm support (#766) @Niederb
- Update rust version to newest nightly (#765) @Niederb
- Bump rustls from 0.22.2 to 0.22.4 (#763) @dependabot
- Bump h2 from 0.3.24 to 0.3.26 (#758) @dependabot
- Update and improve crate-metadata (#757) @Niederb
- Update mio dependency that has a vulnerability (#756) @Niederb
- Rename crate to ac-keystore (#754) @Niederb
- Rename node-template-runtime dependency (#751) @Niederb
- Add the crates.io version numbers for local dependencies (#750) @Niederb
- make stable work for std build (#746) @brenzi
- Update contracts extrinsic (#737) @haerdib
v0.17.0
For
release-polkadot-v1.8.0
use branch release-polkadot-v1.8.0
Forrelease-polkadot-v1.7.2
use branch release-polkadot-v1.7.2
Forrelease-polkadot-v1.7.1
use branch release-polkadot-v1.7.1
Forrelease-polkadot-v1.7.0
use branch release-polkadot-v1.7.0
🎉 Featuring
- The Runtime Api is now supported
- Upon execution error onchain of an extrinsic being watches, the full report is now returned, including all information about the failure.
- Macros are now safe to use: no more unwraps
What's Changed since v0.16.0
⚡ Breaking API changes
- Add failed extrinsic error (#725) @haerdib
- Macros: Return optional extrinsic instead of unwrapping (#709) @haerdib
- Add Encode Decode to ExtrsinicReport and use RawExtrinsicDetails (#704) @haerdib
- Remove sync api jsonrpsee (#699) @haerdib
🌈 Features
- Add Jsonrpsee::new_with_client (#735) @haerdib
- Update metadata (#734) @haerdib
- Add failed extrinsic error (#725) @haerdib
- Rpc-clients: Add creation function with separate address and port (#718) @haerdib
- Add Encode Decode to ExtrsinicReport and use RawExtrinsicDetails (#704) @haerdib
- Split compose_call into two functions (#706) @haerdib
- Add Runtime Api support (#703) @haerdib
🐛 Bug Fixes
- Macros: Return optional extrinsic instead of unwrapping (#709) @haerdib
- Remove sync api jsonrpsee (#699) @haerdib
Miscellaneous
14 changes
- Add unstable rpc api calls example (#736) @haerdib
- Add Jsonrpsee::new_with_client (#735) @haerdib
- Update metadata (#734) @haerdib
- Update DispatchError (#732) @haerdib
- Bump toml versions (#729) @haerdib
- Add failed extrinsic error (#725) @haerdib
- Macros: Return optional extrinsic instead of unwrapping (#709) @haerdib
- Rpc-clients: Add creation function with separate address and port (#718) @haerdib
- Add Encode Decode to ExtrsinicReport and use RawExtrinsicDetails (#704) @haerdib
- Split compose_call into two functions (#706) @haerdib
- Add Runtime Api support (#703) @haerdib
- Update rust-toolchain and dependencies (#715) @haerdib
- Update jsonrpsee to v0.21 (#707) @haerdib
- Remove sync api jsonrpsee (#699) @haerdib
v0.16.0
For
release-polkadot-v1.6.0
use branch release-polkadot-v1.6.0
Forrelease-polkadot-v1.5.0
use branch release-polkadot-v1.5.0
🎉 Featuring
- Library updates (tungstenite, parity scale)
- Small bugfixes and improvements from user issues
What's Changed since v0.15.0
⚡ Breaking API changes
- node-api: Box Error::DecodeValue and Error::EncodeValue (#700) @haerdib
- Fix compile errors of stand-alone features (#677) @haerdib
- Remove deprecated functions (#678) @haerdib
🌈 Features
- node-api: Box Error::DecodeValue and Error::EncodeValue (#700) @haerdib
- Lower log-level of messages of tungstenite and ws-rpc clients (#674) @haerdib
🐛 Bug Fixes
- Update WithExtrinsicParams to use ExtrinsicSigner<Self> (#698) @haerdib
- Fix compile errors of stand-alone features (#677) @haerdib
Miscellaneous
11 changes
- Update WithExtrinsicParams to use ExtrinsicSigner<Self> (#698) @haerdib
- node-api: Box Error::DecodeValue and Error::EncodeValue (#700) @haerdib
- Update to polkadot release v1.4.0 commit (#695) @haerdib
- Update parity scale dependencies (#687) @haerdib
- Update tungstenite and array-bytes (#689) @haerdib
- Create no_std example for extrinsic creation (#556) @Niederb
- Fix compile errors of stand-alone features (#677) @haerdib
- Remove deprecated functions (#678) @haerdib
- Rpc-api author: Clarify comments about blocking functions (#679) @haerdib
- Lower log-level of messages of tungstenite and ws-rpc clients (#674) @haerdib
- Fix feature order in node-api toml (#672) @haerdib
v0.15.0
For
release-polkadot-v1.4.0
use branch release-polkadot-v1.4.0
Forrelease-polkadot-v1.3.0
use branch release-polkadot-v1.3.0
🎉 Featuring
- Several security updates of dependencies
- Support of stable metadata v15 (#657)
What's Changed since v0.14.0
⚡ Breaking API changes
🌈 Features
- Update frame metadata to v16 (#657) @haerdib
- Add trait bounds to config:
Index: Default
,BlockNumber: AtLeast32BitsUnsigned
(#648) @clangenb
🐛 Bug Fixes
Miscellaneous
7 changes
- Add subscription ID recognition to tungstenite and ws-rpc client (#662) @haerdib
- Update all dependencies with
cargo update
(#660) @haerdib - Update frame metadata to v16 (#657) @haerdib
- Bump tungstenite from 0.18.0 to 0.20.1 (#654) @dependabot
- Add trait bounds to config:
Index: Default
,BlockNumber: AtLeast32BitsUnsigned
(#648) @clangenb - Bump aes-gcm from 0.10.2 to 0.10.3 (#651) @dependabot
- Switch to using the new polkadot-sdk (#650) @Niederb
v0.14.0
For
release-polkadot-v1.2.0
use branch polkadot-v1.2.0 or release-polkadot-v1.2.0
Forrelease-polkadot-v1.1.0
use branch polkadot-v1.1.0 or release-polkadot-v1.1.0
🎉 Featuring
get_storage_keys_paged
now allows fetching more than the limited 1000 from Substrate (see #602)submit_and_watch_extrinsic_until
returns an error in case the extrinsic fails to be executed onchain (see #606)- Improved Async support: Subscriptions are now also available (see #612)
- Runtime upgrades can now be detected with the function
detect_runtime_update()
. Examples are available in both sync and async versions (see #635)
What's Changed since v0.13.0
⚡ Breaking API changes
- Rework submit and watch extrinsics (#606) @echevrier
- Rename runtime configs to something more generic (#604) @echevrier
- fetch more storage keys than the maximum limit set by substrate (#602) @echevrier
- Take Bytes parameters as borrow (#601) @Niederb
🌈 Features
- Runtime update detector (#635) @Niederb
- Add EventReport and failed xt check to examples (#615) @haerdib
- Add async support for subscription (#612) @haerdib
- fetch more storage keys than the maximum limit set by substrate (#602) @echevrier
🐛 Bug Fixes
Miscellaneous
14 changes
- Prepare for tag v0.14.0 (#639) @haerdib
- Runtime update detector (#635) @Niederb
- Add unit tests for hash matching for unchecked extrinsic (#636) @haerdib
- bump substrate (#632) @echevrier
- Fix reported extrinsic hash (#629) @haerdib
- Add EventReport and failed xt check to examples (#615) @haerdib
- Update scale-enode and decode to crates.io (#618) @haerdib
- Fix comments of default Configs (#611) @haerdib
- Add async support for subscription (#612) @haerdib
- Update README info on project funding (#610) @masapr
- Rework submit and watch extrinsics (#606) @echevrier
- Rename runtime configs to something more generic (#604) @echevrier
- fetch more storage keys than the maximum limit set by substrate (#602) @echevrier
- Take Bytes parameters as borrow (#601) @Niederb
v0.13.0
For
polkadot-v1.0.0
use branch polkadot-v1.0.0 or release-polkadot-v1.0.0
🎉 Featuring
- Metadata v15 is now supported (see #587)
- Duplicate Substrate type definitions were removed as Substrate features
serde
now (see #580) - New functions:
get_system_account_next_index
andstorage_double_map_key_prefix
(see #573 and #575)
What's Changed since v0.12.0
⚡ Breaking API changes
- Update Metadata, Error and Events (#597) @haerdib
- support metadata v15 (#587) @masapr
- Remove duplicate substrate types (#580) @haerdib
- Update dependencies and rust toolchain (#578) @haerdib
🌈 Features
- add storage_double_map_key_prefix (#568) @bai-3
- Add function
get_system_account_next_index
(#573) @haerdib
Miscellaneous
14 changes
- Prepare for tag v0.13.0 (#600) @haerdib
- Update scale-bits and scale-encode (#599) @haerdib
- Update Metadata, Error and Events (#597) @haerdib
- Introduce folders in node-api to scale down files (#596) @haerdib
- Make
get_system_account_next_index
available forno_std
(#594) @masapr - Bump openssl from 0.10.54 to 0.10.55 (#593) @dependabot
- Update decoder (#589) @haerdib
- Readd
KeystoreExt
toLocalKeystore
(#585) @haerdib - support metadata v15 (#587) @masapr
- Remove duplicate substrate types (#580) @haerdib
- Update dependencies and rust toolchain (#578) @haerdib
- add storage_double_map_key_prefix (#568) @bai-3
- Move
get_system_account_next_index
toGetAccountInformation
(#575) @haerdib - Add function
get_system_account_next_index
(#573) @haerdib
v0.12.0
For
polkadot-v1.0.0
use branch polkadot-v1.0.0-tag-v0.12.0
Forpolkadot-v0.9.43
use branch polkadot-v0.9.43
Forpolkadot-v0.9.42
use branch polkadot-v0.9.42
🎉 Featuring
- Async support for direct request/response communication (see #521)
- Improve Dispatch Errors (see #563)
- Introduce chain api helpers (see #538)
- Support decoding events from the metadata (see #545)
- Small bug fixing (see #535, #524)
- Code clean up (see #522, #532 #534, #541, #563)
What's Changed since v0.11.0
⚡ Breaking API changes
- Improve Dispatch Errors (#563) @echevrier
- Clean up trait bounds (#541) @echevrier
- Add
next_events_from_metadata
and renamenext_event
(#545) @haerdib - Provide async support for direct request/response communication (#521) @Niederb
- Expand chain api (#538) @Niederb
- Clean up dependencies and fix primitives no_std build (#535) @haerdib
- Change generic types of traits to associated types (#534) @haerdib
- Clarify distinction of
Metadata
struct and internalmetadata
field (#532) @haerdib - Update to Substrate commit
7363dce
(#524) @haerdib - Make
pallet-staking
andpallet-contracts
dependencies optional (#522) @Niederb
🌈 Features
- Improve Dispatch Errors (#563) @echevrier
- Add
next_events_from_metadata
and renamenext_event
(#545) @haerdib - Provide async support for direct request/response communication (#521) @Niederb
- Make
pallet-staking
andpallet-contracts
dependencies optional (#522) @Niederb
🐛 Bug Fixes
- Clean up dependencies and fix primitives no_std build (#535) @haerdib
- Update to Substrate commit
7363dce
(#524) @haerdib
Miscellaneous
16 changes
- Remove extra
is
from example println (#559) @haerdib - Improve Dispatch Errors (#563) @echevrier
- Clean up trait bounds (#541) @echevrier
- Provide an async example (#551) @Niederb
- Document feature flags (#558) @Niederb
- Bump wasmtime from 6.0.1 to 6.0.2 (#554) @dependabot
- Add
next_events_from_metadata
and renamenext_event
(#545) @haerdib - Add documentation for the websocket features (#552) @Niederb
- Provide async support for direct request/response communication (#521) @Niederb
- Expand chain api (#538) @Niederb
- Update dependencies and remove GPL v3.0 from accepted licenses (#537) @haerdib
- Clean up dependencies and fix primitives no_std build (#535) @haerdib
- Change generic types of traits to associated types (#534) @haerdib
- Clarify distinction of
Metadata
struct and internalmetadata
field (#532) @haerdib - Update to Substrate commit
7363dce
(#524) @haerdib - Make
pallet-staking
andpallet-contracts
dependencies optional (#522) @Niederb
What's Changed
- Make
pallet-staking
andpallet-contracts
dependencies optional by @Niederb in #522 - Update to Substrate commit
7363dce
by @haerdib in #524 - Add semantic versioning explanation to developer doc by @haerdib in #529
- Add example upgrade section to readme by @haerdib in #530
- Clarify distinction of
Metadata
struct and internalmetadata
field by @haerdib in #532 - Change generic types of traits to associated types by @haerdib in #534
- Clean up dependencies and fix primitives no_std build by @haerdib in #535
- Update dependencies and remove GPL v3.0 from accepted licenses by @haerdib in #537
- Expand chain api by @Niederb in #538
- Provide async support for direct request/response communication by @Niederb in #521
- Add documentation for the websocket features by @Niederb in #552
- Add
next_events_from_metadata
and renamenext_event
by @haerdib in #545 - Bump wasmtime from 6.0.1 to 6.0.2 by @dependabot in #554
- Bump cargo-install to remove Node.js warnings by @haerdib in #557
- Document feature flags by @Niederb in #558
- Provide an async example by @Niederb in #551
- Clean up trait bounds by @echevrier in #541
- Fix CI to run with latest node by @echevrier in #565
- Improve Dispatch Errors by @echevrier in #563
- Remove extra
is
from example println by @haerdib in #559 - Update toml versions for tag v0.12.0 by @echevrier in #567
Full Changelog: v0.11.0...v0.12.0
v0.11.0
For
polkadot-v0.9.43
use branch polkadot-v0.9.43-tag-v0.11.0
Forpolkadot-v0.9.42
use branch polkadot-v0.9.42-tag-v0.11.0
Forpolkadot-v0.9.41
use branch polkadot-v0.9.41
Forpolkadot-v0.9.40
use branch polkadot-v0.9.40
🎉 Featuring
- Full wasm support in
no_std
mode (see #478) - Multiple smaller bug / missing feature fixes (#458, #471, #509, #510, ...)
- Code clean up and improved documentation (#473, #448)
What's Changed since v0.10.0
⚡ Breaking API changes
- check and rework wildcard pub re-export (#473) @echevrier
- Function renamings in
state
api interface + improved documentation (#448) @masapr
🌈 Features
- Add StaticExtrinsicSigner struct (#511) @haerdib
- Add Debug to EventRecord (#509) @haerdib
- Provide
get_account_nonce
method (#508) @Niederb - Support 32 bit architectures (#478) @Niederb
- impl From<Vec<u8>> for StorageKey and remove <Hash> from Balance Trait (#471) @echevrier
- Add
From
implementation toExtrinsicSigner
(#459) @masapr GetAccountInformation
has no contraint onSigner
(#458) @masapr
🐛 Bug Fixes
Miscellaneous
16 changes
- Update rust toolchain (#514) @Niederb
- Add StaticExtrinsicSigner struct (#511) @haerdib
- Fix
ExtrinsicSigner
encoding (#510) @haerdib - Add Debug to EventRecord (#509) @haerdib
- Provide
get_account_nonce
method (#508) @Niederb - Bump openssl from 0.10.45 to 0.10.48 (#484) @dependabot
- Support 32 bit architectures (#478) @Niederb
- check and rework wildcard pub re-export (#473) @echevrier
- update to newest substrate (#479) @echevrier
- Bump wasmtime from 5.0.0 to 5.0.1 (#472) @dependabot
- impl From<Vec<u8>> for StorageKey and remove <Hash> from Balance Trait (#471) @echevrier
- Update to newest substrate commit + cargo update (#462) @masapr
- Add
From
implementation toExtrinsicSigner
(#459) @masapr GetAccountInformation
has no contraint onSigner
(#458) @masapr- Function renamings in
state
api interface + improved documentation (#448) @masapr - Bump tokio from 1.23.1 to 1.24.2 (#447) @dependabot
v0.10.0
For
polkadot-v0.9.43
use branch polkadot-v0.9.43-tag-v0.10.0
Forpolkadot-v0.9.42
use branch polkadot-v0.9.42-tag-v0.10.0
Forpolkadot-v0.9.41
use branch polkadot-v0.9.41-tag-v0.10.0
Forpolkadot-v0.9.40
use branch polkadot-v0.9.40-tag-v0.10.0
Forpolkadot-v0.9.39
use branch polkadot-v0.9.39
Forpolkadot-v0.9.38
use branch polkadot-v0.9.38-tag-v0.10.0
Forpolkadot-v0.9.37
use branch polkadot-v0.9.37-tag-v0.10.0
🎉 Featuring
- Fully generic
UncheckedExtriniscV4
(see #418):- Signature, AccountId and Signer type are no longer hardcoded, but fully adaptable.
- Introduced
ExtrinsicSigner
struct for easy type assignment
submit_extrinsic
(and watch) no longer requires encoded extrinsic, but theUncheckedExtrsinsicV4
itself. This way, the correct extrinsic type is enforced by the compiler. The encoded extrinsic may still be submitted with the newly introducedsubmit_opaque_extrinsic
(and watch). See #421- Introduced new functionality with
fetch_events_for_extrinsic
andfetch_events_from_block
. With these functions, events associated to a specific event or inside a given block can be easily retrieved. Some examples have been adapted to show the use case of these features. See #437. - Extrinsic creation code was heavily simplified and a trait for each implemented pallet was introduced. This allows mocking and better unit testing on the user side. See #434
What's Changed since v0.9.0
⚡ Breaking API changes
- Remove
wait_for_event
and simplify event access insubscribe_events
(#437) @haerdib - Add traits and remove excessive type definition in extrinsic helpers (#434) @haerdib
- Make UncheckedExtrinsicV4 generic (#418) @haerdib
- Enforce
Bytes
and remove obsolete hex-utils (#423) @haerdib - Clean up Api Error and indicate future status clearly (#424) @haerdib
- Enforce
UncheckedExtrinsicV4
forsubmit_extrinsic
and add_opaque_extrinsic
(#421) @haerdib - Clean up extrinsic params builder (#405) @haerdib
- Remove thiserror (#419) @haerdib
🌈 Features
- Remove
wait_for_event
and simplify event access insubscribe_events
(#437) @haerdib - Add traits and remove excessive type definition in extrinsic helpers (#434) @haerdib
- add
fetch_events_from_block
andfetch_events_for_extrinsic
(#429) @haerdib - Make UncheckedExtrinsicV4 generic (#418) @haerdib
- Enforce
Bytes
and remove obsolete hex-utils (#423) @haerdib - Clean up Api Error and indicate future status clearly (#424) @haerdib
- Enforce
UncheckedExtrinsicV4
forsubmit_extrinsic
and add_opaque_extrinsic
(#421) @haerdib
Miscellaneous
13 changes
- Remove
wait_for_event
and simplify event access insubscribe_events
(#437) @haerdib - Add traits and remove excessive type definition in extrinsic helpers (#434) @haerdib
- add
fetch_events_from_block
andfetch_events_for_extrinsic
(#429) @haerdib - Add staking example to CI (#433) @haerdib
- Make UncheckedExtrinsicV4 generic (#418) @haerdib
- add
submit_and_watch_until_success
to examples (#428) @haerdib - Enforce
Bytes
and remove obsolete hex-utils (#423) @haerdib - Clean up Api Error and indicate future status clearly (#424) @haerdib
- Update toolchain to 2023-01-05 (#425) @haerdib
- Enforce
UncheckedExtrinsicV4
forsubmit_extrinsic
and add_opaque_extrinsic
(#421) @haerdib - Bump tokio from 1.23.0 to 1.23.1 (#427) @dependabot
- Clean up extrinsic params builder (#405) @haerdib
- Remove thiserror (#419) @haerdib