Solidity
The Smart Contract Programming Language
...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.