Addonews
  • News
    NewsShow More
    Network Interception 101: Using the Debugger Protocol for Deep Traffic Analysis
    March 23, 2026
    Scraping with Stealth: Using MutationObservers to Complement Your Web Scraper
    March 22, 2026
    The Privacy-First Extension: How to Pass Chrome’s “User Data” Audit in 24 Hours
    March 21, 2026
    Content Security Policy (CSP) Bypassing: Injecting Scripts Without Triggering Alarms
    March 20, 2026
    Bypassing “No Right Click” Restrictions: A Developer’s Guide to Context Menu Hijacking
    March 19, 2026
  • AI Agent
    AI AgentShow More
    ai agents
    AI Agents in the Browser: How They Outsmart Regular Extensions
    December 10, 2025
  • Business
    BusinessShow More
    WXT vs Plasmo 0.7: Why I Switched My Production Extension to the Web Extension Toolbox
    March 5, 2026
    Plasmo vs WXT 0.8: Which Framework Wins the Extension Developer War in 2026?
    March 4, 2026
    Framework Wars: Plasmo vs. WXT
    March 3, 2026
    Revolutionary Business on Browser Extensions: Why I Believe It’s More Profitable Than Real Estate
    December 24, 2025
    ExtensionPay Review: Is a 5% Fee Worth It?
    December 4, 2025
  • Guides
    GuidesShow More
    plasmo vs wxt
    The Ultimate Guide: Plasmo vs WXT for MV3 Extensions in 2026
    January 9, 2026
    extension ideas
    How to Create an Extension Idea People Actually Need
    December 13, 2025
    chrome extension source code
    View Chrome Extension Source Code: 3 Developer Hacks
    December 3, 2025
    How to Speed Up Opera Extension Publishing: Communicating with the Addons Team
    December 2, 2025
Reading: WXT v0.20 Update: Is Plasmo Still the King of Extensions?
Submit a post
Font ResizerAa
AddonewsAddonews
  • News
  • AI Agent
  • Business
  • Guides
Search
  • Categories
    • News
    • Business
    • AI Agent
    • Guides
  • Contact

The Death of Background Pages: How to Migrate Your Event Listeners to MV3

Juan Carlos
Juan Carlos
February 28, 2026
FacebookLike
InstagramFollow
YoutubeSubscribe
TiktokFollow
  • Privacy Policy
  • Terms of Use
2026 © Addon News. All Rights Reserved.
News

WXT v0.20 Update: Is Plasmo Still the King of Extensions?

Juan Carlos
Last updated: December 4, 2025 9:48 am
By Juan Carlos
7 Min Read
Share
WXT
SHARE

Come on, guys, confession time: who else still gets a nervous twitch hearing the words “Manifest V3”? I remember the old days, spending three days just setting up Webpack and praying Google wouldn’t reject our manifest.

Contents
  • WXT: The v0.20 Revolution
  • Plasmo: Crickets Since May?
  • The Bottom Line: Who Is This For?

Thankfully, those days are largely behind us. Now, we have two serious contenders in the extension building space: Plasmo (the established React favorite) and WXT (the aggressive newcomer running on Vite).

I dove deep into their repos, re-read hundreds of commits from the last six months, and I’m ready to tell you what’s really going on. Spoiler: one framework is currently flying, and the other seems to be taking an extended vacation.


WXT: The v0.20 Revolution

If you missed it, WXT recently dropped version 0.20, and this wasn’t just a “bug fixes and chores” release. This feels like a fundamentally new direction for the framework.

Imagine this scenario: your extension is running fine, and then you decide to upgrade, and… everything breaks in a fiery blaze. Why? Because the WXT team decided to cut to the quick to make the tool genuinely better. And honestly? It was worth the pain.

1. The Great Weight Loss (Goodbye, Polyfill!)

Historically, almost all extension frameworks had to haul around a heavy library from Mozilla (webextension-polyfill) just to make sure chrome.runtime worked identically across Chrome, Firefox, and Edge. It was convenient, but it was bloat.

WXT’s Move: In v0.20, they said, “No more.” They ripped out that dependency and replaced it with their own, feather-light types and wrappers. Your Benefit: Imagine you’re building an extension as an indie hacker. Your “Hello World” used to weigh as much as a small boat anchor. Now, thanks to better Tree-shaking (when the bundler removes unused code) and dropping the polyfills, the final file size is dramatically smaller. The Chrome Web Store (and your users) will thank you.

2. Styles That Actually Stay Put (Shadow DOM Reset)

Oh, the notorious style battle! Have you ever injected your beautiful UI onto a random website, only for it to become hideously broken because the host site’s global CSS (like div { padding: 50px }) was bleeding into your components?

In WXT v0.20, they overhauled style isolation. When you embed your UI using Shadow DOM, the framework now forces a style reset on inherited styles. A Real-Life Example: You’re building a productivity widget for Gmail. Previously, you had to write a ton of defensive CSS (all: unset, tons of !important) just to keep Google’s styles from ruining your layout. Now, WXT handles that dirty work. Your CSS looks exactly the way you intended. Finally!

3. Imports for Grown-Ups

Remember how tools like Nuxt allow you to use utilities without explicitly importing them everywhere? WXT is heading there too. They’ve refined their module system (#imports), making the code cleaner and the structure stricter. If you value order and clarity in your project, you’ll appreciate this shift.


Plasmo: Crickets Since May?

The situation with Plasmo is intriguing. I opened their releases page and… heard crickets. The latest major release in the main branch is v0.90.5, dated May 17, 2025.

Does this mean the project is dead? No. Does this mean it has become stable to the point of stagnation? Quite possibly.

What’s Still Great About Plasmo?

React 19 Support. They were quick to add support for React 19 earlier this year. If you are a seasoned React developer building a huge, complex dashboard inside an extension, Plasmo is still a solid bet. The Use Case: You need to implement a complex modal with lots of state, forms, and validation. In Plasmo, this feels exactly like building a regular React application. Their core feature, CSUI (Content Script UI), is arguably still the most declarative and comfortable way to render React components directly onto host pages.

But the half-year pause in activity is worrying. While WXT is adding Vite 7 support and fixes, Plasmo is just… working. On the tried-and-true Parcel (which, let’s be honest, is slower than Vite).


The Bottom Line: Who Is This For?

Let’s cut through the noise and get practical. Here’s a simple checklist.

Choose WXT (v0.20+), if:

  • You are starting a brand new project today.
  • Build speed is critical (Vite is a rocket ship).
  • You need the smallest final bundle size (essential for free tools or slow connections).
  • You aren’t strictly tied to React (it supports Vue, Svelte, and vanilla JS just as well).
  • You want to be on the bleeding edge and get bug fixes fast.

Stick with Plasmo (v0.90.x), if:

  • You have a large existing Plasmo project, and migrating would be corporate suicide.
  • You absolutely rely on their proprietary Messaging API (for frontend/background communication) and don’t want to build your own.
  • You are building a heavy Enterprise-grade UI on React and prioritize Plasmo’s proven stability over WXT’s current rapid development pace.

My Personal Takeaway: I recently moved my latest side project to WXT. Yes, I had to grapple with the v0.20 migration, but when I saw my build time drop from 15 seconds to 2 seconds, I stopped regretting the effort.

Which team are you on? Fast & Furious (WXT) or Slow & Steady (Plasmo)?

TAGGED:FrameworkHot
SOURCES:PlasmoWXT
VIA:ThemeRubyMarsNews
Share This Article
Reddit Telegram Copy Link
Leave a Comment

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Execution of Custom JS: Navigating the New Scripting API Security Constraints

Juan Carlos
Juan Carlos
March 2, 2026
FacebookLike
InstagramFollow
YoutubeSubscribe
TiktokFollow

Trending

GhostPoster in Firefox Add-ons: How Malicious Code Infiltrated 17 Extensions

Manual data entry implodes under {{ARTICLE_TITLE}} scrutiny

February 17, 2026

WXT vs Plasmo 0.7: Why I Switched My Production Extension to the Web Extension Toolbox

Shadow DOM shattered, 3 AM debugging hell

March 5, 2026

Offscreen Documents: The “Legal Hack” to Restore DOM Parsing in Manifest V3

DOM parsing dies at dawn, {{ARTICLE_TITLE}} rises

February 25, 2026
News

Network Interception 101: Using the Debugger Protocol for Deep Traffic Analysis

Manual traffic analysis: a soul-sucking quagmire

Juan Carlos
March 23, 2026

Your may also like!

News

Network Interception 101: Using the Debugger Protocol for Deep Traffic Analysis

Juan Carlos
March 23, 2026
News

Scraping with Stealth: Using MutationObservers to Complement Your Web Scraper

Juan Carlos
March 22, 2026
News

The Privacy-First Extension: How to Pass Chrome’s “User Data” Audit in 24 Hours

Juan Carlos
March 21, 2026
News

Content Security Policy (CSP) Bypassing: Injecting Scripts Without Triggering Alarms

Juan Carlos
March 20, 2026

© 2025 Addonews. All Rights Reserved. The content on this site may not be reproduced, republished, distributed, transmitted, or otherwise used without the express prior written permission of Addonews. Addonews may earn a commission from products, services, or extensions linked through our site as part of our Affiliate Partnerships. By using this website, you agree to our Privacy Policy and Terms of Use.

Quick Links

  • Privacy Policy
  • Terms of Use
Contact
Follow me on socials!
Get the latest news on browser extension security and updates. Discuss guides and receive notifications about top new releases directly in your feed.