Release Notes¶
eth-abi v2.2.0 (2022-07-20)¶
eth-abi v2.1.1 (2020-02-27)¶
v2.1.0¶
- Added support for “byte” alias for “bytes1” type.
- Added support for custom stream class in
ABIDecoder. See Using a Custom Stream Class.
v2.0.0¶
- Includes all changes from v2.0.0 beta and alpha versions.
v2.0.0-beta.9¶
- Added
eth_abi.toolssubmodule with extra requirements installable withpip install eth-abi[tools]. See Tools.
v2.0.0-beta.8¶
- Added
has_encoder()andis_encodable_type()to facilitate checking for type validity against coder registrations.
v2.0.0-beta.7¶
Released March 24, 2019
- Fixed an issue that caused custom types containing capital letters to be unparseable.
- Removed PyPy support.
- Added Python 3.7 support.
v2.0.0-beta.6¶
- Added the grammar module to the public API. See Grammar.
- Updated string API for the
ABIType. Type strings forABITypeinstances are now obtained via theto_type_str()method instead of by invoking the builtin Pythonstrfunction with an instance ofABIType.
v2.0.0-beta.5¶
- Added registry copying functionality to facilitate modification of the default registry. See Copying an Existing Registry.
v2.0.0-beta.4¶
- Update eth-typing requirement to
>=2.0.0,<3.0.0.
v2.0.0-beta.2¶
Released October 16, 2018
- Bugfixes
- Was accidentally allowing eth-typing v2. Now it requires eth-typing v1 only.
v2.0.0-beta.1¶
- New Features
- Added support for nested dynamic arrays from the Solidity version 2 ABI
- Added support for non-standard packed mode encoding
- Added support for tuple array types e.g.
(int,int)[]
- Backwards Incompatible Changes
- The
encode_single()anddecode_single()functions no longer accept type tuples to identify ABI types. Only type strings are accepted. - The
collapse_type()function has been removed. People who still wish to use this function should replicate its logic locally and where needed. - The
process_type()function has been removed in favor of theparse()function. This should make the parsing API more consistent with the new parsimonious parser.
- The
v2.0.0-alpha.1¶
Released July 19, 2018
v1.3.0¶
Released December 6, 2018
- Bugfixes
- Resolved an issue that was preventing discovery of type hints.
- Misc
- Updated eth-typing dependency version to
>=2.0.0,<3.0.0.
- Updated eth-typing dependency version to
v1.2.1¶
Released October 16, 2018
- Bugfixes
- Was accidentally allowing eth-typing v2. Now it requires eth-typing v1 only. (backport from v2)
v1.2.0¶
Released August 28, 2018
- New Features
- Backported and added support for nested dynamic arrays from the Solidity version 2 ABI
v1.1.1¶
Released May 10, 2018
- Bugfixes
is_encodable()now returnsFalseif aDecimalhas too many digits to be encoded in the givenfixed<M>x<N>type. (It was previously raising aValueError)- Raise an
EncodingTypeErrorinstead of aTypeErrorwhen trying to encode afloatinto afixed<M>x<N>type.
v1.1.0¶
Released May 8, 2018
- New Features
- Added a Registry API (docs in progress) for looking up encoders by ABI type
- Added support for types: tuple and fixedMxN
- Added new is_encodable check for whether a value can be encoded with the given ABI type
- Bugfixes
- Fix RealDecoder bug that allowed values other than 32 bytes
- Fix bug that accepted
stringNas a valid ABI type. Strings may not have a fixed length. - Stricter value checking when encoding a Decimal (Make sure it’s not a NaN)
- Fix typos in “missing property” exceptions
- Misc
- Precompile regexes, for performance & clarity
- Test fixups and switch to CircleCI
- Readme improvements
- Performance improvements
- Drop Python 2 support cruft
v1.0.0¶
Released Feb 28, 2018
- Confirmed pypy3 compatibility
- Add support for eth-utils v1.0.0-beta2 and v1.0.1 stable
- Testing improvements
v0.5.0¶
- Rename to
eth-abifor consistency across github/pypi/python-module
v0.4.4¶
- Better error messages for decoder errors.
v0.4.3¶
- Bugfix for
process_typeto support byte string type arrguments
v0.4.2¶
process_typenow auto-expands all types which have omittied their sizes.
v0.4.1¶
- Support for
functiontypes.
v0.3.1¶
- Bugfix for small signed integer and real encoding/decoding
v0.3.1¶
- Bugfix for faulty release.
v0.3.0¶
- Depart from the original pyethereum encoding/decoding logic.
- Fully rewritten encoder and decoder functionality.
v0.2.2¶
- Fix a handful of bytes encoding issues.
v0.2.1¶
- Use pyrlp utility functions for big_endian int operations
v0.2.0¶
- Bugfixes from upstream pyethereum repository for encoding/decoding
- Python 3 Support
v0.1.0¶
- Initial release