From ed77cbfc8256ac8925eaca90aa3963535f78b53c Mon Sep 17 00:00:00 2001 From: tianma-if Date: Mon, 14 Sep 2026 18:15:58 +0800 Subject: [PATCH] fix(release): persist localized in-app release notes Pass --change-locale values into release-summary.json so first-class locales other than en-US and zh-CN receive in-app changelog copy. --- scripts/release.mjs | 1 + scripts/release.test.mjs | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/scripts/release.mjs b/scripts/release.mjs index 913cbc75..f01a633a 100644 --- a/scripts/release.mjs +++ b/scripts/release.mjs @@ -1449,6 +1449,7 @@ const releaseMain = async (options) => { mobileRebuild: mobilePlan.rebuild, changesEn: options.changesEn, changesZh: options.changesZh, + localizedChanges: options.localizedChanges, }); run("git", ["add", ...versionPaths]); run("git", ["diff", "--cached", "--check"]); diff --git a/scripts/release.test.mjs b/scripts/release.test.mjs index 6ee42788..c6d89604 100644 --- a/scripts/release.test.mjs +++ b/scripts/release.test.mjs @@ -417,6 +417,19 @@ describe("release automation", () => { }); }); + test("persists localized in-app release changes when preparing versions", () => { + const releaseSource = readFileSync(new URL("./release.mjs", import.meta.url), "utf8"); + const updateCall = releaseSource.indexOf("const versionPaths = updateReleaseVersions({"); + const localizedChanges = releaseSource.indexOf( + "localizedChanges: options.localizedChanges", + updateCall, + ); + const updateCallEnd = releaseSource.indexOf("});", updateCall); + expect(updateCall).toBeGreaterThanOrEqual(0); + expect(localizedChanges).toBeGreaterThan(updateCall); + expect(localizedChanges).toBeLessThan(updateCallEnd); + }); + test("builds a bilingual umbrella Issue", () => { const body = buildIssueBody({ changesEn: ["Parallel checks."],