Recipe List
Viewset for viewing and uploading recipes.
GET /api/v3/recipe/?format=api&ordering=-name
https://normandy.cdn.mozilla.net/api/v3/recipe/?format=api&ordering=-name&page=2", "previous": null, "results": [ { "approved_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Show a Heartbeat survey.", "description": "This action shows a single survey.", "type": "object", "required": [ "surveyId", "message", "thanksMessage", "postAnswerUrl", "learnMoreMessage", "learnMoreUrl" ], "properties": { "repeatOption": { "type": "string", "enum": [ "once", "xdays", "nag" ], "description": "Determines how often a prompt is shown executes.", "default": "once" }, "repeatEvery": { "description": "For repeatOption=xdays, how often (in days) the prompt is displayed.", "default": null, "type": [ "number", "null" ] }, "includeTelemetryUUID": { "type": "boolean", "description": "Include unique user ID in post-answer-url and Telemetry", "default": false }, "surveyId": { "type": "string", "description": "Slug uniquely identifying this survey in telemetry" }, "message": { "description": "Message to show to the user", "type": "string" }, "engagementButtonLabel": { "description": "Text for the engagement button. If specified, this button will be shown instead of rating stars.", "default": null, "type": [ "string", "null" ] }, "thanksMessage": { "description": "Thanks message to show to the user after they've rated Firefox", "type": "string" }, "postAnswerUrl": { "description": "URL to redirect the user to after rating Firefox or clicking the engagement button", "default": null, "type": [ "string", "null" ] }, "learnMoreMessage": { "description": "Message to show to the user to learn more", "default": null, "type": [ "string", "null" ] }, "learnMoreUrl": { "description": "URL to show to the user when they click Learn More", "default": null, "type": [ "string", "null" ] } } }, "name": "show-heartbeat", "id": 2, "implementation_url": "https://normandy.cdn.mozilla.net/api/v1/action/show-heartbeat/implementation/sha384-VTOdZHFMo1LOw0JWf6_jAGBb9r5sBbb7BQrmI8n3wy3oVO3ywb1g3ulD1BagmaMA/" }, "approval_request": { "approved": true, "approver": { "id": 6, "first_name": "Josh", "last_name": "Gaunt", "email": "jgaunt@mozilla.com" }, "comment": "jgaunt approved", "created": "2018-07-16T18:36:52.276450Z", "creator": { "id": 10, "first_name": "Tyler", "last_name": "Downer", "email": "tdowner@mozilla.com" }, "id": 928, "revision": { "id": 1603, "recipe_id": 513 } }, "arguments": { "repeatOption": "once", "surveyId": "hb-youtube-best-deprecation", "message": "Your add-on Youtube Best Video Downloader 2 is currently unavailable.", "learnMoreMessage": "Learn More", "learnMoreUrl": "https://blocked.cdn.mozilla.net/ae8ae617-590d-430b-86d4-16364372b67f.html", "engagementButtonLabel": "Here's an alternative", "thanksMessage": "Redirecting...", "postAnswerUrl": "https://addons.mozilla.org/firefox/addon/easy-youtube-video-download/", "includeTelemetryUUID": false }, "experimenter_slug": null, "capabilities": [ "action.show-heartbeat" ], "comment": "", "creator": null, "date_created": "2018-07-16T18:36:33.268247Z", "enabled_states": [ { "id": 360, "created": "2018-09-20T16:12:34.949642Z", "creator": { "id": 10, "first_name": "Tyler", "last_name": "Downer", "email": "tdowner@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 132, "created": "2018-07-16T18:43:09.303177Z", "creator": { "id": 10, "first_name": "Tyler", "last_name": "Downer", "email": "tdowner@mozilla.com" }, "enabled": true, "carryover_from": null } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "(\n normandy.locale in ['en-US', 'en-AU', 'en-CA', 'en-GB', 'en-NZ', 'en-ZA']\n && normandy.addons['{170503FA-3349-4F17-BC86-001888A5C8E2}']\n)", "filter_expression": "(\n normandy.locale in ['en-US', 'en-AU', 'en-CA', 'en-GB', 'en-NZ', 'en-ZA']\n && normandy.addons['{170503FA-3349-4F17-BC86-001888A5C8E2}']\n)", "filter_object": [], "id": 1603, "identicon_seed": "v1:v7f5hnrjs2", "metadata": {}, "name": "Youtube Best Downloader", "recipe": { "approved_revision_id": 1603, "id": 513, "latest_revision_id": 1603 }, "updated": "2018-09-20T16:12:34.958690Z" }, "id": 513, "latest_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Show a Heartbeat survey.", "description": "This action shows a single survey.", "type": "object", "required": [ "surveyId", "message", "thanksMessage", "postAnswerUrl", "learnMoreMessage", "learnMoreUrl" ], "properties": { "repeatOption": { "type": "string", "enum": [ "once", "xdays", "nag" ], "description": "Determines how often a prompt is shown executes.", "default": "once" }, "repeatEvery": { "description": "For repeatOption=xdays, how often (in days) the prompt is displayed.", "default": null, "type": [ "number", "null" ] }, "includeTelemetryUUID": { "type": "boolean", "description": "Include unique user ID in post-answer-url and Telemetry", "default": false }, "surveyId": { "type": "string", "description": "Slug uniquely identifying this survey in telemetry" }, "message": { "description": "Message to show to the user", "type": "string" }, "engagementButtonLabel": { "description": "Text for the engagement button. If specified, this button will be shown instead of rating stars.", "default": null, "type": [ "string", "null" ] }, "thanksMessage": { "description": "Thanks message to show to the user after they've rated Firefox", "type": "string" }, "postAnswerUrl": { "description": "URL to redirect the user to after rating Firefox or clicking the engagement button", "default": null, "type": [ "string", "null" ] }, "learnMoreMessage": { "description": "Message to show to the user to learn more", "default": null, "type": [ "string", "null" ] }, "learnMoreUrl": { "description": "URL to show to the user when they click Learn More", "default": null, "type": [ "string", "null" ] } } }, "name": "show-heartbeat", "id": 2, "implementation_url": "https://normandy.cdn.mozilla.net/api/v1/action/show-heartbeat/implementation/sha384-VTOdZHFMo1LOw0JWf6_jAGBb9r5sBbb7BQrmI8n3wy3oVO3ywb1g3ulD1BagmaMA/" }, "approval_request": { "approved": true, "approver": { "id": 6, "first_name": "Josh", "last_name": "Gaunt", "email": "jgaunt@mozilla.com" }, "comment": "jgaunt approved", "created": "2018-07-16T18:36:52.276450Z", "creator": { "id": 10, "first_name": "Tyler", "last_name": "Downer", "email": "tdowner@mozilla.com" }, "id": 928, "revision": { "id": 1603, "recipe_id": 513 } }, "arguments": { "repeatOption": "once", "surveyId": "hb-youtube-best-deprecation", "message": "Your add-on Youtube Best Video Downloader 2 is currently unavailable.", "learnMoreMessage": "Learn More", "learnMoreUrl": "https://blocked.cdn.mozilla.net/ae8ae617-590d-430b-86d4-16364372b67f.html", "engagementButtonLabel": "Here's an alternative", "thanksMessage": "Redirecting...", "postAnswerUrl": "https://addons.mozilla.org/firefox/addon/easy-youtube-video-download/", "includeTelemetryUUID": false }, "experimenter_slug": null, "capabilities": [ "action.show-heartbeat" ], "comment": "", "creator": null, "date_created": "2018-07-16T18:36:33.268247Z", "enabled_states": [ { "id": 360, "created": "2018-09-20T16:12:34.949642Z", "creator": { "id": 10, "first_name": "Tyler", "last_name": "Downer", "email": "tdowner@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 132, "created": "2018-07-16T18:43:09.303177Z", "creator": { "id": 10, "first_name": "Tyler", "last_name": "Downer", "email": "tdowner@mozilla.com" }, "enabled": true, "carryover_from": null } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "(\n normandy.locale in ['en-US', 'en-AU', 'en-CA', 'en-GB', 'en-NZ', 'en-ZA']\n && normandy.addons['{170503FA-3349-4F17-BC86-001888A5C8E2}']\n)", "filter_expression": "(\n normandy.locale in ['en-US', 'en-AU', 'en-CA', 'en-GB', 'en-NZ', 'en-ZA']\n && normandy.addons['{170503FA-3349-4F17-BC86-001888A5C8E2}']\n)", "filter_object": [], "id": 1603, "identicon_seed": "v1:v7f5hnrjs2", "metadata": {}, "name": "Youtube Best Downloader", "recipe": { "approved_revision_id": 1603, "id": 513, "latest_revision_id": 1603 }, "updated": "2018-09-20T16:12:34.958690Z" }, "signature": null, "uses_only_baseline_capabilities": true }, { "approved_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Change preferences permanently", "type": "object", "required": [ "slug", "preferences" ], "properties": { "slug": { "description": "Unique identifer for the rollout, used in telemetry and rollbacks", "type": "string", "pattern": "^[a-z0-9\\-_]+$" }, "preferences": { "description": "The preferences to change, and their values", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "preferenceName", "value" ], "properties": { "preferenceName": { "description": "Full dotted-path of the preference being changed", "type": "string" }, "value": { "description": "Value to set the preference to", "type": [ "string", "integer", "boolean" ] } } } } } }, "name": "preference-rollout", "id": 5, "implementation_url": null }, "approval_request": { "approved": true, "approver": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "comment": "r+", "created": "2022-01-25T19:46:59.278073Z", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "id": 2681, "revision": { "id": 3747, "recipe_id": 1158 } }, "arguments": { "preferences": [ { "preferenceName": "browser.topsites.experiment.yandex-2021-1", "value": true } ], "slug": "bug-1715474-rollout-yandex-sponsored-tile-rollout-release-89-100" }, "experimenter_slug": "yandex-sponsored-tile-rollout", "capabilities": [ "action.preference-rollout", "jexl.transform.versionCompare", "capabilities-v1", "jexl.transform.bucketSample", "jexl.context.env.version" ], "comment": "added versions 100 and 101", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "date_created": "2021-06-15T18:58:42.244010Z", "enabled_states": [ { "id": 2428, "created": "2022-06-14T17:48:34.197488Z", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 2314, "created": "2022-01-25T19:49:47.387199Z", "creator": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "enabled": true, "carryover_from": 2176 } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "", "filter_expression": "(normandy.channel in [\"release\"]) && (normandy.country in [\"BY\",\"KZ\",\"RU\",\"TR\"]) && ([\"yandex-rollout\",normandy.userId]|bucketSample(0,10000,10000)) && ((env.version|versionCompare(\"89.!\")>=0)&&(env.version|versionCompare(\"101.*\")<0))", "filter_object": [ { "channels": [ "release" ], "type": "channel" }, { "countries": [ "BY", "KZ", "RU", "TR" ], "type": "country" }, { "count": 10000, "namespace": "yandex-rollout", "start": 0, "type": "namespaceSample" }, { "type": "version", "versions": [ 100, 101, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99 ] } ], "id": 3747, "identicon_seed": "v1:tLfUCMLjQEpM", "metadata": {}, "name": "Yandex Sponsored Tile Rollout", "recipe": { "approved_revision_id": 3747, "id": 1158, "latest_revision_id": 3747 }, "updated": "2022-06-14T17:48:34.316406Z" }, "id": 1158, "latest_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Change preferences permanently", "type": "object", "required": [ "slug", "preferences" ], "properties": { "slug": { "description": "Unique identifer for the rollout, used in telemetry and rollbacks", "type": "string", "pattern": "^[a-z0-9\\-_]+$" }, "preferences": { "description": "The preferences to change, and their values", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "preferenceName", "value" ], "properties": { "preferenceName": { "description": "Full dotted-path of the preference being changed", "type": "string" }, "value": { "description": "Value to set the preference to", "type": [ "string", "integer", "boolean" ] } } } } } }, "name": "preference-rollout", "id": 5, "implementation_url": null }, "approval_request": { "approved": true, "approver": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "comment": "r+", "created": "2022-01-25T19:46:59.278073Z", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "id": 2681, "revision": { "id": 3747, "recipe_id": 1158 } }, "arguments": { "preferences": [ { "preferenceName": "browser.topsites.experiment.yandex-2021-1", "value": true } ], "slug": "bug-1715474-rollout-yandex-sponsored-tile-rollout-release-89-100" }, "experimenter_slug": "yandex-sponsored-tile-rollout", "capabilities": [ "action.preference-rollout", "jexl.transform.versionCompare", "capabilities-v1", "jexl.transform.bucketSample", "jexl.context.env.version" ], "comment": "added versions 100 and 101", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "date_created": "2021-06-15T18:58:42.244010Z", "enabled_states": [ { "id": 2428, "created": "2022-06-14T17:48:34.197488Z", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 2314, "created": "2022-01-25T19:49:47.387199Z", "creator": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "enabled": true, "carryover_from": 2176 } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "", "filter_expression": "(normandy.channel in [\"release\"]) && (normandy.country in [\"BY\",\"KZ\",\"RU\",\"TR\"]) && ([\"yandex-rollout\",normandy.userId]|bucketSample(0,10000,10000)) && ((env.version|versionCompare(\"89.!\")>=0)&&(env.version|versionCompare(\"101.*\")<0))", "filter_object": [ { "channels": [ "release" ], "type": "channel" }, { "countries": [ "BY", "KZ", "RU", "TR" ], "type": "country" }, { "count": 10000, "namespace": "yandex-rollout", "start": 0, "type": "namespaceSample" }, { "type": "version", "versions": [ 100, 101, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99 ] } ], "id": 3747, "identicon_seed": "v1:tLfUCMLjQEpM", "metadata": {}, "name": "Yandex Sponsored Tile Rollout", "recipe": { "approved_revision_id": 3747, "id": 1158, "latest_revision_id": 3747 }, "updated": "2022-06-14T17:48:34.316406Z" }, "signature": null, "uses_only_baseline_capabilities": false }, { "approved_revision": null, "id": 653, "latest_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Change preferences permanently", "type": "object", "required": [ "slug", "preferences" ], "properties": { "slug": { "description": "Unique identifer for the rollout, used in telemetry and rollbacks", "type": "string", "pattern": "^[a-z0-9\\-_]+$" }, "preferences": { "description": "The preferences to change, and their values", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "preferenceName", "value" ], "properties": { "preferenceName": { "description": "Full dotted-path of the preference being changed", "type": "string" }, "value": { "description": "Value to set the preference to", "type": [ "string", "integer", "boolean" ] } } } } } }, "name": "preference-rollout", "id": 5, "implementation_url": null }, "approval_request": null, "arguments": { "slug": "pref-rollout-network-cookie-", "preferences": [ { "preferenceName": "network.cookie.cookieBehavior", "value": 4 } ] }, "experimenter_slug": null, "capabilities": [ "action.preference-rollout", "jexl.transform.versionCompare", "capabilities-v1", "jexl.transform.stableSample", "jexl.context.env.version" ], "comment": "", "creator": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "date_created": "2018-12-05T20:41:50.409185Z", "enabled_states": [], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "", "filter_expression": "(normandy.channel in [\"release\"]) && ((env.version|versionCompare(\"66.!\")>=0)&&(env.version|versionCompare(\"66.*\")<0)) && ([normandy.recipe.id,normandy.userId]|stableSample(0.01))", "filter_object": [ { "channels": [ "release" ], "type": "channel" }, { "versions": [ 66 ], "type": "version" }, { "input": [ "normandy.recipe.id", "normandy.userId" ], "rate": 0.01, "type": "stableSample" } ], "id": 2080, "identicon_seed": "v1:8xz5cf68bed", "metadata": {}, "name": "[WIP] Pref Rollout: Network Cookie Behavior [Bug ...]", "recipe": { "approved_revision_id": null, "id": 653, "latest_revision_id": 2080 }, "updated": "2018-12-05T20:41:50.448731Z" }, "signature": null, "uses_only_baseline_capabilities": false }, { "approved_revision": null, "id": 194, "latest_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Show a Heartbeat survey.", "description": "This action shows a single survey.", "type": "object", "required": [ "surveyId", "message", "thanksMessage", "postAnswerUrl", "learnMoreMessage", "learnMoreUrl" ], "properties": { "repeatOption": { "type": "string", "enum": [ "once", "xdays", "nag" ], "description": "Determines how often a prompt is shown executes.", "default": "once" }, "repeatEvery": { "description": "For repeatOption=xdays, how often (in days) the prompt is displayed.", "default": null, "type": [ "number", "null" ] }, "includeTelemetryUUID": { "type": "boolean", "description": "Include unique user ID in post-answer-url and Telemetry", "default": false }, "surveyId": { "type": "string", "description": "Slug uniquely identifying this survey in telemetry" }, "message": { "description": "Message to show to the user", "type": "string" }, "engagementButtonLabel": { "description": "Text for the engagement button. If specified, this button will be shown instead of rating stars.", "default": null, "type": [ "string", "null" ] }, "thanksMessage": { "description": "Thanks message to show to the user after they've rated Firefox", "type": "string" }, "postAnswerUrl": { "description": "URL to redirect the user to after rating Firefox or clicking the engagement button", "default": null, "type": [ "string", "null" ] }, "learnMoreMessage": { "description": "Message to show to the user to learn more", "default": null, "type": [ "string", "null" ] }, "learnMoreUrl": { "description": "URL to show to the user when they click Learn More", "default": null, "type": [ "string", "null" ] } } }, "name": "show-heartbeat", "id": 2, "implementation_url": "https://normandy.cdn.mozilla.net/api/v1/action/show-heartbeat/implementation/sha384-VTOdZHFMo1LOw0JWf6_jAGBb9r5sBbb7BQrmI8n3wy3oVO3ywb1g3ulD1BagmaMA/" }, "approval_request": { "approved": true, "approver": { "id": 3, "first_name": "Matthew", "last_name": "Grimes", "email": "mgrimes@mozilla.com" }, "comment": "Looks good", "created": "2017-06-22T21:19:10.889986Z", "creator": { "id": 11, "first_name": "Kamyar", "last_name": "Ardekani", "email": "kardekani@mozilla.com" }, "id": 79, "revision": { "id": 925, "recipe_id": 194 } }, "arguments": { "includeTelemetryUUID": true, "learnMoreMessage": "Learn more", "learnMoreUrl": "https://wiki.mozilla.org/Firefox/Shield/Heartbeat", "message": "Please Rate Firefox", "postAnswerUrl": "https://qsurvey.mozilla.com/s3/Win64-Rollout?branch=64early", "surveyId": "win64funnelcake-64bit-earlyprompt", "thanksMessage": "Thank you!" }, "experimenter_slug": null, "capabilities": [ "action.show-heartbeat" ], "comment": "", "creator": null, "date_created": "2017-06-22T19:59:10.407072Z", "enabled_states": [], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "(\nnormandy.distribution == 'mozilla106' &&\n[normandy.userId]|bucketSample(51,50,100)\n)", "filter_expression": "(\nnormandy.distribution == 'mozilla106' &&\n[normandy.userId]|bucketSample(51,50,100)\n)", "filter_object": [], "id": 925, "identicon_seed": "v1:194", "metadata": {}, "name": "Win64 funnelcake test -- 64bit early prompt (funnelcake 106)", "recipe": { "approved_revision_id": null, "id": 194, "latest_revision_id": 925 }, "updated": "2017-06-22T19:59:10.414622Z" }, "signature": null, "uses_only_baseline_capabilities": true }, { "approved_revision": null, "id": 195, "latest_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Show a Heartbeat survey.", "description": "This action shows a single survey.", "type": "object", "required": [ "surveyId", "message", "thanksMessage", "postAnswerUrl", "learnMoreMessage", "learnMoreUrl" ], "properties": { "repeatOption": { "type": "string", "enum": [ "once", "xdays", "nag" ], "description": "Determines how often a prompt is shown executes.", "default": "once" }, "repeatEvery": { "description": "For repeatOption=xdays, how often (in days) the prompt is displayed.", "default": null, "type": [ "number", "null" ] }, "includeTelemetryUUID": { "type": "boolean", "description": "Include unique user ID in post-answer-url and Telemetry", "default": false }, "surveyId": { "type": "string", "description": "Slug uniquely identifying this survey in telemetry" }, "message": { "description": "Message to show to the user", "type": "string" }, "engagementButtonLabel": { "description": "Text for the engagement button. If specified, this button will be shown instead of rating stars.", "default": null, "type": [ "string", "null" ] }, "thanksMessage": { "description": "Thanks message to show to the user after they've rated Firefox", "type": "string" }, "postAnswerUrl": { "description": "URL to redirect the user to after rating Firefox or clicking the engagement button", "default": null, "type": [ "string", "null" ] }, "learnMoreMessage": { "description": "Message to show to the user to learn more", "default": null, "type": [ "string", "null" ] }, "learnMoreUrl": { "description": "URL to show to the user when they click Learn More", "default": null, "type": [ "string", "null" ] } } }, "name": "show-heartbeat", "id": 2, "implementation_url": "https://normandy.cdn.mozilla.net/api/v1/action/show-heartbeat/implementation/sha384-VTOdZHFMo1LOw0JWf6_jAGBb9r5sBbb7BQrmI8n3wy3oVO3ywb1g3ulD1BagmaMA/" }, "approval_request": { "approved": true, "approver": { "id": 3, "first_name": "Matthew", "last_name": "Grimes", "email": "mgrimes@mozilla.com" }, "comment": "looks good", "created": "2017-06-22T21:19:44.506140Z", "creator": { "id": 11, "first_name": "Kamyar", "last_name": "Ardekani", "email": "kardekani@mozilla.com" }, "id": 80, "revision": { "id": 924, "recipe_id": 195 } }, "arguments": { "includeTelemetryUUID": true, "learnMoreMessage": "Learn more", "learnMoreUrl": "https://wiki.mozilla.org/Firefox/Shield/Heartbeat", "message": "Please Rate Firefox", "postAnswerUrl": "https://qsurvey.mozilla.com/s3/Win64-Rollout?branch=64delayed", "surveyId": "win64funnelcake-64bit-delayedprompt", "thanksMessage": "Thank you!" }, "experimenter_slug": null, "capabilities": [ "action.show-heartbeat" ], "comment": "", "creator": null, "date_created": "2017-06-22T19:59:58.228792Z", "enabled_states": [], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "(\n((normandy.request_time / (1000 * 60 * 60 * 24)) - normandy.telemetry.main.environment.profile.creationDate) > 7 &&\nnormandy.distribution == 'mozilla106' &&\n[normandy.userId]|bucketSample(1,50,100)\n)", "filter_expression": "(\n((normandy.request_time / (1000 * 60 * 60 * 24)) - normandy.telemetry.main.environment.profile.creationDate) > 7 &&\nnormandy.distribution == 'mozilla106' &&\n[normandy.userId]|bucketSample(1,50,100)\n)", "filter_object": [], "id": 924, "identicon_seed": "v1:195", "metadata": {}, "name": "Win64 funnelcake test -- 64bit delayed prompt (funnelcake 106)", "recipe": { "approved_revision_id": null, "id": 195, "latest_revision_id": 924 }, "updated": "2017-06-22T19:59:58.236395Z" }, "signature": null, "uses_only_baseline_capabilities": true }, { "approved_revision": null, "id": 193, "latest_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Show a Heartbeat survey.", "description": "This action shows a single survey.", "type": "object", "required": [ "surveyId", "message", "thanksMessage", "postAnswerUrl", "learnMoreMessage", "learnMoreUrl" ], "properties": { "repeatOption": { "type": "string", "enum": [ "once", "xdays", "nag" ], "description": "Determines how often a prompt is shown executes.", "default": "once" }, "repeatEvery": { "description": "For repeatOption=xdays, how often (in days) the prompt is displayed.", "default": null, "type": [ "number", "null" ] }, "includeTelemetryUUID": { "type": "boolean", "description": "Include unique user ID in post-answer-url and Telemetry", "default": false }, "surveyId": { "type": "string", "description": "Slug uniquely identifying this survey in telemetry" }, "message": { "description": "Message to show to the user", "type": "string" }, "engagementButtonLabel": { "description": "Text for the engagement button. If specified, this button will be shown instead of rating stars.", "default": null, "type": [ "string", "null" ] }, "thanksMessage": { "description": "Thanks message to show to the user after they've rated Firefox", "type": "string" }, "postAnswerUrl": { "description": "URL to redirect the user to after rating Firefox or clicking the engagement button", "default": null, "type": [ "string", "null" ] }, "learnMoreMessage": { "description": "Message to show to the user to learn more", "default": null, "type": [ "string", "null" ] }, "learnMoreUrl": { "description": "URL to show to the user when they click Learn More", "default": null, "type": [ "string", "null" ] } } }, "name": "show-heartbeat", "id": 2, "implementation_url": "https://normandy.cdn.mozilla.net/api/v1/action/show-heartbeat/implementation/sha384-VTOdZHFMo1LOw0JWf6_jAGBb9r5sBbb7BQrmI8n3wy3oVO3ywb1g3ulD1BagmaMA/" }, "approval_request": { "approved": true, "approver": { "id": 3, "first_name": "Matthew", "last_name": "Grimes", "email": "mgrimes@mozilla.com" }, "comment": "You aren't specifying a channel here, but it's a funnelcake so I don't think it matters", "created": "2017-06-22T21:17:37.581648Z", "creator": { "id": 11, "first_name": "Kamyar", "last_name": "Ardekani", "email": "kardekani@mozilla.com" }, "id": 78, "revision": { "id": 926, "recipe_id": 193 } }, "arguments": { "includeTelemetryUUID": true, "learnMoreMessage": "Learn more", "learnMoreUrl": "https://wiki.mozilla.org/Firefox/Shield/Heartbeat", "message": "Please Rate Firefox", "postAnswerUrl": "https://qsurvey.mozilla.com/s3/Win64-Rollout?branch=32early", "surveyId": "win64funnelcake-32bit-earlyprompt", "thanksMessage": "Thank you!" }, "experimenter_slug": null, "capabilities": [ "action.show-heartbeat" ], "comment": "", "creator": null, "date_created": "2017-06-22T19:34:58.228448Z", "enabled_states": [], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "(\nnormandy.distribution == 'mozilla105' &&\n[normandy.userId]|bucketSample(51,50,100)\n)", "filter_expression": "(\nnormandy.distribution == 'mozilla105' &&\n[normandy.userId]|bucketSample(51,50,100)\n)", "filter_object": [], "id": 926, "identicon_seed": "v1:193", "metadata": {}, "name": "Win64 funnelcake test -- 32bit early prompt (funnelcake 105)", "recipe": { "approved_revision_id": null, "id": 193, "latest_revision_id": 926 }, "updated": "2017-06-22T19:34:58.236209Z" }, "signature": null, "uses_only_baseline_capabilities": true }, { "approved_revision": null, "id": 192, "latest_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Show a Heartbeat survey.", "description": "This action shows a single survey.", "type": "object", "required": [ "surveyId", "message", "thanksMessage", "postAnswerUrl", "learnMoreMessage", "learnMoreUrl" ], "properties": { "repeatOption": { "type": "string", "enum": [ "once", "xdays", "nag" ], "description": "Determines how often a prompt is shown executes.", "default": "once" }, "repeatEvery": { "description": "For repeatOption=xdays, how often (in days) the prompt is displayed.", "default": null, "type": [ "number", "null" ] }, "includeTelemetryUUID": { "type": "boolean", "description": "Include unique user ID in post-answer-url and Telemetry", "default": false }, "surveyId": { "type": "string", "description": "Slug uniquely identifying this survey in telemetry" }, "message": { "description": "Message to show to the user", "type": "string" }, "engagementButtonLabel": { "description": "Text for the engagement button. If specified, this button will be shown instead of rating stars.", "default": null, "type": [ "string", "null" ] }, "thanksMessage": { "description": "Thanks message to show to the user after they've rated Firefox", "type": "string" }, "postAnswerUrl": { "description": "URL to redirect the user to after rating Firefox or clicking the engagement button", "default": null, "type": [ "string", "null" ] }, "learnMoreMessage": { "description": "Message to show to the user to learn more", "default": null, "type": [ "string", "null" ] }, "learnMoreUrl": { "description": "URL to show to the user when they click Learn More", "default": null, "type": [ "string", "null" ] } } }, "name": "show-heartbeat", "id": 2, "implementation_url": "https://normandy.cdn.mozilla.net/api/v1/action/show-heartbeat/implementation/sha384-VTOdZHFMo1LOw0JWf6_jAGBb9r5sBbb7BQrmI8n3wy3oVO3ywb1g3ulD1BagmaMA/" }, "approval_request": { "approved": true, "approver": { "id": 3, "first_name": "Matthew", "last_name": "Grimes", "email": "mgrimes@mozilla.com" }, "comment": "Looks good to me", "created": "2017-06-22T21:15:34.649541Z", "creator": { "id": 11, "first_name": "Kamyar", "last_name": "Ardekani", "email": "kardekani@mozilla.com" }, "id": 77, "revision": { "id": 928, "recipe_id": 192 } }, "arguments": { "includeTelemetryUUID": true, "learnMoreMessage": "Learn more", "learnMoreUrl": "https://wiki.mozilla.org/Firefox/Shield/Heartbeat", "message": "Please Rate Firefox", "postAnswerUrl": "https://qsurvey.mozilla.com/s3/Win64-Rollout?branch=32delayed", "surveyId": "win64funnelcake-32bit-delayedprompt", "thanksMessage": "Thank you!" }, "experimenter_slug": null, "capabilities": [ "action.show-heartbeat" ], "comment": "", "creator": null, "date_created": "2017-06-22T18:34:49.299281Z", "enabled_states": [], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "(\n((normandy.request_time / (1000 * 60 * 60 * 24)) - normandy.telemetry.main.environment.profile.creationDate) > 7 &&\nnormandy.distribution == 'mozilla105' &&\n[normandy.userId]|bucketSample(1,50,100)\n)", "filter_expression": "(\n((normandy.request_time / (1000 * 60 * 60 * 24)) - normandy.telemetry.main.environment.profile.creationDate) > 7 &&\nnormandy.distribution == 'mozilla105' &&\n[normandy.userId]|bucketSample(1,50,100)\n)", "filter_object": [], "id": 928, "identicon_seed": "v1:192", "metadata": {}, "name": "Win64 funnelcake test -- 32bit delayed prompt (funnelcake 105)", "recipe": { "approved_revision_id": null, "id": 192, "latest_revision_id": 928 }, "updated": "2017-06-22T18:34:49.305965Z" }, "signature": null, "uses_only_baseline_capabilities": true }, { "approved_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Change preferences permanently", "type": "object", "required": [ "slug", "preferences" ], "properties": { "slug": { "description": "Unique identifer for the rollout, used in telemetry and rollbacks", "type": "string", "pattern": "^[a-z0-9\\-_]+$" }, "preferences": { "description": "The preferences to change, and their values", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "preferenceName", "value" ], "properties": { "preferenceName": { "description": "Full dotted-path of the preference being changed", "type": "string" }, "value": { "description": "Value to set the preference to", "type": [ "string", "integer", "boolean" ] } } } } } }, "name": "preference-rollout", "id": 5, "implementation_url": null }, "approval_request": { "approved": true, "approver": { "id": 63, "first_name": "Ethan", "last_name": "Donowitz", "email": "edonowitz@mozilla.com" }, "comment": "r+ ", "created": "2022-05-09T20:19:56.918777Z", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "id": 2771, "revision": { "id": 3861, "recipe_id": 1239 } }, "arguments": { "preferences": [ { "preferenceName": "security.sandbox.content.win32k-experiment.enrollmentStatus", "value": 2 } ], "slug": "bug-1766468-rollout-win32k-rollout-release-100-101" }, "experimenter_slug": "win32k-rollout", "capabilities": [ "capabilities-v1", "action.preference-rollout", "jexl.transform.bucketSample", "jexl.context.normandy.os", "jexl.context.env.version", "jexl.transform.versionCompare" ], "comment": "increase population to 100", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "date_created": "2022-05-05T15:47:22.197705Z", "enabled_states": [ { "id": 2457, "created": "2022-11-08T18:16:44.896908Z", "creator": { "id": 45, "first_name": "Nan", "last_name": "Jiang", "email": "najiang@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 2420, "created": "2022-05-09T20:22:42.480401Z", "creator": { "id": 63, "first_name": "Ethan", "last_name": "Donowitz", "email": "edonowitz@mozilla.com" }, "enabled": true, "carryover_from": 2419 } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "", "filter_expression": "(normandy.channel in [\"release\"]) && ((env.version|versionCompare(\"100.!\")>=0)&&(env.version|versionCompare(\"101.*\")<0)) && (normandy.os.isWindows) && ((normandy.os.windowsVersion in [10.0])) && ([\"win32k-rollout\",normandy.userId]|bucketSample(0,10000,10000))", "filter_object": [ { "channels": [ "release" ], "type": "channel" }, { "type": "version", "versions": [ 100, 101 ] }, { "platforms": [ "all_windows" ], "type": "platform" }, { "capabilities": [ "jexl.context.normandy.os" ], "comment": "Windows 10+", "expression": "normandy.os.windowsVersion in [10.0]", "type": "jexl" }, { "count": 10000, "namespace": "win32k-rollout", "start": 0, "type": "namespaceSample" } ], "id": 3861, "identicon_seed": "v1:PgLqnxYraOLz", "metadata": {}, "name": "Win32k Rollout", "recipe": { "approved_revision_id": 3861, "id": 1239, "latest_revision_id": 3861 }, "updated": "2022-11-08T18:16:45.026074Z" }, "id": 1239, "latest_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Change preferences permanently", "type": "object", "required": [ "slug", "preferences" ], "properties": { "slug": { "description": "Unique identifer for the rollout, used in telemetry and rollbacks", "type": "string", "pattern": "^[a-z0-9\\-_]+$" }, "preferences": { "description": "The preferences to change, and their values", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "preferenceName", "value" ], "properties": { "preferenceName": { "description": "Full dotted-path of the preference being changed", "type": "string" }, "value": { "description": "Value to set the preference to", "type": [ "string", "integer", "boolean" ] } } } } } }, "name": "preference-rollout", "id": 5, "implementation_url": null }, "approval_request": { "approved": true, "approver": { "id": 63, "first_name": "Ethan", "last_name": "Donowitz", "email": "edonowitz@mozilla.com" }, "comment": "r+ ", "created": "2022-05-09T20:19:56.918777Z", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "id": 2771, "revision": { "id": 3861, "recipe_id": 1239 } }, "arguments": { "preferences": [ { "preferenceName": "security.sandbox.content.win32k-experiment.enrollmentStatus", "value": 2 } ], "slug": "bug-1766468-rollout-win32k-rollout-release-100-101" }, "experimenter_slug": "win32k-rollout", "capabilities": [ "capabilities-v1", "action.preference-rollout", "jexl.transform.bucketSample", "jexl.context.normandy.os", "jexl.context.env.version", "jexl.transform.versionCompare" ], "comment": "increase population to 100", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "date_created": "2022-05-05T15:47:22.197705Z", "enabled_states": [ { "id": 2457, "created": "2022-11-08T18:16:44.896908Z", "creator": { "id": 45, "first_name": "Nan", "last_name": "Jiang", "email": "najiang@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 2420, "created": "2022-05-09T20:22:42.480401Z", "creator": { "id": 63, "first_name": "Ethan", "last_name": "Donowitz", "email": "edonowitz@mozilla.com" }, "enabled": true, "carryover_from": 2419 } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "", "filter_expression": "(normandy.channel in [\"release\"]) && ((env.version|versionCompare(\"100.!\")>=0)&&(env.version|versionCompare(\"101.*\")<0)) && (normandy.os.isWindows) && ((normandy.os.windowsVersion in [10.0])) && ([\"win32k-rollout\",normandy.userId]|bucketSample(0,10000,10000))", "filter_object": [ { "channels": [ "release" ], "type": "channel" }, { "type": "version", "versions": [ 100, 101 ] }, { "platforms": [ "all_windows" ], "type": "platform" }, { "capabilities": [ "jexl.context.normandy.os" ], "comment": "Windows 10+", "expression": "normandy.os.windowsVersion in [10.0]", "type": "jexl" }, { "count": 10000, "namespace": "win32k-rollout", "start": 0, "type": "namespaceSample" } ], "id": 3861, "identicon_seed": "v1:PgLqnxYraOLz", "metadata": {}, "name": "Win32k Rollout", "recipe": { "approved_revision_id": 3861, "id": 1239, "latest_revision_id": 3861 }, "updated": "2022-11-08T18:16:45.026074Z" }, "signature": null, "uses_only_baseline_capabilities": false }, { "approved_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Run a feature experiment activated by a set of preferences.", "type": "object", "required": [ "slug", "userFacingName", "userFacingDescription", "branches" ], "properties": { "slug": { "description": "Unique identifier for this experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "userFacingName": { "description": "User-facing name of the experiment", "type": "string", "minLength": 1 }, "userFacingDescription": { "description": "User-facing description of the experiment", "type": "string", "minLength": 1 }, "experimentDocumentUrl": { "description": "URL of a document describing the experiment", "type": "string", "format": "uri", "default": "" }, "isHighPopulation": { "description": "Marks the preference experiment as a high population experiment, that should be excluded from certain types of telemetry", "type": "boolean", "default": "false" }, "isEnrollmentPaused": { "description": "If true, new users will not be enrolled in the study.", "type": "boolean", "default": false }, "branches": { "description": "List of experimental branches", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "slug", "ratio", "preferences" ], "properties": { "slug": { "description": "Unique identifier for this branch of the experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "ratio": { "description": "Ratio of users who should be grouped into this branch", "type": "integer", "minimum": 1 }, "preferences": { "description": "The set of preferences to be set if this branch is chosen", "type": "object", "patternProperties": { ".*": { "type": "object", "properties": { "preferenceType": { "description": "Data type of the preference that controls this experiment", "type": "string", "enum": [ "string", "integer", "boolean" ] }, "preferenceBranchType": { "description": "Controls whether the default or user value of the preference is modified", "type": "string", "enum": [ "user", "default" ], "default": "default" }, "preferenceValue": { "description": "Value for this preference when this branch is chosen", "type": [ "string", "number", "boolean" ] } }, "required": [ "preferenceType", "preferenceBranchType", "preferenceValue" ] } } } } } } } }, "name": "multi-preference-experiment", "id": 9, "implementation_url": null }, "approval_request": { "approved": true, "approver": { "id": 63, "first_name": "Ethan", "last_name": "Donowitz", "email": "edonowitz@mozilla.com" }, "comment": "r+", "created": "2022-04-26T18:48:02.847866Z", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "id": 2767, "revision": { "id": 3857, "recipe_id": 1237 } }, "arguments": { "branches": [ { "preferences": { "security.sandbox.content.win32k-experiment.enrollmentStatus": { "preferenceBranchType": "default", "preferenceType": "integer", "preferenceValue": 1 } }, "ratio": 50, "slug": "disabled" }, { "preferences": { "security.sandbox.content.win32k-experiment.enrollmentStatus": { "preferenceBranchType": "default", "preferenceType": "integer", "preferenceValue": 2 } }, "ratio": 50, "slug": "enabled" } ], "experimentDocumentUrl": "https://experimenter.services.mozilla.com/experiments/win32k-experiment-v3/", "isEnrollmentPaused": true, "slug": "bug-1763156-pref-win32k-experiment-v3-release-99-100", "userFacingDescription": "Disable use of Win32k APIs in browser tabs to protect against sandbox escapes. (Windows only)", "userFacingName": "Win32k Experiment V3" }, "experimenter_slug": "win32k-experiment-v3", "capabilities": [ "capabilities-v1", "action.multi-preference-experiment", "jexl.transform.bucketSample", "jexl.context.normandy.os", "jexl.context.env.version", "jexl.transform.versionCompare" ], "comment": "One-click pause", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "date_created": "2022-04-19T18:53:37.919999Z", "enabled_states": [ { "id": 2421, "created": "2022-05-09T20:23:21.794314Z", "creator": { "id": 63, "first_name": "Ethan", "last_name": "Donowitz", "email": "edonowitz@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 2416, "created": "2022-04-26T18:50:12.392987Z", "creator": { "id": 63, "first_name": "Ethan", "last_name": "Donowitz", "email": "edonowitz@mozilla.com" }, "enabled": true, "carryover_from": 2415 } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "", "filter_expression": "(normandy.channel in [\"release\"]) && ((env.version|versionCompare(\"99.!\")>=0)&&(env.version|versionCompare(\"100.*\")<0)) && (normandy.os.isWindows) && ((normandy.os.windowsVersion in [10.0])) && ([\"global-v5\",normandy.userId]|bucketSample(3900,1000,10000))", "filter_object": [ { "channels": [ "release" ], "type": "channel" }, { "type": "version", "versions": [ 100, 99 ] }, { "platforms": [ "all_windows" ], "type": "platform" }, { "capabilities": [ "jexl.context.normandy.os" ], "comment": "Windows 10+", "expression": "normandy.os.windowsVersion in [10.0]", "type": "jexl" }, { "count": 1000, "namespace": "global-v5", "start": 3900, "type": "namespaceSample" } ], "id": 3857, "identicon_seed": "v1:KygiHVmOAVnG", "metadata": {}, "name": "Win32k Experiment V3", "recipe": { "approved_revision_id": 3857, "id": 1237, "latest_revision_id": 3857 }, "updated": "2022-05-09T20:23:22.080068Z" }, "id": 1237, "latest_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Run a feature experiment activated by a set of preferences.", "type": "object", "required": [ "slug", "userFacingName", "userFacingDescription", "branches" ], "properties": { "slug": { "description": "Unique identifier for this experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "userFacingName": { "description": "User-facing name of the experiment", "type": "string", "minLength": 1 }, "userFacingDescription": { "description": "User-facing description of the experiment", "type": "string", "minLength": 1 }, "experimentDocumentUrl": { "description": "URL of a document describing the experiment", "type": "string", "format": "uri", "default": "" }, "isHighPopulation": { "description": "Marks the preference experiment as a high population experiment, that should be excluded from certain types of telemetry", "type": "boolean", "default": "false" }, "isEnrollmentPaused": { "description": "If true, new users will not be enrolled in the study.", "type": "boolean", "default": false }, "branches": { "description": "List of experimental branches", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "slug", "ratio", "preferences" ], "properties": { "slug": { "description": "Unique identifier for this branch of the experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "ratio": { "description": "Ratio of users who should be grouped into this branch", "type": "integer", "minimum": 1 }, "preferences": { "description": "The set of preferences to be set if this branch is chosen", "type": "object", "patternProperties": { ".*": { "type": "object", "properties": { "preferenceType": { "description": "Data type of the preference that controls this experiment", "type": "string", "enum": [ "string", "integer", "boolean" ] }, "preferenceBranchType": { "description": "Controls whether the default or user value of the preference is modified", "type": "string", "enum": [ "user", "default" ], "default": "default" }, "preferenceValue": { "description": "Value for this preference when this branch is chosen", "type": [ "string", "number", "boolean" ] } }, "required": [ "preferenceType", "preferenceBranchType", "preferenceValue" ] } } } } } } } }, "name": "multi-preference-experiment", "id": 9, "implementation_url": null }, "approval_request": { "approved": true, "approver": { "id": 63, "first_name": "Ethan", "last_name": "Donowitz", "email": "edonowitz@mozilla.com" }, "comment": "r+", "created": "2022-04-26T18:48:02.847866Z", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "id": 2767, "revision": { "id": 3857, "recipe_id": 1237 } }, "arguments": { "branches": [ { "preferences": { "security.sandbox.content.win32k-experiment.enrollmentStatus": { "preferenceBranchType": "default", "preferenceType": "integer", "preferenceValue": 1 } }, "ratio": 50, "slug": "disabled" }, { "preferences": { "security.sandbox.content.win32k-experiment.enrollmentStatus": { "preferenceBranchType": "default", "preferenceType": "integer", "preferenceValue": 2 } }, "ratio": 50, "slug": "enabled" } ], "experimentDocumentUrl": "https://experimenter.services.mozilla.com/experiments/win32k-experiment-v3/", "isEnrollmentPaused": true, "slug": "bug-1763156-pref-win32k-experiment-v3-release-99-100", "userFacingDescription": "Disable use of Win32k APIs in browser tabs to protect against sandbox escapes. (Windows only)", "userFacingName": "Win32k Experiment V3" }, "experimenter_slug": "win32k-experiment-v3", "capabilities": [ "capabilities-v1", "action.multi-preference-experiment", "jexl.transform.bucketSample", "jexl.context.normandy.os", "jexl.context.env.version", "jexl.transform.versionCompare" ], "comment": "One-click pause", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "date_created": "2022-04-19T18:53:37.919999Z", "enabled_states": [ { "id": 2421, "created": "2022-05-09T20:23:21.794314Z", "creator": { "id": 63, "first_name": "Ethan", "last_name": "Donowitz", "email": "edonowitz@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 2416, "created": "2022-04-26T18:50:12.392987Z", "creator": { "id": 63, "first_name": "Ethan", "last_name": "Donowitz", "email": "edonowitz@mozilla.com" }, "enabled": true, "carryover_from": 2415 } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "", "filter_expression": "(normandy.channel in [\"release\"]) && ((env.version|versionCompare(\"99.!\")>=0)&&(env.version|versionCompare(\"100.*\")<0)) && (normandy.os.isWindows) && ((normandy.os.windowsVersion in [10.0])) && ([\"global-v5\",normandy.userId]|bucketSample(3900,1000,10000))", "filter_object": [ { "channels": [ "release" ], "type": "channel" }, { "type": "version", "versions": [ 100, 99 ] }, { "platforms": [ "all_windows" ], "type": "platform" }, { "capabilities": [ "jexl.context.normandy.os" ], "comment": "Windows 10+", "expression": "normandy.os.windowsVersion in [10.0]", "type": "jexl" }, { "count": 1000, "namespace": "global-v5", "start": 3900, "type": "namespaceSample" } ], "id": 3857, "identicon_seed": "v1:KygiHVmOAVnG", "metadata": {}, "name": "Win32k Experiment V3", "recipe": { "approved_revision_id": 3857, "id": 1237, "latest_revision_id": 3857 }, "updated": "2022-05-09T20:23:22.080068Z" }, "signature": null, "uses_only_baseline_capabilities": false }, { "approved_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Run a feature experiment activated by a set of preferences.", "type": "object", "required": [ "slug", "userFacingName", "userFacingDescription", "branches" ], "properties": { "slug": { "description": "Unique identifier for this experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "userFacingName": { "description": "User-facing name of the experiment", "type": "string", "minLength": 1 }, "userFacingDescription": { "description": "User-facing description of the experiment", "type": "string", "minLength": 1 }, "experimentDocumentUrl": { "description": "URL of a document describing the experiment", "type": "string", "format": "uri", "default": "" }, "isHighPopulation": { "description": "Marks the preference experiment as a high population experiment, that should be excluded from certain types of telemetry", "type": "boolean", "default": "false" }, "isEnrollmentPaused": { "description": "If true, new users will not be enrolled in the study.", "type": "boolean", "default": false }, "branches": { "description": "List of experimental branches", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "slug", "ratio", "preferences" ], "properties": { "slug": { "description": "Unique identifier for this branch of the experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "ratio": { "description": "Ratio of users who should be grouped into this branch", "type": "integer", "minimum": 1 }, "preferences": { "description": "The set of preferences to be set if this branch is chosen", "type": "object", "patternProperties": { ".*": { "type": "object", "properties": { "preferenceType": { "description": "Data type of the preference that controls this experiment", "type": "string", "enum": [ "string", "integer", "boolean" ] }, "preferenceBranchType": { "description": "Controls whether the default or user value of the preference is modified", "type": "string", "enum": [ "user", "default" ], "default": "default" }, "preferenceValue": { "description": "Value for this preference when this branch is chosen", "type": [ "string", "number", "boolean" ] } }, "required": [ "preferenceType", "preferenceBranchType", "preferenceValue" ] } } } } } } } }, "name": "multi-preference-experiment", "id": 9, "implementation_url": null }, "approval_request": { "approved": true, "approver": { "id": 63, "first_name": "Ethan", "last_name": "Donowitz", "email": "edonowitz@mozilla.com" }, "comment": "r+ pause", "created": "2022-03-22T18:15:58.804230Z", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "id": 2724, "revision": { "id": 3799, "recipe_id": 1210 } }, "arguments": { "branches": [ { "preferences": { "security.sandbox.content.win32k-experiment.enrollmentStatus": { "preferenceBranchType": "default", "preferenceType": "integer", "preferenceValue": 2 } }, "ratio": 50, "slug": "enabled" }, { "preferences": { "security.sandbox.content.win32k-experiment.enrollmentStatus": { "preferenceBranchType": "default", "preferenceType": "integer", "preferenceValue": 1 } }, "ratio": 50, "slug": "disabled" } ], "experimentDocumentUrl": "https://experimenter.services.mozilla.com/experiments/win32k-experiment-v2/", "isEnrollmentPaused": true, "slug": "bug-1759171-pref-win32k-experiment-v2-beta-99-100", "userFacingDescription": "Disable use of Win32k APIs in browser tabs to improve security against sandbox escapes. (Windows only)", "userFacingName": "Win32k Experiment V2" }, "experimenter_slug": "win32k-experiment-v2", "capabilities": [ "capabilities-v1", "action.multi-preference-experiment", "jexl.transform.bucketSample", "jexl.context.normandy.os", "jexl.context.env.version", "jexl.transform.versionCompare" ], "comment": "One-click pause", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "date_created": "2022-03-15T19:01:41.857035Z", "enabled_states": [ { "id": 2393, "created": "2022-04-12T18:53:49.311514Z", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 2354, "created": "2022-03-22T18:21:53.174773Z", "creator": { "id": 63, "first_name": "Ethan", "last_name": "Donowitz", "email": "edonowitz@mozilla.com" }, "enabled": true, "carryover_from": 2345 } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "", "filter_expression": "(normandy.channel in [\"beta\"]) && ((env.version|versionCompare(\"99.!\")>=0)&&(env.version|versionCompare(\"100.*\")<0)) && ([\"win32k-experiment-v2\",normandy.userId]|bucketSample(0,10000,10000)) && ((normandy.os.windowsVersion in [6.2, 6.3, 10.0])) && (normandy.os.isWindows)", "filter_object": [ { "type": "channel", "channels": [ "beta" ] }, { "type": "version", "versions": [ 100, 99 ] }, { "type": "namespaceSample", "namespace": "win32k-experiment-v2", "start": 0, "count": 10000 }, { "capabilities": [ "jexl.context.normandy.os" ], "comment": "Windows 8, 8.1, 10+", "expression": "normandy.os.windowsVersion in [6.2, 6.3, 10.0]", "type": "jexl" }, { "platforms": [ "all_windows" ], "type": "platform" } ], "id": 3799, "identicon_seed": "v1:QPeMUJLJBzRn", "metadata": {}, "name": "Win32k Experiment V2", "recipe": { "approved_revision_id": 3799, "id": 1210, "latest_revision_id": 3799 }, "updated": "2022-04-12T18:53:49.614053Z" }, "id": 1210, "latest_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Run a feature experiment activated by a set of preferences.", "type": "object", "required": [ "slug", "userFacingName", "userFacingDescription", "branches" ], "properties": { "slug": { "description": "Unique identifier for this experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "userFacingName": { "description": "User-facing name of the experiment", "type": "string", "minLength": 1 }, "userFacingDescription": { "description": "User-facing description of the experiment", "type": "string", "minLength": 1 }, "experimentDocumentUrl": { "description": "URL of a document describing the experiment", "type": "string", "format": "uri", "default": "" }, "isHighPopulation": { "description": "Marks the preference experiment as a high population experiment, that should be excluded from certain types of telemetry", "type": "boolean", "default": "false" }, "isEnrollmentPaused": { "description": "If true, new users will not be enrolled in the study.", "type": "boolean", "default": false }, "branches": { "description": "List of experimental branches", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "slug", "ratio", "preferences" ], "properties": { "slug": { "description": "Unique identifier for this branch of the experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "ratio": { "description": "Ratio of users who should be grouped into this branch", "type": "integer", "minimum": 1 }, "preferences": { "description": "The set of preferences to be set if this branch is chosen", "type": "object", "patternProperties": { ".*": { "type": "object", "properties": { "preferenceType": { "description": "Data type of the preference that controls this experiment", "type": "string", "enum": [ "string", "integer", "boolean" ] }, "preferenceBranchType": { "description": "Controls whether the default or user value of the preference is modified", "type": "string", "enum": [ "user", "default" ], "default": "default" }, "preferenceValue": { "description": "Value for this preference when this branch is chosen", "type": [ "string", "number", "boolean" ] } }, "required": [ "preferenceType", "preferenceBranchType", "preferenceValue" ] } } } } } } } }, "name": "multi-preference-experiment", "id": 9, "implementation_url": null }, "approval_request": { "approved": true, "approver": { "id": 63, "first_name": "Ethan", "last_name": "Donowitz", "email": "edonowitz@mozilla.com" }, "comment": "r+ pause", "created": "2022-03-22T18:15:58.804230Z", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "id": 2724, "revision": { "id": 3799, "recipe_id": 1210 } }, "arguments": { "branches": [ { "preferences": { "security.sandbox.content.win32k-experiment.enrollmentStatus": { "preferenceBranchType": "default", "preferenceType": "integer", "preferenceValue": 2 } }, "ratio": 50, "slug": "enabled" }, { "preferences": { "security.sandbox.content.win32k-experiment.enrollmentStatus": { "preferenceBranchType": "default", "preferenceType": "integer", "preferenceValue": 1 } }, "ratio": 50, "slug": "disabled" } ], "experimentDocumentUrl": "https://experimenter.services.mozilla.com/experiments/win32k-experiment-v2/", "isEnrollmentPaused": true, "slug": "bug-1759171-pref-win32k-experiment-v2-beta-99-100", "userFacingDescription": "Disable use of Win32k APIs in browser tabs to improve security against sandbox escapes. (Windows only)", "userFacingName": "Win32k Experiment V2" }, "experimenter_slug": "win32k-experiment-v2", "capabilities": [ "capabilities-v1", "action.multi-preference-experiment", "jexl.transform.bucketSample", "jexl.context.normandy.os", "jexl.context.env.version", "jexl.transform.versionCompare" ], "comment": "One-click pause", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "date_created": "2022-03-15T19:01:41.857035Z", "enabled_states": [ { "id": 2393, "created": "2022-04-12T18:53:49.311514Z", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 2354, "created": "2022-03-22T18:21:53.174773Z", "creator": { "id": 63, "first_name": "Ethan", "last_name": "Donowitz", "email": "edonowitz@mozilla.com" }, "enabled": true, "carryover_from": 2345 } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "", "filter_expression": "(normandy.channel in [\"beta\"]) && ((env.version|versionCompare(\"99.!\")>=0)&&(env.version|versionCompare(\"100.*\")<0)) && ([\"win32k-experiment-v2\",normandy.userId]|bucketSample(0,10000,10000)) && ((normandy.os.windowsVersion in [6.2, 6.3, 10.0])) && (normandy.os.isWindows)", "filter_object": [ { "type": "channel", "channels": [ "beta" ] }, { "type": "version", "versions": [ 100, 99 ] }, { "type": "namespaceSample", "namespace": "win32k-experiment-v2", "start": 0, "count": 10000 }, { "capabilities": [ "jexl.context.normandy.os" ], "comment": "Windows 8, 8.1, 10+", "expression": "normandy.os.windowsVersion in [6.2, 6.3, 10.0]", "type": "jexl" }, { "platforms": [ "all_windows" ], "type": "platform" } ], "id": 3799, "identicon_seed": "v1:QPeMUJLJBzRn", "metadata": {}, "name": "Win32k Experiment V2", "recipe": { "approved_revision_id": 3799, "id": 1210, "latest_revision_id": 3799 }, "updated": "2022-04-12T18:53:49.614053Z" }, "signature": null, "uses_only_baseline_capabilities": false }, { "approved_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Run a feature experiment activated by a set of preferences.", "type": "object", "required": [ "slug", "userFacingName", "userFacingDescription", "branches" ], "properties": { "slug": { "description": "Unique identifier for this experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "userFacingName": { "description": "User-facing name of the experiment", "type": "string", "minLength": 1 }, "userFacingDescription": { "description": "User-facing description of the experiment", "type": "string", "minLength": 1 }, "experimentDocumentUrl": { "description": "URL of a document describing the experiment", "type": "string", "format": "uri", "default": "" }, "isHighPopulation": { "description": "Marks the preference experiment as a high population experiment, that should be excluded from certain types of telemetry", "type": "boolean", "default": "false" }, "isEnrollmentPaused": { "description": "If true, new users will not be enrolled in the study.", "type": "boolean", "default": false }, "branches": { "description": "List of experimental branches", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "slug", "ratio", "preferences" ], "properties": { "slug": { "description": "Unique identifier for this branch of the experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "ratio": { "description": "Ratio of users who should be grouped into this branch", "type": "integer", "minimum": 1 }, "preferences": { "description": "The set of preferences to be set if this branch is chosen", "type": "object", "patternProperties": { ".*": { "type": "object", "properties": { "preferenceType": { "description": "Data type of the preference that controls this experiment", "type": "string", "enum": [ "string", "integer", "boolean" ] }, "preferenceBranchType": { "description": "Controls whether the default or user value of the preference is modified", "type": "string", "enum": [ "user", "default" ], "default": "default" }, "preferenceValue": { "description": "Value for this preference when this branch is chosen", "type": [ "string", "number", "boolean" ] } }, "required": [ "preferenceType", "preferenceBranchType", "preferenceValue" ] } } } } } } } }, "name": "multi-preference-experiment", "id": 9, "implementation_url": null }, "approval_request": { "approved": true, "approver": { "id": 63, "first_name": "Ethan", "last_name": "Donowitz", "email": "edonowitz@mozilla.com" }, "comment": "r+", "created": "2022-03-15T18:50:54.811174Z", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "id": 2709, "revision": { "id": 3782, "recipe_id": 1198 } }, "arguments": { "branches": [ { "preferences": { "security.sandbox.content.win32k-experiment.enrollmentStatus": { "preferenceBranchType": "default", "preferenceType": "integer", "preferenceValue": 1 } }, "ratio": 50, "slug": "disabled" }, { "preferences": { "security.sandbox.content.win32k-experiment.enrollmentStatus": { "preferenceBranchType": "default", "preferenceType": "integer", "preferenceValue": 2 } }, "ratio": 50, "slug": "enabled" } ], "experimentDocumentUrl": "https://experimenter.services.mozilla.com/experiments/win32k-experiment/", "isEnrollmentPaused": true, "slug": "bug-1751039-pref-win32k-experiment-nightly-99-99", "userFacingDescription": "Disable use of Win32k APIs in browser tabs to improve security against sandbox escapes. (Windows only)", "userFacingName": "Win32k Experiment" }, "experimenter_slug": "win32k-experiment", "capabilities": [ "capabilities-v1", "action.multi-preference-experiment", "jexl.transform.bucketSample", "jexl.context.normandy.os", "jexl.context.env.version", "jexl.transform.versionCompare" ], "comment": "One-click pause", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "date_created": "2022-02-23T19:18:20.761403Z", "enabled_states": [ { "id": 2388, "created": "2022-04-05T18:49:56.595699Z", "creator": { "id": 63, "first_name": "Ethan", "last_name": "Donowitz", "email": "edonowitz@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 2341, "created": "2022-03-15T19:00:39.620641Z", "creator": { "id": 63, "first_name": "Ethan", "last_name": "Donowitz", "email": "edonowitz@mozilla.com" }, "enabled": true, "carryover_from": 2324 } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "", "filter_expression": "(normandy.channel in [\"nightly\"]) && ((env.version|versionCompare(\"99.!\")>=0)&&(env.version|versionCompare(\"100.*\")<0)) && ([\"win32k-experiment\",normandy.userId]|bucketSample(0,10000,10000)) && (normandy.os.isWindows) && ((normandy.os.windowsVersion == 10))", "filter_object": [ { "channels": [ "nightly" ], "type": "channel" }, { "type": "version", "versions": [ 100, 99 ] }, { "count": 10000, "namespace": "win32k-experiment", "start": 0, "type": "namespaceSample" }, { "platforms": [ "all_windows" ], "type": "platform" }, { "capabilities": [ "jexl.context.normandy.os" ], "comment": "Windows 10", "expression": "normandy.os.windowsVersion == 10", "type": "jexl" } ], "id": 3782, "identicon_seed": "v1:wOTPgPgknQjO", "metadata": {}, "name": "Win32k Experiment", "recipe": { "approved_revision_id": 3782, "id": 1198, "latest_revision_id": 3782 }, "updated": "2022-04-05T18:49:56.863130Z" }, "id": 1198, "latest_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Run a feature experiment activated by a set of preferences.", "type": "object", "required": [ "slug", "userFacingName", "userFacingDescription", "branches" ], "properties": { "slug": { "description": "Unique identifier for this experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "userFacingName": { "description": "User-facing name of the experiment", "type": "string", "minLength": 1 }, "userFacingDescription": { "description": "User-facing description of the experiment", "type": "string", "minLength": 1 }, "experimentDocumentUrl": { "description": "URL of a document describing the experiment", "type": "string", "format": "uri", "default": "" }, "isHighPopulation": { "description": "Marks the preference experiment as a high population experiment, that should be excluded from certain types of telemetry", "type": "boolean", "default": "false" }, "isEnrollmentPaused": { "description": "If true, new users will not be enrolled in the study.", "type": "boolean", "default": false }, "branches": { "description": "List of experimental branches", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "slug", "ratio", "preferences" ], "properties": { "slug": { "description": "Unique identifier for this branch of the experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "ratio": { "description": "Ratio of users who should be grouped into this branch", "type": "integer", "minimum": 1 }, "preferences": { "description": "The set of preferences to be set if this branch is chosen", "type": "object", "patternProperties": { ".*": { "type": "object", "properties": { "preferenceType": { "description": "Data type of the preference that controls this experiment", "type": "string", "enum": [ "string", "integer", "boolean" ] }, "preferenceBranchType": { "description": "Controls whether the default or user value of the preference is modified", "type": "string", "enum": [ "user", "default" ], "default": "default" }, "preferenceValue": { "description": "Value for this preference when this branch is chosen", "type": [ "string", "number", "boolean" ] } }, "required": [ "preferenceType", "preferenceBranchType", "preferenceValue" ] } } } } } } } }, "name": "multi-preference-experiment", "id": 9, "implementation_url": null }, "approval_request": { "approved": true, "approver": { "id": 63, "first_name": "Ethan", "last_name": "Donowitz", "email": "edonowitz@mozilla.com" }, "comment": "r+", "created": "2022-03-15T18:50:54.811174Z", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "id": 2709, "revision": { "id": 3782, "recipe_id": 1198 } }, "arguments": { "branches": [ { "preferences": { "security.sandbox.content.win32k-experiment.enrollmentStatus": { "preferenceBranchType": "default", "preferenceType": "integer", "preferenceValue": 1 } }, "ratio": 50, "slug": "disabled" }, { "preferences": { "security.sandbox.content.win32k-experiment.enrollmentStatus": { "preferenceBranchType": "default", "preferenceType": "integer", "preferenceValue": 2 } }, "ratio": 50, "slug": "enabled" } ], "experimentDocumentUrl": "https://experimenter.services.mozilla.com/experiments/win32k-experiment/", "isEnrollmentPaused": true, "slug": "bug-1751039-pref-win32k-experiment-nightly-99-99", "userFacingDescription": "Disable use of Win32k APIs in browser tabs to improve security against sandbox escapes. (Windows only)", "userFacingName": "Win32k Experiment" }, "experimenter_slug": "win32k-experiment", "capabilities": [ "capabilities-v1", "action.multi-preference-experiment", "jexl.transform.bucketSample", "jexl.context.normandy.os", "jexl.context.env.version", "jexl.transform.versionCompare" ], "comment": "One-click pause", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "date_created": "2022-02-23T19:18:20.761403Z", "enabled_states": [ { "id": 2388, "created": "2022-04-05T18:49:56.595699Z", "creator": { "id": 63, "first_name": "Ethan", "last_name": "Donowitz", "email": "edonowitz@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 2341, "created": "2022-03-15T19:00:39.620641Z", "creator": { "id": 63, "first_name": "Ethan", "last_name": "Donowitz", "email": "edonowitz@mozilla.com" }, "enabled": true, "carryover_from": 2324 } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "", "filter_expression": "(normandy.channel in [\"nightly\"]) && ((env.version|versionCompare(\"99.!\")>=0)&&(env.version|versionCompare(\"100.*\")<0)) && ([\"win32k-experiment\",normandy.userId]|bucketSample(0,10000,10000)) && (normandy.os.isWindows) && ((normandy.os.windowsVersion == 10))", "filter_object": [ { "channels": [ "nightly" ], "type": "channel" }, { "type": "version", "versions": [ 100, 99 ] }, { "count": 10000, "namespace": "win32k-experiment", "start": 0, "type": "namespaceSample" }, { "platforms": [ "all_windows" ], "type": "platform" }, { "capabilities": [ "jexl.context.normandy.os" ], "comment": "Windows 10", "expression": "normandy.os.windowsVersion == 10", "type": "jexl" } ], "id": 3782, "identicon_seed": "v1:wOTPgPgknQjO", "metadata": {}, "name": "Win32k Experiment", "recipe": { "approved_revision_id": 3782, "id": 1198, "latest_revision_id": 3782 }, "updated": "2022-04-05T18:49:56.863130Z" }, "signature": null, "uses_only_baseline_capabilities": false }, { "approved_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Run a feature experiment activated by a preference.", "type": "object", "required": [ "slug", "preferenceName", "preferenceType", "branches" ], "properties": { "slug": { "description": "Unique identifier for this experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "experimentDocumentUrl": { "description": "URL of a document describing the experiment", "type": "string", "format": "uri", "default": "" }, "preferenceName": { "description": "Full dotted-path of the preference that controls this experiment", "type": "string" }, "preferenceType": { "description": "Data type of the preference that controls this experiment", "type": "string", "enum": [ "string", "integer", "boolean" ] }, "preferenceBranchType": { "description": "Controls whether the default or user value of the preference is modified", "type": "string", "enum": [ "user", "default" ], "default": "default" }, "isHighPopulation": { "description": "Marks the preference experiment as a high population experiment, that should be excluded from certain types of telemetry", "type": "boolean", "default": "false" }, "isEnrollmentPaused": { "description": "If true, new users will not be enrolled in the study.", "type": "boolean", "default": false }, "branches": { "description": "List of experimental branches", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "slug", "value", "ratio" ], "properties": { "slug": { "description": "Unique identifier for this branch of the experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "value": { "description": "Value to set the preference to for this branch", "type": [ "string", "number", "boolean" ] }, "ratio": { "description": "Ratio of users who should be grouped into this branch", "type": "integer", "minimum": 1 } } } } } }, "name": "preference-experiment", "id": 3, "implementation_url": "https://normandy.cdn.mozilla.net/api/v1/action/preference-experiment/implementation/sha384-o1w_DJcXVnm6ppFcrPr78-Q32ZVXgi6lfYm9wUS3JBj5466SxrFpXaFt_KgJC87O/" }, "approval_request": { "approved": true, "approver": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "comment": "🚀", "created": "2019-07-30T19:27:16.919970Z", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "id": 1773, "revision": { "id": 2671, "recipe_id": 825 } }, "arguments": { "preferenceBranchType": "user", "slug": "webrender-performance-tracking-study-nightly-1569972", "experimentDocumentUrl": "https://experimenter.services.mozilla.com/experiments/webrender-performance-tracking-study-beta/", "isHighVolume": false, "preferenceName": "gfx.webrender.all.qualified", "preferenceType": "boolean", "isEnrollmentPaused": false, "branches": [ { "ratio": 1, "slug": "enabled", "value": true }, { "ratio": 1, "slug": "disabled", "value": false } ] }, "experimenter_slug": null, "capabilities": [ "jexl.transform.versionCompare", "action.preference-experiment", "capabilities-v1", "jexl.transform.bucketSample", "jexl.context.env.version" ], "comment": "", "creator": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "date_created": "2019-07-30T19:25:05.220598Z", "enabled_states": [ { "id": 1282, "created": "2019-11-12T17:48:35.333529Z", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 1121, "created": "2019-07-30T19:32:59.884673Z", "creator": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "enabled": true, "carryover_from": null } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "normandy.os.isWindows\n&& normandy.os.windowsVersion == 10.0\n&& normandy.telemetry.main.environment.system.gfx.features.wrQualified.status == 'available'", "filter_expression": "(normandy.channel in [\"nightly\"]) && ((env.version|versionCompare(\"70.!\")>=0)&&(env.version|versionCompare(\"80.*\")<0)) && ([793,normandy.userId]|bucketSample(0,450,1000)) && (normandy.os.isWindows\n&& normandy.os.windowsVersion == 10.0\n&& normandy.telemetry.main.environment.system.gfx.features.wrQualified.status == 'available')", "filter_object": [ { "channels": [ "nightly" ], "type": "channel" }, { "versions": [ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80 ], "type": "version" }, { "count": 450, "input": [ 793, "normandy.userId" ], "start": 0, "total": 1000, "type": "bucketSample" } ], "id": 2671, "identicon_seed": "v1:wfa8m2i98pl", "metadata": {}, "name": "WebRender performance tracking study: nightly", "recipe": { "approved_revision_id": 2671, "id": 825, "latest_revision_id": 2671 }, "updated": "2019-11-12T17:48:35.685461Z" }, "id": 825, "latest_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Run a feature experiment activated by a preference.", "type": "object", "required": [ "slug", "preferenceName", "preferenceType", "branches" ], "properties": { "slug": { "description": "Unique identifier for this experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "experimentDocumentUrl": { "description": "URL of a document describing the experiment", "type": "string", "format": "uri", "default": "" }, "preferenceName": { "description": "Full dotted-path of the preference that controls this experiment", "type": "string" }, "preferenceType": { "description": "Data type of the preference that controls this experiment", "type": "string", "enum": [ "string", "integer", "boolean" ] }, "preferenceBranchType": { "description": "Controls whether the default or user value of the preference is modified", "type": "string", "enum": [ "user", "default" ], "default": "default" }, "isHighPopulation": { "description": "Marks the preference experiment as a high population experiment, that should be excluded from certain types of telemetry", "type": "boolean", "default": "false" }, "isEnrollmentPaused": { "description": "If true, new users will not be enrolled in the study.", "type": "boolean", "default": false }, "branches": { "description": "List of experimental branches", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "slug", "value", "ratio" ], "properties": { "slug": { "description": "Unique identifier for this branch of the experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "value": { "description": "Value to set the preference to for this branch", "type": [ "string", "number", "boolean" ] }, "ratio": { "description": "Ratio of users who should be grouped into this branch", "type": "integer", "minimum": 1 } } } } } }, "name": "preference-experiment", "id": 3, "implementation_url": "https://normandy.cdn.mozilla.net/api/v1/action/preference-experiment/implementation/sha384-o1w_DJcXVnm6ppFcrPr78-Q32ZVXgi6lfYm9wUS3JBj5466SxrFpXaFt_KgJC87O/" }, "approval_request": { "approved": true, "approver": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "comment": "🚀", "created": "2019-07-30T19:27:16.919970Z", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "id": 1773, "revision": { "id": 2671, "recipe_id": 825 } }, "arguments": { "preferenceBranchType": "user", "slug": "webrender-performance-tracking-study-nightly-1569972", "experimentDocumentUrl": "https://experimenter.services.mozilla.com/experiments/webrender-performance-tracking-study-beta/", "isHighVolume": false, "preferenceName": "gfx.webrender.all.qualified", "preferenceType": "boolean", "isEnrollmentPaused": false, "branches": [ { "ratio": 1, "slug": "enabled", "value": true }, { "ratio": 1, "slug": "disabled", "value": false } ] }, "experimenter_slug": null, "capabilities": [ "jexl.transform.versionCompare", "action.preference-experiment", "capabilities-v1", "jexl.transform.bucketSample", "jexl.context.env.version" ], "comment": "", "creator": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "date_created": "2019-07-30T19:25:05.220598Z", "enabled_states": [ { "id": 1282, "created": "2019-11-12T17:48:35.333529Z", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 1121, "created": "2019-07-30T19:32:59.884673Z", "creator": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "enabled": true, "carryover_from": null } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "normandy.os.isWindows\n&& normandy.os.windowsVersion == 10.0\n&& normandy.telemetry.main.environment.system.gfx.features.wrQualified.status == 'available'", "filter_expression": "(normandy.channel in [\"nightly\"]) && ((env.version|versionCompare(\"70.!\")>=0)&&(env.version|versionCompare(\"80.*\")<0)) && ([793,normandy.userId]|bucketSample(0,450,1000)) && (normandy.os.isWindows\n&& normandy.os.windowsVersion == 10.0\n&& normandy.telemetry.main.environment.system.gfx.features.wrQualified.status == 'available')", "filter_object": [ { "channels": [ "nightly" ], "type": "channel" }, { "versions": [ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80 ], "type": "version" }, { "count": 450, "input": [ 793, "normandy.userId" ], "start": 0, "total": 1000, "type": "bucketSample" } ], "id": 2671, "identicon_seed": "v1:wfa8m2i98pl", "metadata": {}, "name": "WebRender performance tracking study: nightly", "recipe": { "approved_revision_id": 2671, "id": 825, "latest_revision_id": 2671 }, "updated": "2019-11-12T17:48:35.685461Z" }, "signature": null, "uses_only_baseline_capabilities": false }, { "approved_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Run a feature experiment activated by a preference.", "type": "object", "required": [ "slug", "preferenceName", "preferenceType", "branches" ], "properties": { "slug": { "description": "Unique identifier for this experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "experimentDocumentUrl": { "description": "URL of a document describing the experiment", "type": "string", "format": "uri", "default": "" }, "preferenceName": { "description": "Full dotted-path of the preference that controls this experiment", "type": "string" }, "preferenceType": { "description": "Data type of the preference that controls this experiment", "type": "string", "enum": [ "string", "integer", "boolean" ] }, "preferenceBranchType": { "description": "Controls whether the default or user value of the preference is modified", "type": "string", "enum": [ "user", "default" ], "default": "default" }, "isHighPopulation": { "description": "Marks the preference experiment as a high population experiment, that should be excluded from certain types of telemetry", "type": "boolean", "default": "false" }, "isEnrollmentPaused": { "description": "If true, new users will not be enrolled in the study.", "type": "boolean", "default": false }, "branches": { "description": "List of experimental branches", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "slug", "value", "ratio" ], "properties": { "slug": { "description": "Unique identifier for this branch of the experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "value": { "description": "Value to set the preference to for this branch", "type": [ "string", "number", "boolean" ] }, "ratio": { "description": "Ratio of users who should be grouped into this branch", "type": "integer", "minimum": 1 } } } } } }, "name": "preference-experiment", "id": 3, "implementation_url": "https://normandy.cdn.mozilla.net/api/v1/action/preference-experiment/implementation/sha384-o1w_DJcXVnm6ppFcrPr78-Q32ZVXgi6lfYm9wUS3JBj5466SxrFpXaFt_KgJC87O/" }, "approval_request": { "approved": true, "approver": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "comment": "🚀", "created": "2019-07-30T19:27:10.898388Z", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "id": 1772, "revision": { "id": 2670, "recipe_id": 824 } }, "arguments": { "preferenceBranchType": "user", "slug": "webrender-performance-tracking-study-beta-1569972", "experimentDocumentUrl": "https://experimenter.services.mozilla.com/experiments/webrender-performance-tracking-study-beta/", "isHighVolume": false, "preferenceName": "gfx.webrender.all.qualified", "preferenceType": "boolean", "isEnrollmentPaused": false, "branches": [ { "slug": "enabled", "value": true, "ratio": 1 }, { "slug": "disabled", "value": false, "ratio": 1 } ] }, "experimenter_slug": null, "capabilities": [ "jexl.transform.versionCompare", "action.preference-experiment", "capabilities-v1", "jexl.transform.bucketSample", "jexl.context.env.version" ], "comment": "", "creator": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "date_created": "2019-07-30T19:22:55.000942Z", "enabled_states": [ { "id": 1281, "created": "2019-11-12T17:48:04.900476Z", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 1120, "created": "2019-07-30T19:32:52.781787Z", "creator": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "enabled": true, "carryover_from": null } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "normandy.os.isWindows\n&& normandy.os.windowsVersion == 10.0\n&& normandy.telemetry.main.environment.system.gfx.features.wrQualified.status == 'available'", "filter_expression": "(normandy.channel in [\"beta\"]) && ((env.version|versionCompare(\"69.!\")>=0)&&(env.version|versionCompare(\"80.*\")<0)) && ([793,normandy.userId]|bucketSample(0,450,1000)) && (normandy.os.isWindows\n&& normandy.os.windowsVersion == 10.0\n&& normandy.telemetry.main.environment.system.gfx.features.wrQualified.status == 'available')", "filter_object": [ { "channels": [ "beta" ], "type": "channel" }, { "versions": [ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80 ], "type": "version" }, { "type": "bucketSample", "input": [ 793, "normandy.userId" ], "start": 0, "count": 450, "total": 1000 } ], "id": 2670, "identicon_seed": "v1:q139x6q9kr7", "metadata": {}, "name": "WebRender performance tracking study: beta", "recipe": { "approved_revision_id": 2670, "id": 824, "latest_revision_id": 2670 }, "updated": "2019-11-12T17:48:05.229016Z" }, "id": 824, "latest_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Run a feature experiment activated by a preference.", "type": "object", "required": [ "slug", "preferenceName", "preferenceType", "branches" ], "properties": { "slug": { "description": "Unique identifier for this experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "experimentDocumentUrl": { "description": "URL of a document describing the experiment", "type": "string", "format": "uri", "default": "" }, "preferenceName": { "description": "Full dotted-path of the preference that controls this experiment", "type": "string" }, "preferenceType": { "description": "Data type of the preference that controls this experiment", "type": "string", "enum": [ "string", "integer", "boolean" ] }, "preferenceBranchType": { "description": "Controls whether the default or user value of the preference is modified", "type": "string", "enum": [ "user", "default" ], "default": "default" }, "isHighPopulation": { "description": "Marks the preference experiment as a high population experiment, that should be excluded from certain types of telemetry", "type": "boolean", "default": "false" }, "isEnrollmentPaused": { "description": "If true, new users will not be enrolled in the study.", "type": "boolean", "default": false }, "branches": { "description": "List of experimental branches", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "slug", "value", "ratio" ], "properties": { "slug": { "description": "Unique identifier for this branch of the experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "value": { "description": "Value to set the preference to for this branch", "type": [ "string", "number", "boolean" ] }, "ratio": { "description": "Ratio of users who should be grouped into this branch", "type": "integer", "minimum": 1 } } } } } }, "name": "preference-experiment", "id": 3, "implementation_url": "https://normandy.cdn.mozilla.net/api/v1/action/preference-experiment/implementation/sha384-o1w_DJcXVnm6ppFcrPr78-Q32ZVXgi6lfYm9wUS3JBj5466SxrFpXaFt_KgJC87O/" }, "approval_request": { "approved": true, "approver": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "comment": "🚀", "created": "2019-07-30T19:27:10.898388Z", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "id": 1772, "revision": { "id": 2670, "recipe_id": 824 } }, "arguments": { "preferenceBranchType": "user", "slug": "webrender-performance-tracking-study-beta-1569972", "experimentDocumentUrl": "https://experimenter.services.mozilla.com/experiments/webrender-performance-tracking-study-beta/", "isHighVolume": false, "preferenceName": "gfx.webrender.all.qualified", "preferenceType": "boolean", "isEnrollmentPaused": false, "branches": [ { "slug": "enabled", "value": true, "ratio": 1 }, { "slug": "disabled", "value": false, "ratio": 1 } ] }, "experimenter_slug": null, "capabilities": [ "jexl.transform.versionCompare", "action.preference-experiment", "capabilities-v1", "jexl.transform.bucketSample", "jexl.context.env.version" ], "comment": "", "creator": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "date_created": "2019-07-30T19:22:55.000942Z", "enabled_states": [ { "id": 1281, "created": "2019-11-12T17:48:04.900476Z", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 1120, "created": "2019-07-30T19:32:52.781787Z", "creator": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "enabled": true, "carryover_from": null } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "normandy.os.isWindows\n&& normandy.os.windowsVersion == 10.0\n&& normandy.telemetry.main.environment.system.gfx.features.wrQualified.status == 'available'", "filter_expression": "(normandy.channel in [\"beta\"]) && ((env.version|versionCompare(\"69.!\")>=0)&&(env.version|versionCompare(\"80.*\")<0)) && ([793,normandy.userId]|bucketSample(0,450,1000)) && (normandy.os.isWindows\n&& normandy.os.windowsVersion == 10.0\n&& normandy.telemetry.main.environment.system.gfx.features.wrQualified.status == 'available')", "filter_object": [ { "channels": [ "beta" ], "type": "channel" }, { "versions": [ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80 ], "type": "version" }, { "type": "bucketSample", "input": [ 793, "normandy.userId" ], "start": 0, "count": 450, "total": 1000 } ], "id": 2670, "identicon_seed": "v1:q139x6q9kr7", "metadata": {}, "name": "WebRender performance tracking study: beta", "recipe": { "approved_revision_id": 2670, "id": 824, "latest_revision_id": 2670 }, "updated": "2019-11-12T17:48:05.229016Z" }, "signature": null, "uses_only_baseline_capabilities": false }, { "approved_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Change preferences permanently", "type": "object", "required": [ "slug", "preferences" ], "properties": { "slug": { "description": "Unique identifer for the rollout, used in telemetry and rollbacks", "type": "string", "pattern": "^[a-z0-9\\-_]+$" }, "preferences": { "description": "The preferences to change, and their values", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "preferenceName", "value" ], "properties": { "preferenceName": { "description": "Full dotted-path of the preference being changed", "type": "string" }, "value": { "description": "Value to set the preference to", "type": [ "string", "integer", "boolean" ] } } } } } }, "name": "preference-rollout", "id": 5, "implementation_url": null }, "approval_request": { "approved": true, "approver": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "comment": "r+", "created": "2019-11-26T17:37:50.657905Z", "creator": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "id": 1910, "revision": { "id": 2840, "recipe_id": 866 } }, "arguments": { "slug": "pref-webrender-intel-rollout-70-release", "preferences": [ { "preferenceName": "gfx.webrender.all.qualified", "value": true } ] }, "experimenter_slug": "WebRender Intel Rollout", "capabilities": [ "action.preference-rollout", "jexl.transform.versionCompare", "capabilities-v1", "jexl.transform.bucketSample", "jexl.context.env.version" ], "comment": "", "creator": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "date_created": "2019-11-26T17:37:21.802799Z", "enabled_states": [ { "id": 2085, "created": "2021-03-16T18:48:45.800422Z", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 1353, "created": "2019-11-26T18:11:07.346090Z", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "enabled": true, "carryover_from": 1285 } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "normandy.os.isWindows && \nnormandy.os.windowsVersion >= 10.0 && \nnormandy.telemetry.main.environment.system.gfx.features.wrQualified.status == \"available\" &&\nnormandy.telemetry.main.environment.system.gfx.adapters[0].vendorID == \"0x8086\" &&\n!normandy.telemetry.main.environment.system.gfx.monitors[1]", "filter_expression": "(normandy.channel in [\"release\"]) && ((env.version|versionCompare(\"70.!\")>=0)&&(env.version|versionCompare(\"73.*\")<0)) && ([\"webrender-70\",normandy.userId]|bucketSample(0,950,1000)) && (normandy.os.isWindows && \nnormandy.os.windowsVersion >= 10.0 && \nnormandy.telemetry.main.environment.system.gfx.features.wrQualified.status == \"available\" &&\nnormandy.telemetry.main.environment.system.gfx.adapters[0].vendorID == \"0x8086\" &&\n!normandy.telemetry.main.environment.system.gfx.monitors[1])", "filter_object": [ { "channels": [ "release" ], "type": "channel" }, { "versions": [ 70, 71, 72, 73 ], "type": "version" }, { "count": 950, "input": [ "\"webrender-70\"", "normandy.userId" ], "start": 0, "total": 1000, "type": "bucketSample" } ], "id": 2840, "identicon_seed": "v1:utyc9efkmom", "metadata": {}, "name": "WebRender Intel Rollout", "recipe": { "approved_revision_id": 2840, "id": 866, "latest_revision_id": 2840 }, "updated": "2021-03-16T18:48:45.880270Z" }, "id": 866, "latest_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Change preferences permanently", "type": "object", "required": [ "slug", "preferences" ], "properties": { "slug": { "description": "Unique identifer for the rollout, used in telemetry and rollbacks", "type": "string", "pattern": "^[a-z0-9\\-_]+$" }, "preferences": { "description": "The preferences to change, and their values", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "preferenceName", "value" ], "properties": { "preferenceName": { "description": "Full dotted-path of the preference being changed", "type": "string" }, "value": { "description": "Value to set the preference to", "type": [ "string", "integer", "boolean" ] } } } } } }, "name": "preference-rollout", "id": 5, "implementation_url": null }, "approval_request": { "approved": true, "approver": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "comment": "r+", "created": "2019-11-26T17:37:50.657905Z", "creator": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "id": 1910, "revision": { "id": 2840, "recipe_id": 866 } }, "arguments": { "slug": "pref-webrender-intel-rollout-70-release", "preferences": [ { "preferenceName": "gfx.webrender.all.qualified", "value": true } ] }, "experimenter_slug": "WebRender Intel Rollout", "capabilities": [ "action.preference-rollout", "jexl.transform.versionCompare", "capabilities-v1", "jexl.transform.bucketSample", "jexl.context.env.version" ], "comment": "", "creator": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "date_created": "2019-11-26T17:37:21.802799Z", "enabled_states": [ { "id": 2085, "created": "2021-03-16T18:48:45.800422Z", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 1353, "created": "2019-11-26T18:11:07.346090Z", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "enabled": true, "carryover_from": 1285 } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "normandy.os.isWindows && \nnormandy.os.windowsVersion >= 10.0 && \nnormandy.telemetry.main.environment.system.gfx.features.wrQualified.status == \"available\" &&\nnormandy.telemetry.main.environment.system.gfx.adapters[0].vendorID == \"0x8086\" &&\n!normandy.telemetry.main.environment.system.gfx.monitors[1]", "filter_expression": "(normandy.channel in [\"release\"]) && ((env.version|versionCompare(\"70.!\")>=0)&&(env.version|versionCompare(\"73.*\")<0)) && ([\"webrender-70\",normandy.userId]|bucketSample(0,950,1000)) && (normandy.os.isWindows && \nnormandy.os.windowsVersion >= 10.0 && \nnormandy.telemetry.main.environment.system.gfx.features.wrQualified.status == \"available\" &&\nnormandy.telemetry.main.environment.system.gfx.adapters[0].vendorID == \"0x8086\" &&\n!normandy.telemetry.main.environment.system.gfx.monitors[1])", "filter_object": [ { "channels": [ "release" ], "type": "channel" }, { "versions": [ 70, 71, 72, 73 ], "type": "version" }, { "count": 950, "input": [ "\"webrender-70\"", "normandy.userId" ], "start": 0, "total": 1000, "type": "bucketSample" } ], "id": 2840, "identicon_seed": "v1:utyc9efkmom", "metadata": {}, "name": "WebRender Intel Rollout", "recipe": { "approved_revision_id": 2840, "id": 866, "latest_revision_id": 2840 }, "updated": "2021-03-16T18:48:45.880270Z" }, "signature": null, "uses_only_baseline_capabilities": false }, { "approved_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Run a feature experiment activated by a set of preferences.", "type": "object", "required": [ "slug", "userFacingName", "userFacingDescription", "branches" ], "properties": { "slug": { "description": "Unique identifier for this experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "userFacingName": { "description": "User-facing name of the experiment", "type": "string", "minLength": 1 }, "userFacingDescription": { "description": "User-facing description of the experiment", "type": "string", "minLength": 1 }, "experimentDocumentUrl": { "description": "URL of a document describing the experiment", "type": "string", "format": "uri", "default": "" }, "isHighPopulation": { "description": "Marks the preference experiment as a high population experiment, that should be excluded from certain types of telemetry", "type": "boolean", "default": "false" }, "isEnrollmentPaused": { "description": "If true, new users will not be enrolled in the study.", "type": "boolean", "default": false }, "branches": { "description": "List of experimental branches", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "slug", "ratio", "preferences" ], "properties": { "slug": { "description": "Unique identifier for this branch of the experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "ratio": { "description": "Ratio of users who should be grouped into this branch", "type": "integer", "minimum": 1 }, "preferences": { "description": "The set of preferences to be set if this branch is chosen", "type": "object", "patternProperties": { ".*": { "type": "object", "properties": { "preferenceType": { "description": "Data type of the preference that controls this experiment", "type": "string", "enum": [ "string", "integer", "boolean" ] }, "preferenceBranchType": { "description": "Controls whether the default or user value of the preference is modified", "type": "string", "enum": [ "user", "default" ], "default": "default" }, "preferenceValue": { "description": "Value for this preference when this branch is chosen", "type": [ "string", "number", "boolean" ] } }, "required": [ "preferenceType", "preferenceBranchType", "preferenceValue" ] } } } } } } } }, "name": "multi-preference-experiment", "id": 9, "implementation_url": null }, "approval_request": { "approved": true, "approver": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "comment": "r+ to setting isEnrollmentPaused to false", "created": "2020-06-10T17:17:34.426659Z", "creator": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "id": 2144, "revision": { "id": 3142, "recipe_id": 859 } }, "arguments": { "branches": [ { "preferences": { "gfx.webrender.all.qualified": { "preferenceBranchType": "user", "preferenceType": "boolean", "preferenceValue": true } }, "ratio": 50, "slug": "enabled" }, { "preferences": { "gfx.webrender.all.qualified": { "preferenceBranchType": "user", "preferenceType": "boolean", "preferenceValue": false } }, "ratio": 50, "slug": "disabled" } ], "experimentDocumentUrl": "https://experimenter.services.mozilla.com/experiments/webrender-intel-performance-70/", "slug": "pref-webrender-intel-performance-70-release-70-bug-1580917", "userFacingDescription": "This is to study the performance of WebRender in Firefox 70.", "userFacingName": "WebRender Study", "isEnrollmentPaused": false }, "experimenter_slug": "webrender-intel-performance-70", "capabilities": [ "action.multi-preference-experiment", "jexl.transform.versionCompare", "capabilities-v1", "jexl.transform.bucketSample", "jexl.context.env.version" ], "comment": "mass edit to fix isEnrollmentPaused missing", "creator": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "date_created": "2020-06-10T17:04:45.364584Z", "enabled_states": [], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "normandy.os.isWindows && \nnormandy.os.windowsVersion >= 10.0 && \nnormandy.telemetry.main.environment.system.gfx.features.wrQualified.status == \"available\" &&\nnormandy.telemetry.main.environment.system.gfx.adapters[0].vendorID == \"0x8086\" &&\n!normandy.telemetry.main.environment.system.gfx.monitors[1]", "filter_expression": "(normandy.channel in [\"release\"]) && ((env.version|versionCompare(\"70.!\")>=0)&&(env.version|versionCompare(\"70.*\")<0)) && ([\"webrender-70\",normandy.userId]|bucketSample(950,50,1000)) && (normandy.os.isWindows && \nnormandy.os.windowsVersion >= 10.0 && \nnormandy.telemetry.main.environment.system.gfx.features.wrQualified.status == \"available\" &&\nnormandy.telemetry.main.environment.system.gfx.adapters[0].vendorID == \"0x8086\" &&\n!normandy.telemetry.main.environment.system.gfx.monitors[1])", "filter_object": [ { "channels": [ "release" ], "type": "channel" }, { "versions": [ 70 ], "type": "version" }, { "count": 50, "input": [ "\"webrender-70\"", "normandy.userId" ], "start": 950, "total": 1000, "type": "bucketSample" } ], "id": 3142, "identicon_seed": "v1:8bwyktd1vjv", "metadata": {}, "name": "WebRender Intel Performance 70", "recipe": { "approved_revision_id": 3142, "id": 859, "latest_revision_id": 3142 }, "updated": "2020-06-10T17:04:45.364880Z" }, "id": 859, "latest_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Run a feature experiment activated by a set of preferences.", "type": "object", "required": [ "slug", "userFacingName", "userFacingDescription", "branches" ], "properties": { "slug": { "description": "Unique identifier for this experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "userFacingName": { "description": "User-facing name of the experiment", "type": "string", "minLength": 1 }, "userFacingDescription": { "description": "User-facing description of the experiment", "type": "string", "minLength": 1 }, "experimentDocumentUrl": { "description": "URL of a document describing the experiment", "type": "string", "format": "uri", "default": "" }, "isHighPopulation": { "description": "Marks the preference experiment as a high population experiment, that should be excluded from certain types of telemetry", "type": "boolean", "default": "false" }, "isEnrollmentPaused": { "description": "If true, new users will not be enrolled in the study.", "type": "boolean", "default": false }, "branches": { "description": "List of experimental branches", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "slug", "ratio", "preferences" ], "properties": { "slug": { "description": "Unique identifier for this branch of the experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "ratio": { "description": "Ratio of users who should be grouped into this branch", "type": "integer", "minimum": 1 }, "preferences": { "description": "The set of preferences to be set if this branch is chosen", "type": "object", "patternProperties": { ".*": { "type": "object", "properties": { "preferenceType": { "description": "Data type of the preference that controls this experiment", "type": "string", "enum": [ "string", "integer", "boolean" ] }, "preferenceBranchType": { "description": "Controls whether the default or user value of the preference is modified", "type": "string", "enum": [ "user", "default" ], "default": "default" }, "preferenceValue": { "description": "Value for this preference when this branch is chosen", "type": [ "string", "number", "boolean" ] } }, "required": [ "preferenceType", "preferenceBranchType", "preferenceValue" ] } } } } } } } }, "name": "multi-preference-experiment", "id": 9, "implementation_url": null }, "approval_request": { "approved": true, "approver": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "comment": "r+ to setting isEnrollmentPaused to false", "created": "2020-06-10T17:17:34.426659Z", "creator": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "id": 2144, "revision": { "id": 3142, "recipe_id": 859 } }, "arguments": { "branches": [ { "preferences": { "gfx.webrender.all.qualified": { "preferenceBranchType": "user", "preferenceType": "boolean", "preferenceValue": true } }, "ratio": 50, "slug": "enabled" }, { "preferences": { "gfx.webrender.all.qualified": { "preferenceBranchType": "user", "preferenceType": "boolean", "preferenceValue": false } }, "ratio": 50, "slug": "disabled" } ], "experimentDocumentUrl": "https://experimenter.services.mozilla.com/experiments/webrender-intel-performance-70/", "slug": "pref-webrender-intel-performance-70-release-70-bug-1580917", "userFacingDescription": "This is to study the performance of WebRender in Firefox 70.", "userFacingName": "WebRender Study", "isEnrollmentPaused": false }, "experimenter_slug": "webrender-intel-performance-70", "capabilities": [ "action.multi-preference-experiment", "jexl.transform.versionCompare", "capabilities-v1", "jexl.transform.bucketSample", "jexl.context.env.version" ], "comment": "mass edit to fix isEnrollmentPaused missing", "creator": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "date_created": "2020-06-10T17:04:45.364584Z", "enabled_states": [], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "normandy.os.isWindows && \nnormandy.os.windowsVersion >= 10.0 && \nnormandy.telemetry.main.environment.system.gfx.features.wrQualified.status == \"available\" &&\nnormandy.telemetry.main.environment.system.gfx.adapters[0].vendorID == \"0x8086\" &&\n!normandy.telemetry.main.environment.system.gfx.monitors[1]", "filter_expression": "(normandy.channel in [\"release\"]) && ((env.version|versionCompare(\"70.!\")>=0)&&(env.version|versionCompare(\"70.*\")<0)) && ([\"webrender-70\",normandy.userId]|bucketSample(950,50,1000)) && (normandy.os.isWindows && \nnormandy.os.windowsVersion >= 10.0 && \nnormandy.telemetry.main.environment.system.gfx.features.wrQualified.status == \"available\" &&\nnormandy.telemetry.main.environment.system.gfx.adapters[0].vendorID == \"0x8086\" &&\n!normandy.telemetry.main.environment.system.gfx.monitors[1])", "filter_object": [ { "channels": [ "release" ], "type": "channel" }, { "versions": [ 70 ], "type": "version" }, { "count": 50, "input": [ "\"webrender-70\"", "normandy.userId" ], "start": 950, "total": 1000, "type": "bucketSample" } ], "id": 3142, "identicon_seed": "v1:8bwyktd1vjv", "metadata": {}, "name": "WebRender Intel Performance 70", "recipe": { "approved_revision_id": 3142, "id": 859, "latest_revision_id": 3142 }, "updated": "2020-06-10T17:04:45.364880Z" }, "signature": null, "uses_only_baseline_capabilities": false }, { "approved_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Run a feature experiment activated by a set of preferences.", "type": "object", "required": [ "slug", "userFacingName", "userFacingDescription", "branches" ], "properties": { "slug": { "description": "Unique identifier for this experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "userFacingName": { "description": "User-facing name of the experiment", "type": "string", "minLength": 1 }, "userFacingDescription": { "description": "User-facing description of the experiment", "type": "string", "minLength": 1 }, "experimentDocumentUrl": { "description": "URL of a document describing the experiment", "type": "string", "format": "uri", "default": "" }, "isHighPopulation": { "description": "Marks the preference experiment as a high population experiment, that should be excluded from certain types of telemetry", "type": "boolean", "default": "false" }, "isEnrollmentPaused": { "description": "If true, new users will not be enrolled in the study.", "type": "boolean", "default": false }, "branches": { "description": "List of experimental branches", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "slug", "ratio", "preferences" ], "properties": { "slug": { "description": "Unique identifier for this branch of the experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "ratio": { "description": "Ratio of users who should be grouped into this branch", "type": "integer", "minimum": 1 }, "preferences": { "description": "The set of preferences to be set if this branch is chosen", "type": "object", "patternProperties": { ".*": { "type": "object", "properties": { "preferenceType": { "description": "Data type of the preference that controls this experiment", "type": "string", "enum": [ "string", "integer", "boolean" ] }, "preferenceBranchType": { "description": "Controls whether the default or user value of the preference is modified", "type": "string", "enum": [ "user", "default" ], "default": "default" }, "preferenceValue": { "description": "Value for this preference when this branch is chosen", "type": [ "string", "number", "boolean" ] } }, "required": [ "preferenceType", "preferenceBranchType", "preferenceValue" ] } } } } } } } }, "name": "multi-preference-experiment", "id": 9, "implementation_url": null }, "approval_request": { "approved": true, "approver": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "comment": "r+", "created": "2020-06-09T16:36:32.426914Z", "creator": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "id": 2128, "revision": { "id": 3122, "recipe_id": 930 } }, "arguments": { "branches": [ { "preferences": { "gfx.webrender.all.qualified": { "preferenceBranchType": "user", "preferenceType": "boolean", "preferenceValue": true } }, "ratio": 50, "slug": "enabled" }, { "preferences": { "gfx.webrender.all.qualified": { "preferenceBranchType": "user", "preferenceType": "boolean", "preferenceValue": false } }, "ratio": 50, "slug": "disabled" } ], "experimentDocumentUrl": "https://experimenter.services.mozilla.com/experiments/webrender-continued-v2-nightly-only/", "isEnrollmentPaused": false, "isHighVolume": false, "slug": "bug-1622934-pref-webrender-continued-v2-nightly-only-nightly-76-80", "userFacingDescription": "We want to see the performance effects (good and bad) of webrender on nightly profiles.", "userFacingName": "WebRender Continued: v2 (Nightly Only)" }, "experimenter_slug": "webrender-continued-v2-nightly-only", "capabilities": [ "action.multi-preference-experiment", "jexl.transform.versionCompare", "capabilities-v1", "jexl.transform.bucketSample", "jexl.context.env.version" ], "comment": "Extend to Firefox 89", "creator": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "date_created": "2020-06-09T16:36:26.804261Z", "enabled_states": [ { "id": 2084, "created": "2021-03-16T18:48:34.589040Z", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 1622, "created": "2020-06-09T16:39:34.401133Z", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "enabled": true, "carryover_from": 1493 } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "normandy.telemetry.main.environment.system.gfx.features.wrQualified.status == \"available\" &&\nnormandy.telemetry.main.environment.system.gfx.adapters[0].vendorID == \"0x8086\" &&\nnormandy.os.isWindows && \nnormandy.os.windowsVersion == 10.0", "filter_expression": "(normandy.channel in [\"nightly\"]) && ([\"global-v2\",normandy.userId]|bucketSample(2851,4500,10000)) && ((env.version|versionCompare(\"76.!\")>=0)&&(env.version|versionCompare(\"89.*\")<0)) && (normandy.telemetry.main.environment.system.gfx.features.wrQualified.status == \"available\" &&\nnormandy.telemetry.main.environment.system.gfx.adapters[0].vendorID == \"0x8086\" &&\nnormandy.os.isWindows && \nnormandy.os.windowsVersion == 10.0)", "filter_object": [ { "channels": [ "nightly" ], "type": "channel" }, { "count": 4500, "input": [ "\"global-v2\"", "normandy.userId" ], "start": 2851, "total": 10000, "type": "bucketSample" }, { "type": "version", "versions": [ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89 ] } ], "id": 3122, "identicon_seed": "v1:owjzsddj79m", "metadata": {}, "name": "WebRender Continued: v2 (Nightly Only)", "recipe": { "approved_revision_id": 3122, "id": 930, "latest_revision_id": 3122 }, "updated": "2021-03-16T18:48:34.792823Z" }, "id": 930, "latest_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Run a feature experiment activated by a set of preferences.", "type": "object", "required": [ "slug", "userFacingName", "userFacingDescription", "branches" ], "properties": { "slug": { "description": "Unique identifier for this experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "userFacingName": { "description": "User-facing name of the experiment", "type": "string", "minLength": 1 }, "userFacingDescription": { "description": "User-facing description of the experiment", "type": "string", "minLength": 1 }, "experimentDocumentUrl": { "description": "URL of a document describing the experiment", "type": "string", "format": "uri", "default": "" }, "isHighPopulation": { "description": "Marks the preference experiment as a high population experiment, that should be excluded from certain types of telemetry", "type": "boolean", "default": "false" }, "isEnrollmentPaused": { "description": "If true, new users will not be enrolled in the study.", "type": "boolean", "default": false }, "branches": { "description": "List of experimental branches", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "slug", "ratio", "preferences" ], "properties": { "slug": { "description": "Unique identifier for this branch of the experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "ratio": { "description": "Ratio of users who should be grouped into this branch", "type": "integer", "minimum": 1 }, "preferences": { "description": "The set of preferences to be set if this branch is chosen", "type": "object", "patternProperties": { ".*": { "type": "object", "properties": { "preferenceType": { "description": "Data type of the preference that controls this experiment", "type": "string", "enum": [ "string", "integer", "boolean" ] }, "preferenceBranchType": { "description": "Controls whether the default or user value of the preference is modified", "type": "string", "enum": [ "user", "default" ], "default": "default" }, "preferenceValue": { "description": "Value for this preference when this branch is chosen", "type": [ "string", "number", "boolean" ] } }, "required": [ "preferenceType", "preferenceBranchType", "preferenceValue" ] } } } } } } } }, "name": "multi-preference-experiment", "id": 9, "implementation_url": null }, "approval_request": { "approved": true, "approver": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "comment": "r+", "created": "2020-06-09T16:36:32.426914Z", "creator": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "id": 2128, "revision": { "id": 3122, "recipe_id": 930 } }, "arguments": { "branches": [ { "preferences": { "gfx.webrender.all.qualified": { "preferenceBranchType": "user", "preferenceType": "boolean", "preferenceValue": true } }, "ratio": 50, "slug": "enabled" }, { "preferences": { "gfx.webrender.all.qualified": { "preferenceBranchType": "user", "preferenceType": "boolean", "preferenceValue": false } }, "ratio": 50, "slug": "disabled" } ], "experimentDocumentUrl": "https://experimenter.services.mozilla.com/experiments/webrender-continued-v2-nightly-only/", "isEnrollmentPaused": false, "isHighVolume": false, "slug": "bug-1622934-pref-webrender-continued-v2-nightly-only-nightly-76-80", "userFacingDescription": "We want to see the performance effects (good and bad) of webrender on nightly profiles.", "userFacingName": "WebRender Continued: v2 (Nightly Only)" }, "experimenter_slug": "webrender-continued-v2-nightly-only", "capabilities": [ "action.multi-preference-experiment", "jexl.transform.versionCompare", "capabilities-v1", "jexl.transform.bucketSample", "jexl.context.env.version" ], "comment": "Extend to Firefox 89", "creator": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "date_created": "2020-06-09T16:36:26.804261Z", "enabled_states": [ { "id": 2084, "created": "2021-03-16T18:48:34.589040Z", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 1622, "created": "2020-06-09T16:39:34.401133Z", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "enabled": true, "carryover_from": 1493 } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "normandy.telemetry.main.environment.system.gfx.features.wrQualified.status == \"available\" &&\nnormandy.telemetry.main.environment.system.gfx.adapters[0].vendorID == \"0x8086\" &&\nnormandy.os.isWindows && \nnormandy.os.windowsVersion == 10.0", "filter_expression": "(normandy.channel in [\"nightly\"]) && ([\"global-v2\",normandy.userId]|bucketSample(2851,4500,10000)) && ((env.version|versionCompare(\"76.!\")>=0)&&(env.version|versionCompare(\"89.*\")<0)) && (normandy.telemetry.main.environment.system.gfx.features.wrQualified.status == \"available\" &&\nnormandy.telemetry.main.environment.system.gfx.adapters[0].vendorID == \"0x8086\" &&\nnormandy.os.isWindows && \nnormandy.os.windowsVersion == 10.0)", "filter_object": [ { "channels": [ "nightly" ], "type": "channel" }, { "count": 4500, "input": [ "\"global-v2\"", "normandy.userId" ], "start": 2851, "total": 10000, "type": "bucketSample" }, { "type": "version", "versions": [ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89 ] } ], "id": 3122, "identicon_seed": "v1:owjzsddj79m", "metadata": {}, "name": "WebRender Continued: v2 (Nightly Only)", "recipe": { "approved_revision_id": 3122, "id": 930, "latest_revision_id": 3122 }, "updated": "2021-03-16T18:48:34.792823Z" }, "signature": null, "uses_only_baseline_capabilities": false }, { "approved_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Run a feature experiment activated by a preference.", "type": "object", "required": [ "slug", "preferenceName", "preferenceType", "branches" ], "properties": { "slug": { "description": "Unique identifier for this experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "experimentDocumentUrl": { "description": "URL of a document describing the experiment", "type": "string", "format": "uri", "default": "" }, "preferenceName": { "description": "Full dotted-path of the preference that controls this experiment", "type": "string" }, "preferenceType": { "description": "Data type of the preference that controls this experiment", "type": "string", "enum": [ "string", "integer", "boolean" ] }, "preferenceBranchType": { "description": "Controls whether the default or user value of the preference is modified", "type": "string", "enum": [ "user", "default" ], "default": "default" }, "isHighPopulation": { "description": "Marks the preference experiment as a high population experiment, that should be excluded from certain types of telemetry", "type": "boolean", "default": "false" }, "isEnrollmentPaused": { "description": "If true, new users will not be enrolled in the study.", "type": "boolean", "default": false }, "branches": { "description": "List of experimental branches", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "slug", "value", "ratio" ], "properties": { "slug": { "description": "Unique identifier for this branch of the experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "value": { "description": "Value to set the preference to for this branch", "type": [ "string", "number", "boolean" ] }, "ratio": { "description": "Ratio of users who should be grouped into this branch", "type": "integer", "minimum": 1 } } } } } }, "name": "preference-experiment", "id": 3, "implementation_url": "https://normandy.cdn.mozilla.net/api/v1/action/preference-experiment/implementation/sha384-o1w_DJcXVnm6ppFcrPr78-Q32ZVXgi6lfYm9wUS3JBj5466SxrFpXaFt_KgJC87O/" }, "approval_request": { "approved": true, "approver": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "comment": "r+", "created": "2019-07-23T15:23:14.980023Z", "creator": { "id": 6, "first_name": "Josh", "last_name": "Gaunt", "email": "jgaunt@mozilla.com" }, "id": 1765, "revision": { "id": 2662, "recipe_id": 819 } }, "arguments": { "preferenceBranchType": "user", "slug": "pref-webrender-amd-performance-68-release-68-0-bug-1558614", "experimentDocumentUrl": "https://experimenter.services.mozilla.com/experiments/webrender-amd-performance-68/", "isHighVolume": false, "preferenceName": "gfx.webrender.all.qualified", "preferenceType": "boolean", "isEnrollmentPaused": true, "branches": [ { "ratio": 1, "slug": "enabled", "value": true }, { "ratio": 1, "slug": "gfxwebrenderallqualified-false", "value": false } ] }, "experimenter_slug": null, "capabilities": [ "action.preference-experiment", "jexl.transform.bucketSample" ], "comment": "", "creator": { "id": 6, "first_name": "Josh", "last_name": "Gaunt", "email": "jgaunt@mozilla.com" }, "date_created": "2019-07-23T15:22:53.252703Z", "enabled_states": [ { "id": 1135, "created": "2019-08-13T16:32:46.653357Z", "creator": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 1108, "created": "2019-07-23T15:24:21.087804Z", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "enabled": true, "carryover_from": 1105 } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "normandy.os.isWindows && \nnormandy.os.windowsVersion >= 10.0 && \nnormandy.telemetry.main.environment.system.gfx.features.wrQualified.status == \"available\" &&\nnormandy.telemetry.main.environment.system.gfx.adapters[0].vendorID == \"0x1002\"", "filter_expression": "(normandy.channel in [\"release\"]) && ([\"webrender-2\",normandy.userId]|bucketSample(0,3000,10000)) && (normandy.os.isWindows && \nnormandy.os.windowsVersion >= 10.0 && \nnormandy.telemetry.main.environment.system.gfx.features.wrQualified.status == \"available\" &&\nnormandy.telemetry.main.environment.system.gfx.adapters[0].vendorID == \"0x1002\")", "filter_object": [ { "channels": [ "release" ], "type": "channel" }, { "count": 3000, "input": [ "\"webrender-2\"", "normandy.userId" ], "start": 0, "total": 10000, "type": "bucketSample" } ], "id": 2662, "identicon_seed": "v1:bt8buh6256", "metadata": {}, "name": "WebRender AMD Performance 68", "recipe": { "approved_revision_id": 2662, "id": 819, "latest_revision_id": 2662 }, "updated": "2019-08-13T16:32:46.974485Z" }, "id": 819, "latest_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Run a feature experiment activated by a preference.", "type": "object", "required": [ "slug", "preferenceName", "preferenceType", "branches" ], "properties": { "slug": { "description": "Unique identifier for this experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "experimentDocumentUrl": { "description": "URL of a document describing the experiment", "type": "string", "format": "uri", "default": "" }, "preferenceName": { "description": "Full dotted-path of the preference that controls this experiment", "type": "string" }, "preferenceType": { "description": "Data type of the preference that controls this experiment", "type": "string", "enum": [ "string", "integer", "boolean" ] }, "preferenceBranchType": { "description": "Controls whether the default or user value of the preference is modified", "type": "string", "enum": [ "user", "default" ], "default": "default" }, "isHighPopulation": { "description": "Marks the preference experiment as a high population experiment, that should be excluded from certain types of telemetry", "type": "boolean", "default": "false" }, "isEnrollmentPaused": { "description": "If true, new users will not be enrolled in the study.", "type": "boolean", "default": false }, "branches": { "description": "List of experimental branches", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "slug", "value", "ratio" ], "properties": { "slug": { "description": "Unique identifier for this branch of the experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "value": { "description": "Value to set the preference to for this branch", "type": [ "string", "number", "boolean" ] }, "ratio": { "description": "Ratio of users who should be grouped into this branch", "type": "integer", "minimum": 1 } } } } } }, "name": "preference-experiment", "id": 3, "implementation_url": "https://normandy.cdn.mozilla.net/api/v1/action/preference-experiment/implementation/sha384-o1w_DJcXVnm6ppFcrPr78-Q32ZVXgi6lfYm9wUS3JBj5466SxrFpXaFt_KgJC87O/" }, "approval_request": { "approved": true, "approver": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "comment": "r+", "created": "2019-07-23T15:23:14.980023Z", "creator": { "id": 6, "first_name": "Josh", "last_name": "Gaunt", "email": "jgaunt@mozilla.com" }, "id": 1765, "revision": { "id": 2662, "recipe_id": 819 } }, "arguments": { "preferenceBranchType": "user", "slug": "pref-webrender-amd-performance-68-release-68-0-bug-1558614", "experimentDocumentUrl": "https://experimenter.services.mozilla.com/experiments/webrender-amd-performance-68/", "isHighVolume": false, "preferenceName": "gfx.webrender.all.qualified", "preferenceType": "boolean", "isEnrollmentPaused": true, "branches": [ { "ratio": 1, "slug": "enabled", "value": true }, { "ratio": 1, "slug": "gfxwebrenderallqualified-false", "value": false } ] }, "experimenter_slug": null, "capabilities": [ "action.preference-experiment", "jexl.transform.bucketSample" ], "comment": "", "creator": { "id": 6, "first_name": "Josh", "last_name": "Gaunt", "email": "jgaunt@mozilla.com" }, "date_created": "2019-07-23T15:22:53.252703Z", "enabled_states": [ { "id": 1135, "created": "2019-08-13T16:32:46.653357Z", "creator": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 1108, "created": "2019-07-23T15:24:21.087804Z", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "enabled": true, "carryover_from": 1105 } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "normandy.os.isWindows && \nnormandy.os.windowsVersion >= 10.0 && \nnormandy.telemetry.main.environment.system.gfx.features.wrQualified.status == \"available\" &&\nnormandy.telemetry.main.environment.system.gfx.adapters[0].vendorID == \"0x1002\"", "filter_expression": "(normandy.channel in [\"release\"]) && ([\"webrender-2\",normandy.userId]|bucketSample(0,3000,10000)) && (normandy.os.isWindows && \nnormandy.os.windowsVersion >= 10.0 && \nnormandy.telemetry.main.environment.system.gfx.features.wrQualified.status == \"available\" &&\nnormandy.telemetry.main.environment.system.gfx.adapters[0].vendorID == \"0x1002\")", "filter_object": [ { "channels": [ "release" ], "type": "channel" }, { "count": 3000, "input": [ "\"webrender-2\"", "normandy.userId" ], "start": 0, "total": 10000, "type": "bucketSample" } ], "id": 2662, "identicon_seed": "v1:bt8buh6256", "metadata": {}, "name": "WebRender AMD Performance 68", "recipe": { "approved_revision_id": 2662, "id": 819, "latest_revision_id": 2662 }, "updated": "2019-08-13T16:32:46.974485Z" }, "signature": null, "uses_only_baseline_capabilities": true }, { "approved_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Run a feature experiment activated by a set of preferences.", "type": "object", "required": [ "slug", "userFacingName", "userFacingDescription", "branches" ], "properties": { "slug": { "description": "Unique identifier for this experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "userFacingName": { "description": "User-facing name of the experiment", "type": "string", "minLength": 1 }, "userFacingDescription": { "description": "User-facing description of the experiment", "type": "string", "minLength": 1 }, "experimentDocumentUrl": { "description": "URL of a document describing the experiment", "type": "string", "format": "uri", "default": "" }, "isHighPopulation": { "description": "Marks the preference experiment as a high population experiment, that should be excluded from certain types of telemetry", "type": "boolean", "default": "false" }, "isEnrollmentPaused": { "description": "If true, new users will not be enrolled in the study.", "type": "boolean", "default": false }, "branches": { "description": "List of experimental branches", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "slug", "ratio", "preferences" ], "properties": { "slug": { "description": "Unique identifier for this branch of the experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "ratio": { "description": "Ratio of users who should be grouped into this branch", "type": "integer", "minimum": 1 }, "preferences": { "description": "The set of preferences to be set if this branch is chosen", "type": "object", "patternProperties": { ".*": { "type": "object", "properties": { "preferenceType": { "description": "Data type of the preference that controls this experiment", "type": "string", "enum": [ "string", "integer", "boolean" ] }, "preferenceBranchType": { "description": "Controls whether the default or user value of the preference is modified", "type": "string", "enum": [ "user", "default" ], "default": "default" }, "preferenceValue": { "description": "Value for this preference when this branch is chosen", "type": [ "string", "number", "boolean" ] } }, "required": [ "preferenceType", "preferenceBranchType", "preferenceValue" ] } } } } } } } }, "name": "multi-preference-experiment", "id": 9, "implementation_url": null }, "approval_request": { "approved": true, "approver": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "comment": "r+ to pause", "created": "2020-12-08T17:35:15.929045Z", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "id": 2411, "revision": { "id": 3453, "recipe_id": 1097 } }, "arguments": { "branches": [ { "preferences": { "javascript.options.ion.threshold": { "preferenceBranchType": "default", "preferenceType": "integer", "preferenceValue": 1000 }, "javascript.options.warp": { "preferenceBranchType": "default", "preferenceType": "boolean", "preferenceValue": false } }, "ratio": 50, "slug": "warp-disabled" }, { "preferences": { "javascript.options.ion.threshold": { "preferenceBranchType": "default", "preferenceType": "integer", "preferenceValue": 1500 }, "javascript.options.warp": { "preferenceBranchType": "default", "preferenceType": "boolean", "preferenceValue": true } }, "ratio": 50, "slug": "warp-enabled" } ], "experimentDocumentUrl": "https://experimenter.services.mozilla.com/experiments/warpbuilder-experiment/", "isEnrollmentPaused": true, "slug": "bug-1676470-pref-warpbuilder-experiment-release-83-83", "userFacingDescription": "Mozilla is gathering data on the improvements or regressions caused by the Warpbuilder enhancement. This data will be used to verify whether an observable improvement can be measured in telemetry and to match with local CI results to verify accuracy of those tests.", "userFacingName": "Warpbuilder Experiment" }, "experimenter_slug": "warpbuilder-experiment", "capabilities": [ "action.multi-preference-experiment", "jexl.transform.versionCompare", "capabilities-v1", "jexl.transform.bucketSample", "jexl.context.env.version" ], "comment": "pausing", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "date_created": "2020-12-08T17:35:13.984539Z", "enabled_states": [ { "id": 1978, "created": "2020-12-15T19:03:40.279503Z", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 1974, "created": "2020-12-08T17:37:38.284287Z", "creator": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "enabled": true, "carryover_from": 1964 } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "", "filter_expression": "(normandy.channel in [\"release\"]) && ((env.version|versionCompare(\"83.!\")>=0)&&(env.version|versionCompare(\"83.*\")<0)) && (normandy.country in [\"CA\",\"FR\",\"DE\",\"US\"]) && ([normandy.userId,\"global-v4\"]|bucketSample(7520,100,10000))", "filter_object": [ { "channels": [ "release" ], "type": "channel" }, { "type": "version", "versions": [ 83 ] }, { "countries": [ "CA", "FR", "DE", "US" ], "type": "country" }, { "count": 100, "input": [ "normandy.userId", "\"global-v4\"" ], "start": 7520, "total": 10000, "type": "bucketSample" } ], "id": 3453, "identicon_seed": "v1:nOzmWWXEqILG", "metadata": {}, "name": "Warpbuilder Experiment", "recipe": { "approved_revision_id": 3453, "id": 1097, "latest_revision_id": 3453 }, "updated": "2020-12-15T19:03:40.541003Z" }, "id": 1097, "latest_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Run a feature experiment activated by a set of preferences.", "type": "object", "required": [ "slug", "userFacingName", "userFacingDescription", "branches" ], "properties": { "slug": { "description": "Unique identifier for this experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "userFacingName": { "description": "User-facing name of the experiment", "type": "string", "minLength": 1 }, "userFacingDescription": { "description": "User-facing description of the experiment", "type": "string", "minLength": 1 }, "experimentDocumentUrl": { "description": "URL of a document describing the experiment", "type": "string", "format": "uri", "default": "" }, "isHighPopulation": { "description": "Marks the preference experiment as a high population experiment, that should be excluded from certain types of telemetry", "type": "boolean", "default": "false" }, "isEnrollmentPaused": { "description": "If true, new users will not be enrolled in the study.", "type": "boolean", "default": false }, "branches": { "description": "List of experimental branches", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "slug", "ratio", "preferences" ], "properties": { "slug": { "description": "Unique identifier for this branch of the experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "ratio": { "description": "Ratio of users who should be grouped into this branch", "type": "integer", "minimum": 1 }, "preferences": { "description": "The set of preferences to be set if this branch is chosen", "type": "object", "patternProperties": { ".*": { "type": "object", "properties": { "preferenceType": { "description": "Data type of the preference that controls this experiment", "type": "string", "enum": [ "string", "integer", "boolean" ] }, "preferenceBranchType": { "description": "Controls whether the default or user value of the preference is modified", "type": "string", "enum": [ "user", "default" ], "default": "default" }, "preferenceValue": { "description": "Value for this preference when this branch is chosen", "type": [ "string", "number", "boolean" ] } }, "required": [ "preferenceType", "preferenceBranchType", "preferenceValue" ] } } } } } } } }, "name": "multi-preference-experiment", "id": 9, "implementation_url": null }, "approval_request": { "approved": true, "approver": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "comment": "r+ to pause", "created": "2020-12-08T17:35:15.929045Z", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "id": 2411, "revision": { "id": 3453, "recipe_id": 1097 } }, "arguments": { "branches": [ { "preferences": { "javascript.options.ion.threshold": { "preferenceBranchType": "default", "preferenceType": "integer", "preferenceValue": 1000 }, "javascript.options.warp": { "preferenceBranchType": "default", "preferenceType": "boolean", "preferenceValue": false } }, "ratio": 50, "slug": "warp-disabled" }, { "preferences": { "javascript.options.ion.threshold": { "preferenceBranchType": "default", "preferenceType": "integer", "preferenceValue": 1500 }, "javascript.options.warp": { "preferenceBranchType": "default", "preferenceType": "boolean", "preferenceValue": true } }, "ratio": 50, "slug": "warp-enabled" } ], "experimentDocumentUrl": "https://experimenter.services.mozilla.com/experiments/warpbuilder-experiment/", "isEnrollmentPaused": true, "slug": "bug-1676470-pref-warpbuilder-experiment-release-83-83", "userFacingDescription": "Mozilla is gathering data on the improvements or regressions caused by the Warpbuilder enhancement. This data will be used to verify whether an observable improvement can be measured in telemetry and to match with local CI results to verify accuracy of those tests.", "userFacingName": "Warpbuilder Experiment" }, "experimenter_slug": "warpbuilder-experiment", "capabilities": [ "action.multi-preference-experiment", "jexl.transform.versionCompare", "capabilities-v1", "jexl.transform.bucketSample", "jexl.context.env.version" ], "comment": "pausing", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "date_created": "2020-12-08T17:35:13.984539Z", "enabled_states": [ { "id": 1978, "created": "2020-12-15T19:03:40.279503Z", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 1974, "created": "2020-12-08T17:37:38.284287Z", "creator": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "enabled": true, "carryover_from": 1964 } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "", "filter_expression": "(normandy.channel in [\"release\"]) && ((env.version|versionCompare(\"83.!\")>=0)&&(env.version|versionCompare(\"83.*\")<0)) && (normandy.country in [\"CA\",\"FR\",\"DE\",\"US\"]) && ([normandy.userId,\"global-v4\"]|bucketSample(7520,100,10000))", "filter_object": [ { "channels": [ "release" ], "type": "channel" }, { "type": "version", "versions": [ 83 ] }, { "countries": [ "CA", "FR", "DE", "US" ], "type": "country" }, { "count": 100, "input": [ "normandy.userId", "\"global-v4\"" ], "start": 7520, "total": 10000, "type": "bucketSample" } ], "id": 3453, "identicon_seed": "v1:nOzmWWXEqILG", "metadata": {}, "name": "Warpbuilder Experiment", "recipe": { "approved_revision_id": 3453, "id": 1097, "latest_revision_id": 3453 }, "updated": "2020-12-15T19:03:40.541003Z" }, "signature": null, "uses_only_baseline_capabilities": false }, { "approved_revision": null, "id": 320, "latest_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Show a Heartbeat survey.", "description": "This action shows a single survey.", "type": "object", "required": [ "surveyId", "message", "thanksMessage", "postAnswerUrl", "learnMoreMessage", "learnMoreUrl" ], "properties": { "repeatOption": { "type": "string", "enum": [ "once", "xdays", "nag" ], "description": "Determines how often a prompt is shown executes.", "default": "once" }, "repeatEvery": { "description": "For repeatOption=xdays, how often (in days) the prompt is displayed.", "default": null, "type": [ "number", "null" ] }, "includeTelemetryUUID": { "type": "boolean", "description": "Include unique user ID in post-answer-url and Telemetry", "default": false }, "surveyId": { "type": "string", "description": "Slug uniquely identifying this survey in telemetry" }, "message": { "description": "Message to show to the user", "type": "string" }, "engagementButtonLabel": { "description": "Text for the engagement button. If specified, this button will be shown instead of rating stars.", "default": null, "type": [ "string", "null" ] }, "thanksMessage": { "description": "Thanks message to show to the user after they've rated Firefox", "type": "string" }, "postAnswerUrl": { "description": "URL to redirect the user to after rating Firefox or clicking the engagement button", "default": null, "type": [ "string", "null" ] }, "learnMoreMessage": { "description": "Message to show to the user to learn more", "default": null, "type": [ "string", "null" ] }, "learnMoreUrl": { "description": "URL to show to the user when they click Learn More", "default": null, "type": [ "string", "null" ] } } }, "name": "show-heartbeat", "id": 2, "implementation_url": "https://normandy.cdn.mozilla.net/api/v1/action/show-heartbeat/implementation/sha384-VTOdZHFMo1LOw0JWf6_jAGBb9r5sBbb7BQrmI8n3wy3oVO3ywb1g3ulD1BagmaMA/" }, "approval_request": { "approved": true, "approver": { "id": 6, "first_name": "Josh", "last_name": "Gaunt", "email": "jgaunt@mozilla.com" }, "comment": "approved for .01% of release in en locales", "created": "2017-10-24T16:34:59.943126Z", "creator": { "id": 10, "first_name": "Tyler", "last_name": "Downer", "email": "tdowner@mozilla.com" }, "id": 432, "revision": { "id": 422, "recipe_id": 320 } }, "arguments": { "surveyId": "VPNAssumptions", "message": "Help us make Firefox better by filling out this short survey", "learnMoreMessage": "Learn More", "learnMoreUrl": "https://wiki.mozilla.org/Firefox/Shield/Heartbeat", "engagementButtonLabel": "Take Survey", "thanksMessage": "Thank you!", "postAnswerUrl": "https://qsurvey.mozilla.com/s3/VPN-Assumptions?source=HB", "includeTelemetryUUID": false, "repeatOption": "once" }, "experimenter_slug": null, "capabilities": [ "action.show-heartbeat" ], "comment": "", "creator": null, "date_created": "2017-10-24T16:34:53.564076Z", "enabled_states": [], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "(\n [normandy.userId]|bucketSample(881, 1, 1000)\n && normandy.locale in ['en-US', 'en-AU', 'en-CA', 'en-GB', 'en-NZ', 'en-ZA']\n && normandy.channel == 'release'\n)", "filter_expression": "(\n [normandy.userId]|bucketSample(881, 1, 1000)\n && normandy.locale in ['en-US', 'en-AU', 'en-CA', 'en-GB', 'en-NZ', 'en-ZA']\n && normandy.channel == 'release'\n)", "filter_object": [], "id": 422, "identicon_seed": "v1:214", "metadata": {}, "name": "VPN Assumptions Test", "recipe": { "approved_revision_id": null, "id": 320, "latest_revision_id": 422 }, "updated": "2017-10-24T16:34:53.570252Z" }, "signature": null, "uses_only_baseline_capabilities": true }, { "approved_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Run a feature experiment activated by a set of preferences.", "type": "object", "required": [ "slug", "userFacingName", "userFacingDescription", "branches" ], "properties": { "slug": { "description": "Unique identifier for this experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "userFacingName": { "description": "User-facing name of the experiment", "type": "string", "minLength": 1 }, "userFacingDescription": { "description": "User-facing description of the experiment", "type": "string", "minLength": 1 }, "experimentDocumentUrl": { "description": "URL of a document describing the experiment", "type": "string", "format": "uri", "default": "" }, "isHighPopulation": { "description": "Marks the preference experiment as a high population experiment, that should be excluded from certain types of telemetry", "type": "boolean", "default": "false" }, "isEnrollmentPaused": { "description": "If true, new users will not be enrolled in the study.", "type": "boolean", "default": false }, "branches": { "description": "List of experimental branches", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "slug", "ratio", "preferences" ], "properties": { "slug": { "description": "Unique identifier for this branch of the experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "ratio": { "description": "Ratio of users who should be grouped into this branch", "type": "integer", "minimum": 1 }, "preferences": { "description": "The set of preferences to be set if this branch is chosen", "type": "object", "patternProperties": { ".*": { "type": "object", "properties": { "preferenceType": { "description": "Data type of the preference that controls this experiment", "type": "string", "enum": [ "string", "integer", "boolean" ] }, "preferenceBranchType": { "description": "Controls whether the default or user value of the preference is modified", "type": "string", "enum": [ "user", "default" ], "default": "default" }, "preferenceValue": { "description": "Value for this preference when this branch is chosen", "type": [ "string", "number", "boolean" ] } }, "required": [ "preferenceType", "preferenceBranchType", "preferenceValue" ] } } } } } } } }, "name": "multi-preference-experiment", "id": 9, "implementation_url": null }, "approval_request": { "approved": true, "approver": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "comment": "r+", "created": "2020-10-27T16:18:54.763510Z", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "id": 2357, "revision": { "id": 3390, "recipe_id": 1073 } }, "arguments": { "branches": [ { "preferences": { "geo.provider.network.compare.dummyurl.dummy": { "preferenceBranchType": "default", "preferenceType": "integer", "preferenceValue": 1 } }, "ratio": 50, "slug": "control" }, { "preferences": { "geo.provider.network.compare.url": { "preferenceBranchType": "default", "preferenceType": "string", "preferenceValue": "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%" } }, "ratio": 50, "slug": "treatment" } ], "experimentDocumentUrl": "https://experimenter.services.mozilla.com/experiments/verify-changing-location-service-providers-still-gives-accurate-results-v2/", "isEnrollmentPaused": true, "slug": "bug-1669364-pref-verify-changing-location-service-providers-still-release-82-83", "userFacingDescription": "Verify changing location service providers still gives accurate results.", "userFacingName": "Verify changing location service providers still gives accurate results. V2" }, "experimenter_slug": "verify-changing-location-service-providers-still-gives-accurate-results-v2", "capabilities": [ "action.multi-preference-experiment", "jexl.transform.versionCompare", "capabilities-v1", "jexl.transform.bucketSample", "jexl.context.env.version" ], "comment": "pausing recipe", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "date_created": "2020-10-27T16:18:51.298482Z", "enabled_states": [ { "id": 1961, "created": "2020-12-01T17:35:05.057354Z", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 1909, "created": "2020-10-27T16:25:46.869124Z", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "enabled": true, "carryover_from": 1895 } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "", "filter_expression": "(normandy.channel in [\"release\"]) && ((env.version|versionCompare(\"82.!\")>=0)&&(env.version|versionCompare(\"83.*\")<0)) && ([normandy.userId,\"global-v4\"]|bucketSample(5650,100,10000))", "filter_object": [ { "channels": [ "release" ], "type": "channel" }, { "type": "version", "versions": [ 82, 83 ] }, { "count": 100, "input": [ "normandy.userId", "\"global-v4\"" ], "start": 5650, "total": 10000, "type": "bucketSample" } ], "id": 3390, "identicon_seed": "v1:PiwsfrzNAKoP", "metadata": {}, "name": "Verify changing location service providers still gives accurate results. V2", "recipe": { "approved_revision_id": 3390, "id": 1073, "latest_revision_id": 3390 }, "updated": "2020-12-01T17:35:05.220999Z" }, "id": 1073, "latest_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Run a feature experiment activated by a set of preferences.", "type": "object", "required": [ "slug", "userFacingName", "userFacingDescription", "branches" ], "properties": { "slug": { "description": "Unique identifier for this experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "userFacingName": { "description": "User-facing name of the experiment", "type": "string", "minLength": 1 }, "userFacingDescription": { "description": "User-facing description of the experiment", "type": "string", "minLength": 1 }, "experimentDocumentUrl": { "description": "URL of a document describing the experiment", "type": "string", "format": "uri", "default": "" }, "isHighPopulation": { "description": "Marks the preference experiment as a high population experiment, that should be excluded from certain types of telemetry", "type": "boolean", "default": "false" }, "isEnrollmentPaused": { "description": "If true, new users will not be enrolled in the study.", "type": "boolean", "default": false }, "branches": { "description": "List of experimental branches", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "slug", "ratio", "preferences" ], "properties": { "slug": { "description": "Unique identifier for this branch of the experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "ratio": { "description": "Ratio of users who should be grouped into this branch", "type": "integer", "minimum": 1 }, "preferences": { "description": "The set of preferences to be set if this branch is chosen", "type": "object", "patternProperties": { ".*": { "type": "object", "properties": { "preferenceType": { "description": "Data type of the preference that controls this experiment", "type": "string", "enum": [ "string", "integer", "boolean" ] }, "preferenceBranchType": { "description": "Controls whether the default or user value of the preference is modified", "type": "string", "enum": [ "user", "default" ], "default": "default" }, "preferenceValue": { "description": "Value for this preference when this branch is chosen", "type": [ "string", "number", "boolean" ] } }, "required": [ "preferenceType", "preferenceBranchType", "preferenceValue" ] } } } } } } } }, "name": "multi-preference-experiment", "id": 9, "implementation_url": null }, "approval_request": { "approved": true, "approver": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "comment": "r+", "created": "2020-10-27T16:18:54.763510Z", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "id": 2357, "revision": { "id": 3390, "recipe_id": 1073 } }, "arguments": { "branches": [ { "preferences": { "geo.provider.network.compare.dummyurl.dummy": { "preferenceBranchType": "default", "preferenceType": "integer", "preferenceValue": 1 } }, "ratio": 50, "slug": "control" }, { "preferences": { "geo.provider.network.compare.url": { "preferenceBranchType": "default", "preferenceType": "string", "preferenceValue": "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%" } }, "ratio": 50, "slug": "treatment" } ], "experimentDocumentUrl": "https://experimenter.services.mozilla.com/experiments/verify-changing-location-service-providers-still-gives-accurate-results-v2/", "isEnrollmentPaused": true, "slug": "bug-1669364-pref-verify-changing-location-service-providers-still-release-82-83", "userFacingDescription": "Verify changing location service providers still gives accurate results.", "userFacingName": "Verify changing location service providers still gives accurate results. V2" }, "experimenter_slug": "verify-changing-location-service-providers-still-gives-accurate-results-v2", "capabilities": [ "action.multi-preference-experiment", "jexl.transform.versionCompare", "capabilities-v1", "jexl.transform.bucketSample", "jexl.context.env.version" ], "comment": "pausing recipe", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "date_created": "2020-10-27T16:18:51.298482Z", "enabled_states": [ { "id": 1961, "created": "2020-12-01T17:35:05.057354Z", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 1909, "created": "2020-10-27T16:25:46.869124Z", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "enabled": true, "carryover_from": 1895 } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "", "filter_expression": "(normandy.channel in [\"release\"]) && ((env.version|versionCompare(\"82.!\")>=0)&&(env.version|versionCompare(\"83.*\")<0)) && ([normandy.userId,\"global-v4\"]|bucketSample(5650,100,10000))", "filter_object": [ { "channels": [ "release" ], "type": "channel" }, { "type": "version", "versions": [ 82, 83 ] }, { "count": 100, "input": [ "normandy.userId", "\"global-v4\"" ], "start": 5650, "total": 10000, "type": "bucketSample" } ], "id": 3390, "identicon_seed": "v1:PiwsfrzNAKoP", "metadata": {}, "name": "Verify changing location service providers still gives accurate results. V2", "recipe": { "approved_revision_id": 3390, "id": 1073, "latest_revision_id": 3390 }, "updated": "2020-12-01T17:35:05.220999Z" }, "signature": null, "uses_only_baseline_capabilities": false }, { "approved_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Run a feature experiment activated by a set of preferences.", "type": "object", "required": [ "slug", "userFacingName", "userFacingDescription", "branches" ], "properties": { "slug": { "description": "Unique identifier for this experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "userFacingName": { "description": "User-facing name of the experiment", "type": "string", "minLength": 1 }, "userFacingDescription": { "description": "User-facing description of the experiment", "type": "string", "minLength": 1 }, "experimentDocumentUrl": { "description": "URL of a document describing the experiment", "type": "string", "format": "uri", "default": "" }, "isHighPopulation": { "description": "Marks the preference experiment as a high population experiment, that should be excluded from certain types of telemetry", "type": "boolean", "default": "false" }, "isEnrollmentPaused": { "description": "If true, new users will not be enrolled in the study.", "type": "boolean", "default": false }, "branches": { "description": "List of experimental branches", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "slug", "ratio", "preferences" ], "properties": { "slug": { "description": "Unique identifier for this branch of the experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "ratio": { "description": "Ratio of users who should be grouped into this branch", "type": "integer", "minimum": 1 }, "preferences": { "description": "The set of preferences to be set if this branch is chosen", "type": "object", "patternProperties": { ".*": { "type": "object", "properties": { "preferenceType": { "description": "Data type of the preference that controls this experiment", "type": "string", "enum": [ "string", "integer", "boolean" ] }, "preferenceBranchType": { "description": "Controls whether the default or user value of the preference is modified", "type": "string", "enum": [ "user", "default" ], "default": "default" }, "preferenceValue": { "description": "Value for this preference when this branch is chosen", "type": [ "string", "number", "boolean" ] } }, "required": [ "preferenceType", "preferenceBranchType", "preferenceValue" ] } } } } } } } }, "name": "multi-preference-experiment", "id": 9, "implementation_url": null }, "approval_request": { "approved": true, "approver": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "comment": "r+ to pause", "created": "2020-08-05T19:29:34.070442Z", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "id": 2241, "revision": { "id": 3262, "recipe_id": 1029 } }, "arguments": { "branches": [ { "preferences": { "geo.provider.network.compare.url": { "preferenceBranchType": "default", "preferenceType": "string", "preferenceValue": "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%" } }, "ratio": 50, "slug": "treatment" }, { "preferences": { "geo.provider.network.compare.dummyurl.dummy": { "preferenceBranchType": "default", "preferenceType": "integer", "preferenceValue": 1 } }, "ratio": 50, "slug": "control" } ], "experimentDocumentUrl": "https://experimenter.services.mozilla.com/experiments/verify-changing-location-service-providers-still-gives-accurate-results/", "isEnrollmentPaused": true, "slug": "bug-1654515-pref-verify-changing-location-service-providers-still-release-79-80", "userFacingDescription": "Verify changing location service providers still gives accurate results.", "userFacingName": "Verify changing location service providers still gives accurate results." }, "experimenter_slug": "verify-changing-location-service-providers-still-gives-accurate-results", "capabilities": [ "action.multi-preference-experiment", "jexl.transform.versionCompare", "capabilities-v1", "jexl.transform.bucketSample", "jexl.context.env.version" ], "comment": "pause", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "date_created": "2020-08-05T19:29:32.403586Z", "enabled_states": [ { "id": 1795, "created": "2020-09-01T16:32:20.763340Z", "creator": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 1752, "created": "2020-08-05T19:30:39.196407Z", "creator": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "enabled": true, "carryover_from": 1738 } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "", "filter_expression": "(normandy.channel in [\"release\"]) && ((env.version|versionCompare(\"79.!\")>=0)&&(env.version|versionCompare(\"80.*\")<0)) && ([normandy.userId,\"global-v3\"]|bucketSample(8760,100,10000))", "filter_object": [ { "channels": [ "release" ], "type": "channel" }, { "type": "version", "versions": [ 79, 80 ] }, { "count": 100, "input": [ "normandy.userId", "\"global-v3\"" ], "start": 8760, "total": 10000, "type": "bucketSample" } ], "id": 3262, "identicon_seed": "v1:iOrhRjseMMeg", "metadata": {}, "name": "Verify changing location service providers still gives accurate results.", "recipe": { "approved_revision_id": 3262, "id": 1029, "latest_revision_id": 3262 }, "updated": "2020-09-01T16:32:20.902274Z" }, "id": 1029, "latest_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Run a feature experiment activated by a set of preferences.", "type": "object", "required": [ "slug", "userFacingName", "userFacingDescription", "branches" ], "properties": { "slug": { "description": "Unique identifier for this experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "userFacingName": { "description": "User-facing name of the experiment", "type": "string", "minLength": 1 }, "userFacingDescription": { "description": "User-facing description of the experiment", "type": "string", "minLength": 1 }, "experimentDocumentUrl": { "description": "URL of a document describing the experiment", "type": "string", "format": "uri", "default": "" }, "isHighPopulation": { "description": "Marks the preference experiment as a high population experiment, that should be excluded from certain types of telemetry", "type": "boolean", "default": "false" }, "isEnrollmentPaused": { "description": "If true, new users will not be enrolled in the study.", "type": "boolean", "default": false }, "branches": { "description": "List of experimental branches", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "slug", "ratio", "preferences" ], "properties": { "slug": { "description": "Unique identifier for this branch of the experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "ratio": { "description": "Ratio of users who should be grouped into this branch", "type": "integer", "minimum": 1 }, "preferences": { "description": "The set of preferences to be set if this branch is chosen", "type": "object", "patternProperties": { ".*": { "type": "object", "properties": { "preferenceType": { "description": "Data type of the preference that controls this experiment", "type": "string", "enum": [ "string", "integer", "boolean" ] }, "preferenceBranchType": { "description": "Controls whether the default or user value of the preference is modified", "type": "string", "enum": [ "user", "default" ], "default": "default" }, "preferenceValue": { "description": "Value for this preference when this branch is chosen", "type": [ "string", "number", "boolean" ] } }, "required": [ "preferenceType", "preferenceBranchType", "preferenceValue" ] } } } } } } } }, "name": "multi-preference-experiment", "id": 9, "implementation_url": null }, "approval_request": { "approved": true, "approver": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "comment": "r+ to pause", "created": "2020-08-05T19:29:34.070442Z", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "id": 2241, "revision": { "id": 3262, "recipe_id": 1029 } }, "arguments": { "branches": [ { "preferences": { "geo.provider.network.compare.url": { "preferenceBranchType": "default", "preferenceType": "string", "preferenceValue": "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%" } }, "ratio": 50, "slug": "treatment" }, { "preferences": { "geo.provider.network.compare.dummyurl.dummy": { "preferenceBranchType": "default", "preferenceType": "integer", "preferenceValue": 1 } }, "ratio": 50, "slug": "control" } ], "experimentDocumentUrl": "https://experimenter.services.mozilla.com/experiments/verify-changing-location-service-providers-still-gives-accurate-results/", "isEnrollmentPaused": true, "slug": "bug-1654515-pref-verify-changing-location-service-providers-still-release-79-80", "userFacingDescription": "Verify changing location service providers still gives accurate results.", "userFacingName": "Verify changing location service providers still gives accurate results." }, "experimenter_slug": "verify-changing-location-service-providers-still-gives-accurate-results", "capabilities": [ "action.multi-preference-experiment", "jexl.transform.versionCompare", "capabilities-v1", "jexl.transform.bucketSample", "jexl.context.env.version" ], "comment": "pause", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "date_created": "2020-08-05T19:29:32.403586Z", "enabled_states": [ { "id": 1795, "created": "2020-09-01T16:32:20.763340Z", "creator": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 1752, "created": "2020-08-05T19:30:39.196407Z", "creator": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "enabled": true, "carryover_from": 1738 } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "", "filter_expression": "(normandy.channel in [\"release\"]) && ((env.version|versionCompare(\"79.!\")>=0)&&(env.version|versionCompare(\"80.*\")<0)) && ([normandy.userId,\"global-v3\"]|bucketSample(8760,100,10000))", "filter_object": [ { "channels": [ "release" ], "type": "channel" }, { "type": "version", "versions": [ 79, 80 ] }, { "count": 100, "input": [ "normandy.userId", "\"global-v3\"" ], "start": 8760, "total": 10000, "type": "bucketSample" } ], "id": 3262, "identicon_seed": "v1:iOrhRjseMMeg", "metadata": {}, "name": "Verify changing location service providers still gives accurate results.", "recipe": { "approved_revision_id": 3262, "id": 1029, "latest_revision_id": 3262 }, "updated": "2020-09-01T16:32:20.902274Z" }, "signature": null, "uses_only_baseline_capabilities": false }, { "approved_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Show a Heartbeat survey.", "description": "This action shows a single survey.", "type": "object", "required": [ "surveyId", "message", "thanksMessage", "postAnswerUrl", "learnMoreMessage", "learnMoreUrl" ], "properties": { "repeatOption": { "type": "string", "enum": [ "once", "xdays", "nag" ], "description": "Determines how often a prompt is shown executes.", "default": "once" }, "repeatEvery": { "description": "For repeatOption=xdays, how often (in days) the prompt is displayed.", "default": null, "type": [ "number", "null" ] }, "includeTelemetryUUID": { "type": "boolean", "description": "Include unique user ID in post-answer-url and Telemetry", "default": false }, "surveyId": { "type": "string", "description": "Slug uniquely identifying this survey in telemetry" }, "message": { "description": "Message to show to the user", "type": "string" }, "engagementButtonLabel": { "description": "Text for the engagement button. If specified, this button will be shown instead of rating stars.", "default": null, "type": [ "string", "null" ] }, "thanksMessage": { "description": "Thanks message to show to the user after they've rated Firefox", "type": "string" }, "postAnswerUrl": { "description": "URL to redirect the user to after rating Firefox or clicking the engagement button", "default": null, "type": [ "string", "null" ] }, "learnMoreMessage": { "description": "Message to show to the user to learn more", "default": null, "type": [ "string", "null" ] }, "learnMoreUrl": { "description": "URL to show to the user when they click Learn More", "default": null, "type": [ "string", "null" ] } } }, "name": "show-heartbeat", "id": 2, "implementation_url": "https://normandy.cdn.mozilla.net/api/v1/action/show-heartbeat/implementation/sha384-VTOdZHFMo1LOw0JWf6_jAGBb9r5sBbb7BQrmI8n3wy3oVO3ywb1g3ulD1BagmaMA/" }, "approval_request": { "approved": true, "approver": { "id": 6, "first_name": "Josh", "last_name": "Gaunt", "email": "jgaunt@mozilla.com" }, "comment": "approved", "created": "2019-05-10T20:38:18.207248Z", "creator": { "id": 10, "first_name": "Tyler", "last_name": "Downer", "email": "tdowner@mozilla.com" }, "id": 1604, "revision": { "id": 2481, "recipe_id": 772 } }, "arguments": { "repeatOption": "once", "surveyId": "hb-accounts-value-props-survey", "message": "Please help make Firefox better by taking this short survey", "learnMoreMessage": "Learn More", "learnMoreUrl": "https://support.mozilla.org/kb/rate-your-firefox-experience-heartbeat", "engagementButtonLabel": "Take Survey", "thanksMessage": "Thanks", "postAnswerUrl": "https://qsurvey.mozilla.com/s3/Account-Value-Prop-Test-HB", "includeTelemetryUUID": false }, "experimenter_slug": null, "capabilities": [ "action.show-heartbeat", "jexl.transform.bucketSample" ], "comment": "", "creator": { "id": 10, "first_name": "Tyler", "last_name": "Downer", "email": "tdowner@mozilla.com" }, "date_created": "2019-05-10T20:37:59.016178Z", "enabled_states": [ { "id": 929, "created": "2019-05-20T14:16:57.794865Z", "creator": { "id": 10, "first_name": "Tyler", "last_name": "Downer", "email": "tdowner@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 914, "created": "2019-05-13T13:07:10.515817Z", "creator": { "id": 10, "first_name": "Tyler", "last_name": "Downer", "email": "tdowner@mozilla.com" }, "enabled": true, "carryover_from": null } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "(\n!normandy.isFirstRun\n)", "filter_expression": "(normandy.locale in [\"en-AU\",\"en-GB\",\"en-CA\",\"en-NZ\",\"en-ZA\",\"en-US\"]) && (normandy.country in [\"US\"]) && (normandy.channel in [\"release\"]) && ([\"global-v1\",normandy.userId]|bucketSample(120,50,10000)) && ((\n!normandy.isFirstRun\n))", "filter_object": [ { "locales": [ "en-AU", "en-GB", "en-CA", "en-NZ", "en-ZA", "en-US" ], "type": "locale" }, { "countries": [ "US" ], "type": "country" }, { "channels": [ "release" ], "type": "channel" }, { "count": 50, "input": [ "\"global-v1\"", "normandy.userId" ], "start": 120, "total": 10000, "type": "bucketSample" } ], "id": 2481, "identicon_seed": "v1:zlfh328dxih", "metadata": {}, "name": "Value prop Survey - Accounts", "recipe": { "approved_revision_id": 2481, "id": 772, "latest_revision_id": 2481 }, "updated": "2019-05-20T14:16:58.562159Z" }, "id": 772, "latest_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Show a Heartbeat survey.", "description": "This action shows a single survey.", "type": "object", "required": [ "surveyId", "message", "thanksMessage", "postAnswerUrl", "learnMoreMessage", "learnMoreUrl" ], "properties": { "repeatOption": { "type": "string", "enum": [ "once", "xdays", "nag" ], "description": "Determines how often a prompt is shown executes.", "default": "once" }, "repeatEvery": { "description": "For repeatOption=xdays, how often (in days) the prompt is displayed.", "default": null, "type": [ "number", "null" ] }, "includeTelemetryUUID": { "type": "boolean", "description": "Include unique user ID in post-answer-url and Telemetry", "default": false }, "surveyId": { "type": "string", "description": "Slug uniquely identifying this survey in telemetry" }, "message": { "description": "Message to show to the user", "type": "string" }, "engagementButtonLabel": { "description": "Text for the engagement button. If specified, this button will be shown instead of rating stars.", "default": null, "type": [ "string", "null" ] }, "thanksMessage": { "description": "Thanks message to show to the user after they've rated Firefox", "type": "string" }, "postAnswerUrl": { "description": "URL to redirect the user to after rating Firefox or clicking the engagement button", "default": null, "type": [ "string", "null" ] }, "learnMoreMessage": { "description": "Message to show to the user to learn more", "default": null, "type": [ "string", "null" ] }, "learnMoreUrl": { "description": "URL to show to the user when they click Learn More", "default": null, "type": [ "string", "null" ] } } }, "name": "show-heartbeat", "id": 2, "implementation_url": "https://normandy.cdn.mozilla.net/api/v1/action/show-heartbeat/implementation/sha384-VTOdZHFMo1LOw0JWf6_jAGBb9r5sBbb7BQrmI8n3wy3oVO3ywb1g3ulD1BagmaMA/" }, "approval_request": { "approved": true, "approver": { "id": 6, "first_name": "Josh", "last_name": "Gaunt", "email": "jgaunt@mozilla.com" }, "comment": "approved", "created": "2019-05-10T20:38:18.207248Z", "creator": { "id": 10, "first_name": "Tyler", "last_name": "Downer", "email": "tdowner@mozilla.com" }, "id": 1604, "revision": { "id": 2481, "recipe_id": 772 } }, "arguments": { "repeatOption": "once", "surveyId": "hb-accounts-value-props-survey", "message": "Please help make Firefox better by taking this short survey", "learnMoreMessage": "Learn More", "learnMoreUrl": "https://support.mozilla.org/kb/rate-your-firefox-experience-heartbeat", "engagementButtonLabel": "Take Survey", "thanksMessage": "Thanks", "postAnswerUrl": "https://qsurvey.mozilla.com/s3/Account-Value-Prop-Test-HB", "includeTelemetryUUID": false }, "experimenter_slug": null, "capabilities": [ "action.show-heartbeat", "jexl.transform.bucketSample" ], "comment": "", "creator": { "id": 10, "first_name": "Tyler", "last_name": "Downer", "email": "tdowner@mozilla.com" }, "date_created": "2019-05-10T20:37:59.016178Z", "enabled_states": [ { "id": 929, "created": "2019-05-20T14:16:57.794865Z", "creator": { "id": 10, "first_name": "Tyler", "last_name": "Downer", "email": "tdowner@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 914, "created": "2019-05-13T13:07:10.515817Z", "creator": { "id": 10, "first_name": "Tyler", "last_name": "Downer", "email": "tdowner@mozilla.com" }, "enabled": true, "carryover_from": null } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "(\n!normandy.isFirstRun\n)", "filter_expression": "(normandy.locale in [\"en-AU\",\"en-GB\",\"en-CA\",\"en-NZ\",\"en-ZA\",\"en-US\"]) && (normandy.country in [\"US\"]) && (normandy.channel in [\"release\"]) && ([\"global-v1\",normandy.userId]|bucketSample(120,50,10000)) && ((\n!normandy.isFirstRun\n))", "filter_object": [ { "locales": [ "en-AU", "en-GB", "en-CA", "en-NZ", "en-ZA", "en-US" ], "type": "locale" }, { "countries": [ "US" ], "type": "country" }, { "channels": [ "release" ], "type": "channel" }, { "count": 50, "input": [ "\"global-v1\"", "normandy.userId" ], "start": 120, "total": 10000, "type": "bucketSample" } ], "id": 2481, "identicon_seed": "v1:zlfh328dxih", "metadata": {}, "name": "Value prop Survey - Accounts", "recipe": { "approved_revision_id": 2481, "id": 772, "latest_revision_id": 2481 }, "updated": "2019-05-20T14:16:58.562159Z" }, "signature": null, "uses_only_baseline_capabilities": true }, { "approved_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Run a feature experiment activated by a set of preferences.", "type": "object", "required": [ "slug", "userFacingName", "userFacingDescription", "branches" ], "properties": { "slug": { "description": "Unique identifier for this experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "userFacingName": { "description": "User-facing name of the experiment", "type": "string", "minLength": 1 }, "userFacingDescription": { "description": "User-facing description of the experiment", "type": "string", "minLength": 1 }, "experimentDocumentUrl": { "description": "URL of a document describing the experiment", "type": "string", "format": "uri", "default": "" }, "isHighPopulation": { "description": "Marks the preference experiment as a high population experiment, that should be excluded from certain types of telemetry", "type": "boolean", "default": "false" }, "isEnrollmentPaused": { "description": "If true, new users will not be enrolled in the study.", "type": "boolean", "default": false }, "branches": { "description": "List of experimental branches", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "slug", "ratio", "preferences" ], "properties": { "slug": { "description": "Unique identifier for this branch of the experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "ratio": { "description": "Ratio of users who should be grouped into this branch", "type": "integer", "minimum": 1 }, "preferences": { "description": "The set of preferences to be set if this branch is chosen", "type": "object", "patternProperties": { ".*": { "type": "object", "properties": { "preferenceType": { "description": "Data type of the preference that controls this experiment", "type": "string", "enum": [ "string", "integer", "boolean" ] }, "preferenceBranchType": { "description": "Controls whether the default or user value of the preference is modified", "type": "string", "enum": [ "user", "default" ], "default": "default" }, "preferenceValue": { "description": "Value for this preference when this branch is chosen", "type": [ "string", "number", "boolean" ] } }, "required": [ "preferenceType", "preferenceBranchType", "preferenceValue" ] } } } } } } } }, "name": "multi-preference-experiment", "id": 9, "implementation_url": null }, "approval_request": { "approved": true, "approver": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "comment": "r+", "created": "2020-11-10T17:36:26.857548Z", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "id": 2376, "revision": { "id": 3412, "recipe_id": 1075 } }, "arguments": { "branches": [ { "preferences": { "network.preload": { "preferenceBranchType": "default", "preferenceType": "boolean", "preferenceValue": true } }, "ratio": 50, "slug": "preload-enabled" }, { "preferences": { "network.preload": { "preferenceBranchType": "default", "preferenceType": "boolean", "preferenceValue": false } }, "ratio": 50, "slug": "preload-disabled" } ], "experimentDocumentUrl": "https://experimenter.services.mozilla.com/experiments/validation-of-relpreload-performance-impact/", "isEnrollmentPaused": true, "slug": "bug-1671484-pref-validation-of-relpreload-performance-impact-release-82-83", "userFacingDescription": "The rel=preload feature provides web developers the ability to ‘initiate early, high-priority, and non-render-blocking fetch” of resources. The feature allows the site to benefit from speculative parsing by the browser engine while also retaining control of when or if the resource is used as part of the content displayed to users. The assumed result is that sites using the preload feature will be more performant when they must rely on existing methods for fetching resources that are important but should not block the initial render. In advance of rolling out the feature to all users, we need to better understand how the preload feature impacts performance for Firefox users and where there may be unintended interactions with existing engine optimizations.", "userFacingName": "Validation of rel=preload performance impact" }, "experimenter_slug": "validation-of-relpreload-performance-impact", "capabilities": [ "jexl.transform.preferenceIsUserSet", "capabilities-v1", "action.multi-preference-experiment", "jexl.transform.bucketSample", "jexl.context.env.version", "jexl.transform.versionCompare" ], "comment": "set enrollment to pause", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "date_created": "2020-11-10T17:36:18.160681Z", "enabled_states": [ { "id": 1938, "created": "2020-11-17T17:13:28.883014Z", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 1929, "created": "2020-11-10T17:39:49.954798Z", "creator": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "enabled": true, "carryover_from": 1905 } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "", "filter_expression": "(normandy.channel in [\"release\"]) && ((env.version|versionCompare(\"82.!\")>=0)&&(env.version|versionCompare(\"83.*\")<0)) && (!('network.preload'|preferenceIsUserSet)) && ([\"global-v4\",normandy.userId]|bucketSample(5850,50,10000))", "filter_object": [ { "channels": [ "release" ], "type": "channel" }, { "type": "version", "versions": [ 82, 83 ] }, { "pref": "network.preload", "type": "preferenceIsUserSet", "value": false }, { "count": 50, "namespace": "global-v4", "start": 5850, "total": 10000, "type": "namespaceSample" } ], "id": 3412, "identicon_seed": "v1:TwtdHKWuyhOi", "metadata": {}, "name": "Validation of rel=preload performance impact", "recipe": { "approved_revision_id": 3412, "id": 1075, "latest_revision_id": 3412 }, "updated": "2020-11-17T17:13:29.045528Z" }, "id": 1075, "latest_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Run a feature experiment activated by a set of preferences.", "type": "object", "required": [ "slug", "userFacingName", "userFacingDescription", "branches" ], "properties": { "slug": { "description": "Unique identifier for this experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "userFacingName": { "description": "User-facing name of the experiment", "type": "string", "minLength": 1 }, "userFacingDescription": { "description": "User-facing description of the experiment", "type": "string", "minLength": 1 }, "experimentDocumentUrl": { "description": "URL of a document describing the experiment", "type": "string", "format": "uri", "default": "" }, "isHighPopulation": { "description": "Marks the preference experiment as a high population experiment, that should be excluded from certain types of telemetry", "type": "boolean", "default": "false" }, "isEnrollmentPaused": { "description": "If true, new users will not be enrolled in the study.", "type": "boolean", "default": false }, "branches": { "description": "List of experimental branches", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "slug", "ratio", "preferences" ], "properties": { "slug": { "description": "Unique identifier for this branch of the experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "ratio": { "description": "Ratio of users who should be grouped into this branch", "type": "integer", "minimum": 1 }, "preferences": { "description": "The set of preferences to be set if this branch is chosen", "type": "object", "patternProperties": { ".*": { "type": "object", "properties": { "preferenceType": { "description": "Data type of the preference that controls this experiment", "type": "string", "enum": [ "string", "integer", "boolean" ] }, "preferenceBranchType": { "description": "Controls whether the default or user value of the preference is modified", "type": "string", "enum": [ "user", "default" ], "default": "default" }, "preferenceValue": { "description": "Value for this preference when this branch is chosen", "type": [ "string", "number", "boolean" ] } }, "required": [ "preferenceType", "preferenceBranchType", "preferenceValue" ] } } } } } } } }, "name": "multi-preference-experiment", "id": 9, "implementation_url": null }, "approval_request": { "approved": true, "approver": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "comment": "r+", "created": "2020-11-10T17:36:26.857548Z", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "id": 2376, "revision": { "id": 3412, "recipe_id": 1075 } }, "arguments": { "branches": [ { "preferences": { "network.preload": { "preferenceBranchType": "default", "preferenceType": "boolean", "preferenceValue": true } }, "ratio": 50, "slug": "preload-enabled" }, { "preferences": { "network.preload": { "preferenceBranchType": "default", "preferenceType": "boolean", "preferenceValue": false } }, "ratio": 50, "slug": "preload-disabled" } ], "experimentDocumentUrl": "https://experimenter.services.mozilla.com/experiments/validation-of-relpreload-performance-impact/", "isEnrollmentPaused": true, "slug": "bug-1671484-pref-validation-of-relpreload-performance-impact-release-82-83", "userFacingDescription": "The rel=preload feature provides web developers the ability to ‘initiate early, high-priority, and non-render-blocking fetch” of resources. The feature allows the site to benefit from speculative parsing by the browser engine while also retaining control of when or if the resource is used as part of the content displayed to users. The assumed result is that sites using the preload feature will be more performant when they must rely on existing methods for fetching resources that are important but should not block the initial render. In advance of rolling out the feature to all users, we need to better understand how the preload feature impacts performance for Firefox users and where there may be unintended interactions with existing engine optimizations.", "userFacingName": "Validation of rel=preload performance impact" }, "experimenter_slug": "validation-of-relpreload-performance-impact", "capabilities": [ "jexl.transform.preferenceIsUserSet", "capabilities-v1", "action.multi-preference-experiment", "jexl.transform.bucketSample", "jexl.context.env.version", "jexl.transform.versionCompare" ], "comment": "set enrollment to pause", "creator": { "id": 60, "first_name": "Tiffany", "last_name": "Tran", "email": "ttran@mozilla.com" }, "date_created": "2020-11-10T17:36:18.160681Z", "enabled_states": [ { "id": 1938, "created": "2020-11-17T17:13:28.883014Z", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 1929, "created": "2020-11-10T17:39:49.954798Z", "creator": { "id": 1, "first_name": "Michael", "last_name": "Cooper", "email": "mcooper@mozilla.com" }, "enabled": true, "carryover_from": 1905 } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "", "filter_expression": "(normandy.channel in [\"release\"]) && ((env.version|versionCompare(\"82.!\")>=0)&&(env.version|versionCompare(\"83.*\")<0)) && (!('network.preload'|preferenceIsUserSet)) && ([\"global-v4\",normandy.userId]|bucketSample(5850,50,10000))", "filter_object": [ { "channels": [ "release" ], "type": "channel" }, { "type": "version", "versions": [ 82, 83 ] }, { "pref": "network.preload", "type": "preferenceIsUserSet", "value": false }, { "count": 50, "namespace": "global-v4", "start": 5850, "total": 10000, "type": "namespaceSample" } ], "id": 3412, "identicon_seed": "v1:TwtdHKWuyhOi", "metadata": {}, "name": "Validation of rel=preload performance impact", "recipe": { "approved_revision_id": 3412, "id": 1075, "latest_revision_id": 3412 }, "updated": "2020-11-17T17:13:29.045528Z" }, "signature": null, "uses_only_baseline_capabilities": false }, { "approved_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Run a feature experiment activated by a set of preferences.", "type": "object", "required": [ "slug", "userFacingName", "userFacingDescription", "branches" ], "properties": { "slug": { "description": "Unique identifier for this experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "userFacingName": { "description": "User-facing name of the experiment", "type": "string", "minLength": 1 }, "userFacingDescription": { "description": "User-facing description of the experiment", "type": "string", "minLength": 1 }, "experimentDocumentUrl": { "description": "URL of a document describing the experiment", "type": "string", "format": "uri", "default": "" }, "isHighPopulation": { "description": "Marks the preference experiment as a high population experiment, that should be excluded from certain types of telemetry", "type": "boolean", "default": "false" }, "isEnrollmentPaused": { "description": "If true, new users will not be enrolled in the study.", "type": "boolean", "default": false }, "branches": { "description": "List of experimental branches", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "slug", "ratio", "preferences" ], "properties": { "slug": { "description": "Unique identifier for this branch of the experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "ratio": { "description": "Ratio of users who should be grouped into this branch", "type": "integer", "minimum": 1 }, "preferences": { "description": "The set of preferences to be set if this branch is chosen", "type": "object", "patternProperties": { ".*": { "type": "object", "properties": { "preferenceType": { "description": "Data type of the preference that controls this experiment", "type": "string", "enum": [ "string", "integer", "boolean" ] }, "preferenceBranchType": { "description": "Controls whether the default or user value of the preference is modified", "type": "string", "enum": [ "user", "default" ], "default": "default" }, "preferenceValue": { "description": "Value for this preference when this branch is chosen", "type": [ "string", "number", "boolean" ] } }, "required": [ "preferenceType", "preferenceBranchType", "preferenceValue" ] } } } } } } } }, "name": "multi-preference-experiment", "id": 9, "implementation_url": null }, "approval_request": { "approved": true, "approver": { "id": 38, "first_name": "Benson", "last_name": "Wong", "email": "bwong@mozilla.com" }, "comment": "r+", "created": "2020-02-18T17:32:51.614811Z", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "id": 1986, "revision": { "id": 2927, "recipe_id": 904 } }, "arguments": { "slug": "pref-validate-retentionengagement-impact-of-pinning-a-release-72-74-bug-1588762", "userFacingName": "Validate retention/engagement impact of pinning a taskbar shortcut for existing Win10 users", "isHighVolume": false, "experimentDocumentUrl": "https://experimenter.services.mozilla.com/experiments/validate-retentionengagement-impact-of-pinning-a-taskbar-shortcut-for-existing-win10-users/", "userFacingDescription": "We saw significant retention and engagement improvements with pinning a shortcut to Win10 taskbar for new users with https://metrics.mozilla.com/~sguha/mz/icon_bug_1506648/report.1.allprofiles.html. We now consider the same change for existing users but feel this is higher risk since appearance of a taskbar pin not aligned with an installation may scare/worry/upset users - this is why we want to test this same feature now for existing users.", "isEnrollmentPaused": true, "branches": [ { "preferences": { "installer.taskbarpin.win10.enabled": { "preferenceBranchType": "default", "preferenceType": "boolean", "preferenceValue": true } }, "ratio": 1, "slug": "test" }, { "preferences": { "installer.taskbarpin.win10.enabled": { "preferenceBranchType": "default", "preferenceType": "boolean", "preferenceValue": false } }, "ratio": 1, "slug": "control" } ] }, "experimenter_slug": "validate-retentionengagement-impact-of-pinning-a-taskbar-shortcut-for-existing-win10-users", "capabilities": [ "action.multi-preference-experiment", "jexl.transform.versionCompare", "capabilities-v1", "jexl.transform.bucketSample", "jexl.context.env.version" ], "comment": "", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "date_created": "2020-02-18T17:32:40.078782Z", "enabled_states": [ { "id": 1464, "created": "2020-03-10T17:04:33.035177Z", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 1440, "created": "2020-02-18T17:36:42.109579Z", "creator": { "id": 38, "first_name": "Benson", "last_name": "Wong", "email": "bwong@mozilla.com" }, "enabled": true, "carryover_from": 1429 } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "normandy.os.isWindows && normandy.os.windowsBuildNumber < 18362", "filter_expression": "(normandy.channel in [\"release\"]) && ((env.version|versionCompare(\"72.!\")>=0)&&(env.version|versionCompare(\"74.*\")<0)) && ([\"global-v1\",normandy.userId]|bucketSample(9560,85,10000)) && (normandy.os.isWindows && normandy.os.windowsBuildNumber < 18362)", "filter_object": [ { "channels": [ "release" ], "type": "channel" }, { "versions": [ 72, 73, 74 ], "type": "version" }, { "count": 85, "input": [ "\"global-v1\"", "normandy.userId" ], "start": 9560, "total": 10000, "type": "bucketSample" } ], "id": 2927, "identicon_seed": "v1:m5ngxuxm5c", "metadata": {}, "name": "Validate retention/engagement impact of pinning a taskbar shortcut for existing Win10 users", "recipe": { "approved_revision_id": 2927, "id": 904, "latest_revision_id": 2927 }, "updated": "2020-03-10T17:04:33.036840Z" }, "id": 904, "latest_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Run a feature experiment activated by a set of preferences.", "type": "object", "required": [ "slug", "userFacingName", "userFacingDescription", "branches" ], "properties": { "slug": { "description": "Unique identifier for this experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "userFacingName": { "description": "User-facing name of the experiment", "type": "string", "minLength": 1 }, "userFacingDescription": { "description": "User-facing description of the experiment", "type": "string", "minLength": 1 }, "experimentDocumentUrl": { "description": "URL of a document describing the experiment", "type": "string", "format": "uri", "default": "" }, "isHighPopulation": { "description": "Marks the preference experiment as a high population experiment, that should be excluded from certain types of telemetry", "type": "boolean", "default": "false" }, "isEnrollmentPaused": { "description": "If true, new users will not be enrolled in the study.", "type": "boolean", "default": false }, "branches": { "description": "List of experimental branches", "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "slug", "ratio", "preferences" ], "properties": { "slug": { "description": "Unique identifier for this branch of the experiment", "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$" }, "ratio": { "description": "Ratio of users who should be grouped into this branch", "type": "integer", "minimum": 1 }, "preferences": { "description": "The set of preferences to be set if this branch is chosen", "type": "object", "patternProperties": { ".*": { "type": "object", "properties": { "preferenceType": { "description": "Data type of the preference that controls this experiment", "type": "string", "enum": [ "string", "integer", "boolean" ] }, "preferenceBranchType": { "description": "Controls whether the default or user value of the preference is modified", "type": "string", "enum": [ "user", "default" ], "default": "default" }, "preferenceValue": { "description": "Value for this preference when this branch is chosen", "type": [ "string", "number", "boolean" ] } }, "required": [ "preferenceType", "preferenceBranchType", "preferenceValue" ] } } } } } } } }, "name": "multi-preference-experiment", "id": 9, "implementation_url": null }, "approval_request": { "approved": true, "approver": { "id": 38, "first_name": "Benson", "last_name": "Wong", "email": "bwong@mozilla.com" }, "comment": "r+", "created": "2020-02-18T17:32:51.614811Z", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "id": 1986, "revision": { "id": 2927, "recipe_id": 904 } }, "arguments": { "slug": "pref-validate-retentionengagement-impact-of-pinning-a-release-72-74-bug-1588762", "userFacingName": "Validate retention/engagement impact of pinning a taskbar shortcut for existing Win10 users", "isHighVolume": false, "experimentDocumentUrl": "https://experimenter.services.mozilla.com/experiments/validate-retentionengagement-impact-of-pinning-a-taskbar-shortcut-for-existing-win10-users/", "userFacingDescription": "We saw significant retention and engagement improvements with pinning a shortcut to Win10 taskbar for new users with https://metrics.mozilla.com/~sguha/mz/icon_bug_1506648/report.1.allprofiles.html. We now consider the same change for existing users but feel this is higher risk since appearance of a taskbar pin not aligned with an installation may scare/worry/upset users - this is why we want to test this same feature now for existing users.", "isEnrollmentPaused": true, "branches": [ { "preferences": { "installer.taskbarpin.win10.enabled": { "preferenceBranchType": "default", "preferenceType": "boolean", "preferenceValue": true } }, "ratio": 1, "slug": "test" }, { "preferences": { "installer.taskbarpin.win10.enabled": { "preferenceBranchType": "default", "preferenceType": "boolean", "preferenceValue": false } }, "ratio": 1, "slug": "control" } ] }, "experimenter_slug": "validate-retentionengagement-impact-of-pinning-a-taskbar-shortcut-for-existing-win10-users", "capabilities": [ "action.multi-preference-experiment", "jexl.transform.versionCompare", "capabilities-v1", "jexl.transform.bucketSample", "jexl.context.env.version" ], "comment": "", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "date_created": "2020-02-18T17:32:40.078782Z", "enabled_states": [ { "id": 1464, "created": "2020-03-10T17:04:33.035177Z", "creator": { "id": 14, "first_name": "Rehan", "last_name": "Dalal", "email": "rdalal@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 1440, "created": "2020-02-18T17:36:42.109579Z", "creator": { "id": 38, "first_name": "Benson", "last_name": "Wong", "email": "bwong@mozilla.com" }, "enabled": true, "carryover_from": 1429 } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "normandy.os.isWindows && normandy.os.windowsBuildNumber < 18362", "filter_expression": "(normandy.channel in [\"release\"]) && ((env.version|versionCompare(\"72.!\")>=0)&&(env.version|versionCompare(\"74.*\")<0)) && ([\"global-v1\",normandy.userId]|bucketSample(9560,85,10000)) && (normandy.os.isWindows && normandy.os.windowsBuildNumber < 18362)", "filter_object": [ { "channels": [ "release" ], "type": "channel" }, { "versions": [ 72, 73, 74 ], "type": "version" }, { "count": 85, "input": [ "\"global-v1\"", "normandy.userId" ], "start": 9560, "total": 10000, "type": "bucketSample" } ], "id": 2927, "identicon_seed": "v1:m5ngxuxm5c", "metadata": {}, "name": "Validate retention/engagement impact of pinning a taskbar shortcut for existing Win10 users", "recipe": { "approved_revision_id": 2927, "id": 904, "latest_revision_id": 2927 }, "updated": "2020-03-10T17:04:33.036840Z" }, "signature": null, "uses_only_baseline_capabilities": false }, { "approved_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Show a Heartbeat survey.", "description": "This action shows a single survey.", "type": "object", "required": [ "surveyId", "message", "thanksMessage", "postAnswerUrl", "learnMoreMessage", "learnMoreUrl" ], "properties": { "repeatOption": { "type": "string", "enum": [ "once", "xdays", "nag" ], "description": "Determines how often a prompt is shown executes.", "default": "once" }, "repeatEvery": { "description": "For repeatOption=xdays, how often (in days) the prompt is displayed.", "default": null, "type": [ "number", "null" ] }, "includeTelemetryUUID": { "type": "boolean", "description": "Include unique user ID in post-answer-url and Telemetry", "default": false }, "surveyId": { "type": "string", "description": "Slug uniquely identifying this survey in telemetry" }, "message": { "description": "Message to show to the user", "type": "string" }, "engagementButtonLabel": { "description": "Text for the engagement button. If specified, this button will be shown instead of rating stars.", "default": null, "type": [ "string", "null" ] }, "thanksMessage": { "description": "Thanks message to show to the user after they've rated Firefox", "type": "string" }, "postAnswerUrl": { "description": "URL to redirect the user to after rating Firefox or clicking the engagement button", "default": null, "type": [ "string", "null" ] }, "learnMoreMessage": { "description": "Message to show to the user to learn more", "default": null, "type": [ "string", "null" ] }, "learnMoreUrl": { "description": "URL to show to the user when they click Learn More", "default": null, "type": [ "string", "null" ] } } }, "name": "show-heartbeat", "id": 2, "implementation_url": "https://normandy.cdn.mozilla.net/api/v1/action/show-heartbeat/implementation/sha384-VTOdZHFMo1LOw0JWf6_jAGBb9r5sBbb7BQrmI8n3wy3oVO3ywb1g3ulD1BagmaMA/" }, "approval_request": { "approved": true, "approver": { "id": 4, "first_name": "Rob", "last_name": "Rayborn", "email": "rrayborn@mozilla.com" }, "comment": "LGTM, although I have some minor survey suggestions", "created": "2018-05-08T16:39:58.229288Z", "creator": { "id": 10, "first_name": "Tyler", "last_name": "Downer", "email": "tdowner@mozilla.com" }, "id": 795, "revision": { "id": 8, "recipe_id": 459 } }, "arguments": { "surveyId": "hb-add-ons-new-profiles", "message": "Please take a minute to fill out this survey about Firefox", "learnMoreMessage": "Learn More", "learnMoreUrl": "https://wiki.mozilla.org/Firefox/Shield/Heartbeat", "engagementButtonLabel": "Take Survey", "thanksMessage": "Thank You!", "postAnswerUrl": "https://qsurvey.mozilla.com/s3/Add-on-installers-new-profiles", "includeTelemetryUUID": true, "repeatOption": "once" }, "experimenter_slug": null, "capabilities": [ "action.show-heartbeat" ], "comment": "", "creator": null, "date_created": "2018-05-08T16:39:53.977651Z", "enabled_states": [ { "id": 33, "created": "2018-05-21T20:49:23.745223Z", "creator": { "id": 10, "first_name": "Tyler", "last_name": "Downer", "email": "tdowner@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 3, "created": "2018-05-16T23:39:13.511830Z", "creator": null, "enabled": true, "carryover_from": null } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "(\n [normandy.userId, normandy.request_time]|stableSample(0.005)\n && normandy.locale in ['en-US', 'en-AU', 'en-CA', 'en-GB', 'en-NZ', 'en-ZA']\n && normandy.version >= '59.0'\n && normandy.channel == 'release'\n &&!normandy.isFirstRun\n && normandy.telemetry.main.environment.profile.creationDate > 17622\n && normandy.addons != {}\n)", "filter_expression": "(\n [normandy.userId, normandy.request_time]|stableSample(0.005)\n && normandy.locale in ['en-US', 'en-AU', 'en-CA', 'en-GB', 'en-NZ', 'en-ZA']\n && normandy.version >= '59.0'\n && normandy.channel == 'release'\n &&!normandy.isFirstRun\n && normandy.telemetry.main.environment.profile.creationDate > 17622\n && normandy.addons != {}\n)", "filter_object": [], "id": 8, "identicon_seed": "v1:qpgfx6b3zue", "metadata": {}, "name": "Users who install Add-ons in New Profiles", "recipe": { "approved_revision_id": 8, "id": 459, "latest_revision_id": 8 }, "updated": "2018-05-21T20:49:23.756715Z" }, "id": 459, "latest_revision": { "action": { "arguments_schema": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Show a Heartbeat survey.", "description": "This action shows a single survey.", "type": "object", "required": [ "surveyId", "message", "thanksMessage", "postAnswerUrl", "learnMoreMessage", "learnMoreUrl" ], "properties": { "repeatOption": { "type": "string", "enum": [ "once", "xdays", "nag" ], "description": "Determines how often a prompt is shown executes.", "default": "once" }, "repeatEvery": { "description": "For repeatOption=xdays, how often (in days) the prompt is displayed.", "default": null, "type": [ "number", "null" ] }, "includeTelemetryUUID": { "type": "boolean", "description": "Include unique user ID in post-answer-url and Telemetry", "default": false }, "surveyId": { "type": "string", "description": "Slug uniquely identifying this survey in telemetry" }, "message": { "description": "Message to show to the user", "type": "string" }, "engagementButtonLabel": { "description": "Text for the engagement button. If specified, this button will be shown instead of rating stars.", "default": null, "type": [ "string", "null" ] }, "thanksMessage": { "description": "Thanks message to show to the user after they've rated Firefox", "type": "string" }, "postAnswerUrl": { "description": "URL to redirect the user to after rating Firefox or clicking the engagement button", "default": null, "type": [ "string", "null" ] }, "learnMoreMessage": { "description": "Message to show to the user to learn more", "default": null, "type": [ "string", "null" ] }, "learnMoreUrl": { "description": "URL to show to the user when they click Learn More", "default": null, "type": [ "string", "null" ] } } }, "name": "show-heartbeat", "id": 2, "implementation_url": "https://normandy.cdn.mozilla.net/api/v1/action/show-heartbeat/implementation/sha384-VTOdZHFMo1LOw0JWf6_jAGBb9r5sBbb7BQrmI8n3wy3oVO3ywb1g3ulD1BagmaMA/" }, "approval_request": { "approved": true, "approver": { "id": 4, "first_name": "Rob", "last_name": "Rayborn", "email": "rrayborn@mozilla.com" }, "comment": "LGTM, although I have some minor survey suggestions", "created": "2018-05-08T16:39:58.229288Z", "creator": { "id": 10, "first_name": "Tyler", "last_name": "Downer", "email": "tdowner@mozilla.com" }, "id": 795, "revision": { "id": 8, "recipe_id": 459 } }, "arguments": { "surveyId": "hb-add-ons-new-profiles", "message": "Please take a minute to fill out this survey about Firefox", "learnMoreMessage": "Learn More", "learnMoreUrl": "https://wiki.mozilla.org/Firefox/Shield/Heartbeat", "engagementButtonLabel": "Take Survey", "thanksMessage": "Thank You!", "postAnswerUrl": "https://qsurvey.mozilla.com/s3/Add-on-installers-new-profiles", "includeTelemetryUUID": true, "repeatOption": "once" }, "experimenter_slug": null, "capabilities": [ "action.show-heartbeat" ], "comment": "", "creator": null, "date_created": "2018-05-08T16:39:53.977651Z", "enabled_states": [ { "id": 33, "created": "2018-05-21T20:49:23.745223Z", "creator": { "id": 10, "first_name": "Tyler", "last_name": "Downer", "email": "tdowner@mozilla.com" }, "enabled": false, "carryover_from": null }, { "id": 3, "created": "2018-05-16T23:39:13.511830Z", "creator": null, "enabled": true, "carryover_from": null } ], "enabled": false, "extra_capabilities": [], "extra_filter_expression": "(\n [normandy.userId, normandy.request_time]|stableSample(0.005)\n && normandy.locale in ['en-US', 'en-AU', 'en-CA', 'en-GB', 'en-NZ', 'en-ZA']\n && normandy.version >= '59.0'\n && normandy.channel == 'release'\n &&!normandy.isFirstRun\n && normandy.telemetry.main.environment.profile.creationDate > 17622\n && normandy.addons != {}\n)", "filter_expression": "(\n [normandy.userId, normandy.request_time]|stableSample(0.005)\n && normandy.locale in ['en-US', 'en-AU', 'en-CA', 'en-GB', 'en-NZ', 'en-ZA']\n && normandy.version >= '59.0'\n && normandy.channel == 'release'\n &&!normandy.isFirstRun\n && normandy.telemetry.main.environment.profile.creationDate > 17622\n && normandy.addons != {}\n)", "filter_object": [], "id": 8, "identicon_seed": "v1:qpgfx6b3zue", "metadata": {}, "name": "Users who install Add-ons in New Profiles", "recipe": { "approved_revision_id": 8, "id": 459, "latest_revision_id": 8 }, "updated": "2018-05-21T20:49:23.756715Z" }, "signature": null, "uses_only_baseline_capabilities": true } ] }{ "count": 1300, "next": "