Skip to content

Commit 7a40785

Browse files
authored
Merge pull request #12491 from fulldecent/feature-version-policy
Write down version policy
2 parents 597426b + 8c6f80a commit 7a40785

File tree

1 file changed

+21
-10
lines changed

1 file changed

+21
-10
lines changed

docs/installing-solidity.rst

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,22 @@ Installing the Solidity Compiler
99
Versioning
1010
==========
1111

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).
1728

1829
Remix
1930
=====
@@ -551,10 +562,10 @@ of the current nightly build, but without the ``prerelease`` specifier.
551562

552563
Example:
553564

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.
559570

560571
This behaviour works well with the :ref:`version pragma <version_pragma>`.

0 commit comments

Comments
 (0)