{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
Unsound 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...
Read moreInheritance Order Reversal On Storage End Warning Bug
Posted by Solidity Team on July 9, 2026
On June 8, 2026, clonker from the Solidity team discovered a bug in the analysis phase of the Solidity compiler. The bug manifests when the compiler emits Warning 3495 about a custom storage layout being placed too close to the end of storage. The implementation of said warning reverses the C3-linearized list of base contracts on the contract being checked. Because this linearization drives inheritance-dependent decisions throughout the rest of the compiler, the reversal can lead to miscompilations as well as internal compiler...
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




