Releases: world-federation-of-advertisers/cross-media-measurement
v0.5.2-rc1
Starting with these release, scanning alerts for container image vulnerabilities should appear in GitHub Security.
Highlights
- Closed #1544
- Closed #1553
- Various performance improvements for Reporting API operations.
- Updated Java base images.
- More detailed errors from many Kingdom public API services (ongoing).
Potentially Requiring Action
- CMMS instances may define a set of known
EventGroup
metadata types that are shared between components and integrators. These are the onlyEventGroup
metadata types that can be used by multipleDataProvider
s. See #1512- The Kingdom internal API server and the Reporting v1 and v2 public API servers have a new
--known-event-group-metadata-type
option for specifying a FileDescriptorSet for these known metadata types.- The dev configuration expects this to come from a
known_event_group_metadata_type_set.pb
file in theconfig-files
ConfigMap. By default, this contains the types defined insimulator_synthetic_data_spec.proto
andtest_metadata_message.proto
- The dev configuration expects this to come from a
- The Kingdom internal API server and the Reporting v1 and v2 public API servers have a new
What's Changed
- Update cross-media-measurement-api dep for CustomMaximumFrequencyPerUser in DeterministicCount methodology by @iverson52000 in #1462
- Increase Mill and EDP simulator memory sizes for dev configuration. by @SanjayVas in #1514
- Remove unnecessary hard-coded delay from K8s panel match test. by @SanjayVas in #1515
- Move reporting sets call out of build internal create metric request method by @tristanvuong2021 in #1499
- Fix race conditions in empty cluster K8s tests. by @SanjayVas in #1517
- Duchy Herald supports HMSS protocol by @renjiezh in #1513
- Introduce the concept of known EventGroup metadata types. by @SanjayVas in #1512
- Implement the aggregation phase of the HMSS protocol. by @ple13 in #1494
- Replace one insert call per row with one insert call for multiple rows by @tristanvuong2021 in #1502
- Replace one update call per row with one update call for multiple rows by @tristanvuong2021 in #1518
- Fix order of batch get measurements response by @tristanvuong2021 in #1519
- Change all Internal Reporting Measurements Service Methods responses to empty responses by @tristanvuong2021 in #1521
- Add internal BatchGetDataProviders. by @SanjayVas in #1523
- Update cross-media-measurement-api dep for DataProvider capabilities. by @SanjayVas in #1472
- Update simulator guides to reflect BigQuery event source changes. by @SanjayVas in #1522
- Update common-jvm dep for base Java image update. by @SanjayVas in #1525
- Add data-providers update-capabilities subcommand to MeasurementSystem CLI. by @SanjayVas in #1528
- Use remote cache when building protobufs for API linter. by @SanjayVas in #1531
- Use values when logging external IDs by @jcorilla in #1532
- Updates Terraform and K8s to support deploy to AWS QA env by @YuhongWang-Amazon in #1534
- Fix bazel container script by @YuhongWang-Amazon in #1536
- Add detailed conversion of internal to external errors by @jcorilla in #1520
- Add detailed logging for public api keys service by @jcorilla in #1541
- Add detailed logging to public accounts service by @jcorilla in #1540
- Add detailed logging for public certificate service by @jcorilla in #1542
- Update local deployment instruction. by @renjiezh in #1543
- Update any-sketch to 0.8 by @kungfucraig in #1554
- Fix dev Duchy kustomization_dir targets not being marked as testonly. by @SanjayVas in #1547
- Update common-jvm dep for grpc-java and netty-codec-http2. by @SanjayVas in #1555
- Add detailed logging to population service by @jcorilla in #1548
- Add detailed logging for public keys service by @jcorilla in #1549
- Update workflows for QA environment. by @SanjayVas in #1546
- Add Open Telemetry Auto Instrumented Traces to Cloud Trace by @tristanvuong2021 in #1537
- Implement HonestMajorityShareShuffle mill by @renjiezh in #1506
- Add stubs for a set of utilities for building a FrequencyVector. by @kungfucraig in #1552
- Add the function to generate hmss sketch. by @ple13 in #1509
- Add State to Internal Metric by @tristanvuong2021 in #1557
- Update common-jvm dep for changes to java_image. by @SanjayVas in #1561
- Improve performance of batch create measurements by @tristanvuong2021 in #1533
- Add CreateUiReport to the CLI by @bdomen-ggl in #1535
- Add detailed logging to requisitions service by @jcorilla in #1550
- Add detailed logging for exchanges service by @jcorilla in #1556
- Add index for update metric calculation spec reporting metrics in create metrics by @tristanvuong2021 in #1538
- Add getUserVirtualIdUniverse() to EventQuery by @renjiezh in #1562
- Add detailed logging to ExchangeSteps and Attempts services by @jcorilla in #1565
- Scan container images with Trivy on release. by @SanjayVas in #1558
- Update Building doc with more recent information. by @SanjayVas in #1572
- Refactor Metric Reuse to handle Metric State by @tristanvuong2021 in #1564
- Add population attribute annotations by @kungfucraig in #1571
- Add detailed logging to data providers service by @jcorilla in #1568
- Add detailed logging to measurement consumers service by @jcorilla in #1569
- Update common-jvm dep for base images. by @SanjayVas in #1575
- Add detailed logging to event groups and metadata descriptors services by @jcorilla in https://github.com/world-federation...
v0.5.1
This is a bug fix release that primarily affects the configuration for running the Measurement correctness test.
Bugs Fixed
- Dev release workflow does not complete.
- Variance is NaN when reach is small (#1498)
Performance Optimizations
- Only generate synthetic events within specified time range (#1488)
- Refactor SubmitBatchRequests to use Coroutines (#1467)
What's Changed
- Add UI features from Demo work by @bdomen-ggl in #1495
- Fix simulator service account not being created for GKE. by @SanjayVas in #1501
- Output uniformly random guess at frequency distribution when reach is too small by @riemanli in #1498
- Specify auto_minor_version_upgrade = false for AWS Postgres DB. by @SanjayVas in #1504
- Update HMSS stages. Revert Duchy ControlService into Blob-Only Pattern. by @renjiezh in #1476
- Increase heap size for dev requisition fulfillment server. by @SanjayVas in #1503
- Only generate synthetic events within specified time range. by @SanjayVas in #1488
- Increase work lock duration for dev LLv2 mills. by @SanjayVas in #1507
- Increase test timeout for K8s test workflow. by @SanjayVas in #1505
- Refactor SubmitBatchRequests to use Coroutines by @tristanvuong2021 in #1467
- Drop worker2 Duchy and BigQuery vars from gcloud testing Terraform. by @SanjayVas in #1493
- Fix configure-simulators workflow not setting google_cloud_project. by @SanjayVas in #1508
Full Changelog: v0.5.0...v0.5.1
v0.5.0
Known Issues
- The dev K8s configuration for the synthetic generator EDP simulator on GKE has an error. This is fixed in #1501
Highlights
- Reporting v2 is no longer considered a preview. It includes some new features.
- Report scheduling. See #1234
MetricCalculationSpec
as a reusable resource type. See #1278- Reuse of existing
Metric
resources duringReport
creation. See #1347 - Improved performance using batch methods when calling the CMMS API.
- Tagging support for some API resources.
- Metric variance information (to support features such as displaying error bars).
- The Duchy component can now be run on AWS EKS. See the deployment guide.
- There is a new guide covering leaf certificate and encryption key rotation.
- gRPC log entries now include a trace ID when metrics instrumentation is enabled. See #766
- This can be used to trace calls across servers.
- Structured logging for Java is now supported on GKE. See #762
- Google Cloud Logging will now show one entry per Java log entry (as opposed to one entry per line) and have the appropriate severity.
- Arbitrary event message types are now supported by the EDP simulator. See #1327
- The EDP simulator supports creation of multiple EventGroups. See #1424
- The MeasurementSystem CLI supports creation of Measurements with type
REACH
. See #1254
Bugs Fixed
- Certificates using a different signature algorithm than their issuer are not supported. See world-federation-of-advertisers/cross-media-measurement-api#176
- EDP simulator generates NaN values in direct frequency. See #1384
Potentially Requiring Action
- Incompatible database schema and API changes have been made to Reporting v2.
- Users of the previous preview release will need to wipe their databases before upgrading.
- K8s Workload Identity service account creation for GKE has been moved from Terraform to K8s object configuration. See #1324
- The
--event-group-spec
option ofSyntheticGeneratorEdpSimulatorRunner
is now a key-value pair ofEventGroup
reference ID suffix toSyntheticEventGroupSpec
file path. This can be specified multiple times. See #1424 - The BigQuery-backed EDP simulator now uses UK pilot event templates. See #1491
- CLI tool options have changed.
CMMS Public API Changes
The cross-media-measurement-api dependency has been updated to 0.56.0. See world-federation-of-advertisers/cross-media-measurement-api@v0.43.0...v0.56.0 for the full list of changes.
- Signatures and certificates for public key fields have been removed where not needed by the consent signaling protocol. See world-federation-of-advertisers/cross-media-measurement-api#187
measurement_consumer_certificate
inEventGroup
has been removed.measurement_consumer_public_key
inEventGroup
no longer contains a signature.data_provider_public_key
inMeasurement.DataProviderEntry.Value
no longer contains a signature.data_provider_public_key
inRequisition
no longer contains a signature.
- Serialized messages now include type URLs. See world-federation-of-advertisers/cross-media-measurement-api#185
measurement_consumer_public_key
inEventGroup
now has typegoogle.protobuf.Any
.- The old version of this field has been marked as deprecated and is now called
signed_measurement_consumer_public_key
.
- The old version of this field has been marked as deprecated and is now called
data_provider_public_key
inMeasurement.DataProviderEntry.Value
now has typegoogle.protobuf.Any
.data_provider_public_key
inRequisition
now has typegoogle.protobuf.Any
.- The old version of this field has been marked as deprecated and is now called
signed_data_provider_public_key
.
- The old version of this field has been marked as deprecated and is now called
exchange_workflow
inRecurringExchange
now has typegoogle.protobuf.Any
.serialized_exchange_workflow
inExchangeStep
has been replaced withexchange_workflow
having typegoogle.protobuf.Any
.serialized_measuirement_public_key
inMeasurementSpec
is deprecated in favor ofmeasurement_public_key
having typegoogle.protobuf.Any
- This field is required for new requests.
data_provider_public_key
inRequisition
now has typegoogle.protobuf.Any
.- The old version of this field has been marked as deprecated and is now called
signed_data_provider_public_key
.
- The old version of this field has been marked as deprecated and is now called
measurement_public_key
inRequisitionSpec
now has typegoogle.protobuf.Any
.- The old version of this field has been marked as deprecated and is now called
serialized_measurement_public_key
.
- The old version of this field has been marked as deprecated and is now called
- The
SignedData
type in the CMMS public API has been renamed toSignedMessage
. This is wire-compatible change.- This has a new
signature_algorithm_oid
field.- Signers should populate this field.
- Verifiers must respect this field if populated.
- This has a new
- Fields of type
bytes
holding encrypted data now use theEncryptedMessage
type instead.encrypted_requisition_spec
inRequisition
now has typeEncryptedMessage
.- The old version of this field has been marked as deprecated and is now called
encrypted_requisition_spec_ciphertext
.
- The old version of this field has been marked as deprecated and is now called
encrypted_data
inFulfillDirectRequisitionRequest
has been replaced byencrypted_result
having typeEncryptedMessage
.- The old version of this field has been marked as deprecated and is now called
encrypted_result_ciphertext
.
- The old version of this field has been marked as deprecated and is now called
encrypted_metadata
inEventGroup
now has typeEncryptedMessage
.- The old version of this field has been marked as deprecated and is now called
serialized_encrypted_metadata
.
- The old version of this field has been marked as deprecated and is now called
FulfillDirectRequisitionRequest
has a newcertificate
field.- Callers should begin setting this field, as it will be required in the future.
FulfillRequisitionRequest
has a newprotocol_config
field.- Callers should begin setting this field, as it will be required in the future.
DataProvider
andEventGroup
have a newdata_availability_interval
field to indicate the range for which data is guaranteed to be available. See world-federation-of-advertisers/cross-media-measurement-api#175- There is a new
ReplaceDataAvailabilityInterval
method for updating this onDataProvider
resources. - DataProviders should start specifying and updating these fields. They are currently only used by the Report v2 scheduling feature, but will be required in the future.
- There is a new
- Unsupported fields have been removed from
ListExchangeStepsRequest.Filter
. See world-federation-of-advertisers/cross-media-measurement-api#180 ClaimReadyExchangeStepRequest
has a new requiredparent
field. See world-federation-of-advertisers/cross-media-measurement-api#142- The
data_provider
andmodel_provider
fields have been removed fromClaimReadyExchangeStepRequest
. See world-federation-of-advertisers/cross-media-measurement-api#142 - The deprecated
event_groups
field inRequisitionSpec
is no longer set by Halo software. See #1277 maximum_frequency
inMeasurementSpec.ReachAndFrequency
must be at least 1. See #1276
What's Changed
- s3fromBeam should be false by default by @stevenwarejones in #1240
- Add Reporting V2 Report Scheduling Protos by @tristanvuong2021 in #1234
- Add terraform for AWS worker2 duchy infrastructures by @YuhongWang-Amazon in #1237
- Store measurement computation details in reporting for error bars by @riemanli in #1184
- Add k8s manifests for AWS worker2 duchy by @YuhongWang-Amazon in #1239
- Restrict metric set operations based on metric types by @riemanli in #1247
- Format all Kotlin files with ktfmt 0.46. by @SanjayVas in #1241
- Add github workflows for deploying aws duchy by @YuhongWang-Amazon in #1255
- Remove duplicate filter during event group entry creations by @riemanli in #1245
- Adds an event filter to MetricCalculationSpec. by @kungfucraig in #1250
- Adds key-value pair tags to Report and ReportingSet. by @kungfucraig in #1251
- Update common-jvm dep for Kotlin 1.8. by @SanjayVas in #1235
- Command Line Tool Supports Creation of Reach Measurements. by @renjiezh in #1254
- Squashed commit of the following: by @emadlivani in #1227
- Refactor MeasurementStatistics by @riemanli in https://github.com/world-federation-of-adverti...
v0.4.4
This is a bug fix release for panel exchange.
What's Changed
- cherry pick 3 commits for max exchange steps parallel by @stevenwarejones in #1486
- Cherry pick private key blob key by @stevenwarejones in #1487
- cherry pick beam main shaded jar by @stevenwarejones in #1490
- Fix errors introduced in 532e4f2. by @SanjayVas in #1492
Full Changelog: v0.4.3...v0.4.4
v0.4.3
What's Changed
- cherry pick always charging privacy bucket mapper by @stevenwarejones in #1408
- Pass Reporting EventGroup message descriptor to CelEnvProvider impls. (#1417) by @SanjayVas in #1422
- Update Google Terraform provider version. by @SanjayVas in #1446
Full Changelog: v0.4.2...v0.4.3
v0.4.2
This is a bug fix release addressing issues present in v0.4.1.
What's Changed
- Fix generation of BigQuery EDP simulator K8s configs.
- Fix internal DeleteEventGroup not clearing details.
- Improve Performance of Measurement Creation in Create Report
- Limit the number of responses from StreamActiveComputations calls.
Full Changelog: v0.4.1...v0.4.2
v0.4.1
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
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.
- See the enablement guide.
- There is a new CLI tool for validating event templates.
- EDP simulators now support synthetic data specifications.
- See the updated correctness test guide.
- 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 #1209GetDataProvider
andGetMeasurementConsumer
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 inMeasurement.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 inRequisitionSpec
has been marked as deprecated in favor of a field of the same name inside of theevents
submessage field. See world-federation-of-advertisers/cross-media-measurement-api#164- Halo clients that build
RequisitionSpec
s will still populate the deprecated field, but the field may be removed in a future release.
- Halo clients that build
- The custom
wfa.measurement.api.v2alpha.TimeInterval
type in the CMMS public API has been replaced withgoogle.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 inProtocolConfig.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.
- This used to be populated from the Kingdom's
- The
maximum_frequency_per_user
field was dropped fromMeasurementSpec.Duration
. See world-federation-of-advertisers/cross-media-measurement-api#165 - The
maximum_frequency_per_user
field inMeasurementSpec.ReachAndFrequency
was renamed tomaximum_frequency
. See world-federation-of-advertisers/cross-media-measurement-api#165- This field is now required in
CreateMeasurement
requests.
- This field is now required in
- The type of the
maximum_watch_duration_per_user
field inMeasurementSpec.Duration
has been changed fromint32
togoogle.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 theStreamMeasurements
method of the Kingdom internal API.
- This included a change to the behavior of
- 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 aro_llv2_protocol_config_config.textproto
file in thecerts-and-configs
K8s Secret. See the updated deployment guide.
- The
- The v1 Reporting public API server has a new required
--measurement-spec-config-file
option.- The
dev
configuration reads this from ameasurement_spec_config.textproto
file in theconfig-files
K8s ConfigMap. See the updated deployment guide.
- The
What's Changed
- Fix image-tag workflow output. by @SanjayVas in #1086
- Use batch DDL for update-vid-model-foreign-keys-and-indexes.sql. by @SanjayVas in #1087
- Adding Hello World React app to the reporting UI by @bdomen-ggl in #1033
- Implement PostgresComputationStatsService by @YuhongWang-Amazon in #1070
- Update common-jvm to 0.59.0. by @SanjayVas in #1084
- Add script to run api-linter. by @SanjayVas in #1073
- Fix api-linter errors in system API. by @SanjayVas in #1074
- Add resource IDs to create requests by @riemanli in #1071
- Add generation of events from SimulatorSyntheticDataSpec. by @tristanvuong2021 in #1083
- Implement Event Groups Service Reporting V2Alpha. by @tristanvuong2021 in #1088
- Create AcdpParamsConverter and ACDP composition method by @iverson52000 in #1062
- Adding base test framework for react by @bdomen-ggl in #1085
- Fix that only allows creation of ModelRollouts with RolloutPeriodStartTime after that of previous ModelRollout by @jojijac0b in #1076
- Replace timeinterval with rollout deploy period by @Marco-Premier in #1091
- Update cross-media-measurement-api to 0.38.0 and common-jvm to 0.60.0. by @SanjayVas in #1092
- Partially Implement Integration Tests for Reporting V2Alpha. by @tristanvuong2021 in #1093
- Replace use of deprecated event_field message option in test templates. by @SanjayVas in #1094
- Refactor panel exchange to use Kustomize by @Marco-Premier in #1090
- Fix SyntheticDataGeneration signature. by @SanjayVas in #1101
- Add the state machine and the encryption methods proto for the reach … by @ple13 in #1096
- Kingdom supports creating ROLLv2 Measurements. by @renjiezh in #1097
- Pass EventGroup to EventQuery. by @SanjayVas in https://github.com/world-federation-of-advertisers/cross-me...
v0.3.0
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
andlocal
configurations use 2 threads by default. See #1039
Potentially Requiring Action
- Breaking changes to the public API for AIP conformance.
CreateMeasurementRequest
now has a requiredparent
field (see world-federation-of-advertisers/cross-media-measurement-api#135)ListEventGroupsRequest
now has two patterns for itsparent
field (see world-federation-of-advertisers/cross-media-measurement-api#148)- If the caller is a
DataProvider
, theparent
field must use thedataProviders/{data_provider}/eventGroups/{event_group}
pattern. This is the canonical pattern forEventGroup
resources. - If the caller is a
MeasurementConsumer
, theparent
field must use themeasurementConsumers/{measurement_consumer}/eventGroups/{event_group}
pattern
- If the caller is a
ListRequisitionsRequest
now has two patterns for itsparent
field (see world-federation-of-advertisers/cross-media-measurement-api#149)- If the caller is a
DataProvider
, theparent
field must use thedataProviders/{data_provider}/requisitions/{requisition}
pattern. This is the canonical pattern forRequisition
resources. - If the caller is a
MeasurementConsumer
, theparent
field must use themeasurementConsumers/{measurement_consumer}/measurements/{measurement}/requisitions/{requisition}
pattern.
- If the caller is a
- Binary-compatible changes to the public API for AIP conformance.
- Various fields were renamed. See world-federation-of-advertisers/cross-media-measurement-api#137
What's Changed
- Update lint action to v2. by @SanjayVas in #1008
- Add MeasurementResultSubject Truth extension. by @SanjayVas in #1002
- modelrelease internal api by @Marco-Premier in #988
- Update cross-media-measurement-api to 0.31.0. by @SanjayVas in #1014
- Fix secrets not being available to release workflows. by @SanjayVas in #1013
- adding grpc-gateway to generate bff reporting definitions by @bdomen-ggl in #1006
- Increase the time range for the correctness test. by @SanjayVas in #1015
- Add monitoring service account to all clusters. by @SanjayVas in #1016
- Update dev resource requirements based on observed usage. by @SanjayVas in #1019
- model line public api by @Marco-Premier in #1012
- modelrollout internal api by @Marco-Premier in #1018
- Implement Internal Metrics Service Read Methods for Reporting V2 by @tristanvuong2021 in #1009
- model release public api by @Marco-Premier in #1022
- create model shard spanner service by @Marco-Premier in #1021
- model outage internal api by @Marco-Premier in #1010
- Trim .tar.gz files from Bazel cache before saving. by @SanjayVas in #1020
- Implement exchange deletion for internal spanner implementation by @jcorilla in #1000
- Specify request_id in CreateMeasurement and CreateEventGroup requests. by @SanjayVas in #1023
- sync file with panel-exchange-client repo by @Marco-Premier in #999
- Add Unique indexes on VID models tables by @Marco-Premier in #1025
- Add cronjob configs and classes to enable exchanges retention policy by @jcorilla in #1027
- Check event filter if null or blank. by @riemanli in #1035
- Using CMMS event group key for CMMS event groups. by @riemanli in #1038
- Update cross-media-measurement-api to v0.33.0. by @SanjayVas in #1024
- Put ErrorInfo in Status details instead of trailers. by @SanjayVas in #1043
- Add CLI commands for model suite by @jojijac0b in #1011
- model rollouts public api by @Marco-Premier in #1031
- Fix naming of exchange retention days to live flag by @jcorilla in #1049
- Add model outages public api by @Marco-Premier in #1032
- Add proto definition for simulator synthetic data specification by @jcorilla in #1037
- Implement Internal Measurements Service Reporting V2 by @tristanvuong2021 in #1036
- Add MetricSpecBuilder. by @riemanli in #1041
- Add createReport. by @riemanli in #1004
- Fix event filtration formation in v2alpha metrics service by @riemanli in #1044
- vid distribution cli by @Marco-Premier in #1047
- Add ModelShard public api by @Marco-Premier in #1026
- Sync Maven dependencies with panel-match-client repo. by @SanjayVas in #1052
- Configure metrics in K8s workflows. by @SanjayVas in #1017
- Update common-jvm to 0.56.0. by @SanjayVas in #1054
- Add documentation for kingdom retention policies by @jcorilla in #1050
- Add getReport. by @riemanli in #1029
- Fix Ordering of Responses from Batch Get Methods in Reporting V2 by @tristanvuong2021 in #1056
- Ignore party field in public API GetExchangeRequest. by @SanjayVas in #1028
- Update cross-media-measurement-api to 0.34.0. by @SanjayVas in #1055
- Add type registry and cel env caching. by @tristanvuong2021 in #983
- Add NONE DirectNoiseMechanism. by @iverson52000 in #1040
- Add listReport by @riemanli in #1053
- Fix cross-media-measurement-api repo target to use version. by @SanjayVas in #1058
- Validate creation of event group metadata descriptor by @tristanvuong2021 in #1057
- Implement postgres continuation token service by @YuhongWang-Amazon in #1059
- Divide batch requests to several calls by @riemanli in #1046
- Implement internal reports service report create for reporting v2 by @...
v0.2.0
Highlights
- Added a
ReplaceDataProviderRequiredDuchies
method to the public API (#966)- This allows
DataProvider
s to update the list of which Duchies must participate inMeasurement
s involving thatDataProvider
.
- This allows
- Added Terraform modules for CMMS components and the Reporting system (#972, #994, #995)
- See the
cmms
root module for an example of how to use these.
- See the
- Deployment to the
dev
environment is now automated.- Progress for this release: https://github.com/world-federation-of-advertisers/cross-media-measurement/actions/runs/5016387258
What's Changed
- Update GKE correctness test guide to use GcsCorrectnessTest. by @SanjayVas in #948
- Use new build targets for release workflows. by @SanjayVas in #965
- Enable public API to use new ReplaceDataProviderRequiredDuchies method in internal API by @jojijac0b in #966
- Implement list event group metadata descriptors by @tristanvuong2021 in #967
- Define internal exchange service method for streaming and batch deletion by @jcorilla in #973
- Create Cloud Spanner database schema for the Kingdom VID model distribution related tables by @jojijac0b in #977
- Deploy CMMS to dev environment on release. by @SanjayVas in #978
- Deploy Reporting system to dev environment on release. by @SanjayVas in #981
- model suite internal api by @Marco-Premier in #979
- Fix always-true conditional check in SpannerDataProviderService by @Marco-Premier in #986
- Implement internal spanner stream exchanges method by @jcorilla in #975
- Create protobuf message and service for model shards by @jojijac0b in #980
- Set tags for correctness test targets that run on external clusters. by @SanjayVas in #1001
- Deploy EDP simulators to dev environment on release. by @SanjayVas in #991
- Fix creation of reporting sets with no filters by @tristanvuong2021 in #989
- Rewrite Terraform configuration to be more modular. by @SanjayVas in #972
- Add Terraform config for Reporting system. by @SanjayVas in #994
- Add Terraform config for EDP simulators. by @SanjayVas in #995
- Add createReportingSet. by @riemanli in #985
- Implement internal Metrics Service Create Methods for Reporting V2. by @tristanvuong2021 in #982
- Terraform CMMS as part of update workflow. by @SanjayVas in #996
- Add listReportingSets by @riemanli in #992
- Consolidate GitHub Environment variables. by @SanjayVas in #997
- modelline internal api by @Marco-Premier in #987
- Add CLI command to replace DataProviders duchy list by @jojijac0b in #970
- Introduce Requisition Validators by @uakyol in #990
- Run correctness test as part of update workflow. by @SanjayVas in #998
- Add MultithreadingHelper to refactor multithreaded LLV2 by @renjiezh in #976
- Update Bazel actions to v2. by @SanjayVas in #1003
- model suite public api by @Marco-Premier in #993
- Detail the error types in createMetric and batchCreateMetrics. by @riemanli in #1005
Full Changelog: v0.1.0...v0.2.0