Skip to content

grz-common: v3.0.0

Choose a tag to compare

@MVHBot MVHBot released this 13 Aug 10:50
886c381

3.0.0 (2026-08-13)

⚠ BREAKING CHANGES

  • grz-pydantic-models: a consent dateTime stating a time must spell out seconds and separate date from time by T, and a date must be a dashed calendar date, as the FHIR dateTime regex requires. Metadata stating a bound in any other form is now rejected rather than parsed. The four fields hold a FhirDateTime rather than a datetime, keeping the value as submitted and resolving to a moment through .first_moment or .last_moment. A naive datetime handed to one of them in code is refused rather than read as UTC.
  • grz-pydantic-models: ResearchConsent.consents_to_research, and with it the consented flag grz-db records for a submission, now returns False for every consent whose status is not active. Metadata that declares a 2025 researchConsent schemaVersion and leaves any provision period open-ended is now rejected rather than accepted.

Features

  • grz-common: Log hostname (#599) (9e5b74e)
  • grz-common: report a consent dateTime without a timezone when (c6c4f2f)
  • grz-db: let a submission diff withhold overwrites outside an (c6c4f2f)
  • grzctl, grz-db, grz-common: Metadata schema version check via version.json (#624) (c6f1e7c)
  • grzctl: overwrite selected fields during db backfill (c6c4f2f)

Bug Fixes

  • grz-common,grz-db: map duplicate tanG and upload errors correctly (#617) (7c6fe27)
  • grz-common,grz-db: require grz-pydantic-models 3 (0d17b7e)
  • grz-pydantic-models-testing: require grz-pydantic-models 3 (0d17b7e)
  • grz-pydantic-models: grant research consent only while in force (#642) (0d17b7e)
  • grz-pydantic-models: read consent dateTimes as FHIR defines them (#646) (c6c4f2f), closes #645
  • grzctl: require grz-db 2.2 (c6c4f2f)