- Improve code compatibility with older versions of node.
- Revert 0.3.31 changes.
- (Reverted in 0.3.32)
Simplify peer project mode by renaming imported peer symbols.
- Fix
@inheritdoc
in peer project mode.
- Add a NatSpec annotation
@custom:stateless
to skip transpiling annotated contracts in peer project mode.
- Add an option to skip transpilation of items that don't need it (e.g. interfaces), by fetching them from a "peer project". This is set by using the new
-q
flag.
- Throw error when using
@custom:storage-size
along with namespaced storage.
- Change location of initializer functions when the original contract doesn't have a constructor. Previously it would be the start of the contract, before state variables. It is now placed immediately before the first function of the contract, if the contract has functions.
- Add namespaced storage as an alternative to gaps
-n
enables namespaces, and-N
excludes specific files from namespaces.
- Allow immutable variable assignment given
unsafe-allow state-variable-immutable
. Previouslyunsafe-allow state-variable-assignment
was required as well.
- Allow constructor override at contract level.
- Switch AST resolver to faster implementation.
- Consider unsafe-allow at contract level.
- Add
-W
option to skipWithInit
generation.
- Generate
WithInit
contract variant for abstract but fully implemented contracts.
- Fix support for immutable variables of user defined value types.
- Add license header to WithInit.sol.
- Fix ignored
-b
flag.
- Add info to error message.
- Add -b flag to manually pass build info file path.
- Transform new expressions in variable initializations.
- Fix WithInit contracts when there is a constructor override.
- Fix transpilation of new statements when immediately cast to address.
- Fix evaluation of the size of value type variables that are not documented in the layout, adding support for enum, contracts and payable addresses.
- Fix gap size when immutable variables are transpiled to storage, and add
@custom:storage-size
override to customize gap size.
- Add
@dev
tag to gap variable natspec.
- Fix wrong assumption that Identifier maps to VariableDeclaration.
- Fix bug when removing abstract parents too eagerly.
- Remove calls to empty self unchained method from init method body, and empty parent unchained methods calls without parameters.
- Persist modifiers on constructors.
- Add docstring to gap variable.
- Delete unused parameter names in unchained initializers. Removes compiler warnings.
- Remove visibility from constructor in WithInit.sol file.
- Fix @inheritdoc tags by renaming the contract name.
- Fix bug in constructor transformation.
- Add handling of 'unsafe-allow override'.
- Add
initializer
modifier to WithInit constructors.
- Breaking change: Use
onlyInitializing
modifier for internal initializer functions.
- Support Solidity 0.7.
- First release to npm.