Support for Web Serial in Firefox 151 for Desktop Firefox can now connect directly to microcontrollers, development boards, 3D printers, power meters, and other serial-connected hardware from the web. Starting in Firefox 151 for Desktop, support for the Web Serial API allows web applications to communicate with compatible devices without requiring native software. Web Serial […] The post Announcing Web…
Mozilla Hacks
https://hacks.mozilla.org/ · 220 posts · history since 2019 · active
21 May
7 May
Two weeks ago we announced that we had identified and fixed an unprecedented number of latent security bugs in Firefox with the help of Claude Mythos Preview and other AI models. In this post, we’ll go into more detail about how we approached this work, what we found, and advice for other projects on making […] The post Behind the…
5 May
The open web is a critical platform for applications that handle highly sensitive data, from private communications to financial transactions and medical records. Traditionally, servers are trusted to deliver the appropriate code and resources for their web applications to browsers, who then provide a secure and isolated environment for their execution. In some circumstances, this […] The post Trustworthy JavaScript…
25 Mar
In January, we introduced our Nightly package for RPM-based Linux distributions. Today, we are thrilled to announce it is now available for Firefox Beta! Firefox Beta is great for testing your sites in a version of Firefox that will reach regular users in the coming weeks. If you find any issues, please file them on […] The post Firefox Developer…
26 Feb
This post is an expanded version of a presentation I gave at the 2025 WebAssembly CG meeting in Munich. WebAssembly has come a long way since its first release in 2017. The first version of WebAssembly was already a great fit for low-level languages like C and C++, and immediately enabled many new kinds of […] The post Why is…
24 Feb
Cross-site scripting (XSS) remains one of the most prevalent vulnerabilities on the web. The new standardized Sanitizer API provides a straightforward way for web developers to sanitize untrusted HTML before inserting it into the DOM. Firefox 148 is the first browser to ship this standardized security enhancing API, advancing a safer web for everyone. We […] The post Goodbye innerHTML,…
12 Feb
The Interop Project is a cross-browser initiative to improve web compatibility in areas that offer the most benefit to both users and developers. The group, including Apple, Google, Igalia, Microsoft, and Mozilla, takes proposals of features that are well defined in a sufficiently stable web standard, and have good test suite coverage. Then, we come […] The post Launching Interop…
19 Aug 2025
Firefox is now the first and the only browser to deploy fast and comprehensive certificate revocation checking that does not reveal your browsing activity to anyone (not even to Mozilla). Tens of millions of TLS server certificates are issued each day to secure communications between browsers and websites. These certificates are the cornerstones of ubiquitous […] The post CRLite: Fast,…
25 Mar 2025
Beginning in version 138, Firefox will offer an alternative to DLL injection for Data Loss Prevention (DLP) deployments in enterprise environments. DLL Injection DLL injection into Firefox is a topic we’ve covered on the Hacks blog before. In 2023, we blogged about the Firefox capability to let users block third-party DLLs from being loaded. We […] The post Improving Firefox…
13 Feb 2025
Interop 2025 continues the mission to make the web more consistent across browsers, building on 2024’s 95% interoperability score. This year, 19 focus areas target key developer needs and long-standing issues, including WebRTC improvements, Storage Access API, and CSS Zoom. The post Launching Interop 2025 appeared first on Mozilla Hacks - the Web developer blog.
4 Dec 2024
Mozilla and Filament have introduced Uniffi for React Native, a tool that allows developers to leverage the safety and performance benefits of Rust in cross-platform React Native apps. The post Introducing Uniffi for React Native: Rust-Powered Turbo Modules appeared first on Mozilla Hacks - the Web developer blog.
16 Oct 2024
Discover the latest release of Llamafile 0.8.14, an open-source AI tool by Mozilla Builders. With a new command-line chat interface, enhanced performance, and support for powerful models, Llamafile makes it easy to run large language models (LLMs) on your own hardware. Learn more about the updates and how to get involved with this cutting-edge project. The post Llamafile v0.8.14: a…
8 Aug 2024
As AI continues to evolve, so do the threats against it. As these GenAI systems become more sophisticated and widely adopted, ensuring their security and ethical use becomes paramount. 0Din is a groundbreaking GenAI bug bounty program dedicated specifically to help secure GenAI systems and beyond. In this blog, you'll learn about 0Din, how it works, and how you can…
7 Aug 2024
We’re pleased to announce that, as of version 23, the Puppeteer browser automation library now has first-class support for Firefox. This means that it’s now easy to write automation and perform end-to-end testing using Puppeteer, and run against both Chrome and Firefox. The post Announcing Official Puppeteer Support for Firefox appeared first on Mozilla Hacks - the Web developer blog.
27 Jun 2024
Process separation remains one of the most important parts of the Firefox security model and securing our IPC (Inter-Process Communication) interfaces is crucial to keep privileges in the different processes separated. We take a more detailed look at our newest tool for finding vulnerabilities in these interfaces – snapshot fuzzing. The post Snapshots for IPC Fuzzing appeared first on Mozilla…
25 Jun 2024
Today we’re proud to announce the next Mozilla Builders project: sqlite-vec. Led by independent developer Alex Garcia, this project brings vector search functionality to the beloved SQLite embedded database. Alex has been working on this problem for a while, and we think his latest approach will have a great impact by providing application developers with a powerful new tool for…
31 May 2024
Firefox 130 will introduce an experimental new capability to automatically generate alt-text for images using a fully private on-device AI model. The feature will be available as part of Firefox’s built-in PDF editor, and our end goal is to make it available in general browsing for users with screen readers. The post Experimenting with local alt text generation in Firefox…
25 Apr 2024
When Mozilla’s Innovation group first launched the llamafile project late last year, we were thrilled by the immediate positive response from open source AI developers. It’s become one of Mozilla’s top three most-favorited repositories on GitHub, attracting a number of contributors, some excellent PRs, and a growing community on our Discord server. The post Llamafile’s progress, four months in appeared…
23 Apr 2024
In this blog post, we delve into the motivations for choosing Rust for our crash reporter, outline the unique challenges of designing an application that operates when the main browser has failed, and discuss the new architecture we've implemented. We also share insights into the technical nuances of the implementation, demonstrating how Rust's features are leveraged to handle crashes more…
11 Apr 2024
In the fast-paced world of generative AI, staying ahead means moving swiftly and smartly. That's why we've embraced Gradio, the low-code prototyping toolkit from Hugging Face, as our go-to for bringing new ideas to life. The post Prototype even faster with the Gradio UI for Figma component library appeared first on Mozilla Hacks - the Web developer blog.
11 Mar 2024
In collaboration with the other major browser engine developers, Mozilla is thrilled to announce Speedometer 3 today. Like previous versions of Speedometer, this benchmark measures what we think matters most for performance online: responsiveness. But today’s release is more open and more challenging than before, and is the best tool for driving browser performance improvements that we’ve ever seen. The…
1 Feb 2024
Following the success of Interop 2023, we are pleased to confirm that the project will continue in 2024 with a new selection of focus areas, representing areas of the web platform where we think we can have the biggest positive impact on users and web developers. The post Announcing Interop 2024 appeared first on Mozilla Hacks - the Web developer…
29 Jan 2024
During the Firefox 120 beta cycle, a new crash signature appeared on our radars with significant volume. Engineers working on Firefox, explore the subtle pitfalls of combining compiler flags. The post Option Soup: the subtle pitfalls of combining compiler flags appeared first on Mozilla Hacks - the Web developer blog.
12 Dec 2023
Puppeteer now supports the next-generation, cross-browser WebDriver BiDi standard. This new protocol makes it easy for web developers to write automated tests that work across multiple browser engines. The post Puppeteer Support for the Cross-Browser WebDriver BiDi Standard appeared first on Mozilla Hacks - the Web developer blog.
30 Nov 2023
A month ago, we introduced our Nightly package for Debian-based Linux distributions. Today, we are proud to announce we made our .deb package available for Developer Edition and Beta! The post Firefox Developer Edition and Beta: Try out Mozilla’s .deb package! appeared first on Mozilla Hacks - the Web developer blog.
29 Nov 2023
We're thrilled to announce the first release of llamafile, inviting the open source community to join this groundbreaking project. With llamafile, you can effortlessly convert large language model (LLM) weights into executables. Imagine transforming a 4GB file of LLM weights into a binary that runs smoothly on six different operating systems, without requiring installation. The post Introducing llamafile appeared first…
16 Nov 2023
Mozilla has just launched the AI Guide, a collaborative hub for developers to join forces, inspire each other, and lead the way in groundbreaking generative AI advancements. The AI Guide’s initial focus begins with language models and the aim is to become a collaborative community-driven resource covering other types of models. The post Mozilla AI Guide Launch with Summarization Code…
31 Oct 2023
To deliver against our vision and enable a better online experience for everyone, we’ve been working hard on making Firefox even faster. We’re extremely happy to report that this has resulted in a significant improvement in speed over the past year. The post Down and to the Right: Firefox Got Faster for Real Users in 2023 appeared first on Mozilla…
12 Oct 2023
Protecting user privacy is a core element of Mozilla’s vision for the web and the internet at large. In pursuit of this vision, we’re pleased to announce new partnerships with Fastly and Divvi Up to deploy privacy-preserving technology in Firefox. The post Built for Privacy: Partnering to Deploy Oblivious HTTP and Prio in Firefox appeared first on Mozilla Hacks -…
5 Sept 2023
Firefox performance on Vue.js has improved significantly throughout the year. Most recently, we sped up reactivity with Proxy optimizations. This change landed in Firefox 118, so it’s currently on Beta and will ride along to Release by the end of September. The post Faster Vue.js Execution in Firefox appeared first on Mozilla Hacks - the Web developer blog.
8 Aug 2023
This blog post will walk through how we developed UniFFI: a Rust library for auto-generating foreign language bindings. We will walk through some of the issues that arose along the way and how we handled them. The post Autogenerating Rust-JS bindings with UniFFI appeared first on Mozilla Hacks - the Web developer blog.
27 Jul 2023
Artificial intelligence may well prove one of the most impactful and disruptive technologies to come along in years. We want to understand, support, and contribute to these efforts because we believe that they offer one of the best ways to help ensure that the AI systems that emerge are truly trustworthy. With this in mind, a small team within Mozilla’s…
30 Mar 2023
In Firefox 110, users now have the ability to control which third-party DLLs are allowed to load into Firefox processes. Let’s talk about what this means and when it might be useful. The post Letting users block injected third-party DLLs in Firefox appeared first on Mozilla Hacks - the Web developer blog.
14 Mar 2023
We want entrepreneurs and builders to join us in creating a future where AI is developed through this responsible lens. That’s why we are relaunching our Mozilla Builders program with the Responsible AI Challenge. The post Mozilla Launches Responsible AI Challenge appeared first on Mozilla Hacks - the Web developer blog.
1 Feb 2023
Interop 2022 showed significant improvements in the interoperability of multiple platform features, along with several cross-browser investigations that looked into complex, under-specified, areas of the platform where interoperability has been difficult to achieve. Building on this, we're pleased to announce Interop 2023, the next iteration of the Interop project. The post Announcing Interop 2023 appeared first on Mozilla Hacks -…
31 Jan 2023
Last March we announced the Interop 2022 project, a collaboration between Apple, Bocoup, Google, Igalia, Microsoft, and Mozilla to improve the quality and consistency of their implementations of the web platform. Now that it's 2023 and we're deep into preparations for the next iteration of Interop, it's a good time to reflect on how the first year of Interop has…
7 Dec 2022
A product is first an idea, then a project, and then a prototype. Here, at Mozilla, our awesome community is there every step of the way to support and contribute to our products. None of what we do would be possible without this multicultural, multilingual community of like-minded people working together to be a better internet. The post How the…
22 Nov 2022
We break down how we reduced Firefox out-of-memory crashes on Windows with a simple trick. Poorly behaving web pages and apps are no longer capable of crashing the browser by exhausting memory. The post Improving Firefox stability with this one weird trick appeared first on Mozilla Hacks - the Web developer blog.
31 Oct 2022
The MDN Web Docs team recently undertook a project to revamp and reorganize the “Contribution Docs”. These are all the pages on MDN that describe what's what – the templates and page structures, how to perform a task on MDN, how to contribute to MDN, and the community guidelines to follow while contributing to this massive open source project. The…
10 Oct 2022
If you're running Firefox on macOS you might have noticed that its responsiveness has improved significantly in version 103, especially if you've got a lot of tabs, or when your machine is busy running other applications at the same time. This improvement was achieved via a small change in how locking is implemented within Firefox's memory allocator. The post Improving…
8 Sept 2022
In June 2021, we decided to start converting the source code for MDN web docs from HTML into a format that would be easier for us to work with. The goal was to get 100% of our manually-written documentation converted to Markdown, and we really had a mountain of source code to climb for this particular expedition. In this post,…
29 Aug 2022
How do you merge two Git repositories without losing history? This post will take you through the step-by-step process. The post Merging two GitHub repositories without losing commit history appeared first on Mozilla Hacks - the Web developer blog.
29 Jun 2022
Firefox Translations is a website translation add-on that provides an automated translation of web content. In this article, we will discuss the technical challenges around the development of the translation engine and how we solved them to build a usable Firefox Translations add-on. The post Neural Machine Translation Engine for Firefox Translations add-on appeared first on Mozilla Hacks - the…
27 Jun 2022
As part of our work to ensure a free and open web, we've been working together with Ecma International, and many partners to write a License inspired by the W3C Document and Software License. Our goal was that JavaScript’s status would align with other specifications of the Web. In addition, with this new license available to all TCs at Ecma…
23 Jun 2022
For the last year, we've been working on the development of rust-minidump, a pure-Rust replacement for the minidump-processing half of google-breakpad. The final part in this series takes you through fuzzing rust-minidump. The post Fuzzing rust-minidump for Embarrassment and Crashes – Part 2 appeared first on Mozilla Hacks - the Web developer blog.
16 Jun 2022
Samuel Aboagye is a genius. Aboagye is 17 years old. In those 17 years, he’s crafted more inventions than you have, probably. Among them: a solar-powered bike and a Bluetooth speaker, both using recycled materials. We caught up with Aboagye over video chat in hopes that he’d talk with us about his creations, and ultimately how he’s way cooler than…
14 Jun 2022
For the last year, we've been working on the development of rust-minidump, a pure-Rust replacement for the minidump-processing half of google-breakpad. The first in this two-part series explains what minidumps are, and how we made rust-minidump. The post Everything Is Broken: Shipping rust-minidump at Mozilla – Part 1 appeared first on Mozilla Hacks - the Web developer blog.
7 Jun 2022
The Bergamot project is a collaboration between Mozilla, University of Edinburgh, Charles University in Prague, the University of Sheffield, and University of Tartu with funding from the European Union’s Horizon 2020 research and innovation programme. It brings MT to the local environment, providing small, high-quality, CPU optimized NMT models. The Firefox Translations web extension utilizes proceedings of project Bergamot and…
12 May 2022
Firefox uses a multi-process model for additional security and stability while browsing: Web Content (such as HTML/CSS and Javascript) is rendered in separate processes that are isolated from the rest of the operating system and managed by a privileged parent process. This way, the amount of control gained by an attacker that exploits a bug in a content process is…
28 Apr 2022
The latest Common Voice dataset, released today, has achieved a major milestone: More than 20,000 hours of open-source speech data that anyone, anywhere can use. The dataset has nearly doubled in the past year. Mozilla’s Common Voice seeks to change the language technology ecosystem by supporting communities to collect voice data for the creation of voice-enabled applications for their own…
Almost a month ago, we announced MDN Plus, a new premium service on MDN that allows users to customize their experience on the website. We are very glad to announce today that it is now possible for MDN users around the globe to create an MDN Plus free account, no matter where they are. The post MDN Plus now available…
21 Apr 2022
On March 1st, 2022, MDN Web Docs released a new design and a new brand identity. Overall, the community responded to the redesign enthusiastically and we received many positive messages and kudos. We also received valuable feedback on some of the things we didn’t get quite right, like the browser compatibility table changes as well as some accessibility and readability…
13 Apr 2022
We’re pleased to announce that we have partnered with Center for Humane Tech, a nonprofit organization that radically reimagines the digital infrastructure. Its mission is to drive a comprehensive shift toward humane technology that supports the collective well-being, democracy and shared information environment. The post Mozilla partners with the Center for Humane Technology appeared first on Mozilla Hacks - the…
30 Mar 2022
In Firefox 98, we’re shipping a new version of the existing Performance panel. This panel is now based on the Firefox profiler tool that can be used to capture a performance profile for a web page, inspect visualized performance data and analyze it to identify slow areas. The post Performance Tool in Firefox DevTools Reloaded appeared first on Mozilla Hacks…
24 Mar 2022
MDN is one of the most trusted resources for information about web standards, code samples, tools, and everything you need as a developer to create websites. Today, we are launching MDN Plus, our first step to providing a personalized and more powerful experience while continuing to invest in our always free and open webdocs. The post Introducing MDN Plus: Make…
17 Mar 2022
For both MDN and Open Web Docs (OWD), transparency is paramount to our missions. With the upcoming launch of MDN Plus, we believe it’s a good time to talk about how our two organizations work together, and if there is a financial relationship between us. Here is an overview of how our missions overlap and how they differ, and how…
3 Mar 2022
Writing high quality standards is a necessary first step to an interoperable web platform, but ensuring that browsers are consistent in their behavior requires an ongoing process. Browsers must work to ensure that they have a shared understanding of web standards, and that their implementation matches that understanding. Interop 2022 is a cross-browser initiative to find and address the most…
1 Mar 2022
If you’ve accessed the MDN website today, you probably noticed that it looks quite different. We hope it’s a good different. Let us explain! In mid-2021 we started to think about modernizing MDN’s design, to create a clean and inviting website that makes navigating our 44,000 articles as easy as possible. We wanted to create a more holistic experience for…
15 Feb 2022
Chrome and Firefox will reach version 100 in a couple of months. This has the potential to cause breakage on sites that rely on identifying the browser version to perform business logic. This post covers the timeline of events, the strategies that Chrome and Firefox are taking to mitigate the impact, and how you can help. The post Version 100…
8 Feb 2022
Before we roll out State Partitioning for all Firefox users, we intend to make a few privacy and ergonomic improvements to the Storage Access API. In this blog post, we’ll detail a few of the new changes we made. The post Improving the Storage Access API in Firefox appeared first on Mozilla Hacks - the Web developer blog.
2 Feb 2022
On January 13th 2022, Firefox became unusable for close to two hours for users worldwide. This incident interrupted many people’s workflow. This post highlights the complex series of events and circumstances that, together, triggered a bug deep in the networking code of Firefox. What Happened? Firefox has a number of servers and related infrastructure that […] The post Retrospective and…
31 Jan 2022
Adetona Adewale Akeem, more popularly known as iSlimfit, is a Nigeria-born revered digital technologist and marketing expert. He is the co-founder of Menopays, a fintech startup offering another Buy Now Pay Later (BNPL) option across Africa. We chatted with him about founding Menopays and the impact of tech solutions developed in Nigeria. The post Hacks Decoded: Adewale Adetona appeared first…
18 Jan 2022
If you’ve ever built anything with web technologies, you’re probably familiar with MDN Web Docs. With about 13,000 pages documenting how to use programming languages such as HTML, CSS and JavaScript, the site has about 8,000 people using it at any given moment. MDN relies on contributors to help maintain its ever-expanding and up to date documentation. We reached out…
30 Dec 2021
Sara Soueidan is an independent Web UI and design engineer, author, speaker, and trainer from Lebanon. Currently, she’s working on a new course, "Practical Accessibility," meant to teach devs and designers ways to make their products accessible. We chatted with Sara about front-end web development, the importance of design and her appreciation of birds. The post Hacks Decoded: Sara Soueidan,…
6 Dec 2021
In Firefox 95, we're shipping a novel sandboxing technology called RLBox — developed in collaboration with researchers at the University of California San Diego and the University of Texas — that makes it easy and efficient to isolate subcomponents to make the browser more secure. This technology opens up new opportunities beyond what's been possible with traditional process-based sandboxing, and…
30 Nov 2021
Seyi Akiwowo’s reputation precedes her. Akiwowo is the founder of Glitch, an organization that seeks to end online abuse. We spoke with Seyi over video chat to learn about what drives her, why she does what she does and what she’d be doing if not battling trolls online for a living. The post Hacks Decoded: Seyi Akiwowo, Founder of Glitch…
20 Oct 2021
Welcome to our Hacks: Decoded Interview series! We spoke with Thomas Park over email about coding, his favourite apps and his past life at Mozilla. Thomas is the founder of Codepip, a platform he created for coding games that helps people learn HTML, CSS, JavaScript, etc. The most popular game is Flexbox Froggy. The post Hacks Decoded: Thomas Park, Founder…
8 Oct 2021
Firefox 93 comes with lots of lovely updates including AVIF image format support, filling of XFA-based forms in its PDF viewer and protection against insecure downloads by blocking downloads relying on insecure connections. The post Lots to see in Firefox 93! appeared first on Mozilla Hacks - the Web developer blog.
7 Oct 2021
Last year, during lockdown, many discovered the importance of PDF forms when having to deal remotely with administrations and large organizations like banks. Firefox supported displaying PDF forms, but it didn’t support filling them: users had to print them, fill them by hand, and scan them back to digital form. We decided it was time to reinvest in the PDF…
6 Oct 2021
In a world where data and AI are reshaping society, people currently have no tangible way to put their data to work for the causes they believe in. To address this, we built the Rally platform, a first-of-its-kind tool that enables you to contribute your data to specific studies and exercise consent at a granular level. Mozilla Rally puts you…
5 Oct 2021
Starting with Firefox 93, Firefox will monitor available system memory and, should it ever become so critically low that a crash is imminent, Firefox will respond by unloading memory-heavy but not actively used tabs. This feature is currently enabled on Windows and will be deployed later for macOS and Linux as well. The post Tab Unloading in Firefox 93 appeared…
1 Oct 2021
The MDN Web Docs team is pleased to sponsor Write the Docs Prague 2021, which is being held remotely this year. We’re excited to join hundreds of documentarians to learn more about collaborating with writers, developers, and readers to make better documentation. We plan to take part in all that the conference has to offer, including the Writing Day, Job…
8 Sept 2021
Release time comes around so quickly! This month we have quite a few CSS updates, along with the new Object.hasOwn() static method for JavaScript. The post Time for a review of Firefox 92 appeared first on Mozilla Hacks - the Web developer blog.
18 Aug 2021
Last month we removed a bunch of content from MDN. MDN is 16 years old (and yes it can drink in some countries), all that time ago it was a great place for all of Mozilla to document all of their things. As MDN evolved and the web reference became our core content, other areas became less relevant to the…
10 Aug 2021
August is already here, which means so is Firefox 91! For developers, Firefox 91 supports the Visual Viewport API and Intl.DateTimeFormat object additions. The post Hopping on Firefox 91 appeared first on Mozilla Hacks - the Web developer blog.
3 Aug 2021
Last month, Gregor Weber and Peter Bengtsson added an autocomplete search to MDN Web Docs, that allows you to quickly jump straight to the document you're looking for by typing parts of the document title. This is the story about how that's implemented. The post How MDN’s autocomplete search works appeared first on Mozilla Hacks - the Web developer blog.
20 Jul 2021
As we’re all aware by now, we made some big platform changes at the end of 2020. Whilst the big move has happened, it’s given us a great opportunity to clear out the cupboards and closets. The post Spring Cleaning MDN: Part 1 appeared first on Mozilla Hacks - the Web developer blog.
13 Jul 2021
As the summer rolls around for those of us in the northern hemisphere, temperatures are high and unwinding with a cool ice tea is high on the agenda. Isn't it lucky then that Background Update is here for Windows, which means Firefox can update even if it's not running. We can just sit back and relax! Also this release we…
8 Jun 2021
When implementing a language feature for JavaScript, an implementer must make decisions about how the language in the specification maps to the implementation. Private fields is an example of where the specification language and implementation reality diverge, at least in SpiderMonkey– the JavaScript engine which powers Firefox. To understand more, I’ll explain what private fields are, a couple of models…
1 Jun 2021
Firefox 89 has smartened up and brings with it a slimmed-down, slightly more minimalist interface. Along with this new look, we get some great styling features including a force-colours feature for media queries and better control over how fonts are displayed. The long-awaited top-level await keyword for JavaScript modules is now enabled, as well as the PerformanceEventTiming interface, which is…
19 May 2021
Roughly a year ago at Mozilla we started an effort to improve Firefox stability on Linux. This effort quickly became an example of good synergies between FOSS projects. The post Improving Firefox stability on Linux appeared first on Mozilla Hacks - the Web developer blog.
18 May 2021
Like any web browser, Firefox loads code from untrusted and potentially hostile websites and runs it on your computer. To protect you against new types of attacks from malicious sites and to meet the security principles of Mozilla, we set out to redesign Firefox on desktop. The post Introducing Firefox’s new Site Isolation Security Architecture appeared first on Mozilla Hacks…
22 Apr 2021
We are happy to announce that Pyodide has become an independent and community-driven project. We are also pleased to announce the 0.17 release for Pyodide with many new features and improvements. Pyodide consists of the CPython 3.8 interpreter compiled to WebAssembly which allows Python to run in the browser. The post Pyodide Spin Out and 0.17 Release appeared first on…
19 Apr 2021
April is upon us, and we have a most timely release for you — Firefox 88. In this release you will find a bunch of nice CSS additions including :user-valid and :user-invalid support and image-set() support, support for regular expression match indices, removal of FTP protocol support for enhanced security, and more! This blog post […] The post Never too…
16 Apr 2021
Support for QUIC and HTTP/3 is now enabled by default in Firefox Nightly and Firefox Beta and we are planning to start a rollout on the release in Firefox Stable Release 88. HTTP/3 will be available by default by the end of May. The post QUIC and HTTP/3 Support now in Firefox Nightly and Beta appeared first on Mozilla Hacks…
6 Apr 2021
We successfully deployed ThreadSanitizer in the Firefox project to eliminate data races in our remaining C/C++ components. In the process, we found several impactful bugs and can safely say that data races are often underestimated in terms of their impact on program correctness. We recommend that all multithreaded C/C++ projects adopt the ThreadSanitizer tool to enhance code quality. The post…
1 Apr 2021
For the last couple of years, we've run the MDN Web Developer Needs Assessment (DNA) Report, which aims to highlight the key issues faced by developers building web sites and applications. This has proved to be an invaluable source of data for browser vendors and other organizations to prioritize improvements to the web platform. This year we did a deep…
25 Mar 2021
Since we last talked about MDN localization, a lot of progress has been made. In this post we'll talk you through the unfreezing of Tier 1 locales, and the next steps in our plans to stop displaying non-active and unmaintained locales. The post MDN localization in March — Tier 1 locales unfrozen, and future plans appeared first on Mozilla Hacks…
23 Mar 2021
Nearing the end of March now, and we have a new version of Firefox ready to deliver some interesting new features to your door. This month, we've got some rather nice DevTools additions in the form of prefers-color-scheme media query emulation and toggling :target pseudo-classes, some very useful additions to editable DOM elements: the beforeinput event and getTargetRanges() method, and…
22 Mar 2021
Periodically, the whole of MDN is built, by our Node code , in a GitHub Action. A Python script bulk-publishes this to Elasticsearch. Our Django server queries the same Elasticsearch via /api/v1/search. The site-search page is a static single-page app that sends XHR requests to the /api/v1/search endpoint. Search results' sort-order is determined by match and "popularity". The post How…
26 Feb 2021
The internet was set on fire (pun intended) this week, by what I'm calling 'fox gate', and chances are you might have seen a meme or two about the Firefox logo. Many people were pulling up for a battle royale because they thought we had scrubbed fox imagery from our browser. We can confirm, that this is definitely not happening.…
23 Feb 2021
Looking into the near distance, we can see the end of February loitering on the horizon, threatening to give way to March at any moment. To keep you engaged until then, we’d like to introduce you to Firefox 86. The post A Fabulous February Firefox — 86! appeared first on Mozilla Hacks - the Web developer blog.
State Partitioning is the technical term for a new privacy feature in Firefox called Total Cookie Protection, which will be available in ETP Strict Mode in Firefox 86. This article shows how State Partitioning works inside of Firefox and explains what developers of third-party integrations can do to stay compatible with the latest changes. The post Introducing State Partitioning appeared…
11 Feb 2021
In our previous post, An update on MDN Web Docs’ localization strategy, we explained our broad strategy for moving forward with allowing translation edits on MDN again. The MDN localization communities are waiting for news of our progress on unfreezing the top-tier locales, and here we are. In this post we’ll look at where we’ve got to so far in…
9 Feb 2021
Mozilla has been fuzzing Firefox and its underlying components for a while. It has proven itself to be one of the most efficient ways to identify quality and security issues. In general, we apply fuzzing on different levels: there is fuzzing the browser as a whole but a significant amount of time is also spent on fuzzing isolated code (e.g.…
26 Jan 2021
To wrap up January, we are proud to bring you the release of Firefox 85. In this version we are bringing you support for the :focus-visible pseudo-class in CSS and associated devtools, , and the complete removal of Flash support from Firefox. We’d also like to invite you to preview two exciting new JavaScript features in the current Firefox Nightly…
25 Jan 2021
We’re happy and proud to announce Open Web Docs, to support a community of technical writers around creation and long-term maintenance of web platform technology documentation that is open and inclusive for all. The post Welcoming Open Web Docs to the MDN family appeared first on Mozilla Hacks - the Web developer blog.
21 Jan 2021
As a member of Mozilla’s fuzzing team, our job is not only to find bugs, but to do what we can to help get those bugs fixed as quickly as possible. To further reduce the delay in getting these bugs fixed, we wanted to automate as much of this process as possible. This effort resulted in the development of Bugmon;…
20 Jan 2021
The release of Apple Silicon-based Macs at the end of last year generated a flurry of news coverage and some surprises at the machine’s performance. This post details some background information on the experience of porting Firefox to run natively on these CPUs. The post Porting Firefox to Apple Silicon appeared first on Mozilla Hacks - the Web developer blog.
12 Jan 2021
It’s clear that WebDriver needs to grow to meet the capabilities of DevTools-based automation. However, that process will take time, and we want more developers to be able to run their automated tests in Firefox today. To that end, we have shipped an experimental implementation of parts of CDP in Firefox Nightly, specifically targeting the use cases of end-to-end testing…
17 Dec 2020
Testing web applications can be a challenge. At Mozilla, we see that as a call to action. With our commitment to building a better Internet, we want to provide web developers with the tools they need to build great web experiences – including great tools for testing. In this series of posts, we will explore the current web-application testing landscape…
16 Dec 2020
The 2020 MDN Web Developer Needs Assessment (DNA) report is now available! This post takes you through what we’ve accomplished in 2020 based on the findings in the inaugural report, key takeaways of the 2020 survey, and what our next steps are as a result. The post 2020 MDN Web Developer Needs Assessment now available appeared first on Mozilla Hacks…
15 Dec 2020
As December ushers in the final curtain for this rather eventful year, there is time left for one more Firefox version to be given its wings. Firefox 84 includes some interesting new features including tab order inspection, complex selector support in :not(), the PerformancePaintTiming API, and more! The post And now for … Firefox 84 appeared first on Mozilla Hacks…
14 Dec 2020
After several intense months of work on such a significant change, the day is finally upon us: MDN Web Docs’ new platform (codenamed Yari) is finally launched! The post Welcome Yari: MDN Web Docs has a new platform appeared first on Mozilla Hacks - the Web developer blog.
8 Dec 2020
In our previous post — MDN Web Docs evolves! Lowdown on the upcoming new platform — we talked about many aspects of the new MDN Web Docs platform that we’re launching on December 14th. In this post, we’ll look at one aspect in more detail — how we are handling localization going forward. We’ll talk about how our thinking has…
3 Dec 2020
After four years of incubation at Mozilla, we are excited to announce the release of WebThings Gateway 1.0 and a new home for the WebThings platform. This blog post will explain what to expect from the 1.0 release, the action you need to take if you want to transition your existing WebThings Gateway to new community-run infrastructure, and what to…
17 Nov 2020
This week the Servo project took a significant next step in bringing community-led transformative innovations to the web by announcing it will be hosted by the Linux Foundation. Mozilla is pleased to see Servo, which began as a research effort in 2012, open new doors that can lead it to ever broader benefits for users and the web. Working together,…
Did November spawn a monster this year? In truth, November has given us a few snippets of good news, far from the least of which is the launch of Firefox 83! In this release we’ve got a few nice additions, including Conical CSS gradients, overflow debugging in the Developer Tools, enabling of WebRender across more platforms, and more besides. The…
13 Nov 2020
With Warp (also called WarpBuilder) we’re making big changes to our JIT (just-in-time) compilers, resulting in improved responsiveness, faster page loads and better memory usage. The new architecture is also more maintainable and unlocks additional SpiderMonkey improvements. This post explains how Warp works and how it made SpiderMonkey faster. The post Warp: Improved JS performance in Firefox 83 appeared first…
29 Oct 2020
The time has come for Kuma — the platform that powers MDN Web Docs — to evolve. For quite some time now, the MDN developer team has been planning a radical platform change, and we are ready to start sharing the details of it. The question on your lips might be “What does a Kuma evolve into? A KumaMaMa?” The…
22 Oct 2020
We’ve made a lot of progress on moving forward with MDN Web Docs in the last couple of months, and we wanted to share where we are headed in the short- to mid-term, starting with our editorial strategy and renewed efforts around community participation. The post MDN Web Docs: Editorial strategy and community participation appeared first on Mozilla Hacks -…
20 Oct 2020
As October ushers in the tail-end of the year, we are pushing Firefox 82 out the door. This time around we finally enable support for the Media Session API, provide some new CSS pseudo-selector behaviours, close some security loopholes involving the Window.name property, and provide inspection for server-sent events in our developer tools. The post Coming through with Firefox 82…
9 Oct 2020
This post will describe my recent work on Cranelift as part of my day job at Mozilla. In this post, I will set some context and describe the instruction selection problem. In particular, I’ll talk about a revamp to the instruction selector and backend framework in general that we’ve been working on. The post A New Backend for Cranelift, Part…
1 Oct 2020
Porting an established static website from one generator to another can be daunting. In this post, Add-ons Engineering Manager Stuart Colville recounts the experience of migrating Firefox Extension Workshop, Mozilla’s site for Firefox-specific extension development resources, from the Ruby-based site generator Jekyll to JavaScript-based Eleventy. The post To Eleventy and Beyond appeared first on Mozilla Hacks - the Web developer…
21 Aug 2020
Mozilla announced some general changes in our investments and we would like to outline how they will impact our MDN platform efforts moving forward. It hurts to make these cuts, and it’s important that we be candid on what’s changing and why. The post An Update on MDN Web Docs appeared first on Mozilla Hacks - the Web developer blog.
12 Aug 2020
Announcing the return of the annual month-long competition for HTML5 game developers. For js13kGames contestants, the file size limit for all entries is set to 13 kilobytes of code. That's what makes this a code golf challenge. In addition to great prizes across a host of categories, including WebXR and Web Monetization, expert game reviewers provide valuable feedback on all…
4 Aug 2020
Browsers are changing the default value of the SameSite attribute for cookies from None to Lax. This will greatly improve security for users. However, some web sites may depend (even unknowingly) on the old default, potentially resulting in site breakage. At Mozilla, we are slowly introducing this change. And we urge web developers to test their sites with the new…
28 Jul 2020
Firefox 79 offers a new Promise method, more secure target=_blank links, logical assignment operators, tooling improvements for better JavaScript debugging, and many other updates of interest to web developers. In addition, shared memory is back at last, with a safer implementation. The post Firefox 79: The safe return of shared memory, new tooling, and platform updates appeared first on Mozilla…
23 Jul 2020
MDN Web Docs turns 15 years old! This celebratory article highlights fifteen big wins of the last five years. With initiatives like the browser compatibility data project, learning areas and new pathways for beginning devs, interactive examples, as well as the Product Advisory Board, the Web DNA Report, and the MDN Swag Store, the MDN community has been busy sharing…
21 Jul 2020
At Mozilla, we want the web to be capable of running high-performance applications so that users and content authors can choose the safety, agency, and openness of the web platform. Shared-memory multi-threading is an essential low-level building block for high-performance applications. However, keeping users safe is paramount, which is why shared memory and high-resolution timers were effectively disabled at the…
9 Jul 2020
A browser is an enormously complex piece of software, and it's always in development. About a year ago, we asked ourselves: how could we do better? Our CI relied heavily on human intervention. What if we could instead correlate patches to tests using historical regression data? Could we use a machine learning algorithm to figure out the optimal set of…
7 Jul 2020
When we talk about the contrast of a page, or contrast between web elements, we’re assessing how color choices impact readability. For visitors with low vision, web pages with low or insufficient contrast can be hard to use. In this article, we’ll walk through the design and implementation of the prefers-contrast media query in Firefox, and look at why it's…
1 Jul 2020
As part of Mozilla’s ongoing commitment to improve the privacy and security of the web platform, over the next few months, we will be making some changes to the Gamepad API. Starting with Firefox 81, the Gamepad API will be restricted to what are known as “secure contexts.” The post Securing Gamepad API appeared first on Mozilla Hacks - the…
30 Jun 2020
Firefox 78 heads heads out the door with a new regex engine, updates to the ECMAScript Intl API, new CSS selectors, enhanced support for WebAssembly, some important WebExtensions API updates, and many improvements to the Firefox Developer Tools. The post New in Firefox 78: DevTools improvements, new regex engine, and abundant web platform updates appeared first on Mozilla Hacks -…
24 Jun 2020
Mozilla WebThings Gateway is an open source software distribution focused on privacy, security, and interoperability. It provides a web-based user interface to monitor and control smart home devices over the web. OKdo, a UK vendor offerings IoT technology for hobbyists, educators, and entrepreneurs, has announced the release of the WebThings Gateway Kit, with everything you need to get the Gateway…
23 Jun 2020
Browser extensions give people a way to take control of how they experience the web. This week Apple has announced that Safari is adopting a web-based API for browser extensions similar to Firefox’s WebExtensions API, making it easy to build once and run in multiple browsers. Developers can get started with Firefox Extension Workshop or consult the comprehensive documentation on…
18 Jun 2020
Yulia Startsev, a JavaScript engineer on Firefox's SpiderMonkey team, introduces her new Twitch stream called Compiler Compiler. In the three opening interactive episodes, we get an inside look at how the JavaScript Specification, ECMA-262, is implemented in SpiderMonkey, by reading the spec and fixing issues in the implementation. The post Compiler Compiler: A Twitch series about working on a JavaScript…
11 Jun 2020
The MDN Web Docs Learning Area teaches fundamentals of modern web development, beginning with HTML, CSS, and JavaScript essentials. In feedback this year, readers asked for a more opinionated, structured approach. They asked for coverage of client-side tooling, frameworks, transformation tools, and deployment tools widely used in today's workplace. Meet the Front-end developer learning pathway from MDN. The post Introducing…
9 Jun 2020
Tenemos ante nosotros una nueva versión estable de Firefox. La versión 77 viene con varias novedades para los desarrolladores web. En este artículo se presenta simplemente un conjunto de los aspectos más destacados. Para conocer todos los detalles, consulte lo siguiente: Firefox 77 para desarrolladores en MDN Notas de la versión de usuario final de […] The post Nuevo en…
全新 Firefox 穩定版正式推出!第 77 版為開發者提供了更多新功能。 這篇文章包含新版本中的精彩亮點,想了解完整資訊,請瀏覽以下網頁: MDN Firefox 77 開發人員專區 Firefox 77 一般用戶更新資訊 開發者工具改善 讓我們先來看看第 77 版開發者工具中最有趣的優化與創新。如果你想使用更多開發中的新功能,並提供建議,請安裝 Firefox 開發者版本即可搶先體驗。 更快、更有效的 JavaScript 除錯 大型 Web 應用程式對開發者工具來說無疑是一項艱難的挑戰,因為需要快速而正確地處理捆綁(bundling)、實時重載(live reload)和相依性。 Firefox 77 的 Debugger 學了一些新技巧,讓你可以因此更加專注於除錯。 在先前的許多版本中,我們持續致力於提升除錯性能,也幾乎除光了影響層面最嚴重、可處理的問題。為了找出剩餘的瓶頸,我們一直積極地和社群保持聯繫。得益於我們收到的許多詳細回報,我們終於能夠改善除錯的效率,不僅提升暫停和步進速度,也減少記憶體長期用量。 就是會動的 JavaScript 和 CSS Source Map
全新Firefox稳定版现已推出。版本77为Web开发人员带来了诸多新功能。 本文只是归纳了一些亮点;如需了解详细信息,请参见以下资源: MDN上的Firefox 77开发人员须知 Firefox 77最终用户发行说明 开发人员工具改进 首先来看看版本77中最值得关注的开发人员工具改进和补充。若要进一步了解进行中的工作并提供反馈,请下载Firefox DevEdition来抢先体验。 JavaScript调试更快速、更精简 大型Web应用可能会给DevTools带来挑战,因为捆绑、实时重载和依赖项都需要得到快速、正确地处理。在版本77中,Firefox的调试器有了更多本领,让您能够专注于调试。 我们经过多个发行版本改进了调试性能,在寻找可动手的高影响力Bug错误方面即将达到终点。因此,为了能找到残留的瓶颈,我们积极与社区交流。我们收到了许多详细的报告,实现了诸多性能改进,不仅加快了暂停和分步执行,同时也降低了不同时间点上的内存占用。 行之有效的JavaScript和CSS源映射 源映射是这次扩展的组成部分,在性能增强方面功效显著。部分内联源映射在加载时间上提升了10倍。但更重要的是,我
4 Jun 2020
Regular expressions – commonly known as RegExps – are a powerful and heavily used tool for manipulating strings in JavaScript. This post describes how we updated the RegExp engine in SpiderMonkey, Firefox's JavaScript engine, by building a shim layer to V8's Irregexp. The outcome: reduced maintenance and stronger collaboration among the browsers, full support for all the new RegExp features,…
2 Jun 2020
Firefox 77 is now available with a variety of developer tool updates and new web platform features. With your feedback, we've removed performance bottlenecks, resulting in faster, leaner JavaScript debugging. We also report on some changes to Firefox extensions, including fewer permission requests. The post New in Firefox 77: DevTool improvements and web platform updates appeared first on Mozilla Hacks…
20 May 2020
Firefox Profiler is a powerful web-based performance analysis interface featuring call trees, stack charts, flame graphs, and more. All data filtering, zooming, slicing, and transformation actions are preserved in shareable URLs. FunctionTrace is a low-overhead profiler that runs on unmodified Python applications. Integrated with Firefox, it's a new breed of analysis tool project built conveniently on top of the Firefox…
13 May 2020
Hola amigos, espero que todos estén bien y se mantengan sanos y salvos. Cada nueva versión de nuestro navegador favorito viene siempre con una buena pizca de expectación, ¡y ya estamos aquí con Firefox 76! El soporte de la plataforma web recibe algunas excelentes novedades en esta actualización, como los worklets de audio y ciertas […] The post Firefox 76:…
12 May 2020
Firefox 76 在 Web 平台上提供很棒的新功能,例如改善 JavaScript 的 Audio Worklets 和 Intl。此外,我們也在 Firefox 的開發工具中添加許多新工能,使開發的過程更加輕鬆且便利。 The post Firefox 76: Audio worklets 以及其他更新 appeared first on Mozilla Hacks - the Web developer blog.
Firefox 76为Web平台支持带来了新的出色功能,如Audio Worklet和JavaScript的Intl改进等。另外,Firefox DevTools中也添加了诸多一流改进,让JavaScript调试和开发变得更加轻松快捷。 The post Firefox 76:Audio Worklet和其他诀窍 appeared first on Mozilla Hacks - the Web developer blog.
7 May 2020
Earlier this week, Audio Worklets landed in the release of Firefox 76. We’re ready to start bridging the gap between web audio and native. Developers can now leverage AudioWorklet to write arbitrary audio processing code. This exciting new functionality raises the bar for emerging web experiences like 3D games, VR, and music production. The post High Performance Web Audio with…
5 May 2020
Firefox 76 delivers great new features for web platform support, such as Audio Worklets and Intl improvements, on the JavaScript side. Also, we’ve added a number of topnotch improvements to Firefox DevTools to make JavaScript debugging and development easier and quicker. The post Firefox 76: Audio worklets and other tricks appeared first on Mozilla Hacks - the Web developer blog.
30 Apr 2020
Fuzzing, or fuzz testing, is an automated approach for testing the safety and stability of software. For the past 3 years, the Firefox fuzzing team has been developing a new fuzzer to identify security vulnerabilities in the implementation of WebAPIs in Firefox. This fuzzer leverages the WebAPIs’ own WebIDL definitions as a fuzzing grammar. The post Fuzzing Firefox with WebIDL…
23 Apr 2020
We are excited to bring WebGPU support to Firefox because it will allow richer and more complex graphics applications to run portably on the web. WebGPU is an emerging API, designed from the ground up within the W3C, to provide access to the graphics and computing capabilities of hardware on the web. The post A Taste of WebGPU in Firefox…
21 Apr 2020
Here's an insider's look at Firefox's code quality toolchain that's been designed to manage the ongoing development and monthly releases of our desktop browser. This post explores the architecture, challenges, and ongoing evolution of the process for managing code quality and patches for dealing with 21 million lines of code. The post Engineering code quality in the Firefox browser: A…
15 Apr 2020
Incluso en los actuales tiempos de aislamiento, nuestros equipos de ingeniería han sabido adaptarse, enfocarse y trabajar duro para ofrecer otra nueva y emocionante versión de Firefox al mundo. En lo que respecta a las herramientas para desarrollador, a partir de ahora encontramos un sistema de evaluación instantánea en la consola, puntos de interrupción de […] The post Firefox 75:…
即使在這段隔離的時期,我們的工程團隊也已經調整好步調,保持專注並努力工作,並獻上令人興奮的新版Firefox。在開發人員工具方面,你可以在網頁主控台中使用即時求值、WebSockets事件斷點以及許多其他功能。在網頁平台方面,新增的功能包括HTML延遲載入圖片、CSS min(),max()和clamp()函數、公開靜態類別屬性以及支援網頁動畫API附加功能等。 與往常一樣,請點擊下方閱讀重點,或在下文瀏覽所有新增功能的完整列表: Firefox 75 開發人員專區 Firefox 75網頁相容性 Firefox 75終端用戶專區 新增開發人員工具 讓我們先來看看Firefox 75中最有趣的開發人員新工具。 即時測試控制台表達式 在控制台中測試表達式是了解應用程序狀態、查詢DOM或試用JavaScript API非常便捷的方法。現在,利用Firefox控制台的多行模式使編寫較長的代碼更為容易,在使用上更為友善,且更貼近整合開發環境。 新的即時測試可以在輸入時預覽當前表達式的結果,有點類似Quokka.js編輯器。只要在Web控制台中鍵入的表達式沒有副作用,在輸入時便可以直接預覽結果。
即使在隔离时期,我们的工程团队也努力适应、保持专注并努力工作,为您带来又一个令人兴奋的新版Firefox。在开发人员工具方面,您会找到控制台中的即时评估、WebSockets的事件断点,以及其他许多功能。在网络平台方面,新增的功能包括图像的HTML延迟加载、CSS min()、max()和clamp()函数、公共静态类字段以及对Web动画API支持的补充。 请照例阅读重点内容或从以下文章中找到所有新增内容的完整列表: Firefox 75开发人员必读 Firefox 75的网站兼容性 Firefox 75最终用户发行说明 开发人员工具补充 我们首先来看看75最有趣的开发人员工具。 控制台表达式即时评估 控制台中的评估表达式是探索应用程序状态、查询DOM或试用JavaScript API的快速方法。现在,Firefox的多行控制台模式已经变得更友好、更像IDE,可用于更轻松地为更长的代码制作原型。 新的即时评估会在您键入时显示当前表达式的结果预览,类似于Quokka.js 这样的编辑器。只要在Web控制台中键入的表达式没有副作用,就会在您键入时显示结果预览。 为了使预览尽可能无缝,进行了
7 Apr 2020
Firefox 75 is chock full of handy new dev tooling: instant evaluation in the web console, event breakpoints for WebSockets, and more. New web platform features include HTML lazy loading for images, the CSS min(), max(), and clamp() functions, public static class fields, and additions to Web Animations API support. The post Firefox 75: Ambitions for April appeared first on…
3 Apr 2020
Distinguished engineer Martin Thomson explains how this problem occurred, the implications for people who might be affected, and how problems of this nature might be avoided in future. To get there, we need to dig a little into how web caching works. The post Twitter Direct Message Caching and Firefox appeared first on Mozilla Hacks - the Web developer blog.
31 Mar 2020
An in-depth introduction to web monetization with Coil. Coil is a payments platform that doesn't really on advertising or personal data collection to support digital content creators directly. Firefox Reality is rolling out a Coil-based experiment for creators and consumers, and you're invited to participate or learn more about how it works, and why Mozilla is involved. The post Innovating…
30 Mar 2020
El día de hoy se lanza Firefox número 74. Las funciones más relevantes que te presentamos esta vez son mejoras en la seguridad: Política de funciones, el encabezado Cross-Origin-Resource-Policy y la eliminación del soporte para TLS 1.0/1.1. También tenemos algunas nuevas funciones de propiedades de texto CSS, el operador de encadenamiento opcional JS y otras […] The post La seguridad…
目前Firefox 74已經發布了。這次我們提供最重要的新功能是安全性的提升:特徵策略(Feature Policy),Cross-Origin-Resource-Policy標頭和移除TLS 1.0 / 1.1支援。我們還新增一些新的CSS文本屬性功能,JS鏈接運算符還有其他2D canvas文本度量標準功能,以及大量DevTools增強功能和錯誤修復功能。 本文同樣包含一些重點,你也可以在以下文章中閱讀新增功能的完整列表: Firefox 74開發人員專區 Firefox 74網頁相容性 Firefox 74終端用戶專區 提升安全性 讓我們看看74版本中安全性的改良。 特徵策略(Feature Policy) 我們終於在默認模式中啟用Feature Policy。你現在可以使用<iframe> allow屬性還有Feature-Policy HTTP標頭設定頂級文檔和iframe功能權限。語法範例如下: <iframe src="https://example.com" allow="fullscreen"></iframe> Feature-Policy: microphone
Firefox 74已于今日发布。新版本最重要的新增功能体现在安全性方面的增强:特征策略(feature policy)、Cross-Origin-Resource-Policy标头及取消了对TLS 1.0 / 1.1的支持。我们还提供了一些新的CSS文本属性功能、可选JS链接运算符和其他2D画布文本测量功能,以及海量DevTools增强功能和错误修复功能。请照例阅读重点内容或从以下文章中找到所有新增内容的完整列表: Firefox 74开发人员必读 Firefox 74网站兼容性 Firefox 74最终用户发行说明 安全性增强 让我们了解一下74版本在安全性上的增强。 特征策略(Feature Policy) 最终版中Feature Policy(功能策略)默认开启。您现在可以使用<iframe> allow属性和Feature-PolicyHTTP标头为顶级文档和iframe设置功能权限。语法示例如下: <iframe src="https://example.com" allow="fullscreen"></iframe> Feature-Policy: microphone
25 Mar 2020
Here are some web development learning resources for kids of all ages. All you need is a web browser. This collection looks at social VR experiences using Hubs and Spoke, CSS coloring and games that teach Grid and Flexbox, and WebXR field trips that are out of this world. The post Learn web technology at “sofa school” appeared first on…
10 Mar 2020
The release of Firefox 74 is focused on security enhancements: Feature Policy, the Cross-Origin-Resource-Policy header, and removal of TLS 1.0/1.1 support. We’ve also got some new CSS text property features, the JS optional chaining operator, and additional 2D canvas text metric features, along with the usual wealth of DevTools enhancements and bug fixes. The post Security means more with Firefox…
4 Mar 2020
Optimizing the integration of Firefox Developer Tools with the SpiderMonkey JavaScript engine has resulted in many benefits, including the new asynchronous call stack tracking now available in Firefox Developer Edition. In this post you can learn how that was done, down to detailed changes to memory management. The post Future-proofing Firefox’s JavaScript Debugger Implementation appeared first on Mozilla Hacks -…
25 Feb 2020
Protecting the security and privacy of individuals is a central tenet of Mozilla’s mission. While we continue to make extensive use of both sandboxing and Rust in Firefox to address security challenges in the browser, each has its limitations. Today we’re adding a third approach to our arsenal. RLBox, a new sandboxing technology developed by researchers at the University of…
18 Feb 2020
A walkthrough of what's new in the WebThings Gateway 0.11 release, which lets you build your own web things with the latest WebThings Framework libraries. The biggest change in this release is that we now reach WebThings Gateway users in 24 languages beyond English, thanks to translations from WebThings community members around the world. Thank you. The post WebThings Gateway…
11 Feb 2020
Today we’ve released Firefox 73, with useful additions that include CSS and JavaScript updates, and numerous DevTools improvements. We’ve added to CSS logical properties, pushed performance forward in the Console and the Debugger, and improved the WebSocket inspector. Thanks to all for the ongoing DevTools feedback. The post Firefox 73 is upon us appeared first on Mozilla Hacks - the…
6 Feb 2020
The Transport Layer Security (TLS) protocol is the de facto means for establishing security on the Web. The newest version, TLS 1.3, improves efficiency and remedies the flaws and weaknesses present in earlier versions. In October 2018, we announced our plans regarding TLS 1.0 and TLS 1.1 deprecation. Now's the time for us to make this change together and move…
21 Jan 2020
November 2019 was a busy month for the Mozilla Developer Roadshow, with stops in five Asian cities —Tokyo, Seoul, Taipei, Singapore, and Bangkok. Today, we’re releasing a playlist of the talks presented in Asia, with subtitles available for all these talks in languages spoken in the countries on this tour: Japanese, Korean, Chinese, Thai, as well as English. We covered…
15 Jan 2020
A behind-the-scenes look at the evolution of the Picture-in-Picture player for the Firefox Desktop browser. This feature is now available for MacOS, Linux and Windows users. From the beginning, it's been shaped by your feedback and inputs, with user agency as a core principle of our design and development. The post How we built Picture-in-Picture in Firefox Desktop with more…
7 Jan 2020
Though we are moving to a more frequent four-week browser release cycle, the Firefox 72 release is feature-rich and full of goodies. It includes many requested DevTools' updates and improvements. We also introduce Shadow Parts and the CSS Motion Path, and useful new JavaScript features. Plus, Picture-in-picture for video is now enabled for Mac and Linux users too! The post…
19 Dec 2019
The first annual MDN Developer Needs Assessment aims to represent the voices of developers and designers working on the web. We've analyzed the data provided by more than 28,000 completed surveys, and we've identified 28 discrete needs, sorted into 14 different themes. Four of the top ten needs relate to browser compatibility, our #1 theme. Documentation, Testing, Debugging, and Frameworks…
17 Dec 2019
Mozilla Hacks covered plenty of interesting territory in 2019. Our most popular posts introduced experiments and special projects, and described the evolution of groundbreaking platform technologies like WebAssembly and WASI. Mozilla WebThings continued to engage attention and adoption. And interest in Firefox releases and Firefox DevTools was stronger than ever. Read on. The post Mozilla Hacks’ 10 most-read posts of…
10 Dec 2019
Have you ever wanted to know where properties on objects are read or set in your code, without having to manually add breakpoints or log statements? Watchpoints are a type of breakpoint that provide an answer to that question. They are new in the updated Debugger, available now in the Firefox 72 Developer Edition release. The post Debugging Variables With…
5 Dec 2019
The Machine Learning team at Mozilla continues work on DeepSpeech, an automatic speech recognition (ASR) engine which aims to make speech recognition technology and trained models openly available to developers. In this overview of recent improvements, we'll show how DeepSpeech can transform your applications by enabling client-side, low-latency, and privacy-preserving speech recognition capabilities. Find out how you can participate. The…
4 Dec 2019
Wasmtime, the WebAssembly runtime from the Bytecode Alliance, recently added an early preview of an API for .NET Core, Microsoft’s free, open-source, and cross-platform application runtime. This API enables developers to programmatically load and execute WebAssembly code directly from .NET programs. Although .NET Core is already a cross-platform runtime, there are good reasons for .NET developers to take a closer…
3 Dec 2019
Please welcome Firefox 71 to the stage! This time around, we have a plethora of new developer tools features including the web socket message inspector, console multi-line editor mode, log on events, and network panel full text search! And as if that wasn’t enough, there are important new web platform features available, like CSS subgrid, column-span, Promise.allSettled, and the Media…
21 Nov 2019
Multi-value is a proposed extension to core WebAssembly that enables functions to return many values, among other things. It is also a prerequisite for Wasm interface types. Nick Fitzgerald has been adding multi-value support all over the place recently, started with the Rust and WebAssembly toolchain. Next he added support to the Wasmtime runtime, and the Cranelift code generator it’s…
20 Nov 2019
Firefox 71, now available in Developer Edition and Beta, is an exciting release for fans of CSS Layout. Recently, we covered the arrival of subgrid in Firefox, but there is another property that we've also been keeping an eye on. Firefox 71 implements column-span from Multiple-column Layout. In this post Rachel Andrew describes the progress of the Multiple-column Layout specification.…
19 Nov 2019
Version 0.10 of Mozilla’s WebThings Gateway brings support for extension-type add-ons. Released last week, this powerful new capability lets developers modify the user interface (UI) to their liking with JavaScript and CSS. We also provide libraries for writing UI extensions in Python or node.js if you prefer. Let us know what you build! The post Creating UI Extensions for WebThings…
14 Nov 2019
Today we are releasing WebThings Gateway 0.10. This new release comes with support for thermostats and smart locks, as well as an updated add-ons system including extension add-ons, which enable developers to extend the gateway user interface. We’ve also added localisation settings so that you can choose your country, language, time zone and unit preferences. The post Thermostats, Locks and…
13 Nov 2019
Earlier this year we decided to reduce the amount of unsolicited notification permission prompts people receive as they move around the web using the Firefox browser. This is an intrinsic part of Mozilla's commitment to putting people first when they are online. In preparation, we ran a series of studies and experiments to understand how to improve the user experience…
12 Nov 2019
Lin Clark introduces the Bytecode Alliance, and uses Code Cartoon illustrations to share their vision of a WebAssembly ecosystem that is secure by default, fixing cracks in today’s software foundations. Based on advances in the emerging WebAssembly community, founding members of the Alliance - Mozilla, Fastly, Intel, and Red Hat - believe we can make this vision real. And we…
29 Oct 2019
In Firefox 70, the Accessibility Inspector has become an auditing facility to help identify and fix many common mistakes and practices that reduce site accessibility. In this post, Marco Zehe offers an overview of what is available in this latest release. The post Auditing For Accessibility Problems With Firefox Developer Tools appeared first on Mozilla Hacks - the Web developer…
24 Oct 2019
This is a case study in the making: how js13kGames, an online “code golf” competition for web game developers, tried out Web Monetization this year. And ended up at the Mozilla Festival, happening this week in London, demoing dozens of interesting web-monetized games. You can check out the MozFest Arcade online as well. The post From js13kGames to MozFest Arcade:…
23 Oct 2019
The display CSS property is how we change the formatting context of an element and its children. One of the first things you will learn about CSS is that some elements are block by default, and others are inline. The display property enables switching between these states. With support currently available only in Firefox 70, it is too early to…
22 Oct 2019
Firefox 70 is released today, and includes great new features such as secure password generation with Lockwise and the new Firefox Privacy Protection Report, as well as cool additions for developers. These include DOM mutation breakpoints and inactive CSS rule indicators in the DevTools, several new CSS text properties, two-value display syntax, and JS numeric separators. In this article, we’ll…
21 Oct 2019
Have you ever landed on a web page and wondered what fonts are being used? Have you asked yourself where those fonts come from or why a particular font isn't loading? The font editor in Firefox provides answers and insights, and gives you the ability to make font changes directly, with a live preview. The post Quickly Alter Typography with…
18 Oct 2019
CSS Grid has been available in most major browsers since early 2017, and it makes web layout more powerful than ever before. But complex-looking new syntax (line-names! grid-areas! minmax! fit-content! fr units!) and missing IE11 support can make it scary. Don’t let that stop you. Miriam Suzanne offers some basic approaches you can put to work today. The post Faster…
16 Oct 2019
The web-ext tool was created at Mozilla to help you build browser extensions faster and more easily. Although our first launch focused on support for the desktop Firefox browser, followed by Firefox for Android, our vision was always to support cross-platform development once we shipped Firefox support. With the 3.2.0 release, you can finally use web-ext to truly build cross-platform…
15 Oct 2019
The Firefox DevTools team and our contributors were hard at work over the summer, getting Firefox 70 jam-packed with improvements. We are especially excited about our new WebSocket inspection feature. To use the inspector now, download Firefox Developer Edition, and open the DevTools’ Network panel to find the Messages tab. Then, keep reading to learn more about WebSockets and the…
11 Oct 2019
The Mozilla Developer Roadshow program launched in 2017 with the goal of bringing expert speakers and web technology updates to local communities through free events and partnerships. Check out the video playlist from our summer tour, with talks on topics like Mixed Reality, WebAssembly, modern CSS, and more. Or register now for an upcoming Roadshow event in Asia. The post…
2 Oct 2019
CSS is the design language of the web — one of three core web languages — but it also seems to be the most contentious and often perplexing. It's too easy and too hard, too fragile and too resilient. Love it or hate it, CSS is weird: not quite markup, not quite programming in the common (imperative) sense, and nothing…
1 Oct 2019
Today we’re launching a new video channel, with a selection of shorts to kick things off. Get started with an intro to Dark Mode on the web, by Deja Hodge. Then, Jen Simmons shows us how to access a handy third-panel in the Firefox Developer Tools. Miriam Suzanne has a video all about the ::marker pseudo-element and list counters. No…
30 Sept 2019
Creating experiences that look and work great across different browsers is one of the biggest challenges on the web. It can also be the most rewarding part, as it gets your app to as many users as possible. Testing legacy browsers late in the development process can break a feature that you spent hours on, even requiring rewrites to fix.…
24 Sept 2019
As we look at advancements in mixed reality like the WebXR API, we are able to explore ways to feel more present with others through technology. Hubs by Mozilla is built on top of WebRTC and supports real-time conversations between users in a shared virtual environment. Users embody 3D models in the glTF format called avatars. The code powering Hubs…
17 Sept 2019
Building and releasing a browser is complicated and involves many players. To optimize the process, and make it more reliable for all users, over the years we’ve developed a phased release strategy that includes ‘pre-release’ channels: Firefox Nightly, Beta, and Developer Edition. Starting Q1 2020, we're making a change. We plan to start shipping a major Firefox release every 4…
9 Sept 2019
Today we’re announcing the integration of MDN’s compat data into the caniuse website. Together, we’re bringing even more web compatibility information into the hands of web developers. The post Caniuse and MDN compatibility data collaboration appeared first on Mozilla Hacks - the Web developer blog.
5 Sept 2019
Firefox Debugger has evolved into a fast and reliable tool chain over the past several months and it’s now supporting many cool features. Though it's primarily used to debug JavaScript, did you know that you can also use Firefox to debug your TypeScript applications? Jan 'Honza' Odvarko walks through some real world examples. The post Debugging TypeScript in Firefox DevTools…
4 Sept 2019
WebAssembly has begun to establish itself outside of the browser via dedicated runtimes like Mozilla’s Wasmtime and Fastly’s Lucet. While the promise of a new, universal format for programs is appealing, it also comes with new challenges. At Mozilla, we’ve been prototyping ways to enable source-level debugging of .wasm files using existing tools, like GDB and LLDB. The post Debugging…
3 Sept 2019
For our latest excellent adventure, we’ve gone and cooked up a new Firefox release. Version 69 features a number of great new additions including JavaScript public instance fields, the Resize Observer and Microtask APIs, CSS logical overflow properties (e.g. overflow-block) and @supports for selectors. The post Firefox 69 — a tale of Resize Observer, microtasks, CSS, and DevTools appeared first…
30 Aug 2019
Modern web applications load and execute a lot more JavaScript code than they did just a few years ago. While JIT (just-in-time) compilers have been very successful in making JavaScript performant, we needed a better solution. We’ve added a new, generated JavaScript bytecode interpreter to the JavaScript engine in Firefox 70. Instead of writing a new interpreter from scratch, we…
21 Aug 2019
People are excited about running WebAssembly outside the browser. People are also excited about running WebAssembly from languages like Python, Ruby, and Rust. Lin Clark's Code Cartoons are back, illustrating an in-depth look at WebAssembly Interface Types, and the proposed spec to make it possible for WASM to interoperate with All The Things! The post WebAssembly Interface Types: Interoperate with…
15 Aug 2019
The WebThings Gateway 0.9 release lets you set up a number of different notification mechanisms including emails, apps, and text messages. In this post James Hobin shows how to set up custom gateway notifications to warn you of changes in your home that you care about. The post Using WebThings Gateway notifications as a warning system for your home appeared…
31 Jul 2019
Firefox 68 landed earlier this month with a bunch of CSS additions and changes. In this blog post Rachel Andrew takes a look at some of the things you can expect to find, like Scroll Snapping done right, the ::marker pseudo-element, and new tooling in Firefox DevTools for working with CSS. The post New CSS Features in Firefox 68 appeared…
25 Jul 2019
The Mozilla IoT team has been working on evolving WebThings Gateway into a full software distribution for consumer wireless routers. Today, with the 0.9 release, we’re happy to announce the availability of the first experimental builds for our first target router hardware, the Turris Omnia. These builds are based on the open source OpenWrt operating system and feature a new…
16 Jul 2019
Today we are launching our first annual MDN Developer & Designer Needs Survey. Web developers and designers, we urge you to participate! This is your opportunity to tell us about your needs and frustrations with the web. Your participation will influence how browser vendors like Mozilla, Google, Microsoft, and Samsung prioritize feature development. The post MDN’s First Annual Web Developer…
12 Jul 2019
We've been conducting an ongoing post-mortem on the add-ons outage that occurred earlier this year. There was a lot more digging to do than we expected. In addition to this updated high-level overview, we've also published our findings in detailed incident and technical reports that are now available. The post Add-Ons Outage Post-Mortem Result appeared first on Mozilla Hacks -…
10 Jul 2019
Firefox has an experimental new UI feature in Firefox 69 Beta and Developer Edition - and Firefox engineers are looking for feedback on the implementation. Picture in Picture in the browser lets you pop a video out from where it’s being played into a special kind of window that’s always on top. Then you can move that window around or…
9 Jul 2019
Firefox 68 is available today, sporting support for big integers, whole-page contrast checks checks for accessibility, and a completely new implementation of a core Firefox feature: the ever-awesome URL bar. Dan Callahan also reports on updated CSS scroll-snapping and other features, DOM API updates, next steps in the WebRender implementation, and more. The post Firefox 68: BigInts, Contrast Checks, and…
27 Jun 2019
Introducing the initial release of Firefox Preview (GitHub), an entire browser built from the ground up with GeckoView and Mozilla Android Components. Firefox Preview is our platform for building, testing, and delivering unique features. Though still an early preview, this is our first end-user product built completely with these new technologies. Plus, we share an update on where GeckoView is…
26 Jun 2019
The web was designed with built-in features to make accessibility possible; these have been part of the platform pretty much from the beginning. In recent times, inspectable accessibility trees have made it easier to see how things work in practice. In this post we look at how “good” client-side code (HTML, CSS and JavaScript) improves the experience for users of…
19 Jun 2019
Mozilla’s View Source Conference is back! This year we're in Amsterdam, September 30 – October 1, 2019. Tickets are available now. We’ve shifted our focus to take a deeper look at the web platform and how it is evolving and to offer attendees access to the folks who are shaping today's web and the web of the future. The post…
18 Jun 2019
The CSS Scroll Snap specification gives us a way in CSS to snap between different elements in a page or scrolling component. In this post, Rachel Andrew explains how scroll snapping works, why we had a situation where browsers were running different versions of the specification, and how that's changing. The post CSS Scroll Snap Updated in Firefox 68 appeared…
5 Jun 2019
The subgrid feature which is part of Level 2 of the CSS Grid Specification is not yet shipping in any browser, but is now available for testing in Firefox Nightly. This is a feature that, if you have used CSS Grid for a layout of any complexity, you are likely to be pretty excited about The post CSS Grid Level…
4 Jun 2019
Focus indicators make the difference between day and night for people who rely on them. Focus is something that happens between the interactive elements on a page. In this post I will explain what we mean by focus, show you how focus outlines make your site easier to use for anyone who relies on the keyboard, and share examples of…
29 May 2019
In what ways can empirical evidence be used in the design of a language like JavaScript? At TC39, as stewards of the JavaScript specification, how do we answer questions about the design of JavaScript and help make it accessible to the thousands of new coders who join the industry each year? To answer this we need to experiment, and I…
23 May 2019
With this week's release of Firefox 67, the new high performance royalty-free AV1 video decoder dav1d is now enabled by default on all desktop platforms (Windows, OSX and Linux) for both 32-bit and 64-bit systems. And work is in progress on rav1e, the Rust AV1 encoder. The post Firefox brings you smooth video playback with the world’s fastest AV1 decoder…
21 May 2019
Firefox 67 is now available in general release, bringing a faster and better JavaScript debugger, support for CSS prefers-color-scheme queries, and the initial debut of WebRender in stable Firefox. Dan Callahan walks through the highlights of browser, platform, and tooling features. The post Firefox 67: Dark Mode CSS, WebRender, and more appeared first on Mozilla Hacks - the Web developer…
16 May 2019
Script debugging is one of the most powerful and complex productivity features in the web developer toolbox. Done right, it empowers developers to fix bugs quickly and efficiently. The DevTools Debugger team – with help from our tireless developer community – has just landed updates that significantly improve performance and reliability. The post Faster smarter JavaScript debugging in Firefox DevTools…
15 May 2019
In designing Mozilla WebThings, we have consciously insulated users from servers that could harvest their data, including our own Mozilla servers, by offering an interoperable, decentralized IoT solution. Learn about the user research that informs our project, and how we've engineered privacy by design into every aspect of Mozilla WebThings. The post Empowering User Privacy and Decentralizing IoT with Mozilla…
As you may have read last year, Safari, Firefox, Edge and Chrome browsers are removing support for TLS 1.0 and 1.1 in March of 2020. That means there’s less than a year to enable TLS 1.2 (and, ideally, 1.3) on your servers, otherwise all major browsers will display error pages, rather than the content your users came to see. The…
9 May 2019
Recently, Firefox had an incident in which most add-ons stopped working. This was due to an error on our end: we let one of the certificates used to sign add-ons expire which had the effect of disabling the vast majority of add-ons. Now that we’ve fixed the problem for most users and most people’s add-ons are restored, I wanted to…
1 May 2019
What does it mean to “own” an open-source project? With the browser-compat-data project (“BCD”), the MDN (Mozilla Developer Network) community and I recently had the opportunity to find out. The post Owning it: browser compatibility data and open source governance appeared first on Mozilla Hacks - the Web developer blog.
18 Apr 2019
Project Things is graduating from its early experimental phase and from now on will be known as Mozilla WebThings. This platform for monitoring and controlling devices over the web consists of the WebThings Gateway, a software distribution for smart home gateways focused on privacy, security and interoperability, and the WebThings Framework, a collection of reusable software components that help developers…
17 Apr 2019
Fluent is a family of localization specifications, implementations and good practices developed by Mozilla. With Fluent, translators can create expressive translations that sound great in their language. Today we’re announcing version 1.0 of the Fluent file format specification. We’re inviting translation tool authors to try it out and provide feedback. The post Fluent 1.0: a localization system for natural-sounding translations…
16 Apr 2019
Pyodide is an experimental project from Mozilla to create a full Python data science stack that runs entirely in the browser. We think it’s worthwhile to work on moving the JavaScript data science ecosystem forward, and that's why we built and released Iodide earlier this year. In the meantime, we’re meeting data scientists where they are by bringing the popular…
11 Apr 2019
Mozilla Developer Roadshow is a meetup-style, Mozilla-focused event series for people who build the web. In 2017, the Roadshow reached more than 50 cities around the world sharing highlights of Mozilla and Firefox technologies. Now, we’re back! To open our 2019 series, Mozilla presents two events with VR visionary Nonny de la Peña and the Emblematic Group in Los Angeles…
9 Apr 2019
To help get bugs in front of the right Firefox engineers quickly, we developed BugBug, a machine learning tool that automatically assigns a product and component for each new untriaged bug. By presenting new bugs to triage owners faster, we hope to decrease the turnaround time to fix new issues. Check out BugBug for your own issue-tracking triage. The post…
8 Apr 2019
Earlier this year, we partnered with Glitch.com on a starter kit that teaches the fundamentals of WebVR using A-Frame. Today, we introduce a week of WebVR experiments that build on the basics. Designed by Glitch creator Andrés Cuervo, each experiment is unique and is meant to teach and inspire as you craft your own WebVR experiences. The post Sharpen your…