Skip to content

Latest commit

 

History

History
220 lines (185 loc) · 10.6 KB

CHANGELOG.md

File metadata and controls

220 lines (185 loc) · 10.6 KB

CHANGELOG

v0.4.0

Anoma 0.4.0 is a scheduled minor release, released 31 January 2022.

BUG FIXES

  • Matchmaker: Fix a matchmaker's state management via a raw pointer that was causing segfaults in the matchmaker in release build. (#806)

CI

  • Build Linux package directly from tagged releases, and upload wasm from tags. (#801)

FEATURES

  • Client/Ledger: Added a flag to allow to indicate that client should exit once the transaction is in mempool without waiting for it to be applied in a block. (#403)
  • Ledger: Emit and validate IBC events from transactions. (#480)
  • Add anomac tx-result command to query the result of a transaction given a transaction hash. (#634)
  • Ledger: Use IBC messages from ibc-rs crate to be used in the relayer. (#699)
  • Ledger: Added fungible token transfer support to IBC validity predicate. (#823)

IMPROVEMENTS

  • Ledger: Add IbcActions trait to execute IBC operations (#411)
  • Matchmaker has been separated from intent gossiper node. Multiple matchmakers can connect to an intent gossiper node over WebSocket. (#579)
  • Wallet: Ask for encryption password confirmation when generating a new key. (#625)
  • Ledger: Two-layer merkle tree for the IBC proof verification (#671)
  • Testing: Increments network configuration ports used for E2E tests and ABCI++ enabled E2E tests to avoid sharing resources. (#717)
  • Matchmaker: compiling and loading matchmakers to and from dylib instead of WASM (#718)
  • Ledger: Coding IBC-related data without Borsh (#734)
  • Matchmaker: re-purpose the matchmaker macro to manage state of a custom matchmaker implementation (#746)
  • Testing: Update to a new branch of property-based state machine testing with initial state shrinking. (#765)
  • Port the Nix build to the new Flakes system. (#770)
  • Client/Utils: Respect wasm directory, when specified and non-default in the command. The command now doesn't unpack the network config archive into its default directories, if any of them are specified with non-default values. (#813)
  • Install the default token exchange matchmaker implemenetation into ~/.cargo/lib directory when building from source. When not absolute, the matchmaker will attempt to load the matchmaker from the same path as where the binary is being ran from, from ~/.cargo/lib or the current working directory. (#816)

MISCELLANEOUS

  • Force non-dev build for make build-release, check-release & package (#791)

v0.3.1

Anoma 0.3.1 - first maintenance release in the 0.3.x series. Protocol compatible with 0.3.0, but changes the on-disk storage format - nodes will need to resync from scratch.

BUG FIXES

  • Fix the anoma client utils join-network to respect --base-dir argument, if specified (#723)
  • Ledger: Fix an issue in the default thread count usage calculation that was previously causing it to crash for a target with a single logical core. (#726)
  • Ledger: write storage diffs from the correct current block height and ignore these on loading last known block's state from persisted state on disk. (#732)
  • Ledger: Handle Unix and Windows interrupt and termination signals to shut down cleanly. (#768)

IMPROVEMENTS

  • Ledger: enable atomic commits in RocksDB and explicitly flush blocks without waiting (#372)
  • Fix the anoma client utils join-network to respect --base-dir argument, if specified (#711)
  • Ledger: Write predecessor block's values to be able to integrate Tendermint's rollback helper command. (#729)
  • Include a more accurate build version from git describe in help output version strings. (#733)
  • Ledger: Updated wasmer dependency to v2.1.1. (#756)
  • Config: Enable setting config values via environment variables, add variables for configuring Tendermint instrumentation and allow missing values in the config file (filled in with defaults defined in the code) (#774)
  • Gossip: Enable peer discovery with libp2p Kademlia and Identify protocol and allow to keep the established peer connections open. (#775)

MISCELLANEOUS

  • Adds missing nix-shell openssl dependency. (#694)
  • Don't include wasm checksums in the package, since the network configuration mechanisms now handle this. (#731)
  • Force non-dev build for make clippy. (#783)

v0.3.0

Anoma 0.3.0

BUG FIXES

  • Ledger: Using fixes in tower-abci crate that improve shutdown and error handling. (#614)
  • Ledger: Fix rlimit breaking build on non-unix target. (#615)
  • Ledger/client: Fixed an issue with obtaining a result of a transaction. (#668)
  • Ledger: Fixed Windows build. (#684)
  • Use at least one thread for rocksdb compaction. (#704)
  • Downgrade to an older version of wasmer (1.0.2) to avoid runaway memory usage. (#708)
  • Process ABCI requests in order in the shell. (#713)

CI

  • Added jobs for ABCI++ feature enabled builds (#661)

DOCS

  • Fix broken links (#605)
  • Improved user guide installation section. Improved development scripts. (#613)
  • Updated Anoma prototypes pages. (#642)
  • Fix broken links to WASM sources. (#660)

FEATURES

  • Ledger: Added storage query (non-)membership proofs (#498)
  • Ledger: Make all transactions encrypted, add in ABCI++, support commit and reveal scheme for txs in a block. This feature is disabled by default because it requires a custom Tendermint build. The Tendermint version required with default features remains unchanged (currently 0.34.x). (#622)
  • Cache compiled wasm modules on disk. (#697)

IMPROVEMENTS

  • Improve how the anoma binary launches a sub-process by replacing itself with it. (#609)
  • Ledger/client: Add archives for release-able networks from init-network utils command. (#616)
  • Ledger: Open the default P2P address for non-localhost networks (#617)
  • Tooling (switched to Rust 1.56.1 and nightly to 2021-11-01. Many Cargo dependencies updates. (#618)
  • Ledger: Join Anoma networks from GitHub released network configurations. (#619)
  • Ledger/storage: Write values from references. (#627)
  • Build: Avoid build context in Docker image builds. (#629)
  • Ledger: Add the WASM checksums file for the pre-built transactions and validity predicates to network releases. (#644)
  • Ledger: Simplified gas addition code. (#648)
  • Ledger: Improved the "wrapper" transaction type data structures and encoding. (#653)
  • Ledger: Follow-up to the improved "wrapper" transaction type data structures and encoding. (#655)
  • Ledger: Refactored ledger threads usage and made them configurable. (#658)
  • Ledger: Updated dependencies names to nix friendly format. (#664)
  • Ledger: Follow-up to the updated crate names to nix friendly format. (#666)
  • Ledger/client: Set a default fee amount, token, and gas limit for txs. (#667)
  • Remove intent gossiper key from configuration file, storing it separately. (#673)
  • Refactor historical data storage in rocksdb to store diffs of key changes, and additional database performance changes. (#683)
  • Improved nix integration. (#685)
  • Ledger/client: Fix the confirmation dialog for using an existing alias and allow to select a new one. (#690)
  • Refactor debug printouts in wasm modules to use conditional compilation. (#693)
  • Ledger: Updated to wasmer 2.0.1. (#698)
  • Allow zero-balance transactions pending proper gas fee deduction. (#700)
  • Emit more CPU thread usage information. (#705)

TESTING

  • Tests/E2E: Added PoS tests for bonding and initialization of a validator account on-chain. (#463)