Skip to content

Releases: matter-labs/era-compiler-solidity

1.5.11

27 Jan 11:13
b2b78f7
Compare
Choose a tag to compare

Fixed

  • Windows-style (CRLF) new-line characters in Yul string literals
  • Missing libraries that were not filtered with --libraries

1.5.10

17 Jan 13:16
0c9df3b
Compare
Choose a tag to compare

Changed

  • The error about using create/create2 in assembly is made a warning

1.5.9

09 Jan 16:15
2333c0e
Compare
Choose a tag to compare

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

10 Dec 19:30
64c410b
Compare
Choose a tag to compare

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 and codegen options in standard JSON mode
  • Documentation for remaining CLI endpoints and EraVM extensions

Changed

  • Moved the solc client to another crate at era-solc
  • Prohibited the usage of the upstream solc compiler
  • The CLI library from deprecated structopt to clap
  • 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 with memcopy anymore
  • Standard JSON input parsing if outputSelection arrays are unset
  • Missing bytecode for files with multiple contracts in combined JSON mode

1.5.7

31 Oct 16:02
07030c4
Compare
Choose a tag to compare

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 the solc optimizer anymore

1.5.6

16 Oct 00:54
86db4c5
Compare
Choose a tag to compare

Fixed

  • An error about solc discovery when it is not present in ${PATH}

1.5.5

15 Oct 09:33
2cbcbea
Compare
Choose a tag to compare

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 mode
  • solc exit code check which is now before the output parsing
  • Several issues with fragile parsing of --llvm-options

1.5.4

24 Sep 10:19
6519ed7
Compare
Choose a tag to compare

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

27 Aug 05:56
055ec47
Compare
Choose a tag to compare

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

31 Jul 12:57
489dddb
Compare
Choose a tag to compare

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