Skip to content

mp-flutter 0.2.1

Choose a tag to compare

@jackwangfeng jackwangfeng released this 28 Sep 11:57
· 9 commits to main since this release

mp-flutter v0.2.1 发布说明(本地准备,未推送)

仓库:/Users/jeff/work/mp-flutter-public(main,remote origin 未 push)
基于:v0.2.0(031daab + 87dd015),对应内部仓库 4e78c7e → 3468c66 的差异

本地提交:d3bb1e7 "mp-flutter 0.2.1"(author jeff <jackwangfeng163@gmail.com>,
trailer Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>)
本地标签:v0.2.1(annotated,未推送)

变更内容

合成加粗

  • 常用汉字合一字体新增真粗体子集 cjk_font_bold(level1 | full | false,
    --cjk-font-bold=...,默认跟随 cjk_font,必须与其同档):Noto Sans SC v37
    Bold 子集,与常规合一字体同 family、字重 700 注册,w≥600 中文不再由 CanvasKit
    合成加粗;独立分包 pkg-cjkb(full 约 1.17MB / level1 约 660KB br)
  • --perf-hud 新增 fakeBold=N(本帧合成加粗段落数)统计与 cjk-bold 系列
    首帧前诊断行
  • 实测:iOS 真机详情页首次打开的 layout 长帧从 102–243ms 降到 4–7ms(典型值),
    冷启动耗时不受影响(约 3.9s,与 0.2.0 持平)

E2E

  • tools/e2e/drive.js:微信开发者工具基础库升至 3.17.4 后 Page.callMethod
    这条自动化 RPC 本身损坏;绕开为改走 mp.evaluate()(App.callFunction),
    在 App Service 层用 getCurrentPages() 拿真实页面实例直接调用同名方法;
    另加"句柄过期自动重取重试"通用兜底

版本号

  • pubspec.yaml(mp_flutter/mp_flutter_native/mp_flutter_wechat)与
    kPackageVersion 在 v0.2.0 时即为 0.1.0(未跟随发布 tag),本次同样未改动
  • README(根 + 3 个包)安装片段的 ref 由 v0.2.0 改为 v0.2.1
  • CHANGELOG 新增独立 ## 0.2.1 段落(未并入 0.2.0 段落)

处理过程要点

  1. git -C /Users/jeff/work/mp-flutter diff 4e78c7e 3468c66 -- . ':!docs/superpowers' ':!spike' ':!docs/history'
    生成 1804 行 diff,涉及 25 个文件(23 文本 + 2 新二进制字体)
  2. git apply --3way 因公开仓库与内部仓库无共同 blob 历史而全部退化为直接应用;
    由于二进制新文件与 docs/support-matrix.md 一处 hunk 冲突(该行此前已被脱敏
    替换过 "keel"→"真实电商小程序",导致上下文不匹配),改用 git apply --reject
    应用 22 个文本文件,docs/support-matrix.md 的 1 个 hunk 手工合并(保留已脱敏
    措辞 + 新增行),2 个新字体二进制文件直接从内部仓库复制
  3. 全仓库重新 grep 脱敏关键词:wxc6c33e38dbeed25f/keel/zzss/192.168./
    /Users///private/tmp/claude-501 均为 0 命中;jeff 仅剩 NOTICE 版权行
    2 处(允许项)。新引入内容里发现 3 处新的 "keel" 残留(CHANGELOG ×2、
    README ×1),已替换为 "该真实电商小程序"/"真实电商小程序首页"
  4. CHANGELOG 的"合成加粗"段落原样 patch 后落在 ## 0.2.0 标题下(因为内部仓库
    与公开仓库的 CHANGELOG 结构不同导致 diff context 巧合匹配);按任务要求手工
    挪到新增的 ## 0.2.1 独立段落,并补充 E2E drive.js 条目与实测数据
  5. bash tools/ci/check.sh(PATH 前置 /Users/jeff/development/flutter/bin)
    首次跑需先对 4 个包各跑一次 flutter pub get / dart pub get(.dart_tool
    未随 git 跟踪,构建产物均在 .gitignore 内,未提交)。全部检查通过,
    example 构建冒烟产出 pkg-cjkb(1170KB)分包,证实真粗体子集正确构建
    且各分包均在 2048KB 限内

验证结果

  • 远程 grep 复查:0 命中(除 NOTICE 版权行外)
  • tools/ci/check.sh:EXIT=0,全部检查通过
  • 未 push、未推送 tag,仅本地提交 + 本地 tag