A Solidity source file is indicated using the .sol extension. Just like any other programming language, there are various versions of Solidity. The latest version at the time of writing this book is 0.4.2.
In the source file, you can mention the compiler version for which the code is written for using the pragma Solidity directive.
For example, take a look at the following:
pragma Solidity ^0.4.2;
Now the source file will not compile with a compiler earlier than version 0.4.2, and it will also not work on a compiler starting from version 0.5.0 (this second condition is added using ^). Compiler versions between 0.4.2 to 0.5.0 are most likely to include bug fixes instead of breaking anything.
It is possible to specify much more complex rules for the compiler version; the expression follows those used by npm.