Releases: anoma/namada
Namada 0.40.0
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
Namada 0.39.0
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 forshielded-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
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
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 version4.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
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
Namada 0.36.0
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
onProposalBytes
.
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
Namada 0.35.1
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
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
andowner
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
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)