release: record v23 GSRL source lock and receipt instructions
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled

This commit is contained in:
tei
2026-10-09 23:52:01 +09:00
parent 87f3d1c59a
commit 061b24a4bb
5 changed files with 190 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
# STEP-108 V23 同源统一正式发行 v1
- 日期:2026-10-09(JST)
- 状态:**构建 PASS / 六项公网回读 PASS / GSRL 锁与 Tag 收尾中**
- 冻结源码提交:`87f3d1c59a52581fb8339f0ea7d106b9f4b94fef`
- 主目录:`/Users/tei/dev/MapLibreParticleLab`,分支 `particle/main`
- 版本:Android/RN `13.6.1-particle.23`,iOS Metal `6.29.0-particle.23`
- 前序修复:STEP-107 Darwin Style CoreOnly Peer 防崩溃代码已纳入。
## 分阶段事实
1. Prepare:冻结并 push 源码版本,commit `87f3d1c59a52581fb8339f0ea7d106b9f4b94fef`,版本互锁正确。
2. Build:`tools/particle_release_pipeline/release.sh 23 build`,exit 0;Android OpenGL 四 ABI Release、Maven Local、iOS Metal Bazel opt 与 RN tgz 均 PASS。日志:`/tmp/maplibre_v23_unified_release_build_20261009.log`。
3. Publish:`tools/particle_release_pipeline/release.sh 23 publish`,exit 0;六文件 NAS 公网逐字节回读 PASS,SwiftPM `6.29.0-particle.23` Tag 可取。日志:`/tmp/maplibre_v23_unified_release_publish_20261009.log`。
4. GSRL:六项文件实际 SHA-256 与下载地址见 `release/maplibre-particle/13.6.1-particle.23/SOURCE_LOCK.json`。
5. Finalize:正式源码 Tag `maplibre-particle/rn/13.6.1-particle.23` 及最终远端核验执行后记录。
## 未验收及禁区
- STEP-107 XCTest 与 iPad 直接点击崩溃场景尚未运行;不得宣称已实机修复。
- V23 Android 实机、React Native 宿主整体集成、iOS Metal 真机 NOT_TESTED。
- 原 V22 Tag/Source Lock 与发行制品不覆盖;禁止新建 worktree、擅自纳入无关 dirty 文件。

View File

@@ -6,8 +6,10 @@
| 发行代号 | Android Native / RN | iOS Metal | 状态 | 入口 | | 发行代号 | Android Native / RN | iOS Metal | 状态 | 入口 |
| --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- |
| v23 | `13.6.1-particle.23` | `6.29.0-particle.23` | GSRL Source Lock 正式发行 | [v23 版本说明](maplibre-particle/13.6.1-particle.23/README.md) |
| v22 | `13.6.1-particle.22` | `6.29.0-particle.22` | GSRL Source Lock 正式发行 | [v22 版本说明](maplibre-particle/13.6.1-particle.22/README.md) | | v22 | `13.6.1-particle.22` | `6.29.0-particle.22` | GSRL Source Lock 正式发行 | [v22 版本说明](maplibre-particle/13.6.1-particle.22/README.md) |
- v23 Source Lock:[SOURCE_LOCK.json](maplibre-particle/13.6.1-particle.23/SOURCE_LOCK.json)
- v22 Source Lock:[SOURCE_LOCK.json](maplibre-particle/13.6.1-particle.22/SOURCE_LOCK.json) - v22 Source Lock:[SOURCE_LOCK.json](maplibre-particle/13.6.1-particle.22/SOURCE_LOCK.json)
- v22 统一发布清单:[release-manifest.json](maplibre-particle/release-manifest.json) - v22 统一发布清单:[release-manifest.json](maplibre-particle/release-manifest.json)
- Maven:`https://pbf.jpcn.ccwu.cc/maven` - Maven:`https://pbf.jpcn.ccwu.cc/maven`

View File

@@ -0,0 +1,59 @@
# MapLibre Particle 13.6.1-particle.23 正式发行
发行说明:本目录保存 **GSRL 源码与制品身份记录**;二进制正式存放在 NAS 的公网发行入口(不会提交进 Git)。v23 同源冻结提交为 `87f3d1c59a52581fb8339f0ea7d106b9f4b94fef`。
## 版本与发行范围
- Android OpenGL Native:`cc.navsea.maplibre:android-sdk-particle-opengl:13.6.1-particle.23`,包含 `arm64-v8a`、`armeabi-v7a`、`x86`、`x86_64`。
- React Native package:`@navsea/maplibre-particle-rn@13.6.1-particle.23`,peer `@maplibre/maplibre-react-native@11.5.0`。
- iOS Metal:`MapLibre` XCFramework / SwiftPM `6.29.0-particle.23`(ios-arm64)。
- 正式源码 Tag:`maplibre-particle/rn/13.6.1-particle.23`;Build Source Commit 见 `SOURCE_LOCK.json`。
## 公网制品(NAS 发布)
| 制品 | 获取地址 |
| --- | --- |
| Android AAR | https://pbf.jpcn.ccwu.cc/maven/cc/navsea/maplibre/android-sdk-particle-opengl/13.6.1-particle.23/android-sdk-particle-opengl-13.6.1-particle.23.aar |
| Android POM | https://pbf.jpcn.ccwu.cc/maven/cc/navsea/maplibre/android-sdk-particle-opengl/13.6.1-particle.23/android-sdk-particle-opengl-13.6.1-particle.23.pom |
| Android Gradle Module Metadata | https://pbf.jpcn.ccwu.cc/maven/cc/navsea/maplibre/android-sdk-particle-opengl/13.6.1-particle.23/android-sdk-particle-opengl-13.6.1-particle.23.module |
| RN tgz | https://pbf.jpcn.ccwu.cc/npm/navsea-maplibre-particle-rn-13.6.1-particle.23.tgz |
| iOS Metal XCFramework zip | https://pbf.jpcn.ccwu.cc/swift/maplibre-particle/6.29.0-particle.23/MapLibre.dynamic.xcframework.zip |
| iOS XCFramework SHA-256 文件 | https://pbf.jpcn.ccwu.cc/swift/maplibre-particle/6.29.0-particle.23/MapLibre.dynamic.xcframework.zip.sha256 |
完整 SHA-256 以本目录 `SOURCE_LOCK.json` 的 `files[]` 为权威记录。以上文件均已按 NAS 公网重新下载与原始构建文件逐字节比对。
## 使用方法
**Android**:Gradle Maven repository 增加 `https://pbf.jpcn.ccwu.cc/maven`,依赖:
`implementation("cc.navsea.maplibre:android-sdk-particle-opengl:13.6.1-particle.23")`
本版 AAR 采用 OpenGL,不宣称包含 Vulkan 制品。
**React Native**:从上表 RN tgz 的 HTTPS URL 安装 `@navsea/maplibre-particle-rn`;宿主需使用 `@maplibre/maplibre-react-native@11.5.0`。按 package 内 `README.md` 配置 Android Maven、Expo plugin、iOS Podspec/codegen;勿继续锁定 v21 的 `13.4.1` Native。
**iOS**:SwiftPM repository:`https://pbf.jpcn.ccwu.cc/swift/maplibre-particle-spm.git`,选择 exact tag `6.29.0-particle.23`,product `MapLibre`。将 RN iOS 依赖与该同源 Metal binary 按宿主 Post Install 说明接入。
## GSRL 来源核对与接收
1. 从此目录获取 `SOURCE_LOCK.json`,确认项目名、发行版本、Git Remote、完整 `gitCommit` 和 `gitRef`。
2. 按上述 URL 下载所需制品,重新计算各文件 SHA-256,与 `files[]` 逐项比较;确认 Gradle/RN/SwiftPM 依赖版本。
3. SHA 或来源不同不得按本版接收。已发行版本不可覆盖;修正须使用新版本。
## 验证边界
- Mac 统一源码构建、四 ABI Android Release AAR、iOS Metal ios-arm64 XCFramework、RN tgz 与公网逐字节回读:PASS。
- 本版 V23 尚未执行 Android 实机 / RN 11.5.0 宿主整体验收;不得引用 V22 的 STEP-106 通过事实冒充 V23 运行时测试。
- Android 实机、RN 11.5.0 宿主整体集成、iOS Metal 真机:**V23 尚未验证**。STEP-107 已包含 iOS nil Peer 崩溃代码修复,但唐津港湾 iPad 直接点击及 XCTest 仍未完成,不宣称崩溃实机修复 PASS。
- GSRL PASS 仅代表源码与发行文件身份一致、可获取、依赖及说明完整。
## 溯源
- Build Source Commit:`87f3d1c59a52581fb8339f0ea7d106b9f4b94fef`
- 主发行清单:`release/maplibre-particle/release-manifest.json`
- GSRL Source Lock:`release/maplibre-particle/13.6.1-particle.23/SOURCE_LOCK.json`
- 原始构建与发布详细日志位于 Mac 临时工作区 `artifacts/maplibre-particle/`,**不是使用方获取入口**。
## V23 修复范围
本版包含 STEP-107 的 Darwin MLNStyle CoreOnly Layer 无 ObjC Peer 的集合访问保护及层顺序修正。原 V22 发行身份保持不变,后续真机验收状态单独追踪。

View File

@@ -0,0 +1,104 @@
{
"schemaVersion": "gsrl/source-lock/v1",
"project": "MapLibreParticleLab",
"releaseUnit": "Particle unified Android OpenGL / React Native / iOS Metal",
"version": "13.6.1-particle.23",
"versions": {
"android": "13.6.1-particle.23",
"reactNative": "13.6.1-particle.23",
"ios": "6.29.0-particle.23"
},
"source": {
"gitRemote": "https://git.eyaku.jp/tei/MapLibreParticleLab",
"gitCommit": "87f3d1c59a52581fb8339f0ea7d106b9f4b94fef",
"gitRef": "refs/tags/maplibre-particle/rn/13.6.1-particle.23",
"note": "gitCommit为实际构建的V23冻结源码提交;发行清单与Source Lock在其后续发行提交中创建,Tag保留历史。"
},
"files": [
{
"releaseUnit": "android",
"name": "android-sdk-particle-opengl-13.6.1-particle.23.aar",
"location": "https://pbf.jpcn.ccwu.cc/maven/cc/navsea/maplibre/android-sdk-particle-opengl/13.6.1-particle.23/android-sdk-particle-opengl-13.6.1-particle.23.aar",
"sha256": "263821b686a569110ad704f817b288522eb2a153f49bf4162ace2226b28220b7",
"sizeBytes": 16541816
},
{
"releaseUnit": "android",
"name": "android-sdk-particle-opengl-13.6.1-particle.23.pom",
"location": "https://pbf.jpcn.ccwu.cc/maven/cc/navsea/maplibre/android-sdk-particle-opengl/13.6.1-particle.23/android-sdk-particle-opengl-13.6.1-particle.23.pom",
"sha256": "15e63a9936b015c6539ec7cdad271b4472e879e628e4f5ea9c3f1f3e581c61b9",
"sizeBytes": 5687
},
{
"releaseUnit": "android",
"name": "android-sdk-particle-opengl-13.6.1-particle.23.module",
"location": "https://pbf.jpcn.ccwu.cc/maven/cc/navsea/maplibre/android-sdk-particle-opengl/13.6.1-particle.23/android-sdk-particle-opengl-13.6.1-particle.23.module",
"sha256": "d7fbf0aef8128a55c8a4d9b591e131a495d87fce6486b5e01834b2cc14635fb1",
"sizeBytes": 6999
},
{
"releaseUnit": "reactNative",
"name": "navsea-maplibre-particle-rn-13.6.1-particle.23.tgz",
"location": "https://pbf.jpcn.ccwu.cc/npm/navsea-maplibre-particle-rn-13.6.1-particle.23.tgz",
"sha256": "6d8d2fa2312deee97fe9304c62887cd11490a70bc08e4a90f4ee8cf7ec83ed87",
"sizeBytes": 29009
},
{
"releaseUnit": "ios",
"name": "MapLibre.dynamic.xcframework.zip",
"location": "https://pbf.jpcn.ccwu.cc/swift/maplibre-particle/6.29.0-particle.23/MapLibre.dynamic.xcframework.zip",
"sha256": "9dbc477458377ab7e207bfd125d8f4106d3d83e7f923499a7bc048e39f74a76a",
"sizeBytes": 4147380
},
{
"releaseUnit": "ios",
"name": "MapLibre.dynamic.xcframework.zip.sha256",
"location": "https://pbf.jpcn.ccwu.cc/swift/maplibre-particle/6.29.0-particle.23/MapLibre.dynamic.xcframework.zip.sha256",
"sha256": "df1a37167f151f9d0ef215f18be60b8181b1b80f26584fe63dec7307a9c80293",
"sizeBytes": 99
}
],
"dependencies": [
{
"name": "@maplibre/maplibre-react-native",
"version": "11.5.0",
"role": "React Native host peer, iOS MapLibreReactNative Pod"
},
{
"name": "React Native",
"version": ">=0.80.0",
"role": "RN package peer requirement"
},
{
"name": "Expo",
"version": ">=54.0.0 (optional)",
"role": "RN optional peer"
},
{
"name": "Android Native SDK",
"version": "13.6.1-particle.23",
"coordinate": "cc.navsea.maplibre:android-sdk-particle-opengl:13.6.1-particle.23",
"role": "OpenGL AAR, arm64-v8a/armeabi-v7a/x86/x86_64"
},
{
"name": "iOS SwiftPM MapLibre",
"version": "6.29.0-particle.23",
"url": "https://pbf.jpcn.ccwu.cc/swift/maplibre-particle-spm.git",
"role": "Exact version, product MapLibre, Metal ios-arm64"
}
],
"usage": "release/maplibre-particle/13.6.1-particle.23/README.md",
"releaseManifest": "release/maplibre-particle/release-manifest.json",
"status": "RELEASED",
"validation": {
"publicReadback": "PASS - release.sh 23 publish, all six files retrieved and byte-compared",
"androidBuild": "PASS - four ABI OpenGL Release AAR",
"iosMetalBuild": "PASS - Bazel opt Metal ios-arm64 XCFramework",
"reactNativePack": "PASS - npm pack",
"androidDevice": "NOT_TESTED - V23",
"reactNative115HostIntegration": "NOT_TESTED - V23",
"iosMetalDevice": "NOT_TESTED - V23",
"iosMapTapCrashRegression": "NOT_TESTED - STEP-107 code included, iPad direct-tap validation pending",
"note": "GSRL PASS means source/artifact identity and availability, not runtime device certification."
}
}

View File

@@ -1089,3 +1089,8 @@ Android V3-08 单次综合验收已完成并关闭。Native `13.4.1-particle.2`
- 新增 `MLNStyleTests.mm` 混合 CoreOnly/普通 Layer 的集合及顺序回归用例;`git diff --check` PASS。Mac Bazel iOS Native `//platform/ios:MapLibre.dynamic` PASS,982.084 秒,ZIP 校验 PASS,SHA-256 `f16b7f2be761a101bb4b906b900175b95412abfeef09d715e2c9321b300a7b8a`。 - 新增 `MLNStyleTests.mm` 混合 CoreOnly/普通 Layer 的集合及顺序回归用例;`git diff --check` PASS。Mac Bazel iOS Native `//platform/ios:MapLibre.dynamic` PASS,982.084 秒,ZIP 校验 PASS,SHA-256 `f16b7f2be761a101bb4b906b900175b95412abfeef09d715e2c9321b300a7b8a`。
- XCTest 尚未执行;iPad 唐津海图物体直接点击、多 Source、天气开关及粒子渲染尚未真实验收;不能宣称 Bug 已在设备上消失。未修改 V22 Tag、正式发行资料、NavSea、Android 或 Shared Core。 - XCTest 尚未执行;iPad 唐津海图物体直接点击、多 Source、天气开关及粒子渲染尚未真实验收;不能宣称 Bug 已在设备上消失。未修改 V22 Tag、正式发行资料、NavSea、Android 或 Shared Core。
- Step:`docs/50_Step记录/STEP-107_iOS_StyleCoreOnlyPeer集合修复_v1.md`;报告:`docs/报告/STEP-107_iOS_StyleCoreOnlyPeer集合修复_RDC实施报告_v1.md`。 - Step:`docs/50_Step记录/STEP-107_iOS_StyleCoreOnlyPeer集合修复_v1.md`;报告:`docs/报告/STEP-107_iOS_StyleCoreOnlyPeer集合修复_RDC实施报告_v1.md`。
### 2026-10-09 STEP-108 V23 正式发行(构建/公网回读 PASS,Tag 收尾中)
- 构建源码 `87f3d1c59a52581fb8339f0ea7d106b9f4b94fef`。统一发行 Android/RN `13.6.1-particle.23`、iOS `6.29.0-particle.23`。Mac 四 ABI Android、iOS Metal opt、RN pack 成功,公网六项文件回读 PASS。
- GSRL Source Lock 记录六文件 sha256;V23 Android/iOS 实机及 STEP-107 iPad 崩溃复测仍 NOT_TESTED,不能写成设备 PASS。