What's Changed
* ci(pre-commit.ci): autoupdate by pre-commit-ci in https://github.com/tlambert03/ome-types/pull/172
* test: add more tests by tlambert03 in https://github.com/tlambert03/ome-types/pull/177
* ci(pre-commit.ci): autoupdate by pre-commit-ci in https://github.com/tlambert03/ome-types/pull/179
* fix: more robust id conversion by tlambert03 in https://github.com/tlambert03/ome-types/pull/180
* test: add typing tests by tlambert03 in https://github.com/tlambert03/ome-types/pull/178
* feat: better rich_repr by tlambert03 in https://github.com/tlambert03/ome-types/pull/181
* fix: fix metadata only by tlambert03 in https://github.com/tlambert03/ome-types/pull/184
* fix: use date time instead of xsdata XMLDateTime by tlambert03 in https://github.com/tlambert03/ome-types/pull/182
* fix: better sequence for structured annotations by tlambert03 in https://github.com/tlambert03/ome-types/pull/186
* test: Omero-cli-transfer test by tlambert03 in https://github.com/tlambert03/ome-types/pull/187
* test: add nd2 test by tlambert03 in https://github.com/tlambert03/ome-types/pull/188
* build: add back py37 support by tlambert03 in https://github.com/tlambert03/ome-types/pull/189
* fix: Fix colors by tlambert03 in https://github.com/tlambert03/ome-types/pull/190
* feat: complete rewrite, using xsdata instead of xmlschema by tlambert03 in https://github.com/tlambert03/ome-types/pull/176
* test: more omero-cli tests by tlambert03 in https://github.com/tlambert03/ome-types/pull/191
* test: rearranging tests by tlambert03 in https://github.com/tlambert03/ome-types/pull/192
* docs: updating docs by tlambert03 in https://github.com/tlambert03/ome-types/pull/193
* ci: coverage changes by tlambert03 in https://github.com/tlambert03/ome-types/pull/195
* fix: Move deprecated init kwargs to proper fields by tlambert03 in https://github.com/tlambert03/ome-types/pull/194
* build: make pint and lxml optional deps by tlambert03 in https://github.com/tlambert03/ome-types/pull/196
* ci: fixing built branch by tlambert03 in https://github.com/tlambert03/ome-types/pull/197
* feat: add 'kind' field to dict output for various subclasses that are otherwise identical by tlambert03 in https://github.com/tlambert03/ome-types/pull/185
* test: test for bad dates by tlambert03 in https://github.com/tlambert03/ome-types/pull/198
* ci: add codspeed benchmarks by tlambert03 in https://github.com/tlambert03/ome-types/pull/200
* feat: transform old schema by tlambert03 in https://github.com/tlambert03/ome-types/pull/199
* docs: add migration guide for v0.4.0 by tlambert03 in https://github.com/tlambert03/ome-types/pull/203
* feat: add `numpy_dtype` property to PixelType by tlambert03 in https://github.com/tlambert03/ome-types/pull/202
* fix: fix missing set values in xml output by tlambert03 in https://github.com/tlambert03/ome-types/pull/204
* feat: to_etree_element by tlambert03 in https://github.com/tlambert03/ome-types/pull/201
**Full Changelog**: https://github.com/tlambert03/ome-types/compare/v0.3.4...v0.4.0rc2