github ethereum/solidity v0.8.15
Version 0.8.15

latest releases: v0.8.28, v0.8.27, v0.8.26...
2 years ago

This release fixes two important bugs and also contains other minor bug fixes and features.

For details, please see the release announcement.

Important Bugfixes:

  • Code Generation: Avoid writing dirty bytes to storage when copying bytes arrays.
  • Yul Optimizer: Keep all memory side-effects of inline assembly blocks.

Language Features:

  • Add E.selector for a non-anonymous event E to access the 32-byte selector topic.

Compiler Features:

  • LSP: Add rudimentary support for semantic highlighting.
  • Type Checker: Warn about assignments involving multiple pushes to storage bytes that may invalidate references.
  • Yul Optimizer: Improve inlining heuristics for via IR code generation and pure Yul compilation.

Bugfixes:

  • ABI Encoder: When encoding an empty string coming from storage do not add a superfluous empty slot for data.
  • Common Subexpression Eliminator: Process assembly items in chunks with maximum size of 2000. It helps to avoid extremely time-consuming searches during code optimization.
  • Yul Optimizer: Do not remove returndatacopy in cases in which it might perform out-of-bounds reads that unconditionally revert as out-of-gas. Previously, any
    returndatacopy that wrote to memory that was never read from was removed without accounting for the out-of-bounds condition.

We especially thank all the contributors that made this release possible:

Christian Parpart, Christian Reitwiessner, Damian Wechman, Daniel Kirchner, Denis T, Dustin Alandzes, Harikrishnan Mulackal, Josep M Sobrepere, Kamil Śliwak, Matheus Aguiar, Mathias L. Baumann, Nishant Sachdeva, Prajwal Borkar, Ryan, Samuel Osewa, Saw-mon-and-Natalie, shady41, sourabh.xyz, uji, Yuri Victorovich

If you want to perform a source build, please only use solidity_0.8.15.tar.gz and not the zip provided by github directly.

Don't miss a new solidity release

NewReleases is sending notifications on new releases.