Releases: matter-labs/era-compiler-solidity
Releases · matter-labs/era-compiler-solidity
1.5.11
1.5.10
Changed
- The error about using
create
/create2
in assembly is made a warning
1.5.9
Added
- Full list of factory dependencies to standard and combined JSON outputs
- Linked dependencies to the
linked
field of linker standard JSON output - Comprehensive documentation for the EraVM compilation process
Changed
solc
is not called anymore if its data is not needed in combined JSON mode- Prohibited the use of
create
/create2
in assembly blocks
Fixed
- Empty
missing-libraries
list in combined JSON mode - False-positive warning with
--force-evmla
in basic CLI mode - Yul contract names in standard JSON output now match Yul object names
- Several memory errors found by the sanitizer
1.5.8
Added
- JSON interface for the EraVM linker
- Missing libraries output in standard JSON mode
- Transient storage layout to combined JSON output
- A warning about
forceEVMLA
andcodegen
options in standard JSON mode - Documentation for remaining CLI endpoints and EraVM extensions
Changed
- Moved the
solc
client to another crate atera-solc
- Prohibited the usage of the upstream
solc
compiler - The CLI library from deprecated
structopt
toclap
- All dependencies are now resolved by the LLVM linker, improving compilation times
- The disassembler now only works with files with hexadecimal strings
- Updated to Rust v1.82.0
Fixed
- Cleared return data after calling
CREATE
/CREATE2
- Calls to precompile
0x04
are not replaced withmemcopy
anymore - Standard JSON input parsing if
outputSelection
arrays are unset - Missing bytecode for files with multiple contracts in combined JSON mode
1.5.7
Added
- Supported transient storage layout that is returned by
solc
- The
--codegen
option to make codegen settings more unified - Increased the code coverage of the interface to nearly 100%
- The
zksolc
documentation as a part of this repository - More LLVM optimizations
Changed
- Moved suppressed messages inside
settings
in standard JSON input - Moved EraVM artifacts to
contract.eravm
in standard JSON output
Fixed
- Different bytecode for compile-time and post-compile-time library linking
Deprecated
- Suppressed messages at the root of standard JSON input
- EraVM artifacts returned via
contract.evm
in standard JSON output --force-evmla
flag in favor of--codegen
--disable-solc-optimizer
flag, as we are not using thesolc
optimizer anymore
1.5.6
Fixed
- An error about
solc
discovery when it is not present in${PATH}
1.5.5
Added
- The solc v0.8.28 support
- More optimizations
Fixed
- The compilation pipeline that was not run without output parameters
- Broken
--output-dir
output paths for non-Solidity contracts solc
that was not picked up from${PATH}
in standard JSON modesolc
exit code check which is now before the output parsing- Several issues with fragile parsing of
--llvm-options
1.5.4
Added
- The support for IPFS metadata hash type
- The support for deploy-time library linking
- The EraVM disassembler
- The solc v0.8.27 support
- More optimizations
1.5.3
Added
- More LLVM optimizations
Changed
- Migrated to the LLVM-based assembler and linker
- Updated to Rust v1.80.1
Fixed
- The complex bitwise operations misoptimization
1.5.2
Added
- The support for multiple
urls
to local files in standard JSON input
Removed
- The source code loading mechanism leading to file system errors
- The Solidity source code part of the metadata hash preimage
- Some duplicate fields in the metadata hash preimage
Fixed
- Errors with imports of files not included into the initial input