Skip to content

Releases: anoma/namada

Namada 0.40.0

05 Jul 22:03
Compare
Choose a tag to compare

Namada 0.40.0 is a minor release that makes many important improvements to shielded actions, DB snapshotting capabilities, batched transactions, and much more.

BUG FIXES

  • Update native token total supply with MASP rewards.
    (#3375)
  • Increase the lifetime of disposable signing keys from 5 minutes to 1 week.
    (#3378)
  • Our DateTimeUtc type allowed a relaxed representation of RFC3339 strings.
    We now enforce a string subset of this format, to guarantee deterministic
    serialization. (#3389)
  • Fix to decode ibc-rs transfer messages
    (#3404)
  • Add replay protection to MASP-IBC transactions.
    (#3409)
  • Respect --wasm-dir on init-network.
    (#3432)
  • Fix IBC shielding transfer for the receiver not to be replaced by a malicious
    relayer (#3438)
  • Fixed MASP witness data malleability in the Tx
    (#3463)

FEATURES

  • Reworked transparent and masp transfers to allow for multiple sources, targets,
    tokens and amounts. (#3356)
  • Added support for fee payment directly from the MASP pool.
    (#3393)

IMPROVEMENTS

  • Moved up the check on the sapling value balance in the masp vp.
    (#2721)

  • Queries methods now requests TryInto trait bound for block heights to reduce
    the conversion error. (#2891)

  • Miscellaneous code optimizations.
    (#3192)

  • Added a namada complete command to generate shell completions. This command
    requires --shell with one of:

    • bash
    • elvish
    • fish
    • powershell
    • zsh
    • nushell

    To use in e.g. bash, run namada complete --shell bash > /usr/share/bash-completion/completions/namada.bash.
    (#3343)

  • Remove the max_expected_time_per_block genesis parameter.
    (#3366)

  • Refactored checked assign arithmetic operations to use smooth-operator macro.
    (#3374)

  • Store total MASP rewards and print them in the conversions query.
    (#3375)

  • Remove the check on the maximum number of signatures allowed per transaction
    (#3380)

  • Resolves the first two points of Issue #3307:

    • Add the ability to create chunkable snapshots to our rocksdb implementation
    • Spawn a background task to create snapshots are certain blockheights

    Specifically adds a config parameter that indicates after how many blocks a
    snapshot should be created. If set, then on the corresponding calls to commit,
    a background task is spun up that takes a snapshot of rocksDB and writes it
    in a convenient format to a file. This file contains metadata of how to be
    broken up into chunks. Once a new snapshot is created, older snapshots are
    removed. (#3383)

  • Addresses the third point and part of the fourth point of Issue
    #3307

    • Adds chunking logic to snapshots
    • Implements the ListSnapshots ABCI call
    • Implements the LoadSnapshotChunk ABCI call

    (#3386)

  • Remove the requirement that the proposal voting period
    is some integer multiple of the minimum voting period.
    (#3390)

  • Include the gas scale as a protocol parameter that is
    mutable via governance rather than as a hard-coded constant.
    (#3391)

  • Upgrade the library used to communicate with hardware wallet
    (#3412)

  • Index batched txs via their wrapper and commitment hashes.
    (#3416)

  • Moved shielded tx validation out of the SDK crate into shielded token crate.
    (#3419)

  • Enforce an upper limit on the number of PGF stewards allowed to exist at a
    given time. (#3442)

  • Combined the various Transfer formats into one general one.
    (#3446)

  • Introduced a local configuration parameter to allow nodes to
    rerun the process proposal checks before block finalization.
    (#3448)

TESTING

  • Adds additional test coverage to batch tx events emission, to make
    sure we correctly build a batch of inner tx events from a batched tx.
    (#3401)
  • Change the IBC E2E testing config
    (#3455)

Namada 0.39.0

06 Jun 09:18
Compare
Choose a tag to compare

Namada 0.39.0 is a minor release that primarily abstracts the different kinds of transfer transactions and makes upgrades to the MASP and VPs.

BUG FIXES

  • Fixes an issue with unsanitized input to a PoS query to find
    a validator by TM address which may cause a node to panic.
    (#3340)
  • Fix to clear the write log when dry-run batched transaction
    (#3358)

IMPROVEMENTS

  • The transfer command has been split into:
    • transfer (shielded transfer)
    • transparent-transfer
    • shield (from transparent to shielded)
    • unshield (from shielded to transparent)
      (#3297)
  • Avoid growing wasm memory when performing read-only accesses.
    (#3315)
  • Added a separate epoch tracker for masp to decouple its logic from the rest of
    the protocol. (#3318)
  • Default to the address from local config when the --node
    argument is not specified for shielded-sync command
    (#3333)
  • Allow NAM transfers for protocol actions.
    (#3348)
  • Select gas payer from implicit address in the Namada CLI.
    (#3349)
  • Remove old disposable keys from the wallet.
    (#3350)
  • Addressed some minor issues in the shielded token code.
    (#3351)

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)