@@ -14,13 +14,12 @@ addition, patch-level releases with major release 0 (i.e. 0.x.y) will not
1414contain breaking changes. That means code that compiles with version 0.x.y
1515can be expected to compile with 0.x.z where z > y.
1616
17- In addition to releases, we provide **nightly development builds ** to make
18- 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.
17+ In addition to releases, we provide **prereleases ** and **nightly development builds ** to make it
18+ easy for developers to try out upcoming features and provide early feedback.
19+ Note that such builds contain bleeding-edge code from the development branch and are not guaranteed
20+ to be of the same quality as full releases.
21+ Despite our best efforts, they might contain undocumented and/or broken changes that will not
22+ become a part of an actual release. They are not meant for production use.
2423
2524When deploying contracts, you should use the latest released version of Solidity. This
2625is because breaking changes, as well as new features and bug fixes are introduced regularly.
@@ -544,7 +543,7 @@ The Version String in Detail
544543The Solidity version string contains four parts:
545544
546545- the version number
547- - pre-release tag, usually set to ``develop.YYYY.MM.DD `` or ``nightly.YYYY.MM.DD ``
546+ - pre-release tag, usually set to ``develop.YYYY.MM.DD ``, `` pre.N `` or ``nightly.YYYY.MM.DD ``
548547- commit in the format of ``commit.GITHASH ``
549548- platform, which has an arbitrary number of items, containing details about the platform and compiler
550549
@@ -553,24 +552,26 @@ If there are local modifications, the commit will be postfixed with ``.mod``.
553552These parts are combined as required by SemVer, where the Solidity pre-release tag equals to the SemVer pre-release
554553and the Solidity commit and platform combined make up the SemVer build metadata.
555554
556- A release example: `` 0.4.8+commit.60cc1668.Emscripten.clang ``.
555+ Examples:
557556
558- A pre-release example: ``0.4.9-nightly.2017.1.17+commit.6ecb4aa3.Emscripten.clang ``
557+ - release: ``0.4.8+commit.60cc1668.Emscripten.clang ``
558+ - pre-release: ``0.4.9-pre.3+commit.fb60450bc.Emscripten.clang ``
559+ - nightly build: ``0.4.9-nightly.2017.1.17+commit.6ecb4aa3.Emscripten.clang ``
559560
560561Important Information About Versioning
561562======================================
562563
563564After a release is made, the patch version level is bumped, because we assume that only
564565patch level changes follow. When changes are merged, the version should be bumped according
565566to SemVer and the severity of the change. Finally, a release is always made with the version
566- of the current nightly build, but without the ``prerelease `` specifier.
567+ of the current build, but without the ``prerelease `` specifier.
567568
568569Example:
569570
5705711. The 0.4.0 release is made.
571- 2. The nightly build has a version of 0.4.1 from now on.
572+ 2. Nightly builds and preerelases have a version of 0.4.1 from now on.
5725733. Non-breaking changes are introduced --> no change in version.
5735744. A breaking change is introduced --> version is bumped to 0.5.0.
5745755. The 0.5.0 release is made.
575576
576- This behavior works well with the :ref: `version pragma <version_pragma >`.
577+ This behavior works well with the :ref: `version pragma <version_pragma >`.
0 commit comments