Noteworthy changes
- **New**: More audit events have been added; refer to the new documentation page: [Audit events](https://dsd-dbs.github.io/py-capellambse/start/audit-events.html).
- **New**: The `MelodyModel.description_badge` property has been added, which generates a small SVG diagram showing the overall model complexity (number of objects and diagrams per layer). Thanks, vik378!
<small>(Note that this is intended as a demonstration, and will likely not be expanded. If you need more complex analysis, take a look at the API and design your own!)</small>
- **Deprecated**: The `capellambse.read_attribute` audit event has been renamed to `capellambse.getattr`. For some period of time, both will be fired, but `read_attribute` will eventually be removed.
Full changelog
New features
- **audit**: Add audit events for modifying a model *by Wuestengecko* (216b13bfd1858478120f62450936b6d58dfbfdc4)
- **audit**: Add example class that write-protects a model *by Wuestengecko* (4307d1bdcaff2bbb5dbadb8abed7b381cd6b34ac)
- **reqif**: Implement write support for requirements relations *by ewuerger* (b589e91c034cd34fa84bf2e656d71d0188e23694)
- **reqif**: Show value in repr of `*ValueAttribute` classes *by ewuerger* (cc40227a73981d3083b305efc9a607e4a9a39c1d)
- Introduce model summary badge *by vik378* (bb8371662576c1d3299fbe394e6e6e9ccdb237f4)
Bug fixes
- **model**: Consistently fire read_attribute audit events *by Wuestengecko* (2e63804140f0d905238a9ed16d4d17d457e35771)
- **model**: Don't return None from HTML attributes *by Wuestengecko* (3ee43f28c70844ddeb2aca278d6fffd5f0419058)
- **model**: Fix `AttrProxyAccessor.__set__` method signature *by ewuerger* (5f1835dd2dd979bb671effcfa1e4c247c04b6dc4)
- **pvmt**: Raise correct exception for not-yet-implemented *by Wuestengecko* (6db65924ca4021ffb79270f90e8d6d686ee46e1c)
- Ignore .DS_Store and vscode user settings *by vik378* (20081e5714ba7eeac80c21d3b852b8dd44a9e3d2)
Documentation changes
- **decl**: Remove unused import in demo notebook *by ewuerger* (502d0ee2c06c8bf4be12386e26e06694e97ea02e)
- Add notes on commit requirements *by vik378* (eda6a119ee0af7d43726bfd3860d0c460321ba40)
CI/CD changes
- Update pre-commit config *by Wuestengecko* (c2e00d4e075701327926795e067b6c6fe0ed9ad5)
Unit test changes
- Add testcase for setting `.values` on `EnumValueAttribute` *by ewuerger* (2f514118029916aceba84842799290f9ff38b729)
- Load model extensions before test discovery *by Wuestengecko* (5761d50eb90d2bc69f14f992cd7d2205564a3004)
Code refactorings
- **audit**: Rename `read_attribute` event to `getattr` *by Wuestengecko* (ba5c0a1473ac8bcf58852e4723d5dae4e3582784)
- **reqif**: Make ReqIF extension standards-compliant *by Wuestengecko* (06a5deaf8d2e0699cdfc6ebd63ba52d0157c27d6)