Highlights
-
Windows tests now start twice as fast! Thanks to improvements in how we provision Windows machines in the cloud, Yaraslau Kurmyza and RelOps cut startup delays dramatically. Since December 9th, it now takes 3 times less time to get a Windows worker ready, which has reduced Windows test wait times by half.
-
AGENTS.md and CLAUDE.md were added to the Firefox repository.
-
Calixte implemented most of the backend functionality to support reorganizing pages, splitting and merging PDFs.
Contributors
-
Arthur Silber
-
Tim van der Meij
Detailed Project Updates
AI for Development
-
AGENTS.md and CLAUDE.md were added to the Firefox repository.
-
An AI coding policy was published in the Firefox source docs.
-
Suhaib Mujahid built an MCP server to facilitate the integration of AI assistants with the Firefox development tooling, whichIt enables AI assistants to search using Searchfox, read Bugzilla bugs and Phabricator revisions, access Firefox source documentation, and streamline patch review workflows.
-
Suhaib Mujahid extended the test selection system to work with local changes, enabling AI assistants to leverage our ML-based test selection for automatic identification of relevant tests, allowing them to iterate faster during development.
-
Suhaib Mujahid implemented improvements to the Review Helper tool to improve the accuracy of suggested review comments.
Bugzilla
-
Thanks to Kohei, when a user enters a comment on the show bug page, it will update the page instantly without a reload. (see Bug 1993761)
-
Thanks to external contributor Logan Rosen for updating Bugzilla to use a newer version of libcmark-gfm which will solve some issues with rendering of Markdown in comments. (see Bug 1802047)
Build System and Mach Environment
-
The dependency on Makefile.in has been reduced. The path is still long, but itβs getting a bit closer (see Bug 847009 )
-
Faster configure step thanks to faster warning flag checks (see Bug 1985940 )
-
Alex Hochheiden upgraded the JavaScript minifier from jsmin to Terser and enabled minification for pdf.js to improve loading performance.
-
Alex Hochheiden optimized glean-gradle-plugin and NimbusGradlePlugin configuration. Gained ~10s configuration time speedup and ~200MB disk space saved.
Firefox-CI, Taskcluster and Treeherder
-
Your CI tasks are going to start faster! After many changes of different sizes, the entire Release Engineering team is proud to announce that the decision task is as fast as the best record from 2019 and even faster than ever before on autoland. We intend to beat the record on try with a few more patches close to landing.
-
Windows tests now start twice as fast! Thanks to improvements in how we provision Windows machines in the cloud, Yaraslau Kurmyza and RelOps cut startup delays dramatically. Since December 9th, it now takes 3 times less time to get a Windows worker ready, which has reduced Windows test wait times by half.
-
Ever wondered if your try-push scheduled the right tasks? Treeherder now shows unscheduled jobs too. Hit s to toggle visibility and cut down CI guesswork!
-
Abhishek Madan made various performance improvements to the decision tasks totalling to around 25% improvement
-
Abhishek Madan switched Decision tasks to a faster worker-type
-
Andrew Halberstadt kicked off the CI migration from hg.mozilla.org β Github, implementing:
-
Shallow clone support in run-task
-
A dedicated Decision task that responds to Github events
-
-
Ben Hearsum added support for outputting the relationships between taskgraph kinds as Mermaid diagrams, making it easier to visualize the relationships between tasks.
-
Matt Boris added the finishing touches on D2G (Docker Worker to Generic Worker translation layer) to enable Julien Cristau to begin rolling changes out to L3 pools.
Lint, Static Analysis and Code Coverage
-
New include linter through mach lint -lincludes . Unused MFBT and standard C++ headers are reported.
-
Alex Hochheiden fixed many lint warnings and upgraded them to errors.
-
Alex Hochheiden replaced black with ruff-format.
PDF.js
-
Calixte implemented most of the backend functionality to support reorganizing pages, splitting and merging PDFs.
-
Calixte added support for tagged math in PDFs in order to make math content accessible.
-
Tim van der Meij helped with maintenance and improvements to pdf.js CI, like using OICD trusted publishing.
-
Aditi made it so we serialize pattern data into ArrayBuffer, paving the way for moving pdf.js rendering in worker threads.
-
Arthur Silber improved text rendering performance by skipping unnecessary pattern calculations, leading to up to 84% reduction in pdfpaint time for some PDFs.
-
Calixte added support for the pdfium jbig2 decoder compiled in wasm in order to replace the pure JS version.
Firefox Translations
-
(Bug 1975487, 1994794, 1995403) Erik Nordin shipped significant improvements to the Translations experience when translating web pages between left-to-right and right-to-left languages.
-
(Bug 1967758) Erik Nordin improved the algorithm for page-language detection, centralizing the behavior in the parent process, instead of creating a separate language detector instance per content process.
-
Evgeny Pavlov trained Chinese Traditional
-
Sergio Ortiz Rojas trained English to Vietnamese
-
Evgeny Pavlov created new evaluation dashboards with expanded metrics, datasets and LLM explanations
-
Evgeny Pavlov migrated the model registry from Github to Google Cloud Storage with the updated UI (new models JSON)
Phabricator, moz-phab, and Lando
-
Zeid and Olivier implemented various changes in Lando to support the GitHub pull request pilot project.
-
Zeid added support for short hash when querying git2hg commit maps in Lando.
-
Connor Sheehan implemented uplift requests as background jobs, providing many improvements to the uplift request workflow in Lando:
-
Merge conflict detection at job completion time, instead of at landing time.
-
Uplift to multiple trains at once, with failure notification emails that provide step-by-step commands to resolve the conflict and re-submit.
-
Uplift assessment form linking workflow to avoid re-submitting the same form when manually resolving merge conflicts for an uplift.
-
-
Connor Sheehan made it possible to select individual commits in the stack for uplift, instead of always uplifting the parent commits for a given revision.
-
Connor Sheehan added a new uplift assessment linking view and hooked it into moz-phab uplift, removing a few steps between submitting an uplift request and opening the form for submission or linking to the new request.
-
moz-phab had several new releases.
-
Mathew Hodson restored the --upstream argument to moz-phab submit.
-
Jujutsu support saw improvements to moz-phab patch, better handling of working copy changes and a minimum jj version bump to 0.33.
-
moz-phab uplift saw a few changes to enable better integration with the Lando-side changes.
-
See the release notes here:
-
https://discourse.mozilla.org/t/mozphab-2-6-0-released/146283
-
https://discourse.mozilla.org/t/mozphab-2-7-0-released/146293
-
https://discourse.mozilla.org/t/mozphab-2-7-1-released/146295
-
https://discourse.mozilla.org/t/mozphab-2-7-2-released/146339
-
https://discourse.mozilla.org/t/mozphab-2-8-0-released/146434
-
https://discourse.mozilla.org/t/mozphab-2-8-1-released/146774
-
-
Version Control
-
Connor Sheehan added clonebundle buckets in the us-east1 GCP region to improve clone times in CI.
-
Julien Cristau added the new tags Mercurial branches to mozilla-unified.
-
Julien Cristau and Olivier Mehani took steps to reduce OOM issues on the hg push server.
-
Julien Cristau resolved a Kafka issue by pruning try heads and resolving issues with try heads alerting, and Greg Cox increased the storage in Kafka in support of the mitigation.
-
Greg Cox implemented staggered auto-updating with reboots on the load balancers in front of hg.mozilla.org.
Thanks for reading and see you next month!