Solidity
The Smart Contract Programming Language
Solidity is a statically-typed curly-braces programming language designed for developing smart contracts that run on Ethereum. Solidity 0.8.4 adds custom structured errors, allows more flexible configuration of the SMTChecker and fixes a bug in the Solidity ABI decoder v2. Read more about the bug here. With v0.8.4, errors can be defined inside and outside of contracts (including interfaces and libraries). This provides a convenient and gas-efficient way to explain to users why an operation failed. As a relatively young language, Solidity is advancing at a rapid speed. We aim for a regular (non-breaking) release every 2-3 weeks, with approximately two breaking releases per year. You can follow the implementation status of new features in the Solidity Github project. You can see the upcoming changes for the next breaking release by switching from the default branch (develop) to the breaking branch.