{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
Spill Slot Collision Across Mutual Recursion Bug
Posted by Solidity Team on September 10, 2026
On July 30, 2026, Ng Sze Hon reported a bug in the IR pipeline's stack-to-memory mover (the "stack limit evader") through the Ethereum Foundation's bug bounty program. The mover works around the EVM's stack depth limit by relocating ("spilling") some local variables to fixed memory offsets, called spill slots. Because of the bug, variables of two different functions can be assigned the same spill slot when the call graph contains mutual recursion, even though both variables can be live at the same...
Read moreSolidity 0.8.37 Release Announcement
Posted by Solidity Team on September 10, 2026
We have released Solidity v0.8.37. This is primarily a bugfix release. It contains three important bugfixes, two rated low/medium severity and one very low, as well as fixes for two smaller miscompilations that are not security issues. On the experimental side, the SSA CFG code generator gets a new stack shuffler that replaces the previous greedy algorithm with a planning one. The release also adds support for the SLOTNUM opcode of the Amsterdam EVM version, removes two experimental features and adds deprecation warnings for...
Read moreMisordered Named Parameters in require with Custom Errors Bug
Posted by Solidity Team on September 10, 2026
On February 4, 2026, a bug in the IR-based code generator was reported by Carl from Cantina Security through the Ethereum Foundation bug bounty program. The bug causes the arguments of a custom error passed to require using named-parameter syntax to be placed on the stack in call-site order rather than declaration order before they are ABI-encoded. The bug was introduced in Solidity 0.8.26, which added support for passing custom errors as the second argument to require. Solidity 0.8.37 provides a fix. We assigned the bug a severity...
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




