Releases: matter-labs/era-compiler-solidity
Releases · matter-labs/era-compiler-solidity
prerelease-c6855d5-missing-libraries-first-pass
feat: always emit missing libraries
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
prerelease-ffcdb9a-fix-linker-indeterminism
fix: library linking time indeterminism
prerelease-05468c1-suppresed-messages-inside-settings
ci: check hardhat integration with each release (#171)
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
1.5.1
Added
- Parallelization in AST and IR parsing
- More LLVM optimizations
- Location resolution for EraVM-specific messages in standard JSON output
- The
suppress-errors
parameter to disable some compilation errors
Changed
- All messages are now written to JSON output in standard JSON mode
- AST and IRs are not emitted anymore if not explicitly requested
- Empty files and contracts are pruned from standard JSON output
- Message formats are made more compatible with original messages of solc
<address payable>.send/transfer(<X>)
now triggers a compilation error- Updated to Rust v1.79.0
Removed
- Obsolete warnings for
extcodesize
andecrecover
- EVM-specific warnings which solc has been emitting unconditionally
Fixed
- Dependency graph inefficiency that caused excessive compilation time
- Removed JSON stream readers which are much slower than strings and vectors
- Missing output with non-canonical input paths in combined JSON output
- Missing warnings with solc v0.4.x and v0.5.x due to differences in AST
- Cryptic error on
type(T).runtimeCode
usage with EVM assembly codegen - The unknown
bytecodeHash
error in standard JSON mode with solc v0.5.x