Skip to content

Releases: anoma/namada

Namada 1.0.0

29 Nov 18:56
v1.0.0
18d2ef0
Compare
Choose a tag to compare

v1.0.0

Namada v1.0.0 is the first stable release of the Namada apps.

MISCELLANEOUS

  • updated namada libraries to libs-v0.46.1
    (#4123)

Namada libs 0.46.1

29 Nov 18:06
libs-v0.46.1
b24938e
Compare
Choose a tag to compare

Namada 0.46.1 is a libraries patch release containing couple improvements and a bug fix in preparation for a stable apps release.

BUG FIXES

  • Only write a dummy validator to CometBFT's genesis if the number of validators
    present is lower than 2. (#4116)

IMPROVEMENTS

  • Improved the client's retry logic on failed shielding transactions
    to avoid resubmissions on rejections other than the MASP vp ones.
    (#4071)
  • Updated the query-protocol-parameters command to display some missing
    parameters. (#4083)

MISCELLANEOUS

  • Starting from the next release the Namada binary apps (namada, namadan,
    namadac and namadaw) will be versioned separately from the libraries
    (everything else including the wasm). The libraries releases will have their
    tag prefixed with "lib-" and will continue with the current versioning scheme.
    (#4117)

Namada 0.46.0

21 Nov 21:43
v0.46.0
cc531ec
Compare
Choose a tag to compare

Namada 0.46.0 is a minor release containing important bug-fixes and various improvements.

BUG FIXES

  • Added validation of the transaction's memo in the validity predicates to catch
    any possible tamperings. (#3960)
  • fix unshielding NFT transfer via IBC
    (#4025)
  • Validate validator metadata from on-chain validator creation and metadata
    changes. (#4036)
  • CLI: Allow to wrap a raw tx signed by someone else.
    (#4055)
  • Use the base denom in the given IBC token as it is
    (#4060)
  • fix the cli command 'namada client reveal_pk' to respect the
    '--dump-tx' and '--dump-wrapper-tx' flags when present. this
    allows offline accounts to reveal their public keys to the network
    (#4061)

DOCS

  • Fixed broken link to CometBFT installation instructions in README.md
    to ensure users can properly access the installation guide.
    (#4006)

FEATURES

  • Adds a cli command to estimate the amount of MASP rewards that will be accumulated by the next epoch.
    This is done by applying the latest set of conversions for each asset again.
    (#3974)

IMPROVEMENTS

  • Improve MASP insufficient balance errors.
    (#4003)
  • Added more info to gas failure errors. (#4004)
  • Improve the shielded sync's ledger client performance and user experience.
    (#4016)
  • Avoid updating merkle paths of spent notes. This should optimize
    the synchronous path of the shielded sync on the ledger client.
    (#4018)
  • The speculative shielded context now avoids updating its
    state if the transaction failed. Added a test for it.
    (#4019)
  • Some small fixups learned from the dry-run: namadac
    staking-rewards-rate, namadac query-proposal, log.
    (#4021)
  • Improved the display of transactions' results.
    (#4039)
  • Prune old Merkle tree snapshots which are saved every block
    (#4043)
  • Client now prints help messages on missing arguments.
    (#4047)

TESTING

  • Added property testing for malleability attacks on transactions.
    (#3925)
  • Add IBC E2E tests for NFT transfers
    (#4025)

Namada 0.45.1

07 Nov 16:05
v0.45.1
207fe50
Compare
Choose a tag to compare

Namada 0.45.1 is a patch releases that fixes an issue with release packaging.

Namada 0.45.0

07 Nov 15:20
v0.45.0
91c470f
Compare
Choose a tag to compare

Namada 0.45.0 is a minor release with various bug-fixes and improvements.

Note that this release is missing pre-packaged binaries, which will be shipped with v0.45.1.

BUG FIXES

  • Fixed the masp indexer client not being able to fetch the notes index from the
    namada-masp-indexer. (#3860)
  • Fix prefix iterators for batched transactions in the write log.
    (#3926)
  • Update flume to v0.11.1. This fixes some crashes
    when it is compiled to wasm and runs under a web browser.
    (#3947)
  • Fix a variety of MASP rewards related client bugs. Moreover, add
    regression tests that cover the expected behavior. The client logic
    that made MASP fee payments possible was also dramatically simplified,
    making this code easier to maintain in the foreseeable future.
    (#3959)
  • Fix the prefix separator for config key-vals set from env var to a
    single underscore between the "NAMADA" prefix and the rest of the path.
    (#3971)
  • Enforce gas spending key usage with disposable gas payers.
    (#3979)

FEATURES

  • Added the possibility to selectively dump a wrapper
    transaction and produce an offline signature for gas payment.
    (#3900)

IMPROVEMENTS

  • Refactored tx crate modules and slightly improved its API.
    (#3835)
  • Improved batch construction to reduce the size of the resulting tx.
    (#3882)
  • SDK query to get liveness information for the network and consensus validator
    set. (#3899)
  • Improved the mesagges related to gas errors in
    process_proposal and mempool validation. Added more tests.
    (#3928)
  • Fixes display of tx allowlist in query-protocol-parameters.
    Improves some error messages. Improves two standard client queries.
    (#3940)
  • Adjust the gfas parameters such that the price in NAM of the simplest tx is
    reduced to 0.5 NAM. (#3956)
  • Add new useful client utilities.
    (#3968)
  • Removed the disposable-gas-payer cli argument for custom transactions.
    (#3969)
  • Streamlined the error propagation of masp fee payment. Improved the logs
    provided to the user. (#3983)

MISCELLANEOUS

  • The make build recipe now builds in release. Use make build-debug for a
    dev build. (#3971)

TESTING

  • Added more unit and integration tests for the MASP, including tests with
    transaction batches. (#3840)
  • Added testing for batched tx events.
    (#3857)
  • Added test for gas payment with an IBC token.
    (#3866)
  • Added tests in crates/sdk/signing.rs
    (#3924)
  • Increase the default masp fee payment gas limit to 65000 in genesis
    localnet files. Moreover, add additional test cases for MASP fee unshields.
    (#3982)

Namada 0.44.1

11 Oct 15:32
v0.44.1
675e933
Compare
Choose a tag to compare

Namada 0.44.1 is a patch release with various fixes, improvements and refactors.

BUG FIXES

  • Fixed the masp indexer client not being able to fetch the notes index from the
    namada-masp-indexer. (#3860)

IMPROVEMENTS

  • Refactored tx crate modules and slightly improved its API.
    (#3835)
  • Improved batch construction to reduce the size of the resulting tx.
    (#3882)
  • SDK query to get liveness information for the network and consensus validator
    set. (#3899)

TESTING

  • Added testing for batched tx events.
    (#3857)
  • Added test for gas payment with an IBC token.
    (#3866)

Namada 0.44.0

26 Sep 10:58
v0.44.0
36ca7c3
Compare
Choose a tag to compare

Namada 0.44.0 is a minor release containing various fixes for shielded tokens, shielded sync, IBC and its interaction with shielded tokens and various other improvements.

BUG FIXES

  • Support only a transparent address as a refund target of IBC shielding
    transfer (#3620)
  • Make transfers with same source and destion a no-op.
    (#3675)
  • Fix path to compiled WASMs that's validated during join-network.
    (#3694)
  • Now we propagate the error coming from
    is_proposal_accepted instead of falling back on a default.
    (#3700)
  • Handle errors when loading wallet file and only create a new one if not found.
    (#2151)
  • Fixed the SDK to generate MASP transactions with the correct expiration (if
    provided). (#3724)
  • Enable the signing logic to fall back to the hardware wallet
    if a secret key is not found in software wallet store.
    (#3730)
  • The multitoken vp now checks that the involved parties
    validate the transaction. Improved tests and transfer code.
    (#3804)
  • The masp ref events are now published in a single collection
    enforcing a correct ordering. Fixed the shielded sync command
    to account for multiple masp transactions in a single tx.
    (#3821)

IMPROVEMENTS

  • Add optional height parameter to get_token_balance
    (#3530)

  • Improved the consistency and safety of MASP events construction in protocol.
    (#3669)

  • Reorganized some types and modules and refactored crates re-
    exports, error handling features and removed unused depdendencies.
    (#3670)

  • Removed the dev dependencies of wasm-for-tests.
    (#3676)

  • Improved the user experience of the secret key decryption process.
    (#3681)

  • Addresses the remaining points of Issue #3307

    • Implements the OfferSnapshot ABCI call
    • Implements the ApplySnapshotChunk ABCI call
    • Adds integration tests

    (#3687)

  • Improved some governance messages and cli commands arguments.
    (#3689)

  • Updated toolchain to Rust 1.81.0.
    (#3690)

  • Include some CLI commands for querying the total supply of any token
    and the effective total circulating supply of the native token.
    (#3691)

  • Only re-exporting tendermint-rs v0.37 modules.
    (#3697)

  • Made the disposable-gas-payer cli arg specific to some transactions.
    (#3699)

  • Optimize the format of snapshots taken for state syncing purposes.
    Snapshots are taken over the entire RocksDB database, packaged into
    a zstd compressed tar archive, and split into 10 MB chunks.
    (#3701)

  • Implement serde::Serialize for GovernanceParameters, PosParams, OwnedPosParams
    (#3702)

  • Change the quorum for voting on a default governance proposal from 2/3 to 40%.
    (#3703)

  • Improve the format of dumped txs. Added command to
    generate signature without requiring a network connection.
    (#3715)

  • Moved governance shell sub-module into governance crate using dependency-
    injection. (#3718)

  • If an additional reveal_pk transaction is required, the client now groups
    it with the actual transaction into a single batch instead of submitting it
    separately. (#3720)

  • Improve the proposal result query to be more descriptive and detail
    the validator voting period. Fix some other small logging bugs.
    (#3728)

  • Switched to use typed ChainId instead of a string in all fn get_chain_id.
    (#3733)

  • Add an RPC endpoint for the consensus validator set in the SDK.
    (#3734)

  • Update tendermint-rs, ibc-rs and tower-abci
    (#3735)

  • Refactored token transfer functions and fixed checks for no-op conditions.
    (#3736)

  • Support dynamically joining ledger managed tasks. With this change, adding
    or removing managed tasks from the ledger should be a far easier process to
    contend with. (#3741)

  • Factored most of the masp code out of the sdk and into shielded token crate. These
    required the creation of two futher crates: "namada_io" and "namada_wallet". (#3744)

  • Increased the gas cost for storage consumption and improved gas tracking for
    masp fee payments. (#3746)

  • Upgrade CometBFT to v0.37.11.
    (#3751)

  • Remove namada-relayer from the build.
    (#3752)

  • Improve error and help messages to clarify that a .tx
    file is expected as input to --tx-path for a custom tx.
    (#3757)

  • Miscellaneous improvements and bug fixes to the dry run command.
    (#3758)

  • Check the string length of the validator name in provided metadata.
    (#3779)

  • Improve the CLI query-protocol-parameters.
    (#3788)

  • Improved the invariants and the usage of the Gas type.
    (#3792)

  • Propagate "std" feature from SDK to wallet crate.
    (#3795)

  • Improve the logging options for querying MASP conversions.
    (#3805)

  • When calling init chain, we now verify that the native token alias has masp
    parameters set. (#3806)

  • Refactored most native VPs to be agnostic to VP environment (WASM or native).
    (#3807)

  • Adds an SDK and CLI tool to estimate the latest annual staking rewards rate.
    (#3816)

  • Reduced the number of a tx event's masp attributes to a single one.
    (#3826)

  • Remove relayer help messages from namada binary.
    (#3830)

  • Let user customize the pre-genesis chain-id via environment variable
    (#3833)

  • Validate a chain ID of genesis on ABCI InitChain request
    prior to applying it to ensure it's not been tampered with.
    (#3843)

TESTING

  • Clean IBC E2E tests and refine IBC client upgrade test with Gaia
    (#3601)
  • Updated the gaia e2e tests to use the MASP internal address instead of
    the payment address as the receiver of an IBC shielding transaction.
    (#3626)
  • Augment the functionality of gen_localnet.py with the ability
    to generate full node base directories. Moreover, add a new script
    to boot up a localnet with two genesis validators or a full node.
    (#3680)

Namada 0.43.0

19 Aug 10:38
Compare
Choose a tag to compare

Namada 0.43.0 is a minor relasing improving shielded sync and addressing some pre-genesis flow issues.

BUG FIXES

  • Fix genesis bonds from implicit accounts. Now, only addresses
    of the form tnam1... are supported in balances.toml.
    (#3645)

FEATURES

  • Partially addresses Issue #2900. Viewing and spending keys can now
    be given birthdays in the form of block heights which are loaded into
    shielded sync. Shielded sync will not try to decrypt a block before a
    keys birthday with said key. (#3653)
  • The command namadan utils test-genesis now accepts --check-can-sign
    multi-arg that can be used with genesis addresses and/or public keys to
    verify that a pre-genesis wallet in the base directory is able to sign
    with the keys associated with the addresses or with the keys themselves.
    (#3660)

IMPROVEMENTS

  • Removed parallel gas accounting.
    (#3615)
  • Improve governance client side validation.
    (#3629)
  • Masp vp and protocol now ensure that a transaction can push at most one MASP
    action. (#3632)
  • Do not load context for namadan utils test-genesis command.
    (#3652)
  • Speeds up client commands on networks with massive balances.toml
    files. Previously, to retrieve the native token of some network,
    we had to parse these giant files. Now, we only parse the
    necessary genesis toml files required to retrieve the native token.
    (#3655)

SDK

  • Parallelize the shielded sync implementation in Namada.
    (#3578)

TESTING

  • Added fuzz testing targets for txs in mempool, block proposals and finalize
    block. (#3445)
  • Add IBC client upgrade test
    (#3535)

Namada 0.42.0

14 Aug 07:28
v0.42.0
4cd4356
Compare
Choose a tag to compare

Namada 0.42.0 is a minor release that includes refactor of crates dependency graph using dependency injection, improvements in client check and node's stability.

BUG FIXES

  • Workaround Windows problems to be able to build on it.
    (#3553)
  • Improve client side checks for update-account transaction.
    (#3566)
  • Do not load shed tower-abci info service.
    (#3576)
  • No-op instead of error in wasm for withdraw txs if no tokens are available
    to withdraw. Automatically submit reveal pk tx for source for shielding
    transfers. (#3594)
  • Fix the behavior of the MASP VP when processing an IBC Receive message
    involves unescrowing. (#3611)

FEATURES

  • Added support for Ledger wallet TCP transport.
    (#3593)

IMPROVEMENTS

  • Added two new crates, namada_vm and namada_vp and removed namada crate that
    contained various loosely related code. Moved the native VP implementations
    to the relevant crates and replaced their cross-dependencies with dependency-
    injection. (#3402)
  • Replaced cross-system dependencies in namada_shielded_token crate with
    dependency-injection. (#3466)
  • Added a new namada_systems crate to contain abstract systems interfaces,
    previously added to core crate. Also switched to use the concrete
    storage error and result type instead of the generic associated
    type which reduces the amount of typing needed one the caller side.
    (#3472)
  • Replaced cross-system dependencies in namada_governance crate with dependency-
    injection. (#3482)
  • Replaced cross-system dependencies in namada_proof_of_stake crate with
    dependency-injection. (#3497)
  • Decode asset types to addresses when generating test vectors if possible.
    (#3507)
  • Replaced cross-system dependencies in namada_ibc crate with dependency-
    injection. (#3509)
  • Improved tracing messages regarding MASP fee payment.
    (#3547)
  • Updated the gas costs based on benchmarks ran on v41.
    (#3554)
  • Removed unnecessary trait bound from declarations.
    (#3577)
  • Fxing comments and strings.
    (#3589)
  • Improved the max_block_time estimate.
    (#3591)
  • Refactor signature fetching data.
    (#3592)
  • Do not try to download wasms artifacts from an untrusted source.
    (#3598)
  • Support additional address kinds in balances.toml genesis file.
    Previously, only established addresses and public keys were supported.
    (#3614)
  • Display the hash of the proposal wasm code when querying proposals with
    associated wasm payload. (#3617)

Namada 0.41.0

24 Jul 23:48
Compare
Choose a tag to compare

Namada 0.41.0 is a minor release that primarily improves gas, fixes bugs related to signature verification and a memory leak from a dependency, and includes shielded sync upgrades.

BUG FIXES

  • Adds SDK builder to shielded and shielding transfers.
    (#3518)
  • Workaround a leak in wasmer store.
    (#3529)
  • Client fixes that include using the correct total voting power to compute a
    proposal result and also the correct voting threshold for steward proposals.
    (#3540)
  • Fixed a possible panic in transaction signatures verification missing expected
    signature(s). (#3543)

CI

  • Fixed a broken e2e test for db migrations. Added it to the list of e2e test to be run by the CI.
    (#3481)

IMPROVEMENTS

  • Moved the signature verifications out of the masp vp and into the affected
    addresses' vps. (#3312)
  • Implements phase 1 of Issue #3385
    • When fetching notes, connections and related failures should not halt shielded sync. Instead, the process
      should be restarted

    • If fetching is interrupted, the data fetched should be persisted locally so that progress isn't lost.

    • A trait for fetching behavior should be added to provide modularity

      (#3498)

  • Improved the interface of the gas type. Removed the duplicated gas used from
    events. (#3428)
  • Implement the phase 2 masp shielded sync client. This client uses
    a namada-masp-indexer instance to query the state of the shielded context.
    (#3456)
  • Minor improvements to governance and PGF code quality, including
    template gov proposal jsons and a python script to attach wasm code.
    (#3471)
  • Modified rechecks of process proposal to actually use process_proposal
    instead of process_txs. Added a caching mechanism to avoid
    running the check for a given proposed block more than once.
    (#3473)
  • Expanded the scope of test vector generation and updated outdated components
    of the test vector code. (#3494)
  • Removes redundant function.
    (#3502)
  • Bump tendermint-rs to 0.37
    (#3506)
  • Increased the gas cost for storage occupation and tied it to the other gas
    costs. (#3510)
  • Eliminates the MASP VPs requirement for all debited accounts to sign a Tx.
    (#3516)
  • Rename and split --memo-path into --ibc-shielding-data and --ibc-memo
    (#3517)