Warning, /acts/docs/versioning.rst is written in an unsupported language. File is not indexed.
0001 Versioning and public API
0002 =========================
0003
0004 ACTS uses `Semantic Versioning <https://semver.org/spec/v2.0.0.html>`_ to
0005 indicate breaking changes in its public API. A breaking change will result in a
0006 new major version. The `Conventional Commits
0007 <https://www.conventionalcommits.org/en/v1.0.0/>`_ convention is used for pull
0008 requests to track the type of changes that have been merged and ensure that the
0009 version number is increased correctly.
0010
0011 Since ACTS is still under active development not all visible symbols are
0012 automatically considered part of the public API and as such fall under the
0013 Semantic Versioning rules. The subset of symbols that are currently part of the
0014 public API is outlined below.
0015
0016 Public API
0017 ----------
0018
0019 At the moment only the following modules of the core library in the ``Core``
0020 directory contribute to the public API.
0021
0022 - ``EventData``
0023 - ``MagneticField``
0024 - ``Propagator``
0025 - ``Surfaces``
0026 - ``Vertexing``
0027
0028 Within these modules, only symbols defined directly in the ``Acts`` namespace
0029 must be considered as public.
0030
0031 Private API
0032 -----------
0033
0034 The following components are not part of the public API but are expected to
0035 become part of it at a later stage:
0036
0037 - All modules of the core library that are not explicitly listed as part of
0038 the public API.
0039 - All plugins in the ``Plugins`` directory.
0040 - The Fatras library in the ``Fatras`` directory.
0041
0042 The following components will never become part of the public API:
0043
0044 - Symbols in helper namespaces e.g. in ``Acts::detail`` must be considered
0045 implementation details and are not part of the public API.
0046 - Symbols in the namespace ``Acts::Experimental`` are not part of the public API.
0047 - The examples framework and executables in the ``Examples`` directory.
0048 - All units tests, integration tests, (micro)-benchmarks, and related code in
0049 the ``Tests`` directory.