Google halts purge of legacy ad blockers and other Chrome Extensions, again

Manifest V2 will die another day

Back in December, Google postponed its Chrome Extensions shakeup because the project was unfinished and beset by bugs, after a previous schedule setback three months earlier.

At the time, the Chocolate Factory promised revised guidance in March. Well, that month has been and gone, and the roadmap remains unclear: the Chrome Extension Team deferred its clarification about when legacy ad blockers and similar Chrome extensions will stop working to a later date.

"We plan to continue reviewing feedback, making changes and improving documentation to ensure the transition from Manifest V2 to Manifest V3 is smooth and successful," the Chrome Extension team told extension developers in a mailing list message.

"We're still working on the timeline of the MV2 phase-out plan, so keep an eye out for it in the coming months. We will provide sufficient migration time for developers – at least six months of heads-up – before beginning any experiments to turn off MV2 in the browser next year."

Software developer Jeff Johnson, who runs the Underpass App Company, quipped, "Apple will release its headset as soon as Google transitions to Chrome Extension Manifest V3."

In other words, don't hold your breath. MV2 support was supposed to end in January. Then Google planned experiments that would disable MV2 progressively to come by June 2023, with January 2024 bringing a purge of MV2 code from the Chrome Web Store. Now, who knows? The schedule is "under review," yet again

Back in November 2018, Google outlined a plan – overly ambitious in retrospect – to revise the Chrome browser extension API for the stated reasons of security, privacy, and performance. Basically, the existing extension platform, referred to as Manifest V2, was easily abused and allowed developers to create extensions that hogged resources.

The old architecture also wasn't particularly well suited to mobile devices. Google hasn't (yet?) embraced Chrome Extensions for Android, but Apple now supports Safari Extensions on iOS.

The new set of rules, dubbed Manifest V3, removed APIs such as the blocking version of webRequest – for intercepting and altering the content on web pages before display – and background pages – to handle code listening for specific events.

An outcry followed from advocacy groups and developers whose extensions depended on Manifest V2 APIs – particularly content blocking, privacy, and scripting extensions – and their objections have yet to be fully addressed.

Undaunted, Google pressed ahead and managed to convince other browser makers like Apple, Microsoft, and Mozilla to go along, though not necessarily fully. That's a win at least for extension devs who want to target multiple browsers with minimal code revision; for content blocking and privacy extensions, the jury is still out though some like AdGuard say they'll manage.

To mollify critics, the steward of Chrome and of its underlying Chromium open source project has been making an effort to address concerns by making MV3 APIs more capable: service worker lifetimes were extended, in-memory sessions storage was increased, and off-screen documents were implemented to help replace functions that will disappear when background pages are no longer supported, to name a few of the platform adjustments.

But Google's MV3 platform remains in a brittle, incomplete state – the Chromium bug tracker lists more than 2,600 entries for extensions, per the Chrome Extension Team's suggestion as a search query yardstick, and close to 200 for MV3.

Not all of these will necessarily be confirmed and deemed worthy of repair but there are still enough gaps in the platform to make it difficult to move forward without stumbling. Bugs characterized as "show-stoppers" have lingered for many months unaddressed.

These missing or misbehaving features have kept many extension developers from revising their code to work under the MV3 rules - though some may simply understand that there's no hurry based on Google's continued deadline delays. According to chrome-stats, about 128,000 extensions still operate under MV2 and about 34,000 currently rely on MV3 code. In December, those numbers were about 136,000 and 30,000 respectively.

Jeff Johnson told The Register that one unresolved issue is user scripts, which allow the execution of arbitrary JavaScript that isn't already packaged as a file within an extension.

"Lack of user scripts is a big issue for many extensions, including my own," he said. "Google has publicly committed to providing user scripts support, but it's still in the planning stages. I strongly suspect that user scripts are the main reason Google keeps kicking the can down the road. They're not even close, I think."

Coincidentally, Google is also in the midst of a major rethink of web adtech, far more important to the company's bottom line than minimally monetized extensions that are prized mainly for blocking ads. So the ad biz may not be throwing as many engineering resources at MV3 as it might under different circumstances.

As Google describes the situation, the developer community's hectoring has slowed things down.

"We are continuing to listen to feedback from the community and make improvements to ensure the transition from Manifest V2 to Manifest V3 is smooth and successful," a Google spokesperson told The Register in an email, repeating the pleasantly alliterative smooth-success sibilance from the Chrome Extension Team announcement.

"These improvements have shifted our timeline and we are keeping the community regularly updated on our progress. We are seeing strong developer interest in the security, privacy, and performance benefits that Manifest V3 brings." ®

More about

TIP US OFF

Send us news


Other stories you might like