{ skip to content }

Solidity 0.5.4 Release Announcement

Posted by Solidity Team on February 12, 2019


This release adds support for calldata structs and packed encoding with ABIEncoderV2. We also introduced some changes to the C API and added support for continuous fuzzing via Google oss-fuzz. In addition to that, we added a new commandline option for improved (colorized) diagnostics formatting.

Language Features:

  • Allow calldata structs without dynamically encoded members with ABIEncoderV2.

Compiler Features:

  • ABIEncoderV2: Implement packed encoding.
  • C API (libsolc / raw soljson.js): Introduce solidity_free method which releases all internal buffers to save memory.
  • Commandline Interface: Adds new option new-reporter for improved diagnostics formatting along with color and no-color for colorized output to be forced (or explicitly disabled).


  • Code Generator: Defensively pad allocation of creationCode and runtimeCode to multiples of 32 bytes.
  • Commandline Interface: Allow yul optimizer only for strict assembly.
  • Parser: Disallow empty import statements.
  • Type Checker: Disallow mappings with data locations other than storage.
  • Type Checker: Fix internal error when a struct array index does not fit into a uint256.
  • Type System: Properly report packed encoded size for arrays and structs (mostly unused until now).

Build System:

  • Add support for continuous fuzzing via Google oss-fuzz
  • SMT: If using Z3, require version 4.6.0 or newer.
  • Soltest: Add parser that is used in the file-based unit test environment.
  • Ubuntu PPA Packages: Use CVC4 as SMT solver instead of Z3

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





Discover more

BlogDocumentationUse casesContributeAboutForum

2024 Solidity Team

Security Policy

Code of Conduct