1.2.0
Release Notes
Version 1.2.0 of the BaSyx-Python SDK is all about bugfixes and comes with lots of improvements to our CI checks.
This release implements the following versions of the AAS specification:
| Specification | Version |
|---|---|
| Part 1: Metamodel | v3.0.1 (01001-3-0-1) |
| Schemata (JSONSchema, XSD) | v3.0.8 (IDTA-01001-3-0-1_schemasV3.0.8) |
| Part 2: API | v3.0 (01002-3-0) |
| Part 3a: Data Specification IEC 61360 | v3.0 (01003-a-3-0) |
| Part 5: Package File Format (AASX) | v3.0 (01005-3-0) |
Most notably, this release fixes the installation of the compliance tool, that was broken due to paths that were not correctly updated when moving it into its new location of the monolithic repository (#356).
Furthermore, we improve the way ModelReferences are deserialized into Python objects by inferring the type of the object they refer to from the last Key of the ModelReference.
The main new feature is a so called SetObjectStore (#340) that automatically gets updated, if an object inside of it has a change to its Identifier. However, this safety comes with the disadvantage of being slower in accessing than the existing DictObjectStore. You can read all about the advantages and disadvantages and when to use which of these two stores in their docstrings.
Changelog
Notable:
- Fix compliance tool imports and unittests and refactor to use a
pyproject.toml(See: #356, and dae335). - Improve the way
ModelReferences are deserialized by automatically inferring the type of the object they refer to, rather than always using the genericmodel.Reference(See: #337, also: 933b9f). - Add a new
SetObjectStore(See: #340)
Improvements:
- Improve the
README.mddocumentation by fixing typos and broken links (See: 831bb8, 899f40, and 9cb5b8). - Improve the "Code Quality" section in
CONTRIBUTING.md(See: #376). - Add a CI check that checks that the copyright year in the license header of each file is correct (See: 2a94f3)
Bugfixes:
- Add a missing import in
tutorial_serialization_deserialization.py(See: #363) - Update the version of
pyecma-dependency, as there was a bugfix release that affected us (See: 789cb4). - Move dependencies only needed when testing to
[dev]section in the SDK'spyproject.toml(See: #369). - Fix the installation of dependencies, when generating the developer documentation (See: d32fd6)
- Fix the redirects and wrong return status codes in
http.pyaccording to the specification; and change the way the SDK dependency is installed in theserver(See: #362).
For more information, see https://projects.eclipse.org/projects/dt.basyx/releases/1.2.0-python