Skip to content

Releases: anoma/namada

Namada 0.38.1

31 May 09:30
v0.38.1
883bd0f
Compare
Choose a tag to compare

Namada 0.38.1 is a patch release that fixes a license issue with the last minor release needed to build binaries in CI.

Namada 0.38.0

31 May 06:58
Compare
Choose a tag to compare

Namada 0.38.0 is a minor release that upgrades the MASP and events and also cleans up dependencies.

BUG FIXES

  • Fixed the fee collection logic in finalize_block to match that of
    process_proposal. (#3075)

IMPROVEMENTS

  • Improved masp vp verification to run in parallel.
    (#2972)
  • Removed any dependency on the specific transaction data from the masp vp.
    (#3232)
  • Add a new event attribute facility to track events to their origin
    in Namada's source code. This is useful for debugging purposes.
    (#3268)
  • Include the used MASP randomness parameters in the test vectors.
    (#3296)
  • Replaced unmaintained config-rs to an unreleased version
    that replaces its also unmaintained yaml dependency.
    (#3305)
  • Upgrade wasmer vm to upstream version 4.3.1,
    moving away from the forked code based on version
    2.3.0
    .
    (#3308)
  • Allow nodes to schedule a migrations json to be read and run to facilitate hard-forking. This is done by
    taking a migrations json and passing the path, a hash of the contents, and a block height to the node when
    starting the ledger. (#3310)
  • Store IBC denom when minting the IBC token
    (#3317)
  • Switched from wee allocator to rlsf for WASM.
    (#3331)

Namada 0.37.0

24 May 04:01
Compare
Choose a tag to compare

Namada 0.37.0 is a minor release that adds replay protection entries to consensus and enables merklizing data without diffs.

FEATURES

  • Enable to write data to be updated in the subspace and Merkle tree, but not to
    be updated in diffs (#3293)

IMPROVEMENTS

  • Revert IBC transaction wasm not to use host_env function.
    But it required to enable floating-point support again
    (#1831)
  • Audit TODOs in the codebase.
    (#3234)
  • Replay protection entries need to be verifiable and thus should contribute to the app hash. This PR makes
    a cryptographic commitment to all replay protection entries (the root of some implicit merkle tree) which is itself
    merklized. (#3284)

Namada 0.36.1

22 May 07:33
v0.36.1
c7d79f4
Compare
Choose a tag to compare

Namada 0.36.1 is a patch release that updates the Rust toolchain to 1.78.0 and fixes a couple minor issues with the last minor release.

BUG FIXES

  • Switch off the "mainnet" feature by default for now.
    (#3287)

IMPROVEMENTS

  • Updated Rust toolchain to v1.78.0.
    (#3254)

Namada 0.36.0

21 May 16:52
v0.36.0
10e4067
Compare
Choose a tag to compare

Namada 0.36.0 is a minor release includes various improvements, refactorings, dependencies clear-up and updates, and a new feature that enables to batch transactions.

BUG FIXES

  • Light SDK objects must be clone-able.
    (#2817)
  • Harden the implementation of BorshDeserialize on ProposalBytes.
    Moreover, avoid using magic numbers when configuring CometBFT.
    (#3220)
  • Default to consensus minimum gas price for some token
    when the node-local value set by a validator is lower.
    (#3228)
  • Do not submit a tx to reveal a PK when --force flag is used with a
    transaction. (#3245)

FEATURES

  • Introduced transaction batches.
    (#1356)

IMPROVEMENTS

  • Upgrade docker base images to Debian 12 (Bookworm) (#2975).
  • Make the internals of ValueSum (in the masp crate) private so we know that invariants of representation are maintained. (#3195)
  • Clean up init/join network CLI commands and the gen_localnet.py script.
    (#3196)
  • Disallow use of floats in WASM.
    (#3209)
  • Sanitized unchecked arithmetics and conversions in the codebase.
    (#3214)
  • Removed fee unshielding from wrapper transactions.
    (#3217)
  • Dependency cleanup: remove unused ones, upgrade those with
    security vulnerabilities, reduce the number of transitive deps.
    (#3218)
  • Bump tendermint-rs, tower-abci and ibc-rs
    (#3225)
  • Extends claps Arg and Command types with namada traits. These add configurable line wrapping and
    hyphenation policies. Also sets help to always be on the next line, but this is easily changeable later.
    (#3226)
  • Removed the remaining references to ferveo.
    (#3241)
  • Lint for left-over debug and print statements.
    (#3257)
  • Remove unused WASM memory export.
    (#3258)
  • Separated the apps library code from binaries code into a new crate
    namada_apps_lib. (#3259)
  • Updated the masp vp to accept multiple transfers in a single transaction.
    (#3264)
  • Separated the node library code from other apps lib code into a new crate
    namada_node. (#3265)
  • Refactor wasm host references code.
    (#3273)

MISCELLANEOUS

  • Emit CLI warning log msg on non 64-bit node hardware.
    (#3215)
  • Update tower-abci to fix windows build.
    (#3216)

Namada 0.35.1

09 May 16:07
v0.35.1
4ed6229
Compare
Choose a tag to compare

v0.35.1

Namada 0.35.1 is a patch release that fixes a couple build issues with the last minor release.

Namada 0.35.0

09 May 16:45
Compare
Choose a tag to compare

v0.35.0

Namada 0.35.0 is a minor release that refactors events, widely implements checked arithmetics, refactors balances, and makes various other improvements across MASP and other crates needed for mainnet readiness.`

BUG FIXES

  • Resolved the frozen IBC client issue by updating ibc-rs to 0.52
    (#3011)
  • Set the height for abci_query response
    (#3065)
  • Wasm transactions are now governable via proposals.
    (#3100)
  • Verify the checksum of dowloaded wasm artifacts, before completing the ledger's
    bootup procedure. (#3119)
  • Fixed a race condition in pre-compiled WASM cache.
    (#3181)

IMPROVEMENTS

  • Removed the MASP pin key.
    (#2675)
  • Refactor CliToSdk to propagate errors from fallible conversions
    (#2832)
  • Remove the epoch field from the wrapper tx.
    (#2946)
  • Refactor and modularize the token balance and supply API.
    (#3029)
  • Prohibit unchecked arithmetics and conversions in the core crate.
    (#3074)
  • Emit core events (i.e. namada_core::event::Event) from tx wasms.
    (#3088)
  • Move event types to their appropriate crates.
    (#3102)
  • Refactor governance events.
    (#3104)
  • Emit balance change events for various protocol actions.
    (#3141)
  • Client improvements related to valid thresholds for mutlisig accounts and PGF
    steward submissions. (#3154)
  • Remove unbounded token and owner balance queries from the CLI, in
    an attempt to reduce strain on the RPC servers of full/validator nodes.
    (#3171)
  • Removed the unused delta_map from the shielded context.
    (#3172)

IMRPOVEMENTS

  • Improve vote proposal logic transaction.
    (#3120)

TESTING

  • Add IBC E2E test with Gaia
    (#2232)

Namada 0.34.0

27 Apr 01:41
Compare
Choose a tag to compare

Namada 0.34.0 is a minor release that makes many different improvements to the protocol, transaction format, and user experience essential for the mainnet candidate software.

BUG FIXES

  • Fixed a bug in the masp vp that allowed a shielding transaction to reveal
    nullifiers. (#2621)
  • Fix dry-run for ibc-transfer by checking previous header's time
    (#2730)
  • Checks that a MASP key was changed when identifying a MASP tx (#2684)
  • Fix the denomination for PGF over IBC to use the one of the token
    (#3085)
  • Ensure that date-time generator conforms to RFC 3339.
    (#3130)
  • Removed block hash and all the associated functions that were using it.
    (#3136)

IMPROVEMENTS

  • Update the PoS state machine test to include validator deactivation and
    reactivation transitions. (#2605)
  • Fee unshielding now charges gas fees.
    (#2619)
  • Refactors GasLimit and removes unused methods and constants.
    (#2620)
  • Previously on startup, the merkle root persisted was trusted to agree with the persisted db. Now a flag can be see to remerkelize storage and check against the saved root. (#2778)
  • Adds masp commitment tree anchor keys to the merkle tree.
    (#2794)
  • After auditing the abci++ shims, found some small cleanups.
    (#2861)
  • Borsh serialize all values except for IBC-related data written to storage
    (#2868)
  • Refactoring rocksdb.rs (#2938)
  • Simplified the replay protection implementation. Improved tests.
    (#2956)
  • Set a shared gas limit default value for both the client and
    the SDK. Removed the default implementation of gas limit.
    (#2981)
  • Various small changes to client and logging, largely related to PoS.
    (#3031)
  • Optimize the finding of validators to which a delegator has bonds at a
    given epoch. Now keeps data in storage rather than iterating over all bonds.
    (#3043)
  • Fixes various dynamics of the execution of governance proposals and their
    voting period. (#3087)
  • Adds the validator established account address to the wallet
    upon join-network or post-genesis validator initialization.
    (#3093)
  • Add max allowed latency between the current epoch and a proposal start epoch
    to genesis params. (#3107)
  • Use token functions from the token crate inside the tx_prelude.
    (#3109)
  • Separate the temporary key-values in write-log to simplify the implementation.
    (#3110)
  • Improve a client error message
    (#3116)
  • Adjusted hardware wallet test vectors to simplify hardware wallet app
    (#3122)
  • Set a default expiration for transactions when no value is provided.
    (#3123)

MISCELLANEOUS

  • Remove the show-transfer CLI command.
    (#3121)
  • Switched back to upstream tower-abci v0.11.1.
    (#3137)

Namada 0.33.0

12 Apr 13:34
v0.33.0
97ec5b4
Compare
Choose a tag to compare

Namada 0.33.0 is a minor release that contains various new features, improvements and bug-fixes.

BUG FIXES

  • Fix the setting of the last update field in an Epoched data structure.
    (#2667)
  • Use indexmap maps and sets in favor of std collections, to avoid
    iteration order related bugs in the state machine code of Namada.
    (#2685)
  • Fixed the StorageRead implementation and vp host functions to ignore
    temporary writes. (#2735)
  • Fix the balance query not to show ibc tokens as default
    (#2809)
  • Adjusts the tx allowlist check to not prevent fee payment.
    (#2819)
  • Reduce the gas cost of prefix iterator in IBC transactions
    to match the cost of prefix iterator elsewhere.
    (#2848)
  • Fix client bug that now ensures that a validator with
    delegations but no self-bonds can vote in governance.
    (#2877)
  • Only use addresses from first storage key segments to
    determine which VPs should be triggered by storage changes.
    (#2928)
  • Replaced DB key-val diffs pruning of non-persisted keys that searched for the
    last diffs and was degrading throughput with a separate DB column family that
    is pruned on every block.
    (#2964)

FEATURES

  • Support NFT transfer over IBC
    (#2316)
  • IBC rate limit for deposits into and withdrawals out of Namada
    (#2552)
  • Add ibc-token command to get a list of IBC tokens
    (#2729)
  • Removes offline governance as a proposal option.
    (#2803)
  • Add a parameter to enable/disable native token transfers
    (#2842)
  • Added a utility to generate Borsh schemas for external collaborators.
    (#2931)
  • Prohibit jailed or inactive validators from voting in governance.
    (#3004)

IMPROVEMENTS

  • IBC shielded transfer with Hermes support
    (#2449)
  • Remove last staked ratio and pos inflation amount from
    Parameters and initialize them in pos genesis initialization.
    (#2559)
  • Only process 1 slash per validator per block height.
    (#2574)
  • Refactor inflation with a standalone PD controller module. Then the
    PoS and shielded inflation modules are wrappers around this controller.
    (#2575)
  • Instead of having every user tx be executed across two blocks, the first executing a wrapper and the
    second executing the main payload, this change makes it so that the entire tx is executed in a single
    block (or rejected). (#2627)
  • Only load governance proposals on a new epoch right before execution.
    Decoupled the logic from the Shell and implemented in the gov crate.
    (#2630)
  • Adds a transaction's code and data section hashes as additional
    sources of entropy, to compute an established account's address.
    (#2781)
  • Refactor the events code in Namada. Now, we emit events
    with type safe wrappers around the events' attributes.
    (#2787)
  • Split up WASM transaction and validity-predicates into individual crates to
    improve build time. (#2795)
  • Avoid reconstructing wasm result buffer with unsafe code.
    (#2813)
  • Improved the gas metering system to track gas at runtime in wasm.
    (#2838)
  • Limit the character length of the validator metadata strings.
    (#2845)
  • Use clippy to disallow usage of fns to get current date/time unless explicitly
    allowed. (#2849)
  • Replace eyre!() errors with namada_storage errors.
    (#2852)
  • Commit gas costs of applied transactions to new commit-only merkle tree store.
    (#2926)
  • Remove unnecessary decimal digits in Ledger test vectors.
    (#2932)
    This PR moves many e2e tests over to integration test. In the future, it may be possible to move more
    tests over. Moving some of these tests over revealed issues and these have also been resolved,
    including #2927. (#2933)
  • Some transactions now use temporary storage (only kept for the duration of
    the tx execution and VPs validation) to indicate what actions were applied to
    validity predicates that use the information to decide who has to authorize
    the transaction. (#2934)
  • Change the return type of a VP's predicate function to a Result of unit or
    some error. In case Namada users perform invalid state changes, they should
    be met with more descriptive error messages explaining the cause of their tx's
    rejection. (#2940)
  • Return error messages from tx execution, instead of aborting execution with no
    context. (#2958)
  • Simplified gas metering for code compilation and validation.
    (#2982)
  • For inflation computations and the relevant RPC, don't
    include the PGF balance in the total native supply
    (#3002)

MISCELLANEOUS

  • Disable Ethereum Bridge functionality at compile time.
    (#2602)

SDK

  • move query_ibc_tokens and lookup_ibc_token_alias to sdk
    (#2729)
  • Add a new method to the sdk to change a validator consensus key.
    (#3037)
  • Improve the function to update an enstablished address via the sdk.
    (#3039)

TESTING

  • Improved unit tests for fee payment.
    (#2914)

Namada 0.31.10

25 Mar 15:32
Compare
Choose a tag to compare

Namada 0.31.10 is a patch release for the shielded expedition to help facilitate a hard fork.