github miracum/fhir-pseudonymizer v3.0.0

latest release: v3.0.1
3 hours ago

3.0.0 (2026-10-15)

⚠ BREAKING CHANGES

  • auth against re-identify via api keys is no longer possible. A JWT has to be fetched from an IdP first instead.
  • the application fails to start without a specified anonymization config. This breaks deployments relying on the default anonymization.yaml.
  • kafka: required to be set by default if kafka processing is enabled. Changes message keys and downstream routing.
  • Any *__RequestRetryCount settings are now ignored
  • smaller length keys will now fail validation
  • previous MetricsEnabled and MetricsPort config now ignored.
  • pseudonymization service is now unset by default, anyone relying on gPAS will now encounter an error. If using gPAS, at leat version 2023 is required.
  • this serializer may be less lenient than the pervious default
  • URIs that look like FHIR server URLs and contain ~ or - are now processed identical to URIs without those values. E.g. the system https://example-test/fhir/Patient/123 was previously hashed to by replacing the entire value with a hash, now, just the 123 is hashed. This is a fix towards the more correct behavior.
  • The v6 libs may be more strict when it comes to parsing resources. Additionally, all timestamps are now searialized with sub-second precision.

Features

  • added more metrics and ready-to-import dashboard (aaaabd8)
  • correctly encrypt/hash uri systems that contain ~, - (#429) (17c3fc1)
  • default to PseudonymizationService: None instead of gPAS and remove gPAS version config (#431) (18b8307)
  • default to using the System.Text.Json-based FHIR serializer (#430) (2056c17)
  • kafka: setting for crypto-hashing message keys (#439) (7f86690)
  • moved chart from miracum/charts to this repo (#451) (5bf6add)
  • moved metrics config inside a dedicated Metrics key (#432) (746c042)
  • moved retry config into a dedicated config object (#435) (3b1d60d)
  • removed default anonymization config (#448) (b2c2e0c)
  • replaced api key auth with JWT tokens (#449) (ffa9c0a)
  • require at least 32-byte long keys (#433) (46ea1a8)
  • updated to FHIR.NET v6 (#373) (7cf89e8)

Bug Fixes

  • bubble up non-transient Vfps pseudonymization errors to the caller (4733fb5)
  • client-side gRPC load-balancing with more aggressive timeouts (#442) (af1d47e)
  • dont write in-flight messages to the DLQ on shutdown exceptions (#437) (6570162)
  • kafka: same commit guarantees for provenance as for output messages (#440) (10852b2)
  • support dynamic settings and config in $re-identify (#450) (ec3d996)

Performance Improvements

Documentation

  • added a dedicated docs site (#446) (655da66)
  • fixed outdated cryptohash documentation and re-prettier'd everything (#441) (15d2cc6)
  • minor docs updates (#447) (4cbb4ea)
  • updated README benchmark numbers (ed0625f)

Miscellaneous Chores

CI/CD

  • refactor vfps/argo workflow chart (#452) (e64f081)
  • replace deprecated slsa-verifier with gh cli (#443) (c78a688)

Don't miss a new fhir-pseudonymizer release

NewReleases is sending notifications on new releases.