Skip to content

Latest commit

 

History

History
467 lines (371 loc) · 25.1 KB

CHANGELOG.md

File metadata and controls

467 lines (371 loc) · 25.1 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.

0.4.2 - 2023-10-09

Bug Fixes

  • [primitives] Set serde derive feature (#359)

0.4.1 - 2023-10-09

Bug Fixes

  • [sol-macro] Flatten doc strings correctly (#357)
  • [json-abi] Fallback to tuple types for nested params in to_sol (#354)
  • [sol-macro] Correct TypeArray::is_abi_dynamic (#353)
  • [sol-macro] Dedup json abi items (#346)
  • Json-abi not using anonymous when converting to interface (#342)
  • [sol-macro] Remove extra 0x in function docs (#341)
  • [sol-macro] Pass attributes to all generated items (#340)
  • [syn-solidity] Set spans on generated struct names (#336)
  • Serde rename resolver to types (#335)

Documentation

  • Add scope to changelog commits (#328)
  • Fix changelog link (#323)

Features

  • [sol-macro] Add docs to generated contract modules (#356)
  • [json-abi] Deserialize more ContractObjects (#348)
  • [sol-macro] Improve error messages (#345)
  • [sol-types] Introduce SolValue, make Encodable an impl detail (#333)
  • [syn-solidity] Add even more Display impls (#339)
  • [sol-macro] Improve generated docs (#338)
  • [syn-solidity] Add some more Display impls (#337)
  • Add parsing support for JSON items (#329)
  • Add logs, add log dynamic decoding (#271)

Miscellaneous Tasks

  • Release 0.4.1
  • [sol-types] Rewrite encodable impl generics (#332)
  • Add count to all_the_tuples! macro (#331)
  • Enable ruint std feature (#326)
  • Fix typos (#325)
  • [dyn-abi] Make resolve module private (#324)

Other

  • Run miri in ci (#327)

Testing

0.4.0 - 2023-09-29

Bug Fixes

  • [syn-solidity] Test
  • [sol-macro] Implement EventTopic for generated enums (#320)
  • Add super import on generated modules (#307)
  • Respect all_derives = false, fix custom type printing (#272)
  • Rand default-features typo (#286)
  • [syn-solidity] Parse modifiers without parens (#284)
  • Struct eip712_data_word (#258)
  • [syn-solidity] Imports (#252)
  • MSRV tests (#246)
  • Hex compatibility (#244)

Dependencies

  • Bump all deps (#273)
  • Fix MSRV CI and dev deps (#267)

Documentation

  • Add automated CHANGELOG.md (#322)
  • Improve ResolveSolType documentation (#296)
  • Document dollar sign in idents (#288)
  • Add note regarding ruint::uint macro (#265)
  • Update fixed bytes docs (#255)
  • Data types typo (#248)

Features

  • [sol-macro] Add docs to generated items (#321)
  • [sol-macro] Add support for overloaded events (#318)
  • [syn-solidity] Added visitor hooks for all statements and expressions (#314)
  • [sol-macro] Improve type expansion (#302)
  • [syn-solidity] Add more Spanned impls (#301)
  • Unsupported message for $idents (#293)
  • [json-abi] Add Function::signature_full (#289)
  • [primitives] Add more methods to Function (#290)
  • Improve SolError, SolInterface structs and implementations (#285)
  • Add more FixedBytes to int conversion impls (#281)
  • Add support for rand (#282)
  • Use FixedBytes for sol_data::FixedBytes (#276)
  • Impl bytes::Buf for our own Bytes (#279)
  • Add more Bytes conversion impls (#280)
  • [primitives] Improve Bytes (#269)
  • [sol-macro] Expand getter functions' return types (#262)
  • Add attributes to enum variants (#264)
  • [sol-macro] Expand fields with attrs (#263)
  • [syn-solidity] Improve variable getters generation (#260)
  • [dyn-abi] Implement more ext traits for json-abi (#243)
  • [sol-macro] Add opt-in attributes for extra methods and derives (#250)
  • [primitives] Allow empty input in hex macros (#245)

Miscellaneous Tasks

  • Release 0.4.0
  • Prefix ABI encode and decode functions with abi_ (#311)
  • Don't pass debug feature to winnow (#317)
  • Touch up #314 (#315)
  • Simpler ENCODED_SIZE for SolType tuples (#312)
  • Unhide clippy config file (#305)
  • Sync crate level attributes (#303)
  • Assert_eq! on Ok instead of unwrapping where possible (#297)
  • Use hex! macro from primitives re-export (#299)
  • Add missing #[automatically_derived] (#294)
  • Do not implement SolType for SolStruct generically (#275)
  • Rename coding functions (#274)
  • Re-export ::bytes (#278)
  • Update CODEOWNERS (#270)

Other

  • Cache on failure (#306)
  • Hash_message (#304)
  • Pin anstyle to 1.65 compat (#266)
  • Typo (#249)

Performance

  • Optimize identifier parsing (#295)
  • Use slice::Iter where possible (#256)

Refactor

  • Rewrite type parser with winnow (#292)
  • Simplify Eip712Domain::encode_data (#277)

Styling

  • Format code snippets in docs (#313)
  • Move decode_revert_reason to alloy and add tests (#308)
  • Support yul ast (#268)
  • Some clippy lints (#251)

Testing

  • [syn-solidity] Improve contract tests (#316)

0.3.2 - 2023-08-23

Bug Fixes

  • [json-abi] Properly handle Param type field (#233)
  • [sol-macro] Snake_case'd function names (#226)
  • Fix bincode serialization (#223)
  • [sol-macro] Encode UDVTs as their underlying type in EIP-712 (#220)
  • [sol-macro] Don't panic when encountering functions without names (#217)

Features

  • Implement abi2sol (#228)
  • [primitives] More FixedBytes<N> <-> [u8; N] conversions (#239)
  • Add support for function input/output encoding/decoding (#227)
  • [syn-solidity] Add statements and expressions (#199)
  • [dyn-abi] Add match functions to value and doc aliases (#234)
  • Function type (#224)
  • [dyn-abi] Allow T: Into<Cow<str>> in eip712_domain! (#222)
  • [sol-macro] Expand getter functions for public state variables (#218)

Miscellaneous Tasks

  • Release 0.3.2 (#242)
  • [primitives] Discourage use of B160 (#235)
  • [json-abi] Avoid unsafe, remove unused generics (#229)
  • Clippy (#225)

Performance

  • Optimize some stuff (#231)
  • Refactor TypeSpecifier parsing (#230)

Styling

  • Port ethabi json tests (#232)

0.3.1 - 2023-07-30

Dependencies

  • Bump ruint to 1.10.1 + alloc (#213)

Documentation

  • Update no-std not in readme (#215)
  • Add ambiguity details to Encodable rustdoc (#211)
  • [json-abi] Add README.md (#209)
  • Update README.md (#208)

Features

  • Support ethabi Contract methods (#195)

Miscellaneous Tasks

  • Release 0.3.1 (#216)

0.3.0 - 2023-07-26

Bug Fixes

  • Correct encodeType expansion for nested structs (#203)
  • Remove unused method body on solstruct (#200)
  • Remove unwrap in decode_populate (#172)
  • [sol-types] Empty data decode (#159)
  • Doc in dyn-abi (#155)
  • [alloy-primitives] Fix broken documentation link (#152)

Documentation

  • Add licensing note to README.md (#186)
  • Add parser to readme (#183)
  • [rlp] Move example to README.md (#177)
  • Request that PR contributors allow maintainer edits (#148)

Features

  • Bytes handles numeric arrays and bytearrays in deser (#202)
  • [dyb-abi] Impl ResolveSolType for Rc (#189)
  • Native keccak feature flag (#185)
  • [sol-macro] #[sol] attributes and JSON ABI support (#173)
  • Solidity type parser (#181)
  • [rlp] Improve implementations (#182)
  • [dyn-abi] Add arbitrary impls and proptests (#175)
  • [dyn-abi] Cfg CustomStruct for eip712, rm CustomValue (#178)
  • [dyn-abi] Clean up and improve performance (#174)
  • DynSolType::decode_params (#166)
  • [json-abi] Add more impls (#164)
  • [primitives] Add some impls (#162)
  • SolEnum and SolInterface (#153)
  • [primitives] Fixed bytes macros (#156)

Miscellaneous Tasks

  • Release 0.3.0 (#207)
  • Wrap Bytes methods which return Self (#206)
  • Add release.toml (#205)
  • Replace ruint2 with ruint (#192)
  • Clippy (#196)
  • Remove remaining refs to rlp (#190)
  • Move rlp crates to a separate repo (#187)
  • [dyn-abi] Gate eip712 behind a feature (#176)
  • Warn on all rustdoc lints (#154)
  • Clean ups (#150)
  • Add smaller image for favicon (#142)
  • Move macro doctests to separate folder (#140)

Other

  • Cache wasm job (#197)
  • Significant dyn-abi fixes :) (#168)
  • Refactoring dyn-abi to performance parity with ethabi (#144)
  • Kuly14/cleanup (#151)
  • Explain alloy vs ethers-rs intention (#146)

Refactor

  • Rename domain macro and add docs (#147)
  • Rename Sol*::Tuple to Parameters/Arguments (#145)
  • Do not generate SolCall for return values (#134)

Testing

  • Run UI tests only on nightly (#194)

0.2.0 - 2023-06-23

Bug Fixes

  • Remove to_rust from most traits (#133)
  • Fmt (#130)
  • Links in readme (#128)
  • (u)int tokenization (#123)
  • Add repr(C) to json-abi items (#100)
  • Make detokenize infallible (#86)
  • Extra-traits in syn-solidity (#65)
  • Rlp impls (#56)
  • Hex breaking change (#50)
  • Type check int for dirty high bytes (#47)
  • Sol macro parsing and expansion (#21)
  • Add alloc features in no_std (#18)
  • Bump resolver to 2 to disable proptest in wasm
  • Doc warnings and clippy
  • Cargo t
  • Desc in primitives cargo.toml
  • Handle nested arrays
  • Correct signed int handling in encodePacked
  • Correct int handling in encodePacked
  • Add missing type_check to decoding
  • Std in abi lol
  • No_std in abi

Dependencies

  • Bump ruint to have alloy-rlp
  • Add missing deny.toml (#23)
  • Add Address w/ checksum support to primitives (#19)
  • Use workspace.{package,dependencies} (#17)
  • Bump uint
  • Bump uint to support wasm
  • Bump uint main
  • Generic signed int implementation (#3)

Documentation

  • Rlp-derive README.md (#70)
  • Contributing doc (#49)
  • Note on no_std support (#44)
  • Note that encode_list is preferred
  • Main lib README (#34)
  • Brief doc on the type system (#26)
  • Improve abi encoding doc examples
  • Encode_packed_to in doctest
  • Remove extra tab in docstring
  • Add implementer's guide to SolType
  • Big lib front page :)

Features

  • Unify json-abi params impls (#136)
  • Add Encodable trait (#121)
  • Finish high-level Solidity parser (#119)
  • Improve SolType tuples (#115)
  • Make TokenType::is_dynamic a constant (#114)
  • More FixedBytes impls (#111)
  • Compute encoded size statically where possible (#105)
  • Json-abi event selector (#104)
  • Solidity events support (#83)
  • Issue and PR templates #33 (#93)
  • sol! contracts (#77)
  • Abi-json crate (#78)
  • Syn-solidity visitors (#68)
  • Abi benchmarks (#57)
  • Move Solidity syn AST to syn-solidity (#63)
  • Support function overloading in sol! (#53)
  • Primitive utils and improvements (#52)
  • Add PanicKind enum (#54)
  • [sol-type-parser] Parse and expand custom errors and functions (#24)
  • Standard solidity revert & panic (#28)
  • Use const-hex instead of hex (#25)
  • Improve macros (#7)
  • Encode_eip712
  • Sol proc_macro for UDTs
  • User-defined solidity type
  • Domain macro
  • Update sol type parser to simplify access
  • Borrow for primitive bits types
  • Eip712 scaffolding
  • Borrow abstraction for tokenization and encoding
  • Serde for signed integer
  • Dyn sol type for all I sizes
  • Add uint as submodule (#1)
  • Add uint crate to repository
  • Feature structs in sol parser
  • Untested encodePacked
  • Sol proc macro
  • More expressive errors in ABI
  • Encoder rewrite
  • Abi, primitives, rlp

Miscellaneous Tasks

  • Add logo to all crates, add @gakonst to CODEOWNERS (#138)
  • Add .gitattributes (#135)
  • Typos (#132)
  • Typo fix (#131)
  • Typo fix (#129)
  • Clean up features (#116)
  • Add CODEOWNERS, update deny.toml and ci.yml (#117)
  • S/ruint/ruint2 until remco is back
  • Feature-gate getrandom, document in README.md (#71)
  • Rename to Alloy (#69)
  • Enable feature(doc_cfg, doc_auto_cfg) (#67)
  • Remove syn "full" feature (#66)
  • Rename crates (#45)
  • Pre-release mega cleanup (#35)
  • Use crates.io uint, move crates to crates/* (#31)
  • Update error type (#22)
  • Readme build commands
  • Add another todo for @gakonst
  • More todo in readme, remove cargo.toml comment
  • Update readme todos
  • Remove dbgs
  • Unused imports in test
  • Docstrings and tests
  • Missing RLP docs

Other

  • Release 0.2.0 (#139)
  • Revert "test: bless tests after updating to syn 2.0.19 (#79)" (#80)
  • Add WASM job (#76)
  • Fix dep job, add feature-checks job (#64)
  • Fix rustdoc job, docs (#46)
  • Prestwich/crate readmes (#41)
  • Prestwich/ingest encode type (#15)
  • Add initial Continuous Integration Workflows using GitHub® Actions™ (#8)
  • Dynamic EIP-712 (#6)
  • Prestwich/int-edge-cases (#4)
  • Implement ABI for I256 (#5)
  • Prestwich/dyn enc (#2)
  • Simplify encode_params docs
  • Delete type aliases
  • Remove primitive-types dep, add from for B512
  • Naming in readme
  • Standardize on mod std_support
  • のこりなくちるぞめでたき桜花ありて世の中はてのうければ

Performance

  • Improve rlp, update Address methods (#118)

Refactor

  • Lifetimes for token types (#120)
  • Sol-macro expansion (#113)
  • Change is_dynamic to a const DYNAMIC (#99)
  • Implement SolType for {Ui,I}nt<N> and FixedBytes<N> with const-generics (#92)
  • sol! AST and macro expansion (#61)
  • Remerge SolType and SolDataType (#30)
  • Clean up abi crate structure
  • Split dyn-abi into a separate crate
  • Udt doesn't need phantomdata
  • Simplify types somewhat
  • Modularize signed int implementation
  • Remove unused error variant
  • Delete remainder of serde feature
  • Trim error type
  • Abi standardize on encode+single+params

Styling

  • Add fmt commit to .git-blame-ignore-revs (#43)
  • Add rustfmt.toml (#42)
  • Sol Type re-factoring (#20)

Testing

  • Add more json abi tests (#89)
  • Bless tests after updating to syn 2.0.19 (#79)
  • Change should_panic to catch_unwind
  • Test U1 sub
  • Add custom sol structs to tests and docs
  • Clean up some type check and add a couple new ones