Repository: OpenAssetIO/OpenAssetIO (language: python)

Issue:
Library version introspection mechanism
## What

Ensure at exact version can be determined at build time and run time

## Why
- Traitgen/Mediacreation versioning needs openassetio version information for probable implementation strategies.
  - Deprecations
- Would be useful for the plugin system to know what version of openassetio they're in
- Potentially useful for pipeline engineers setting up pipelines.

## ACs
- [ ] A runtime method or property returning the openassetio version (C++ / Python)
- [ ] Major version, minor version, patch version and prelease returned in runtime accesor somehow
- [ ] Runtime accessor that returns a version string
- [ ] A compile time method of introspection such as a version header
- [ ] Can access in macros, Major version, minor version, patch version and prelease from compile time mechanism
- [ ] Version info should  require minimal manual updates

## Out of scope
- Python does not need a "compile time" equivilant version mechanism


Discussion / hints:
As with all things, there is a PEP for this: https://peps.python.org/pep-0396/.  TLDR we add a top-level `__version__` attribute.

Fix patch:
diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md
index 9113cc4aa..1dd804385 100644
--- a/RELEASE_NOTES.md
+++ b/RELEASE_NOTES.md
@@ -1,7 +1,7 @@
 Release Notes
 =============
 
-v1.0.0-beta.x.x
+v1.0.0-beta.2.0
 ---------------
 
 ### Breaking changes
@@ -53,6 +53,10 @@ v1.0.0-beta.x.x
   in Python.
   [#1186](https://github.com/OpenAssetIO/OpenAssetIO/issues/1186)
 
+- Added basic string representation of a `TraitsData` when `repr`'d
+  in Python.
+  [#1209](https://github.com/OpenAssetIO/OpenAssetIO/issues/1209)
+
 ### Bug fixes
 
 - Throw an exception when attempting to copy-construct a null
diff --git a/cmake/templates/include/openassetio/version.hpp.in b/cmake/templates/include/openassetio/version.hpp.in
index 36dde22c6..815c6797a 100644
--- a/cmake/templates/include/openassetio/version.hpp.in
+++ b/cmake/templates/include/openassetio/version.hpp.in
@@ -15,7 +15,7 @@
 
 // For the time being, beta versions must be manually updated prior to
 // the release
-#define OPENASSETIO_BETA_VERSION_MAJOR 1
+#define OPENASSETIO_BETA_VERSION_MAJOR 2
 #define OPENASSETIO_BETA_VERSION_MINOR 0
 
 #define OPENASSETIO_STRINGIFY(x) #x
@@ -67,4 +67,4 @@ constexpr std::size_t betaMinorVersion() { return OPENASSETIO_BETA_VERSION_MINOR
  */
 constexpr std::string_view versionString() { return OPENASSETIO_VERSION_STRING; }
 }  // namespace OPENASSETIO_CORE_ABI_VERSION
-}  // namespace openassetio
\ No newline at end of file
+}  // namespace openassetio
diff --git a/doc/contributing/PROCESS.md b/doc/contributing/PROCESS.md
index 952d15335..4e6cd4bc2 100644
--- a/doc/contributing/PROCESS.md
+++ b/doc/contributing/PROCESS.md
@@ -129,10 +129,14 @@ To make a new OpenAssetIO release, follow this procedure.
   to be the concrete release number. (For example, change v1.0.0-alpha.x
   to v1.0.0-alpha.5).
 - Update version numbers in :
-  - [pyproject.toml](../../pyproject.toml) (Under `[project]` section).
-  - [test_version.py](../../src/openassetio-python/tests/package/test_version.py) (At the top).
-  - [CMakeLists.txt](../../CMakeLists.txt) (An argument to `project()`,
-      no need to update for an alpha or beta increment).
+  - [pyproject.toml](../../src/openassetio-python/pyproject.toml)
+    (under `[project]` section).
+  - [version.hpp.in](../../cmake/templates/include/openassetio/version.hpp.in)
+    (for beta releases only, at the top).
+  - [test_version.py](../../src/openassetio-python/tests/package/test_version.py)
+    (at the top).
+  - [CMakeLists.txt](../../CMakeLists.txt) (an argument to `project()`,
+    no need to update for an alpha or beta increment).
 - If there is an ABI change (major release), update
   `set(_core_abi_version X)` in
   [`src/openassetio-core/CMakeLists.txt`](../../src/openassetio-core/CMakeLists.txt)
diff --git a/src/openassetio-python/pyproject.toml b/src/openassetio-python/pyproject.toml
index 31f1674f4..911030161 100644
--- a/src/openassetio-python/pyproject.toml
+++ b/src/openassetio-python/pyproject.toml
@@ -11,7 +11,7 @@ build-backend = "setuptools.build_meta"
 
 [project]
 name = "openassetio"
-version = "1.0.0b1.rev0"
+version = "1.0.0b2.rev0"
 requires-python = ">=3.7"
 dependencies = [
     "importlib_metadata >= 3.6"


Test patch:
diff --git a/src/openassetio-python/tests/package/test_version.py b/src/openassetio-python/tests/package/test_version.py
index f6b9305af..a19a1efce 100644
--- a/src/openassetio-python/tests/package/test_version.py
+++ b/src/openassetio-python/tests/package/test_version.py
@@ -28,7 +28,7 @@
 import openassetio
 
 # Update this value each release
-openassetio_version_string = "v1.0.0-beta.1.0"
+openassetio_version_string = "v1.0.0-beta.2.0"
 
 
 @pytest.fixture(scope="module")