Home/2025
Archive

Year 2025

1,335 articles published in 2025.

Engineering — Introducing credits for usage-based billing

Introducing credits for usage-based billing

The strategic importance of billing credits is only growing. That’s why we recently incorporated a new credits feature into Stripe Billing, enabling businesses to offer their customers both promotional and paid credits with flexibility and control.

VDVijit DhingraVijit Dhingra·February 11, 2025Engineering
Engineering — Make Any File a Template Using This Hidden macOS Tool

Make Any File a Template Using This Hidden macOS Tool

Stationery Pad is a handy way to nix a step in your workflow if you regularly use document templates on your Mac. The long-standing Finder feature essentially tells a file’s parent application to open a copy of it by default, ensuring that the original file remains unedited.

GGGeoff GrahamGeoff Graham·February 10, 2025Engineering
SRE & Ops — Cloudflare incident on February 6, 2025

Cloudflare incident on February 6, 2025

On Thursday, February 6, 2025, we experienced an outage with our object storage service (R2) and products that rely on it. Here's what happened and what we're doing to fix this going forward.

SJSilverlock, JavierSilverlock, Javier·February 7, 2025SRE & Ops
Security — The case for sans-io

The case for sans-io

The most popular option to decompress ZIP files from the Rust programming language is a crate simply named zip — At the time of this writing, it has 48 million downloads. It’s fully-featured, supporting various compression methods, encryption, and even supports writing zip files. However, that’s not the crate everyone uses to read ZIP files. Some applications benefit from using asynchronous I/O, e

AWAmos WengerAmos Wenger·February 7, 2025Security
Design & UX — Taking RWD To The Extreme — Smashing Magazine

Taking RWD To The Extreme — Smashing Magazine

Tomasz Jakut reflects on the evolution of web design, from the days of table-based layouts and Flash games to the rise of responsive web design (RWD), which often feels like the end of history in web layout. But as 2025 marks the 15th anniversary of Ethan Marcotte’s article, it’s worth asking whether something significant happened after RWD — something so seamless that it went almost unnoticed.

TJTomasz JakutTomasz Jakut·February 7, 2025Design & UX
AI & ML — GitHub Copilot: The agent awakens

GitHub Copilot: The agent awakens

Introducing agent mode for GitHub Copilot in VS Code, announcing the general availability of Copilot Edits, and providing a first look at our SWE agent.

TDThomas DohmkeThomas Dohmke·February 6, 2025AI & ML
AI & ML — Revolutionizing software testing: Introducing LLM-powered bug catchers

Revolutionizing software testing: Introducing LLM-powered bug catchers

WHAT IT IS Meta’s Automated Compliance Hardening (ACH) tool is a system for mutation-guided, LLM-based test generation. ACH hardens platforms against regressions by generating undetected faults (mutants) in source code that are specific to a given area of concern and using those same mutants to generate tests. When applied to privacy, for example, ACH automates […]

CWChris Wiltz·February 5, 2025AI & ML
Security — Data logs: The latest evolution in Meta’s access tools

Data logs: The latest evolution in Meta’s access tools

We’re sharing how Meta built support for data logs, which provide people with additional data about how they use our products. Here we explore initial system designs we considered, an overview of the current architecture, and some important principles Meta takes into account in making data accessible and easy to understand. Users have a variety […]

CWChris Wiltz·February 4, 2025Security
Engineering — Integrations: From Simple Data Transfer To Modern Composable Architectures — Smashing Magazine

Integrations: From Simple Data Transfer To Modern Composable Architectures — Smashing Magazine

In today’s web development landscape, the concept of a monolithic application has become increasingly rare. Modern applications are composed of multiple specialized services, each of which handles specific aspects of functionality. This shift didn’t happen overnight - it’s the result of decades of evolution in how we think about and implement data transfer between systems. Let’s explore this journ

EDEdoardo DusiEdoardo Dusi·February 4, 2025Engineering
Frontend — Compiling CSS With Vite and Lightning CSS

Compiling CSS With Vite and Lightning CSS

Are partials the only thing keeping you writing CSS in Sass? With a little configuration, it's possible to compile partial CSS files without a Sass dependency. Ryan Trimble has the details.

RTRyan TrimbleRyan Trimble·February 3, 2025Frontend
Networking — How Precision Time Protocol handles leap seconds

How Precision Time Protocol handles leap seconds

We’ve previously described why we think it’s time to leave the leap second in the past. In today’s rapidly evolving digital landscape, introducing new leap seconds to account for the long-term slowdown of the Earth’s rotation is a risky practice that, frankly, does more harm than good. This is particularly true in the data center […]

CWChris Wiltz·February 3, 2025Networking
Career & Teams — Chrome 133 Goodies

Chrome 133 Goodies

Did you see the release notes for Chrome 133? It's currently in beta, but the Chrome team has been publishing a slew of new articles with pretty incredible demos that are tough to ignore. I figured I'd round those up in one place.

GGGeoff GrahamGeoff Graham·January 31, 2025Career & Teams
Frontend — The Mistakes of CSS

The Mistakes of CSS

All of the things that the CSS Working Group would change if they had a time-traveling Delorean to go back and do things over.

JDJuan Diego RodríguezJuan Diego Rodríguez·January 30, 2025Frontend
Engineering — What on Earth is the `types` Descriptor in View Transitions?

What on Earth is the `types` Descriptor in View Transitions?

The @view-transition at-rule has two descriptions. One is the commonly used navigation descriptor. The second is types, the lesser-known of the two, and one that probably envies how much attention navigation gets. But read on to learn why we need types and how it opens up new possibilities for custom view transitions when navigating between pages.

JDJuan Diego RodríguezJuan Diego Rodríguez·January 29, 2025Engineering
Frontend — Transitioning Top-Layer Entries And The Display Property In CSS — Smashing Magazine

Transitioning Top-Layer Entries And The Display Property In CSS — Smashing Magazine

It’s not always the big features that make our everyday lives easier; sometimes, it’s those ease-of-life features that truly enhance our projects. In this article, Brecht De Ruyte highlights two such features: `@starting-style` and `transition-behavior` — two properties that are absolutely welcome additions to your everyday work with CSS animations.

BDBrecht De RuyteBrecht De Ruyte·January 29, 2025Frontend
Engineering — A diversity of downtime: the Q4 2024 Internet disruption summary

A diversity of downtime: the Q4 2024 Internet disruption summary

After a rather busy third quarter, the fourth quarter of 2024 saw significantly fewer Internet disruptions. This quarter, notable outages were caused by cable cuts, power outages, natural disasters, military action, maintenance, and government direction. Read on for the details.

DBDavid BelsonDavid Belson·January 28, 2025Engineering
Engineering — Cloudflare meets new Global Cross Border Privacy standards

Cloudflare meets new Global Cross Border Privacy standards

Cloudflare is the first organisation globally to announce we have been successfully audited against the brand-new international ‘Global Cross-Border Privacy Rules’ system and the brand new ‘Global Privacy Rules for Processors’. Cloudflare will be certified from day one when the certifications launch later in 2025.

RERory, Emily HancockRory, Emily Hancock·January 28, 2025Engineering
Performance — How we built it: Usage-based billing

How we built it: Usage-based billing

We created a usage-based billing system with ultrahigh throughput; reliable, real-time events processing; and support for complex pricing models. Doing so required reimagining how to build a highly scaled, highly reliable event streaming platform.

TMTaras MitranTaras Mitran·January 28, 2025Performance
Distributed — Over 700 million events/second: How we make sense of too much data

Over 700 million events/second: How we make sense of too much data

Here we explain how we made our data pipeline scale to 700 million events per second while becoming more resilient than ever before. We share some math behind our approach and some of the designs of our systems, as well as issues that we had to face and bugs we had to chase.

CPConstantin Pan, Jim HawkridgeConstantin Pan, Jim Hawkridge·January 27, 2025Distributed
Systems — Container Queries Unleashed

Container Queries Unleashed

Container queries expand the universe of designs that can be implemented, giving us whole new superpowers. Now that container queries are broadly available, I think it’s time we start exploring this potential! In this post, I’ll share the “killer pattern” I can’t stop using in my work, and explore what’s possible with this new capability.

JWJosh W. Comeau·January 27, 2025Systems
Frontend — Bringing Jetpack Compose to Instagram for Android

Bringing Jetpack Compose to Instagram for Android

Introducing a new Android UI framework like Jetpack Compose into an existing app is more complicated than importing some AARS and coding away. What if your app has specific performance goals to meet? What about existing design components, integrations with navigation, and logging frameworks? On this episode of the Meta Tech Podcast Pascal Hartig is […]

CWChris Wiltz·January 24, 2025Frontend
Distributed — Refactoring with Codemods to Automate API Changes

Refactoring with Codemods to Automate API Changes

Refactoring is something developers do all the time—making code easier to understand, maintain, and extend. While IDEs can handle simple refactorings with just a few keystrokes, things get tricky when you need to apply changes across large or distributed codebases, especially those you don’t fully control. That’s where codemods come in. By using Abstract Syntax Trees (AST), codemods allow you to a

JQJuntao QIU | 邱俊涛·January 22, 2025Distributed
Security — Attacks on Maven proxy repositories

Attacks on Maven proxy repositories

Learn how specially crafted artifacts can be used to attack Maven repository managers. This post describes PoC exploits that can lead to pre-auth remote code execution and poisoning of the local artifacts in Sonatype Nexus and JFrog Artifactory.

MSMichael StepankinMichael Stepankin·January 22, 2025Security
Security — How Meta discovers data flows via lineage at scale

How Meta discovers data flows via lineage at scale

Data lineage is an instrumental part of Meta’s Privacy Aware Infrastructure (PAI) initiative, a suite of technologies that efficiently protect user privacy. It is a critical and powerful tool for scalable discovery of relevant data and data flows, which supports privacy controls across Meta’s systems. This allows us to verify that our users’ everyday interactions […]

CWChris Wiltz·January 22, 2025Security
Engineering — The fall and rise of TikTok (traffic)

The fall and rise of TikTok (traffic)

On January 19, 2025, ByteDance suspended TikTok and related apps for US users. We examine the 14-hour traffic plunge, recovery near Donald Trump’s inauguration, and how alternatives like RedNote surged.

JTJoao TomeJoao Tome·January 21, 2025Engineering
Performance — Strobelight: A profiling service built on open source technology

Strobelight: A profiling service built on open source technology

We’re sharing details about Strobelight, Meta’s profiling orchestrator. Strobelight combines several technologies, many open source, into a single service that helps engineers at Meta improve efficiency and utilization across our fleet. Using Strobelight, we’ve seen significant efficiency wins, including one that has resulted in an estimated 15,000 servers’ worth of annual capacity savings. Strobe

CWChris Wiltz·January 21, 2025Performance