**Release created on: 01.11.2021 - 17:19:11**
New Features
* Model validation with new `Validate()` method on Project, Design, Fileset and File.
* Reading of `*.pro` files from OSVVM's TCL scripting environment.
(see 24)
* TCL `if` statements are not handled yet.
* Reading of `*.xpr` files from Xilinx Vivado contributed by stefanunrein.
(see 17)
* Added `TopLevel` to `FileSet` class.
(see 16)
* New `VivadoFileMixIn`.
* Added Vivado 2021.1 project with XPR file, VHDL files and some XDC files.
(see 15)
* First tests for universal attributes.
* Example code snippet in README is tested via CI.
(see 12)
* Implemented `__len__` on `Project`, `Design` and `FileSet`.
* Added `AddVHDLLibrary` to `Design`.
Changes
* Delay publishing of documentation, so coverage and static type checking HTML reports can be published too.
(see 19)
* Improved README.
Bug Fixes
* Renamed imported `Path` class to `pathlib_Path` to fix some issues reported by mypy.
* Fixed resolution of `Design` in `FileSet` if a fileset ist nested.
* Fixed behavior of `ResolvedPath`.
* Results from pytest are uncolored. In GH Actions, it must be enforced.
(see 18)
* Coverage.py adds a `.gitignore` to the HTML report outputs.
(see 23)
This file needed to be deleted so coverage reports are visible on GH Pages.
* Fixed job name of downloaded artifact.
* Fixed dependencies for job `🗑️ Artifact Cleanup`, so it cleans up even if no package was published to PyPI.