Releases: OpenAssetIO/OpenAssetIO-TraitGen
v1.0.0-alpha.13
Breaking changes
- Updated the YAML schema to group traits/specifications under a version number key. #80
New features
-
Added support for trait versioning. Suffixed generated trait/specification view classes with a
_vXand trait IDs with a.vX(whereXis a version number), except for the first version of a trait, where the ID has no version suffix, retaining backward compatibility. #80 -
Added an optional
deprecatedfield to trait and specification YAML definitions, which causes a deprecation warning/annotation to be generated for all versions of that trait/specification. #80
Improvements
- Updated classes without a version suffix to alias version 1, but with a deprecation warning/annotation, for backward compatibility. #80
v1.0.0-alpha.12
Improvements
- Added
uianduiPolicyoptions for theusagefield on traits and specifications. #103
v1.0.0-alpha.11
- Reverted change to
kTraitSetmember of Specification classes from using thefrozensettype back to using the standardset. This is for compatibility with pybind11<2.10. #94
v1.0.0-alpha.10
Breaking changes
-
Removed support for VFX Reference Platform CY22 or lower and added support for CY24. This means Python 3.7 and 3.9 builds are no longer tested or published, whereas Python 3.11 is now published. OpenAssetIO#1351
-
Changed the
kTraitSetmember of Specification classes in Python to use thefrozensettype, rather than standardset. This allows thekTraitSetto be used as a dictionary key. #55
v1.0.0-alpha.9
C++ getProperty methods now return std::optional rather than throwing when invoked without a default parameter. This mirrors the python behaviour of returning None in this case. #57
v1.0.0-alpha.8
Breaking Changes
- Updated to use non-deprecated version of
TraitsData. Due to this, the required runtime openassetio version is now beta
1.0.0. #1127
Improvements
- Pinned
setuptoolsversion used to build from source to68.x, which is the latest version to maintain compatability with Python 3.7. #59
Bug fixes
- Added support for
setuptools69.0.0and above. Thissetuptoolsupdate removed transitionary support for mismatchedsetup.pyand
pyproject.tomlconfigurations.setup.pyhas been removed. #59
v1.0.0-alpha.7
Bug fixes
- Bumped
pyyamlversion to6.0.0to avoid issues withcython3+, andconan1.60.1to be compatible withpyyaml6.0.0. pyyaml/#601
v1.0.0-alpha.6
Improvements
- Removed dependence on
TraitsBaseandSpecificationBasetypes in generated python code, rather generating the functionality previously provided by the base directly into the traits and specifications. This mirrors the approach taken by the C++ generator, and breaks a dependency on OpenAssetIO. #19
v1.0.0-alpha.5
v1.0.0-alpha.5
New Features
- Added C++ trait and specification class generation, where the generated source tree consists of a header-only package, with a header file per class along with hoisting headers for convenience, broadly mirroring the source tree of the Python generator. #11
Bug fixes
- Fixed line breaks to no longer be platform-specific, and instead conform to Unix-style
\n.
v1.0.0-alpha.4
Breaking Changes
-
Changed
generateinterface fromlanguagestogeneratorwhen specifying generation targets. Removed ability for more than one generator` to be run simultaneously. -
Removed
--pythonoption from command line interface, replaced with--generator={generator}option. -
Python generator no longer places module underneath
pythonsubdirectory, opting now to place module folder directly inoutput_directory