NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #1981 most downloaded on crates.io
syn-powered Solidity parser
Last release 7 days ago
10 Sep 2026
Ships fairly regularly
a new release about every 6 weeks
Nearly every release is documented
notes for 58 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
78 releases · first in 2023
One column per quarter.
[json-abi] Correct to_sol for arrays of contracts
coerce_str (#577)Log<LogData> (#573)JsonAbi::to_sol (#558)[dyn-abi] Correctly parse empty lists of bytes
DynSolType.coerce_json to convert array of numbers to bytes (#541)from_slice functions (#546)cfg(doc) (#538)Fix winnow deprecation warnings
Params (#526)alloy-core meta crate in README.md overview (#523)alloy-core prelude crate (#521)#[sol(rpc)] to generate type-safe provider contract calls (#510)SolInterface::abi_decode_raw (#508)binary_search in SolInterface::valid_selector (#506)[signature] Construct Signature bytes using v+27 when we do not have an EIP155 v
signature] Construct Signature bytes using v+27 when we do not have an EIP155 v (#503)Deserialize missing state mutability as non payable
primitives] Add y_parity_byte_non_eip155 to Parity (#499)sol! (#493)Address::from_private_key (#483)[primitives] Also apply EIP-155 to Parity::Parity
[primitives] Support parsing numbers in Unit::from_str
[sol-types] Un-break decode revert
RevertReason enum (#450)[dyn-abi] Fixed arrays coerce_str
Re-enable MSRV all features check
[sol-types] Many ABI coder fixes
SolType::ENCODED_SIZE default (#418)coerce_str (#410)u?int to u?int256 (#397)Param.ty is not always a valid TypeSpecifier (#386)SolInterface::MIN_DATA_LENGTH overflow (#383)SolCall::abi_decode_returns (#367)bytes and string specialization (#435)SolEventInterface: SolInterface for contract events enum (#426)json-abi item generation (#422)JsonAbi::to_sol (#408)abi::Decoder (#404)DynSolType::coerce_str (#380)TokenType GAT and trait to Token (#417)separated instead of separated0 (#403)SolType::ENCODED_SIZE default (#418)Param.ty is not always a valid TypeSpecifier (#386)[primitives] Set serde derive feature
[sol-macro] Flatten doc strings correctly
to_sol (#354)TypeArray::is_abi_dynamic (#353)SolValue, make Encodable an impl detail (#333)resolve module private (#324)TypeArray::is_abi_dynamic (#353)SolValue, make Encodable an impl detail (#333)[sol-macro] Implement EventTopic for generated enums
all_derives = false, fix custom type printing (#272)eip712_data_word (#258)ResolveSolType documentation (#296)Spanned impls (#301)Function::signature_full (#289)Function (#290)SolError, SolInterface structs and implementations (#285)FixedBytes to int conversion impls (#281)rand (#282)FixedBytes for sol_data::FixedBytes (#276)bytes::Buf for our own Bytes (#279)Bytes conversion impls (#280)abi_ (#311)hex! macro from primitives re-export (#299)#[automatically_derived] (#294)decode_revert_reason to alloy and add tests (#308)Spanned impls (#301)[json-abi] Properly handle Param type field
type field (#233)FixedBytes<N> <-> [u8; N] conversions (#239)T: Into<Cow<str>> in eip712_domain! (#222)B160 (#235)Add ambiguity details to Encodable rustdoc
Correct encodeType expansion for nested structs
#[sol] attributes and JSON ABI support (#173)SolEnum and SolInterface (#153)ruint2 with ruint (#192)dyn-abi to performance parity with ethabi (#144)Remove to_rust from most traits
repr(C) to json-abi items (#100)primitives (#19)Encodable trait (#121)TokenType::is_dynamic a constant (#114)sol! contracts (#77)syn-solidity (#63)sol! (#53)const-hex instead of hex (#25)getrandom, document in README.md (#71)feature(doc_cfg, doc_auto_cfg) (#67)crates/* (#31)SolType for {Ui,I}nt<N> and FixedBytes<N> with const-generics (#92)sol! AST and macro expansion (#61)<!-- generated by git-cliff -->
sol! contracts (#77)syn-solidity (#63)feature(doc_cfg, doc_auto_cfg) (#67)<!-- generated by git-cliff -->
Your coding agent can read these notes before it upgrades. Set up the MCP server →