Skip to content

v0.4.0

Compare
Choose a tag to compare
@SanjayVas SanjayVas released this 21 Sep 17:18
· 454 commits to main since this release
24deb7d

See the guide for updating to a new release.

Highlights

  • A new preview Reporting system implementation is available which supports v2 of the Reporting API. See the deployment guide.
    • Note that the v2 Reporting system uses a separate database schema, so there is no way to migrate existing data from an existing v1 instance.
    • This is a preview. There may still be API and database changes, meaning that in-place updates may not be supported.
  • There is a new Reach-Only Liquid Legions v2 protocol which should result in a ~7x improvement over the existing Reach and Frequency Liquid Legions v2 protocol for REACH Measurements.
    • This requires changes to EDP requisition fulfillment. See the enablement guide.
  • Example Terraform configurations have been added for the Kingdom and Duchy, which are referenced from their respective deployment guides.
  • Gaussian noise and ACDP composition in PBM are now supported, which should allow 2x the queries for the same privacy budget.
  • There is a new CLI tool for validating event templates.
  • EDP simulators now support synthetic data specifications.
  • The cross-media-measurement-api dependency has been updated to 0.43.0

Bug Fixes

  • Some pods were not having their metrics exported. Fixed by #1140
  • Negations in event filters were not being properly handled in the reference Privacy Budget Manager implementation. See #1132
  • Computations involving a subset of all Duchies would fail. See #1194
  • UpdatePublicKey was not actually updating the certificate. See #1209
  • GetDataProvider and GetMeasurementConsumer could return the incorrect certificate. See #1215

Potentially Requiring Action

  • Options for methodologies and noise mechanisms are now specified in ProtocolConfig.Direct, with the corresponding selections specified in Measurement.Result. See world-federation-of-advertisers/cross-media-measurement-api#163
    • EDPs must respect these when fulfilling requisitions.
    • EDPs should indicate their choices in Measurement.Result. This will be enforced in the future.
  • The event_groups field in RequisitionSpec has been marked as deprecated in favor of a field of the same name inside of the events submessage field. See world-federation-of-advertisers/cross-media-measurement-api#164
    • Halo clients that build RequisitionSpecs will still populate the deprecated field, but the field may be removed in a future release.
  • The custom wfa.measurement.api.v2alpha.TimeInterval type in the CMMS public API has been replaced with google.type.Interval. This is a wire-compatible change, but may break compilation of client code. See world-federation-of-advertisers/cross-media-measurement-api#155
  • The maximum_frequency field in ProtocolConfig.LiquidLegionsV2 is now deprecated. See world-federation-of-advertisers/cross-media-measurement-api#165
    • This used to be populated from the Kingdom's Llv2ProtocolConfigConfig. It must not be specified there any longer.
  • The maximum_frequency_per_user field was dropped from MeasurementSpec.Duration. See world-federation-of-advertisers/cross-media-measurement-api#165
  • The maximum_frequency_per_user field in MeasurementSpec.ReachAndFrequency was renamed to maximum_frequency. See world-federation-of-advertisers/cross-media-measurement-api#165
    • This field is now required in CreateMeasurement requests.
  • The type of the maximum_watch_duration_per_user field in MeasurementSpec.Duration has been changed from int32 to google.protobuf.Duration. See world-federation-of-advertisers/cross-media-measurement-api#167
  • The system API definition was updated to fix AIP conformance issues. See #1074
    • This included a change to the behavior of StreamActiveComputations, which resulted in an incompatible change to the StreamMeasurements method of the Kingdom internal API.
  • EDP simulators no longer write to blob storage. See #1112
    • There are now two different EDP simulator implementations with corresponding correctness test implementations. See the updated correctness test guide.
  • The Kingdom public and internal API servers have a new required --ro-llv2-protocol-config-config option for the reach-only Liquid Legions v2 protocol.
    • The dev configuration reads this from a ro_llv2_protocol_config_config.textproto file in the certs-and-configs K8s Secret. See the updated deployment guide.
  • The v1 Reporting public API server has a new required --measurement-spec-config-file option.
    • The dev configuration reads this from a measurement_spec_config.textproto file in the config-files K8s ConfigMap. See the updated deployment guide.

What's Changed

New Contributors

Full Changelog: v0.3.0...v0.4.0