- Handle empty self-closed container tags on export
- Improve tests
- Matrix class is no longer scaling objects down/up (it should never have done that). You must ensure scaling in the consumer code from now on.
- Breaking: Switch
Addressesto plural fields (addresses/networks) to match spec semantics; remove singular access and update tests/docs. - Enforce required nodes/fields at write time in class
to_xml(raises on missing required Source/Projections/Geometries unless auto-filled). - Auto-fill minimal IDs for non-multipatch fixtures/truss/support/video/projector when missing (
FixtureID="0",FixtureIDNumeric=0, fixtures alsoUnitNumber=0). - Preserve
UserData/Datapayload content (text/children) on round-trip. - Default
Goborotation to0.0to avoid invalidNoneserialization.
- Add test for MVR read-write round-trip
- Export matrix only if it carries values
- Export FixtureIDs only if not none
- Ensure that layers are created in XML
- Fix header - providerVersion
- Handle empty names
- Make Symdefs to follow XML
- Change export XML declaration
- Add missing Source XML export to MappingDefinition
- Remove unused export attributes from Data()
- Adjust default class attributes to prevent mutable shared data
- Breaking changes, but updating is not complex. There is now an additional .scene object, plus several other collector objects. Look at the tests/readme for details.
- Big refactor of structure - ensure that XML structure is followed in code
- Implemented all MVR fields
- Big refactor for export
- Add classing to export
- Improve testing of elements availability
- Add python 3.14 beta to testing, add development dependencies
- Add ruff to tests, adjust CI/CD runs
- Add MVR writer
- Adjust Fixture - Address
- Convert setup.py to pyproject.toml
- Handle faulty XML files with extra null byte
- Handle encoded file names
- Make Geometry3D comparable (Add_more_nodes)
- Reformat with ruff
- Add Capture MVR test file
- Use ruff as a formatter, it's much faster and can configure line length
- AUXData, Data, UserData
- Parse GroupObject as a list
- Add python 3.12 to tests
- Initial release