Firefox Profiler Deployment (January 27, 2026)

The latest version of the Firefox Profiler is now live! Check out the full changelog below to see what’s changed:

Highlights:

  • :tada::tada::tada: [arai-a] Implement dark mode (#5740)
    • Huge thanks to :arai for working on this feature! It’s currently not enabled by default but will be soon. It can be enabled through window.toggleDarkMode().
  • [arai-a] Add a menu to copy the Marker Table as text (#5732)
  • [arai-a] Do not apply sticky tooltip on double click (#5754)
  • [Markus Stange] Allow seeing different assembly code for the same function (#5349)
  • [fatadel] Align double-click behavior of stack chart with flame graph (#5782)
  • [Markus Stange] Add a Focus Self transform (#5774)
  • [Markus Stange] Fix “scroll to hotspot” functionality in the source view + assembly view (#5759)
  • [Nazım Can Altınova] Enable the Turkish locale in production (#5786)

Other Changes:

  • [arai-a] Put radio buttons into labels (#5738)
  • [DaniPopes] Update comment for “unique-string” (#5741)
  • [Karan Pradhan] Hide tooltip filter button in non-sticky tooltips and add hideFilterButton tests (#5718)
  • [arai-a] Make the entire list item clickable for the “Full Range” (#5742)
  • [Markus Stange] Remove SVG asset imports from profile-data.ts (#5747)
  • [Markus Stange] Stop blindly extracting uint8array.buffer after calling compress() (#5753)
  • [Markus Stange] Move symbol table demangling out of SymbolStore into SymbolProvider (#5746)
  • [Markus Stange] In the assembly view state, refer to the current symbol by index (#5755)
  • [arai-a] Skip the ChartCanvas redraw on the Viewport’s internal default state usage (#5744)
  • [Markus Stange] Keep the colorField markerSchema field when processing profiles in the gecko format (#5760)
  • [Markus Stange] Fix light-mode colors (#5765)
  • [Markus Stange] Tweak dark mode colours. (#5767)
  • [Nazım Can Altınova] Enable some basic type-aware lints (#5775)
  • [fatadel] Refine tree view a11y (#5779)
  • [Markus Stange] Split gz.ts properly into node and browser variants (#5764)
  • [Markus Stange] Simplify and optimize the computation of per-call-node line and address timings (#5770)
  • [Nazım Can Altınova] Move the dark mode toggle to devtools console (#5783)
  • [Nazım Can Altınova] Improve Chrome importer marker payload logic (#5717)
  • [Nazım Can Altınova] :clockwise_vertical_arrows: Sync: l10n → main (Jan 27, 2026) (#5785)

Big thanks to our amazing localizers for making this release possible:

  • be: Mikalai Udodau
  • de: Ger
  • de: Michael Köhler
  • el: Jim Spentzos
  • en-CA: chutten
  • en-CA: Saurabh
  • en-GB: Ian Neal
  • en-GB: Saurabh
  • es-CL: ravmn
  • fy-NL, nl: Fjoerfoks
  • fr: Skywarp
  • fr: Théo Chevalier
  • fur: Fabio Tomat
  • fy-NL: Fjoerfoks
  • ia: Melo46
  • it: Francesco Lodolo [:flod]
  • nl: Fjoerfoks
  • nl: Mark Heijl
  • pt-BR: Marcelo Ghelman
  • ru: berry
  • ru: Valery Ledovskoy
  • sv-SE: Andreas Pettersson
  • tr: Grk
  • zh-CN: Olvcpr423
  • zh-CN: wxie
  • zh-TW: Pin-guang Chen

Find out more about the Firefox Profiler on profiler.firefox.com! If you have any questions, join the discussion on our Matrix channel!