summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorTristan Van Berkom <tristan.vanberkom@codethink.co.uk>2020-04-23 21:59:39 +0900
committerTristan Van Berkom <tristan.vanberkom@codethink.co.uk>2020-04-25 00:16:01 +0900
commitd33c2d9e1fa63bfc64c882756384162b5a8f9eef (patch)
tree556981316879a380c6255906f3d46d0a6dd7617f /doc
parent1ef604f93db18c5a67bb66f1e28f952c3880a6fb (diff)
downloadbuildstream-d33c2d9e1fa63bfc64c882756384162b5a8f9eef.tar.gz
doc/source/format_project.rst: Documenting "min-version"
This replaces "format-version" documentation.
Diffstat (limited to 'doc')
-rw-r--r--doc/source/format_project.rst41
1 files changed, 24 insertions, 17 deletions
diff --git a/doc/source/format_project.rst b/doc/source/format_project.rst
index 8cf2c0026..65ca6c14d 100644
--- a/doc/source/format_project.rst
+++ b/doc/source/format_project.rst
@@ -42,34 +42,41 @@ of your project.
underscores, and may not start with a leading digit.
-.. _project_format_version:
+.. _project_min_version:
-Format version
-~~~~~~~~~~~~~~
+Minimum version
+~~~~~~~~~~~~~~~
The BuildStream format is guaranteed to be backwards compatible
-with any earlier releases. The project's minimum required format
-version of BuildStream can be specified in ``project.conf`` with
-the ``format-version`` field, e.g.:
+with any earlier minor point releases, which is to say that
+BuildStream 1.4 can read projects written for BuildStream 1.0,
+and that BuildStream 2.2 can read projects written for BuildStream 2.0.
+
+Projects are required to specify the minimum version of BuildStream
+which it requires, this allows project authors to convey a useful
+error message to their users and peers, in the case that a user needs
+to get a newer version of BuildStream in order to work with a given
+project.
+
+The project's minimum required BuildStream version must be specified
+in ``project.conf`` using the ``min-version`` field, e.g.:
.. code:: yaml
- # The minimum base BuildStream format
- format-version: 18
+ # This project uses features which were added in 2.2
+ min-version: 2.2
+
+It is recommended that when using new features, always consult this
+documentation and observe which BuildStream version a feature you are
+using was added in. If a feature in the BuildStream YAML format is
+not documented with a specific *Since* version, you can assume that
+it has been there from the beginning.
-BuildStream will increment its core YAML format version at least once
-in any given minor point release where the format has been extended
-to support a new feature.
.. note::
External :mod:`Element <buildstream.element>` and :mod:`Source <buildstream.source>`
plugins also implement their own YAML configuration fragments and as
- such are revisioned separately from the core format. See :ref:`project_plugins`
- for details on specifying a minimum version of a specific plugin.
-
- Core :mod:`Elements <buildstream.element>` and :mod:`Sources <buildstream.source>`
- which are maintained and distributed as a part of BuildStream are revisioned
- under the same global ``format-version`` described here.
+ such are revisioned separately from the core format.
.. _project_element_path: