{ skip to content }

Solidity 0.8.14 Release Announcement

Posted by Solidity Team on May 18, 2022

Releases

Solidity v0.8.14 fixes two important bugs.

The first one is related to ABI-encoding nested arrays directly from calldata. You can find more information in the blog post.

The second bug is triggered in certain inheritance structures and can cause a memory pointer to be interpreted as a calldata pointer or vice-versa. We also have a dedicated blog post about this bug.

Apart from these, there are several minor bug fixes and improvements.

Please note: Unfortunately, the npm wrapper package of this version is corrupted. Using the new soljson.js with solc-js 0.8.13 will work, but the 0.8.14 npm release (now marked as deprecated) is missing a file and due to that does not work properly. We released 0.8.14-fixed in case you need a working npm package as dependency. Note however, that npm will not pick it up automatically.

Full Changelog

Important Bugfixes:

  • ABI Encoder: When ABI-encoding values from calldata that contain nested arrays, correctly validate the nested array length against calldatasize() in all cases.
  • Override Checker: Allow changing data location for parameters only when overriding external functions.

Compiler Features:

  • Assembly-Json Exporter: Include source list in sourceList field.
  • Commandline Interface: Option --pretty-json works also with the following options: --abi, --asm-json, --ast-compact-json, --devdoc, --storage-layout, --userdoc.
  • Language Server: Allow full filesystem access to language server.
  • Peephole Optimizer: Remove operations without side effects before simple terminations.
  • SMTChecker: Support abi.encodeCall taking into account the called selector.

Bugfixes:

  • Assembly-Json Exporter: Fix assembly json export to store jump types of operations in jumpType field instead of value.
  • SMTChecker: Fix ABI compatibility with z3 >=4.8.16.
  • SMTChecker: Fix bug when z3 is selected but not available at runtime.
  • Type Checker: Properly check restrictions of using ... global in conjunction with libraries.
  • TypeChecker: Convert parameters of function type to how they would be called for abi.encodeCall.

A big thank you to all contributors who helped make this release possible!

Download the new version of Solidity here.

Previous post

Next post

Get involved

GitHub

Twitter

Mastodon

Matrix

Discover more

BlogDocumentationUse casesContributeAboutForum

2023 Solidity Team

Security Policy

Code of Conduct