{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
Bug Concerning Incorrect Removal of mstore and sstore Writes
Posted by Solidity Team on August 26, 2026
On February 4th 2026, Cantina reported a bug in the UnusedStoreEliminator Yul optimizer step that can cause it to remove mstore or sstore writes that are still needed, if it is run on code that has not previously been brought into pseudo-SSA form by the SSATransform step. The bug was introduced in Solidity 0.8.13, together with the UnusedStoreEliminator step itself. We assigned the bug a severity of "low". Which Contracts are Affected? UnusedStoreEliminator removes writes to memory or storage that it can prove are...
Read moreUnsound Spill In Mutual Recursion Bug
Posted by Solidity Team on July 9, 2026
On May 11, 2026, clonker from the Solidity team discovered a bug in the Yul optimizer's call graph analysis. The bug resulted in mutually recursive functions being sometimes misclassified as non-recursive, and therefore not being excluded from the memory spilling mechanism that is incompatible with recursive functions. The mechanism relocates local variables to fixed memory offsets to work around the EVM's stack depth limit and would cause the spilled variables to be shared between all invocations of the same function. We assign this...
Read moreSolidity 0.8.36 Release Announcement
Posted by Solidity Team on July 9, 2026
Solidity v0.8.36 is now available. The release includes two security fixes, both of medium severity. On the experimental side, the SSA-form code generator introduced in 0.8.35 gains stack-to-memory spilling, which effectively solves stack-too-deep on that backend. The experimental EOF backend is also removed; it had been obsolete since EOF was rejected for inclusion in the Fusaka network upgrade. Important Bugfixes Stack-to-memory mover can mistakenly apply spilling to recursive functions.** A flaw in how the Yul optimizer detects call cycles could misclassify functions involved in...
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
Solidity Events
Past events




