Normale weergave
Isle of Ireland: Research Trip
What's the best way to capture the spirit of Ireland? Hit the road, of course! In June, members of our Euro Truck Simulator 2 map team travelled across the Emerald Isle on a research trip for our upcoming Isle of Ireland DLC. With cameras in hand and thousands of kilometres ahead, they explored everything from lively cities and picturesque villages to rugged coastlines and breathtaking scenery, collecting the references that will help shape this exciting expansion. Here are some of their highlights from their journey.
Five members of the SCS Software team took part on this trip, including Ivan, our World Map Design QA Lead, Josef from the Road Department, Kristian and Libor, Map Designers, and Honza, the Project Lead for the Isle of Ireland DLC.
However, that isn't all, as Alex, one of our Community Managers, and Cenda, one of our talented Videomakers, also joined the research trip to document the journey and give you a closer look behind the scenes. We can't wait to share more from this incredible adventure in a special future episode of SCS On The Road.
Their journey began in Dublin, where the team came together before setting off on an ambitious road trip around much of Ireland. Their route took them from Dublin to Rosslare Harbour, Waterford, Cork, Killarney, Limerick, Galway, Westport, Sligo, Benbulbin, Londonderry, Bushmills, Giants Causway, Belfast, before finally returning to Dublin. So as you can imagine, the team got to see quite a lot!
This trip wouldn't have been possible without the fantastic support of our friends at Škoda Ireland. A huge thank you to Raymond Leddy and the team for supplying us with two Škoda Octavias, which comfortably carried our crew across thousands of kilometres of Ireland's roads and became the perfect companions for this unforgettable research trip.
We'd also like to extend our sincere thanks to JUDr. Pavel Vošalík and his team of the Czech Embassy in Ireland for helping arrange several special visits for our team, including a tour of a cement plant in Limerick. This provided invaluable first-hand insight into the industry's day-to-day operations, helping our team better understand how the facility functions and the vital role truck drivers play in loading, unloading, and transporting materials every day.
So what did the team get up to during their trip? We spoke with several members of the team to hear about their favourite moments, the places that left the biggest impression, and the valuable references they have gathered to help bring Ireland to life in ETS2.
Honza:
"We recently went on our research trip to Ireland, and I have to say for me personally, it was a great experience. It always feels different to actually be at a place rather than to see it through references on your computer. No amount of photos or Street View can fully replicate the feeling of being there. Having walked and driven through the real landscape, I now have a much clearer picture of what the outcome should be, what the map should look like and, more importantly, what the general vibe should feel like.
One thing we already knew going in was that vegetation would need special attention, but being there made us absolutely sure we need to give it great importance. And yes grass really is very green in Ireland. It's striking, and it has to come through in the map.
We also discovered there are a lot of details we might have missed before. For example, once you're on the ground, you realise just how much art is on public display everywhere murals on walls, electrical boxes used as canvases for local artwork. These small touches add a lot of character and are exactly the kind of details that can make the map feel alive and authentic.
As for personal highlights my favourite places were on the West Coast, the Caha Mountains, Killarney National Park, and Connemara. The Antrim coast was equally stunning. And from the cities, I really liked Galway."
Kristián:
"Ireland is the first DLC I am working on. I am so grateful to have been a part of this journey, to see everything with my own eyes and really soak up the atmosphere. I have visited almost all the places and roads I am working on designing from Waterford to Rosslare Harbour. They have undergone extensive renovations over the past two years, so I am happy to see their latest appearance, which you will not find even on Google Maps. I also visited the Custom Depot of the film studio in Belfast.
This journey helped me to perceive important details and the specific atmospheres of the places there. My personal experience showed me huge differences compared to static online maps. I believe that this will help us take the realism of the environment to a higher level and create a truly immersive world for players. I managed to collect a lot of reference material, of which our entire team can then use to build a virtual Ireland in a much more believable way and depict even places that are completely missing from Street View."
Libor:
"I fell in love with Ireland right from the start of our work on the DLC, when I began exploring it through photos. So when I got the chance to visit Ireland in person, I was thrilled and started looking forward to it. My main goal for the trip was to explore the N71 running through Killarney National Park and its surroundings. The photos we had available before the trip were taken in overcast, rainy weather, but for a map designer’s work, it’s important to see the landscape in sunny weather to capture the correct colours.
Fortunately, the weather turned out perfect, and I was able to gather the right references for my work. In addition to the colors, my visit helped me greatly in grasping the character of the landscape, the scale of the mountains, and the variety of vegetation. All of this is difficult to capture from photographs alone. Being in Ireland in person helped me a great deal not only in mapping the landscape and landmarks, but also in noting the small details regarding road traffic and the road network.
These are the aspects that we pay close attention to at our company. Ireland is rich in diverse landscapes and numerous landmarks, and we’re working hard to deliver the best possible Irish experience."
Josef:
"I joined this trip as a representative of the road department. At SCS, I’m responsible for all right-hand drive prefabs for the Isle of Ireland DLC and the UK rework. These are essentially functional 3D models of all road intersections from simple crossroads to complex roundabouts.
Both the Republic of Ireland and the United Kingdom have unique features in their road networks compared to the rest of Europe. Cats’ eyes (road studs) and box junctions were originally designed in the UK. Roundabouts are more common, sometimes even with traffic lights, of which there are plenty. And in case you didn’t know, people drive on the left side of the road. There are other specifics, but I won’t bore you with them.
That’s why I’m glad I had the opportunity to travel around Ireland and see the road networks of both countries, because I’m now tasked with finalizing and implementing these features into our road network. We’ve gathered a lot of references that will help us greatly with this.
Since my work involves roads and intersections, I’m used to looking down at them. But that was a bit harder in Ireland, where there were breathtaking views and beautiful nature. And just when you’re admiring the view, you suddenly hear a sheep. It’s that feeling of perfection and peace. That’s what I love about Ireland.
At the same time, during my four years at SCS, I had the opportunity for the first time to visit the landmark intersection I’d been working on, rather than just seeing it on a screen. It’s a strange feeling when you arrive at a place and, after a moment, realise that you actually know it a little bit there. Classic déjà vu."
Ivan:
"Getting to visit Ireland in person was hugely valuable for me. In QA, we work with reference photos, videos and Street View all day, but actually seeing the country with my own eyes was a different thing entirely. Honestly, the island won me over on day one. The atmosphere, how varied the landscapes are, the way each region has its own character.
We covered a big part of Ireland on the trip, from busy cities to countryside roads where you barely meet another car. That's when the real scale of things sinks in. The road network, the vegetation, the architecture, all the small details you just can't pick up from online references. Some places felt nothing like they look on a static map, and experiencing that first-hand taught me a lot about what makes Ireland special. The trip is already paying off in my daily work.
When I'm reviewing parts of the map now, I recognise places we visited, and they come with actual memories attached, the town we stayed in, a road we drove, the spot where we stopped for food. That kind of familiarity makes it much easier to judge whether the environment feels authentic and to catch details that would otherwise slip by. I really believe these impressions will help us fine-tune the Ireland DLC and make it a more immersive, believable experience for our players."
Distribution Release: TitalcruiseOS 5.4
Try the New Firefox Design in Nightly
This past May, we shared our vision for the future of Firefox. Starting today, you can try out the next design evolution of Firefox in Nightly.
It’s still Firefox, now with a more cohesive look and feel across tabs, menus, panels, and other browser surfaces. You’ll notice softer tab shapes, a warmer color palette, updated icons, and – after hearing from many of you – the return of Compact Mode and new theme options to make Firefox your own.
Many of you have already spotted pieces of the new design in Nightly over the past few months. Now they’re coming together into one complete experience.
You’ll continue to see updates over the coming weeks as we polish the new Firefox design before it reaches Firefox users more broadly later this year. As you browse, we’re especially interested in any visual or functional issues you encounter.
Keep an eye out for things like:
- Icons, spacing, and alignment
- Themes and personalization
- Different window sizes and display scaling
- Keyboard navigation
- Screen readers and other accessibility features
- Different languages and layouts
Found a bug?
If something doesn’t look or behave as expected, please file a bug in Bugzilla.
When possible, include:
- Steps to reproduce the issue
- Screenshots or screen recordings
- Your operating system and Nightly version
If you have broader thoughts or questions about your experience, join the discussion on Mozilla Connect.
Thanks for using Nightly and helping us improve Firefox. Every bug report helps us identify issues and continue refining the new Firefox design before it reaches Firefox users more broadly later this year.
-
Firefox Nightly
- Eyedropper Quick Action, geckodriver 0.37, and Tighter File Permissions – These Weeks in Firefox: Issue 205
Eyedropper Quick Action, geckodriver 0.37, and Tighter File Permissions – These Weeks in Firefox: Issue 205
Highlights
- Dao added a new Eyedropper quick action! Check it out by typing “color” or “eyedropper” in the URL bar (Bug 1803575) on Nightly.
![]()
- Henrik Skupin released geckodriver 0.37.0, which includes support for several new APIs and various bug fixes. See the release page for details.
- Starting from Firefox 153, access to local file: URLs is being restricted by default.
- Extensions now require an explicit “Access local files on your computer” permission, separate from broad host permissions, that users must grant.
- Extensions can call the extension.isAllowedFileSchemeAccess() API to determine whether they have been granted access to file: URLs (Bug 2034168).
Friends of the Firefox team
Resolved bugs (excluding employees)
Script to find new contributors from bug list
Volunteers that fixed more than one bug
- :Vincent
- Chris Vander Linden
- DrSeed
- Khalid AlHaddad
- Sam Johnson
New contributors (🌟 = first patch)
- Francis :mckenfra: tld service for webextensions
- any1here: about:preferences#privacy is broken with MOZ_DATA_REPORTING false
- pullmana8: Fix protocol/Actor.js to throw an Error instead of an Actor
- RAN1: Firefox Crashes on Quit When Running Two Browsers With Separate Profiles
Project Updates
Accessibility
- Morgan added a new accessibility-specific, front-end review skill to mozilla central! 🎉 You can read about it, and learn how to use it in the accessibility review source docs.
Add-ons / Web Extensions
Addon Manager & about:addons
- Migrated addon-page-header and addon-card action buttons to the reusable moz-button web component as part of the ongoing Nova restyling of about:addons – Bug 2042200 / Bug 2042204
- Extended moz-page-nav-button with a forwarded title property to fix an accessibility issue where the component lacked a label in collapsed state; Landed in Firefox 153, and uplifted to Firefox 152 for about:settings which was already riding the 152 release train – Bug 2040971
- Fixed a shutdown-timing bug where a pending GMP update-check timer could fire after XPCOMShutdownThreads started, causing a pref write assertion; Fixed in Firefox 153 – Bug 2043803
WebExtensions Framework
- Fixed MV2 content scripts incorrectly injecting into guarded hosts because MozDocumentMatcher::MatchesURI was not consulting CheckGuarded when mCheckPermissions was false; Fixed in Firefox 153 – Bug 2041393
- Added support for accessing ObservableArray attributes (such as adoptedStyleSheets) from XrayWrappers and extension content scripts, unblocking extensions that rely on this Web API; Fixed in Firefox 153 – Bug 1751346
- Wired runtime_blocked_hosts and runtime_allowed_hosts enterprise policy settings through ExtensionSettings to allow administrators to restrict extension host permissions on managed devices, starting in Firefox 153 – Bug 1805205
- Thanks to Mike Kaply for implementing this enterprise policy enhancement.
WebExtension APIs
- Fixed promiseTabWhenReady blocking indefinitely on discarded tabs, preventing cleanup of associated resources and potentially causing memory leaks; Fixed in Firefox 153 – Bug 1653876
- Fixed webNavigation.onCommitted being dispatched twice for cross-origin iframes loaded under Fission, caused by a redundant OnStateChange trigger firing in addition to OnLocationChange; Fixed in Firefox 153 – Bug 1750196
DevTools
- Chris Vander Linden made the Search input component shared as we plan to use it in the Netmonitor as well (#2019260, #2027580, #2027582)
- pullmana8 improved error management in the DevTools protocol (#2031735)
- Chris H-C :chutten removed Legacy Telemetry devtools instrumentation (#2039650)
- :glob ✱ fixed an issue in the Inspector where the swatch color for variable in @starting-style rule could have the wrong color (#2016778)
- Nicolas Chevobbe [:nchevobbe] exposed heading level more clearly in the accessibility tree (#1588784) and in the accessibility highlighter (#2044904)
![]()
- Julian Descottes [:jdescottes] migrated the markup view to HTML (from XHTML) to fix an issue when editing the markup (CodeMirror 6 does not support XHTML) (#2028058)
- Nicolas Chevobbe [:nchevobbe] fixed an issue in Netmonitor search where it could appear the the search stalled (#2042405)
- Hubert Boma Manilla (:bomsy) added more connection information (ECH, Delegated Credentials, OCSP, Private DNS, …) in Netmonitor Security tab (#2036404)
WebDriver
- Khalid AlHaddad improved the window manipulation commands in Marionette and WebDriver BiDi to allow individual window geometry properties, such as x, y, width, and height, to be adjusted independently.
- Khalid AlHaddad updated our codebase to use constants instead of hardcoded strings for all our session data types.
- Alexandra Borovova updated the “emulation.setLocaleOverride” command to also apply a locale emulation in dedicated and shared workers.
- Alexandra Borovova fixed a regression when there would be no “script.realmCreated” events after the cross-origin navigation.
Search and Urlbar
- Dharma updated context search actions to trigger search instead of entering search mode @ 1945080
- Daisuke and Drew worked on a lot of Nova updates, including ensuring Nova is tested @ 2041255, 2030183, 2019168, 2044849, 2033583
- Moritz has worked on several refactorings to allow the urlbar to be used in content @ 2039828, 2039298, 2041280
- Middle click paste replaces content was fixed by Moritz @ 2042893
- Michel added feature to show registrable domain on desktop after its implementation on mobile @ 1986161
Giving You More Control – These Weeks in Firefox: Issue 204
Highlights
- Maxx Crawford added a pref to hide the New Tab logo so users can opt out of branding without altering page layout or resorting to CSS overrides.
- Harshit enabled video overlay detection in Nightly 153, allowing you to use the context menu to control videos on more pages! We plan on letting this ride out in Firefox 153.
- You can try it out on this Instagram reel in Nightly
![]()
- A note to WebExtension authors – as part of a planned deprecation announced last month, executeScript and insertCSS are now restricted from moz-extension pages starting in Firefox 152 – Bug 2015559
- Nicolas Chevobbe [:nchevobbe] added support and debugging for modern attr()(which is enabled on Nightly) (#2014751)
![]()
Friends of the Firefox team
Resolved bugs (excluding employees)
Script to find new contributors from bug list
Volunteers that fixed more than one bug
- Sam Johnson
- Sebastian Zartner [:sebo]
New contributors (🌟 = first patch)
- Immaculate Atim: Switch to using an array instead of an object string for browser.backup.enabled_on.profiles
- liz: Screenshots overlay visible on both splitview browsers
- 🌟 Rahman Mahmutović [:r_m]: Can’t change content in box model in inspector for box-sizing:border-box elements
- Takeru Mitsumori: Fix typo in ID name about-translations-swap-langauges-icon in about-translations.html
- 🌟 Freya Arbjerg [:freyacodes]: Blackboxed columns are ignored
- tom.passarelli: tab-preview-panel emits unpaired popupshown/popuphidden events, breaking sidebar autohide
Project Updates
Add-ons / Web Extensions
Addon Manager & about:addons
- As part of the work for the Project Nova about:addons page restyling, the about:addons sidebar has been migrated to the moz-page-nav and moz-page-nav-button reusable components, improving accessibility and visual consistency with the Firefox Desktop about:settings page – Bug 1881767
WebExtensions Framework
- Implemented WebExtensions negative permissions infrastructure, providing the foundations for enterprise policy “blocked host permissions” features – Bug 1745823
- Restricted host permission changes for MV3 extensions force-installed via enterprise policy (matching similar behaviors provided by Chrome enterprise policy behaviors) – Bug 1904054
- Thanks to Mike Kaply for the implementation of this enterprise policy enforcement feature.
WebExtension APIs
- Fixed handling of <all_urls> as an API permission in Manifest V3, ensuring the permission is correctly initialized on extension install – Bug 1758306
DevTools
- Rahman Mahmutović [:r_m] made it possible to edit width/height in the box model section of the Layout panel (#1717176)
- Sebastian Zartner [:sebo] improved toggling tools driving in-page highlighters (e.g. the Measuring) (#1262773)
- Sebastian Zartner [:sebo] added a setting to control visibility of HTML comments in the markup view (#1455294)
- Freya Arbjerg [:freyacodes] fixed an issue in script blackboxing (#2036767)
- Alexandre Poirot [:ochameau] replaced custom preference to log RDP messages with MOZ_LOG (#1622857)
- Alexandre Poirot [:ochameau] fixed retrieval of garbage collected script text content (#1758454)
WebDriver
- Sameem updated the “Take Element Screenshot” command from WebDriver Classic to crop screenshots of elements which exceed the viewport. This aligns with the specification and avoids errors when attempting to capture huge elements.
- Alexandra Borovova updated the events for new top-level browsing contexts: we will not send anymore “browsingContext.domContentLoaded” and “browsingContext.load” events for them, instead the “browsingContext.contextCreated” event will be sent when a tab is ready to be used. This is required to align with the expected per-spec behavior.
- Henrik Skupin landed a patch allowing geckodriver to gracefully shut down Firefox when geckodriver itself is terminated.
- Hiroyuki Ikezoe disabled Firefox’s “scroll axis lock” feature so WebDriver actions for wheel input devices can scroll in arbitrary directions when using pan gestures.
Lint, Docs and Workflow
- Added a rule to prevent new uses of Preferences.sys.mjs.
- The browser environment globals within ESLint have now been updated. These include Sanitizer, VideoFrame and a few other new ones.
- Temporal, and some other definitions have been added to TypeScript.
New Tab Page
- Much has happened in the last 2 weeks! Here’s a full bug list, and here are some highlights.
- Dre fixed the List widget that was creating a new list too eagerly on the New Tab Page (2033592) — prevents accidental list creation and improves the Lists UI reliability.
- Maxx Crawford fixed Weather widget small card layout issues with opt-in location options and an error message displayed, resolving card overflow and removing the spurious opt-in error so users see a compact Weather card and correct location prompts on New Tab.
- Reem Hamoui added key dates state to the Sports widget, enabling the Sports card to surface event deadlines/key-date highlights on New Tab so sports users see timely date info.
- Scott Downe added a manage widgets option to the New Tab nova widgets context menu, giving users a direct context-menu entry to open the widget management flow from any widget with Nova enabled.
- Scott Downe added a reusable Newtab widget base component to centralize lifecycle, focus/keyboard handling, DOM templates, and telemetry hooks, reducing duplication and making widget behavior more consistent; see Newtab widget base component.
- Dre converted per-widget expansion handling to a shared widget expansion handler to unify expand/collapse state management and prevent widgets from incorrectly retaining or losing expanded state; see Convert widget expansion handling to shared widget expansion.
- Nina Pypchenko [:nina-py] updated the Sports widget to populate the “follow teams” state from the /teams endpoint, so follow/unfollow toggles now reflect server-side subscriptions and reduce incorrect follow states.
- Scott Downe moved widget menu items within New Tab widgets to standardize menu ordering and action grouping, so users find Add/Remove/Configure entries in expected positions across platforms.
- Dre fixed a World Clock city search bug for the word clocks widget, restoring expected search filtering/matching so city lookups return correct results.
- Scott Downe fixed an issue where the New Tab small weather widget size change didn’t always apply by correcting the widget size update path (JS/CSS layout interactions), improving consistent rendering for small-tile weather across responsive breakpoints and platforms; see Newtab small weather widget size change doesn’t always work.
- Nina Pypchenko [:nina-py] added a group stage section to match highlights in the sports widget on New Tab so users now see stage-aware grouping and stage labels on match highlight cards, making tournament context (group vs knockout) visible while browsing highlights.
- Dre fixed the small world clock widget not expanding to large while editing clocks so users can enter edit mode and expand the widget as expected; the change wires the edit-mode resize handler to update widget size/class during edits.
- Maxx Crawford added WCW OMC message strings so World Cup widget messaging flows on New Tab now display the correct copy (localized where available) instead of falling back to missing-text behavior.
- Reem Hamoui added a “View all” button and a list view for the results tab at medium widget size so Sports widget users on medium New Tab tiles can expand results and scroll full lists without resizing the widget.
- Maxx Crawford added WCW “Watch Live” stream strings to the Sports widget strings bundle so the widget can surface a localized “Watch Live” CTA for applicable events.
- Dre restored VoiceOver reachability for Edit/Remove in World Clock on macOS so macOS VoiceOver users can now focus and activate clock Edit/Remove controls thanks to accessibility role/label and focus-order fixes.
- Maxx Crawford removed the persistent browser logo when all new-tab features (Top Sites, widgets, content feed) are disabled by adding a conditional render guard in the New Tab component, preventing an orphaned logo (2041033).
- Mike Conley added New Tab jest tests to the node tests Tier 1 CI job Run newtab jest tests as part of node tests Tier 1 job to catch regressions earlier in CI
- Irene Ni shipped multiple visual fixes for the Sports widget Sports widget – various visual fixes (spacing, truncation, icon alignment, clipping) to improve readability and layout on constrained viewports.
Picture-in-Picture
- kpatenio adjusted our YouTube site specific wrapper so that the URL bar toggle appears more reliably, especially when selecting videos from the YouTube search page.
- Thanks to Sylvestre for patching some bugs to prevent some spurious console errors!
- Niklas fixed captions on autopip videos failing to sync with the origin videos.
Performance Tools (aka Firefox Profiler)
- Firefox Profiler now has a CLI! We also added a profiler-analysis skill to the Firefox codebase. Once you capture a performance profile, you can ask Claude or an AI to analyze it by providing a link or local path. You can use it to analyze a performance regression or debug an issue if you have a profile at hand.
- https://www.npmjs.com/package/@firefox-devtools/profiler-cli
- You can install it with npm install -g @firefox-devtools/profiler-cli@latest
Search and Urlbar
Nova UI refresh
- Drew and Daisuke continued working on reorganizing styles and updating the urlbar for Nova.
- 2019154, 2019152, 2041501, 2040532
Suggest
- Drew landed several Suggest improvements: realtime suggestions colors, sports suggestions received World Cup tweaks, and online Suggest via OHTTP was enabled for eligible users in Firefox 153.
- 2040561, 2039753, 2035614, 2038843
Adaptive autofill
- James fixed soft-block counting to track autofill dismisses, rather than consecutive backspaces on the same autofill, and added telemetry to measure URLs reintegration after blocking.
- 2040819, 2037177
Quick actions
- Dharma created a new Firefox Labs quick action, fixed the Update action button, and re-enabled ScotchBonnet in some tests that were not updated yet.
- Caleb added Calculator support for certain unicode operators.
- 2023169, 1928635, 1923383, 2033861
Multi Context Address Bar
- Moritz continued refactoring the urlbar code: converted some of the js modules to not be system modules, fixed dynamic results templates, incorrect reuse of result rows, and keyboard shortcuts on the unified search button panel.
- 2039297, 2036095, 2039844, 2037933, 2030050
Other
- Marco, Drew and Daisuke fixed several intermittent test failures.
- 2038510, 2023908, 2011584, 1938142, 1971091
Search
- Mark removed old WebExtension-based search engines from the source tree, removed loading of search add-ons from resource://search-extensions/.
- Caleb fixed multiple documentation issues and added a test covering searches from a private window.
- 1904613, 2035878, 2037942, 2033545, 2005724
Places
- Marco removed some unnecessary database transactions, fixed the bookmarks panel folder dropdown on Windows, and resolved several intermittent test failures.
- Thanks to Sam Johnson who fixed the bookmark edit panel showing “mobile” instead of “Mobile Bookmarks”.
- 2039534, 1505800, 2008829, 2029541, 2035084
More Kit, More Control – These Weeks in Firefox: Issue 203
Highlights
- James enabled adaptive autofill in Nightly for testing, which we believe should provide better results in the URL bar when doing autocomplete!
- Jack updated the illustrations shown on some of our error pages to match the latest approved designs, giving users more polished artwork when the browser encounters connection or security errors!
![]()
- Controls for the Memories feature can now be set during Smart Window onboarding
![]()
- We’ve disabled the CSS filter implicitly applied to WebExtension pageAction SVG icons across all release channels starting in Firefox 152, completing the deprecation
- NOTE: The blog post published at WebExtensions API changes in Firefox 149-152 provides to extensions developers more details about this deprecation and links to the related MDN docs.
Friends of the Firefox team
Resolved bugs (excluding employees)
Script to find new contributors from bug list
Volunteers that fixed more than one bug
- Amin Amir
- Pranjali Srivastava
- Sam Johnson
New contributors (🌟 = first patch)
- 🌟:23rd: Regression: The new swipe-to-navigation indicator stucks for a moment, when deciding not to navigate the other page
- 🌟Akeem Omosanya: Remove commented-out code in SearchService.sys.mjs
- Amin Amir:
- 🌟Sahaj: Suggest the default target language for translation after changing the detected source language
- 🌟JIANG Zhirui: Breakpad build failed on Windows using VS2026 due to removal of stdext
- John Iweh: Add “Open in New Tab” and “Open in New Container Tab” options to the context menu for Tabs from Other Devices
- Jak: Bookmarks and History – should respect the “When you open a link, image or media in a new tab, switch to it immediately” setting
- 🌟Andy [:rgbcmy]: Autoplayed next video should also be PIP
- konyhéa: “Escape” key should collapse the expanded on hover sidebar launcher even if hover is still active.
- Pranjali Srivastava:
Project Updates
Add-ons / Web Extensions
Addon Manager & about:addons
- Fixed long-standing regression on the autocomplete and datalist popups for extension inline options pages on about:addons (introduced in Firefox 68 by Bug 1532724, fix shipping in Firefox 152) – Bug 1595158
WebExtensions Framework
- Fixed access to web-accessible resources declared with <all_urls> from sandboxed documents (null-principal URLs), restoring extension redirects from the context-menu search flow, starting in Firefox 152 – Bug 2033905
WebExtension APIs
- Added exhaustive test coverage for tabs.move() against additional edge cases related to split-view tabs – Bug 2029092
DevTools
- Andreas Farre improved the Session History tab in the Application panel (still behind devtools.application.sessionHistory.enabled)
- Julian Descottes [:jdescottes] fixed the most frequent DevTools crash we were observing in Telemetry, adding a guard against IDBTransaction errors when retrieving breakpoints in the Debugger (#2030260)
- Nicolas Chevobbe [:nchevobbe] fixed the image preview tooltip for relative URLs images in constructed stylesheet (#2035503)
- Julian Descottes [:jdescottes] reduced the overhead we had because of network requests monitoring by only decoding response content when the user actually want to see the response (#2026228)
WebDriver
- Amin Amir cleaned up an incorrect variable assignment in our browsingContext module.
- Logan Rosen updated stale references and broken links in our documentation about Marionette.
- Sameem improved the Marionette and WebDriver BiDi screenshot commands to enforce maximum allowed dimensions.
- Leo McArdle fixed the regression in the “log.entryAdded” event, which lacked an error message in the “text” field for the messages of type “error”.
- Henrik Skupin fixed an issue in Marionette where WebDriver:Navigate and WebDriver:Refresh did not handle errors when the underlying navigation failed.
- Henrik Skupin improved geckodriver to detect an early Firefox exit during startup on Android, avoiding up to 60 seconds of unnecessary connection attempts.
- Henrik Skupin updated the geckodriver CI build job to produce a universal macOS binary supporting both x64 and aarch64.
Lint, Docs and Workflow
- Sylvestre ported some linters (e.g. file-whitespace, test-manifest-toml, license, file-perm, rejected-words & more) to Rust to help improve the runtime of the code review bot.
- Dale has been working on migration to moz-src for customkeys, dom/quota and odom/geolocation
New Tab Page
- We did our first region-specific trainhop on May 11th (just 15% of the US), and turned on HNT Nova (and sometimes Widgets) for those clients to get some advance-data of its behaviour in the wild! A note that HNT Nova gets turned on for everybody when Firefox 151 ships on May 19th.
- We’ll be launching a similar experiment in the DE, probably on May 12th, also at 15% population.
- Most of the team is heads down building out a sports-tracking widget, attempting to get that ready in time to be generally available for the upcoming World Cup event.
- Dre landed a new world clock widget, which is currently off by default, but pretty snazzy!
![]()
Search and Urlbar
- Nova (URL Bar Design Refresh)
- Drew and Daisuke continued their work on Nova styling for the Address bar (input and view).
- Search and Suggest
- Drew finalized two bugs for World Cup and sports suggestions, which were landed and uplifted: one to update the localization string for scheduled games and another to show both teams’ icons in suggestions. Drew also landed and uplifted a fix for rich search suggestion icons being forced into a square aspect ratio.
- Standard8 updated Ecosia favicons to the latest branding, including QA testing and publishing.
- Settings Redesign (SRD)
- Stephanie landed a test to ensure search suggestion settings are hidden when quicksuggest is disabled, as well as a patch to resolve TypeScript issues in search.mjs, and is adding test coverage to confirm removed search engines are not displayed in the default engines dropdown.
- General URL Bar and Component Updates
- Daisuke landed implementation of the context menu on URL bar results, and a fix to show the loading URL in the URL bar when starting up with a homepage.
- Marco is working on several tasks, including a PDF download / focus stealing issue and allowing arrays to be bound in Sqlite.sys.mjs. Marco also worked on fixes related to Places, such as avoiding replacing the favicons database if it is not corrupt.
- Standard8 finalized the URL bar test manifest split. Standard8 also upgraded us to TypeScript 6.
- Moritz landed a fix for URL bar abandonment telemetry being recorded when clicking an engine in the unified search button popup (Bug 2032973), which was also uplifted. Moritz also simplified search mode switcher item activation in tests, and made it so that the unified search button popup closes when installing an open search engine.
- Daisuke landed implementation of the context menu on URL bar results, and a fix to show the loading URL in the URL bar when starting up with a homepage.
Smart Window
![]()
- assistant rendering feedback up/down 2032994 and markdown table 2027029
- nova styling blur 2027877 and suggestions 2026823
- accessibility screen reader 2028676 and keyboard focus 2037565
- optimize conversation starters extra requests 2030005 and caching 2033430
Storybook/Reusable Components/Acorn Design System
- Nova token updates occasionally, focused on SRD
UX Fundamentals
- Added support for the “SEC_ERROR_CA_CERT_INVALID” certificate error to the Felt Privacy error pages. – 2035942
Settings Redesign
- Settings redesign is being tested and will hopefully go out in Firefox 152!
Backup for a Rainy Day – These Weeks in Firefox: Issue 202
Highlights
- The profile backup mechanism has been enabled by default for all desktop platforms in Nightly, as well as Beta! The current plan is to have this ride out to Firefox 151 for Windows, macOS and Linux on May 18th!
- This feature, when enabled, will create a copy of your profile data in the background and store it in a single file on your file system that you can restore from.
- You will be able to manage this feature in Settings under Sync (for now)
- You can read more about the feature here
- As followups to the recent addition to the WebExtension tabs API to support the new SplitView tabs feature, tabs.group() and tabs.ungroup() have been fixed to work correctly with split view tabs, and fixed split views being prepended instead of appended to tab groups when adopted into a new window – Bug 2029099 / Bug 2029534
- Adaptive autofill has been enabled on Nightly.
- Previously, autofill only completed domains (e.g. typing red autofilled reddit.com). Now it can also complete full URLs for pages you visit often (e.g. red → reddit.com/r/firefox), learning from what you actually click in the address bar. If a suggestion isn’t helpful, you can now dismiss it so autofill learns what not to show you too.
- If you run into issues or have feedback, you can file a bug here!
- Previously, autofill only completed domains (e.g. typing red autofilled reddit.com). Now it can also complete full URLs for pages you visit often (e.g. red → reddit.com/r/firefox), learning from what you actually click in the address bar. If a suggestion isn’t helpful, you can now dismiss it so autofill learns what not to show you too.
- Markus Stange [:mstange] implemented dynamic toolbar on top in RDM (#1978145), but also implemented some static skeleton UI so it’s closer to what we actually have in Firefox for Android
Friends of the Firefox team
Resolved bugs (excluding employees)
Script to find new contributors from bug list
Volunteers that fixed more than one bug
- Amin Amir
- aoia7rz7l
- Chukwuka Rosemary
- DrSeed
- Frédéric Wang Nélar
- japandi
- John Iweh
- jonathancabera
- Josh Aas
- Keji Bakare
- kofoworola shonuyi
- konyhéa
- liz
- Mathew Hodson
- Okhuomon Ajayi
- Oluwatobi
- ROSHAAN
- Sam Johnson
New contributors (🌟 = first patch)
- Anthony Mclamb: Disable the legacy Edge migrator
- Amin Amir
- any1here: install_sig_alt_stack incorrectly checks mmap’s return value
- 🌟 Armin Ulrich: Fix MessageHandlerRegistry.sys.mjs calling getExistingMessageHandler with an unused second argument
- japandi
- Nathan Johnson [:narjoDev]: Remove browser.display.use_system_colors pref
- DrSeed
- Keji Bakare:
- 🌟 gotyaoi: Reload toolbar button is active on about:newtab
- Itoro James: [A11y][Keyboard Navigation]Cancelling a note via Keyboard Navigation still saves it
- John Iweh: The notification dot is not displayed if the tab is in a Split View
- 🌟 John Iweh: sidebar-shown attribute remains when sidebar.revamp is false
- 🌟 jonathancabera:
- The Move tab to Split View option is also displayed for the tabs that are within the Split View
- A Note with long text (1003 characters) is saved by pressing ENTER even if the “Save” button is disabled
- Tab group guide line becomes disconnected under certain conditions related to split views in vertical tab mode
- Aloys: Remove logic that forces distribution language packs to be reinstalled when upgrading from Firefoxes older than 67
- liz:
- Mary cathline: Tab Group Label does not respect touch density in vertical tab bar
- 🌟 Brandon Lucier: Popups opened with window.open give window type normal instead of popup
- karan68: [dialog] New Shortcut dialog needs a label/accessible name
- 🌟 Vector: Button does not programmatically indicate that it opens a dialog (Recent activity section > story card > ••• disclosure > Delete from History button)
- 🌟 Osoble: Update font size and weight for synced tabs device name headers in Firefox View
- konyhéa:
- Add test for sync admin disabled to browser_syncedtabs_errors_firefoxview.js
- Check all second paramaters for TestUtils.waitForCondition in Fx View test files
- Recently Closed Tabs, Tabs from Other Devices, and History pages should have Cmd / Ctrl + Click on a link open the link in the new background tab.
- Noble Chinonso: #shouldHandleEvent in SidebarTreeView.js compares event.keyCode to string values, causing Home/End keys to never be handled
- Pranjali Srivastava: Add a test to verify that the space above tabs is consistent across PB, LWT and sizemode (where appropriate)
- Okhuomon Ajayi:
- More spacing is needed between the tab note icon and the close icon on the tab
- The tabs in vertical mode collapsed state are positioned differently in Split View
- Keep vertical split view tabs stacked vertically even when the sidebar is expanded when expand on hover is enabled
- Vertical split view tabs can be too big or small when tabs are overflowing
- 🌟 Rishan: Fix duplicated arrow function in browser_history_sidebar.js
- Chukwuka Rosemary:
- ROSHAAN:
- Sameeksha: Disclosure button expanded/collapsed state not programmatically defined (Customize button)
- kofoworola shonuyi:
- 🌟 Sayd Mateen: Page URL is displayed as tab name when page’s contains about:reader?</a></p> <p>
- Oluwatobi:
- Nishchay [:nish]: Unable to add tabs to old closed tab groups (tabGroupState.splitViews is undefined)
Project Updates
Add-ons / Web Extensions
Addon Manager & about:addons
- In preparation for the Project Nova restyling of the about:addons page, we have refactored about:addons into separate per-component ES modules, splitting the monolithic aboutaddons.js and aboutaddons.html into 16 dedicated component files under components/ (with no behavior or UI changes) – Bug 2032014
- NOTE: if you have working on patches with changes to about:addons internals it is very likely you’ll need to rebase and solve merge conflicts hit on top of this refactoring, the internals are still largely the same as before but don’t hesitate to reach out to the Addons team if you have doubts / questions or need help to figure out how to adapt your patch of top of these changes
WebExtensions Framework
- Fixed exportFunction to preserve the constructibility of the wrapped function instead of unconditionally making all exported functions implicitly as constructors – Bug 2033173
- Thanks to Gregory Pappas for contributing this improvement to the Content Scripts’ Xray Wrappers helpers!
- Fixed a Firefox 151 regression where extension content scripts accessing location.ancestorOrigins caused subsequent page script reads of the same property to fail with “Permission denied”, breaking sites like Gmail – Bug 2034329
- Thanks to Simon Farre for promptly investigating and fixing this recent regression!
WebExtension APIs
- Updated sessions.getRecentlyClosed() to remove the hardcoded cap when maxResults is omitted – Bug 1392125
- Shoutout to Amine Zroual for contributing this enhancement to the sessions WebExtensions API!
DevTools
- Artem Manushenkov fixed an issue where autosuggestion popup was removing overridden indicators from properties in the Inspector (#1983408)
- Andrea Marchesini [:baku] fix DevTools cookie header serialization for long cookies, which could lead to cookies not being visible in Netmonitor (#2031299)
- Julian Descottes [:jdescottes] fixed a toolbox crash that was happening we couldn’t find a localization file (e.g. when using a language pack on Nightly) (#2028930)
- Nicolas Chevobbe [:nchevobbe] improved @container tooltip so it show the value of variables used in style()(#2030239), has enough contrast in dark mode (#2033782) and contains a link to select the container (#2031688)
- Hubert Boma Manilla (:bomsy) is making good progress on migrating the Console to CodeMirror 6 (#2032758, #2026569)
Fluent
- We’re now at over 72% of our strings being Fluent! Got a component still using .properties? Convert when you can!

Migration Improvements
- Thanks to dao for fixing a recent alignment issue in the migration wizard dropdown
- Thanks to volunteer contributor Anthony Mclamb for his patch that disables the legacy EdgeHTML Edge migrator! Once that finishes rolling out, presuming no surprises, we’ll go ahead and remove the migrator entirely.
New Tab Page
- Nova for New Tab has ridden the trains to Beta! It will be enabled by default, globally, when Firefox 151 goes out to release on May 19th
- It’s possible that we’ll do a train-hop coupled with an experiment to enable HNT Nova for a few clients a bit earlier.
- Maxx Crawford enabled Nova designs for New Tab, rolling out the updated layout, widgets, and customization panel behind HNT Nova flags.
- Maxx Crawford fixed the Nova content feed to render the intended four‑column layout by correcting CSS grid breakpoints.
- Maxx Crawford resolved a first‑load failure in the Weather widget by fixing init order and fetch timing, eliminating the “Oops” error.
- Maxx Crawford synchronized the Weather toggle between about:preferences#home and the panel via the shared showWeather pref to prevent desync.
- Maxx Crawford updated Nova grid focus order to align tab flow with visual order for keyboard users.
- Maxx Crawford fixed critical UI issues in Lists and Timer widgets covering overflow, controls, and layout stability.
- Maxx Crawford guarded document.dir access in Nova render paths to avoid startup cache worker errors and improve startup stability.
- Rolf added a new normalization method for the inferred interest vector to stabilize topic relevance across sessions.
- Rolf prevented unnecessary content refreshes during Pocket New Tab experiments, reducing jank and bandwidth.
- Sameeksha defined the Customize button’s expanded/collapsed state programmatically using aria-expanded for better a11y.
- liz clarified follow/unfollow/blocked button names with topic context so screen readers announce clear actions.
- Vector marked the Delete from History control as opening a dialog via aria-haspopup=dialog for assistive tech.
- Scott Downe fixed a regression that flipped the Wallpapers pref off, restoring user selections.
- Irene Ni corrected privacy link color and focus styles for contrast and keyboard visibility.
- Reem Hamoui added a wallpaper toggle reset in the Nova customization panel so users can quickly restore default wallpapers without extra steps.
- Reem Hamoui fixed the Customize pencil button to match the Nova spec, aligning placement and iconography for visual consistency.
- Dre updated the ‘Fresh new’ wallpapers copy to a clearer, localized message for better comprehension.
- Irene Ni fixed Nova privacy link color and focus styles to meet contrast and focus ring guidelines, improving accessibility on New Tab.
- Irene Ni adjusted Sponsored tile character limits to prevent truncation/overflow, yielding cleaner titles across grid and wide tiles.
- Scott Downe fixed a regression that flipped the Wallpapers user pref to false, restoring wallpapers for affected users and preventing unintended disablement.
- Reem Hamoui hooked the wallpaper check into the new toggle logic so the Customization Panel accurately reflects wallpaper availability and state.
- Irene Ni landed Nova UI updates for the Daily Briefing 3-pack card, improving spacing, type scale, and tap targets.
- Reem Hamoui added a wallpaper toggle reset in the Nova customization panel so users can quickly restore default wallpapers without extra steps.
- Reem Hamoui fixed the Customize pencil button to match the Nova spec, aligning placement and iconography for visual consistency.
- Dre updated the ‘Fresh new’ wallpapers copy to a clearer, localized message for better comprehension.
- Irene Ni fixed Nova privacy link color and focus styles to meet contrast and focus ring guidelines, improving accessibility on New Tab.
- Irene Ni adjusted Sponsored tile character limits to prevent truncation/overflow, yielding cleaner titles across grid and wide tiles.
- Scott Downe fixed a regression that flipped the Wallpapers user pref to false, restoring wallpapers for affected users and preventing unintended disablement.
- Reem Hamoui hooked the wallpaper check into the new toggle logic so the Customization Panel accurately reflects wallpaper availability and state.
- Irene Ni landed Nova UI updates for the Daily Briefing 3-pack card, improving spacing, type scale, and tap targets.
Search and Urlbar
- Marco has fixed a couple of issues with the places databases to try and improve stability. This should help with avoiding users losing bookmarks or favicons.
- Work continues on the new separate search bar to improve the functionality, e.g. allowing middle click to perform a search in a new tab, avoiding performing a search when adding a search engine.
- Work also continues on the new Nova layouts.
Smart Window
- uplifted 10 bugs to 150.0.1 dot release addressing initial user feedback from diary study and Connect
- search engine switching from smart bar 2021973
- Nova styling within smart window 2026794
Storybook/Reusable Components/Acorn Design System
- Dustin converted moz-breadcrumb-group variables into JSON design tokens Bug 2029181 – Convert moz-breadcrumb-group variables into JSON design tokens
- Dustin converted moz-box-* variables into JSON design tokens Bug 2029180 – Convert moz-box-* variables into JSON design tokens
- Dustin converted moz-promo variables to JSON design tokens Bug 2029190 – Convert moz-promo variables into JSON design tokens
- Dustin converted moz-reorderable-list variables to JSON design tokens Bug 2029191 – Convert moz-reorderable-list variables into JSON design tokens
- Dustin converted moz-visual-picker variables to JSON design tokens Bug 2029193 – Convert moz-visual-picker-item variables into JSON design tokens
- Dustin updated browser-shared.css so it passes use-design-tokens Bug 2022985 – Update browser-shared.css so it passes use-design-tokens
- Dustin updated popup.css so it passes use-design-tokens Bug 2022979 – Update popup.css so it passes use-design-tokens
- Jon added opacity tokens and added opacity to use-design-tokens stylelint rule Bug 1955325 – Create opacity tokens
- Jon converted toolbar design tokens to JSON Bug 2017970 – Convert toolbar design tokens to json
- Anna fixed moz-select with panel-list drop-down size inconsistency Bug 2032365 – Applications Action drop-down menus sometimes have a different size when opened
- Anna fixed issue with the disabled state of moz-radio component Bug 2027123 – moz-radio disabled state cannot be changed while the moz-radio-group is disabled
- Anna updated moz-button and moz-box-button components to prevent label corruption when accesskeys are present and the label changes. Bug 2022326 – moz-button with accesskey label becomes corrupted when l10nId updates dynamically
UX Fundamentals
- The error pages shown when a server sends back an invalid response header or an unsupported content encoding now display accurate, context-specific messages. The invalid response header page also gained a helpful list of next steps. – 2027209
- In progress: The error page illustrations are being replaced with new artwork, and the system now supports per-illustration size configuration, giving each image the ability to define its own appropriate dimensions. – 2031837
Settings Redesign
- Tim converted settings related to Accessibility page to config-based pane Bug 1968116 – Convert settings related to Accessibility page to config-based settings
- Benjamin converted Privacy & Security page to the config-based pane Bug 1968112 – Convert settings related to Privacy & Security page to config-based settings
- Finn integrated Firefox Labs page into setting-pane config Bug 2021047 – Integrate Firefox Labs page into setting-pane config
- Anna converted Firefox Updates section to config-based prefs Bug 1990961 – Convert Firefox Updates section to config-based prefs
- Mark Kennedy added moz-promo, that is welcoming users to the redesigned settings Bug 2015093 – Add a moz-promo to welcome users to the redesign
- Anna added possibility to search for actions in the redesigned “Applications” section Bug 2020370 – It’s no longer possible to search for actions in the new “Applications” section
- Anna fixed the Settings navbar layout breakage
Settings Are Getting a New Look!
The redesign of Firefox Settings is now enabled by default in Nightly! With this change, we are making it easier for people to customize Firefox and discover the controls that matter most to them. The redesign improves navigation and organization, updates labels and descriptions, and uses a new underlying architecture that will make Settings easier to update over time.
Firefox Settings have grown a lot over the years. Our research showed that some areas had become crowded and more difficult to navigate, and that important controls could be hard to discover. Some terminology and layouts had also become inconsistent over time. Internally, the existing structure also made Settings harder to maintain and evolve over time.
Here are some of the changes you’ll notice:
- More pages within Settings, with less content per page
- Clearer grouping and better flow between related controls
- Improved labels and helper text
- Consistent use of our design system throughout
The new Settings navigation and layout
While the organization of Settings has changed, all your existing choices and preferences remain in place. You can always use the search bar to jump straight to what you’re looking for.
We plan to ship the redesign to the Release channel in Firefox 152. You will continue to see changes in Nightly, and we welcome feedback, especially in Mozilla Connect.
Customization has long been a core part of Firefox, and this redesign is intended to continue improving how people discover and manage their browser settings. We appreciate all of the feedback from the community so far on this project and look forward to refining the experience with your input!
Import-ant Updates – These Weeks in Firefox: Issue 201
Highlights
- Import attributes will be supported for WebExtensions, starting in Firefox 150!
- This allows WebExtension authors to import CSS module scripts and JSON into their JavaScript modules.
- Examples:
- import sheet from ‘./styles.css’ assert { type: ‘css’ };
- import schema from “./policies-schema.json” with { type: “json” };
- The Web Serial API is now available for testing in Firefox Nightly!
- See https://fosstodon.org/@balloob/116398481380578311 for more details on how to test this our yourself.
- Dharma created a new quick action for Firefox Library
- You can test this out in Firefox Nightly 151 by typing “library” in the URL bar
![]()
- Alexandre Poirot [:ochameau] Enabled the JS Tracer DevTool by default on Nightly
- Read up on how to use the JS Tracer to analyze JavaScript usage on the web here
Friends of the Firefox team
Resolved bugs (excluding employees)
Volunteers that fixed more than one bug
- Chris Vander Linden
- Chukwuka Rosemary
- DrSeed
- EJiro Oghenekome
- Frédéric Wang Nélar
- Itoro James
- japandi
- John Iweh
- jonathancabera
- Josh Aas
- Justin Peter
- Keji Bakare
- kofoworola shonuyi
- konyhéa
- Noble Chinonso
- Okhuomon Ajayi
- Oluwatobi
- Pranjali Srivastava
- ROSHAAN
- Sameeksha
New contributors (🌟 = first patch)
- 🌟 Ben: UI issue in AST locale in Responsive design mode > (open Device picker) > Edit List… > Add Custom Device
- Brian Tsoi [:btsoi]: Create a badram checking library
- 🌟 Chidimma Okoloigwe: Port over tests in browser/base/content/test/sidebar
- japandi:
- Nathan Johnson [:narjoDev]: Remove browser.display.use_system_colors pref
- DrSeed:
- EJiro Oghenekome:
- Keji Bakare:
- 🌟 gotyaoi: Reload toolbar button is active on about:newtab
- 🌟 Hailia: Copied profile edit page heading should enclose profile name in quotes
- geppy: Rename –theme-graphs-* CSS variables
- Itoro James:
- John Iweh:
- jonathancabera:
- Aloys: Remove logic that forces distribution language packs to be reinstalled when upgrading from Firefoxes older than 67
- Mary cathline: Tab Group Label does not respect touch density in vertical tab bar
- 🌟 Brandon Lucier: Popups opened with window.open give window type normal instead of popup
- karan68: [dialog] New Shortcut dialog needs a label/accessible name
- 🌟 Osoble: Update font size and weight for synced tabs device name headers in Firefox View
- konyhéa:
- 🌟 don’t restrict the sidebar width so much (to better support non-English locales)
- Add hairline separators between synced tabs device lists on the Recent Browsing page in Fx View
- Firefox View breakpoint for collapsing the sidebar triggers too late
- Split view does not show colored outline when used as a group target during dragging
- Noble Chinonso:
- 🌟 Add the ‘command’ property to the SidebarStateProps definition
- Timestamp not displayed for items under “Tabs from other devices” in Firefox View Next tab
- Move tab to Start/ End options are enabled and not working, even if the Split View tab is already at start/en,d and the other view is focused
- Mismatched closing tag in syncedtabs-tab-list.mjs itemTemplate
- Do not capitilize “tagName” returned from “WebDriver:GetElementTagName” command
- #shouldHandleEvent in SidebarTreeView.js compares event.keyCode to string values, causing Home/End keys to never be handled
- Knot False: Remove nsIScriptableUnicodeConverter from services/common/utils.js
- Pranjali Srivastava:
- Okhuomon Ajayi:
- 🌟 Rishan: Fix duplicated arrow function in browser_history_sidebar.js
- Chukwuka Rosemary:
- ROSHAAN:
- Sameeksha:
- kofoworola shonuyi:
- 🌟 Sayd Mateen: Page URL is displayed as tab name when page’s <title> contains about:reader?
- Oluwatobi:
Project Updates
Add-ons / Web Extensions
Addon Manager & about:addons
- Removed obsolete migration logic that forced distribution language packs to be reinstalled when upgrading from Firefox versions older than 67 – Bug 2000797
- Thanks to Aloys for contributing the changes needed to cleanup this old XPIProvider migration logic
WebExtensions Framework
- Fixed a regression where WebRTC permission popups were queued and suppressed while an extension popup was open – Bug 1982832
WebExtension APIs
- Fixed an edge case where tabs.move would revert splitview tabs order while moving splitview tab to a new window – Bug 2028832
- Fixed windows API reporting window type normal instead of popup for windows opened via window.open() – Bug 2030631
- Thanks to Brandon Lucier for contributing this small but very much appreciated fix to the windows WebExtensions API!
DevTools
- Nicolas Chevobbe [:nchevobbe] added support for multi-conditions @container rules in the Inspector (#2023125), add specific style for unmatched conditions (#2030236)
![]()
- Nicolas Chevobbe [:nchevobbe] added container-name in the @container tooltip (#2030731)
![]()
WebDriver
- Henrik Skupin fixed a bug in the WebDriver BiDi session.new command where an empty proxy object was returned in the capabilities when no proxy was requested, even though that is not valid according to the CDDL.
- Henrik Skupin landed support for browser.setClientWindowState, originally started by Dan and continued by Liam DeBeasi, with final fixes and improvements completed after earlier contributors were unable to continue.
- Alexandra Borovova improved the “text” field of the “log.entryAdded” event to better align with Firefox DevTools behavior and Google Chrome WebDriver BiDi implementation.
Lint, Docs and Workflow
- A problem with the ESLint-build builder has been resolved. This had meant that the valid-ci-uses and valid-services-property rules were not being run.
- Work is ongoing to get various css files passing the use-design-tokens rules.
New Tab Page
- You can preview Nova on the New Tab browser.newtabpage.activity-stream.nova.enabled to true, and then opening a few tabs.
- The browser.nova.enabled pref was just introduced to turn on the Nova design tokens. That’s still very much a work in progress.
Picture-in-Picture
- aoia7rz7l for added PiP wrapper captions support to various public Invidious instances
- chutten removed all legacy PiP telemetry
- sfarre is working on PiP API support and has a patch up integrating it nicely with our native implementation
Search and Urlbar
Search
- Mandy updated the search-config-v2 schema for partnerCodes (2027191)
- Florian fixed a high frequency intermittent test failure in the search code (2009494)
- Standard8 fixed a bug with duplicate keywords for search engines, so that we now prefer the default search engine (2024714)
Nova
- mconley made a rounder search input for about:newtab and about:privatebrowsing (2027144)
- Drew is continuing his work on making Nova updates to the urlbar (2026859)
New searchbar
- Moritz and Dao continue re-implementing the search bar using urlbar modules (2027749, 2027578, 2002834, 2025904, 2027565)
Urlbar
- Dharma also fixed a quick action telemetry error (1955058)
- James has been working on Adaptive History for Autofill Improvements (2019695, 2019695, 2021079, 2019719, 2021036, 2028730, 2021039, 2019626)
- Gijs landed a patch so that we use aria-notify instead of A11yUtils.announce for UrlbarView’s “special” announcements (2026753)
- Dale added a tooltip to engines in the unified search panel (2028668)
- Drew has been working on sports suggestions (2025052)
- James fixed a bug where persisted search was not working for Fx versions prior to 148 (2025933)
Smart Window
- preparing for 150 mvp with various uplifts from 151
- telemetry: assistant 2024869, input/suggestions 2009615, MLtelemetry 2019772, settings 2009612
- security: spotlighting 2020807, url ledger 2023001
- polish: autoopen sidebar pref 2029686, memories strings 2029262, report issues link 2029257
- bugs: keeping conversations when switching windows 2026239, switching tabs 2023284, transition fullpage to sidebar 2024781
- a11y: ask button state 2015485, smartbar announce 2016758
Storybook/Reusable Components/Acorn Design System
- From more than two weeks ago (sorry I wasn’t here and forget if they were shared):
- Finn converted the Settings page nav to match Firefox View/new design Bug 1867385
- Mark S imported the initial Nova design from Figma Bug 2021477
- Currently behind browser.design-tokens.nova but moving to browser.nova.enabled today most likely
- Mark S created an Icon Directory in Storybook – Bug 1990228
- Mark Striemer added breadcrumbs to sub-panes in Settings
- Anna Kulyk fixed arrow keys not working with panel-list variant of moz-select with separators
- Mark Kennedy fixed an display issue with the Applications view not updating when cancelling the Use other option
- Finn Terdal fixed some page navigation issues:page nav leaves a large gap when it first collapses to icon-only, sub-pane content being clipped by sticky search bar, reintroduced the vertical border next to static sidebar in prefers-reduced-motion
- Jules Simplicio landed a UI polish pass for the Settings Redesign with spacing, focus-ring, and contrast tweaks across subpanes, improving readability and target sizes.
- This also updated some global styling for card, message bar, text input border radiuses/colors and the moz-promo component got a refactor with better support for image styling by default
- Hanna Jones updated copy and illustrations for the Account and sync page, so it’s ready for SRD release
- Osmond Arnesto converted urlbar variables to design tokens, preparing for JSON conversion and Nova import from Figma
- Jon Oliver converted tab variables into design tokens, and set them up in JSON for Nova import from Figma
- Jules Simplicio has been updating variable names in the Figma Nova Components/Styles files so our design token naming is consistent between Figma and central (so we can run our import script for more Nova automation)
UX Fundamentals
- Felt Privacy error pages now support more NSS errors instead of falling through to the legacy page. Updated introductory text for the denied-port-access error. – 2024150
- Fixed a test in browser_aboutCertError.js that was failing on Linux opt standalone and removed the platform skip. – 2028651
- Added clock skew detection to the Felt Privacy error pages. When a certificate error is caused by a wrong system clock, the Felt Privacy error pages now show the same dedicated clock-skew message that the legacy error pages had, and helps guide users to correct their system time. – 2025049
- Fixed misaligned bullet points in the “What can you do?” section of Felt Privacy network error pages, restoring correct visual indentation for that list. – 2028632
VPN, Split View, and Other Goodies – These Weeks in Firefox: Issue 200!
Highlights
- The VPN feature is rolling out to users in the United States, the United Kingdom, Germany and France! Read more about it here.
- Split View is now available for users on Firefox 149! Read more about it here.
- Improvements to tabs.move() split views support: extensions can now swap tabs within a split view, and passing a list of tabs that explicitly separates split-view members will properly unsplit the view to honor the requested ordering – Bug 2016762 / Bug 2022549
- Jeremy added the ability to copy all URLs from multi-selected tabs 1984362 – Share -> “Copy link” for multiselected tabs should copy all the tabs’ information
- Alexandre Poirot [:ochameau] improved performance of the Inspector Rules view by supporting incremental updates, making some perf test 2 times faster (#2018538)
- The Tab Notes feature is now live in Firefox 149 in Firefox Labs! We have a few tweaks and fixes coming in Firefox 150 and 151, but we’re mostly collecting feedback from users.
Friends of the Firefox team
Resolved bugs (excluding employees)
Script to find new contributors from bug list
Volunteers that fixed more than one bug
- Chris Vander Linden
- EJiro Oghenekome
- Keji Bakare
- konyhéa
- Noble Chinonso
- Pranjali Srivastava
- Sameeksha
New contributors (🌟 = first patch)
- 🌟Ben
- Bug 1705177 – Don’t use fixed width for Add Device Save/Cancel buttons. R?nchevobbe!
- 🌟Chidimma Okoloigwe
- Bug 1901274 – Port over tests from browser/base/content/test/sidebar to browser/components/sidebar
- Japandi
- Bug 2015071 – Do not save tab note when input contains only whitespace. R?sthompson
- 🌟DrSeed
- Bug 1982888 – Remove obsolete sidebar Nimbus var r=nsharpley,sfoster
- 🌟EJiro Oghenekome
- Bug 1910902 – Update sidebar icons and references to use collapsed versions. r=nsharpley
- Bug 1938466 – Add tests for View > Sidebar menu items and checked state. r=jsudiaman
- Bug 1952061 – Refactor sidebar state management: rename loadInitialState to loadCurrentState and update related references. r=nsharpley
- 🌟Keji Bakare
- Bug 2006572 – fix right tab name and icon shift when the Split View is selected
- Bug 2025287 – Hide “Open Link in Split View” menu option for pinned tabs.
- 🌟Hailia
- Bug 2016934 – Update copied profile header with typographic quotes r?jhirsch
- geppy
- Bug 1767617 – Rename –theme-graphs-* CSS variables r?nchevobbe
- 🌟Itoro James
- Bug 1936929 – Document the ::%shadow% and ::%document% anchor selector tokens r?nsharpley,hanna_a
- 🌟konyhéa
- Bug 1856191 – don’t restrict the sidebar width so much (better support non-English locales)
- konyhéa
- Bug 1876108 – add hairline separator between synced tabs device lists in firefox view
- Bug 1891970 – Update firefoxview breakpoint to 950px
- Bug 2014334 – add outline to tab-split-view-wrapper when used as a drag group target
- 🌟Noble Chinonso
- Bug 1945835 – Add timestamp display to synced tabs list
- Bug 1953621 – Fix command property type in SidebarStateProps from boolean to string
- Bug 2019235 – Disable Move to Start/End for split view tabs based on tab position
- Bug 2025701 – Fix mismatched closing tag in syncedtabs-tab-list.mjs itemTemplate
- Knot False
- Bug 1773932 – Remove nsIScriptableUnicodeConverter from services/common/utils.sys.mjs. r=skhamis,markh
- 🌟Pranjali Srivastava
- Bug 1874155 Remove browser.firefox-view
- Bug 2009917 – Added proper spacing
- 🌟Chukwuka Rosemary
- Bug 1846829 – Remove the max-history-rows pref used in Fx View
- 🌟Sameeksha
- Bug 2008178 – Add accessible name to ConfirmDialog using aria-labelledby. r=thecount
- Bug 2021421 – Remove redundant lazy preference getters in sidebar-pins-promo.mjs
- kofoworola shonuyi
- Bug 2019901 : Remove sidebar-ongoing-animations attribute from sidebarMain after animation reset.
- 🌟Oluwatobi
- Bug 2019936 – Remove preference configuration for the IE importer feature. r=nsharpley,kcochrane,mconley
Project Updates
Add-ons / Web Extensions
Addon Manager & about:addons
- Fixed a long-standing issue where extension paths stored in extensions.json (and addonStartup.json.lz4) became incorrect after restoring a Firefox profile to a different location and causing all previously installed add-ons to fail to load – Bug 1429838
DevTools
- geppy renamed some of our CSS variables to be more explicit (#1767617)
- Sebastian Zartner [:sebo] move the :visited pseudo-class to element-specific section in the Inspector pseudo-class (:hov) panel (#2017985)
- Ben improved the RDM “Add Custom Device” form by making sure it worked for any kind of locale (#1705177)
- Chris Vander Linden continued his work to migrate files to use actual private fields (#2022400, #2022402, #2022403, #2022405, #2022406, #2022407)
- Dana Keeler (she/her) [:keeler] added a distinct icon to Netmonitor requests when a request uses a certificate issued by a third-party root (#2022693)
- Nicolas Chevobbe [:nchevobbe] added a <global> node on objects which are not from the top-level debugged page (it’s always visible in the browser console/browser toolbox) (#1962343)
- Nicolas Chevobbe [:nchevobbe] added possible anchor names to the autocomplete for the position-anchor property, as well as for the anchor() and anchor-size() functions (#1903278, #2023114, #2023576)
- Nicolas Chevobbe [:nchevobbe] added proper autocomplete (including things like interpolation/color space) for linear-gradient() (and repeating-linear-gradient()) (#2025761)
- Leo McArdle [:leo] fixed an issue in the Inspector Fonts panel Weight input (#1578023), and made sure we properly round displayed values (#1465026, #1578022, #2013940)
- Nicolas Chevobbe [:nchevobbe] made the animation speed drop down to be always visible in the animations panel (#1995485)
- it now impacts all the animations in the page, not only the ones in the subtree of the selected node
- Julian Descottes [:jdescottes] fixed frequent DevTools crashes by avoiding to access properties on remote proxy windows in various places (#2026134)
WebDriver
- Khalid AlHaddad refactored the WebDriver BiDi tests by moving the “wait_for_bidi_events” helper to a fixture.
- Henrik Skupin splitted fixtures and helpers for WebDriver classic and BiDi into protocol-specific folders and improved Marionette’s window manipulation logic for Wayland headless/headful jobs.
- Henrik Skupin added support for “altitudeAngle” and “azimuthAngle” in pointer actions of subtype “touch” to both Marionette and WebDriver BiDi.
- Julian Descottes fixed browsingContext.reload to properly reload iframes and simulate more accurately a user-initiated reload.
- Alexandra Borovova updated “log.entryAdded” events to include top-most frame of the stacktrace for all types of Console APIs.
- Alexandra Borovova updated the handling of shutdown requests to make sure that all active downloads are canceled before to not block the actual browser shutdown.
Lint, Docs and Workflow
- Globals handling within VS Code (and maybe other editors) has been improved to avoid caching globals when the source file for the globals has been updated.
- The main impact of this is that when changing globals in head.js files, VS Code’S ESLint reporting will see the changes when you have the test files open that use the head.js file.
New Tab Page
- Irene Ni updated the Shortcuts UI to Nova, refreshing about:newtab shortcuts with the new design system and improved focus states.
- Irene Ni made it possible to increase shortcuts row count from 8 to 10 for Nova, which will let users pin two more sites per row without scrolling.
- Hanna Alemu built the UI code for asrouter-newtab-message, enabling ASRouter-driven new tab messages controlled via remote config.
- Dre fixed some New Tab keyboard navigation bugs, restoring predictable Tab/Arrow traversal across tiles, cards, and the customization controls.
- Nathan Barrett fixed a persistence bug where Weather, Shortcuts, and Recommended Stories couldn’t be disabled after restart while New Tab was focused, ensuring section toggles reliably save and apply across restarts.
- Sameeksha added an accessible name to the ‘Delete from History’ dialog in Recent Activity, allowing screen readers to announce the dialog title and purpose.
- Maxx Crawford labeled the Detailed view menu button for accessibility, making the control discoverable to assistive tech.
- Maxx Crawford made the ‘See full forecast’ link keyboard-focusable in Detailed view, improving navigation without a mouse.
- Reem Hamoui conveyed high/low temperatures to screen readers in the Detailed view, exposing key weather info non-visually.
- Reem Hamoui added alternative text for hourly forecast graphics, enabling meaningful announcements instead of unlabeled images.
- Maxx Crawford fixed fluent-dom handling so a br element is preserved in newtab-topsites-add-shortcut-label, restoring the intended line break in the Add Shortcut label.
Search and Urlbar
- Dao and Moritz worked on follow ups and fixed several bugs related to the new search bar implementation, which shipped in Fx 149 (2026248, 2023611, 2025746, 2022159, 2022809, 2023656, 2023141)
- Mandy added a new `hasBeenUsed` attribute to search engines to enable better messaging system targeting (2024078)
- Mandy also added a new telemetry category for when search mode is activated via a feature callout (2018806)
- Drew and Daisuke are continuing their work on making Nova updates to the urlbar (2019165)
- Dale fixed two bugs related to the new Unified Trust Panel (2019928, 2013044)
- Florian used Claude to fix intermittent bugs related to urlbar and search telemetry (2009767, 2024301)
- James fixed a high frequency intermittent test failure in the urlbar code (2001962)
- Marco fixed a high frequency intermittent test failure in the places database code (1981199)
Tab Groups
DJ is adding the ability to copy all URLs from the tabs in a tab group 1984338 – Add a way to share/send/copy all tabs urls from a given tab group
QR Codes, Speed Calculators, Better RAM Usage – These Weeks in Firefox: Issue 199
Highlights
- Thanks to overholt, macOS Nightly now has support for sharing the current tab’s URL via QR Code (Right-click tab, Share > Generate QR Code). This is held to Nightly for now.
- Scott Downe fixed an issue where newtab background GIFs could max out RAM while idle in the background by throttling animated background decoding on backgrounded tabs. This fix is going out in Firefox 150.
- Special thanks to volunteer contributor 1justinpeter who just added speed unit conversion support to the AwesomeBar!
- New Tab Sections have been enabled by default in Canada!
Friends of the Firefox team
Resolved bugs (excluding employees)
Volunteers that fixed more than one bug
- Chris Vander Linden
- Itiel
- Justin Peter
- Khalid AlHaddad
- Mauro V [:cheff]
- Sam Johnson
- Sebastian Zartner [:sebo]
New contributors (🌟 = first patch)
- Mohammed Abdullah: screenshot command crops image after 10000px height
- Jocsan: Profile delete page title should enclose profile name in quotes
- 🌟 karan68: [dialog] ‘X’ icon buttons are missing labels
- Knot False: Replace KeywordUtils use of nsIScriptableUnicodeConverter with Services.textToSubURI.ConvertAndEscape
- 🌟 Pushkar Singh: Remove unused devtools.inspector.remote pref
- 🌟 MUTHUSRIHEMADHARSHINI: Card images do not have an alt attribute
- Sukhmeet[:sukh]: firefox forgets open tabs depending on window close order
- 🌟 Alex Reisner: Create a preference to disable the drag-and-drop method of creating tab groups
- 🌟 torrenceb90: Remove unused devtools.target-switching.server.enabled pref
- 🌟 baris: Button does not programmatically indicate that it opens a dialog (Customize button)
Project Updates
Add-ons / Web Extensions
WebExtensions Framework
- Fixed a structuredClone regression in the MV2 userScripts sandbox, bringing it in line with the fix already applied to content scripts and MV3 userScripts sandboxes, fix applied in Nightly 150 and uplifted to Beta 149 – Bug 2020773
- Fixed a tab crash triggered by calling Document.parseHTMLUnsafe() from a browser extension content script (due to an assertion failure hit because parseHTMLUnsafe was wrongly trying to create a document that belongs to the expanded privileged principal that originated the call). The changes applied is now making sure parseHTMLUnsafe will use the webpage document’s principal (and prevent the crash as a side effect of that) – Bug 1912587
- Fixed a regression where the load event on about:blank iframes would not fire when a content script injected a style element (regressed in Firefox 148 as a side effect of the changes applied by Bug 543435, fix landed in Nightly 140 and uplifted to Beta 149 and Release 148) – Bug 2020300
- Thanks to Vincent Villa for promptly investigating and fixing this regression!
WebExtension APIs
- As part of followups related to the work to allow action.openPopup calls without user activation, action.openPopup() will reject the requests when another panel, context menu, doorhanger, or notification is already open in the window – Bug 2022281
- As part of followups to the work in support of the splitView mode support introduced in the tabs API, tabs.move() has been tweaked to correctly return all specified tabs moved in a split view – Bug 2022372
Addon Manager & about:addons
- Fixed a rendering regression where the context menu on about:addons cards would appear with a transparent background at non-default zoom levels – Bug 2006926
- Thanks to Botond Ballo for investigating and fixing this small rendering regression!
DevTools
- Chris Vander Linden moved the SearchInFileBar component to a shared folder in (#2019256, #2020518)
- Chris Vander Linden made a few Netmonitor file use proper private properties (#2021639, #2021640, #2021641, #2021642, #2021643, #2021644, #2021645)
- Mohammed Abdullah refactored screenshot dimension handling to use shared logic from ScreenshotsUtils.sys.mjs (#1942439)
- Lorenz A fixed an issue in the Flexbox Layout pane regarding base size when flex-basis was set from the flex shorthand (#1939289)
- Oriol Brufau [:Oriol] improved one of our object test (#2021445)
- Sebastian Zartner [:sebo] added a new Element-specific pseudo-classes section in the pseudo-class panel and added support for the new :open pseudo class (#2014442)
- Simon Farre [:sfarre] made it so Reporting API requests are now visible in Netmonitor (#2013043)
- Leo McArdle [:leo] fixed the Network request panel so it would show POST data even before the request was finished (#2014623)
- Leo McArdle [:leo] fixed a couple issues with the Inspector Fonts panel inputs (#2013910, #2013904)
- Julian Descottes [:jdescottes] updated the device list in Responsive Device Mode to include recent phones and tablets (#1982802)
WebDriver
- Khalid AlHaddad contributed over the past two weeks by adding a test for correct viewport dimensions on new top-level browsing contexts, improving WebDriver tests with global asyncio markers and a timeout multiplier for a better stability of slow running builds, and introducing a fixture to remove webextensions installed during a test. Thank’s a lot!
- James Teh added Marionette-prefixed commands to query extended accessibility properties and traverse the accessibility tree using UUID-identified nodes.
- Jonathan Moss updated the marionette-integration test manifest files so all tests now run as part of the OS integration CI jobs.
- Alexandra Borovova fixed a regression when prompts opened with WebDriver Classic were automatically closed by default when the `moz:debuggerAddress` capability was passed, which is still a common pattern for Selenium.
- Alexandra Borovova fixed the download events that were triggered by the requests with the `Content-Dispostion` header opened in the new tab to be linked to a navigation.
- Alexandra Borovova updated the logic to not send the “log.entryAdded” events for console APIs that don’t use the printer (e.g., `console.time` or `console.clear`).
- Henrik Skupin fixed an issue in the browsingContext.locateNodes command where the root element was not returned when using a CSS selector.
- Henrik Skupin simplified the logic for Marionette commands managing window state, size, and position to improve stability.
- Julian Descottes fixed the support of non-utf8 headers for various network module commands.
- Julian Descottes fixed a bug with keepalive requests which could still be sent after setting the network conditions to “offline”.
- Julian Descottes fixed a race condition which could lead parallel calls to browsingContext.setViewport to timeout.
Lint, Docs and Workflow
- Mossop has replaced most instances of ContentTask.spawn with SpecialPowers.spawn.
- There is a lint rule to prevent further uses.
- Feel free to help clean up existing uses if you have any.
- https://arewemozsrcyet.com/ is live and in the middle of being moved to a mozilla repo, bugs / comments can go to https://bugzilla.mozilla.org/show_bug.cgi?id=2014746
New Tab Page
- Luca Greco fixed an issue where the new tab page was broken for users who had moved their profile to a new directory. Special shout-out to Scott for driving that one over the line and getting the fix uplifted to Beta!
- baris updated a button so that it indicated that it opens a dialog (Customize button) by adding aria-haspopup=”dialog” and focus management so screen readers announce the Personalize dialog correctly.
- Maxx Crawford added the first version of a refined grid system for Nova, introducing column-based container queries and CSS tokens for more consistent responsive New Tab layouts. This is currently off by default.
- Maxx Crawford updated Widgets components to use parent grid columns so cards align to the new Nova grid across breakpoints without layout jumps.
- Mike Conley enabled the pref to communicate with MARS over OHTTP by default so New Tab network calls use OHTTP by default, reducing IP exposure for all channels. This was already enabled on Beta and Release via Nimbus, but this patch is the pref flip that will ride the trains.
- Mike Conley added a train-hoppable asrouter-newtab-message external component for inline messaging to let us update New Tab inline messages via Remote Settings without a full Firefox update. The OMC team will take over building out the actual UI for the new message surface.
- Nathan Barrett landed sections layout support for Nova, to refine section spacing and ordering using the new grid for a cleaner, denser above-the-fold.
- Maxx Crawford fixed “Weather data is not available right now message” begin shown on the Weather widget by correcting gating so the Weather widget fetches and renders data reliably on v150.
- Maxx Crawford resolved an issue where experiments could accidentally override weather preferences set by the user
- Nina Pypchenko [:nina-py] aligned the newtab devtools button to match the Personalize button to improve visual consistency and discoverability of the DevTools toggle.
Search
- Marco worked on replacing ContentTask.spawn in various tests @ 2023131, 2023134
- Dale worked on several TrustPanel UX fixes @ 2017369, 2017376
- Daisuke fixed issue with SwitchTab results with no title @ 2020341
- Moritz worked on several telemetry issues relating to the new search bar 2021927
- Moritz fixed the unified search button having no focus border @ 2023656
- Dao added support for middle clicking to search in the unified search menu @ 2011220
Smart Window
- “Beta” badges 2017667
- Added AI Controls integration, supporting the blocked state (2010599)
- Added more user choice with split memory generation (2017428)
- Added chat search in Firefox View (2009070)
- Follow-up prompts now persist across tab switches (2019696)
- Conversation starter prompts now update with the foregrounded tab (2013657)
- Current tab context is now removable (2018802)
- Keyboard fixes for smartbar input (2019556 2017939 2015090)
- Show sign in button in chat if signed out (2015720)
Storybook/Reusable Components/Acorn Design System
- Tim Giles fixed some issues with panel-list using popover:
- A macOS issue where keyboard events went to the wrong <moz-select>Bug 2017668
- Scrolling now dismisses an open panel-listBug 2018563
- akulyk updated the panel-list variant of moz-select to use role=”combobox”, improving screen reader semantics and keyboard navigation consistency.
- Dustin Whisman updated the moz- widgets CSS to pass use-design-tokens:
- Dustin Whisman updated some design token names for consistency (Bug 2013342):
- –font-size-heading-* now a font-size variant (was –heading-font-size)
- –card-border-color, –card-box-shadow, –card-box-shadow-hover, –popup-box-shadow, –tab-box-shadow (were nested as variants previously and now are under their component name)
UX Fundamentals
- Added keyboard autofocus to the “Try Again” button in Felt Privacy error pages so users who land on an error page can immediately press enter to retry. (2021447)
- Added keyboard access keys to the three primary error page buttons: G (Go Back), T (Try Again), and P (Proceed to Site). (404501)
- In progress: refactoring net error illustrations into a shared object and adding alt text so assistive technology can read out meaningful descriptions. (2022033)
- In progress: adding improved messaging to the file-not-found error page. (2018850)
- In progress: restoring the error page for Work Offline mode so users see messaging that accurately reflects that they’re in Offline mode, not that there’s a network problem. (
Extension Theming Improvements and More – These Weeks in Firefox: Issue 198
Highlights
- Starting with Firefox 150, Firefox Desktop’s theming internals have improved, allowing custom background images provided by built-in and custom themes to extend over the sidebar UI background – Bug 1952602.
- Thanks to Emilio for his work on these Firefox theme improvements!
Alpenglow theme – current (left, Firefox = 150) behavior.
- We deprecated the built-in CSS filter for WebExtensions and changed how we theme extension icons – Bug 2001318.
- If you spot any issues with extension icons, please file a bug here.
- Extensions can now rely on SVG’s native prefers-color-scheme media query support; see this comment for more information.
- The built-in CSS filter was implicitly applied to all extensions’ page action SVG icons in dark mode. It did not provide an official opt-out mechanism, resulting in poor contrast for some extension icons.
- Niklas fixed broken and missing Picture-in-Picture video controls on Disney+.
- Found a Picture-in-Picture bug? Please file one here!
Friends of the Firefox team
Resolved bugs (excluding employees)
Volunteers that fixed more than one bug
- Chris Vander Linden
- Justin Peter
New contributors (🌟 = first patch)
- Jocsan: Profile delete page title should enclose profile name in quotes
- 🌟karan68: [dialog] ‘X’ icon buttons are missing labels
- Knot False: Replace KeywordUtils use of nsIScriptableUnicodeConverter with Services.textToSubURI.ConvertAndEscape
- 🌟Pushkar Singh: Remove unused devtools.inspector.remote pref
- 🌟MUTHUSRIHEMADHARSHINI: Card images do not have an alt attribute
- Sukhmeet[:sukh]: firefox forgets open tabs depending on window close order
- 🌟Alex Reisner: Create a preference to disable the drag-and-drop method of creating tab groups
- 🌟torrenceb90: Remove unused devtools.target-switching.server.enabled pref
Project Updates
Add-ons / Web Extensions
Addon Manager & about:addons
- As part of the work for the SmartWindow mode, a new dismissible info messagebar will be shown in about:addons themes list view to users opting into SmartWindow that Firefox windows, the SmartWindow theming notice will be highlighting for the user that the SmartWindow mode will use their own custom theming – Bug 2010685
- Special thanks to Maile Lucks and Chloe Zhou for gathering the clarifications needed and working with the SmartWindow team to reach the final agreement on the desired behaviors.
- Fixed “Available Updates” about:addons view not refreshing automatically when the “Check for updates” action is clicked while the “Available updates” is already selected until manually switching about:addons view or reloading the about:addons tab – Bug 1578182
WebExtensions Framework
- As part of hardening work on the WebExtensions internals, a new option has been added to Cu.Sandbox constructor to opt-in/opt-out from freezing all the built-ins available in the Sandbox global – Bug 2017957
WebExtension APIs
- As part of the work to support Firefox Split View, additional changes have been applied to make sure that Split View mode is preserved when extensions are moving all tabs part of a Split View into a new window – Bug 2017148 / Bug 2017768 / Bug 2016754
- Fixed a regression (introduced in Firefox 149 by Bug 2013389 changes) which was reported to be breaking the Clipboard2File extension. The fix has been landed in Nightly 150 and uplifted to 149 – Bug 2017797
DevTools
- Sebastian Zartner [:sebo] added a button in the Storage panel to delete all the items of a given storage type (Local Storage, Cookies, …) (#1349533)
- Chris Vander Linden migrated devtools/client/shared/widgets/TableWidget.js to use proper private ES fields (#2015241)
- Torrence removed the unused devtools.target-switching.server.enabled pref (#2003192)
- Pushkar Singh removed the unused devtools.inspector.remote pref (#2003191)
- Andreas Farre [:farre] improved the Session History panel to easily differentiate same-document and cross-document navigation (#2016130, #2016126)
- Nicolas Chevobbe [:nchevobbe] added a button in Computed sidebar that link to the declaration in the Rules panel (#1418351)
![]()
- Alexandre Poirot [:ochameau] fixed an issue in the inactive CSS that was impacting declarations on rules with multiple pseudo elements (#1998357)
- Nicolas Chevobbe [:nchevobbe] made position-area marked as inactive when the element is not absolutely positioned or doesn’t have a default anchor (#1895185)
- Nicolas Chevobbe [:nchevobbe] added proper autocomplete for color() in the Rules view so it suggests colorspaces (#1898277)
-
Hubert Boma Manilla (:bomsy) added text in the Response panel for redirected request to explain why the panel is empty (#2016679)
![]()
WebDriver
- Alexandra Borovova implemented the “browser.setDownloadBehavior” command, which allows clients to allow or prohibit the downloads and also set a custom download folder. This behavior can be configured per session or per user contexts.
- Julian Descottes implemented the “emulation.setNetworkConditions” command for “type: offline”, which can be used to emulate offline network situations. This configuration can be applied to contexts, user contexts or globally.
- Julian Descottes updated the WebDriver classic getShadowRoot command to no longer return user agent shadow roots.
- Henrik Skupin fixed the mach test command which was not able to run Marionette tests anymore.
Lint, Docs and Workflow
- FYI to developers that stylelint changes now go to #desktop-theme-reviewers
Search
- Drew Willcoxon finished his work on Online Suggest over OHTTP. It has been enabled by default in Nightly since the 149 cycle, improving privacy for remote suggestions while we validate quality and latency at scale.
- Daisuke Akatsuka changed sponsored suggestions to no longer display the destination URL, reducing visual clutter and emphasizing brand/title. Can be tuned via remote config as we watch CTR and trust metrics.
- Voice Control users can once again focus the URL bar via “click” or numbered commands — fixed by Morgan Rae Reschenberg.
- Dale Harvey continued his work on the unified trust button and panel. The HTTP-only “Not Secure” shield now consistently shows the red slash even when tracking protection is off, avoiding misleading site trust signals.
- Justin Peter contributed a bunch of fixes:
- Unit conversion in the URL bar now handles the degree symbol (°) so temperature math returns results as expected.
- Imperial unit conversion precision is improved (e.g., inches/feet/miles rounding), yielding more accurate answers.
- Added more units and abbreviations to conversion, broadening coverage of everyday queries.
Tests
-
Ever had to deal with a test failure like? leaked 1 window(s) until shutdown [url = chrome://browser/content/browser.xhtml]and tried to follow the instructions to debug it? It just became way easier with the retention path printed directly as part of the failure:

- If you would like to see how the flakiness rate of xpcshell and mochitest harness evolve over time, you can see it on https://tests.firefox.dev/
- Dynamic chunking of test jobs landed:
![]()
- Most mochitest jobs now take 20 minutes + the setup time of the job. (charts)
- Per-manifest and job name run time info can be queried at https://tests.firefox.dev/manifests.html
UX Fundamentals
- In progress:
- Update messaging on file:// not-found error pages. The intro will show the actual file path instead of “local file”, and the “What can you do?” section gives file-oriented advice rather than website-oriented advice.
- Adding access keys to error pages. All buttons on the error pages will have keyboard shortcuts.
- Updating the netTimeout error to use correct l10n IDs and whole origin with subdomains.
Road Trip: Atlas
In today's blog, we are excited to show you a new gameplay feature that will come to American Truck Simulator with the arrival of Road Trip. Let's take a closer look at Atlas!
We know many of you have been wondering what new gameplay experiences Road Trip will bring, and today we're excited to introduce Atlas. Designed around exploration, Atlas encourages players to discover, visit, and learn about selected locations across the world of American Truck Simulator. Along the way, you may come across famous landmarks or hidden gems you may have overlooked before - and even learn something about them!
You can access the Atlas interface from your in-game desktop under the Navigation tab. At the heart of this feature are Tourist Boards scattered across the map. By selecting a Tourist Board in the Atlas interface, you'll be directed to the board via your GPS. Once you arrive, several exploration locations will be revealed. These locations are typically spread throughout the surrounding region and showcase some of its most notable highlights.
Your objective will be to visit every exploration location associated with the Tourist Board. These include Points of Interest, Viewpoints, and Photo Trophies.
Points of Interest are a new type of discoverable location. Unlike Viewpoints or Photo Trophies, there's no need to stop or activate a trigger - simply driving through the designated area is enough to mark it as explored. The game also lets you revisit each explored Point of Interest through the Atlas or Gallery, where you can view a live camera feed of the location. If your vehicle is parked there, you'll see it in the live view.
Whenever you've explored a new location, you'll be notified by a new on-screen widget, which can be enabled or disabled in the widget settings. A short celebratory sound effect will play, and the location will be marked as explored. You'll also unlock a brief description with interesting information about the place, which you can revisit at any time through the Atlas interface.
Once you've explored every location connected to a Tourist Board, the board itself will be marked as completed. As a reward, you'll receive a postcard with a unique design inspired by the region you've just explored, which you can display on your vehicle's dashboard. You can also return to the Atlas interface at any time to review the locations you've discovered, read their descriptions, or replay any unlocked cutscenes.This feature will become available to players owning any Road Trip DLC, so either the Ford Car Pack or the RAM & Dodge Car Pack. However, Atlas is not limited to only cars, as you will also be able to enjoy this feature behind the wheel of a truck!
With the introduction of Atlas, you will be able to find Tourist Boards in California, and in the Oregon, Washington, Idaho, Montana, Wyoming, and South Dakota DLCs. We will then be gradually adding them to all the other states as well.
We hope you are excited about this new gameplay feature! If you are, make sure to add the Ford Car Pack and the RAM & Dodge Car Pack to your Steam wishlist.
Don't forget to stay tuned for more news from Road Trip by following us on our X/Twitter, Facebook, Instagram, Bluesky, and YouTube. We would also really appreciate it if you could sign up for our newsletter. Drive safe!
Certified Asterisk Release certified-22.8-cert4
The Asterisk Development Team would like to announce
the release of Certified asterisk-22.8-cert4.
The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/certified-22.8-cert4
and
https://downloads.asterisk.org/pub/telephony/certified-asterisk
Repository: https://github.com/asterisk/asterisk
Tag: certified-22.8-cert4
This release resolves issues reported by the community
and would have not been possible without your participation.
Thank You!
Change Log for Release asterisk-certified-22.8-cert4
Links:
Summary:
- Commits: 13
- Commit Authors: 6
- Issues Resolved: 8
- Security Advisories Resolved: 0
Asterisk Release 23.5.0-rc1
The Asterisk Development Team would like to announce
release candidate 1 of asterisk-23.5.0.
The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/23.5.0-rc1
and
https://downloads.asterisk.org/pub/telephony/asterisk
Repository: https://github.com/asterisk/asterisk
Tag: 23.5.0-rc1
This release resolves issues reported by the community
and would have not been possible without your participation.
Thank You!
Change Log for Release asterisk-23.5.0-rc1
Links:
Summary:
- Commits: 38
- Commit Authors: 16
- Issues Resolved: 27
- Security Advisories Resolved: 0
Asterisk Release 22.11.0-rc1
The Asterisk Development Team would like to announce
release candidate 1 of asterisk-22.11.0.
The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/22.11.0-rc1
and
https://downloads.asterisk.org/pub/telephony/asterisk
Repository: https://github.com/asterisk/asterisk
Tag: 22.11.0-rc1
This release resolves issues reported by the community
and would have not been possible without your participation.
Thank You!
Change Log for Release asterisk-22.11.0-rc1
Links:
Summary:
- Commits: 38
- Commit Authors: 16
- Issues Resolved: 27
- Security Advisories Resolved: 0
Asterisk Release 20.21.0-rc1
The Asterisk Development Team would like to announce
release candidate 1 of asterisk-20.21.0.
The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/20.21.0-rc1
and
https://downloads.asterisk.org/pub/telephony/asterisk
Repository: https://github.com/asterisk/asterisk
Tag: 20.21.0-rc1
This release resolves issues reported by the community
and would have not been possible without your participation.
Thank You!
Change Log for Release asterisk-20.21.0-rc1
Links:
Summary:
- Commits: 38
- Commit Authors: 16
- Issues Resolved: 27
- Security Advisories Resolved: 0
31.1.8
Releases Notes for 31.1.8
Windows Installer
Windows No Installer (zip)
macOS - Universal
Linux - deb, AppImage or rpm
Windows intel x32 releases are marked -ia32-
ChangeLog:
- Uses electron 42.8.1
- Updates to draw.io core 31.1.8.
MKVToolNix v100 released
Heyo!
It’s happening, v100 is here. Yay! It contains nothing overly drastic, but it’s still a nice assortment of enhancements & bug fixes for users of all OS.
A big thanks to all the contributors over the years, but especially for the people who have contributed over the last three months. This yielded continued macOS builds and several bug fixes that I hadn’t gotten around to tackling myself.
can download the source code or one of the packages. The Windows packages as well as the Linux AppImage are available already. The other Linux packages & the macOS disk image are still being built and will be available over the course of the next couple of hours.
Here are the NEWS since the previous release:
Version 100.0 “Do Hot Girls Like Chords” 2026-07-05
New features and enhancements
- all: added new scalable (SVG) application icons for all applications, replacing the existing pixmap (PNG, ICO) icons. Icons from Sarreq Teryx. Implements #6253.
- mkvmerge: MP4 reader: track names are now read from the track’s user-data atoms (
trak→udta→name) if present. Implements #6274. - MKVToolNix GUI: executing actions configuration, type “play audio file”: added a slider to make configuration more intuitive. Implemented by #6267.
- MKVToolNix GUI: executing actions: macOS only: the GUI will now use bundled audio files for “play audio file” actions that Qt can play instead of using macOS’s system sounds. Implemented by #6268. Fixes #6264.
- MKVToolNix GUI: executing actions: Windows only: added a new type: executing a PowerShell script. Either an existing script file can be selected or custom PowerShell script code entered in a small editor. The executed script has access to all
MTX_…variables through the environment, e.g.$env:MTX_DESTINATION_FILE_BASE_NAME. Workaround for the problems talked about in #6254. - MKVToolNix GUI: job queue: added a context menu for opening copies of the selected queue jobs in the multiplexer as new settings there without removing the queue jobs. Implements #6255.
- MKVToolNix GUI: job queue: added a search functionality for jobs that searches in job descriptions, outputs, warnings & errors. Implements #6256.
Bug fixes
- command-line tools: Windows: switched to Boost’s UTF-8 code-conversion facet (
boost::locale::utf8_codecvt) fromstd::utf8_codecvtincluded in MingW. This seems to fix an issue with converting certain high code point fromwchar_ttochar(from UTF-32/16 to UTF-8), preventing interesting exceptions from being thrown. Fixes #6257. - mkvmerge: AAC: fixed mis-detection of ADTS streams not starting on a frame boundary. Fixes regression starting with v87 when fixing AAC LATM config not being parsed if it wasn’t present in the first AAC frame. Patch by Corticalcode. Fixes #6196.
- mkvmerge: MPEG TS reader: under certain rare conditions mkvmerge was skipping a certain amount of content at the start of the main M2TS file when reading MPLS playlists. The amount of content skipped proportional to the probe range percentage. This only happened when the source Blu-ray contains HDMV TextST subtitles. Fixes #6269.
- MKVToolNix GUI: executing actions configuration, type “play audio file”: fixed audio volume not working since switching to Qt 6 due to its interface taking a
floatin range0.0–1.0instead of the old interface taking anintin range0–100. Implemented by #6267. Fixes #6266. - MKVToolNix GUI: executing actions: fix backslash handling when parsing a Unix-shell escaped string into separate arguments. The user-visible fix is that the command-line in the “executing actions” dialog will not have the quoting changed in wrong ways by the GUI when the GUI adds another variable upon user request, a regression introduced in v99. Fixes #6253.
Build system changes
- all: when building for Windows the programs ImageMagick (executable
magick) & Inkscape (executableinkscape) are required in order to build ICOs from SVGs. - macOS: include the app’s supported platform(s) in
Info.plistto correctly resolve the app’s Kind as Apple Silicon in System Information. Detected during discussion of #6260. - macOS: updated Qt to 6.11.1. The patch that made building Qt from source possible on macOS 26.4 (by Touchstone64) has been removed as Qt 6.11.1 includes the fix upstream. See #6276.
Have fun yall! 💖🎉
Dropped support for armhf (32-bit ARM) for Ubuntu.
Dropped support for Ubuntu 25.10 "Questing Quokka".
MKVToolNix v99.0 released
Heyo everyone.
Here’s MKVToolNix v99. There are a couple of bug fixes & improvements in the GUI & in mkvmerge among with a huge amount of fixes/changes/improvements to the macOS build system. Yes, that’s right, macOS binaries are back.
Thanks to the huge amount of work by two community members, corticalcode & touchstone64 (Graham Thompson), we will once again provide macOS binaries (DMGs) for releases v98 (already available for download) and newer (such as this one, v99). Both have improved the macOS build system significantly, implemented building ARM binaries in addition to Intel binaries (this includes a Universal DMG) and fixing bugs they come across while doing so. I’m very grateful for their work, and the MKVToolNix community as a whole is better off.
The macOS DMGs I’ll host on the project’s home page will be built by aforementioned Graham Thompson, not by me. They’re signed & all the good stuff. You can find details about the certificate used on the authenticity page.
You can download the source code or one of the packages. The Windows packages as well as the Linux AppImage are available already. The other Linux packages & the macOS disk image are still being built and will be available over the course of the next couple of hours.
Here are the NEWS since the previous release:
Version 99.0 “Buka” 2026-05-24
New features and enhancements
- MKVToolNix GUI: the GUI will now remember the last used directory for selecting audio files for playback in “play audio file” program runners separately from any other “open file”-type situations. This directory will also default to
/System/Library/Soundson macOS now. Implemented by #6213. - MKVToolNix GUI: executing actions → running programs: added new variables:
MTX_DESTINATION_FILE_BASE_NAME(the name without the drive letter, path or the suffix; e.b./movies/A.new.hope.mkv→A.new.hope) andMTX_DESTINATION_FILE_SUFFIX(only the letters after the last., e.g./movies/A.new.hope.mkv→mkv). Added examples to all the destination file variables in the popup menu when adding variables in the preferences. Implements parts of #6220. - MKVToolNix GUI: executing actions → running programs: the command-line input widget will now receive focus again after using the popup menu for adding a variable. Implements parts of #6220.
- MKVToolNix GUI: executing actions → running programs: the variables will now also be set as environment variables when running a program after a job completes.
- MKVToolNix GUI: executing actions → running programs: when using the “Execute now” button for testing the
MTX_…variables will be set to the current multiplexer tab’s values for easier testing. Implements parts of #6220.
Bug fixes
- mkvmerge: if using legacy font MIME types is off mkvmerge will now remap legacy font MIME types present in source files into the current ones. Patch by corticalcode via #6249.
- mkvmerge, mkvpropedit, MKVToolNix GUI’s multiplexer & header editor: on Windows & macOS the MIME type detection will now use the FreeDesktop.org MIME database instead of falling back to file extension-based guesses. This matches how it works on other operating systems. This fixes e.g. OpenType fonts being detected as the legacy type
application/vnd.ms-opentypeinstead of the current IETF RFC,font/otf, no matter what the “use legacy font MIME types” settings in the preferences was set to. Fixes #6240 for Windows; fixes #6248 for macOS. Implemented by corticalcode for macOS in #6250. - MKVToolNix GUI: update checker: fixed a potential attempt to read from an invalid memory address if an error occurred when parsing the XML file retrieved from the official MKVToolNix server.
- macOS: GUI: the default audio file for program runners of type “play audio file” has been changed to an AIFF file as Qt’s Multimedia backend routes through Core Audio which doesn’t support WebM/VP8/Vorbis/Opus. Existing configurations will be updated if they point to the prior default WebM audio file. Fixes #6209.
Build system changes
- macOS:
build.sh: the Qt installation is now done viacmake --installinstead of using classicmakeas the classic Makefiles produced by Qt’s build system are incomplete. Patch by corticalcode. Fixes #6205. - macOS:
build.sh: the binaries in the DMG are now stripped of debug symbols. Patch by corticalcode. Fixes #6206. - macOS:
build.sh: enabled release build optimizations for dependencies. Patch by corticalcode. Fixes #6207. - macOS:
build.sh: disabled use ofpkg-configfor Qt to prevent linking against installed non-OS libraries such as from Homebrew. Patch by corticalcode. Fixes #6208. - macOS: added support for notarization of a macOS disk image by an Apple developer account. Implementation of #6212 by Touchstone64.
- macOS: patch added to make building Qt 6.11 from source possible on macOS 26.4. Patch by Touchstone64.
- macOS: additions to DMG package naming including the machine type it targets (arm64 or x86_64) and a revision number (to support re-packaging of an existing MKVToolnix release). For example, MKVToolNix-98.0-1-arm64.dmg would represent the first revision of a DMG package for an Apple Silicon Mac, containing MKVToolNix release 98.0. Implementation by Touchstone64.
- macOS: the packaging process now verifies the MKVToolNix source release using the author’s GPG key before packaging. Implementation by Touchstone64.
- macOS: the app bundle name has been standardised by removing the version number, so DMG packages will contain ‘MKVToolNix.app’. Implementation by Touchstone64.
- macOS: Qt is now built without printing support, reducing the size of the resulting DMG slightly. Implementation by Corticalcode. Implements #6230.
Have fun 😁
-
MKVToolNix
- macOS binaries: Thanks to the huge amount of work by two community members, corticalcode & touchstone64 (Graham Thompson), we will once again provide macOS binaries (DMGs) for releases 98 and newer. Both have improved the macOS build system significantly, implemented building ARM binaries in addition to Intel binaries (this includes a Universal DMG) and fixing bugs they come across while doing so. I'm very grateful for their work, and the MKVToolNix community as a whole is better off.
macOS binaries: Thanks to the huge amount of work by two community members, corticalcode & touchstone64 (Graham Thompson), we will once again provide macOS binaries (DMGs) for releases 98 and newer. Both have improved the macOS build system significantly, implemented building ARM binaries in addition to Intel binaries (this includes a Universal DMG) and fixing bugs they come across while doing so. I'm very grateful for their work, and the MKVToolNix community as a whole is better off.
Added packages for Ubuntu 26.04 "Resolute Raccoon".
MKVToolNix on macOS discontinued
Even though I’ve just released v98.0 & written about dropping macOS support in the second half of 2026 (like before), this was before I realized that my macOS build environment is currently completely broken. I’ve unsuccessfully tried to fix it for several hours yesterday, and have been seriously considering giving up for good & letting the previous release be the last one for which I provided macOS builds.
After sleeping over it this is indeed my decision: I will no longer provide macOS binaries starting with yesterday’s release, v98.0.
I’m sorry for the shortened timeline. This was obviously not the plan.
MKVToolNix v98 released
Hello there!
MKVToolNix v98 is now out, again just a pretty small release with just a handful of changes — but why hold off even longer? Who knows when things will pick up again. So here we are!
An important reminder for macOS users: I will stop providing macOS binaries and any kind of support for macOS in the second half of 2026 due to Apple discontinuing support for the Rosetta x86-to-ARM translation system. As my current build process only works on x86 (Intel) macs this will be the end of the line for any kind of mac support for me. There is some community support in the form of third-party builds over on the MKVToolNix forum.
You can download the source code or one of the packages. The Windows packages as well as the Linux AppImage are available already. The other Linux packages & the macOS disk image are still being built and will be available over the course of the next couple of hours.
Here are the NEWS since the previous release:
Version 98.0 “Chonks” 2026-04-05
New features and enhancements
- all: huge update to the Japanese translations which had been not worked on for several years. The program translation is now complete again, the man page translation has been extended as well. Both were reworked in most places. Translations by coolvitto.
- GUI: chapter editor: added an option in the “additional modifications” dialog that toggles applying the selected modifications to all currently open chapter editor tabs. Implements #6189.
- GUI: macOS: added dock icon progress bar for job queue. Patch by Miklos Juhasz.
Bug fixes
- GUI: chapter editor: when renumbering chapters limiting the number of chapters to renumber did not work. Fixes #6199.
- GUI: macOS: fixed refreshing widgets after system switches between dark & light modes. Patch by Miklos Juhasz.
Build system changes
- The bundled
fmtlibrary was updated to v12.1.0, fixing a build issue on FreeBSD. Fixes #6191.
Have fun 😁
Dropped support for Ubuntu 25.04 "Plucky Puffin".
MKVToolNix v97.0 released
Hi fine folks!
Happy new year everyone. Here’s v97.0 of MKVToolNix, probably the smallest release I’ve ever done with just two NEWS.md entries. But I like to keep up with my ususal schedule, so here we are. Feel free to skip this release if the feature mentioned below is irrelevant for you.
An important note for macOS users: I will stop providing macOS binaries and any kind of support for macOS in the second half of 2026 due to Apple discontinuing support for the Rosetta x86-to-ARM translation system. As my current build process only works on x86 (Intel) macs this will be the end of the line for any kind of mac support for me.
You can download the source code or one of the packages. The Windows packages as well as the Linux AppImage are available already. The other Linux packages & the macOS disk image are still being built and will be available over the course of the next couple of hours.
Here are the NEWS since the previous release:
Version 97.0 “You Don’t Have A Clue” 2026-01-02
New features and enhancements
- mkvmerge: MP4 reader: added support for TrueHD in MP4 with FourCC
mlpa. Implements #6178. - installer: the Windows installer will request admin permissions again, as it did before release 96.0.
Have fun 😁
-
MKVToolNix
- macOS binaries: I will stop providing macOS binaries and any kind of support for macOS in the second half of 2026 duej to Apple discontinuing support for the Rosetta x86-to-ARM translation system.