-
Added new setting
"library_json"to provide easier control of BAL's internal library database when used in host test suites. It is a string value presenting BAL's in-memory library as serialised JSON. #51 -
Added support for access mode specific relationships and overriding the special-case version relationship in the JSON database. Querying a relationship with a non-
kReadaccess mode is no longer an error. KatanaOpenAssetIO#4
-
Removed support for VFX Reference Platform CY22 or lower. This means Python 3.7 and 3.9 builds are no longer tested or published. OpenAssetIO#1351
-
Minimum OpenAssetIO version increased to v1.0.0-beta.2.2 to make use of new API features. #84
-
Minimum OpenAssetIO-MediaCreation version increased to v1.0.0-alpha.9 for compatibility with the latest OpenAssetIO. See OpenAssetIO#1311. #90
-
Added support for configuring the result of
hasCapability(...)queries. This allows hosts to test their logic when dealing with managers that have limited capability. #84 -
Added support for
OPENASSETIO_BAL_IDENTIFIERenvironment variable, for overriding the identifier advertised by the BAL plugin/manager. #116 -
Added support for the
defaultEntityReferencecore API method, configured using a new JSON field in the database"defaultEntities", which maps access mode and trait set to an entity name. #53
- Fixed normalisation of
file://URLs from the JSON database such that they are no longer percent decoded before being passed on to the host. #109
-
Minimum OpenAssetIO version increased to v1.0.0-beta.2.1 to make use of new API features. #90
-
Renamed the key for configuring per trait set
managementPolicyresponses in the JSON database from"exceptions"to"overrideByTraitSet". #90
-
Added validation during publishing against
managementPolicyand thekWriteentity trait set. #90 -
Added
"overrideByAccess"option in the JSON DB entity entries, allowing per access mode overrides of returned data, withnullsignalling non-existence and empty dict{}signalling inaccessibility. #90 -
Add new
bal_library_dir_urlsubstitution variable, allowing library directory to be used in places where OpenAssetIO requires a valid url. #86
-
Fixed
resolveto no longer imbue entity traits that have no property values. -
Fixed to trigger a
kEntityResolutionErrorresult, rather thanIndexErrorexception, when querying an empty"versions"list in the JSON database. #90
-
Reverted
openassetio-mediacreationto an explicit package dependency, now that OpenAssetIO/OpenAssetIO#1088 is complete, and conflicting installation requirements will be handled correctly. #72 -
Minimum OpenAssetIO version increased to v1.0.0-beta.2.0 due to breaking API changes. #89
-
Added support for the
entityTraitscore API method. #89 -
Added support for the
kRequiredandkManagerDrivenaccess modes inmanagementPolicyqueries. Added support for access modes other thankReadinresolvequeries (i.e.kManagerDriven). #98
- Added support for querying a stable equivalent reference using the
OpenAssetIO-MediaCreation
StableReferenceRelationshipSpecificationwithgetWithRelationship. #83
-
Minimum OpenAssetIO version increased to v1.0.0-beta.1.0 due to breaking API changes. #1119 #1125 #1127
-
Added
openassetioas a package dependency to aid debugging versions conflicts.
- Made
openassetio-mediacreationa soft dependency to avoid conflicting installation requirements.
-
Refactored entity reference handling, resulting in a change to exception message formatting for malformed entity references.
-
Migrated
entityExiststo the batch-first callback based signature. -
Entity references returned from
registerwill now contain a version specifier in thev=<version>query parameter. #49 -
Added a runtime dependency on the
openassetio-mediacreationpackage. -
Added validation to API methods to error on unsupported access modes. #57
-
Minimum OpenAssetIO version increased to v1.0.0-alpha.14 due to breaking API changes. #1054
-
The entity reference scheme consumed by BAL can be adjusted from the default of
balusing theentity_reference_url_schemesetting. This must be set to a simple alphanumeric string. -
Added support for retrieving specific versions using the
v=<version>query parameter in a BAL entity reference. When publishing,preflightwill remove any explicit version specifier (as it will always produce a new version), andregisterwill return an entity reference with the version specifier for the newly created version. #49 -
Added support for resolving the OpenAssetIO-MediaCreation
VersionTrait. #49 -
Added support for querying entity versions using the OpenAssetIO-MediaCreation
EntityVersionsRelationshipSpecificationandStableEntityVersionsRelationshipSpecificationwithgetWithRelationship. If thespecifiedVersionproperty of theVersionTraitis set, then a reference for that version will be returned. #49
- Added missing fixtures for the
openassetio.test.managerAPI compliance suite test harness. #61
-
Minimum OpenAssetIO version increased to
v1.0.0-alpha.13due to API changes. -
Refactored error handling.
BatchElementErrormessages have been reformatted when a referenced entity is missing from the library.
- Added support for
getWithRelationship[s]Pagedpaged relationship query API. #46
- Added capability to artificially delay
resolve,preflight,entityExists,registerandgetRelatedReferencesin order to better simulate real-world workflows and better test scalability. New settingsimulated_query_latency_msadded, defaulting to 10ms. #38
- Moved
openassetiodependency out of python project (pyproject.toml) and instead have it as arequirements.txtdependency. OpenAssetIO should be provided by the environment, and BAL enforcing this as part of its install led to inflexibility. #31
- The
$BAL_LIBRARY_PATHenvironment variable is now correctly considered when thelibrary_pathsetting is not set/empty. #26
- Variables are now expanded in any string properties of an entity's
traits. Expansion occurs during resolve to allow for variation in the
environment between calls. Note: Only the
$varand${var}syntax is supported. You can escape a literal$using$$. In addition to the environment, a library can define arbtirary variables under the top levelvariableskey. BAL also provides several implicit variables of its own:bal_library_pathThe absolute path to the current library.bal_library_dirThe absolute path to the directory containing the current library. #22
- Added support for
getRelatedReferencesqueries against a BAL library. Seeschema.jsonfor library syntax, there an example in the function's test library. #17
-
Improved error messaging for missing entities and malformed entity references - it now contains the relevant string to aid debugging.
-
Bumped OpenAssetIO version to
v1.0.0a8.
- Management policy queries will no longer fall back to a hardcoded
default if no policy was found in the library, and will raise an
exception instead. If a
managementPolicyis defined in the JSON library, then the JSON schema requires bothread.defaultandwrite.defaultpolicies to be defined. #6
- Renamed the top-level python package to
openassetio_manager_bal. #9
- BAL now exposes an
openassetio.manager_pluginentry point, and can be installed viapython -m pipor similar. This allows it to be used with OpenAssetIO without needing to extendOPENASSETIO_PLUGIN_PATH. #9
- Updated the JSON schema for
managementPolicyto properly disallow unsupported properties and to support awritepolicy.
Initial alpha release.