Repository navigation
Releases: WenliangCao/lets-gpc
Releases · WenliangCao/lets-gpc
Release list
Let's GPC v0.1.3
What changed
- Removed the redundant DNR URL regex so Chrome can apply the GPC header rule without per-request regex matching.
- Cached normalized settings, merged navigation work, coalesced repeated domain-history writes, and reduced badge API calls.
- Eliminated duplicate popup and options renders, lazily builds resource rows, reuses date formatting, and debounces domain search.
- Cleaned up localized product copy, localized the Chrome Topics heading, and linked the privacy policy directly.
- Replaced stale exact-size documentation with the enforced package budget.
Verification
- 13/13 tests pass, including the real-Chrome integration suite.
- Release package verification passes.
- ZIP size: 46,800 bytes.
- SHA-256:
40a43c71e099e7cac6c8b4678b1d4064b51daea5e6a90e9414471da1db754d14.
Let's GPC v0.1.2
What changed
- Replaced the extension icon with the new Let's GPC artwork at 16, 32, 48, and 128 px.
- Kept the package PNG-only for Chrome compatibility.
- Applied lossless PNG optimization; the release ZIP is 47,303 B.
No runtime behavior or permissions changed.
Let's GPC v0.1.1
English
Let's GPC v0.1.1 adds complete English and Simplified Chinese presentation while keeping the request hot path unchanged.
Highlights
- English is now the default README, with a complete Simplified Chinese README retained alongside it.
- The extension name, description, popup, options page, dynamic statuses, errors, accessibility labels, and badge titles now use Chrome's native localization system.
- English remains the default locale; Simplified Chinese is selected automatically when Chrome uses Chinese.
- The project now uses Apache License 2.0, including its explicit contributor patent grant and patent-litigation termination provision.
- The release archive carries the canonical Apache license and NOTICE.
- Local architecture notes are no longer tracked or included in GitHub source archives.
- Release packaging is reproducible: repeated builds from the same checkout produce the same SHA-256.
Validation
- 13/13 tests pass on Google Chrome 151.0.7922.109.
- Real Chrome UI assertions passed for Simplified Chinese locally and English in GitHub Actions.
- The release contains 20 files, is 108,489 B unpacked and 45,086 B compressed, with zero runtime dependencies.
- The performance-critical model remains one DNR rule and zero extension JavaScript per network request.
SHA-256 (lets-gpc.zip):
079db73d4f5c2e07ec9c0a57ccee22113af13b19e29742ca5a42857fde0818db
简体中文
Let's GPC v0.1.1 在不改变请求热路径的前提下,完整加入英文与简体中文支持。
主要变化
- README 默认展示英文,同时保留完整的简体中文 README。
- 扩展名称、描述、popup、设置页、动态状态、错误信息、无障碍标签和 badge 标题全部接入 Chrome 原生本地化机制。
- 默认语言为英文;Chrome 使用中文时自动显示简体中文。
- 开源协议改为 Apache License 2.0,包含明确的贡献者专利授权和专利诉讼终止条款。
- Release 安装包包含 Apache 官方许可证原文与 NOTICE。
- 本地架构笔记不再由 Git 追踪,也不会进入 GitHub 源码压缩包。
- 打包过程可复现:同一 checkout 重复构建会得到相同 SHA-256。
验证
- Google Chrome 151.0.7922.109:13/13 测试通过。
- 本地真实 Chrome 已验证简体中文界面;GitHub Actions 真实 Chrome 已验证英文界面。
- Release 共 20 个文件,未压缩 108,489 B,ZIP 45,086 B,运行时依赖为 0。
- 性能关键路径保持不变:一条 DNR 规则,每个网络请求执行 0 次扩展 JavaScript。
SHA-256(lets-gpc.zip):
079db73d4f5c2e07ec9c0a57ccee22113af13b19e29742ca5a42857fde0818db
Let's GPC v0.1.0
Let's GPC 的首个公开版本。
核心功能
- 使用单条 Chrome DNR 规则发送
Sec-GPC: 1,请求热路径不运行扩展 JavaScript。 - 在顶层页面的 MAIN world、
document_start暴露navigator.globalPrivacyControl。 - 按顶层站点提供 GPC 例外,保持页面与第三方请求的信号一致。
- 使用 Chrome 原生 Privacy API 关闭 Topics。
- 提供本地域名历史、资源域名发现、搜索、导入、导出、清空和浅色/深色主题。
- 仅在打开弹窗时检查当前 origin 的
/.well-known/gpc.json,不跟随重定向。
性能与隐私
- 零运行时依赖、零遥测、零远程配置。
- 1 条动态网络规则;每个网络请求的扩展 JavaScript 开销为 0。
- 16 个运行文件;未压缩 78,188 B,运行时文本 64,280 B,ZIP 35,713 B。
- 不保存完整 URL、路径、查询参数、请求头、响应头或页面内容。
验证
- Chrome 151.0.7922.109:12/12 测试通过,0 skip。
- Chrome for Testing 145.0.7632.117:12/12 测试通过,0 skip。
- 覆盖主请求、跨域资源、WebSocket、Dedicated Worker、Service Worker、IPv6、localhost 子域、并发设置、站点例外、受限页面与 well-known 跨源重定向拒绝。
已知边界
Chrome MV3 无法完整模拟原生 GPC:不能向 WorkerNavigator 注入属性,不向 subframe 注入页面属性;全局关闭或站点例外时页面属性为 undefined,而非原生实现的 false。完整说明见仓库 README 与架构文档。
校验和
lets-gpc.zip SHA-256:19743656a51444aacca6efeeb693791846279ae86fa91e9d70e59ae083026573