Skip to content

v0.4.0

Latest

Choose a tag to compare

Breaking Changes

  • The minimum supported version of Firefox is now 153 Nightly.
  • Custom experiment collections are no longer supported. (#220)

Experimenter Integrations

nimbus-devtools now has several integrations with Experimenter:

  • about:messagepreview integration: nimbus-devtools will now inject preview links for messaging experiments into Experimenter, allowing messages to previewed directly. Messaging features are determined via MessagingExperimentConstants.sys.mjs and supported message templates are defined in AboutMessagePreviewParent.sys.mjs (#149, #174, #184)
  • One click force enrollment via Experimenter: you can now opt-in to experiments and rollouts directly from Experimenter. Copying and pasting about:studies links is no longer required. (#170, #178)
  • Debug JEXL directly from Experimenter: there is now a button to open the experiment's targeting expression in the JEXL debugger from the summary page. (#194)
  • Experimenter can now detect if nimbus-devtools is out of date and a new update is available. (#185)

New Features

  • Added a "Debug Targeting" action to the Experiment Browser to open the experiment's targeting expression directly in the JEXL debugger. (#192)
  • Firefox Labs support: when enrolling into a Firefox Labs opt-in via any method, the Lab will now be correctly registered with about:preferences#experimental. (#233)
  • Co-enrollment support: nimbus-devtools now supports enrolling in multiple experiments and rollouts for co-enrolling features. (#205)
  • nimbus-devtools now has an extension icon, which is shown in the toolbar instead of a blank puzzle piece (#138)
  • There is now a link to file a bug against nimbus-devtools from the extension. (#187)
  • Individual actions on the Experiment browser have been redesigned as a menu that opens dialogs to improve user experience and support additional actions. (#189)
  • Opt-in to complete experiments from the Experiment Browser page. (#210)
  • Enrollment status is now displayed on the Experiment Browser page. (#217)
  • Support unenrollment and deletion from the Experiment Browser page. (#217)
  • Insert inactive (past) enrollments: it is now much easier to fake enrollment history for natural enrollment purposes. The Experiment Browser page has a new action to inject an inactive enrollment into the database with a specific unenroll reason. (#217)
  • The Experiment Browser page now displays experiment slugs to make searching easier. (#219)
  • The Settings page has been completely redone and is now the Experiment Loader page. All options have been thoroughly documented and nimbus-devtools will now warn if the browser needs a restart for settings to take effect. (#220)
  • Highlight targeting attributes in the debugger that are not reported in telemetry. (#225)
  • Report unrecorded targeting attributes and prefs used in JEXL expressions. (#225)

Bug Fixes

  • JEXL expressions that evaluate to null are no longer coerced to true. (#118)
  • Support intersect operator in the JEXL debugger (#156)
  • isEnrollmentPaused is no longer inverted on the Experiment Browser page. (#157)
  • Experiments are always re-fetched when force enrolling. This prevents an edge case where the client force enrolls into a stale recipe. (#158)
  • The "channels" field is now properly populated on the Experiment Browser page. (#221)
  • Only desktop experiments are shown on the Experiment Browser page. (#221)
  • Support debugging property accessors on object and array JEXL literals. (#225)
  • Fix string re-quoting in the JEXL debugger. Previously some valid JEXL expressions would throw parsing errors during debugging due to using a naive string quoting algorithm. (#225)
  • Evaluate expressions before debugging them. This improves error messages when JEXL expressions throw. (#225)
  • Support undefined as a value returned from JEXL expressions. (#225)