Skip to content

Latest commit

 

History

History
1073 lines (970 loc) · 62.3 KB

CHANGELOG.md

File metadata and controls

1073 lines (970 loc) · 62.3 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

The crates in this repository do not adhere to Semantic Versioning at this time.

[5.0.0]

Changed

  • mobilecoind now has its own version of the LastBlockInfo proto message. ([#3307])
  • mobilecoind now exposes the chain-id of the chain it is connected to via rpc ([#3313])

Fixed

  • mobilecoind now produces SCIs with correct tx_out_global_indices values ([#3311])

[4.1.0]

Added

  • mobilecoind now supports generating SCI transactions (#3212, #3214, #3232)
  • mobilecoind-dev-faucet --activate now auto-activates the faucet on startup (#3062)
  • mc-transaction-signer crate to define types for view-only accounts and offline signing (#2926)

Changed

  • mobilecoind-json now always includes the MaskedAmount version in its responses (#3036)
  • Replace tempdir with tempfile (#3211)
  • Libraries used by client SDKs are now licensed under the Apache-2.0 license (servers remain GPLv3) (#3092)
  • Restore ability to read the port a gRPC server is listening on (#3107)

Fixed

  • Fog view will no longer claim it's ready before ORAM is loaded ([#3149])

[4.0.2]

Fixed

  • fix(charts): fix blocklist activation logic (#3048)

[4.0.1]

Added

  • Make the local network script support a dense3 network option (#2988)
  • HAProxy Ingress Blocklists (#2952)

Changed

  • Improved performance of mobilecoind-dev-faucet for better load testing (#2955)

[4.0.0]

Added

  • MCIP 42: Partial-fill rules for signed contingent input transactions
  • MCIP 43: Consensus nodes will now sign and publish metadata about blocks
  • MCIP 54: Transaction builder support for TxO memo fields for payment intent and request IDs
  • MCIP 55: Nested multi-sig for minting transactions
  • Services can now output JSON-formatted messages to stdout/stderr
  • mc-consensus-mint-client now supports --tombstone-from-node [mc://URI] to set the tombstone block automatically
  • mc-consensus-mint-client now supports MintConfigTx parameters from JSON files

Changed

  • MCIP 52: Transactions now sign a TxSummary instead of the previous TxPrefix, to aid with hardware wallet confirmations
  • MCIP 53: Extend the MintTx to allow direct minting to fog-enabled addresses
  • MCIP 57: Relax some constraints around ring signature contents in SCI transactions

Github Actions

  • Bump actions/checkout from 2 to 3 (#2113)
  • Bump actions/setup-python from 3 to 4 (#2114)
  • Bump docker/build-push-action from 2 to 3 (#2425)
  • Bump docker/login-action from 1 to 2 (#2428)
  • Bump docker/metadata-action from 3 to 4 (#2426)
  • Bump docker/setup-buildx-action from 1 to 2 (#2427)

Python Dependencies

  • Bump protobuf from 3.19.4 to 3.19.5 in /mobilecoind/strategies (#2602)

Rust Dependencies

Removed

Security

  • MCIP 56: Make the enclave enforce unique nonces per-token (improved fix for TOB-MCCT-4).
  • TOB-MCCT-5: Reject transactions where the client's fee map differs from the consensus enclave's.
  • Update SGX SDK to 2.18.

[3.0.0]

Added

  • Add Chain-ID gRPC metadata (MCIP #49) to provide additional runtime disambiguation between clients and servers.
  • Add a required --chain-id command-line arguments to consensus and fog servers.
  • Add an optional --chain-id command-line argument to mobilecoind.
  • Support using environment variables to set values for nearly all command-line arguments.
  • Update CI deployments to use zerossl instead of letsencrypt.
  • Add a --hash-tx-file subcommand to print the hash of a mint-tx or mint-config-tx file.
  • Add the current block info (fee map, block version, etc.) to the response message for mobilecoind_api.GetNetworkStatus.
  • Make Jaeger telemetry opt-in using MC_TELEMETRY=1.
  • Add a --block-query-batch-size parameter to fog-view. This makes fog-view load more data at once from postgres, and helps it to start up faster even if there is high network latency in the connection to postgres. This defaults to 1000 now, where previous behavior corresponds to a value of 1.

Fixes

  • Update mc-consensus-mint-client to check that public addresses for minting targets do not have a configured fog server.
  • Update to android-bindings and libmobilecoin RNG APIs to assist in idempotent transactions.

Security

  • TOB-MCCT-4: Make minting nonces unique per-token.
  • Build with SGX SDK 2.17.1 to mitigate and account for INTEL-SA-00657.

[2.0.0] - 2022-07-25

Fixed

CI/CD

  • Fix metadata script for new release branch patterns. ([#2298])

Security

  • Bump SGX to 2.17, mitigate INTEL-SA-00615

[1.2.2] - 2022-06-17

Changed

  • Updated SGX to 2.16

Rust Dependencies

[1.2.1] - UNRELEASED

Changed

  • Expose the ability to get a TX shared secret to iOS SDK
  • Restore the ability to derive an account from legacy root entropy to iOS SDK
  • Improve the construction of Amount objects from Android SDK

Fixed

  • Fix panic when consensus service is configured for multiple tokens but still running in MOB-only block-version 0 mode.

[1.2.0] - UNRELEASED

Added

  • Fog is now part of this repository
  • Fog Ledger key image checks are now oblivious (fog #101)
  • Fog View OMAP size configurable via environment
  • Fog Overseer utility for monitoring Fog Ingest instances
  • Fog Ingest Client CLI now allows queries to the get_ingress_key_record API
  • Block versioning / protocol evolution (MCIP #26)
  • In Block Version 1 (to be enabled along with block version 2):
    • Required Transaction Memos (MCIP #3)
    • Recoverable Transaction History (MCIP #4)
  • In Block Version 2 (to be enabled after network has been upgraded):
    • Confidential Multi-Token Support (MCIP #25)
    • Minting support for non-MOB tokens (MCIP #37)
    • Verifiable burning for any token (MCIP #35)
    • Standardized Addresses for common purposes (MCIP #36)
  • In Block Version 3 (will be enabled in a future release):
    • Require TxOuts to be sorted in TxProposal (MCIP #34).

Changed

  • Enable Bitcode for libmobilecoin, reduce mobile artifact size by ~25% (#1124)
  • mobilecoind will now exit on startup when a ledger migration is necessary, unless the new --ledger-db-migrate command line argument is used, in which case it will migrate automatically. This flag does not do anything if the Ledger DB does not exist.
  • Bump SGX versions to 2.16. (#1101, #2018)
  • Increase the maximum tombstone block for transactions to 20,160 from 100.
  • Lock enclave no-debug mode when building for IAS production.
  • Update Rust toolchain to nightly-2021-07-21.

Python

  • Bump ipython from 7.8.0 to 7.16.3 (#1333)
  • Bump protobuf from 3.10.0 to 3.15.0 (#1477)

Rust Dependencies

Removed

  • The slam test utility, in favor of fog-distribution (#1611)
  • Support for root entropy-based key derivation in test keys/ledgers (#1893)
  • The pretty_assertions dependency (#1055, #1078, #1431, #1610, #1657)

Fixed

  • Fog ingest state file handling is more resilient (#1358)
  • Fog services sometimes returned the wrong grpc error code for attestation failures
  • Added retries for connectivity issues with Postgres database in Fog services

Security

  • Fixed a problem with data authentication in the Fog OCALL Oram Storage interface (Thanks to [@AmbitionXiang] for reporting!, #1576)

[1.1.1] - 2021-08-16

Changed

  • Updated TOS.
  • Update IP restriction handling in mobilecoind to match TOS.

[1.1.0] - 2021-06-08

Added

  • Mnemonics-based Key Derivation
  • Dynamic Fees rfcs/#1
    • consensus-service now takes --minimum-fee=<picoMOB> to configure minimum fees (nodes with different fees cannot attest to each other).
    • mobilecoind's GenerateOptimizationTxRequest API to takes a user-supplied fee.
  • Authenticated fog details in public addresses
  • Admin gRPC for mobilecoind.
  • mc-slam load generation utility.
  • mc-sgx-css-dump SIGSTRUCT (CSS) debug utility.
  • mobilecoind can send change to a designated subaddress.
  • mobilecoind support for load balancing (via forked grpcio).
  • mobilecoind encrypts account key at rest.
  • watcher app to keep track of Attestation Verification Reports from live machines.

Changed

  • Bump ISV SVN for consensus enclave to 2
  • Reduce minimum fee from 10mMOB to 400uMOB
  • Parallelize HTTP transaction fetcher
  • Optionally seed RNGs for mock attestation signer from MC_SEED env.
  • Bump rust version to nightly-2021-03-25
  • Update SGX to 2.13.3.
  • Use AWS_REGION instead of ?region=.
  • Make enclave errors (to clients/peers) result in PERMISSION_DENIED to force reattestation.
  • Fog hints now use AES256-GCM

Rust Dependencies

  • Update anyhow to 1.0.39
  • Update arc-swap to 0.4.8
  • Update arrayvec to 0.5.2
  • Update backtrace to 0.3.55
  • Update base64 to 0.12.3
  • Update bigint to 4.4.3
  • Update blake2 to 0.9.1
  • Update cc to 1.0.66
  • Update cfg-if to 1.0.0
  • Update cookie to 0.14.3
  • Update crossbeam-channel to 0.5.0
  • Update curve25519-dalek to 4.0.0-pre.0
  • Update datatest to 0.6.4
  • Update displaydoc to 0.2.0
  • Update fs_extra to 1.2.0
  • Update futures to 0.3.8
  • Update hmac to 0.10.1
  • Update indicatif to 0.15.0
  • Update libc to 1.0.80
  • Update mockall to 0.8.3
  • Update once_cell to 1.5.2
  • Update pem to 0.8.2
  • Update proc-macro2 to 1.0.24
  • Update proptest to 0.10.1
  • Update protobuf to 2.22.1
  • Update rand_core to 0.6.2
  • Update rand_hc to 0.3.0
  • Update rand to 0.8.3
  • Update reqwest to 0.10.6
  • Update retry to 1.2.0
  • Update rocket to 0.4.6
  • Update semver to 0.11.0
  • Update serde_json to 1.0.60
  • Update serde to 1.0.118
  • Update serial_test to 0.5.0
  • Update sha2 to 0.9.3
  • Update slog-stdlog to 4.1.0
  • Update slog-term to 2.6.0
  • Update structopt to 0.3.21
  • Update syn to 1.0.45
  • Update tempfile to 3.2.0
  • Update thiserr to 1.0.24
  • Update toml to 0.5.7
  • Update unicode-normalization to 1.1.17
  • Update version_check to 0.9.3
  • Update x25519-dalek to 1.1.0
  • Update zeroize to 1.2.0

Upstream Forks

  • Unfork bulletproofs to unreleased 2.0.0 from github
  • Fork grpcio to a 0.6.0 fork that supports cookies
  • Fork aes-gcm 0.6.0 to support constant-time decrypt results

Python Dependencies

  • Update jinja to 2.11.3
  • Update pygments to 2.7.4

Fixed

  • Remove unnecessary limits on consensus request concurrency
  • Readme fixes (thanks to contributors @hiqua, @petertodd)
  • Fix monitor ID instability in mobilecoind.
  • Normalize fog URL in public addresses before lookup
  • Unified rustfmt

Security

  • Make encryption/decryption success able to be used from within a larger constant-time context for mc-crypto-box.
  • Stricter EPID Pseudonym length test. (IoActive MC-03)

[1.0.0] - 2020-11-24

Initial release.