@@ -9,11 +9,22 @@ Installing the Solidity Compiler
9
9
Versioning
10
10
==========
11
11
12
- Solidity versions follow `semantic versioning <https://semver.org >`_ and in addition to
13
- releases, **nightly development builds ** are also made available. The nightly builds
14
- are not guaranteed to be working and despite best efforts they might contain undocumented
15
- and/or broken changes. We recommend using the latest release. Package installers below
16
- will use the latest release.
12
+ Solidity versions follow `Semantic Versioning <https://semver.org >`_. In
13
+ addition, patch level releases with major release 0 (i.e. 0.x.y) will not
14
+ contain breaking changes. That means code that compiles with version 0.x.y
15
+ can be expected to compile with 0.x.z where z > y.
16
+
17
+ In addition to releases, we provide **nightly development builds ** with the
18
+ intention of making it easy for developers to try out upcoming features and
19
+ provide early feedback. Note, however, that while the nightly builds are usually
20
+ very stable, they contain bleeding-edge code from the development branch and are
21
+ not guaranteed to be always working. Despite our best efforts, they might
22
+ contain undocumented and/or broken changes that will not become a part of an
23
+ actual release. They are not meant for production use.
24
+
25
+ When deploying contracts, you should use the latest released version of Solidity. This
26
+ is because breaking changes, as well as new features and bug fixes are introduced regularly.
27
+ We currently use a 0.x version number [to indicate this fast pace of change](https://semver.org/#spec-item-4).
17
28
18
29
Remix
19
30
=====
@@ -551,10 +562,10 @@ of the current nightly build, but without the ``prerelease`` specifier.
551
562
552
563
Example:
553
564
554
- 0 . The 0.4.0 release is made.
555
- 1 . The nightly build has a version of 0.4.1 from now on.
556
- 2 . Non-breaking changes are introduced --> no change in version.
557
- 3 . A breaking change is introduced --> version is bumped to 0.5.0.
558
- 4 . The 0.5.0 release is made.
565
+ 1 . The 0.4.0 release is made.
566
+ 2 . The nightly build has a version of 0.4.1 from now on.
567
+ 3 . Non-breaking changes are introduced --> no change in version.
568
+ 4 . A breaking change is introduced --> version is bumped to 0.5.0.
569
+ 5 . The 0.5.0 release is made.
559
570
560
571
This behaviour works well with the :ref: `version pragma <version_pragma >`.
0 commit comments