{Solidity}
Solidity is evolving rapidly
We aim for a regular (non-breaking) release every month, with approximately one breaking release per year. You can follow the implementation status of new features in the Solidity GitHub project.
Contribute to Solidity
Solidity continues to improve with help from our global community. Check out these ways to get involved and contribute to the Solidity project.
Reporting issues and vulnerabilities
To report an issue, please use the GitHub issues tracker. To report a vulnerability, please check out the instructions in the SECURITY.md.
Translating the documentation
Translations help developers from all corners of the world to be able to read the documentation and learn Solidity.
Fixing and responding to issues
Fixing and responding to issues, especially those tagged as “good first issue”, is a great way to get started for external contributors.
Contributing to language design
We welcome Solidity power users, auditors, security experts and tooling developers to get involved in the Solidity language design process. Join the Solidity forum, where existing properties of the language and proposals for new language features can be discussed.
Stay Updated
Stay always up-to-date by following the Solidity blog.
You can see the upcoming changes for the next breaking release by switching from the default branch (develop
) to the breaking branch
. You can actively shape Solidity by providing your input and participating in the language design in the Solidity forumand participating in the yearly Solidity developer surveys.
Latest from the blog
Solidity 0.8.27 Release Announcement
Posted by Solidity Team on September 4, 2024
We are excited to announce the release of the Solidity Compiler v0.8.27. This newest version of the compiler brings support for custom errors in require to the legacy pipeline, optimizer improvements such as caching of optimized IR that will speed up compilation via IR, several bugfixes, and more! Notable Features Legacy Support for require with Custom Errors Custom errors in Solidity provide a convenient and gas-efficient way to explain to the user why an operation failed. Support for using errors with the require function...
Read moreUnderhanded Solidity Contest 2024 Announcement
Posted by Vishwa Mehta on July 31, 2024
The Underhanded Solidity Contest is back with a bang in 2024! After two successful seasons of the contest in 2020 and 2022 inspired by the first edition in 2017, we’re back with an exciting challenge for this year. Before we dive into the 2024 theme, let's do a quick refresher on what the Underhanded Solidity Contest is. The Underhanded Solidity Contest is about writing seemingly innocent code that has malicious mechanisms or hidden backdoors. Through this contest, we aim to: Raise awareness about smart...
Read moreA Closer Look at Via-IR
Posted by Solidity Team on July 12, 2024
In its current default settings, the Solidity compiler does not transform the code into any intermediate representation (IR) for generating EVM bytecode but does it in a direct fashion. There is, however, the more recently developed via-IR compilation pipeline , which employs the Yul programming language as an intermediate representation. On a high level, the compilation steps of the two pipelines look like the following: compilation-pipelines In this blog post, we will be taking a closer look at the details of via-IR, understand...
Read morePlayground
Try Solidity for yourself in this simple compiler. For a more fully featured browser-based IDE, try using Remix.
Compiler result
Compiler version:
(0 bytes)
Deployment costs: gas
Bytecode
Assembly