Skip to content

Releases: world-federation-of-advertisers/cross-media-measurement

v0.4.1

11 Oct 21:24
Compare
Choose a tag to compare

This is a bug fix release.

What's Changed

  • Fix Mill infinite retry if Computation is already failed. (#1238) c32fe55
  • Fix the bug in the llv2 that inflates the reach when maximum_frequency = 1. (#1257) 867222c
  • Fix ConfirmComputationParticipant checking the status of non-participant Duchies. (#1272) fd8fe88

Full Changelog: v0.4.0...v0.4.1

v0.4.0

21 Sep 17:18
24deb7d
Compare
Choose a tag to compare

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

Read more

v0.3.0

27 Jun 21:16
1c7950d
Compare
Choose a tag to compare

Highlights

  • The panel-exchange-client repository has been merged into this one.
    • Example panel exchange daemon container images are now published to GitHub packages (see #1079)
  • Exchange API resources are now covered by retention policy enforcement jobs (see #1027)
  • The EDP simulator ignores Requisitions for other MeasurementConsumers (see #1067)
  • cross-media-measurement-api has been updated to v0.36.0
  • The LLv2 Mill supports multi-threaded operations. The dev and local configurations use 2 threads by default. See #1039

Potentially Requiring Action

  • Breaking changes to the public API for AIP conformance.
    • CreateMeasurementRequest now has a required parent field (see world-federation-of-advertisers/cross-media-measurement-api#135)
    • ListEventGroupsRequest now has two patterns for its parent field (see world-federation-of-advertisers/cross-media-measurement-api#148)
      • If the caller is a DataProvider, the parent field must use the dataProviders/{data_provider}/eventGroups/{event_group} pattern. This is the canonical pattern for EventGroup resources.
      • If the caller is a MeasurementConsumer, the parent field must use the measurementConsumers/{measurement_consumer}/eventGroups/{event_group} pattern
    • ListRequisitionsRequest now has two patterns for its parent field (see world-federation-of-advertisers/cross-media-measurement-api#149)
      • If the caller is a DataProvider, the parent field must use the dataProviders/{data_provider}/requisitions/{requisition} pattern. This is the canonical pattern for Requisition resources.
      • If the caller is a MeasurementConsumer, the parent field must use the measurementConsumers/{measurement_consumer}/measurements/{measurement}/requisitions/{requisition} pattern.
  • Binary-compatible changes to the public API for AIP conformance.

What's Changed

Read more

v0.2.0

18 May 16:47
ba15186
Compare
Choose a tag to compare

Highlights

What's Changed

Full Changelog: v0.1.0...v0.2.0

v0.1.0

02 May 16:24
02b108e
Compare
Choose a tag to compare

Initial "minimum viable product" release. The corresponding cross-media-measurement-api release is v0.28.1.

Container Images

Published to https://github.com/orgs/world-federation-of-advertisers/packages?repo_name=cross-media-measurement where the image tag matches the version.

v0.1.0-rc3

20 Apr 16:15
d252e5c
Compare
Choose a tag to compare
v0.1.0-rc3 Pre-release
Pre-release

Initial "minimum viable product" release candidate.

Changes Requiring Action

Incomplete Features

  • Automation of Measurement retention policies

Container Images

Published to https://github.com/orgs/world-federation-of-advertisers/packages?repo_name=cross-media-measurement where the image tag matches the version.

What's Changed

  • v2alpha metrics service -- createMetric & batchCreateMetrics by @riemanli in #882
  • Add ForwardedStorageCorrectnessTest. by @SanjayVas in #936
  • Provide default value for unspecified NoiseMechanism for old Measurements by @renjiezh in #957

Full Changelog: v0.1.0-rc2...v0.1.0-rc3

Initial "MVP" release

19 Apr 18:22
35213ba
Compare
Choose a tag to compare
Initial "MVP" release Pre-release
Pre-release

Initial "minimum viable product" release candidate.

WARNING

This release has a serious bug that may cause Duchies to crash loop. Do not update to this release. See #956

Changes Requiring Action

Incomplete Features

  • Automation of Measurement retention policies

Container Images

Published to https://github.com/orgs/world-federation-of-advertisers/packages where the image tag matches the version number.

What's Changed

Full Changelog: v0.1.0-rc1...v0.1.0-rc2

Initial "MVP" release

17 Apr 16:22
b99245a
Compare
Choose a tag to compare
Initial "MVP" release Pre-release
Pre-release

Initial "minimum viable product" release candidate.

Incomplete Features

  • Automation of Measurement retention policies

Container Images

Published to https://github.com/orgs/world-federation-of-advertisers/packages where the image tag matches the version number.