{ skip to content }

{Solidity:​log}

Latest News & Announcements

Releases
Security Alerts
Announcements
Explainers

Solidity 0.4.11 Release Announcement

Posted by Solidity Team on May 3, 2017

Releases

This release fixes a bug in the optimizer (more about this on the blog), introduces the standard JSON interface, adds interface contracts and implements some additional safety checks. The standard JSON interface provides a unified way to invoke the Solidity compiler in order to ease cross-platform adoption and compilation verification. Features: Implement the Standard JSON Input / Output API Support interface contracts. C API (jsonCompiler): Add the compileStandard() method to process a Standard JSON I/O. Commandline interface: Add the standard-json parameter to process a Standard JSON...

Read more

Solidity 0.4.10 Release Announcement

Posted by Solidity Team on March 15, 2017

Releases

This release is focused on stability and also introduces some new smart contract safety features: require, assert and transfer. Note that the new revert function will only be gas-efficient starting from homestead. Features: Add assert(condition), which throws if condition is false (meant for internal errors). Add require(condition), which throws if condition is false (meant for invalid input). Commandline interface: Do not overwrite files unless forced. Introduce .transfer(value) for sending Ether. Code generator: Support revert() to abort with rolling back, but not consuming all gas. Inline assembly: Support...

Read more

Solidity 0.4.9 Release Announcement

Posted by Solidity Team on January 31, 2017

Releases

This release fixes quite some bugs and also adds several new features. Things to look out for: To disambiguate contracts and libraries of the same name in different files, everything is now prefixed by "filename:". This applies to the compiler output, the linker input and other things. Internal exceptions are now thrown by using an invalid opcode (0xfe), manual exceptions still use an invalid jump. Features: Compiler interface: Contracts and libraries can be referenced with a file: prefix to make them unique. Compiler interface: Report source...

Read more

Solidity 0.4.8 Release Announcement

Posted by Solidity Team on January 13, 2017

Releases

Features: Optimiser: Performance improvements. Output: Print assembly in new standardized Solidity assembly format. Bugfixes: Remappings: Prefer longer context over longer prefix. Type checker, code generator: enable access to events of base contracts' names. Imports: import ".dir/a" is not a relative path. Relative paths begin with directory . or ... Type checker: disallow inheritances of different kinds (e.g. a function and a modifier) of members of the same name A big thank you to all contributors who helped make this release possible! Download the new version of Solidity here.

Read more

Solidity 0.4.7 Release Announcement

Posted by Solidity Team on December 15, 2016

Releases

Features: Bitshift operators. Type checker: Warn when msg.value is used in non-payable function. Code generator: Inject the Swarm hash of a metadata file into the bytecode. Code generator: Replace expensive memcpy precompile by simple assembly loop. Optimizer: Some dead code elimination. Bugfixes: Code generator: throw if calling the identity precompile failed during memory (array) copying. Type checker: string literals that are not valid UTF-8 cannot be converted to string type Code generator: any non-zero value given as a boolean argument is now converted into 1. AST Json Converter: replace VariableDefinitionStatement...

Read more

Solidity 0.4.6 Release Announcement

Posted by Solidity Team on November 22, 2016

Releases

Bugfixes: Optimizer: Knowledge about state was not correctly cleared for JUMPDESTs Swarm hash of js compiler: bzzr:/b873fa122233c91b1531527c390f6ca49df4d2a2c5f75706f4b612a0c813cb6a A big thank you to all contributors who helped make this release possible! Download the new version of Solidity here.

Read more

Solidity 0.4.5 Release Announcement

Posted by Solidity Team on November 21, 2016

Releases

This Solidity release adds function types. Use-cases include supplying callbacks for asynchronous or off-chain operations or generic library features (for example map-reduce-style programming). This release also improves the safety of enums and sending Ether to a contract constructor. Features: Function types Do-while loops: support for a do while (); control structure Inline assembly: support invalidJumpLabel as a jump label. Type checker: now more eagerly searches for a common type of an inline array with mixed types Code generator: generates a runtime error when an out-of-range...

Read more

Analysis of Storage Corruption Bug

Posted by Christian Reitwiessner on November 9, 2016

Security Alerts

This post was originally published on the Ethereum blog. This blog post provides an update on our findings following the discovery of the storage corruption bug last week. In summary, the bug was much less severe than we initially thought. The small number of affected contracts we found is either only exploitable by the owner, or the exploit can only cause a disruption in the user interface and not in the actual contract logic. All exploitable contracts/dapps we reviewed can be fixed...

Read more

Solidity 0.4.4 Release Announcement

Posted by Solidity Team on November 1, 2016

Releases

This is a bugfix release that fixes a storage corruption that appears when multiple variables are stored in the same slot (details). Bugfixes: Type checker: forbid signed exponential that led to an incorrect use of EXP opcode. Code generator: properly clean higher order bytes before storing in storage. A big thank you to all contributors who helped make this release possible! Download the new version of Solidity here.

Read more

Security Alert: Variables can be overwritten in storage

Posted by Christian Reitwiessner on November 1, 2016

Security Alerts

This post was originally published on the Ethereum blog. Summary: In some situations, variables can overwrite other variables in storage. *Affected Solidity compiler versions: *0.1.6 to 0.4.3 (including 0.4.4 pre-release versions) Detailed description: Storage variables that are smaller than 256 bits are packed together into the same 256 bit slot if they can fit. If a value larger than what is allowed by the type is assigned to the first variable, that value will overwrite the second variable. This means if an attacker can cause...

Read more
Newer posts
Older posts

Get involved

GitHub

Twitter

Mastodon

Matrix

Discover more

BlogDocumentationUse casesContributeAboutForum

2025 Solidity Team

Security Policy

Code of Conduct