倒计时开启:Chromium 宣布几周内将全面切断 MV2 扩展支持

据简鹿办公了解,在几年前,谷歌宣布从 Manifest V2 (MV2) 浏览器扩展过渡到新版本,但一直保留了一些广为人知的"后门",以支持旧版扩展。如今,Chromium 开发者明确表示,基于 MV2 的扩展将在短短几周后彻底成为历史。

从下一个主要版本开始,Chromium 将停止支持 Manifest V2 扩展。这一变化将影响到那些在 Chrome、Edge 以及其他基于 Chromium 的主流浏览器中坚持使用 uBlock Origin 的用户。甚至 Opera 尽管此前表态相反,也将很快失去这项能力。

Chromium 贡献者 Anton Bershanskiy 近日指出,即将发布的最新版 Chrome(149 版)将是最后一个提供某种程度 MV2 兼容性的版本。他引用了 Chromium 程序员 Devlin Cronin 最近的一次代码提交记录,其中声明未来的版本将从引擎的代码库中移除 kExtensionManifestV2Disabled 这一功能特性。

Cronin 表示,ExtensionManifestV2Disabled 特性在过去一年多的时间里一直处于默认开启状态,这意味着基于 Chromium 的浏览器实际上已经无法使用这段"形同虚设"的兼容代码。该特性是用户和浏览器制造商为了继续支持 MV2 扩展而采用的一系列变通手段之一。据 Bershanskiy 称,更糟糕的情况还在后头。

Cronin 解释说,像谷歌这样的超级巨头不可能无限期地维持对 MV2 的支持。据悉,移除这些兼容性标志将提升 Chrome 和 Chromium 的可靠性与安全性,因为目前的 MV2 代码已被视为不受欢迎的技术债务,且维护起来过于复杂。

当 Chromium/Chrome 150 移除了 kExtensionManifestV2Disabled 标志后,用户将无法再从 Chrome 网上应用店安装 MV2 扩展。此外,Chrome 151 还将移除以下用户曾用来维持旧版扩展运行的额外方法:

  • ExtensionManifestV2Unsupported
  • ExtensionManifestV2Availability
  • AllowLegacyMV2Extensions

根据 uBlock Origin 开发者 Raymond Hill 近期的消息,Opera 也将采取与 Chrome 相同的路线,因为 Chromium 正在彻底取消对 Manifest Version 2 的支持。Hill 提到,Opera 此前的承诺是不顾谷歌在 Chromium 项目上的决定,继续为 MV2 扩展提供支持。

早在 2024 年,谷歌就开始逐步淘汰 MV2,要求 Chrome 用户使用新的 MV3 扩展来替代旧版扩展。据说,诸如 uBlock Origin Lite 之类的 Manifest V3 扩展更加安全,也更易于在浏览器中进行管理,但从技术上讲,它们无法提供与 MV2 相同级别的功能。Mozilla 近期则表示,团队没有放弃 MV2 的计划,这使得 Firefox 及其 Gecko 排版引擎成为唯一能全面支持 uBlock Origin 及其他无法适配 MV3 的安全工具的平台。

相关推荐
山河木马2 小时前
渲染管线-计算得到gl_Position(顶点着色器)之后续GPU流程
javascript·webgl·图形学
竹林8182 小时前
用 The Graph 查询链上数据实战:从手搓 RPC 到 Subgraph,我的 NFT 项目数据加载快了 10 倍
前端·javascript
kyriewen5 小时前
别再每次都 Google 了:我整理了前端日常最常踩的 10 个 Git 坑,附速查表
前端·javascript·git
SmartBoyW6 小时前
深入ECMAScript规范:彻底搞懂JS隐式类型转换与底层ToPrimitive机制
前端·javascript
用户852495071846 小时前
解密 JavaScript 中的 this:谁才是真正的调用者?
javascript·面试
Heo6 小时前
Vite进阶用法详解
前端·javascript·面试
铁皮饭盒8 小时前
Next.js 风格路由内置?Bun FileSystemRouter 凭啥这么香
javascript
小林ixn9 小时前
别再背八股了!从 5 个真实场景彻底搞懂 JavaScript 的 this
javascript
东风破_9 小时前
JavaScript 面试常考的字符串算法:从反转字符串到回文判断
前端·javascript
巴勒个啦9 小时前
D3.js 入门实战:用力导向图可视化项目依赖关系
javascript