Breaking changes
- Added `[[nodiscard]]` attribute to various `make` factory functions, may generate additional compiler warnings in your project.
- Removed predownload of test dependencies, meaning contributors must reuse their python environments in order to run tests offline. [629](https://github.com/OpenAssetIO/OpenAssetIO/issues/629)
- Changed location of python virtual environment created by
`openassetio-python-venv` CMake build target to be outside of the CMake install tree. This target is executed during test runs if `OPENASSETIO_ENABLE_PYTHON_TEST_VENV` is enabled. [629](https://github.com/OpenAssetIO/OpenAssetIO/issues/629)
- Changed `--install-folder` location of conan install in bootstrap scripts from `$CONAN_USER_HOME` to `$WORKSPACE/.conan`. Users who have been using the bootstrap scripts directly may need to update their toolchain CMake arguments.
New Features
- Added `simpleResolver.py` example host (under `resources/examples`), that provides a basic CLI to resolve Entity References for a supplied Trait Set.
- Added CMake option `OPENASSETIO_ENABLE_PYTHON_TEST_VENV`, allowing the user to configure whether a python virtual environment is automatically created during `ctest` execution, along with a new CMake preset `test-custom-python-env` that disables this option.
Improvements
- Added Python sources to the CMake install tree (rather than requiring a separate `pip install` for the pure Python component), effectively creating a complete bundle that can be used directly or packaged. [629](https://github.com/OpenAssetIO/OpenAssetIO/issues/629)
- Updated `setup.py` to build the Python extension module. Assuming CMake's `find_package` can locate dependencies, then `pip install .` is all that is needed to build and install OpenAssetIO into a Python environment. [630](https://github.com/OpenAssetIO/OpenAssetIO/issues/630)
- Added 'unstable' warning to docs to notify of python api that has not yet been updated for the C++ api, and is thus inherently unstable. [600](https://github.com/OpenAssetIO/OpenAssetIO/issues/600)
- Changed CMake configuration so that `openassetio-python-venv` target now automatically installs python dependencies of enabled components. [629](https://github.com/OpenAssetIO/OpenAssetIO/issues/629)
- Added convenience methods `debugApi`, `debug`, `info`, `progress`, `warning`, `error`, `critical` to `LoggerInterface` to log messages of the respective severity.
- Added `OPENASSETIO_CONAN_SKIP_CPYTHON` environment variable to prevent conan installing its own python version. This is to support workflows where the user is bringing their own python environment, and does not want python installations to conflict. [653](https://github.com/OpenAssetIO/OpenAssetIO/issues/653)
- Bleeding edge python wheels are now downloadable as artifacts from the `Build wheels` github actions workflow. [653](https://github.com/OpenAssetIO/OpenAssetIO/issues/653)