The latest version of the Firefox Profiler is now live! Check out the full changelog below to see what’s changed:
Highlights:
- [Markus Stange] Convert the entire codebase to TypeScript (#5549)
Our project is now completely Flow-free! 
- [Florian Quèze] Change the ‘JavaScript’ radio button label to ‘Script’ (#5530)
- [Florian Quèze] Show the vertical ruler in the timeline when hovering the network chart (#5548)
- [Nazım Can Altınova] Upgrade ESLint to version 9 (#5567)
- [Ryan Hunt] Embed iongraph-web and use for iongraph.json source files (#5577)
Other Changes:
- [Nazım Can Altınova] Display the marker description at the top inside the marker tooltips (#5534)
- [Markus Stange] Implement profile logic and some selectors for the function list (#5525)
- [Markus Stange] Some small type fixes (#5538)
- [Markus Stange] Simplify return type of the callback we pass to setState. (#5540)
- [Markus Stange] Pass the correct value to the reducer’s action argument (#5543)
- [Markus Stange] Change withSize to accept PropsWithoutSize as its type parameter (#5541)
- [Nazım Can Altınova] Make sure that the test-debug command runs the tests properly (#5545)
- [Markus Stange] Improve type coverage involving network phases (#5539)
- [Markus Stange] Change implementation of withChartViewport (#5542)
- [Florian Quèze] A new permalink should be generated and shown after using the re-upload feature. (#5547)
- [Nazım Can Altınova] Update the yarn.lock file after recent changes (#5557)
- [Markus Stange] Add proper TypeScript coverage for window-navigation.ts (#5559)
- [Markus Stange] Remove leftover $FlowExpectError comments (#5560)
- [Markus Stange] Fix Iterator / Iterable confusion (#5561)
- [Nazım Can Altınova] Remove the unneeded test-all:ci script (#5566)
- [Nazım Can Altınova] Fix a type case inconsistency (#5569)
- [Florian Quèze] Make ‘yarn lint --fix’ work as an alias to ‘yarn lint-fix’. (#5563)
- [Ryan Hunt] Don’t stringify JSON again in fetchUrlResponse (#5570)
- [Markus Stange] Simplify Worker setup, and support .json.gz inputs in symbolicator-cli (#5556)
- [Nazım Can Altınova] Add TypeScript coverage to the intersection observer mock (#5574)
- [Markus Stange] Set the preview selection to null when there is no selection (#5568)
- [Markus Stange] Add tests for query-api.ts (#5571)
- [Markus Stange] Enable noUnusedParameters and @typescript-eslint/no-unused-vars and clean up a few more things (#5576)
- [Markus Stange] Remove recursion in filterThreadToSearchString (#5572)
Big thanks to our amazing localizers for making this release possible:
- be: Mikalai Udodau
- de: Michael Köhler
- el: Jim Spentzos
- en-CA: chutten
- en-GB: Paul
- es-CL: ravmn
- fr: Théo Chevalier
- fur: Fabio Tomat
- fy-NL: Fjoerfoks
- ia: Melo46
- it: Francesco Lodolo [:flod]
- nl: Mark Heijl
- pt-BR: Marcelo Ghelman
- ru: Valery Ledovskoy
- sv-SE: Luna Jernberg
- tr: Rua
- tr: Selim Şumlu
- uk: Іhor Hordiichuk
- zh-CN: Olvcpr423
- 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!