Skip to content

Latest commit

 

History

History
354 lines (216 loc) · 16.7 KB

CHANGELOG.md

File metadata and controls

354 lines (216 loc) · 16.7 KB

Changelog

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

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning as described in The Cargo Book.

0.21.0 - 2024-05-01

Fixed

  • Fixed merge mining subfield encoding and decoding to be in line with monero @hansieodendaal(#202)

0.20.0 - 2024-01-22

Added

Fixed

  • Use both transaction public keys when scanning outputs & reject non-canonical public keys in the tx-extra by @Boog900 (#180)
  • Error on non-minimal varint encoding and fix silent overflow @stringhandler(#174)
  • Avoid prepending VarInt length of the blockhashing blob when using Block::serialize_hashable() @parazyd(#194)
  • Error out of bounds panics in src/util/address.rs for from_bytes and from_slice with fix @hansieodendaal(#185)
  • Removed unused output types (and unused pub fn get_pubkeys), fixing panic when hashing transactions with those outputs @hansieodendaal(#186)
  • Error on extra data parse where Padding(255) could not be parsed successfully and where the length returned from parsing SubField::MysteriousMinerGate was incorrect with fix @hansieodendaal(#184)
  • Fixed memory overflow and subtract with overflow when deserializing @hansieodendaal(#183)
  • Fixed tx scanning for txs with view tags and lots of outputs (some miner txs) @Boog900 (#197)

0.19.0 - 2023-09-15

Changed

0.18.2 - 2023-01-02

Changed

  • Allow more amount denomination variants (e.g xmr|XMR|monero), prefer lower case in Display by @h4sh3d (#141)

0.18.1 - 2022-12-13

Added

  • Tree hash algorithm to compute tree hash as defined by Cryptonote by @vorot93 (#130)

Changed

  • Minimum Supported Rust Version is now 1.56.1 and edition 2021 is enabled by @vorot93 (#125)
  • Update fixed-hash version to 0.8.0 by @vorot93 (#125)

Fixed

  • Fix deserialization of certain ExtraField fields and remove the need for the extra data to be parsable by @Boog900 (#123) and @vorot93 (#136)
  • Deserialization of transactions with outputs to invalid points on Edwards curve @Boog900 (#132)

0.18.0 - 2022-09-05

Added

  • Change u64 and VarInt to Amount where it makes sense to by @LeoNero (#113)
  • Add FromHex for Hash, Hash8, PaymentId, and Address @LeoNero (#114)
  • Add ToHex for Address @LeoNero (#114)
  • Add support for (de)serialization of BulletproofPlus and view tags by @Boog900 (#116)

Changed

  • Use view tags, when available, to speedup owned output finding by @Boog900 (#116)

0.17.3 - 2023-01-02

Changed

  • Allow more amount denomination variants (e.g xmr|XMR|monero), prefer lower case in Display by @h4sh3d

0.17.2 - 2022-07-19

Added

  • Add serde serialize for Amount and SignedAmount slices by @LeoNero (#107)
  • Add serde deserialize for Amount and SignedAmount vectors by @LeoNero (#107)

0.17.1 - 2022-07-12

Added

Changed

  • Relax generics requirement to ?Sized in consensus encode/decode reader and writer by @h4sh3d (#101)

0.17.0 - 2022-06-29

Added

Changed

  • Rename feature serde_support into serde by @h4sh3d (#94)
  • Update base58-monero requirement from 0.3 to 1 by @h4sh3d (#91)
  • Update serde-big-array requirement from 0.3.2 to 0.4.1 (#77)
  • Update serde_json requirement from <1.0.45 to 1 (#84)
  • Update sealed requirement from 0.3 to 0.4 (#73)

Fixed

  • Check outputs of miner transaction by @h4sh3d (#96)
  • Make Key64 an array of 64 32-byte keys by @Boog900 (#86)

0.16.0 - 2021-11-15

Added

Removed

  • Remove the strict encoding support feature, this should be handled by crates using it, by @h4sh3d (#67)

0.15.0 - 2021-09-27

Added

Changed

  • Modify Hash public API, fix clippy by @h4sh3d (#59)

0.14.0 - 2021-08-17

Added

  • Function for computing the signature hash of a transaction by @COMIT (#41)
  • Length bounds check before allocating Vec by @sdbondi (#47)

Changed

  • Don't use io::Cursor for implementing Encodable on ExtraField by @COMIT (#49)
  • Trait Encodable is now sealed and cannot be implemented outside of the library to guarentee a correct, non-failable, implementation, by @h4sh3d (#50)

Fixed

Removed

0.13.0 - 2021-06-02

Added

  • Amount structure, based on rust-bitcoin implementation by @h4sh3d (#33)

Changed

  • Replace keccak-hash with tiny-keccak by @COMIT (#40)
  • New check_output API by @COMIT (#42)
  • Switch CI from Travis to GitHub Actions

0.12.0 - 2021-04-29

Added

  • More types under strict_encoding wrapper (2dba2da)
  • Add TryFrom impl. on keys and more derive on some types (dd9f1d9, 06ed856)

Changed

  • Update base58 dependency to 0.3.0 (56c7a0a)
  • Change pub use over the library (0020a6e)
  • Improve overall documentation (43c4926)

0.11.2 - 2021-03-30

Fixed

  • docs.rs compilation errors, add feature(doc_cfg) when building on doc.rs

0.11.1 - 2021-03-30

Added

  • Package metadata for generated documentation on doc.rs to enable feature badges

0.11.0 - 2021-03-29

Added

  • Amount recovery for OwnedTxOut with ViewPair (#7)
  • New feature strict_encoding_support, disabled by default, which wraps some Encodable and Decodable types

Changed

  • Use thiserror on all Error types in the library
  • Update base58-monero to 0.2.1 and upgrade all dependencies
  • Simplify Encodable and Decodable traits based on the work done in rust-bitcoin/rust-bitcoin, remove dependency bytes
  • Improve README and Rust documentation

0.10.0 - 2020-10-16

Added

  • Support for transaction de/serialization with CLSAG signature (#21)

Changed

  • Rename EcdhInfo::Bulletproof2 into EcdhInfo::Bulletproof
  • Bump curve25519-dalek dependency to version 3, with optional serde support

0.9.1 - 2020-09-10

Added

  • Implement Display trait for principal structures (5d9716f)

0.9.0 - 2020-09-04

Changed

  • Removed the deprecated failure crate in favour of thiserror (#20)

0.8.1 - 2020-07-20

Fixed

0.8.0 - 2020-07-20 [YANKED]

Changed

  • Replaced std::error::Error by Failure crate by @sedddn

Fixed

  • Block (de)serialization by (db80e61)

0.7.0 - 2020-03-29

Changed

  • More code examples in documentation

Fixed

  • check_outputs behaviour, use ranges for sub-addresses in all cases, reported by @ladislavdubravsky

Removed

  • SubKeyGenerator, the implementation is not 100% tested and not needed for reading and parsing transactions

0.6.0 - 2020-03-22

Added

  • Methods to recover public and private keys on OwnedTxOut (c7b5e11)

Fixed

0.5.0 - 2020-01-16

Changed

  • Finer dependency versions
  • Update dalek to version 2.0 by @SWvheerden
  • Improved documentation and code examples

Removed

  • cdlyb and rlib attributes (28db20c)

0.4.0 - 2019-12-04

Added

  • General serde support under serde_support feature by @SWvheerden
  • Debug and clone derives to most structs by @SWvheerden

0.3.0 - 2019-10-02

Changed

  • Update Rust to stable channel instead of nightly by @vorot93

Fixed

  • Rust format and syntax warnings by @vorot93

0.2.0 - 2019-04-25

Added

  • Serde support for Address
  • Usage of fixed-hash for cryptonote::hash
  • Code of Conduct

0.1.0 - 2019-03-15

Added

  • Initial release of the library
  • CI pipeline
  • De/serialization of Monero blocks and transactions
  • Address and subaddress creation, de/serialization and validation
  • Private keys and one-time keys creation, de/serialization and validation