{
  "commits": {
    "0e0ffb0c8371": {
      "author": "Alexandru Marc",
      "avatar": "https://www.gravatar.com/avatar/f90e8bfbc9c1383d73053a8809b77e48?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 6534b43a857141bfec83ed1d2ff9ff752a82d77e.\n\nRevert \"Bug 2052908 - Release cache consumers parked behind a bypassed writer lock. r=necko-reviewers,kershaw\"\n\nThis reverts commit 79b80fa439c666bfb79aea889899a0a345adae02.\n\nRevert \"Bug 2052908 - Add a backstop timeout for a channel wedged waiting on a cache entry. r=necko-reviewers,kershaw\"\n\nThis reverts commit 32cd886d24f79cb75bc49ee3d889739f5ba59f5e.",
      "email": "amarc@mozilla.com",
      "hash": "0e0ffb0c837184adb24f69efa5d6b3a8d85a7161",
      "subject": "Revert \"Bug 2052908 - Tear down a suspended cache writer on cancel instead of stranding it. r=necko-reviewers,kershaw\" for causing build bustages @ nsHttpChannel"
    },
    "241493daa65f": {
      "author": "Alexandru Marc",
      "avatar": "https://www.gravatar.com/avatar/f90e8bfbc9c1383d73053a8809b77e48?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit cddf155f25a620053a35bd4265948c7d4009d73e.",
      "email": "amarc@mozilla.com",
      "hash": "241493daa65f491bade7f3b11af5ad6ccf7f83c3",
      "subject": "Revert \"Bug 2040992 - Make captured `PATH` and `INCLUDE` deterministic r=nalexander,firefox-build-system-reviewers,ohall,sergesanspaille,geckoview-reviewers\" for causing build bustages"
    },
    "25338b02641e": {
      "author": "Atila Butkovits",
      "avatar": "https://www.gravatar.com/avatar/d57dec63a56cf8f6739509d2a319c6ee?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 579b3edd866b7ae5cfdc5b729cdef8bf1e9413ea.",
      "email": "abutkovits@mozilla.com",
      "hash": "25338b02641edd0a346fe7b94322791cec9a6d4b",
      "subject": "Revert \"Bug 1850539 - Allow custom content container (native anonymous roots more generally) as children of svgs. r=layout-reviewers,dshin\" for causing failures at SVGUtils.cpp."
    },
    "28514e24cbfa": {
      "author": "rperta",
      "avatar": "https://www.gravatar.com/avatar/95787d55656c719bd5b0c6754f5449a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit af25606c084f4cda3da7434426a26e7714ca2d3b.",
      "email": "rperta@mozilla.com",
      "hash": "28514e24cbfacd544d24966b0248d16d43bec134",
      "subject": "Revert \"Bug 2052794 - Don't reuse a total-negative DNS result for high-priority lookups under Happy Eyeballs, r=mxinden,necko-reviewers,sunil\" for causing bc failures at browser_search_telemetry_domain_categorization_download_timer.js"
    },
    "494b93f3e2c6": {
      "author": "Atila Butkovits",
      "avatar": "https://www.gravatar.com/avatar/d57dec63a56cf8f6739509d2a319c6ee?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit f9e8fe10c8d302bd7919abc31fbcdad7d87ac3c5.\n\nRevert \"Bug 2050950 - [mozversioncontrol] Also support 'env' in HgRepository.push, r=ahochheiden\"\n\nThis reverts commit 7ada79a2737ec650f286e2429e4752d2b408c307.\n\nRevert \"Bug 2050950 - [mozversioncontrol] Support jj v0.42, r=ahochheiden\"\n\nThis reverts commit 3b126245a474d524265d70909ae9ce2d3678bf45.",
      "email": "abutkovits@mozilla.com",
      "hash": "494b93f3e2c6430c8384200b95b4e9f32d148e15",
      "subject": "Revert \"Bug 2050950 - [mozversioncontrol] Use `subprocess.run` in BaseRepository._run, r=ahochheiden\" for causing failures at test_push_env_passthrough."
    },
    "58ecbd12a427": {
      "author": "rperta",
      "avatar": "https://www.gravatar.com/avatar/95787d55656c719bd5b0c6754f5449a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit d5057ec1f3c596ecb5215bcdedfedbbf1681ca98.",
      "email": "rperta@mozilla.com",
      "hash": "58ecbd12a427d2008280350520f891ef5df7070d",
      "subject": "Revert \"Bug 2052609 - Don't cache invalid picture-scratch handles in prepare_picture r=gfx-reviewers,lsalzman\" for causing reftest failures"
    },
    "6e102745551b": {
      "author": "Alexandru Marc",
      "avatar": "https://www.gravatar.com/avatar/f90e8bfbc9c1383d73053a8809b77e48?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 2bebe20a03b62d1d5b9c5f96119a472a9738a7e8.\n\nRevert \"Bug 2052414 part 2: Don't call ProxyCreated for print DocAccessibleParents and their descendant RemoteAccessibles. r=morgan\"\n\nThis reverts commit 0587f0ef0d15d5ebd222dd0308958b177ccc6b4d.\n\nRevert \"Bug 2052414 part 1: Add DocAccessibleParent::IsPrintDoc, available as soon as the DocAccessibleParent is constructed. r=morgan\"\n\nThis reverts commit e943b770254fd7353e6f577f70352851a4bd96c5.",
      "email": "amarc@mozilla.com",
      "hash": "6e102745551bca2c4a6ad2b072ff18b01cb26914",
      "subject": "Revert (Bug 2039124, Bug 2052414) for causing wp crashes @ MaybeFireNameChange"
    },
    "6fc1deb14b72": {
      "author": "Alexandru Marc",
      "avatar": "https://www.gravatar.com/avatar/f90e8bfbc9c1383d73053a8809b77e48?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 46859c482994b2505fe8956fa9d9da22b254dced.",
      "email": "amarc@mozilla.com",
      "hash": "6fc1deb14b72b161d45238dda2c45c805106706d",
      "subject": "Revert \"Bug 2051129 - Allow the 3- and 4-value \u003cposition\u003e syntax in the mask shorthand r=layout-reviewers,firefox-style-system-reviewers,dshin\" by dev request"
    },
    "D16580": {
      "author": "Ben Hearsum",
      "avatar": "https://www.gravatar.com/avatar/7bb9fa0687c2864f6d7ccf2c3b68a6a1?d=identicon\u0026s=64",
      "cl": "D16580",
      "clUrl": "https://phabricator.services.mozilla.com/D16580",
      "description": "I'm not certain on why these are so explicitly included, but these days tests never end up running as part of nightly graphs, because they run on the on-push graphs. This change has no effect on main, but prevents tests from running as part of nightly build tasks on Try, where they're never wanted.\n\nThis patch alone has no effect, but downstream changes in this stack will be making changes that would cause tests to be included when running the `nightly-build-tasks` action on Try, which would be undesirable.\n\nA couple of theories as to why this are here are:\n* https://phabricator.services.mozilla.com/D16580, where it's unclear if this was intentional to pull them in in the first place. That change talks about wanting `bouncer-locations` running, which presumably didn't have `shipping-product` set at the time, and tests were pulled in (and documented as being pulled in, without justifying it) as a side effect\n* I have a vague memory that pre-https://bugzilla.mozilla.org/show_bug.cgi?id=1614970, we may have only been running PGO builds on actual nightly builds, and thus wanted to run tests on them.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310314",
      "email": "ben@mozilla.com",
      "hash": "42c53f05443761b7f3a473bffcbcfe308660af29",
      "subject": "Bug 2052329: pre: don't pull in tests with nightly builds r=releng-reviewers,taskgraph-reviewers,ahal"
    },
    "D301634": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D301634",
      "clUrl": "https://phabricator.services.mozilla.com/D301634",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D301634",
      "email": "ahochheiden@mozilla.com",
      "hash": "cddf155f25a620053a35bd4265948c7d4009d73e",
      "subject": "Bug 2040992 - Make captured `PATH` and `INCLUDE` deterministic r=nalexander,firefox-build-system-reviewers,ohall,sergesanspaille,geckoview-reviewers"
    },
    "D302575": {
      "author": "Osmond Arnesto",
      "avatar": "https://www.gravatar.com/avatar/61652eb36a34056a81c1b7e54a64a130?d=identicon\u0026s=64",
      "cl": "D302575",
      "clUrl": "https://phabricator.services.mozilla.com/D302575",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D302575",
      "email": "oarnesto@mozilla.com",
      "hash": "51f5ee1158851f47ad8b288e235944ecfdfde55f",
      "subject": "Bug 2022986 - Update `panelUI-shared.css` to pass use-design-tokens r=desktop-theme-reviewers,hjones"
    },
    "D303474": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D303474",
      "clUrl": "https://phabricator.services.mozilla.com/D303474",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D303474",
      "email": "ahochheiden@mozilla.com",
      "hash": "5cb3a7959c8a01a4cf7185dbe582f8f9b0619c28",
      "subject": "Bug 2043567 - Show command help when arg parsing fails r=firefox-build-system-reviewers,sergesanspaille"
    },
    "D304158": {
      "author": "Greg Stoll",
      "avatar": "https://www.gravatar.com/avatar/15a606ee8e65f29d1c01554972d44635?d=identicon\u0026s=64",
      "cl": "D304158",
      "clUrl": "https://phabricator.services.mozilla.com/D304158",
      "description": "I looked into passing the SerialPlatformService into the SerialManagerParent,\nbut this is a bit awkward because the constructor can't return an error. But I\ndid cache the SerialPlatformService in SerialManagerParent::Init() and removed\nseveral now unneeded null checks elsewhere.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D304158",
      "email": "greg@gregstoll.com",
      "hash": "d1559e2cfa2e125cd2e0aa4982d200ec5cea0aaf",
      "subject": "Bug 2029352 - cache SerialPlatformService in SerialManagerParent r=cmartin"
    },
    "D304705": {
      "author": "Atharva Wadodkar",
      "avatar": "https://www.gravatar.com/avatar/2dd3b37f4c436e862d5109ce724b1cb3?d=identicon\u0026s=64",
      "cl": "D304705",
      "clUrl": "https://phabricator.services.mozilla.com/D304705",
      "description": "The four public fields (scrollX, scrollY, zoom, source) were mutable, letting consumers alter a scroll update they received. Make them final and construct instances via a single public ScrollPositionUpdate(float, float, float, int) constructor, replacing the implicit no-arg constructor plus field assignment.\n\nRegenerate api.txt and update the API changelog accordingly.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D304705",
      "email": "atharva.wadodkar2003@gmail.com",
      "hash": "d55c4a9171f390b891734dd429f8d070585fef54",
      "subject": "Bug 1994863 - Make ScrollPositionUpdate immutable. r=botond,geckoview-reviewers,android-reviewers,m_kato,petru"
    },
    "D305692": {
      "author": "Adam Vandolder",
      "avatar": "https://www.gravatar.com/avatar/c8f5c62b0297904ec05a568c9f6a8987?d=identicon\u0026s=64",
      "cl": "D305692",
      "clUrl": "https://phabricator.services.mozilla.com/D305692",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D305692",
      "email": "avandolder@mozilla.com",
      "hash": "72e813a8c735d17f941a995a7999bc216345f7e0",
      "subject": "Bug 2020715 - Implement consider speculative loads for URL rules. r=dom-core-reviewers,jjaschke"
    },
    "D305989": {
      "author": "Punam Dahiya",
      "avatar": "https://www.gravatar.com/avatar/bb829b468ca71bf535f2e948861dcd7c?d=identicon\u0026s=64",
      "cl": "D305989",
      "clUrl": "https://phabricator.services.mozilla.com/D305989",
      "description": "Fix of regression that added border-radius to messaging system screens with center layout as part of D307037 fix\n\nhttps://searchfox.org/firefox-main/rev/46e9f12a8f9b9b746a71e1b02464fcae95f8da64/browser/components/asrouter/content-src/styles/_multistage.scss#469\n\nSee related comment https://phabricator.services.mozilla.com/D305989#inline-1665301\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310709",
      "email": "pdahiya@mozilla.com",
      "hash": "fbe5b769b0423c8521c261bd78bf623e9685ff7d",
      "subject": "Bug 2051524 - Fix of rounded borders visible during Smart Window Onboarding r=gcardieri"
    },
    "D306294": {
      "author": "Dre Grant",
      "avatar": "https://www.gravatar.com/avatar/766f0b780d039fe61b18c3a95137d8ea?d=identicon\u0026s=64",
      "cl": "D306294",
      "clUrl": "https://phabricator.services.mozilla.com/D306294",
      "description": "Share the trailing block of every New Tab widget context menu through two new\ncomponents: WidgetMenuFooter (divider, Change size, Move, Hide widget, Learn\nmore, in a fixed order) and SizeSubmenu. The Focus Timer, Lists, Weather,\nClocks, and World Cup widgets now render through them, so the menus stay\nconsistent by construction.\n\nBehavior changes:\n- The hide item reads \"Hide widget\" everywhere (was \"Hide timer\"/\"Hide clock\");\n  the now-unused Fluent strings are removed.\n- \"Learn more\" opens in a new tab for every widget (only Lists did before).\n- The World Cup widget menu now shows the shared divider before its footer and\n  opens \"Learn more\" in a new tab.\n- Focus Timer offers medium/large sizes only (small was previously shown\n  disabled).\n\nDifferential Revision: https://phabricator.services.mozilla.com/D306294",
      "email": "dgrant@mozilla.com",
      "hash": "f17edff243c1851497de80f9ab2a95225dfcbbe5",
      "subject": "Bug 2046045 - Make New Tab widget context menus consistent r=maxx"
    },
    "D306331": {
      "author": "Daniel Baker",
      "avatar": "https://www.gravatar.com/avatar/6ddc559e0b5aedf7ad9af0dcb6425ae6?d=identicon\u0026s=64",
      "cl": "D306331",
      "clUrl": "https://phabricator.services.mozilla.com/D306331",
      "description": "Some non-standard endpoints (e.g. FaceTime) include a=ssrc lines in\nrecvonly m-sections. When one of those SSRCs matches a local send SSRC,\nEnsureLocalSSRC() detects the apparent collision and regenerates our send\nSSRC to a random value the peer never negotiated, making our video\ninvisible to FaceTime.\n\nRecvTrackSetRemote now accepts the caller's own send SSRCs via\naOwnSendSsrcs and removes any remote a=ssrc entry that duplicates one\nbefore storing it in mSsrcs. JsepSessionImpl passes\nmSendTrack.GetSsrcs() at the call site. Only SSRCs we know are ours are\nsuppressed; all other extraction is unchanged.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D306331",
      "email": "dbaker@mozilla.com",
      "hash": "97aabe35b47c8877d398c322e0447c939048f216",
      "subject": "Bug 2042589 - Filter remote r=webrtc-reviewers,ng,pehrsons,bwc entries that duplicate our send SSRCs in RecvTrackSetRemote."
    },
    "D306332": {
      "author": "Daniel Baker",
      "avatar": "https://www.gravatar.com/avatar/6ddc559e0b5aedf7ad9af0dcb6425ae6?d=identicon\u0026s=64",
      "cl": "D306332",
      "clUrl": "https://phabricator.services.mozilla.com/D306332",
      "description": "Per spec (https://w3c.github.io/webrtc-pc/#dom-rtcrtpsender-track):\n\"If track is null then the RTCRtpSender does not send.\"\n\nA trackless sendonly transceiver had mTransmitting = IsSending() = true\nafter negotiation, so the conduit was driven to transmit with no media\nsource. With FaceTime's multiple early renegotiations, StartTransmitting\nchurned ~13x, no RTP was produced, and FaceTime tore down the ICE binding\n(consent 401), failing the call.\n\nGate mTransmitting on IsSending() \u0026\u0026 mSenderTrack so the conduit only\nstarts once a track is bound. The WebRTC stats spec requires\nRTCOutboundRtpStreamStats to exist as soon as a sender is configured by\na completed offer/answer exchange, regardless of track presence. To satisfy\nthis without starting the conduit, VideoConduit::GetSenderStats() and\nAudioConduit::GetSenderStats() synthesise minimal stats keyed by the SSRCs\nnegotiated in SDP when no send stream exists.\n\nBecause SeamlessTrackSwitch() (called by replaceTrack) updates the pipeline\ntrack synchronously but defers the mSenderTrack update to a queued task per\nspec, MaybeUpdateConduit() is now called a second time from that queued\ntask once mSenderTrack is final. This ensures the conduit correctly starts\nor stops based on the new track value rather than the stale one visible\nduring the synchronous call.\n\nTwo previously FAIL-expected rtp-stats-lifetime subtests now pass as a\nresult of the synthesised stats, so their expectations are removed.\nThis also makes the WPT subtest \"track with video stays muted when setting\nthe transceiver direction to 'sendrecv' after 'inactive' but no packets\nflow\" pass, so its FAIL expectation is removed.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D306332",
      "email": "dbaker@mozilla.com",
      "hash": "df0c3ce3eb7c85e2d5a1b298777f25cc609f6283",
      "subject": "Bug 2042589 - Prevent RTCRtpSender conduit transmit churn for a trackless sender. r=webrtc-reviewers,pehrsons"
    },
    "D306576": {
      "author": "Tymur Boiko",
      "avatar": "https://www.gravatar.com/avatar/e5455cbc9ccf5951783c79fc29beda3c?d=identicon\u0026s=64",
      "cl": "D306576",
      "clUrl": "https://phabricator.services.mozilla.com/D306576",
      "description": "Each decoder was creating its own VkDevice via av_hwdevice_ctx_create,\ncausing already-playing videos (including inline ads) to stall, delay or freeze\nplayback in all tabs and crash the RDD process when two decoders initialized\nsimultaneously.\n\nIntroduce VulkanDeviceHolder, a process-wide singleton (mirroring\nVADisplayHolder for VA-API) that shares a single AVHWDeviceContext\n(VkDevice) across all decoders. The first decoder pays vkCreateDevice;\nsubsequent decoders get av_buffer_ref() on the same context.\n\nReplace vkDeviceWaitIdle in Cleanup() with vkWaitForFences on the\nper-decoder copy fences, so tearing down one decoder does not stall the\nshared device and block other running decoders.\n\nAdd device name validation in GetOrCreate() so a decoder on a different\nGPU does not silently reuse the wrong VkDevice. Release the sDeviceHolder\nlock before av_hwdevice_ctx_create to avoid holding it during the\npotentially slow vkCreateDevice, with race-safe re-acquisition afterward.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D306576",
      "email": "tboiko@nvidia.com",
      "hash": "23095f5581f5b712fe7fa23de925843900a4bdab",
      "subject": "Bug 2047329 - DOM Media - Share VkDevice across Vulkan video decoders. r=stransky,padenot"
    },
    "D306741": {
      "author": "Johan Lorenzo",
      "avatar": "https://www.gravatar.com/avatar/2cf8ca191d6cf9a10cc90462f9c9258d?d=identicon\u0026s=64",
      "cl": "D306741",
      "clUrl": "https://phabricator.services.mozilla.com/D306741",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D306741",
      "email": "jlorenzo@mozilla.com",
      "hash": "59ce5fe07a0eb2b0b3d449cdb149d9faf2e4dfc9",
      "subject": "Bug 2032149 - part 1: Add shunit2 scaffolding for install-firefox.sh unit tests r=taskgraph-reviewers,ahal"
    },
    "D306742": {
      "author": "Johan Lorenzo",
      "avatar": "https://www.gravatar.com/avatar/2cf8ca191d6cf9a10cc90462f9c9258d?d=identicon\u0026s=64",
      "cl": "D306742",
      "clUrl": "https://phabricator.services.mozilla.com/D306742",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D306742",
      "email": "jlorenzo@mozilla.com",
      "hash": "427692139ddb300f61082aea69c562f3d1be2d1d",
      "subject": "Bug 2032149 - part 2: Add install-firefox.sh for Linux (apt) and linux-install-test CI kind r=taskgraph-reviewers,ahal"
    },
    "D306743": {
      "author": "Johan Lorenzo",
      "avatar": "https://www.gravatar.com/avatar/2cf8ca191d6cf9a10cc90462f9c9258d?d=identicon\u0026s=64",
      "cl": "D306743",
      "clUrl": "https://phabricator.services.mozilla.com/D306743",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D306743",
      "email": "jlorenzo@mozilla.com",
      "hash": "f8de2b2fe5fb963e70f131d75b5b8e50ca400517",
      "subject": "Bug 2032149 - part 3: Add rpm support to install-firefox.sh r=taskgraph-reviewers,ahal"
    },
    "D306744": {
      "author": "Johan Lorenzo",
      "avatar": "https://www.gravatar.com/avatar/2cf8ca191d6cf9a10cc90462f9c9258d?d=identicon\u0026s=64",
      "cl": "D306744",
      "clUrl": "https://phabricator.services.mozilla.com/D306744",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D306744",
      "email": "jlorenzo@mozilla.com",
      "hash": "da844fce86fd5b190cc3fb321823b6147ca52fc3",
      "subject": "Bug 2032149 - part 4: Add flatpak support to install-firefox.sh r=taskgraph-reviewers,ahal"
    },
    "D306745": {
      "author": "Johan Lorenzo",
      "avatar": "https://www.gravatar.com/avatar/2cf8ca191d6cf9a10cc90462f9c9258d?d=identicon\u0026s=64",
      "cl": "D306745",
      "clUrl": "https://phabricator.services.mozilla.com/D306745",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D306745",
      "email": "jlorenzo@mozilla.com",
      "hash": "3254185975b304a953614e37c273cb6074f8a501",
      "subject": "Bug 2032149 - part 5: Add tarball support to install-firefox.sh r=taskgraph-reviewers,ahal"
    },
    "D306746": {
      "author": "Johan Lorenzo",
      "avatar": "https://www.gravatar.com/avatar/2cf8ca191d6cf9a10cc90462f9c9258d?d=identicon\u0026s=64",
      "cl": "D306746",
      "clUrl": "https://phabricator.services.mozilla.com/D306746",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D306746",
      "email": "jlorenzo@mozilla.com",
      "hash": "4a9f0336277b1881eb48d984965b978db56c5a20",
      "subject": "Bug 2032149 - part 6: Add snap support to install-firefox.sh r=taskgraph-reviewers,ahal"
    },
    "D307151": {
      "author": "Sam Foster",
      "avatar": "https://www.gravatar.com/avatar/829febdab435f158003003158c098136?d=identicon\u0026s=64",
      "cl": "D307151",
      "clUrl": "https://phabricator.services.mozilla.com/D307151",
      "description": "* Define a new pref browser.tabs.contextmenu.altstructure.enabled to allow opt-in to a reorganized tab context menu\n* Add menu layout data for current and alternate menu structures\n* Refactoring in GenAI.sys.mjs to allow creating a single menu item for Summarize vs. the sub-menu\n* New test and promote one of the openTabContextMenu implementations to head.js (and remove the duplicates)\n* Add the nimbus feature and variable in FeatureManifest.yaml\n* Add comments to a couple of context menu strings to clarify their use\n\nDifferential Revision: https://phabricator.services.mozilla.com/D307151",
      "email": "sfoster@mozilla.com",
      "hash": "48d2e6187828b69c1d2898b89d5fe82d6f38ef93",
      "subject": "Bug 2031718 - Implement menu section and item ordering layer and add an alternative tab context menu layout. r=tabbrowser-reviewers,fluent-reviewers,echa,flod,sclements"
    },
    "D307418": {
      "author": "unifolia",
      "avatar": "https://www.gravatar.com/avatar/4694b477c490cf60cd24b4c7467bcce3?d=identicon\u0026s=64",
      "cl": "D307418",
      "clUrl": "https://phabricator.services.mozilla.com/D307418",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D307418",
      "email": "jlewis@mozilla.com",
      "hash": "f971dfb8498a02859762f2b3f3506706f0dea597",
      "subject": "Bug 2027850 - Manual Smart bar intent Configuration r=urlbar-reviewers,omarg,mak"
    },
    "D307420": {
      "author": "Hiroyuki Ikezoe",
      "avatar": "https://www.gravatar.com/avatar/9ec516861853d265a973cd0ef66735cf?d=identicon\u0026s=64",
      "cl": "D307420",
      "clUrl": "https://phabricator.services.mozilla.com/D307420",
      "description": "UpdatePendingScrollInfo sets the layout scroll offset to the raw main-thread\ndestination and clamps the visual scroll offset independently, leaving the two\noffsets in an inconsistent relationship. The two clamps disagree at sub-pixel\nprecision: the main thread clamps the destination in app units while\nCalculateScrollRange() clamps in CSS pixels (subtracting after converting,\nlanding on an adjacent float at a scroll extreme). For non-root content that\nleaves the visual and layout offsets a ULP apart, violating the invariant that\nthey coincide and tripping the assertion in UpdatePendingScrollInfo; the same\nindependent-clamp inconsistency also affects the layout-encloses-visual\nrelationship on root content.\n\nRe-establish the proper layout/visual relationship via\nRecalculateLayoutViewportOffset(), the same way every other visual-offset\nmutator does (e.g. AsyncPanZoomController::SetVisualScrollOffset).\n\nDifferential Revision: https://phabricator.services.mozilla.com/D307420",
      "email": "hikezoe.birchill@mozilla.com",
      "hash": "139e4f2bd960918a04f832ad20e51821fbe515ab",
      "subject": "Bug 2034907 - Keep the visual and layout scroll offsets in sync in FrameMetrics::UpdatePendingScrollInfo. r=botond"
    },
    "D307641": {
      "author": "Bryan Johns",
      "avatar": "https://www.gravatar.com/avatar/26880c326c36e30d2e428dc2ac90e5e4?d=identicon\u0026s=64",
      "cl": "D307641",
      "clUrl": "https://phabricator.services.mozilla.com/D307641",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D307641",
      "email": "bjohns@mozilla.com",
      "hash": "6a1e0d6e801327cc68584de5c97ea4cf50d8b710",
      "subject": "Bug 2048749 - Increased MAX_TABS retrieved by GetOpenTabs tool from 15 to 30 r=simonf,tetchart"
    },
    "D307846": {
      "author": "Florian Quèze",
      "avatar": "https://www.gravatar.com/avatar/0ffa237c82d28773736b6c9688b404e3?d=identicon\u0026s=64",
      "cl": "D307846",
      "clUrl": "https://phabricator.services.mozilla.com/D307846",
      "description": "Add a `reviewers` subcommand to `mach file-info` that suggests reviewers\nfor a set of files from two sources:\n\n  * The reviewers that Phabricator's Herald rules would automatically add\n    for the files, derived from the reviewer-selector tool's\n    herald_rules.json (fetched and cached under the mozbuild state\n    directory, refreshed daily). The `differential-affected-files`\n    conditions of each active rule are evaluated against the paths to\n    replicate which reviewers (groups and individuals) Herald would\n    attach, including whether they are blocking.\n\n  * As a fallback when no rule matches, the individuals and groups that\n    reviewed recent patches touching the files, parsed from `r=` trailers\n    in the version control history. This is consulted only when no Herald\n    reviewer was found, since walking the history of a rarely-touched\n    file is slow.\n\nThe history is read through the mozversioncontrol abstraction so it\nworks with git, jj and Mercurial.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D307846",
      "email": "florian@queze.net",
      "hash": "e9c35743bbf770c9451cf22446cd4f9dd5999d06",
      "subject": "Bug 2048988 - Add a `mach file-info reviewers` subcommand to suggest reviewers for files. r=firefox-build-system-reviewers,shtrom,ahochheiden"
    },
    "D307847": {
      "author": "Florian Quèze",
      "avatar": "https://www.gravatar.com/avatar/0ffa237c82d28773736b6c9688b404e3?d=identicon\u0026s=64",
      "cl": "D307847",
      "clUrl": "https://phabricator.services.mozilla.com/D307847",
      "description": "List the reviewer groups known to the reviewer-selector tool (those\nreferenced by Phabricator's Herald rules, as scraped into\nherald_rules.json). This provides a source of truth for valid group\nnames when choosing a reviewer, both for humans and for tooling such as\nClaude skills that file bugs or pick reviewers.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D307847",
      "email": "florian@queze.net",
      "hash": "f91bd6cd330141e3dacecef280fee4d52424517c",
      "subject": "Bug 2048988 - Add a `mach file-info reviewer-groups` subcommand. r=shtrom"
    },
    "D307848": {
      "author": "Florian Quèze",
      "avatar": "https://www.gravatar.com/avatar/0ffa237c82d28773736b6c9688b404e3?d=identicon\u0026s=64",
      "cl": "D307848",
      "clUrl": "https://phabricator.services.mozilla.com/D307848",
      "description": "Add a `find-reviewer` agent skill that uses the new `mach file-info\nreviewers` and `reviewer-groups` subcommands to pick the reviewer for a\nchange, so the `r=` line of a commit message can be filled in\nautomatically instead of being left to the user. The skill stresses that\nreviewer and group names must be used exactly as the tooling reports\nthem, since moz-phab rejects a submission that names an unknown reviewer.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D307848",
      "email": "florian@queze.net",
      "hash": "e437ba01c9a4d7a1e09a55de5f27904b2f13886c",
      "subject": "Bug 2048988 - Add a find-reviewer Claude skill. r=ai4dev-reviewers,padenot"
    },
    "D307969": {
      "author": "Adam Vandolder",
      "avatar": "https://www.gravatar.com/avatar/c8f5c62b0297904ec05a568c9f6a8987?d=identicon\u0026s=64",
      "cl": "D307969",
      "clUrl": "https://phabricator.services.mozilla.com/D307969",
      "description": "In order to support exposing SpeculationRuleSet's ReferrerPolicys to C++ for the\neventual firing of speculative prefetches, we need to align the enum values so\nthey can be converted between each other more easily.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D307969",
      "email": "avandolder@mozilla.com",
      "hash": "59f2aba72c92dcdeee7b736ca199d5f5b411f655",
      "subject": "Bug 2020715 - Reorder speculationrules ReferrerPolicy to match webidl. r=webidl,emilio"
    },
    "D308124": {
      "author": "Valentin Pollet",
      "avatar": "https://www.gravatar.com/avatar/ec6bbf3c5be00645b45d5aac7ae9923c?d=identicon\u0026s=64",
      "cl": "D308124",
      "clUrl": "https://phabricator.services.mozilla.com/D308124",
      "description": "Added a test to validate that llama.cpp native generation handles UTF8 sequences correctly.\nThe test uses a tiny model outputing a predictable sequence of tokens.\nThe python script used to produce the test model is attached on Bugzilla.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D308124",
      "email": "vpollet@mozilla.com",
      "hash": "3f9b0a06e8fce15c45287688aae9488cebe007ab",
      "subject": "Bug 2043430 - Fixed UTF8 sequences handling in llama.cpp generation r=jbowser,ai-platform-reviewers"
    },
    "D308175": {
      "author": "Hiroyuki Ikezoe",
      "avatar": "https://www.gravatar.com/avatar/9ec516861853d265a973cd0ef66735cf?d=identicon\u0026s=64",
      "cl": "D308175",
      "clUrl": "https://phabricator.services.mozilla.com/D308175",
      "description": "When a pan-end arrives with no active pan gesture block (for example after\nthe block was interrupted by a content preventDefault()), it gets turned into\na pan-start so a new block can be started. Leaving that block active cancelled\na running overscroll snap-back animation, via OnPanBegin's\nCancelAnimations(ExcludeOverscroll), without ever snapping back, leaving the\noverscroll gutter of a sub scroll container stuck. Emit an explicit pan-end so\nthe synthesized block ends and the overscroll snaps back.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D308175",
      "email": "hikezoe.birchill@mozilla.com",
      "hash": "76725a83d79957b14072bde359520e8de4c58c74",
      "subject": "Bug 1931090 - Terminate the synthesized pan gesture block when transmogrifying a pan-end into a pan-start. r=botond"
    },
    "D308268": {
      "author": "Aaditya Dhingra",
      "avatar": "https://www.gravatar.com/avatar/fb4140cc8b8731003eb91443b3aca5b8?d=identicon\u0026s=64",
      "cl": "D308268",
      "clUrl": "https://phabricator.services.mozilla.com/D308268",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D308268",
      "email": "adhingra@mozilla.com",
      "hash": "77df60d38b8fc73350bcd83879de1ba31ea5fe85",
      "subject": "Bug 2049695 - Fix \"Could not read ktlint report\" error in fenix/focus linters r=nalexander"
    },
    "D308284": {
      "author": "AndiAJ",
      "avatar": "https://www.gravatar.com/avatar/b4ea35e4d5d0c51e2affc0dc2515853c?d=identicon\u0026s=64",
      "cl": "D308284",
      "clUrl": "https://phabricator.services.mozilla.com/D308284",
      "description": "The UI test was flaky because the page wasn't fully loaded before performing the click on the \"Site info\" button.\nBecause the page wasn't fully loaded a globe icon was being displayed instead of the shield icon and clicking it didn't open the \"Unified trust panel\".\n\nTo fix this I've updated the \"secure site info\" button selector to use the newly added test tag.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D308284",
      "email": "andiaj@users.noreply.github.com",
      "hash": "6b9a79a02a9507045cad559bfae2f14de665101e",
      "subject": "Bug 2049272 - Fix verifyNavigationReachability - UnifiedTrustPanelPage UI test r=aaronmt"
    },
    "D308324": {
      "author": "iain holmes",
      "avatar": "https://www.gravatar.com/avatar/0fbfa48ae93f2eded6d6ef095ea9211d?d=identicon\u0026s=64",
      "cl": "D308324",
      "clUrl": "https://phabricator.services.mozilla.com/D308324",
      "description": "isFirstRun can be reset and return a false positive in certain scenarios which causes the launch\non login preference to be reenabled even after the user disables it.\n\nThis change sets a preference flag so we can tell if we've already enabled it once, so we don't\nrevert user changes.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D308324",
      "email": "iholmes@mozilla.com",
      "hash": "08d4dee400d3819fdf51fa2f68931fccc5719260",
      "subject": "Bug 2049494 - Set a preference after enabling Launch on Login. r=mconley"
    },
    "D308617": {
      "author": "Meg Viar",
      "avatar": "https://www.gravatar.com/avatar/99c3c115911cba94429ff3eb14fbae0a?d=identicon\u0026s=64",
      "cl": "D308617",
      "clUrl": "https://phabricator.services.mozilla.com/D308617",
      "description": "Adds a new `action_only` message template. These are messages with no UI that perform an action or collection of actions when delivered. ASRouter silently executes an allowlisted SpecialMessageAction, records a local impression, sends impression telemetry, and does not block the message (re-fire is governed by frequency caps).\n\nAn allowlist gate (`_isAllowedActionOnlyMessageAction`) ensures only allowlisted action types may run For now, the list is limited to \"CONFIRM_LAUNCH_ON_LOGIN\" (the first use case for this message type). Bug 2050517 will allow this list to be extended via remote-settings for greater off-train flexibility.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D308617",
      "email": "lmegviar@gmail.com",
      "hash": "8e128f65f074e899ba238b98bc12ffc4ceb3130b",
      "subject": "Bug 2050140 - Add new action-only message type in messaging system r=omc-reviewers,aminomancer"
    },
    "D308638": {
      "author": "Caleb Chan",
      "avatar": "https://www.gravatar.com/avatar/2238a75309adf73255119dfc6f497cf3?d=identicon\u0026s=64",
      "cl": "D308638",
      "clUrl": "https://phabricator.services.mozilla.com/D308638",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D308638",
      "email": "cachan@mozilla.com",
      "hash": "d03eb282df6a8ed55d4b5c427e41876d9fcf7906",
      "subject": "Bug 2042097 - added fetchBookmarksByURLs helper using array binding. r=mak,places-reviewers"
    },
    "D308651": {
      "author": "Mike Conley",
      "avatar": "https://www.gravatar.com/avatar/4b4985a7acf7db49dfddd7815b55a043?d=identicon\u0026s=64",
      "cl": "D308651",
      "clUrl": "https://phabricator.services.mozilla.com/D308651",
      "description": "Adds the Browser icon entry under Appearance and its picker sub-pane (Basic and\nBonus sets), gated behind browser.shell.customIcon.enabled, which is disabled\nby default while the feature is in development.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D308651",
      "email": "mconley@mozilla.com",
      "hash": "e4cbc1c992a26976afa899ce6ff3da7d582d61e6",
      "subject": "Bug 2049877 - Add about:settings UI for choosing a custom browser icon. r=hjones,fluent-reviewers,desktop-theme-reviewers,flod"
    },
    "D308832": {
      "author": "Jeremy Swinarton",
      "avatar": "https://www.gravatar.com/avatar/d88d3fdf48ea609876f67ee42d980af2?d=identicon\u0026s=64",
      "cl": "D308832",
      "clUrl": "https://phabricator.services.mozilla.com/D308832",
      "description": "The expand-on-hover sidebar handled hover state by maintaining an event\ncounter and attaching/detaching the MousePosTracker listener on each\nincrement/decrement. This caused problems, esp. on Linux, if a popup\nclosed without firing a popuphidden event, which would cause the tracker\nto stay detached.\n\nThis solution replaces the counter with a store that tracks the actual\nlist of open popups (this is what we do on tab hover preview). This\nallows us to actually check which popups are open during a \"reconcile\"\nstep, which means the sidebar can self-heal. The MousePosTracker also\nstays attached the whole time, and events are simply ignored if popups\nare open, which means that there is no opportunity for the listener to\nbecome permanently detached.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D308832",
      "email": "jswinarton@mozilla.com",
      "hash": "18d2030c7d0a5314ffb30276edab5673a0bca634",
      "subject": "Bug 2023350: Prevent sidebar expand-on-hover from getting stuck open when interacting with panels r=kcochrane"
    },
    "D308863": {
      "author": "Harveer Singh",
      "avatar": "https://www.gravatar.com/avatar/53a89b8d24636f7d6172eefd328684dc?d=identicon\u0026s=64",
      "cl": "D308863",
      "clUrl": "https://phabricator.services.mozilla.com/D308863",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D308863",
      "email": "hsingh@mozilla.com",
      "hash": "e4280fe0452240b6b9f931e3803b19f6293e093d",
      "subject": "Bug 2044063: Fixing a service worker issue where a json mime type can be registered as a valid sw script.r=dom-worker-reviewers,edenchuang"
    },
    "D309037": {
      "author": "Raimund Hook",
      "avatar": "https://www.gravatar.com/avatar/d08742197137b787019dbe69131fa5f5?d=identicon\u0026s=64",
      "cl": "D309037",
      "clUrl": "https://phabricator.services.mozilla.com/D309037",
      "description": "Secure Event Input is enabled while a password field is focused and tracked by\nthe process-global sSecureEventInputCount.  It is drained from several handlers\nthat each re-evaluate IsPasswordEditor(), but two paths can leave it enabled\nwith no password field focused, locking other keyboard-observing apps (Logitech\nOptions, TextExpander, 1Password) out of input system-wide:\n\n- A focused widget/window could be destroyed without a preceding resign-key or\n  blur (e.g. a popup or window closed while a password field is focused and the\n  app stays active).  None of nsCocoaWindow::Destroy, widgetDestroyed, or\n  OnDestroyWidget drained Secure Event Input.  Add a drain in\n  IMEInputHandler::OnDestroyWidget, scoped to the focused handler so we never\n  disable input that another window legitimately holds.\n\n- ChildView::viewsWindowDidResignKey returned early when mGeckoChild was already\n  null, skipping the drain.  Its window-delegate twin windowDidResignKey drains\n  unconditionally; match that behaviour.\n\nThis is the same user-visible symptom as bug 556873, whose 2011 fix only covered\nthe common Return-to-submit transition.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309037",
      "email": "rhook@gitlab.com",
      "hash": "a2b33889b7007a3159c6f04b7d64d76bc78bf7bc",
      "subject": "Bug 2050794 - Release macOS Secure Event Input on widget teardown and window resign-key. r=mac-reviewers,bradwerth"
    },
    "D309069": {
      "author": "Andrew Halberstadt",
      "avatar": "https://www.gravatar.com/avatar/e560e7861c9f93a235b26565ed5c4010?d=identicon\u0026s=64",
      "cl": "D309069",
      "clUrl": "https://phabricator.services.mozilla.com/D309069",
      "description": "I previously implemented this for git / jj thinking we wouldn't need it\nfor hg. I was mistaken.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309069",
      "email": "ahal@mozilla.com",
      "hash": "7ada79a2737ec650f286e2429e4752d2b408c307",
      "subject": "Bug 2050950 - [mozversioncontrol] Also support 'env' in HgRepository.push, r=ahochheiden"
    },
    "D309073": {
      "author": "Julian Seward",
      "avatar": "https://www.gravatar.com/avatar/5edb95922c89f29d92b7febcba5669de?d=identicon\u0026s=64",
      "cl": "D309073",
      "clUrl": "https://phabricator.services.mozilla.com/D309073",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D309073",
      "email": "jseward@acm.org",
      "hash": "2ce4f152cca9d18601e75b9d9011ac45c46f7f64",
      "subject": "Bug 2047689.  r=rhunt."
    },
    "D309085": {
      "author": "Andrew McCreight",
      "avatar": "https://www.gravatar.com/avatar/0a70c84cd33dba0151fe15f2f8773137?d=identicon\u0026s=64",
      "cl": "D309085",
      "clUrl": "https://phabricator.services.mozilla.com/D309085",
      "description": "Let the JS engine deal with the minutia of JS::Value's representation.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309085",
      "email": "continuation@gmail.com",
      "hash": "ad5a771fe02a33b727fc7d1f119907c121a162ef",
      "subject": "Bug 2050877 - Simplify nsXPTConstantInfo::JSValue(). r=nika"
    },
    "D309156": {
      "author": "Anna Kulyk",
      "avatar": "https://www.gravatar.com/avatar/2c28c953ecebb4b478e4cd8e21ab56ff?d=identicon\u0026s=64",
      "cl": "D309156",
      "clUrl": "https://phabricator.services.mozilla.com/D309156",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D309156",
      "email": "akulyk@mozilla.com",
      "hash": "e4f7ed820b710db3f64678cdf92c3d14d9d3591e",
      "subject": "Bug 2019492 - Set type=\"list\" for Applications list in Settings to improve keyboard navigation r=hjones"
    },
    "D309157": {
      "author": "Giulia Cardieri",
      "avatar": "https://www.gravatar.com/avatar/2e4eedfcdde19365fecd9f9aacfa9da1?d=identicon\u0026s=64",
      "cl": "D309157",
      "clUrl": "https://phabricator.services.mozilla.com/D309157",
      "description": "Add a 216px min width to the sidebar and update how the smartbar footer works on smaller screens.\n\nFigma: https://www.figma.com/design/75Z1LtkCEUJWCxoY2KyNHv/Smart-Window-Q2?node-id=8315-119381\u0026m=dev\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309157",
      "email": "gcardieri@mozilla.com",
      "hash": "78c24f7d32b4b4fa2792e463e4c3219710cc87f6",
      "subject": "Bug 2015106: Add min width to smart window sidebar r=desktop-theme-reviewers,flozia,sfoster,urlbar-reviewers,jteow"
    },
    "D309174": {
      "author": "Andrew Halberstadt",
      "avatar": "https://www.gravatar.com/avatar/e560e7861c9f93a235b26565ed5c4010?d=identicon\u0026s=64",
      "cl": "D309174",
      "clUrl": "https://phabricator.services.mozilla.com/D309174",
      "description": "Jujutsu version 0.42 removed the `--reset-author` and `--author` flags\nfrom `jj describe` and `jj commit` respectively. Instead we should use\n`jj metaedit` to set the author.\n\nAlso bump the minimum version to v0.38 which is what we use to test in\nCI.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309174",
      "email": "ahal@mozilla.com",
      "hash": "3b126245a474d524265d70909ae9ce2d3678bf45",
      "subject": "Bug 2050950 - [mozversioncontrol] Support jj v0.42, r=ahochheiden"
    },
    "D309177": {
      "author": "Andrew Halberstadt",
      "avatar": "https://www.gravatar.com/avatar/e560e7861c9f93a235b26565ed5c4010?d=identicon\u0026s=64",
      "cl": "D309177",
      "clUrl": "https://phabricator.services.mozilla.com/D309177",
      "description": "This gives functions greater control over the behaviour of the\nsubprocess call via `**runargs`.\n\nThis also removes the _process_run_args helper which was just adding\ncomplexity more than anything.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309177",
      "email": "ahal@mozilla.com",
      "hash": "f9e8fe10c8d302bd7919abc31fbcdad7d87ac3c5",
      "subject": "Bug 2050950 - [mozversioncontrol] Use `subprocess.run` in BaseRepository._run, r=ahochheiden"
    },
    "D309216": {
      "author": "Adam Vandolder",
      "avatar": "https://www.gravatar.com/avatar/c8f5c62b0297904ec05a568c9f6a8987?d=identicon\u0026s=64",
      "cl": "D309216",
      "clUrl": "https://phabricator.services.mozilla.com/D309216",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D309216",
      "email": "avandolder@mozilla.com",
      "hash": "fbd8370212d6bf611d91924f3b0ff3173044560d",
      "subject": "Bug 2020715 - Implement consider speculative loads microtask. r=dom-core-reviewers,smaug"
    },
    "D309296": {
      "author": "James Teh",
      "avatar": "https://www.gravatar.com/avatar/749580f8bd5af77c57367e6c2717e283?d=identicon\u0026s=64",
      "cl": "D309296",
      "clUrl": "https://phabricator.services.mozilla.com/D309296",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D309296",
      "email": "jteh@mozilla.com",
      "hash": "2bebe20a03b62d1d5b9c5f96119a472a9738a7e8",
      "subject": "Bug 2039124: Enable tagged PDF generation on Nightly. r=morgan"
    },
    "D309383": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D309383",
      "clUrl": "https://phabricator.services.mozilla.com/D309383",
      "description": "This avoids a much slower out-of-line call for `std::isnan` on Linux.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309383",
      "email": "jdemooij@mozilla.com",
      "hash": "84f64e3e321b3bbdd5282bc7c69967c1f68a5fab",
      "subject": "Bug 2049714 part 1 - Use __builtin_isnan in JS::CanonicalizeNaN to ensure the check is inlined. r=mgaudet"
    },
    "D309384": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D309384",
      "clUrl": "https://phabricator.services.mozilla.com/D309384",
      "description": "Clang is smart enough to optimize away the NaN check for `setNumber(uint32_t)` and\n`setNumber(uint64_t)`.\n\n`JS::CanonicalizedDoubleValue` now forwards to `JS::DoubleValue`. We should remove it,\nbut this can happen in a follow-up bug. Similarly, `JS_NumberValue` just calls\n`JS::NumberValue` for now.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309384",
      "email": "jdemooij@mozilla.com",
      "hash": "67ed94b1c4cf12b86785a655525c3e9bdf4142fc",
      "subject": "Bug 2049714 part 2 - Always canonicalize NaNs for doubles stored in JS::Value. r=mgaudet"
    },
    "D309385": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D309385",
      "clUrl": "https://phabricator.services.mozilla.com/D309385",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D309385",
      "email": "jdemooij@mozilla.com",
      "hash": "d42e3f11570cbd3225e5ae0a8177adf7114017c5",
      "subject": "Bug 2049714 part 3 - Remove redundant JS::CanonicalizeNaN calls. r=mgaudet"
    },
    "D309386": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D309386",
      "clUrl": "https://phabricator.services.mozilla.com/D309386",
      "description": "These behave like `setDouble` and `setNumber` before part 2.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309386",
      "email": "jdemooij@mozilla.com",
      "hash": "b6826718078f9001214d92204b5147a30d12f943",
      "subject": "Bug 2049714 part 4 - Add set{Double,Number}AssumeCanonicalNaN and call them in the interpreter and Math builtins. r=jonco"
    },
    "D309389": {
      "author": "Rebecca King",
      "avatar": "https://www.gravatar.com/avatar/64249e96a4dd2fe7acbad293b87cc013?d=identicon\u0026s=64",
      "cl": "D309389",
      "clUrl": "https://phabricator.services.mozilla.com/D309389",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D309389",
      "email": "rking@mozilla.com",
      "hash": "8e17848c27328bd34a3c45813c3be0d75d61b9b1",
      "subject": "Bug 2028904 Remove custom font sizing from VPN elements - r=ip-protection-reviewers,desktop-theme-reviewers,dao,kpatenio"
    },
    "D309418": {
      "author": "Leo Tenenbaum",
      "avatar": "https://www.gravatar.com/avatar/191826fbebe3973ebd6d6eb595ddb5c2?d=identicon\u0026s=64",
      "cl": "D309418",
      "clUrl": "https://phabricator.services.mozilla.com/D309418",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D309418",
      "email": "ltenenbaum@mozilla.com",
      "hash": "3dee966259c2618006aeaffd005aedcde7f26ce4",
      "subject": "Bug 2051267 - Fix crash when EditContext is deactivated during composition. r=masayuki"
    },
    "D309436": {
      "author": "Olivia Hall",
      "avatar": "https://www.gravatar.com/avatar/9bb5ba1328acae6f1d36d1c8564bc4bf?d=identicon\u0026s=64",
      "cl": "D309436",
      "clUrl": "https://phabricator.services.mozilla.com/D309436",
      "description": "This patch adds and adjusts Labs telemetry:\n\n* Update `toggle_button_pressed` - Now posts after completion with Nimbus to capture status\n* Update `restore_defaults_dialog` - Now includes `slug_ids` and success status, rename of `count`\n* Add `initial_labs_fetch` - `slug_ids` of items reported by Nimbus and `count` on initialization\n* Add `fetch_failed` - Reports when intialization didn't work\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309436",
      "email": "ohall@mozilla.com",
      "hash": "fd48bb0e5fab9773ac0d4b5903a126de23ae026d",
      "subject": "Bug 2046556 - Add more telemetry for Android Firefox Labs r=android-reviewers,Roger"
    },
    "D309468": {
      "author": "Alastor Wu",
      "avatar": "https://www.gravatar.com/avatar/9f64a3c43c01820fd6be6b1ee3f326e1?d=identicon\u0026s=64",
      "cl": "D309468",
      "clUrl": "https://phabricator.services.mozilla.com/D309468",
      "description": "Notify the controls widget through the existing user-agent widget change\nchannel when the muted content attribute changes the effective muted state,\nmatching what the controls attribute already does, and have the widget repaint\nthe volume controls on that change. This keeps the mute button in sync without\nintroducing any web-observable volumechange.\n\nThe native media controls previously refreshed the mute button only in response\nto the volumechange event. Changing the muted content attribute while the muted\nstate is still its default updates the element's effective muted state, but the\nspec does not fire volumechange for a content-attribute change, so the mute\nbutton became stale when script toggled the attribute.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309468",
      "email": "alwu@mozilla.com",
      "hash": "acdbf8d25ba1c727663d36d1c2013bc9f957a7c7",
      "subject": "Bug 2051326 - Part 1: Reflect muted content attribute changes in the native media controls. r=media-playback-reviewers,kpatenio,jules,jolin"
    },
    "D309469": {
      "author": "Alastor Wu",
      "avatar": "https://www.gravatar.com/avatar/9f64a3c43c01820fd6be6b1ee3f326e1?d=identicon\u0026s=64",
      "cl": "D309469",
      "clUrl": "https://phabricator.services.mozilla.com/D309469",
      "description": "Verifies that adding, removing, and toggling the muted content attribute on a\nmedia element with native controls keeps the mute button in sync with the\nelement's muted state, and that doing so does not fire volumechange.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309469",
      "email": "alwu@mozilla.com",
      "hash": "702a42806a79dc2dbed166c8deeb0fe0bc119467",
      "subject": "Bug 2051326 - Part 2: Add a test for the mute button reflecting muted content attribute changes. r=media-playback-reviewers,jolin"
    },
    "D309484": {
      "author": "Dre Grant",
      "avatar": "https://www.gravatar.com/avatar/766f0b780d039fe61b18c3a95137d8ea?d=identicon\u0026s=64",
      "cl": "D309484",
      "clUrl": "https://phabricator.services.mozilla.com/D309484",
      "description": "The wallpaper feature highlight CTA previously hard-coded the Firefox wallpaper category as its deep-link target. Read an optional wallpaperCategory from the OMC message content instead: an unset value defaults to Firefox (preserving existing World Cup messages), a known WALLPAPER_CATEGORIES value is forwarded as-is, and an empty or unrecognized value opens the top-level Customize panel.\n\nNo schema change is needed since the newtab message content already allows additional properties, and the reducer and WallpaperCategories already handle a null or unavailable category.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309484",
      "email": "dgrant@mozilla.com",
      "hash": "3adec968d05ee6651ca86e63b9b45c837fbaae0d",
      "subject": "Bug 2051450 - Make the wallpaper feature highlight CTA deep-link category configurable via OMC message content. r=reemhamz"
    },
    "D309543": {
      "author": "Riza",
      "avatar": "https://www.gravatar.com/avatar/aebc786931c42febe0ffefd416d40f8c?d=identicon\u0026s=64",
      "cl": "D309543",
      "clUrl": "https://phabricator.services.mozilla.com/D309543",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D309543",
      "email": "rezwanarouf@yahoo.com",
      "hash": "3b7a5d5dc96366cf23f41ebae4e6eebf661855ce",
      "subject": "Bug 2044167 - Remove Debugger.onPromiseSettled r=bthrall"
    },
    "D309585": {
      "author": "Caleb Chan",
      "avatar": "https://www.gravatar.com/avatar/2238a75309adf73255119dfc6f497cf3?d=identicon\u0026s=64",
      "cl": "D309585",
      "clUrl": "https://phabricator.services.mozilla.com/D309585",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D309585",
      "email": "cachan@mozilla.com",
      "hash": "920c4be4937e5b5c63a6131c14f956853ac08c73",
      "subject": "Bug 1792669 - changed default private search engine to users default engine. r=Standard8"
    },
    "D309619": {
      "author": "Giulia Cardieri",
      "avatar": "https://www.gravatar.com/avatar/2e4eedfcdde19365fecd9f9aacfa9da1?d=identicon\u0026s=64",
      "cl": "D309619",
      "clUrl": "https://phabricator.services.mozilla.com/D309619",
      "description": "**Issue**: Restore previous session option is disabled when smart window is the default\n\n**What I found:**\n- `SessionStartup.sessionType` becomes 0 when a smart window is the default - indicating the session is null which makes restoring the session impossible\n- This is related to the `openBrowserWindow` changes I did in my previous patch. Even though a smart window as default is properly saved by session store, when we open a new window it reads the previous one as \"no session / 0\".\n\n**Root causes:**\n1. In `BrowserContentHandler`, method `openBrowserWindow` we check `lazy.SessionStartup.willRestore()` to ensure we won't overwrite the classic new tab url over the smart window new tab url. But this is being called too soon and makes Session Storage cache the session type value to 0, as there was no session yet, and when it tries to get the correct value from last session it ignores it because of the cached value. However, fixing this uncovers another bug.\n2. The smart window transparency part of `tabbrowser.js` assumed firstURI was always a string, which is not true as it could be a promise (other parts of the code already treat it as a promise).\n3. Even after fixing #1, smart window was visible for less than a second and overwritten by classic new tab (issue that I also saw in the previous patch). This is a separate problem: when a session is restored `restoreWindowFeatures` from `SessionStore.sys.mjs`decides if the window should be smart or classic based on the `shouldBeAIWindow` variable. But if we have the pref `startup.page=1` (deferred restore), the isAIWindow flag is lost and was assuming it was a classic window. At the end, I updated `shouldBeAIWindow` to check if smart window is the default, we are not fully restoring a session and this is the first window open - keep the window as smart.\n\n**Any new window with the smart as default pref should be smart.\nAny restored window should respect the original type, classic or smart**\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309619",
      "email": "gcardieri@mozilla.com",
      "hash": "bf7070b4eb821f5fd46e0285a01f95d17dc9da88",
      "subject": "Bug 2050943: Fix restore session when smart window is default r=Mardak,tabbrowser-reviewers,sclements"
    },
    "D309681": {
      "author": "Harrison Oglesby",
      "avatar": "https://www.gravatar.com/avatar/3956d10b2535af542f91f0a11834b064?d=identicon\u0026s=64",
      "cl": "D309681",
      "clUrl": "https://phabricator.services.mozilla.com/D309681",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D309681",
      "email": "oglesby.harrison@gmail.com",
      "hash": "1fc3e7a10158b682af21001aa8b069171006f187",
      "subject": "Bug 2050753 - Disable Google Lens toolbar entry in PBM r=android-reviewers,petru"
    },
    "D309683": {
      "author": "Harrison Oglesby",
      "avatar": "https://www.gravatar.com/avatar/3956d10b2535af542f91f0a11834b064?d=identicon\u0026s=64",
      "cl": "D309683",
      "clUrl": "https://phabricator.services.mozilla.com/D309683",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D309683",
      "email": "oglesby.harrison@gmail.com",
      "hash": "be24453ebcddbd22276c51723474eaafb22776e9",
      "subject": "Bug 2051710 - Replace video camera icon in LensCameraScreen with search icon r=android-reviewers,petru"
    },
    "D309740": {
      "author": "Rolf Rando",
      "avatar": "https://www.gravatar.com/avatar/cd5950d6cea4249dece18a9b1f5ac0da?d=identicon\u0026s=64",
      "cl": "D309740",
      "clUrl": "https://phabricator.services.mozilla.com/D309740",
      "description": "Also added accent normalization for forced chats.\n\nRemote settings fields have now been updated, so model download works.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309740",
      "email": "rrando@mozilla.com",
      "hash": "fee77384a34fab343fbfb829f6f85f9831a97f7f",
      "subject": "Bug 2051778 - SmartWindow intent model for France r=Mardak,bjohns,ai-platform-reviewers,thasan"
    },
    "D309742": {
      "author": "Omar Gonzalez",
      "avatar": "https://www.gravatar.com/avatar/177d9c601741c3356478bd66495030f9?d=identicon\u0026s=64",
      "cl": "D309742",
      "clUrl": "https://phabricator.services.mozilla.com/D309742",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D309742",
      "email": "s9tpepper@apache.org",
      "hash": "4b550c17bb6c2c7bac7e8842c6b76f17debf643f",
      "subject": "Bug 2047558 - Center Smart Window content area to Smartbar input r=Gijs,flozia"
    },
    "D309757": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D309757",
      "clUrl": "https://phabricator.services.mozilla.com/D309757",
      "description": "Split `record()` into a content-side gather and a parent-side record:\n`#collectEngagement()` resolves the values that can only be derived\ncontent-side -- the `action` (from the DOM event and picked element) and the\npicked action key -- into one snapshot, and `#recordEngagement()` records from\nit.\n\nAlso pass the visible results into `#recordSearchEngagementTelemetry()` rather\nthan re-reading them from the live view there, captured with the picked\nselIndex so the two stay consistent: the immediate engagement recording reads\nthem at record time, while the deferred disable/bounce recordings capture them\nat tracking time (their live view has moved on by the time they record). Behavior-neutral.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309757",
      "email": "dao@mozilla.com",
      "hash": "597bd5b37427df3e810ea13122326778c08fa0ba",
      "subject": "Bug 2051435 - [IPC Urlbar] Phase 5: Assemble an engagement snapshot and record from it. r=daleharvey,urlbar-reviewers"
    },
    "D309758": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D309758",
      "clUrl": "https://phabricator.services.mozilla.com/D309758",
      "description": "The view signalled a \"returned\" engagement interaction by mutating the\ntriggering DOM event (`event.interactionType`), the sole producer of that\nproperty. Thread the interaction type explicitly through\n`UrlbarInput.startQuery()` into `engagementEvent.start()` instead, so the\nstart-interaction helper reads a plain `Event` and can move content-side in a\nlater step. Behavior-neutral.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309758",
      "email": "dao@mozilla.com",
      "hash": "22b2b36b5d27a603d131ba635f3517b29e56d2a1",
      "subject": "Bug 2051435 - [IPC Urlbar] Phase 5: Thread the engagement interaction type explicitly instead of mutating the event. r=daleharvey,urlbar-reviewers"
    },
    "D309759": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D309759",
      "clUrl": "https://phabricator.services.mozilla.com/D309759",
      "description": "Extract the pure snapshot-collection helpers (`actionFromEvent`,\n`parseSearchString`, `startInteractionType`, `collectSnapshot`) into a new\ncontent module, `UrlbarTelemetryUtils`, that pulls in neither Glean nor\nInteractions. A content-side collector and the parent recorder can then build\nthe same engagement snapshot from their own `start()`/`record()`\norchestration. Behavior-neutral.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309759",
      "email": "dao@mozilla.com",
      "hash": "161e7e389cf2125125f5d2f117e9fef905a0dd2c",
      "subject": "Bug 2051435 - [IPC Urlbar] Phase 5: Extract engagement-snapshot collection into a shared UrlbarTelemetryUtils module. r=daleharvey,urlbar-reviewers"
    },
    "D309794": {
      "author": "DrSeed Lu",
      "avatar": "https://www.gravatar.com/avatar/1e9049af48a402e6ff0ad0b732d38a05?d=identicon\u0026s=64",
      "cl": "D309794",
      "clUrl": "https://phabricator.services.mozilla.com/D309794",
      "description": "This adds a search box to the Open Tabs sidebar panel. Typing filters each\nwindow's tabs to those whose title or URL matches, and shows a \"Search\nresults for [query]\" header with a result count above the window cards.\nWindows with no matches are hidden while searching, and a query that matches\nnothing shows \"No results for [query]\". Clearing the box returns to the\nnormal view.\n\nIt reuses the existing search strings, so there is nothing new to translate.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309794",
      "email": "dr.seed.lu@gmail.com",
      "hash": "560878b9933b0e3b391b5abbbd4a97cc64fdf412",
      "subject": "Bug 2040756 - Add search input to new sidebar open tabs panel r=nsharpley,kcochrane"
    },
    "D309807": {
      "author": "Kershaw Chang",
      "avatar": "https://www.gravatar.com/avatar/608e04ebca94be52b05c003d51d43e07?d=identicon\u0026s=64",
      "cl": "D309807",
      "clUrl": "https://phabricator.services.mozilla.com/D309807",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D309807",
      "email": "kershaw@mozilla.com",
      "hash": "937e91c5a25539be38806d48af6cd4e9d8f4e77a",
      "subject": "Bug 2051614 - Retry Happy Eyeballs with TRR disabled when TRR-resolved addresses fail to connect, r=necko-reviewers,valentin"
    },
    "D309816": {
      "author": "Kershaw Chang",
      "avatar": "https://www.gravatar.com/avatar/608e04ebca94be52b05c003d51d43e07?d=identicon\u0026s=64",
      "cl": "D309816",
      "clUrl": "https://phabricator.services.mozilla.com/D309816",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D309816",
      "email": "kershaw@mozilla.com",
      "hash": "aad2f915f87d595e6739994837948f3f3ddce2ae",
      "subject": "Bug 2051614 -  Reset stale IP family preference on the winning family under Happy Eyeballs, r=necko-reviewers,valentin"
    },
    "D309991": {
      "author": "canalun",
      "avatar": "https://www.gravatar.com/avatar/ec346a3c1f6f34eb6e81ba7af9cb0b45?d=identicon\u0026s=64",
      "cl": "D309991",
      "clUrl": "https://phabricator.services.mozilla.com/D309991",
      "description": "Fixes the CI error.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309991",
      "email": "i.am.kanaru.sato@gmail.com",
      "hash": "f39963941eb4b2d72a91e85a3620de61d847a486",
      "subject": "Bug 2051877 - Add typename keyword in EncryptedRandomAccessStream.h. r=jari"
    },
    "D310001": {
      "author": "serge-sans-paille",
      "avatar": "https://www.gravatar.com/avatar/9cdfdfc05249440f57269a0d26487253?d=identicon\u0026s=64",
      "cl": "D310001",
      "clUrl": "https://phabricator.services.mozilla.com/D310001",
      "description": "Get back to previous ThinLTO parameters before Bug 2045567 for OSX.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310001",
      "email": "sguelton@mozilla.com",
      "hash": "fa5de2daec28575f553fff7c86cf2e5ffb12362e",
      "subject": "Bug 2051856 - Prevent regression on build time and installer size on OSX r=glandium"
    },
    "D310031": {
      "author": "alin lastun",
      "avatar": "https://www.gravatar.com/avatar/59aa98683e895ba24835ab02aad86938?d=identicon\u0026s=64",
      "cl": "D310031",
      "clUrl": "https://phabricator.services.mozilla.com/D310031",
      "description": "Removed unused listener logic from FenixEmailMaskPrompt's show/hide methods to clean up dead code. Added a default empty getter/setter to the ToggleablePrompt interface to satisfy the contract without requiring boilerplate overrides.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310031",
      "email": "alastun@mozilla.com",
      "hash": "1f98a8e17788a4be96925e1a1a9c7ce881afece1",
      "subject": "Bug 2017966 - Remove unused toggleablePromptListener usage from FenixEmailMaskPrompt. r=android-reviewers,gmalekpour"
    },
    "D310050": {
      "author": "AndiAJ",
      "avatar": "https://www.gravatar.com/avatar/b4ea35e4d5d0c51e2affc0dc2515853c?d=identicon\u0026s=64",
      "cl": "D310050",
      "clUrl": "https://phabricator.services.mozilla.com/D310050",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310050",
      "email": "andiaj@users.noreply.github.com",
      "hash": "3088a0b0cf65f2299bb4382da2f7590f3ed9fb43",
      "subject": "Bug 2052183 - Migrate verifyTheAddToShortcutsSubMenuOptionTest UI test to the efficiency framework r=aaronmt"
    },
    "D310057": {
      "author": "Ryan VanderMeulen",
      "avatar": "https://www.gravatar.com/avatar/51823ded02903fa76c961fe2a3c1318a?d=identicon\u0026s=64",
      "cl": "D310057",
      "clUrl": "https://phabricator.services.mozilla.com/D310057",
      "description": "Cherry-picks libffi/libffi commit f7b3664 (PR #989), which casts the Win32\nspin-lock word to LONG volatile * in dlmalloc's CAS_LOCK/CLEAR_LOCK so clang 22\nno longer rejects the int*/long* mismatch as a hard -Wincompatible-pointer-types\nerror.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310057",
      "email": "rvandermeulen@mozilla.com",
      "hash": "19b561752ec2e4c7dd169d14e57827aa807031f8",
      "subject": "Bug 2052116 - Cherry-pick upstream libffi fix for the clang-22 dlmalloc build break. r=glandium"
    },
    "D310083": {
      "author": "fatadel",
      "avatar": "https://www.gravatar.com/avatar/c0edefdbf070cda026f3c90628df02b8?d=identicon\u0026s=64",
      "cl": "D310083",
      "clUrl": "https://phabricator.services.mozilla.com/D310083",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310083",
      "email": "afatkhutdinov@mozilla.com",
      "hash": "7d9a89580ac33c44837e223b1477d894b5469bc2",
      "subject": "Bug 2049348 - Use Nova styles in Performance panel in about:debugging. r=canova,devtools-reviewers,profiler-reviewers,nchevobbe"
    },
    "D310104": {
      "author": "Alexandre Poirot",
      "avatar": "https://www.gravatar.com/avatar/da6d769a219551f618ed95bff2c36aca?d=identicon\u0026s=64",
      "cl": "D310104",
      "clUrl": "https://phabricator.services.mozilla.com/D310104",
      "description": "StyleEditor was still asking for a local path to save css files served\nfrom Local Mode. This is unfortunate as we can easily guess it.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310104",
      "email": "poirot.alex@gmail.com",
      "hash": "5f20c820bf8973daf1a716877f1c200027d56625",
      "subject": "Bug 2052176 - [devtools] Save stylesheet to local mode folder files. r=devtools-reviewers,nchevobbe"
    },
    "D310146": {
      "author": "Adam Vandolder",
      "avatar": "https://www.gravatar.com/avatar/c8f5c62b0297904ec05a568c9f6a8987?d=identicon\u0026s=64",
      "cl": "D310146",
      "clUrl": "https://phabricator.services.mozilla.com/D310146",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310146",
      "email": "avandolder@mozilla.com",
      "hash": "dc86c936de58e531ad88b7f09e4a9a502d691fed",
      "subject": "Bug 2020715 - Expose null speculation rule tags as voided strings. r=dom-core-reviewers,jjaschke"
    },
    "D310147": {
      "author": "Christopher DiPersio",
      "avatar": "https://www.gravatar.com/avatar/4a7b1453542d6fc58b19ffa98e37b38c?d=identicon\u0026s=64",
      "cl": "D310147",
      "clUrl": "https://phabricator.services.mozilla.com/D310147",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310147",
      "email": "cdipersio@mozilla.com",
      "hash": "af14b34d62ff8d516b1dfa033633176c05c171fe",
      "subject": "Bug 2051714 - Add fr-FR Sensitive Content Filters for Memory Generation r=cmurray"
    },
    "D310156": {
      "author": "dwhisman",
      "avatar": "https://www.gravatar.com/avatar/182af1fd3a8e6ad9ba01ec659912ef52?d=identicon\u0026s=64",
      "cl": "D310156",
      "clUrl": "https://phabricator.services.mozilla.com/D310156",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310156",
      "email": "dwhisman@mozilla.com",
      "hash": "21203b7f01edc1ceece9af576366b6bc1d853f7d",
      "subject": "Bug 2052130 - Unset default heading font-sizes in chrome r=desktop-theme-reviewers,jules"
    },
    "D310157": {
      "author": "Andy Leiserson",
      "avatar": "https://www.gravatar.com/avatar/38744a8eed407458243ba8021f56609a?d=identicon\u0026s=64",
      "cl": "D310157",
      "clUrl": "https://phabricator.services.mozilla.com/D310157",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310157",
      "email": "aleiserson@mozilla.com",
      "hash": "25a2d8d4ad111f4e7c97e4d53bffb9dda1b425fa",
      "subject": "Bug 2052109 - Audit objc2-core-graphics r=supply-chain-reviewers,teoxoy"
    },
    "D310158": {
      "author": "Evandro Baginski",
      "avatar": "https://www.gravatar.com/avatar/3a80948a334fe9004934c6c5017472e0?d=identicon\u0026s=64",
      "cl": "D310158",
      "clUrl": "https://phabricator.services.mozilla.com/D310158",
      "description": "Depends on D310108\n\nDon't land this before D310174\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310158",
      "email": "ebaginski@thunderbird.net",
      "hash": "77d852bbea7f8a2ea02f7a49a5aee33fc3dd70c7",
      "subject": "Bug 2052318 - Use copy_attributes_from_dependent_job from mozilla-taskgraph r=taskgraph-reviewers,releng-reviewers,bhearsum"
    },
    "D310168": {
      "author": "Leo Tenenbaum",
      "avatar": "https://www.gravatar.com/avatar/191826fbebe3973ebd6d6eb595ddb5c2?d=identicon\u0026s=64",
      "cl": "D310168",
      "clUrl": "https://phabricator.services.mozilla.com/D310168",
      "description": "We want to directly update the text in the EditContext based on the offsets\ninstead of constructing a range in the DOM from them, since the range would\noften be incorrect (especially for \u003ccanvas\u003e EditContext).\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310168",
      "email": "ltenenbaum@mozilla.com",
      "hash": "e16a261d75a7bee5f9734e0ac20f661399870edb",
      "subject": "Bug 2050622 - Handle replaceText content command for EditContext. r=masayuki"
    },
    "D310207": {
      "author": "David Parks",
      "avatar": "https://www.gravatar.com/avatar/52b54b74a4b2589a419c3ed14cc55b65?d=identicon\u0026s=64",
      "cl": "D310207",
      "clUrl": "https://phabricator.services.mozilla.com/D310207",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310207",
      "email": "daparks@mozilla.com",
      "hash": "7d5a1350e44a7da202e613bd0276233eb5a2e41c",
      "subject": "Bug 2051888: Add missing null check in Windows nsDragService.cpp r=win-reviewers,gstoll"
    },
    "D310208": {
      "author": "David Parks",
      "avatar": "https://www.gravatar.com/avatar/52b54b74a4b2589a419c3ed14cc55b65?d=identicon\u0026s=64",
      "cl": "D310208",
      "clUrl": "https://phabricator.services.mozilla.com/D310208",
      "description": "Sanity check for the length of an IStream read.  Also now removes partial files\nin the event of an error.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310208",
      "email": "daparks@mozilla.com",
      "hash": "e3cb7a0c085d95d33c3a118b33d8e1d75e014102",
      "subject": "Bug 2052060: Check a received IStream's data length on Windows r=win-reviewers,gstoll"
    },
    "D310209": {
      "author": "David Parks",
      "avatar": "https://www.gravatar.com/avatar/52b54b74a4b2589a419c3ed14cc55b65?d=identicon\u0026s=64",
      "cl": "D310209",
      "clUrl": "https://phabricator.services.mozilla.com/D310209",
      "description": "Implementing the advice at\nhttps://learn.microsoft.com/en-us/windows/win32/intl/security-considerations--international-features#security-considerations-for-character-conversion-functions\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310209",
      "email": "daparks@mozilla.com",
      "hash": "997e618bb3348509b885721e1d334348af1ce820",
      "subject": "Bug 2051895: Use WC_NO_BEST_FIT_CHARS in nsDataObj r=win-reviewers,gstoll"
    },
    "D310212": {
      "author": "Dre Grant",
      "avatar": "https://www.gravatar.com/avatar/766f0b780d039fe61b18c3a95137d8ea?d=identicon\u0026s=64",
      "cl": "D310212",
      "clUrl": "https://phabricator.services.mozilla.com/D310212",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310212",
      "email": "dgrant@mozilla.com",
      "hash": "b5c44b6818541cf5152dd4582a0e113978e12de7",
      "subject": "Bug 2052373 - Add World Cup widget survey message callouts. r=maxx"
    },
    "D310214": {
      "author": "Chun-Min Chang",
      "avatar": "https://www.gravatar.com/avatar/8092c68fbfa26b5e17e2265e612bd1c3?d=identicon\u0026s=64",
      "cl": "D310214",
      "clUrl": "https://phabricator.services.mozilla.com/D310214",
      "description": "TestWebRTCCodecInfo and TestAudioFocusManager each carried their own RAII helper to set a boolean pref for the duration of a test and restore it afterwards. Move that into mozilla/gtest/ScopedPrefSetter.h so gtests share a single copy.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310214",
      "email": "chun.m.chang@gmail.com",
      "hash": "0bacde30e56cf208d0fd2d51ffc8cc439b6bc76a",
      "subject": "Bug 2052386 - Extract ScopedPrefSetter into a shared gtest header r=media-playback-reviewers,padenot"
    },
    "D310219": {
      "author": "Ryan VanderMeulen",
      "avatar": "https://www.gravatar.com/avatar/51823ded02903fa76c961fe2a3c1318a?d=identicon\u0026s=64",
      "cl": "D310219",
      "clUrl": "https://phabricator.services.mozilla.com/D310219",
      "description": "The opensuse/leap image rolled forward to Leap 16, which ships Python 3.13 and no\nlonger provides the python311-pip/python311-curses packages, so the pre-install\nstep failed outright. Switch to the version-agnostic python3-pip/python3-curses\nnames (which Leap provides via its python313 packages) so this does not break\nagain on the next Python bump, and drop the manual python3 symlink that the\npackages already provide.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310219",
      "email": "rvandermeulen@mozilla.com",
      "hash": "b4fa722139f987694f0da657d12a76c8780ebf79",
      "subject": "Bug 2048985 - Fix opensuse-leap bootstrap job for Leap 16. r=jcristau"
    },
    "D310220": {
      "author": "Ryan VanderMeulen",
      "avatar": "https://www.gravatar.com/avatar/51823ded02903fa76c961fe2a3c1318a?d=identicon\u0026s=64",
      "cl": "D310220",
      "clUrl": "https://phabricator.services.mozilla.com/D310220",
      "description": "The openSUSE bootstrapper unconditionally requested the awk capability, but the\nTumbleweed base image already provides it through busybox-gawk. That made zypper\ntry to swap in the canonical gawk, hit a package conflict, and abort the\nnon-interactive install. Only add awk to the requested packages when it is not\nalready available.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310220",
      "email": "rvandermeulen@mozilla.com",
      "hash": "e9c70d02c26d8d0c0e10ab46ca121b547e86b05f",
      "subject": "Bug 2044781 - Only install awk during bootstrap when it is missing. r=firefox-build-system-reviewers,ahochheiden"
    },
    "D310237": {
      "author": "Chun-Min Chang",
      "avatar": "https://www.gravatar.com/avatar/8092c68fbfa26b5e17e2265e612bd1c3?d=identicon\u0026s=64",
      "cl": "D310237",
      "clUrl": "https://phabricator.services.mozilla.com/D310237",
      "description": "When the encoder drops a frame in real-time usage, a frame that was requested as\na keyframe is silently lost from the output, so fewer keyframes than requested\nare produced -- a more consequential outcome than an ordinary dropped frame, yet\nindistinguishable in the log. The drop callback did not identify which frame was\ndropped.\n\nTag each submitted frame that requested a keyframe so the drop callback can\nrecognise that case, and note it in the existing drop log.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310237",
      "email": "chun.m.chang@gmail.com",
      "hash": "cc7aa311f91e1096278b606b6a8e306dd1b3c419",
      "subject": "Bug 2044535 - Note forced-keyframe frame drops in the macOS video encoder log. r=media-playback-reviewers,padenot"
    },
    "D310238": {
      "author": "Chun-Min Chang",
      "avatar": "https://www.gravatar.com/avatar/8092c68fbfa26b5e17e2265e612bd1c3?d=identicon\u0026s=64",
      "cl": "D310238",
      "clUrl": "https://phabricator.services.mozilla.com/D310238",
      "description": "In real-time usage the encoder may drop frames for large frame sizes. Submitting\na whole batch of frames at once can make it drop the frame that requested a\nkeyframe, so the output legitimately contains fewer keyframes than were\nrequested. Dropping frames in real-time mode is permitted by the WebCodecs\nspecification and matches other browsers, so requiring every requested keyframe\nto survive is not a valid expectation on this path.\n\nThe output-length check already tolerated dropped frames for real-time 4K, but\nthe neighbouring keyframe-count check did not. Relax the keyframe-count check the\nsame way in the batch test, requiring only that some output was produced and that\nthe stream still starts with a keyframe. The single-frame tests submit with\nenough slack that the requested-keyframe frame is not dropped, so they keep the\nstrict check.\n\nThis fixes the permafailing MediaDataEncoderTest.H264EncodeBatch4KAnnexBRealtime\nand H264EncodeBatch4KAVCCRealtime gtests on macosx1500-aarch64-shippable/opt.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310238",
      "email": "chun.m.chang@gmail.com",
      "hash": "b81be3cc4cf74b1f105ea6133472d29b71a26c44",
      "subject": "Bug 2044535 - Relax the keyframe-count check for real-time 4K batch encoding. r=media-playback-reviewers,padenot"
    },
    "D310239": {
      "author": "Chun-Min Chang",
      "avatar": "https://www.gravatar.com/avatar/8092c68fbfa26b5e17e2265e612bd1c3?d=identicon\u0026s=64",
      "cl": "D310239",
      "clUrl": "https://phabricator.services.mozilla.com/D310239",
      "description": "The single-frame and batch H.264 encode tests duplicated the entire post-encode\nvalidation. Keeping the two copies in sync is what let this bug happen: the\nreal-time 4K carve-out was applied to the frame-count check but not to the\nneighbouring keyframe-count check, in either copy.\n\nMove the shared validation into one helper so the expectations live in a single\nplace and a carve-out cannot be applied to one copy only. The batch caller\ntolerates a dropped keyframe on the real-time 4K path; the single-frame caller\nkeeps the strict check. No behaviour change, and the helper also guards its\noutput accesses against an empty result.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310239",
      "email": "chun.m.chang@gmail.com",
      "hash": "7c6006daaec121cb8adb8598ab12300f80ff8fda",
      "subject": "Bug 2044535 - Share the encode-output validation across the H.264 encode tests. r=media-playback-reviewers,padenot"
    },
    "D310274": {
      "author": "Nicolas Chevobbe",
      "avatar": "https://www.gravatar.com/avatar/f942478f2eaeb6cc42142cdd661976a7?d=identicon\u0026s=64",
      "cl": "D310274",
      "clUrl": "https://phabricator.services.mozilla.com/D310274",
      "description": "This way we can remove the methods we used to update the size of the input based\non its content.\nWe take this as an opportunity to change the way we compute a single char dimension,\nwhich is used to offset the autocomplete popup so it aligns with the keyword being\ntyped. We used to create a span, put a `x` in it, add it to the document, hidden,\nand then get its width and height.\nThis is now replaced by setting custom properties for width and height, which\nwe assign respectively a value of `1ch` and `1lh`, so we get the numbers we need.\nBecause we're retrieving those value via the input computed style, we need to\nregister the property and set a proper `\u003clength\u003e` syntax so we can get their\npx values.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310274",
      "email": "nchevobbe@mozilla.com",
      "hash": "3a3bdf14170e8c36beed1b1ea6b02801ed50353a",
      "subject": "Bug 2048278 - [devtools] Use field-sizing: content for inplace editor autosizing. r=devtools-reviewers,ochameau."
    },
    "D310278": {
      "author": "James Teh",
      "avatar": "https://www.gravatar.com/avatar/749580f8bd5af77c57367e6c2717e283?d=identicon\u0026s=64",
      "cl": "D310278",
      "clUrl": "https://phabricator.services.mozilla.com/D310278",
      "description": "We already have PDocAccessible::Printing which indicates that this is a print document.\nHowever, that is only called after the initial accessibility tree is sent, which is async from when we set up the document.\nIn the next patch, we will need this information synchronously when setting up the document.\nWe can't replace PDocAccessible::Printing because we still need to know when the initial tree has been fully sent and there's no other mechanism we can use for that.\nFor non-print docs, we can use PDocAccessible::RequestAckMutationEvents.\nHowever, print docs don't use a refresh tick (since they'll never send events), so they never send that message.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310278",
      "email": "jteh@mozilla.com",
      "hash": "e943b770254fd7353e6f577f70352851a4bd96c5",
      "subject": "Bug 2052414 part 1: Add DocAccessibleParent::IsPrintDoc, available as soon as the DocAccessibleParent is constructed. r=morgan"
    },
    "D310279": {
      "author": "James Teh",
      "avatar": "https://www.gravatar.com/avatar/749580f8bd5af77c57367e6c2717e283?d=identicon\u0026s=64",
      "cl": "D310279",
      "clUrl": "https://phabricator.services.mozilla.com/D310279",
      "description": "We only use the accessibility tree of print (static clone) documents to generate a tagged PDF.\nAccessibility clients should never see them.\nPreviously, we called ProxyCreated for them regardless, so we still created OS specific accessibility objects.\nThis caused problems on Android, where there can only be one top level document per session.\nTo fix this, just don't call ProxyCreated, since we don't need those objects anyway.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310279",
      "email": "jteh@mozilla.com",
      "hash": "0587f0ef0d15d5ebd222dd0308958b177ccc6b4d",
      "subject": "Bug 2052414 part 2: Don't call ProxyCreated for print DocAccessibleParents and their descendant RemoteAccessibles. r=morgan"
    },
    "D310287": {
      "author": "Teodor Tanasoaia",
      "avatar": "https://www.gravatar.com/avatar/f6e26ba235aa52010197970cfa3a9589?d=identicon\u0026s=64",
      "cl": "D310287",
      "clUrl": "https://phabricator.services.mozilla.com/D310287",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310287",
      "email": "ttanasoaia@mozilla.com",
      "hash": "c3a25d6f5541b1a42ec2d221e9fe7afdd0a03843",
      "subject": "Bug 2052109 - Update `wgpu` to revision 93e00976015c937fc86f02bd9efcf343c6ce5e5d. r=webgpu-reviewers,supply-chain-reviewers,ErichDonGubler"
    },
    "D310294": {
      "author": "Julian Descottes",
      "avatar": "https://www.gravatar.com/avatar/60dd86ccfd9c63b53e9f2a34b2f48442?d=identicon\u0026s=64",
      "cl": "D310294",
      "clUrl": "https://phabricator.services.mozilla.com/D310294",
      "description": "In conjunction with BCWebProgress:5 logs this could help investigate navigation errors.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310294",
      "email": "jdescottes@mozilla.com",
      "hash": "12e1c491852de5c95e4896dbf73ccdc1a64fc643",
      "subject": "Bug 2052459 - [devtools] Add logs for TabDescriptor navigateTo r=ochameau,devtools-reviewers"
    },
    "D310316": {
      "author": "Ben Hearsum",
      "avatar": "https://www.gravatar.com/avatar/7bb9fa0687c2864f6d7ccf2c3b68a6a1?d=identicon\u0026s=64",
      "cl": "D310316",
      "clUrl": "https://phabricator.services.mozilla.com/D310316",
      "description": "These look-ups are done in Balrog, and the server we look them up in is based on the branch given. When I first implemented this action, Balrog stage was in a sorry state, and there were no `try` releases to be found there. I was too lazy at the time to fix this up, and instead ended up relying on looking up production nightlies in production Balrog. This worked to a degree, except that it means there's no way to test subsequent nightlies on Try, which makes testing certain types of changes to partial generation or update verification impossible.\n\nSince I'm making such changes right now, I've made an effort to populate at least one try nightly in Balrog stage, so we can adjust this action to point in the correct place. As long as this (or at least one future) `try` nightly continues to exist this action should continue to work fine.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310316",
      "email": "ben@mozilla.com",
      "hash": "5b3194370e58104dbeabf9be4a37113887ac31c2",
      "subject": "Bug 2052329: use `try` as the branch when looking up release history on try r=releng-reviewers,taskgraph-reviewers,ahal"
    },
    "D310317": {
      "author": "Ben Hearsum",
      "avatar": "https://www.gravatar.com/avatar/7bb9fa0687c2864f6d7ccf2c3b68a6a1?d=identicon\u0026s=64",
      "cl": "D310317",
      "clUrl": "https://phabricator.services.mozilla.com/D310317",
      "description": "Many tasks set `run-on-projects` to `integration`, `release`, etc. This causes these tasks not to be considered target tasks for Try by target tasks methods such as `nightly_desktop`. Up until now, this hasn't mattered: they've been pulled in explicitly by try selectors or release promotion target tasks methods.\n\nThe relatively new `nightly-build-tasks` action relies on other target tasks methods for task selection, however (and intentionally so to keep it in line with production nightlies). When using this action, we're currently missing many tasks, most notably beetmover and balrog tasks, which are needed to properly test partial generation and update verification.\n\nLet's use `_filter_by_release_project` here instead of `filter_for_project`, which already exists for the purpose of faking things a bit for Try.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310317",
      "email": "ben@mozilla.com",
      "hash": "24c1dcd2803118aa510971c1e11a456f7ca34a69",
      "subject": "Bug 2052329: filter nightly desktop tasks in a way that allows them to run on Try r=releng-reviewers,taskgraph-reviewers,jcristau"
    },
    "D310318": {
      "author": "Ben Hearsum",
      "avatar": "https://www.gravatar.com/avatar/7bb9fa0687c2864f6d7ccf2c3b68a6a1?d=identicon\u0026s=64",
      "cl": "D310318",
      "clUrl": "https://phabricator.services.mozilla.com/D310318",
      "description": "This logic is currently wrong, and both generates release history when `limit_product` is any non-empty value at all, and fails to generate it when it's empty (meaning we want desktop nightlies).\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310318",
      "email": "ben@mozilla.com",
      "hash": "4bcbeb4f14b3b34e7dcf0f02a3aa07b84b4db3d6",
      "subject": "Bug 2052329: set release history correctly when not limiting product r=releng-reviewers,taskgraph-reviewers,jcristau"
    },
    "D310335": {
      "author": "Tom Schuster",
      "avatar": "https://www.gravatar.com/avatar/643f0847a3bf01b6ac23263f1661d14e?d=identicon\u0026s=64",
      "cl": "D310335",
      "clUrl": "https://phabricator.services.mozilla.com/D310335",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310335",
      "email": "tschuster@mozilla.com",
      "hash": "deecff0106bda20897ad3a5f3858defd8a1674df",
      "subject": "Bug 2052506 - Make all ValidatePrincipalOptions optional. r=nika"
    },
    "D310337": {
      "author": "serge-sans-paille",
      "avatar": "https://www.gravatar.com/avatar/9cdfdfc05249440f57269a0d26487253?d=identicon\u0026s=64",
      "cl": "D310337",
      "clUrl": "https://phabricator.services.mozilla.com/D310337",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310337",
      "email": "sguelton@mozilla.com",
      "hash": "2d22532d2babe9057c06876369592854070c05ad",
      "subject": "Bug 2052508 - Activate clang-tidy's modernize-use-transparent-functors check r=emilio,webrtc-reviewers,sylvestre,bwc"
    },
    "D310372": {
      "author": "serge-sans-paille",
      "avatar": "https://www.gravatar.com/avatar/9cdfdfc05249440f57269a0d26487253?d=identicon\u0026s=64",
      "cl": "D310372",
      "clUrl": "https://phabricator.services.mozilla.com/D310372",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310372",
      "email": "sguelton@mozilla.com",
      "hash": "9602343aaf50a1442c0d69f1c39b3a51b7954d9c",
      "subject": "Bug 2052551 - Use std::midpoint to avoid potential integer overflows r=gfx-reviewers,bradwerth"
    },
    "D310385": {
      "author": "Nicolas Chevobbe",
      "avatar": "https://www.gravatar.com/avatar/f942478f2eaeb6cc42142cdd661976a7?d=identicon\u0026s=64",
      "cl": "D310385",
      "clUrl": "https://phabricator.services.mozilla.com/D310385",
      "description": "Make sure we cover contrast for colors using sibling-count()/sibling-index()\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310385",
      "email": "nchevobbe@mozilla.com",
      "hash": "cfac347c48f71ceefa230600c18860e279186f21",
      "subject": "Bug 2047871 - [devtools] Add test for contrast information on color using tree counting functions. r=devtools-reviewers,ochameau."
    },
    "D310430": {
      "author": "mike a",
      "avatar": "https://www.gravatar.com/avatar/fdb71788c694eea6a9e8a29cddd6e606?d=identicon\u0026s=64",
      "cl": "D310430",
      "clUrl": "https://phabricator.services.mozilla.com/D310430",
      "description": "...in users.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310430",
      "email": "mavduevskiy@mozilla.com",
      "hash": "b7a0a45194816f85e8aab7914a98893daff05b25",
      "subject": "Bug 2052599 - Fix vpn onboarding flow for signed r=android-reviewers,jonalmeida"
    },
    "D310431": {
      "author": "Dale Harvey",
      "avatar": "https://www.gravatar.com/avatar/030451d8cfc268d666bae9a7fe8d10ec?d=identicon\u0026s=64",
      "cl": "D310431",
      "clUrl": "https://phabricator.services.mozilla.com/D310431",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310431",
      "email": "dale@arandomurl.com",
      "hash": "4dc2e58d43d7ed36b049391b30db98fc39689b65",
      "subject": "Bug 2052610 - Use moz-src for intl/locale. r=omc-reviewers,mimi"
    },
    "D310450": {
      "author": "Masayuki Nakano",
      "avatar": "https://www.gravatar.com/avatar/900caab146bc7a489b3854cf10acf93f?d=identicon\u0026s=64",
      "cl": "D310450",
      "clUrl": "https://phabricator.services.mozilla.com/D310450",
      "description": "The pref was added in bug 1840519, 3 years ago. The motivation of the\nnew behavior is, `String.fromCharCode(event.charCode)` won't create\nill-formed UTF-16 string only from the high-surrogate or the\nlow-surrogate.\n\nUnfortunately, this behavior is incompatible with Chrome, but we don't\nget any bug reports from our testers in this 3 years. So, I think\nshipping this is enough safe and the new behavior is better from the\nUnicode spec point of view.\n\nNote that there must be only a few keyboard layouts which can type\nnon-BMP characters directly. I tried to test it with creating a\ncustom keyboard layout (attachment 9341661). So, originally, this bug\naffected only a small number of users.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310450",
      "email": "masayuki@d-toybox.com",
      "hash": "83d278903384d3edb3bafaac194d7755f4ccc7f9",
      "subject": "Bug 1849790 - Ship the better `keypress.charCode` behavior when typing a surrogate pair r=smaug"
    },
    "D310475": {
      "author": "Sylvestre Ledru",
      "avatar": "https://www.gravatar.com/avatar/5aa2e382197a147b42d020b6878f8623?d=identicon\u0026s=64",
      "cl": "D310475",
      "clUrl": "https://phabricator.services.mozilla.com/D310475",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310475",
      "email": "sledru@mozilla.com",
      "hash": "296b1106ddc2fd4f1f52feb717330c147042d573",
      "subject": "Bug 2052666 - Convert docs/gtest RST documentation to Markdown r=firefox-source-docs-reviewers,ahal DONTBUILD"
    },
    "D310481": {
      "author": "Sylvestre Ledru",
      "avatar": "https://www.gravatar.com/avatar/fb0fd07485efdfc05e02987075fdbab0?d=identicon\u0026s=64",
      "cl": "D310481",
      "clUrl": "https://phabricator.services.mozilla.com/D310481",
      "description": "Follow-up to D304231. Convert escaped-asterisk (\\*) lines that render as literal text into proper bullet lists in the branding and migration-wizard documentation.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310481",
      "email": "sylvestre@debian.org",
      "hash": "9ad26442dfd5b7d1b2f5599ec6f86c6514207cab",
      "subject": "Bug 2052666 - Fix Markdown conversion artifacts in browser docs r=migration-reviewers,mconley"
    },
    "D310482": {
      "author": "Sylvestre Ledru",
      "avatar": "https://www.gravatar.com/avatar/fb0fd07485efdfc05e02987075fdbab0?d=identicon\u0026s=64",
      "cl": "D310482",
      "clUrl": "https://phabricator.services.mozilla.com/D310482",
      "description": "Follow-up to D304227. Convert escaped-asterisk bullet lists, un-nest a blockquoted code block in run-try-job, restore bold text mis-converted to a heading, and fix case-sensitive {ref} cross-references in the fuzzing docs.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310482",
      "email": "sylvestre@debian.org",
      "hash": "88ef680a1b803459a742523a2f77718c8214da67",
      "subject": "Bug 2052666 - Fix Markdown conversion artifacts in tools docs r=profiler-reviewers,canova"
    },
    "D310483": {
      "author": "Sylvestre Ledru",
      "avatar": "https://www.gravatar.com/avatar/fb0fd07485efdfc05e02987075fdbab0?d=identicon\u0026s=64",
      "cl": "D310483",
      "clUrl": "https://phabricator.services.mozilla.com/D310483",
      "description": "Follow-up to D304232. Fix broken {ref} cross-references, escaped-asterisk nested lists and a blockquoted list in AMRemoteSettings-overview, indent a numbered-list continuation in SearchServiceHighlevelOverview, and correct the event-ping serialization-format reference.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310483",
      "email": "sylvestre@debian.org",
      "hash": "9a84c975d665f8accf5341aafd9ec0e259240bdf",
      "subject": "Bug 2052666 - Fix Markdown conversion artifacts in toolkit docs r=extension-reviewers,search-reviewers,janerik,Standard8"
    },
    "D310484": {
      "author": "Sylvestre Ledru",
      "avatar": "https://www.gravatar.com/avatar/fb0fd07485efdfc05e02987075fdbab0?d=identicon\u0026s=64",
      "cl": "D310484",
      "clUrl": "https://phabricator.services.mozilla.com/D310484",
      "description": "Follow-up to D304214. Convert escaped-asterisk lines into a proper bullet list in the test-manifest-toml linter documentation.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310484",
      "email": "sylvestre@debian.org",
      "hash": "cdf891488e9c8443c1decd4f11787cda93dc16e8",
      "subject": "Bug 2052666 - Fix Markdown conversion artifacts in code-quality docs"
    },
    "D310491": {
      "author": "Sylvestre Ledru",
      "avatar": "https://www.gravatar.com/avatar/fb0fd07485efdfc05e02987075fdbab0?d=identicon\u0026s=64",
      "cl": "D310491",
      "clUrl": "https://phabricator.services.mozilla.com/D310491",
      "description": "Convert the messaging-system glossary to indented definitions so Sphinx's glossary directive parses it (removing the ~40 'glossary terms must not be separated by empty lines' warnings and the plain-text ':' rendering), and repair broken sibling/cross-reference links in the asrouter documentation.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310491",
      "email": "sylvestre@debian.org",
      "hash": "24fc3367c47006b56127617435221e77877513e5",
      "subject": "Bug 2052666 - Fix documentation build warnings in browser docs r=omc-reviewers,sachung DONTBUILD"
    },
    "D310492": {
      "author": "Sylvestre Ledru",
      "avatar": "https://www.gravatar.com/avatar/fb0fd07485efdfc05e02987075fdbab0?d=identicon\u0026s=64",
      "cl": "D310492",
      "clUrl": "https://phabricator.services.mozilla.com/D310492",
      "description": "Point the testExactPermissionFromPrincipal link at the Markdown page instead of the non-resolving .html target.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310492",
      "email": "sylvestre@debian.org",
      "hash": "f98d30f4017b84214aa464dfcbbe4657fb8c3f29",
      "subject": "Bug 2052666 - Fix documentation build warning in permissions docs r=permissions-reviewers,emz"
    },
    "D310493": {
      "author": "Sylvestre Ledru",
      "avatar": "https://www.gravatar.com/avatar/fb0fd07485efdfc05e02987075fdbab0?d=identicon\u0026s=64",
      "cl": "D310493",
      "clUrl": "https://phabricator.services.mozilla.com/D310493",
      "description": "Update cross-references to the code-quality and contributing docs to use their converted .md targets instead of the old .rst paths.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310493",
      "email": "sylvestre@debian.org",
      "hash": "fe0c6cc013a888acf46e5f85142f332cc9df16a1",
      "subject": "Bug 2052666 - Fix documentation build warnings in remote docs r=whimboo"
    },
    "D310534": {
      "author": "Dale Harvey",
      "avatar": "https://www.gravatar.com/avatar/030451d8cfc268d666bae9a7fe8d10ec?d=identicon\u0026s=64",
      "cl": "D310534",
      "clUrl": "https://phabricator.services.mozilla.com/D310534",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310534",
      "email": "dale@arandomurl.com",
      "hash": "1f6d6bf71290f042c68dfa055a38aa2f9ac98b6c",
      "subject": "Bug 2052740 - Migrate various modules to moz-src Part 2. r=Gijs,extension-reviewers,devtools-reviewers,firefox-desktop-core-reviewers ,urlbar-reviewers,jdescottes,akulyk,nchevobbe"
    },
    "D310543": {
      "author": "Glenn Watson",
      "avatar": "https://www.gravatar.com/avatar/3d823baa293744dbe3cbe8ce33d77065?d=identicon\u0026s=64",
      "cl": "D310543",
      "clUrl": "https://phabricator.services.mozilla.com/D310543",
      "description": "Slack channel-name characters were clipped at fractional device scales. Render\ntext runs at their exact device positions and keep a device-space text run's\nclips unsnapped, so a fractional clip edge no longer rounds inward and shaves\nthe last glyph; a snapping primitive instead snaps every clip in its chain to\nthe device grid. Also rounds out the bounding rect of non-snapped primitives and\ndrops the now-dead is_offset_only reference-frame flag.\n\nUpdates the affected wrench reftest baselines and adds a unit test asserting the\ndevice-text clip snap policy (the rendered difference is a sub-pixel clip shift\nthat headless software rasterization cannot surface, so it can't be reftested).\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310543",
      "email": "git@chillybin.org",
      "hash": "0b40ca4b71f39c860495db247f891cb78940da5d",
      "subject": "Bug 2050692 - Render text runs in device space and snap clips to the device grid r=gfx-reviewers,lsalzman"
    },
    "D310551": {
      "author": "Matthew Gregan",
      "avatar": "https://www.gravatar.com/avatar/aeea283b2f56b75a7c959ccfb660a619?d=identicon\u0026s=64",
      "cl": "D310551",
      "clUrl": "https://phabricator.services.mozilla.com/D310551",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310551",
      "email": "kinetik@flim.org",
      "hash": "b68e322065a8b9da05e2783c2a8d82a376eafe91",
      "subject": "Bug 2052753 - Update libcubeb to 6d5e5e6. r=cubeb-reviewers,padenot"
    },
    "D310552": {
      "author": "Matthew Gregan",
      "avatar": "https://www.gravatar.com/avatar/aeea283b2f56b75a7c959ccfb660a619?d=identicon\u0026s=64",
      "cl": "D310552",
      "clUrl": "https://phabricator.services.mozilla.com/D310552",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310552",
      "email": "kinetik@flim.org",
      "hash": "25f378e8f4ee64f748383667504c5c18864954ab",
      "subject": "Bug 2052753 - Update cubeb-pulse-rs to 88194f9. r=cubeb-reviewers,padenot"
    },
    "D310557": {
      "author": "Hiroyuki Ikezoe",
      "avatar": "https://www.gravatar.com/avatar/9ec516861853d265a973cd0ef66735cf?d=identicon\u0026s=64",
      "cl": "D310557",
      "clUrl": "https://phabricator.services.mozilla.com/D310557",
      "description": "The nearest scroll container may not have a ViewID (e.g. an in-process\niframe's root scroll container, for which APZ has no APZC).\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310557",
      "email": "hikezoe.birchill@mozilla.com",
      "hash": "b83c48e0ccc4566fcfedff0bbf917bf4e9119900",
      "subject": "Bug 2052759 - Find the nearest scroll ID by walking the scroll-container ancestor chain for fast-path apz-aware notifiction. r=botond"
    },
    "D310560": {
      "author": "Gabriel Luong",
      "avatar": "https://www.gravatar.com/avatar/8d4b3dd6d3dd0178956876e108d984c6?d=identicon\u0026s=64",
      "cl": "D310560",
      "clUrl": "https://phabricator.services.mozilla.com/D310560",
      "description": "- We have replaced `PocketRecommendedStory` with `ContentRecommendation` from the Merino Recommended Stories API.\n- Since we are no longer getting any `PocketRecommendedStory`, remove any usage of it in Fenix and stop calling `pocketStoriesService.updateStoriesTimesShown`.\n- Remove the `frequency` parameter to `PocketStoriesConfig` since we have separate frequency parameters for content recommendations and sponsored stories.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310560",
      "email": "gabriel.luong@gmail.com",
      "hash": "0562cf23ff1105684a1175200e081b0563dd9745",
      "subject": "Bug 2052681 - Part 1: Stop using the legacy Pocket API in Fenix r=android-reviewers,petru"
    },
    "D310561": {
      "author": "Gabriel Luong",
      "avatar": "https://www.gravatar.com/avatar/8d4b3dd6d3dd0178956876e108d984c6?d=identicon\u0026s=64",
      "cl": "D310561",
      "clUrl": "https://phabricator.services.mozilla.com/D310561",
      "description": "- Remove the Pocket API: the Pocket endpoint and JSON parser, the periodic refresh scheduler and worker, PocketStoriesUseCases, PocketRecommendationsRepository, the RecommendedStories dependency provider, the legacy entity mappers, and the unused refresh Frequency from PocketStoriesConfig.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310561",
      "email": "gabriel.luong@gmail.com",
      "hash": "6148908b24ff695316d0864e9ad8cc10a04e3808",
      "subject": "Bug 2052681 - Part 2: Remove the legacy Pocket recommended stories fetch code and use cases r=android-reviewers,petru"
    },
    "D310562": {
      "author": "Gabriel Luong",
      "avatar": "https://www.gravatar.com/avatar/8d4b3dd6d3dd0178956876e108d984c6?d=identicon\u0026s=64",
      "cl": "D310562",
      "clUrl": "https://phabricator.services.mozilla.com/D310562",
      "description": "- Remove the `pocket_recommendations` Room database.\n- Delete PocketRecommendationsDatabase, its DAO and the PocketStoryEntity, the spocs entities, the exported schemas, the remaining PocketApiStory type, and the associated tests.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310562",
      "email": "gabriel.luong@gmail.com",
      "hash": "3256159a2e34db30ccf31d56b9de5652c3881a3b",
      "subject": "Bug 2052681 - Part 3: Remove the legacy Pocket stories database r=android-reviewers,petru"
    },
    "D310563": {
      "author": "Gabriel Luong",
      "avatar": "https://www.gravatar.com/avatar/8d4b3dd6d3dd0178956876e108d984c6?d=identicon\u0026s=64",
      "cl": "D310563",
      "clUrl": "https://phabricator.services.mozilla.com/D310563",
      "description": "- Removing the Pocket Room database classes leaves the on-disk pocket_recommendations file on existing installs. Perform a a one-time database deletion gated by `Settings.deletePocketDatabaseIfNeeded()` so the database is cleaned up on the next launch.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310563",
      "email": "gabriel.luong@gmail.com",
      "hash": "01903a92685732ad0d26439e7888c324201bed39",
      "subject": "Bug 2052681 - Part 4: Delete the legacy pocket_recommendations database on upgrade r=android-reviewers,petru"
    },
    "D310576": {
      "author": "Kershaw Chang",
      "avatar": "https://www.gravatar.com/avatar/608e04ebca94be52b05c003d51d43e07?d=identicon\u0026s=64",
      "cl": "D310576",
      "clUrl": "https://phabricator.services.mozilla.com/D310576",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310576",
      "email": "kershaw@mozilla.com",
      "hash": "af25606c084f4cda3da7434426a26e7714ca2d3b",
      "subject": "Bug 2052794 -  Don't reuse a total-negative DNS result for high-priority lookups under Happy Eyeballs, r=mxinden,necko-reviewers,sunil"
    },
    "D310580": {
      "author": "Tom Schuster",
      "avatar": "https://www.gravatar.com/avatar/643f0847a3bf01b6ac23263f1661d14e?d=identicon\u0026s=64",
      "cl": "D310580",
      "clUrl": "https://phabricator.services.mozilla.com/D310580",
      "description": "This function doesn't actually do a good job of anonymizing URLs (e.g. does not strip fragments).\nWe are probably better off removing it completely.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310580",
      "email": "tschuster@mozilla.com",
      "hash": "66308eb1560137c97958d2f389f681903f245f94",
      "subject": "Bug 2052448 - Remove nsContentUtils::AnonymizeURI. r=necko-reviewers,sunil"
    },
    "D310593": {
      "author": "Hubert B Manilla",
      "avatar": "https://www.gravatar.com/avatar/9a8e452716848b046c871e21035b4ea3?d=identicon\u0026s=64",
      "cl": "D310593",
      "clUrl": "https://phabricator.services.mozilla.com/D310593",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310593",
      "email": "hmanilla@mozilla.com",
      "hash": "f5c15246b9b9a82c0a416e3d7c0153d7cecfb2b1",
      "subject": "Bug 2051876 - [devtools] Add the checkbox to toggle showing the stylesheets in the debugger r=devtools-reviewers,fluent-reviewers,nchevobbe,bolsson"
    },
    "D310594": {
      "author": "Emilio Cobos Álvarez",
      "avatar": "https://www.gravatar.com/avatar/1d91d22a4892f16f744b31fd4286144e?d=identicon\u0026s=64",
      "cl": "D310594",
      "clUrl": "https://phabricator.services.mozilla.com/D310594",
      "description": "In this test-case, rootFrameToSelect is the inner editor's frame, but\ncontentToSelect is the textarea, which is an ancestor.\n\nSo we go from `\u003ctextarea\u003e` all the way to the root frame finding\nscrollable frames which is not the intended behavior. Instead, we check\nnsLayoutUtils::IsProperAncestorFrame to make sure that we walk\ncorrectly.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310594",
      "email": "emilio@crisal.io",
      "hash": "23778bbea20b34b5d0c9b41846245b5085dfc0c5",
      "subject": "Bug 2052637 - Fix nsFrameSelection::GetPageToFrameSelect. r=layout-reviewers,dshin"
    },
    "D310606": {
      "author": "Henrik Skupin",
      "avatar": "https://www.gravatar.com/avatar/4ab832a8d5cae15967c0da59ebfb83f7?d=identicon\u0026s=64",
      "cl": "D310606",
      "clUrl": "https://phabricator.services.mozilla.com/D310606",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310606",
      "email": "mail@hskupin.info",
      "hash": "b58ef584f1ff2b91034f74a414ba0d94c98eb023",
      "subject": "Bug 2052142 - [mozrunner-rust] Upgrade plist to version 1.10.0. r=supply-chain-reviewers,geckodriver-reviewers,jgraham"
    },
    "D310615": {
      "author": "Jamie Nicol",
      "avatar": "https://www.gravatar.com/avatar/8dd660b6c636b9880700591432e5eb21?d=identicon\u0026s=64",
      "cl": "D310615",
      "clUrl": "https://phabricator.services.mozilla.com/D310615",
      "description": "Moves the helper function for querying which GL texture target Mac\nIOSurfaces should be bound to from a static helper in MacIOSurface to a\nvirtual method on GLContext.\n\nThis should have no functional change, but better mirrors the existing\nGetPreferredEGLImageTextureTarget() helper.\n\nIt also avoids having to include MacIOSurface.h in order to query this\nvalue, which avoids unified build errors in subsequent patches.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310615",
      "email": "jnicol@mozilla.com",
      "hash": "380b58bcbada152637c5135fd5addae2be7fee9a",
      "subject": "Bug 2052522 - Move MacIOSurface::GetTextureTarget to virtual GLContext method. r=gfx-reviewers,lsalzman"
    },
    "D310616": {
      "author": "Jamie Nicol",
      "avatar": "https://www.gravatar.com/avatar/8dd660b6c636b9880700591432e5eb21?d=identicon\u0026s=64",
      "cl": "D310616",
      "clUrl": "https://phabricator.services.mozilla.com/D310616",
      "description": "Implement GLContext::GetPreferredMacIOSurfaceTextureTarget() for\nGLContextEAGL, and use to query the target rather than using\nconstants.\n\nIn the macOS path in\nSurfacePoolCA::LockedPool::GetFramebufferForSurface(), construct a\ntemporary MacIOSurface and call the BindTexImage() helper, which is\nimplemented for both CGL and EGL/ANGLE contexts, rather than directly\ncalling CGLTexImageIOSurface2D().\n\nNote we purposefully do not implement MacIOSurface::BindTexImage() for\nEAGL (iOS), and instead retain the separate iOS path in\nGetFramebufferForSurface(). This is to avoid changing behaviour on iOS\nfor other callers of BindTexImage(), such as SharedSurface_IOSurface\nand RenderMacIOSurfaceTextureHost, where we would currently\nMOZ_CRASH(\"unimplemented\"). Perhaps this should be done as a\nfollow-up, but whether they would work or not has not yet been tested.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310616",
      "email": "jnicol@mozilla.com",
      "hash": "9365f3b5caae23238f3fb414f833c2c5625608ff",
      "subject": "Bug 2052522 - Support binding SurfacePoolCA's surfaces to framebuffers using EGL/ANGLE. r=gfx-reviewers,lsalzman"
    },
    "D310617": {
      "author": "Jamie Nicol",
      "avatar": "https://www.gravatar.com/avatar/8dd660b6c636b9880700591432e5eb21?d=identicon\u0026s=64",
      "cl": "D310617",
      "clUrl": "https://phabricator.services.mozilla.com/D310617",
      "description": "Combines several of WebRenderAPI's various members and getters into a\nsingle struct, and plumb through TransactionBuilder so they can all be\naccessed by TextureHost::PushResourceUpdates().\n\nThis makes no functional change, but will allow the following patch to\nneatly add a new capability that is required by PushResourceUpdates().\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310617",
      "email": "jnicol@mozilla.com",
      "hash": "d204d96487a2c50c9d78b72dfa5b584c8acbb1ae",
      "subject": "Bug 2052522 - Combine WebRenderAPI's various capability flags into single struct member. r=gfx-reviewers,lsalzman"
    },
    "D310618": {
      "author": "Jamie Nicol",
      "avatar": "https://www.gravatar.com/avatar/8dd660b6c636b9880700591432e5eb21?d=identicon\u0026s=64",
      "cl": "D310618",
      "clUrl": "https://phabricator.services.mozilla.com/D310618",
      "description": "RenderMacIOSurfaceTextureHost already uses the\nMacIOSurface::BindTexImage() helper, which is implemented for\nEGL/ANGLE, so simply needs to query which texture target to use rather\nthan assuming GL_TEXTURE_RECTANGLE.\n\nMacIOSurfaceTextureHostOGL::PushResourceUpdates() must set the correct\nImageBufferKind, which depends on which GL texture target should be\nused, but has no access to a GL context from which to query that. We\ntherefore add a new mIOSurfaceImageKind field to\nWebRenderCapabilities, which is initialized by querying the GL context\nwhen the WebRenderAPI is created.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310618",
      "email": "jnicol@mozilla.com",
      "hash": "c2b9d395193098ae57b132a9de83eed2a814dde9",
      "subject": "Bug 2052522 - Support binding MacIOSurfaceTextureHosts to textures on EGL/ANGLE. r=gfx-reviewers,lsalzman"
    },
    "D310627": {
      "author": "Tiaan Louw",
      "avatar": "https://www.gravatar.com/avatar/8527be9edeb5f331c51aa9f0a8f04798?d=identicon\u0026s=64",
      "cl": "D310627",
      "clUrl": "https://phabricator.services.mozilla.com/D310627",
      "description": "Use `Position::parse_three_value_quirky` to parse the \u003cposition\u003e for a\nmask, as is allowed by the spec.  The background shorthand already uses\nit.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310627",
      "email": "tlouw@mozilla.com",
      "hash": "46859c482994b2505fe8956fa9d9da22b254dced",
      "subject": "Bug 2051129 - Allow the 3- and 4-value \u003cposition\u003e syntax in the mask shorthand r=layout-reviewers,firefox-style-system-reviewers,dshin"
    },
    "D310630": {
      "author": "Neil Deakin",
      "avatar": "https://www.gravatar.com/avatar/3e8ecccceb2961862d5cb3880ac94879?d=identicon\u0026s=64",
      "cl": "D310630",
      "clUrl": "https://phabricator.services.mozilla.com/D310630",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310630",
      "email": "neil@mozilla.com",
      "hash": "ffa7e2e65cdb14848d4c6d983d9d7b96cb489589",
      "subject": "Bug 2052652, remove address autofill nimbus on desktop since it is now enabled globally, r=dimi,credential-management-reviewers"
    },
    "D310633": {
      "author": "Emilio Cobos Álvarez",
      "avatar": "https://www.gravatar.com/avatar/1d91d22a4892f16f744b31fd4286144e?d=identicon\u0026s=64",
      "cl": "D310633",
      "clUrl": "https://phabricator.services.mozilla.com/D310633",
      "description": "The issue here is that when we incrementally add the anon content\ncontainer, we end up computing its insertion frame as the SVG frame.\nThat is kind of messed up (because they'd usually be under\nnsCanvasFrame), but is sort of ok because they go in the top layer\nanyhow.\n\nWe really want to avoid reframing when showing DevTools in order to\navoid papering over bugs.\n\nAllow the SVG code to deal with it the way it also deals with ::backdrop\n(which has the same issue), and fix the frame construction code to don't\neven probe for \u003csvg\u003e::before / ::after.\n\nIt took forever to come up with a reproducer because we turn on the\nAccessibleCaret pref on tests, which paper over this... :/\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310633",
      "email": "emilio@crisal.io",
      "hash": "d3b2b426e367fbc185910373b0877005fbecb462",
      "subject": "Bug 1850539 - Allow custom content container (native anonymous roots more generally) as children of svgs. r=layout-reviewers,dshin"
    },
    "D310635": {
      "author": "Mike Conley",
      "avatar": "https://www.gravatar.com/avatar/4b4985a7acf7db49dfddd7815b55a043?d=identicon\u0026s=64",
      "cl": "D310635",
      "clUrl": "https://phabricator.services.mozilla.com/D310635",
      "description": "These were originally added for bug 1835638, but I suspect Udemy has changed how\ntheir site functions. Having removed the play/pause wrapper functions, I cannot\nreproduce bug 1835638, and the videos properly play and pause now from the PiP\nplayer window.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310635",
      "email": "mconley@mozilla.com",
      "hash": "093f2b6c0cfa6b7af04a6f066cbe74625e4d306f",
      "subject": "Bug 2050059 - Remove picture-in-picture play/pause wrapper functions for Udemy. r=kpatenio"
    },
    "D310639": {
      "author": "Mathieu Leplatre",
      "avatar": "https://www.gravatar.com/avatar/bc042071f6976c08d65d03366db2ad14?d=identicon\u0026s=64",
      "cl": "D310639",
      "clUrl": "https://phabricator.services.mozilla.com/D310639",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310639",
      "email": "mathieu@mozilla.com",
      "hash": "f43d237942052c60e6fd21108e8a2f3d55346c0a",
      "subject": "Bug 2051625 - Fix failing network simulation on beta merge r=search-reviewers,scunnane"
    },
    "D310648": {
      "author": "Andrea Marchesini",
      "avatar": "https://www.gravatar.com/avatar/dfb8d0427dd67216b2664131a5c31421?d=identicon\u0026s=64",
      "cl": "D310648",
      "clUrl": "https://phabricator.services.mozilla.com/D310648",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310648",
      "email": "amarchesini@mozilla.com",
      "hash": "3532a21c677eb483c197c42c3d02881666a73744",
      "subject": "Bug 2052815 - Better position for the `Add New Container` dialog, r=emilio"
    },
    "D310654": {
      "author": "Rong Bao",
      "avatar": "https://www.gravatar.com/avatar/ebbe93ed6a8a3d3d694d9638635e8c87?d=identicon\u0026s=64",
      "cl": "D310654",
      "clUrl": "https://phabricator.services.mozilla.com/D310654",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310654",
      "email": "webmaster@csmantle.top",
      "hash": "dafb000668619f55b680d4a8764c06aea5d1ee14",
      "subject": "Bug 2052866 - Merge identical --wasm-compiler= cases in SetContextWasmOptions. r=spidermonkey-reviewers,bvisness"
    },
    "D310656": {
      "author": "Stephen A Pohl",
      "avatar": "https://www.gravatar.com/avatar/ceeb157ce698ad8c3e5be7c1317498bf?d=identicon\u0026s=64",
      "cl": "D310656",
      "clUrl": "https://phabricator.services.mozilla.com/D310656",
      "description": "The macOS hidden window shares the main menubar with browser windows, but its startup code only hid the Dock menu's \"New Private Window\" item when private browsing was disallowed. It never hid the corresponding menubar command, so the top File menu still offered \"New Private Window\" (and its shortcut still worked) when a policy such as PrivateBrowsingModeAvailability=1 disallowed private browsing. This mirrors what browser-init.js already does for regular browser windows by hiding the Tools:PrivateBrowsing command and removing the key_privatebrowsing shortcut.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310656",
      "email": "spohl@mozilla.com",
      "hash": "d3fba3d69fa959a9286cd7bb2898cb58ddec7ae4",
      "subject": "Bug 2052056: Hide the \"New Private Window\" menubar item in the macOS hidden window when private browsing is disallowed. r=firefox-desktop-core-reviewers ,mak"
    },
    "D310663": {
      "author": "Sebastian Streich",
      "avatar": "https://www.gravatar.com/avatar/b7c558c60d57b8869de544bec080f15c?d=identicon\u0026s=64",
      "cl": "D310663",
      "clUrl": "https://phabricator.services.mozilla.com/D310663",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310663",
      "email": "streich.mobile@gmail.com",
      "hash": "09685e7db2ab8199ea4c9f1512378a5bc494a748",
      "subject": "Bug 2052007 - Add locked location property r=rking"
    },
    "D310667": {
      "author": "Leo Tenenbaum",
      "avatar": "https://www.gravatar.com/avatar/191826fbebe3973ebd6d6eb595ddb5c2?d=identicon\u0026s=64",
      "cl": "D310667",
      "clUrl": "https://phabricator.services.mozilla.com/D310667",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310667",
      "email": "ltenenbaum@mozilla.com",
      "hash": "46940fb0bef2f187319dc54fc5e6fa0796e53369",
      "subject": "Bug 2052874 - Add use counter to track how often EditContext is attached to canvas. r=dom-core-reviewers,smaug"
    },
    "D310669": {
      "author": "Jamie Nicol",
      "avatar": "https://www.gravatar.com/avatar/8dd660b6c636b9880700591432e5eb21?d=identicon\u0026s=64",
      "cl": "D310669",
      "clUrl": "https://phabricator.services.mozilla.com/D310669",
      "description": "With not yet landed patches to enable Metal ANGLE, we crash due to an\ninvalid GLContext cast when attempting to migrate GPUs. This only\noccurs when the GPU process is disabled, due to bug 2052891.\n\nLonger term, we need to find an alternative to GPU switching when\nrunning on Metal ANGLE, as Metal does not have an equivalent API to\nCGLSetVirtualScreen(). In the short term, however, we will keep Metal\nANGLE disabled on multi-GPU devices, so can simply avoid calling this\nfunction for non-CGL contexts.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310669",
      "email": "jnicol@mozilla.com",
      "hash": "df41d7417f641aabceb20e40daffba2f1ee4289a",
      "subject": "Bug 2052894 - Avoid crash when attempting to migrate GPUs with ANGLE on macOS. r=gfx-reviewers,lsalzman"
    },
    "D310679": {
      "author": "Harrison Oglesby",
      "avatar": "https://www.gravatar.com/avatar/3956d10b2535af542f91f0a11834b064?d=identicon\u0026s=64",
      "cl": "D310679",
      "clUrl": "https://phabricator.services.mozilla.com/D310679",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310679",
      "email": "oglesby.harrison@gmail.com",
      "hash": "353cac5400babc41bbec6693e95c5e03baf17ba6",
      "subject": "Bug 2052900 - Make Google Lens compression quality match Google spec r=android-reviewers,nalexander"
    },
    "D310680": {
      "author": "mike a",
      "avatar": "https://www.gravatar.com/avatar/fdb71788c694eea6a9e8a29cddd6e606?d=identicon\u0026s=64",
      "cl": "D310680",
      "clUrl": "https://phabricator.services.mozilla.com/D310680",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310680",
      "email": "mavduevskiy@mozilla.com",
      "hash": "f49cd29033fa8acad60d78a8cc2210495463df68",
      "subject": "Bug 2052966 - Add testing coverage for vpn onboarding flow r=android-reviewers,jonalmeida"
    },
    "D310692": {
      "author": "serge-sans-paille",
      "avatar": "https://www.gravatar.com/avatar/9cdfdfc05249440f57269a0d26487253?d=identicon\u0026s=64",
      "cl": "D310692",
      "clUrl": "https://phabricator.services.mozilla.com/D310692",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310692",
      "email": "sguelton@mozilla.com",
      "hash": "61712407c703bab2282cdbf26bb4911a90e70282",
      "subject": "Bug 2052895 - Use C++20 as target C++ version for static analysis autotest r=sylvestre"
    },
    "D310693": {
      "author": "serge-sans-paille",
      "avatar": "https://www.gravatar.com/avatar/9cdfdfc05249440f57269a0d26487253?d=identicon\u0026s=64",
      "cl": "D310693",
      "clUrl": "https://phabricator.services.mozilla.com/D310693",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310693",
      "email": "sguelton@mozilla.com",
      "hash": "400a2309dafe25f9e4552a1758dce4eb360b10ef",
      "subject": "Bug 2052893 - Turn on modernize-use-std-numbers clang tidy's pass r=emilio,necko-reviewers,media-playback-reviewers,layout-reviewers,alwu,kershaw,win-reviewers,gstoll"
    },
    "D310694": {
      "author": "Bryan Olsson",
      "avatar": "https://www.gravatar.com/avatar/34df29d70aca0d9b18a6a8fbb65acd5b?d=identicon\u0026s=64",
      "cl": "D310694",
      "clUrl": "https://phabricator.services.mozilla.com/D310694",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310694",
      "email": "bolsson@mozilla.com",
      "hash": "c3d8a5d4ff6a55f66dc2d53799d7cd281c7299c5",
      "subject": "Bug 2052947 - Fix en-US typo in smart-window-cancelled-label r=flod,fluent-reviewers"
    },
    "D310697": {
      "author": "David Parks",
      "avatar": "https://www.gravatar.com/avatar/52b54b74a4b2589a419c3ed14cc55b65?d=identicon\u0026s=64",
      "cl": "D310697",
      "clUrl": "https://phabricator.services.mozilla.com/D310697",
      "description": "Align with PContent::GetClipboardSnapshot*\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310697",
      "email": "daparks@mozilla.com",
      "hash": "cb447ed89ad8cd40005f4b15344ecba717d150a1",
      "subject": "Bug 2052565: Sanity check WindowContext in PContent::GetClipboardDataInternal r=dom-core-reviewers,smaug"
    },
    "D310699": {
      "author": "Thomas Wisniewski",
      "avatar": "https://www.gravatar.com/avatar/e3b9a54f44f5889b1216aeabd4ec1d60?d=identicon\u0026s=64",
      "cl": "D310699",
      "clUrl": "https://phabricator.services.mozilla.com/D310699",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310699",
      "email": "twisniewski@mozilla.com",
      "hash": "a452a19eb3e45e1cb0b6c6e62f05fb1b98d3ee54",
      "subject": "Bug 2052837 - add a JS webcompat intervention for bahn.de to fix their blank login page; r=ksenia,webcompat-reviewers"
    },
    "D310701": {
      "author": "Matthew Gaudet",
      "avatar": "https://www.gravatar.com/avatar/0c4c6c72545e010e29e8da0e3bb229ee?d=identicon\u0026s=64",
      "cl": "D310701",
      "clUrl": "https://phabricator.services.mozilla.com/D310701",
      "description": "Keep the test though.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310701",
      "email": "mgaudet@mozilla.com",
      "hash": "178e4fb795335f9a2073ea65ca524b7f7f26ef76",
      "subject": "Bug 2052375 - Partially Revert \"Bug 1996693 - JS::PersistentRooted from PullWithDefaultReaderChunkStepMicrotask::mChunk\" r=saschanaz"
    },
    "D310704": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D310704",
      "clUrl": "https://phabricator.services.mozilla.com/D310704",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310704",
      "email": "ahochheiden@mozilla.com",
      "hash": "5685c386bd09b9ed5fb239654be9aed7aca039f9",
      "subject": "Bug 2049969 - Avoid an exception when a mach try preset does not exist r=firefox-build-system-reviewers,nalexander"
    },
    "D310711": {
      "author": "Neil Deakin",
      "avatar": "https://www.gravatar.com/avatar/3e8ecccceb2961862d5cb3880ac94879?d=identicon\u0026s=64",
      "cl": "D310711",
      "clUrl": "https://phabricator.services.mozilla.com/D310711",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310711",
      "email": "neil@mozilla.com",
      "hash": "f7ae223d9650acbccbac1e3d4ddab07f7ee10dc7",
      "subject": "Bug 2052968, remove assigned version from ML config for address autofill, r=dimi,credential-management-reviewers,rrando"
    },
    "D310712": {
      "author": "az",
      "avatar": "https://www.gravatar.com/avatar/788a42b35c139431ccaf9575c6626a93?d=identicon\u0026s=64",
      "cl": "D310712",
      "clUrl": "https://phabricator.services.mozilla.com/D310712",
      "description": "The OpenH264 GMP decoder treats an Access Unit Delimiter (NALU type 9) as the\nend of the current picture and discards the frame. Some senders (e.g. GeForce\nNOW) emit an AUD in every access unit, so no frames decode and the video stays\n0x0.\n\nRemove AUD NALs from the Annex-B bitstream before handing it to the decoder.\nStreams without an AUD are passed through unchanged.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310712",
      "email": "azebrowski@mozilla.com",
      "hash": "0157fffe8fe63ba50ef6e1e270e42736897af69c",
      "subject": "Bug 2052237 - Remove H.264 Access Unit Delimiter NALs before WebRTC OpenH264 decoder. r=dbaker"
    },
    "D310713": {
      "author": "az",
      "avatar": "https://www.gravatar.com/avatar/788a42b35c139431ccaf9575c6626a93?d=identicon\u0026s=64",
      "cl": "D310713",
      "clUrl": "https://phabricator.services.mozilla.com/D310713",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310713",
      "email": "azebrowski@mozilla.com",
      "hash": "432ed478a6e9b71cbfd037953798f93944f81ca9",
      "subject": "Bug 2052237 - Test H.264 AUD stripping in the WebRTC GMP decoder r=dbaker"
    },
    "D310714": {
      "author": "Thomas Wisniewski",
      "avatar": "https://www.gravatar.com/avatar/e3b9a54f44f5889b1216aeabd4ec1d60?d=identicon\u0026s=64",
      "cl": "D310714",
      "clUrl": "https://phabricator.services.mozilla.com/D310714",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310714",
      "email": "twisniewski@mozilla.com",
      "hash": "3113b6c46699c1c191c6b35de0a3114cef24b5cf",
      "subject": "Bug 2046937 - do not clear the comment and URL if a user clicks send-more-info on the broken site reporter, in case they change their minds and re-open the reporter rather than submitting the issue on webcompat.com; r=Gijs"
    },
    "D310719": {
      "author": "Noah Bond",
      "avatar": "https://www.gravatar.com/avatar/fc3c20df151bbad67c4e98bbc6b50c1d?d=identicon\u0026s=64",
      "cl": "D310719",
      "clUrl": "https://phabricator.services.mozilla.com/D310719",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310719",
      "email": "nbond@mozilla.com",
      "hash": "fb11c743a11c3c66286fd80212140cb58d638bc6",
      "subject": "Bug 2041123 - Remove stray todo r=android-reviewers,calu"
    },
    "D310720": {
      "author": "Glenn Watson",
      "avatar": "https://www.gravatar.com/avatar/3d823baa293744dbe3cbe8ce33d77065?d=identicon\u0026s=64",
      "cl": "D310720",
      "clUrl": "https://phabricator.services.mozilla.com/D310720",
      "description": "An invisible picture yields no scratch, but its slot was memoized as\nSome(INVALID). On a re-visit (e.g. a view-transition snapshot picture also\nreached in the main pass) the cache hit handed that INVALID handle back as\nif valid, and it later indexed scratch.frame.pictures out of bounds. Only\ncache successfully-prepared pictures; take_context's None path is a cheap,\nside-effect-free query, so re-consulting it on a repeat visit is fine.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310720",
      "email": "git@chillybin.org",
      "hash": "d5057ec1f3c596ecb5215bcdedfedbbf1681ca98",
      "subject": "Bug 2052609 - Don't cache invalid picture-scratch handles in prepare_picture r=gfx-reviewers,lsalzman"
    },
    "D310729": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D310729",
      "clUrl": "https://phabricator.services.mozilla.com/D310729",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310729",
      "email": "ahochheiden@mozilla.com",
      "hash": "c7232eefb64beb5a52f9d25848ecd382667132df",
      "subject": "Bug 2052992 - Don't run `android-gradle-build` with `reviewbot` r=ahal"
    },
    "D310730": {
      "author": "rebekah",
      "avatar": "https://www.gravatar.com/avatar/50aa37382f31ca16c905202bb6e2ecc5?d=identicon\u0026s=64",
      "cl": "D310730",
      "clUrl": "https://phabricator.services.mozilla.com/D310730",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310730",
      "email": "rebpidgeon@gmail.com",
      "hash": "888a063a22acb1784d79c4a23b67240ccb528a17",
      "subject": "Bug 2052857 - Remove redundant null check in BindToParent (Coverity CID 1473402) r=Jamie"
    },
    "D310750": {
      "author": "Randell Jesup",
      "avatar": "https://www.gravatar.com/avatar/707a3249883bc1c42dbd54339c8daf44?d=identicon\u0026s=64",
      "cl": "D310750",
      "clUrl": "https://phabricator.services.mozilla.com/D310750",
      "description": "A channel that opens a cache entry asynchronously parks in AwaitingCacheCallbacks\nuntil OnCacheEntryAvailable fires. Nothing bounds that wait, so if the entry is\nleft perpetually \"being written\" (e.g. by a writer that was suspended or\ncancelled without ever closing its output stream), the load neither proceeds nor\ntimes out.\n\nAdd a one-shot backstop timer, armed while the channel is parked waiting for the\ncache entry and cancelled once the callback arrives. When it fires the channel\nstops waiting and races to the network so the load can make progress instead of\nhanging forever. The timeout is controlled by network.cache.entry_wait_timeout_ms\n(default 30s, 0 disables) and is kept generous so it never fires for legitimately\nslow concurrent reads/writes of large resources.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310750",
      "email": "rjesup@mozilla.com",
      "hash": "32cd886d24f79cb75bc49ee3d889739f5ba59f5e",
      "subject": "Bug 2052908 - Add a backstop timeout for a channel wedged waiting on a cache entry. r=necko-reviewers,kershaw"
    },
    "D310751": {
      "author": "Randell Jesup",
      "avatar": "https://www.gravatar.com/avatar/707a3249883bc1c42dbd54339c8daf44?d=identicon\u0026s=64",
      "cl": "D310751",
      "clUrl": "https://phabricator.services.mozilla.com/D310751",
      "description": "When a cache entry writer is suspended or stalled for too long, the suspend\ntimer sets the entry writer-lock bypass (SetBypassWriterLock). That already lets\nnew callbacks through the WRITING/REVALIDATING gate, but a consumer that has\nalready passed OnCacheEntryCheck and is waiting for the write to finish\n(RECHECK_AFTER_WRITE_FINISHED) is gated solely on the data being complete, so it\nkeeps getting re-queued and never wakes -- the load hangs forever.\n\nHonor mBypassWriterLock on that path too: when the bypass is set and the data is\nstill in progress, hand the consumer the entry as \"not wanted\"\n(NS_ERROR_CACHE_KEY_NOT_FOUND) so it falls back to the network instead of\ndeadlocking.\n\nAdds gtests for the cache-layer behavior (a bypassed writer lock releases a\nparked consumer; dooming a being-written entry releases a parked consumer) and\nan xpcshell test that reproduces the end-to-end hang: a no-cache writer stranded\nmid-write must not wedge a later same-URL request.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310751",
      "email": "rjesup@mozilla.com",
      "hash": "79b80fa439c666bfb79aea889899a0a345adae02",
      "subject": "Bug 2052908 - Release cache consumers parked behind a bypassed writer lock. r=necko-reviewers,kershaw"
    },
    "D310752": {
      "author": "Randell Jesup",
      "avatar": "https://www.gravatar.com/avatar/707a3249883bc1c42dbd54339c8daf44?d=identicon\u0026s=64",
      "cl": "D310752",
      "clUrl": "https://phabricator.services.mozilla.com/D310752",
      "description": "When a channel is suspended after examining the response to await asynchronous\ntracking-protection annotation (bug 2030021) and is then cancelled while still\nsuspended, nsHttpChannel::CancelInternal defers the terminal teardown\n(CloseCacheEntry / AsyncAbort) to a Resume() that may never arrive. For a cache\nwriter this strands the entry perpetually \"being written\" -- its output stream\nnever closed and the entry never doomed -- wedging every later same-URL\nrevalidating consumer.\n\nUndo the annotation suspension in CancelInternal so the cancelled pump delivers\nOnStopRequest and the write-only entry is closed/doomed through the normal path.\nThis is a no-op if the channel only primed but never actually suspended.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310752",
      "email": "rjesup@mozilla.com",
      "hash": "6534b43a857141bfec83ed1d2ff9ff752a82d77e",
      "subject": "Bug 2052908 - Tear down a suspended cache writer on cancel instead of stranding it. r=necko-reviewers,kershaw"
    },
    "D310753": {
      "author": "Jan Varga",
      "avatar": "https://www.gravatar.com/avatar/d0903078e50c5ff651923837464991d8?d=identicon\u0026s=64",
      "cl": "D310753",
      "clUrl": "https://phabricator.services.mozilla.com/D310753",
      "description": "Update the add-two-types WPT subtest names to better match the terminology\nused by the CSS Typed OM specification.\n\nThis is a preparatory cleanup before extending the same coverage to additional\nCSSMathValue subclasses.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310753",
      "email": "jvarga@igalia.com",
      "hash": "5256bb3770d1ee684cea10344129eadc9f1ff9d6",
      "subject": "Bug 2052829 - Improve add-two-types WPT test names; r=emilio,firefox-style-system-reviewers"
    },
    "D310759": {
      "author": "alin lastun",
      "avatar": "https://www.gravatar.com/avatar/59aa98683e895ba24835ab02aad86938?d=identicon\u0026s=64",
      "cl": "D310759",
      "clUrl": "https://phabricator.services.mozilla.com/D310759",
      "description": "Changed the trigger-if-all condition from ALWAYS to NEVER in the microsurvey-uninstall-survey configuration. This prevents it from displaying automatically, since the uninstall survey is handled by a different, custom trigger\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310759",
      "email": "alastun@mozilla.com",
      "hash": "ff838148a19f7705f1929aec70631449b354dbb5",
      "subject": "Bug 2052840 - Do not display uninstall survey immediately after microsurvey is enabled. r=android-reviewers,rebecatudor273"
    },
    "D310764": {
      "author": "Julian Descottes",
      "avatar": "https://www.gravatar.com/avatar/60dd86ccfd9c63b53e9f2a34b2f48442?d=identicon\u0026s=64",
      "cl": "D310764",
      "clUrl": "https://phabricator.services.mozilla.com/D310764",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310764",
      "email": "jdescottes@mozilla.com",
      "hash": "af1e2307b85b0342b8b7945c7dfcf102f63f6abc",
      "subject": "Bug 2053036 - [devtools] Fix typos etc. in Local Mode docs r=devtools-reviewers,ochameau"
    },
    "D310766": {
      "author": "mcarare",
      "avatar": "https://www.gravatar.com/avatar/375ba57ab6d559a55eafd4f98e2e3cde?d=identicon\u0026s=64",
      "cl": "D310766",
      "clUrl": "https://phabricator.services.mozilla.com/D310766",
      "description": "The `SettingsScreen` used a `Column` with `fillMaxSize` but lacked a scroll state, which could prevent users from accessing all settings items on smaller screens or landscape orientation. This change adds `verticalScroll` with a `rememberScrollState` to the main container to ensure all content is accessible.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310766",
      "email": "48995920+mcarare@users.noreply.github.com",
      "hash": "1c61c1afff1b5296dc6274a66f4501f41b40f5b3",
      "subject": "Bug 2053032 - Make the SettingsScreen vertically scrollable r=android-reviewers,avirvara"
    },
    "D310783": {
      "author": "Alexandre Poirot",
      "avatar": "https://www.gravatar.com/avatar/da6d769a219551f618ed95bff2c36aca?d=identicon\u0026s=64",
      "cl": "D310783",
      "clUrl": "https://phabricator.services.mozilla.com/D310783",
      "description": "Local Mode can also be managed via preferences, which can be useful\nwhen having many profiles or using automation.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310783",
      "email": "poirot.alex@gmail.com",
      "hash": "fdb5a08b389bc2b68386769c93c7b83f07435896",
      "subject": "Bug 2053061 - [devtools] Document local mode preferences. r=devtools-reviewers,jdescottes"
    },
    "D310797": {
      "author": "Alexandre Poirot",
      "avatar": "https://www.gravatar.com/avatar/da6d769a219551f618ed95bff2c36aca?d=identicon\u0026s=64",
      "cl": "D310797",
      "clUrl": "https://phabricator.services.mozilla.com/D310797",
      "description": "Not worth making the style editor accessible as we are replacing it for\nthe debugger.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310797",
      "email": "poirot.alex@gmail.com",
      "hash": "815481f383818f107cb327ac3878f2e3e50ee733",
      "subject": "Bug 2053071 - [devtools] Disable accessibility check for browser_styleeditor_local_mode.js. r=devtools-reviewers,jdescottes"
    },
    "D310801": {
      "author": "Emilio Cobos Álvarez",
      "avatar": "https://www.gravatar.com/avatar/1d91d22a4892f16f744b31fd4286144e?d=identicon\u0026s=64",
      "cl": "D310801",
      "clUrl": "https://phabricator.services.mozilla.com/D310801",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310801",
      "email": "emilio@crisal.io",
      "hash": "1ae5eed3a3731b40769fd4c94b961f9356a7c1f8",
      "subject": "Bug 2051021 - Detect and work around fontconfig regression in FcNameUnparse. r=jfkthame"
    },
    "D310802": {
      "author": "Emilio Cobos Álvarez",
      "avatar": "https://www.gravatar.com/avatar/1d91d22a4892f16f744b31fd4286144e?d=identicon\u0026s=64",
      "cl": "D310802",
      "clUrl": "https://phabricator.services.mozilla.com/D310802",
      "description": "Fontconfig 2.12 was released in 2017. We can probably remove this now.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310802",
      "email": "emilio@crisal.io",
      "hash": "8676275c20b04d2ca630fd92f36aee3cdc4522ca",
      "subject": "Bug 2051021 - Remove workaround for ancient fontconfig version. r=jfkthame"
    },
    "D310813": {
      "author": "Henrik Skupin",
      "avatar": "https://www.gravatar.com/avatar/4ab832a8d5cae15967c0da59ebfb83f7?d=identicon\u0026s=64",
      "cl": "D310813",
      "clUrl": "https://phabricator.services.mozilla.com/D310813",
      "description": "After proc.kill(), proc.poll() can transiently return None before the OS\nreaps the process. The module-scoped geckodriver fixture's reuse check\nrelies on proc.poll() is None to determine liveness, so it incorrectly\nreuses the dead geckodriver (with port=None). This causes the next test's\nnew_session() to connect to port 80 and fail with ConnectionRefused.\nAdding proc.wait() after joining the reader thread ensures kill()\nand stop() return only once the process is fully terminated.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310813",
      "email": "mail@hskupin.info",
      "hash": "b438a88c9ba62629d11096984af42ab47f9a1bff",
      "subject": "Bug 2052383 - [wdspec] Fix geckodriver reuse race condition after kill/stop. r=jdescottes"
    },
    "D310820": {
      "author": "Thomas Wisniewski",
      "avatar": "https://www.gravatar.com/avatar/e3b9a54f44f5889b1216aeabd4ec1d60?d=identicon\u0026s=64",
      "cl": "D310820",
      "clUrl": "https://phabricator.services.mozilla.com/D310820",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310820",
      "email": "twisniewski@mozilla.com",
      "hash": "dde3d92e7fa5707432788cfd35e1551780aad48a",
      "subject": "Bug 2052837 - remove our JS webcompat intervention for bahn.de; r=skyschub,webcompat-reviewers"
    },
    "D310821": {
      "author": "Emilio Cobos Álvarez",
      "avatar": "https://www.gravatar.com/avatar/1d91d22a4892f16f744b31fd4286144e?d=identicon\u0026s=64",
      "cl": "D310821",
      "clUrl": "https://phabricator.services.mozilla.com/D310821",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310821",
      "email": "emilio@crisal.io",
      "hash": "2c81cf1ea540dfee6cbc61cb42be8cf7cd9d021d",
      "subject": "Bug 2049616 - Resolve contrast-color() at computed-value time if possible. r=jfkthame"
    },
    "D310822": {
      "author": "mcarare",
      "avatar": "https://www.gravatar.com/avatar/375ba57ab6d559a55eafd4f98e2e3cde?d=identicon\u0026s=64",
      "cl": "D310822",
      "clUrl": "https://phabricator.services.mozilla.com/D310822",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310822",
      "email": "48995920+mcarare@users.noreply.github.com",
      "hash": "bec301a2db2dcf3a6b13a1cc816723d7cda1ed40",
      "subject": "Bug 2053093 - Set the default link text color to accentBright in Focus app styles r=android-reviewers,avirvara"
    },
    "D310836": {
      "author": "Johannes Salas Schmidt",
      "avatar": "https://www.gravatar.com/avatar/6793e1db22abe181664726808800b218?d=identicon\u0026s=64",
      "cl": "D310836",
      "clUrl": "https://phabricator.services.mozilla.com/D310836",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310836",
      "email": "joschmidt@mozilla.com",
      "hash": "a1ddcd419e7f1bdc3a164f49735b3415e31b5682",
      "subject": "Bug 2053044 - emit events for all remove api calls in the rust store r=dimi"
    },
    "a7cd26d4b98f": {
      "author": "Cristian Tuns",
      "avatar": "https://www.gravatar.com/avatar/bf43f0be3f88260acd3090c7be8bebe7?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit d03eb282df6a8ed55d4b5c427e41876d9fcf7906.",
      "email": "ctuns@mozilla.com",
      "hash": "a7cd26d4b98f5ffa387f6a493d42f3f0a0f3a522",
      "subject": "Revert \"Bug 2042097 - added fetchBookmarksByURLs helper using array binding. r=mak,places-reviewers\" for causing lint failures in Bookmarks.sys.mjs"
    },
    "ad5ae0865982": {
      "author": "Devota Aabel",
      "avatar": "https://www.gravatar.com/avatar/0f72093e2bea38e3029d5e63d9982537?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Fire missing impression events from stories screen.\nAdd source extra to home_recs_story_clicked and record it on the stories screen.\nAdd source extra to home.content.article impression and click events.\n\n[try](https://treeherder.mozilla.org/jobs?repo=try\u0026landoInstance=lando-prod-2025\u0026landoCommitID=64157)\n\nPull request: https://github.com/mozilla-firefox/firefox/pull/312",
      "email": "daabel@mozilla.com",
      "hash": "ad5ae086598275b071b997a274c1ee2c11c1fdd0",
      "subject": "Bug 2043333 - Update telemetry for stories to support a source parameter to distinguish between homepage and stories screen events. r=gl"
    },
    "b1222317b5ee": {
      "author": "Lando",
      "avatar": "https://www.gravatar.com/avatar/e3fc5c639ea50123800e4b7471f88787?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "# ignore-this-changeset",
      "email": "lando@lando.moz.tools",
      "hash": "b1222317b5ee78e442c4e55b83cf433266fe2bd0",
      "subject": "Bug 2042589: apply code formatting via Lando"
    },
    "b511a4df4d38": {
      "author": "rperta",
      "avatar": "https://www.gravatar.com/avatar/95787d55656c719bd5b0c6754f5449a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 7d9a89580ac33c44837e223b1477d894b5469bc2.",
      "email": "rperta@mozilla.com",
      "hash": "b511a4df4d38ab34677cbd9432205045bbe3222e",
      "subject": "Revert \"Bug 2049348 - Use Nova styles in Performance panel in about:debugging. r=canova,devtools-reviewers,profiler-reviewers,nchevobbe\" for causing dt failures at browser_aboutdebugging_profiler_dialog.js"
    },
    "b7453cb8dfe3": {
      "author": "Atila Butkovits",
      "avatar": "https://www.gravatar.com/avatar/d57dec63a56cf8f6739509d2a319c6ee?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 0bacde30e56cf208d0fd2d51ffc8cc439b6bc76a.",
      "email": "abutkovits@mozilla.com",
      "hash": "b7453cb8dfe31543c3b84c7305e156fdb05be736",
      "subject": "Revert \"Bug 2052386 - Extract ScopedPrefSetter into a shared gtest header r=media-playback-reviewers,padenot\" for causing failures at TestWebRTCCodecInfo.cpp."
    },
    "b75e60794d6b": {
      "author": "rperta",
      "avatar": "https://www.gravatar.com/avatar/95787d55656c719bd5b0c6754f5449a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 3b7a5d5dc96366cf23f41ebae4e6eebf661855ce.",
      "email": "rperta@mozilla.com",
      "hash": "b75e60794d6b3f3a945dff8a020579c68d4d06ac",
      "subject": "Revert \"Bug 2044167 - Remove Debugger.onPromiseSettled r=bthrall\" for causing build bustages"
    },
    "c522ec359f7f": {
      "author": "rperta",
      "avatar": "https://www.gravatar.com/avatar/95787d55656c719bd5b0c6754f5449a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 0b40ca4b71f39c860495db247f891cb78940da5d.",
      "email": "rperta@mozilla.com",
      "hash": "c522ec359f7f3fcaf7dd919b6b7b62ac0a9eed1a",
      "subject": "Revert \"Bug 2050692 - Render text runs in device space and snap clips to the device grid r=gfx-reviewers,lsalzman\" for causing wr failures at attributes-for-embedded-content-and-images/input-image-inline-alt.html"
    },
    "f2eeeebd7ba9": {
      "author": "Atila Butkovits",
      "avatar": "https://www.gravatar.com/avatar/d57dec63a56cf8f6739509d2a319c6ee?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 25f378e8f4ee64f748383667504c5c18864954ab.\n\nRevert \"Bug 2052753 - Update libcubeb to 6d5e5e6. r=cubeb-reviewers,padenot\"\n\nThis reverts commit b68e322065a8b9da05e2783c2a8d82a376eafe91.",
      "email": "abutkovits@mozilla.com",
      "hash": "f2eeeebd7ba996fd1d5421a3f707b944bca6d1a5",
      "subject": "Revert \"Bug 2052753 - Update cubeb-pulse-rs to 88194f9. r=cubeb-reviewers,padenot\" for causing failures at Cargo.lock."
    }
  },
  "date": "2026-07-07",
  "days": 1,
  "generatedAt": "2026-07-07T22:08:18Z",
  "markdown": "## Highlights\n- **Security** Firefox now blocks service workers registered from JSON MIME types, closing a bad script acceptance path in worker startup. [Phab D308863](https://phabricator.services.mozilla.com/D308863) [bug 2044063](https://bugzilla.mozilla.org/show_bug.cgi?id=2044063)\n- **Networking** A batch of HTTP cache and Happy Eyeballs fixes reduces hangs and avoids stale DNS behavior under connection pressure. [Phab D310750](https://phabricator.services.mozilla.com/D310750) [Phab D310751](https://phabricator.services.mozilla.com/D310751) [Phab D310752](https://phabricator.services.mozilla.com/D310752) [Phab D309807](https://phabricator.services.mozilla.com/D309807) [Phab D309816](https://phabricator.services.mozilla.com/D309816)\n- **Web Platform** Speculation Rules grew URL-rule speculative load handling and microtask plumbing, moving prerender and prefetch behavior closer to spec. [Phab D305692](https://phabricator.services.mozilla.com/D305692) [Phab D309216](https://phabricator.services.mozilla.com/D309216) [Phab D310146](https://phabricator.services.mozilla.com/D310146) [bug 2020715](https://bugzilla.mozilla.org/show_bug.cgi?id=2020715)\n- **UI** Firefox desktop added a custom browser icon picker in about:settings, a visible personalization feature with real user-facing impact. [Phab D308651](https://phabricator.services.mozilla.com/D308651) [bug 2049877](https://bugzilla.mozilla.org/show_bug.cgi?id=2049877)\n- **DevTools** Local Mode keeps getting real workflow support, including saving stylesheets to local folders and surfacing stylesheet visibility in the debugger. [Phab D310104](https://phabricator.services.mozilla.com/D310104) [Phab D310593](https://phabricator.services.mozilla.com/D310593)\n- **A11y** Tagged PDF generation is now enabled on Nightly, a meaningful accessibility milestone for exported documents. [Phab D309296](https://phabricator.services.mozilla.com/D309296) [bug 2039124](https://bugzilla.mozilla.org/show_bug.cgi?id=2039124)\n- **V8** SpiderMonkey tightened NaN canonicalization across JS::Value storage, interpreter paths, and Math builtins for more consistent numeric behavior. [Phab D309383](https://phabricator.services.mozilla.com/D309383) [Phab D309384](https://phabricator.services.mozilla.com/D309384) [Phab D309385](https://phabricator.services.mozilla.com/D309385) [Phab D309386](https://phabricator.services.mozilla.com/D309386)\n- **GPU** macOS graphics and ANGLE plumbing moved forward with IOSurface to EGL binding support, plus a crash fix for GPU migration. [Phab D310615](https://phabricator.services.mozilla.com/D310615) [Phab D310616](https://phabricator.services.mozilla.com/D310616) [Phab D310617](https://phabricator.services.mozilla.com/D310617) [Phab D310618](https://phabricator.services.mozilla.com/D310618) [Phab D310669](https://phabricator.services.mozilla.com/D310669)\n- **Mobile** Fenix finished ripping out its legacy Pocket pipeline, simplifying stories fetch and cleanup across upgrade paths. [Phab D310560](https://phabricator.services.mozilla.com/D310560) [Phab D310561](https://phabricator.services.mozilla.com/D310561) [Phab D310562](https://phabricator.services.mozilla.com/D310562) [Phab D310563](https://phabricator.services.mozilla.com/D310563)\n\n## What landed by area\n\n### Desktop UI and Firefox surfaces\n- **UI** Smart Window content is now centered against the Smartbar input for a cleaner layout. [Phab D309742](https://phabricator.services.mozilla.com/D309742) [bug 2047558](https://bugzilla.mozilla.org/show_bug.cgi?id=2047558)\n- **UI** Smart Window sidebar got a minimum width so the panel does not collapse into awkward states. [Phab D309157](https://phabricator.services.mozilla.com/D309157) [bug 2015106](https://bugzilla.mozilla.org/show_bug.cgi?id=2015106)\n- **UI** Sidebar open tabs gained search, making the new sidebar much more usable once tab counts grow. [Phab D309794](https://phabricator.services.mozilla.com/D309794) [bug 2040756](https://bugzilla.mozilla.org/show_bug.cgi?id=2040756)\n- **UI** New Tab widget context menus were normalized for consistency. [Phab D306294](https://phabricator.services.mozilla.com/D306294) [bug 2046045](https://bugzilla.mozilla.org/show_bug.cgi?id=2046045)\n- **UI** Firefox added an alternate tab context menu layout backed by a new menu ordering layer. [Phab D307151](https://phabricator.services.mozilla.com/D307151) [bug 2031718](https://bugzilla.mozilla.org/show_bug.cgi?id=2031718)\n- **UI** Settings now exposes a custom browser icon picker. [Phab D308651](https://phabricator.services.mozilla.com/D308651) [bug 2049877](https://bugzilla.mozilla.org/show_bug.cgi?id=2049877)\n- **UI** Launch on Login now persists a pref after enablement, reducing mismatch between UI state and stored config. [Phab D308324](https://phabricator.services.mozilla.com/D308324) [bug 2049494](https://bugzilla.mozilla.org/show_bug.cgi?id=2049494)\n- **Privacy** The default private search engine now follows the user's default engine instead of diverging. [Phab D309585](https://phabricator.services.mozilla.com/D309585) [bug 1792669](https://bugzilla.mozilla.org/show_bug.cgi?id=1792669)\n- **UI** Better placement landed for the \"Add New Container\" dialog. [Phab D310648](https://phabricator.services.mozilla.com/D310648) [bug 2052815](https://bugzilla.mozilla.org/show_bug.cgi?id=2052815)\n- **UI** The broken site reporter now preserves comment and URL if the user backs out after \"send more info\". [Phab D310714](https://phabricator.services.mozilla.com/D310714) [bug 2046937](https://bugzilla.mozilla.org/show_bug.cgi?id=2046937)\n- **UI** The macOS hidden window now hides \"New Private Window\" when private browsing is disallowed. [Phab D310656](https://phabricator.services.mozilla.com/D310656) [bug 2052056](https://bugzilla.mozilla.org/show_bug.cgi?id=2052056)\n- **UI** Heading font sizes in chrome were reset to remove implicit defaults. [Phab D310156](https://phabricator.services.mozilla.com/D310156) [bug 2052130](https://bugzilla.mozilla.org/show_bug.cgi?id=2052130)\n- **UI** panelUI-shared.css was updated to satisfy design token usage rules. [Phab D302575](https://phabricator.services.mozilla.com/D302575) [bug 2022986](https://bugzilla.mozilla.org/show_bug.cgi?id=2022986)\n- **UI** VPN UI elements dropped custom font sizing. [Phab D309389](https://phabricator.services.mozilla.com/D309389) [bug 2028904](https://bugzilla.mozilla.org/show_bug.cgi?id=2028904)\n- **UI** Smart Window onboarding no longer shows visible rounded border glitches. [Phab D305989](https://phabricator.services.mozilla.com/D305989) [bug 2051524](https://bugzilla.mozilla.org/show_bug.cgi?id=2051524)\n- **A11y** The Applications list in Settings now uses type=\"list\" for better keyboard navigation. [Phab D309156](https://phabricator.services.mozilla.com/D309156) [bug 2019492](https://bugzilla.mozilla.org/show_bug.cgi?id=2019492)\n\n### Networking, cache, and webcompat\n- **Networking** HTTP channels now get a backstop timeout when wedged on cache entry waits. [Phab D310750](https://phabricator.services.mozilla.com/D310750) [bug 2052908](https://bugzilla.mozilla.org/show_bug.cgi?id=2052908)\n- **Networking** Cache consumers parked behind a bypassed writer lock are released correctly. [Phab D310751](https://phabricator.services.mozilla.com/D310751) [bug 2052908](https://bugzilla.mozilla.org/show_bug.cgi?id=2052908)\n- **Networking** Suspended cache writers are torn down on cancel instead of being stranded. [Phab D310752](https://phabricator.services.mozilla.com/D310752) [bug 2052908](https://bugzilla.mozilla.org/show_bug.cgi?id=2052908)\n- **Networking** Happy Eyeballs now retries with TRR disabled if TRR-resolved addresses all fail to connect. [Phab D309807](https://phabricator.services.mozilla.com/D309807) [bug 2051614](https://bugzilla.mozilla.org/show_bug.cgi?id=2051614)\n- **Networking** Winning IP family selection now resets stale family preference state under Happy Eyeballs. [Phab D309816](https://phabricator.services.mozilla.com/D309816) [bug 2051614](https://bugzilla.mozilla.org/show_bug.cgi?id=2051614)\n- **Networking** High-priority lookups no longer reuse a total-negative DNS result under Happy Eyeballs. [Phab D310576](https://phabricator.services.mozilla.com/D310576) [bug 2052794](https://bugzilla.mozilla.org/show_bug.cgi?id=2052794)\n- **Networking** nsContentUtils::AnonymizeURI was removed, continuing URI handling cleanup. [Phab D310580](https://phabricator.services.mozilla.com/D310580) [bug 2052448](https://bugzilla.mozilla.org/show_bug.cgi?id=2052448)\n- **Web Platform** Firefox added a JS webcompat intervention for bahn.de to fix its blank login page. [Phab D310699](https://phabricator.services.mozilla.com/D310699) [bug 2052837](https://bugzilla.mozilla.org/show_bug.cgi?id=2052837)\n- **Web Platform** That same bahn.de intervention was then removed, so this was a short-lived compatibility experiment. [Phab D310820](https://phabricator.services.mozilla.com/D310820) [bug 2052837](https://bugzilla.mozilla.org/show_bug.cgi?id=2052837)\n- **Networking** Beta merge network simulation failures were fixed for search-related testing. [Phab D310639](https://phabricator.services.mozilla.com/D310639) [bug 2051625](https://bugzilla.mozilla.org/show_bug.cgi?id=2051625)\n\n### Web Platform, DOM, layout, and editing\n- **Web Platform** Speculation Rules now considers speculative loads for URL rules. [Phab D305692](https://phabricator.services.mozilla.com/D305692) [bug 2020715](https://bugzilla.mozilla.org/show_bug.cgi?id=2020715)\n- **Web Platform** Speculation Rules got the consider-speculative-loads microtask plumbing. [Phab D309216](https://phabricator.services.mozilla.com/D309216) [bug 2020715](https://bugzilla.mozilla.org/show_bug.cgi?id=2020715)\n- **Web Platform** Null speculation rule tags are now exposed as voided strings. [Phab D310146](https://phabricator.services.mozilla.com/D310146) [bug 2020715](https://bugzilla.mozilla.org/show_bug.cgi?id=2020715)\n- **Web Platform** SpeculationRules ReferrerPolicy ordering was aligned with WebIDL. [Phab D307969](https://phabricator.services.mozilla.com/D307969) [bug 2020715](https://bugzilla.mozilla.org/show_bug.cgi?id=2020715)\n- **Web Platform** EditContext no longer crashes if it is deactivated during composition. [Phab D309418](https://phabricator.services.mozilla.com/D309418) [bug 2051267](https://bugzilla.mozilla.org/show_bug.cgi?id=2051267)\n- **Web Platform** EditContext now handles replaceText content commands. [Phab D310168](https://phabricator.services.mozilla.com/D310168) [bug 2050622](https://bugzilla.mozilla.org/show_bug.cgi?id=2050622)\n- **Web Platform** Firefox added a use counter for EditContext attached to canvas. [Phab D310667](https://phabricator.services.mozilla.com/D310667) [bug 2052874](https://bugzilla.mozilla.org/show_bug.cgi?id=2052874)\n- **Rendering** contrast-color() now resolves at computed-value time when possible. [Phab D310821](https://phabricator.services.mozilla.com/D310821) [bug 2049616](https://bugzilla.mozilla.org/show_bug.cgi?id=2049616)\n- **Rendering** The mask shorthand now accepts 3-value and 4-value \u003cposition\u003e syntax. [Phab D310627](https://phabricator.services.mozilla.com/D310627) [bug 2051129](https://bugzilla.mozilla.org/show_bug.cgi?id=2051129)\n- **Rendering** Selection paging logic was fixed in nsFrameSelection::GetPageToFrameSelect. [Phab D310594](https://phabricator.services.mozilla.com/D310594) [bug 2052637](https://bugzilla.mozilla.org/show_bug.cgi?id=2052637)\n- **Rendering** SVG native anonymous roots can now be used as children of SVG content containers. [Phab D310633](https://phabricator.services.mozilla.com/D310633) [bug 1850539](https://bugzilla.mozilla.org/show_bug.cgi?id=1850539)\n- **DOM** ValidatePrincipalOptions parameters were made optional. [Phab D310335](https://phabricator.services.mozilla.com/D310335) [bug 2052506](https://bugzilla.mozilla.org/show_bug.cgi?id=2052506)\n- **DOM** SerialManagerParent now caches SerialPlatformService. [Phab D304158](https://phabricator.services.mozilla.com/D304158) [bug 2029352](https://bugzilla.mozilla.org/show_bug.cgi?id=2029352)\n- **Security** Clipboard data fetch now sanity-checks WindowContext in PContent::GetClipboardDataInternal. [Phab D310697](https://phabricator.services.mozilla.com/D310697) [bug 2052565](https://bugzilla.mozilla.org/show_bug.cgi?id=2052565)\n- **Web Platform** keypress.charCode behavior for surrogate pairs is now shipped. [Phab D310450](https://phabricator.services.mozilla.com/D310450) [bug 1849790](https://bugzilla.mozilla.org/show_bug.cgi?id=1849790)\n\n### Graphics, rendering pipeline, media, and WebRTC\n- **GPU** Vulkan video decoders now share a VkDevice in DOM Media. [Phab D306576](https://phabricator.services.mozilla.com/D306576) [bug 2047329](https://bugzilla.mozilla.org/show_bug.cgi?id=2047329)\n- **GPU** Text runs now render in device space and clips snap to the device grid. [Phab D310543](https://phabricator.services.mozilla.com/D310543) [bug 2050692](https://bugzilla.mozilla.org/show_bug.cgi?id=2050692)\n- **GPU** Invalid picture-scratch handles are no longer cached during prepare_picture. [Phab D310720](https://phabricator.services.mozilla.com/D310720) [bug 2052609](https://bugzilla.mozilla.org/show_bug.cgi?id=2052609)\n- **GPU** MacIOSurface texture target lookup moved into virtual GLContext plumbing. [Phab D310615](https://phabricator.services.mozilla.com/D310615) [bug 2052522](https://bugzilla.mozilla.org/show_bug.cgi?id=2052522)\n- **GPU** SurfacePoolCA surfaces can now bind to framebuffers over EGL and ANGLE. [Phab D310616](https://phabricator.services.mozilla.com/D310616) [bug 2052522](https://bugzilla.mozilla.com/show_bug.cgi?id=2052522)\n- **GPU** WebRenderAPI capability flags were collapsed into a single struct member. [Phab D310617](https://phabricator.services.mozilla.com/D310617) [bug 2052522](https://bugzilla.mozilla.org/show_bug.cgi?id=2052522)\n- **GPU** MacIOSurfaceTextureHosts can now bind to textures on EGL and ANGLE. [Phab D310618](https://phabricator.services.mozilla.com/D310618) [bug 2052522](https://bugzilla.mozilla.org/show_bug.cgi?id=2052522)\n- **GPU** Firefox avoids a crash when trying to migrate GPUs with ANGLE on macOS. [Phab D310669](https://phabricator.services.mozilla.com/D310669) [bug 2052894](https://bugzilla.mozilla.org/show_bug.cgi?id=2052894)\n- **Media** Native media controls now reflect muted content attribute changes. [Phab D309468](https://phabricator.services.mozilla.com/D309468) [bug 2051326](https://bugzilla.mozilla.org/show_bug.cgi?id=2051326)\n- **Media** Coverage landed to verify mute button state follows muted attribute changes. [Phab D309469](https://phabricator.services.mozilla.com/D309469) [bug 2051326](https://bugzilla.mozilla.org/show_bug.cgi?id=2051326)\n- **Media** H.264 Access Unit Delimiter NALs are stripped before WebRTC OpenH264 decoding. [Phab D310712](https://phabricator.services.mozilla.com/D310712) [bug 2052237](https://bugzilla.mozilla.org/show_bug.cgi?id=2052237)\n- **Media** New tests verify H.264 AUD stripping in the WebRTC GMP decoder. [Phab D310713](https://phabricator.services.mozilla.com/D310713) [bug 2052237](https://bugzilla.mozilla.org/show_bug.cgi?id=2052237)\n- **Media** H.264 encode tests now share output validation. [Phab D310239](https://phabricator.services.mozilla.com/D310239) [bug 2044535](https://bugzilla.mozilla.org/show_bug.cgi?id=2044535)\n- **Media** Real-time 4K batch encoding got a looser keyframe count check to reduce false failures. [Phab D310238](https://phabricator.services.mozilla.com/D310238) [bug 2044535](https://bugzilla.mozilla.org/show_bug.cgi?id=2044535)\n- **Media** macOS encoder logs now note forced-keyframe frame drops. [Phab D310237](https://phabricator.services.mozilla.com/D310237) [bug 2044535](https://bugzilla.mozilla.org/show_bug.cgi?id=2044535)\n- **Media** cubeb-pulse-rs was updated. [Phab D310552](https://phabricator.services.mozilla.com/D310552) [bug 2052753](https://bugzilla.mozilla.org/show_bug.cgi?id=2052753)\n- **Media** libcubeb was updated. [Phab D310551](https://phabricator.services.mozilla.com/D310551) [bug 2052753](https://bugzilla.mozilla.org/show_bug.cgi?id=2052753)\n- **Web Platform** Picture-in-Picture dropped custom play/pause wrapper functions for Udemy. [Phab D310635](https://phabricator.services.mozilla.com/D310635) [bug 2050059](https://bugzilla.mozilla.org/show_bug.cgi?id=2050059)\n- **Perf** WebRTC avoids RTCRtpSender conduit transmit churn for trackless senders. [Phab D306332](https://phabricator.services.mozilla.com/D306332) [bug 2042589](https://bugzilla.mozilla.org/show_bug.cgi?id=2042589)\n- **WebRTC** Remote entries duplicating local send SSRCs are now filtered in RecvTrackSetRemote. [Phab D306331](https://phabricator.services.mozilla.com/D306331) [bug 2042589](https://bugzilla.mozilla.org/show_bug.cgi?id=2042589)\n\n### DevTools, automation, and debugging\n- **DevTools** about:debugging's Performance panel picked up Nova styles. [Phab D310083](https://phabricator.services.mozilla.com/D310083) [bug 2049348](https://bugzilla.mozilla.org/show_bug.cgi?id=2049348)\n- **DevTools** Stylesheets can now be saved to local mode folder files. [Phab D310104](https://phabricator.services.mozilla.com/D310104) [bug 2052176](https://bugzilla.mozilla.org/show_bug.cgi?id=2052176)\n- **DevTools** The debugger got a checkbox to toggle showing stylesheets. [Phab D310593](https://phabricator.services.mozilla.com/D310593) [bug 2051876](https://bugzilla.mozilla.org/show_bug.cgi?id=2051876)\n- **DevTools** TabDescriptor navigateTo now emits extra logs for troubleshooting. [Phab D310294](https://phabricator.services.mozilla.com/D310294) [bug 2052459](https://bugzilla.mozilla.org/show_bug.cgi?id=2052459)\n- **DevTools** Local mode preferences were documented. [Phab D310783](https://phabricator.services.mozilla.com/D310783) [bug 2053061](https://bugzilla.mozilla.org/show_bug.cgi?id=2053061)\n- **DevTools** Local mode docs got typo and wording fixes. [Phab D310764](https://phabricator.services.mozilla.com/D310764) [bug 2053036](https://bugzilla.mozilla.org/show_bug.cgi?id=2053036)\n- **DevTools** A flaky accessibility check was disabled for browser_styleeditor_local_mode.js. [Phab D310797](https://phabricator.services.mozilla.com/D310797) [bug 2053071](https://bugzilla.mozilla.org/show_bug.cgi?id=2053071)\n- **DevTools** Inplace editor autosizing now uses field-sizing: content. [Phab D310274](https://phabricator.services.mozilla.com/D310274) [bug 2048278](https://bugzilla.mozilla.org/show_bug.cgi?id=2048278)\n- **DevTools** Contrast info testing on colors now uses tree counting helpers. [Phab D310385](https://phabricator.services.mozilla.com/D310385) [bug 2047871](https://bugzilla.mozilla.org/show_bug.cgi?id=2047871)\n- **DevTools** geckodriver fixed a reuse race after kill and stop in wdspec. [Phab D310813](https://phabricator.services.mozilla.com/D310813) [bug 2052383](https://bugzilla.mozilla.org/show_bug.cgi?id=2052383)\n- **DevTools** mozrunner-rust upgraded plist to 1.10.0. [Phab D310606](https://phabricator.services.mozilla.com/D310606) [bug 2052142](https://bugzilla.mozilla.org/show_bug.cgi?id=2052142)\n\n### Android and mobile products\n- **Mobile** Android Firefox Labs got more telemetry. [Phab D309436](https://phabricator.services.mozilla.com/D309436) [bug 2046556](https://bugzilla.mozilla.org/show_bug.cgi?id=2046556)\n- **Mobile** Fenix stopped using the legacy Pocket API. [Phab D310560](https://phabricator.services.mozilla.com/D310560) [bug 2052681](https://bugzilla.mozilla.org/show_bug.cgi?id=2052681)\n- **Mobile** Legacy Pocket recommended stories fetch code and use cases were removed. [Phab D310561](https://phabricator.services.mozilla.com/D310561) [bug 2052681](https://bugzilla.mozilla.org/show_bug.cgi?id=2052681)\n- **Mobile** The legacy Pocket stories database was removed. [Phab D310562](https://phabricator.services.mozilla.com/D310562) [bug 2052681](https://bugzilla.mozilla.org/show_bug.cgi?id=2052681)\n- **Mobile** Upgrade cleanup now deletes the legacy pocket_recommendations database. [Phab D310563](https://phabricator.services.mozilla.com/D310563) [bug 2052681](https://bugzilla.mozilla.org/show_bug.cgi?id=2052681)\n- **Mobile** Focus app styles now use accentBright for default link text. [Phab D310822](https://phabricator.services.mozilla.com/D310822) [bug 2053093](https://bugzilla.mozilla.org/show_bug.cgi?id=2053093)\n- **Mobile** The SettingsScreen is now vertically scrollable. [Phab D310766](https://phabricator.services.mozilla.com/D310766) [bug 2053032](https://bugzilla.mozilla.org/show_bug.cgi?id=2053032)\n- **Mobile** The uninstall survey is no longer shown immediately after microsurvey enablement. [Phab D310759](https://phabricator.services.mozilla.com/D310759) [bug 2052840](https://bugzilla.mozilla.org/show_bug.cgi?id=2052840)\n- **Mobile** Google Lens image compression quality now matches Google's spec. [Phab D310679](https://phabricator.services.mozilla.com/D310679) [bug 2052900](https://bugzilla.mozilla.org/show_bug.cgi?id=2052900)\n- **Mobile** The Lens camera screen swapped its camera icon for a search icon. [Phab D309683](https://phabricator.services.mozilla.com/D309683) [bug 2051710](https://bugzilla.mozilla.org/show_bug.cgi?id=2051710)\n- **Privacy** Google Lens toolbar entry is now disabled in private browsing mode on Android. [Phab D309681](https://phabricator.services.mozilla.com/D309681) [bug 2050753](https://bugzilla.mozilla.org/show_bug.cgi?id=2050753)\n- **Mobile** VPN onboarding flow was fixed for signed-in users. [Phab D310430](https://phabricator.services.mozilla.com/D310430) [bug 2052599](https://bugzilla.mozilla.org/show_bug.cgi?id=2052599)\n- **Mobile** VPN onboarding flow got extra test coverage. [Phab D310680](https://phabricator.services.mozilla.com/D310680) [bug 2052966](https://bugzilla.mozilla.org/show_bug.cgi?id=2052966)\n- **Mobile** verifyTheAddToShortcutsSubMenuOptionTest moved to the efficiency framework. [Phab D310050](https://phabricator.services.mozilla.com/D310050) [bug 2052183](https://bugzilla.mozilla.org/show_bug.cgi?id=2052183)\n- **Mobile** verifyNavigationReachability was fixed for the UnifiedTrustPanelPage UI test. [Phab D308284](https://phabricator.services.mozilla.com/D308284) [bug 2049272](https://bugzilla.mozilla.org/show_bug.cgi?id=2049272)\n- **Mobile** FenixEmailMaskPrompt dropped an unused toggleablePromptListener path. [Phab D310031](https://phabricator.services.mozilla.com/D310031) [bug 2017966](https://bugzilla.mozilla.org/show_bug.cgi?id=2017966)\n- **Mobile** A stray Android TODO was removed. [Phab D310719](https://phabricator.services.mozilla.com/D310719) [bug 2041123](https://bugzilla.mozilla.org/show_bug.cgi?id=2041123)\n- **Mobile** ScrollPositionUpdate was made immutable across GeckoView and Android plumbing. [Phab D304705](https://phabricator.services.mozilla.com/D304705) [bug 1994863](https://bugzilla.mozilla.org/show_bug.cgi?id=1994863)\n- **Mobile** Story telemetry now carries a source parameter to split homepage and stories screen events. [bug 2043333](https://bugzilla.mozilla.org/show_bug.cgi?id=2043333)\n\n### JavaScript engine, AI, and application services\n- **V8** JS::CanonicalizeNaN now uses __builtin_isnan so the check can inline cleanly. [Phab D309383](https://phabricator.services.mozilla.com/D309383) [bug 2049714](https://bugzilla.mozilla.org/show_bug.cgi?id=2049714)\n- **V8** Doubles stored in JS::Value are now always canonicalized. [Phab D309384](https://phabricator.services.mozilla.com/D309384) [bug 2049714](https://bugzilla.mozilla.org/show_bug.cgi?id=2049714)\n- **V8** Redundant JS::CanonicalizeNaN calls were removed. [Phab D309385](https://phabricator.services.mozilla.com/D309385) [bug 2049714](https://bugzilla.mozilla.org/show_bug.cgi?id=2049714)\n- **V8** The interpreter and Math builtins now use setDoubleAssumeCanonicalNaN and setNumberAssumeCanonicalNaN. [Phab D309386](https://phabricator.services.mozilla.com/D309386) [bug 2049714](https://bugzilla.mozilla.org/show_bug.cgi?id=2049714)\n- **V8** Debugger.onPromiseSettled was removed. [Phab D309543](https://phabricator.services.mozilla.com/D309543) [bug 2044167](https://bugzilla.mozilla.org/show_bug.cgi?id=2044167)\n- **V8** SetContextWasmOptions merged identical --wasm-compiler cases. [Phab D310654](https://phabricator.services.mozilla.com/D310654) [bug 2052866](https://bugzilla.mozilla.org/show_bug.cgi?id=2052866)\n- **Refactor** nsXPTConstantInfo::JSValue() was simplified. [Phab D309085](https://phabricator.services.mozilla.com/D309085) [bug 2050877](https://bugzilla.mozilla.org/show_bug.cgi?id=2050877)\n- **UI** Smart Window intent configuration became manually configurable. [Phab D307418](https://phabricator.services.mozilla.com/D307418) [bug 2027850](https://bugzilla.mozilla.org/show_bug.cgi?id=2027850)\n- **UI** SmartWindow intent model support landed for France. [Phab D309740](https://phabricator.services.mozilla.com/D309740) [bug 2051778](https://bugzilla.mozilla.org/show_bug.cgi?id=2051778)\n- **UI** Open tabs retrieval for the GetOpenTabs tool increased from 15 to 30. [Phab D307641](https://phabricator.services.mozilla.com/D307641) [bug 2048749](https://bugzilla.mozilla.org/show_bug.cgi?id=2048749)\n- **Refactor** UTF-8 sequence handling was fixed in llama.cpp generation. [Phab D308124](https://phabricator.services.mozilla.com/D308124) [bug 2043430](https://bugzilla.mozilla.org/show_bug.cgi?id=2043430)\n- **UI** Firefox's messaging system gained a new action-only message type. [Phab D308617](https://phabricator.services.mozilla.com/D308617) [bug 2050140](https://bugzilla.mozilla.org/show_bug.cgi?id=2050140)\n- **UI** Wallpaper highlight CTA deep-link category can now be driven from OMC message content. [Phab D309484](https://phabricator.services.mozilla.com/D309484) [bug 2051450](https://bugzilla.mozilla.org/show_bug.cgi?id=2051450)\n- **UI** World Cup widget survey callouts were added. [Phab D310212](https://phabricator.services.mozilla.com/D310212) [bug 2052373](https://bugzilla.mozilla.org/show_bug.cgi?id=2052373)\n- **Privacy** Address autofill Nimbus was removed from desktop because the feature is now globally enabled. [Phab D310630](https://phabricator.services.mozilla.com/D310630) [bug 2052652](https://bugzilla.mozilla.org/show_bug.cgi?id=2052652)\n- **Refactor** Assigned versioning was removed from the ML config for address autofill. [Phab D310711](https://phabricator.services.mozilla.com/D310711) [bug 2052968](https://bugzilla.mozilla.org/show_bug.cgi?id=2052968)\n- **UI** A locked location property was added. [Phab D310663](https://phabricator.services.mozilla.com/D310663) [bug 2052007](https://bugzilla.mozilla.org/show_bug.cgi?id=2052007)\n- **Refactor** The Rust store now emits events for all remove API calls. [Phab D310836](https://phabricator.services.mozilla.com/D310836) [bug 2053044](https://bugzilla.mozilla.org/show_bug.cgi?id=2053044)\n- **UI** A French sensitive content filter was added for memory generation. [Phab D310147](https://phabricator.services.mozilla.com/D310147) [bug 2051714](https://bugzilla.mozilla.org/show_bug.cgi?id=2051714)\n\n### Build, tooling, and platform maintenance\n- **Build** Linux install-firefox.sh support landed across apt, rpm, flatpak, tarball, and snap, with unit-test scaffolding and CI coverage. [Phab D306741](https://phabricator.services.mozilla.com/D306741) [Phab D306742](https://phabricator.services.mozilla.com/D306742) [Phab D306743](https://phabricator.services.mozilla.com/D306743) [Phab D306744](https://phabricator.services.mozilla.com/D306744) [Phab D306745](https://phabricator.services.mozilla.com/D306745) [Phab D306746](https://phabricator.services.mozilla.com/D306746) [bug 2032149](https://bugzilla.mozilla.org/show_bug.cgi?id=2032149)\n- **Build** PATH and INCLUDE capture was made deterministic. [Phab D301634](https://phabricator.services.mozilla.com/D301634) [bug 2040992](https://bugzilla.mozilla.org/show_bug.cgi?id=2040992)\n- **Build** Clang-tidy modernize-use-std-numbers was enabled. [Phab D310693](https://phabricator.services.mozilla.com/D310693) [bug 2052893](https://bugzilla.mozilla.org/show_bug.cgi?id=2052893)\n- **Build** Static analysis autotests now target C++20. [Phab D310692](https://phabricator.services.mozilla.com/D310692) [bug 2052895](https://bugzilla.mozilla.org/show_bug.cgi?id=2052895)\n- **Build** modernize-use-transparent-functors was activated in clang-tidy. [Phab D310337](https://phabricator.services.mozilla.com/D310337) [bug 2052508](https://bugzilla.mozilla.org/show_bug.cgi?id=2052508)\n- **Build** std::midpoint is now used in graphics code to avoid potential integer overflow. [Phab D310372](https://phabricator.services.mozilla.com/D310372) [bug 2052551](https://bugzilla.mozilla.org/show_bug.cgi?id=2052551)\n- **Build** macOS build time and installer size regressions were prevented. [Phab D310001](https://phabricator.services.mozilla.com/D310001) [bug 2051856](https://bugzilla.mozilla.org/show_bug.cgi?id=2051856)\n- **Build** libffi got an upstream fix cherry-pick for a clang-22 dlmalloc breakage. [Phab D310057](https://phabricator.services.mozilla.com/D310057) [bug 2052116](https://bugzilla.mozilla.org/show_bug.cgi?id=2052116)\n- **Build** Bootstrap only installs awk when it is actually missing. [Phab D310220](https://phabricator.services.mozilla.com/D310220) [bug 2044781](https://bugzilla.mozilla.org/show_bug.cgi?id=2044781)\n- **Build** The openSUSE Leap bootstrap job was fixed for Leap 16. [Phab D310219](https://phabricator.services.mozilla.com/D310219) [bug 2048985](https://bugzilla.mozilla.org/show_bug.cgi?id=2048985)\n- **Build** mach try now handles missing presets without throwing exceptions. [Phab D310704](https://phabricator.services.mozilla.com/D310704) [bug 2049969](https://bugzilla.mozilla.org/show_bug.cgi?id=2049969)\n- **Build** Command help is now shown when argument parsing fails. [Phab D303474](https://phabricator.services.mozilla.com/D303474) [bug 2043567](https://bugzilla.mozilla.org/show_bug.cgi?id=2043567)\n- **Build** android-gradle-build no longer runs with reviewbot. [Phab D310729](https://phabricator.services.mozilla.com/D310729) [bug 2052992](https://bugzilla.mozilla.org/show_bug.cgi?id=2052992)\n- **Build** Release history handling and nightly task filtering were tightened in taskgraph and releng flows. [Phab D310316](https://phabricator.services.mozilla.com/D310316) [Phab D310317](https://phabricator.services.mozilla.com/D310317) [Phab D310318](https://phabricator.services.mozilla.com/D310318) [Phab D16580](https://phabricator.services.mozilla.com/D16580) [bug 2052329](https://bugzilla.mozilla.org/show_bug.cgi?id=2052329)\n- **Build** Taskgraph now uses copy_attributes_from_dependent_job from mozilla-taskgraph. [Phab D310158](https://phabricator.services.mozilla.com/D310158) [bug 2052318](https://bugzilla.mozilla.org/show_bug.cgi?id=2052318)\n- **Build** mozversioncontrol switched BaseRepository._run to subprocess.run. [Phab D309177](https://phabricator.services.mozilla.com/D309177) [bug 2050950](https://bugzilla.mozilla.org/show_bug.cgi?id=2050950)\n- **Build** mozversioncontrol HgRepository.push now supports env passthrough. [Phab D309069](https://phabricator.services.mozilla.com/D309069) [bug 2050950](https://bugzilla.mozilla.org/show_bug.cgi?id=2050950)\n- **Build** mozversioncontrol added support for jj v0.42. [Phab D309174](https://phabricator.services.mozilla.com/D309174) [bug 2050950](https://bugzilla.mozilla.org/show_bug.cgi?id=2050950)\n- **Build** mach file-info can now suggest reviewers and reviewer groups. [Phab D307846](https://phabricator.services.mozilla.com/D307846) [Phab D307847](https://phabricator.services.mozilla.com/D307847) [bug 2048988](https://bugzilla.mozilla.org/show_bug.cgi?id=2048988)\n- **Build** A Claude-based find-reviewer skill was added to the workflow. [Phab D307848](https://phabricator.services.mozilla.com/D307848) [bug 2048988](https://bugzilla.mozilla.org/show_bug.cgi?id=2048988)\n- **GPU** wgpu was updated to revision 93e00976015c937fc86f02bd9efcf343c6ce5e5d. [Phab D310287](https://phabricator.services.mozilla.com/D310287) [bug 2052109](https://bugzilla.mozilla.org/show_bug.cgi?id=2052109)\n- **Build** objc2-core-graphics was audited as part of the wgpu update. [Phab D310157](https://phabricator.services.mozilla.com/D310157) [bug 2052109](https://bugzilla.mozilla.org/show_bug.cgi?id=2052109)\n- **Refactor** Various modules were migrated to moz-src in a broad cleanup sweep. [Phab D310534](https://phabricator.services.mozilla.com/D310534) [bug 2052740](https://bugzilla.mozilla.org/show_bug.cgi?id=2052740)\n- **Refactor** intl/locale moved to moz-src. [Phab D310431](https://phabricator.services.mozilla.com/D310431) [bug 2052610](https://bugzilla.mozilla.org/show_bug.cgi?id=2052610)\n- **Build** Browser, toolkit, tools, code-quality, gtest, permissions, remote, and source docs all saw warning cleanup or Markdown conversion fixes. [Phab D310475](https://phabricator.services.mozilla.com/D310475) [Phab D310481](https://phabricator.services.mozilla.com/D310481) [Phab D310482](https://phabricator.services.mozilla.com/D310482) [Phab D310483](https://phabricator.services.mozilla.com/D310483) [Phab D310484](https://phabricator.services.mozilla.com/D310484) [Phab D310491](https://phabricator.services.mozilla.com/D310491) [Phab D310492](https://phabricator.services.mozilla.com/D310492) [Phab D310493](https://phabricator.services.mozilla.com/D310493)\n- **Build** Fenix and Focus linters no longer trip on missing ktlint reports. [Phab D308268](https://phabricator.services.mozilla.com/D308268) [bug 2049695](https://bugzilla.mozilla.org/show_bug.cgi?id=2049695)\n\n### Accessibility, input, widget, and platform fixes\n- **A11y** Tagged PDF generation was enabled on Nightly. [Phab D309296](https://phabricator.services.mozilla.com/D309296) [bug 2039124](https://bugzilla.mozilla.org/show_bug.cgi?id=2039124)\n- **A11y** Print DocAccessibleParents now have IsPrintDoc available immediately at construction. [Phab D310278](https://phabricator.services.mozilla.com/D310278) [bug 2052414](https://bugzilla.mozilla.org/show_bug.cgi?id=2052414)\n- **A11y** Firefox no longer calls ProxyCreated for print DocAccessibleParents and their descendant RemoteAccessibles. [Phab D310279](https://phabricator.services.mozilla.com/D310279) [bug 2052414](https://bugzilla.mozilla.org/show_bug.cgi?id=2052414)\n- **UI** Sidebar expand-on-hover no longer gets stuck open when users interact with panels. [Phab D308832](https://phabricator.services.mozilla.com/D308832) [bug 2023350](https://bugzilla.mozilla.org/show_bug.cgi?id=2023350)\n- **UI** Visual and layout scroll offsets are kept in sync in FrameMetrics::UpdatePendingScrollInfo. [Phab D307420](https://phabricator.services.mozilla.com/D307420) [bug 2034907](https://bugzilla.mozilla.org/show_bug.cgi?id=2034907)\n- **UI** APZ fast-path notifications now find the nearest scroll ID by walking scroll-container ancestors. [Phab D310557](https://phabricator.services.mozilla.com/D310557) [bug 2052759](https://bugzilla.mozilla.org/show_bug.cgi?id=2052759)\n- **UI** Synthesized pan gesture blocks now terminate correctly when a pan-end is transmogrified into a pan-start. [Phab D308175](https://phabricator.services.mozilla.com/D308175) [bug 1931090](https://bugzilla.mozilla.org/show_bug.cgi?id=1931090)\n- **Security** macOS Secure Event Input is now released on widget teardown and resign-key. [Phab D309037](https://phabricator.services.mozilla.com/D309037) [bug 2050794](https://bugzilla.mozilla.org/show_bug.cgi?id=2050794)\n- **Security** Windows drag and clipboard paths got extra hardening with missing null checks and IStream length validation. [Phab D310207](https://phabricator.services.mozilla.com/D310207) [Phab D310208](https://phabricator.services.mozilla.com/D310208) [bug 2051888](https://bugzilla.mozilla.org/show_bug.cgi?id=2051888) [bug 2052060](https://bugzilla.mozilla.org/show_bug.cgi?id=2052060)\n- **Security** nsDataObj now uses WC_NO_BEST_FIT_CHARS on Windows. [Phab D310209](https://phabricator.services.mozilla.com/D310209) [bug 2051895](https://bugzilla.mozilla.org/show_bug.cgi?id=2051895)\n- **Refactor** A redundant null check was removed in BindToParent. [Phab D310730](https://phabricator.services.mozilla.com/D310730) [bug 2052857](https://bugzilla.mozilla.org/show_bug.cgi?id=2052857)\n- **Media** ScopedPrefSetter was extracted into a shared gtest header. [Phab D310214](https://phabricator.services.mozilla.com/D310214) [bug 2052386](https://bugzilla.mozilla.org/show_bug.cgi?id=2052386)\n- **Refactor** A partial revert adjusted PersistentRooted usage around PullWithDefaultReaderChunkStepMicrotask::mChunk. [Phab D310701](https://phabricator.services.mozilla.com/D310701) [bug 2052375](https://bugzilla.mozilla.org/show_bug.cgi?id=2052375)\n- **Refactor** Bookmarks got a fetchBookmarksByURLs helper using array binding. [Phab D308638](https://phabricator.services.mozilla.com/D308638) [bug 2042097](https://bugzilla.mozilla.org/show_bug.cgi?id=2042097)\n- **UI** A typo in smart-window-cancelled-label was fixed. [Phab D310694](https://phabricator.services.mozilla.com/D310694) [bug 2052947](https://bugzilla.mozilla.org/show_bug.cgi?id=2052947)\n- **Refactor** Bug 2047689 landed, but the commit message here does not describe the change. [Phab D309073](https://phabricator.services.mozilla.com/D309073) [bug 2047689](https://bugzilla.mozilla.org/show_bug.cgi?id=2047689)\n\n## Reverts \u0026 Reapplies\n- **Build** Reverted deterministic PATH and INCLUDE capture after build bustage. [bug 2040992](https://bugzilla.mozilla.org/show_bug.cgi?id=2040992)\n- **V8** Reverted removal of Debugger.onPromiseSettled after build bustage. [bug 2044167](https://bugzilla.mozilla.org/show_bug.cgi?id=2044167)\n- **Rendering** Reverted 3-value and 4-value mask shorthand position syntax by developer request. [bug 2051129](https://bugzilla.mozilla.org/show_bug.cgi?id=2051129)\n- **DevTools** Reverted Nova Performance panel styling in about:debugging after DevTools test failures. [bug 2049348](https://bugzilla.mozilla.org/show_bug.cgi?id=2049348)\n- **Networking** Reverted suspended cache writer teardown after nsHttpChannel build bustage. [bug 2052908](https://bugzilla.mozilla.org/show_bug.cgi?id=2052908)\n- **Networking** Reverted the Happy Eyeballs negative DNS reuse change after browser chrome failures. [bug 2052794](https://bugzilla.mozilla.org/show_bug.cgi?id=2052794)\n- **A11y** Backed out tagged PDF related print accessibility changes after web platform crashes around MaybeFireNameChange. [bug 2039124](https://bugzilla.mozilla.org/show_bug.cgi?id=2039124) [bug 2052414](https://bugzilla.mozilla.org/show_bug.cgi?id=2052414)\n- **GPU** Reverted device-space text run rendering and clip snapping after WebRender test failures. [bug 2050692](https://bugzilla.mozilla.org/show_bug.cgi?id=2050692)\n- **GPU** Reverted invalid picture-scratch handle caching change after reftest failures. [bug 2052609](https://bugzilla.mozilla.org/show_bug.cgi?id=2052609)\n- **Build** Reverted mozversioncontrol subprocess.run migration after test_push_env_passthrough failures. [bug 2050950](https://bugzilla.mozilla.org/show_bug.cgi?id=2050950)\n- **Media** Reverted shared ScopedPrefSetter header extraction after WebRTC codec test failures. [bug 2052386](https://bugzilla.mozilla.org/show_bug.cgi?id=2052386)\n- **Media** Reverted cubeb-pulse-rs update after Cargo.lock failures. [bug 2052753](https://bugzilla.mozilla.org/show_bug.cgi?id=2052753)\n- **Rendering** Reverted SVG custom content container support after SVGUtils.cpp failures. [bug 1850539](https://bugzilla.mozilla.org/show_bug.cgi?id=1850539)\n- **Refactor** Reverted fetchBookmarksByURLs array binding helper after lint failures in Bookmarks.sys.mjs. [bug 2042097](https://bugzilla.mozilla.org/show_bug.cgi?id=2042097)",
  "repo": "firefox",
  "repoDisplay": "Firefox",
  "rollGroups": [
    {
      "name": "No",
      "count": 3
    }
  ],
  "since": "2026-07-07",
  "totals": {
    "commits": 200,
    "features": 197,
    "rolls": 3
  },
  "until": "2026-07-07"
}