release: finalize unified particle.28
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled
This commit is contained in:
37
release/maplibre-particle/13.6.1-particle.28/README.md
Normal file
37
release/maplibre-particle/13.6.1-particle.28/README.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# MapLibre Particle V28 正式发行
|
||||
|
||||
Android/RN:13.6.1-particle.28;iOS Metal/SwiftPM:6.29.0-particle.28。
|
||||
|
||||
统一冻结构建源码 Commit:4d9cb0ef69dc4bb946c48377f4e1a5b2ba2bbbe8;正式 Git Tag:maplibre-particle/rn/13.6.1-particle.28。
|
||||
正式来源、依赖及全部六项文件 SHA-256 见本目录 [SOURCE_LOCK.json](SOURCE_LOCK.json)。
|
||||
|
||||
## 本次变更
|
||||
|
||||
iOS MapLibre Native 在 MLNVectorStyleLayer 新增原 Style Layer Filter 的受控原始 JSON 读取与设置 API。实现采用“无损或拒绝”:无法证明与 Core Filter 往返等价时 fail-closed,不经过有损 NSPredicate 读回。原有 predicate、粒子渲染及 Android Native 功能保持。
|
||||
|
||||
Style 成员关系、代次和 revision 由 MLRN Host 核验,Native 不内置 CM95 语义。本功能是双端方案 B 的上游前提,不代表 NavSea Host 或设备已通过。
|
||||
|
||||
## 公网产物
|
||||
|
||||
| 组件 | 文件 | SHA-256 |
|
||||
| --- | --- | --- |
|
||||
| android | [android-sdk-particle-opengl-13.6.1-particle.28.aar](https://pbf.jpcn.ccwu.cc/maven/cc/navsea/maplibre/android-sdk-particle-opengl/13.6.1-particle.28/android-sdk-particle-opengl-13.6.1-particle.28.aar) | a60818db5987f5305d7f94f7eb64d4f3c757131a432cadc9f60c8c3467303f32 |
|
||||
| android | [android-sdk-particle-opengl-13.6.1-particle.28.pom](https://pbf.jpcn.ccwu.cc/maven/cc/navsea/maplibre/android-sdk-particle-opengl/13.6.1-particle.28/android-sdk-particle-opengl-13.6.1-particle.28.pom) | 20286294b9b210b225c370c7160ca35a023759d4dae58e091df2657d8d540554 |
|
||||
| android | [android-sdk-particle-opengl-13.6.1-particle.28.module](https://pbf.jpcn.ccwu.cc/maven/cc/navsea/maplibre/android-sdk-particle-opengl/13.6.1-particle.28/android-sdk-particle-opengl-13.6.1-particle.28.module) | 883c81928d232160f1c80442c8d831fc362807c2ea5a68bded9b599eb844505c |
|
||||
| reactNative | [navsea-maplibre-particle-rn-13.6.1-particle.28.tgz](https://pbf.jpcn.ccwu.cc/npm/navsea-maplibre-particle-rn-13.6.1-particle.28.tgz) | 16726d076ad1117afd2134d578b24a7466c44e68173fb95fa962b5592bd2accd |
|
||||
| ios | [MapLibre.dynamic.xcframework.zip](https://pbf.jpcn.ccwu.cc/swift/maplibre-particle/6.29.0-particle.28/MapLibre.dynamic.xcframework.zip) | 577d0784f1e436c04b3cf0bd0213ce38fdf14612898367ec6e7c73156b82cd74 |
|
||||
| ios | [MapLibre.dynamic.xcframework.zip.sha256](https://pbf.jpcn.ccwu.cc/swift/maplibre-particle/6.29.0-particle.28/MapLibre.dynamic.xcframework.zip.sha256) | fa52c0e75b04a9e81d4e21f3be4bcfe0586fccfee3dcc242784cbdb85397a91a |
|
||||
|
||||
## 使用与安装
|
||||
|
||||
- Android Maven:https://pbf.jpcn.ccwu.cc/maven;坐标 cc.navsea.maplibre:android-sdk-particle-opengl:13.6.1-particle.28,OpenGL AAR 含 armeabi-v7a、arm64-v8a、x86、x86_64。
|
||||
- React Native:@navsea/maplibre-particle-rn@13.6.1-particle.28;MapLibre RN 11.5.0,React Native >=0.80.0,Expo >=54.0.0 可选。
|
||||
- iOS SwiftPM:https://pbf.jpcn.ccwu.cc/swift/maplibre-particle-spm.git,Exact Version 6.29.0-particle.28,Product MapLibre,Metal iOS arm64 真机专用,无 Simulator slice。
|
||||
|
||||
## GSRL 核验与尚未验证
|
||||
|
||||
release.sh 28 prepare/build/publish:PASS;冻结源码提交、Android 四 ABI/Maven Local、RN pack、iOS Metal Bazel opt、NAS 原子发布、六项公网文件逐字节回读及 SwiftPM Tag 均通过。
|
||||
|
||||
尚未执行 V28 发行 AAR/XCFramework 的真机安装运行,以及 NavSea Host 的 CM95 Filter 查询/应用/恢复、iOS MLRN Bridge 和正式四档测试。构建/发行通过不等于安全语义或设备测试通过。
|
||||
|
||||
接收方需核验 Git Tag、SOURCE_LOCK、全部 SHA-256、依赖及 Host Filter 可信审核门槛。
|
||||
104
release/maplibre-particle/13.6.1-particle.28/SOURCE_LOCK.json
Normal file
104
release/maplibre-particle/13.6.1-particle.28/SOURCE_LOCK.json
Normal 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.28",
|
||||
"versions": {
|
||||
"android": "13.6.1-particle.28",
|
||||
"reactNative": "13.6.1-particle.28",
|
||||
"ios": "6.29.0-particle.28"
|
||||
},
|
||||
"source": {
|
||||
"gitRemote": "https://git.eyaku.jp/tei/MapLibreParticleLab",
|
||||
"gitCommit": "4d9cb0ef69dc4bb946c48377f4e1a5b2ba2bbbe8",
|
||||
"gitRef": "refs/tags/maplibre-particle/rn/13.6.1-particle.28",
|
||||
"note": "gitCommit是Android/RN/iOS共用的实际冻结构建源码;发行Tag指向含SOURCE_LOCK与Manifest的后续Final Commit。"
|
||||
},
|
||||
"files": [
|
||||
{
|
||||
"releaseUnit": "android",
|
||||
"name": "android-sdk-particle-opengl-13.6.1-particle.28.aar",
|
||||
"location": "https://pbf.jpcn.ccwu.cc/maven/cc/navsea/maplibre/android-sdk-particle-opengl/13.6.1-particle.28/android-sdk-particle-opengl-13.6.1-particle.28.aar",
|
||||
"sha256": "a60818db5987f5305d7f94f7eb64d4f3c757131a432cadc9f60c8c3467303f32",
|
||||
"sizeBytes": 16640539
|
||||
},
|
||||
{
|
||||
"releaseUnit": "android",
|
||||
"name": "android-sdk-particle-opengl-13.6.1-particle.28.pom",
|
||||
"location": "https://pbf.jpcn.ccwu.cc/maven/cc/navsea/maplibre/android-sdk-particle-opengl/13.6.1-particle.28/android-sdk-particle-opengl-13.6.1-particle.28.pom",
|
||||
"sha256": "20286294b9b210b225c370c7160ca35a023759d4dae58e091df2657d8d540554",
|
||||
"sizeBytes": 5687
|
||||
},
|
||||
{
|
||||
"releaseUnit": "android",
|
||||
"name": "android-sdk-particle-opengl-13.6.1-particle.28.module",
|
||||
"location": "https://pbf.jpcn.ccwu.cc/maven/cc/navsea/maplibre/android-sdk-particle-opengl/13.6.1-particle.28/android-sdk-particle-opengl-13.6.1-particle.28.module",
|
||||
"sha256": "883c81928d232160f1c80442c8d831fc362807c2ea5a68bded9b599eb844505c",
|
||||
"sizeBytes": 6999
|
||||
},
|
||||
{
|
||||
"releaseUnit": "reactNative",
|
||||
"name": "navsea-maplibre-particle-rn-13.6.1-particle.28.tgz",
|
||||
"location": "https://pbf.jpcn.ccwu.cc/npm/navsea-maplibre-particle-rn-13.6.1-particle.28.tgz",
|
||||
"sha256": "16726d076ad1117afd2134d578b24a7466c44e68173fb95fa962b5592bd2accd",
|
||||
"sizeBytes": 29063
|
||||
},
|
||||
{
|
||||
"releaseUnit": "ios",
|
||||
"name": "MapLibre.dynamic.xcframework.zip",
|
||||
"location": "https://pbf.jpcn.ccwu.cc/swift/maplibre-particle/6.29.0-particle.28/MapLibre.dynamic.xcframework.zip",
|
||||
"sha256": "577d0784f1e436c04b3cf0bd0213ce38fdf14612898367ec6e7c73156b82cd74",
|
||||
"sizeBytes": 4187287
|
||||
},
|
||||
{
|
||||
"releaseUnit": "ios",
|
||||
"name": "MapLibre.dynamic.xcframework.zip.sha256",
|
||||
"location": "https://pbf.jpcn.ccwu.cc/swift/maplibre-particle/6.29.0-particle.28/MapLibre.dynamic.xcframework.zip.sha256",
|
||||
"sha256": "fa52c0e75b04a9e81d4e21f3be4bcfe0586fccfee3dcc242784cbdb85397a91a",
|
||||
"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.28",
|
||||
"coordinate": "cc.navsea.maplibre:android-sdk-particle-opengl:13.6.1-particle.28",
|
||||
"role": "OpenGL AAR, arm64-v8a/armeabi-v7a/x86/x86_64"
|
||||
},
|
||||
{
|
||||
"name": "iOS SwiftPM MapLibre",
|
||||
"version": "6.29.0-particle.28",
|
||||
"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.28/README.md",
|
||||
"releaseManifest": "release/maplibre-particle/release-manifest.json",
|
||||
"status": "RELEASED",
|
||||
"validation": {
|
||||
"publicReadback": "PASS - release.sh 28 publish exit 0; six public files byte-compared; SwiftPM tag checked",
|
||||
"androidBuild": "PASS - OpenGL Release four ABI from frozen source 4d9cb0ef69dc4bb946c48377f4e1a5b2ba2bbbe8",
|
||||
"iosMetalBuild": "PASS - Bazel opt Metal ios-arm64 XCFramework, no simulator slice",
|
||||
"reactNativePack": "PASS - npm pack 13.6.1-particle.28; MapLibre RN 11.5.0 peer",
|
||||
"newNativeIosAPI": "COMPILED - rawStyleFilterJSONObjectWithError and setRawStyleFilterJSONObject:error exported in iOS framework headers; no independent device invocation",
|
||||
"androidDevice": "NOT_TESTED - V28 final AAR on physical device",
|
||||
"iosMetalDevice": "NOT_TESTED - V28 final XCFramework on physical device",
|
||||
"navseaHostIntegration": "NOT_TESTED - NavSea MLRN iOS bridge and native app build remain separate",
|
||||
"note": "GSRL RELEASED certifies source, files, dependencies and public readback, not full CM95 runtime or device tests."
|
||||
}
|
||||
}
|
||||
@@ -9,8 +9,8 @@ let package = Package(
|
||||
targets: [
|
||||
.binaryTarget(
|
||||
name: "MapLibre",
|
||||
url: "https://pbf.jpcn.ccwu.cc/swift/maplibre-particle/6.29.0-particle.27/MapLibre.dynamic.xcframework.zip",
|
||||
checksum: "5dbde28600df35484a7f31e7c7c4780f27b919fc6ec59f6aa88d65d81342448c"
|
||||
url: "https://pbf.jpcn.ccwu.cc/swift/maplibre-particle/6.29.0-particle.28/MapLibre.dynamic.xcframework.zip",
|
||||
checksum: "577d0784f1e436c04b3cf0bd0213ce38fdf14612898367ec6e7c73156b82cd74"
|
||||
),
|
||||
]
|
||||
)
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
# MapLibre Particle iOS 发行
|
||||
|
||||
当前正式发行:6.29.0-particle.27
|
||||
当前正式发行:6.29.0-particle.28
|
||||
|
||||
- Renderer:Metal
|
||||
- Product / Module:MapLibre
|
||||
- Binary:https://pbf.jpcn.ccwu.cc/swift/maplibre-particle/6.29.0-particle.27/MapLibre.dynamic.xcframework.zip
|
||||
- SHA-256:5dbde28600df35484a7f31e7c7c4780f27b919fc6ec59f6aa88d65d81342448c
|
||||
- Binary:https://pbf.jpcn.ccwu.cc/swift/maplibre-particle/6.29.0-particle.28/MapLibre.dynamic.xcframework.zip
|
||||
- SHA-256:577d0784f1e436c04b3cf0bd0213ce38fdf14612898367ec6e7c73156b82cd74
|
||||
- SwiftPM:https://pbf.jpcn.ccwu.cc/swift/maplibre-particle-spm.git
|
||||
- Exact Version:6.29.0-particle.27
|
||||
- Source Commit:970e3ad606e59873a32e9389e65ef257e1c259bb
|
||||
- Exact Version:6.29.0-particle.28
|
||||
- Source Commit:4d9cb0ef69dc4bb946c48377f4e1a5b2ba2bbbe8
|
||||
|
||||
构建命令固定为:
|
||||
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
{
|
||||
"schemaVersion": 2,
|
||||
"status": "PUBLISHED_PUBLIC_READBACK_PASS",
|
||||
"distributionVersion": "6.29.0-particle.27",
|
||||
"distributionVersion": "6.29.0-particle.28",
|
||||
"moduleName": "MapLibre",
|
||||
"compilationMode": "opt",
|
||||
"artifact": {
|
||||
"fileName": "MapLibre.dynamic.xcframework.zip",
|
||||
"sizeBytes": 4181894,
|
||||
"sha256": "5dbde28600df35484a7f31e7c7c4780f27b919fc6ec59f6aa88d65d81342448c",
|
||||
"url": "https://pbf.jpcn.ccwu.cc/swift/maplibre-particle/6.29.0-particle.27/MapLibre.dynamic.xcframework.zip"
|
||||
"sizeBytes": 4187287,
|
||||
"sha256": "577d0784f1e436c04b3cf0bd0213ce38fdf14612898367ec6e7c73156b82cd74",
|
||||
"url": "https://pbf.jpcn.ccwu.cc/swift/maplibre-particle/6.29.0-particle.28/MapLibre.dynamic.xcframework.zip"
|
||||
},
|
||||
"sourceCommit": "970e3ad606e59873a32e9389e65ef257e1c259bb",
|
||||
"sourceCommit": "4d9cb0ef69dc4bb946c48377f4e1a5b2ba2bbbe8",
|
||||
"swiftPackage": {
|
||||
"url": "https://pbf.jpcn.ccwu.cc/swift/maplibre-particle-spm.git",
|
||||
"requirement": "exactVersion",
|
||||
"version": "6.29.0-particle.27",
|
||||
"version": "6.29.0-particle.28",
|
||||
"productName": "MapLibre"
|
||||
},
|
||||
"notes": "Metal renderer optimized release built with bazel build -c opt --//:renderer=metal //platform/ios:MapLibre.dynamic"
|
||||
|
||||
@@ -1,49 +1,49 @@
|
||||
{
|
||||
"schemaVersion": 2,
|
||||
"releaseState": "PUBLISHED_PUBLIC_READBACK_PASS",
|
||||
"particleRevision": 27,
|
||||
"sourceCommit": "970e3ad606e59873a32e9389e65ef257e1c259bb",
|
||||
"generatedAtUtc": "2026-10-14T01:50:45.060383+00:00",
|
||||
"particleRevision": 28,
|
||||
"sourceCommit": "4d9cb0ef69dc4bb946c48377f4e1a5b2ba2bbbe8",
|
||||
"generatedAtUtc": "2026-10-21T07:17:43.623656+00:00",
|
||||
"reactNative": {
|
||||
"name": "@navsea/maplibre-particle-rn",
|
||||
"version": "13.6.1-particle.27",
|
||||
"version": "13.6.1-particle.28",
|
||||
"artifact": {
|
||||
"fileName": "navsea-maplibre-particle-rn-13.6.1-particle.27.tgz",
|
||||
"sizeBytes": 29040,
|
||||
"sha256": "fdd67210debd8363d4bf72fcc0120ef747dc3037d55b8c0d83330dd98bb0bc5d",
|
||||
"url": "https://pbf.jpcn.ccwu.cc/npm/navsea-maplibre-particle-rn-13.6.1-particle.27.tgz"
|
||||
"fileName": "navsea-maplibre-particle-rn-13.6.1-particle.28.tgz",
|
||||
"sizeBytes": 29063,
|
||||
"sha256": "16726d076ad1117afd2134d578b24a7466c44e68173fb95fa962b5592bd2accd",
|
||||
"url": "https://pbf.jpcn.ccwu.cc/npm/navsea-maplibre-particle-rn-13.6.1-particle.28.tgz"
|
||||
},
|
||||
"mapLibreReactNative": "11.5.0"
|
||||
},
|
||||
"android": {
|
||||
"version": "13.6.1-particle.27",
|
||||
"coordinate": "cc.navsea.maplibre:android-sdk-particle-opengl:13.6.1-particle.27",
|
||||
"version": "13.6.1-particle.28",
|
||||
"coordinate": "cc.navsea.maplibre:android-sdk-particle-opengl:13.6.1-particle.28",
|
||||
"renderer": "opengl",
|
||||
"artifact": {
|
||||
"fileName": "android-sdk-particle-opengl-13.6.1-particle.27.aar",
|
||||
"fileName": "android-sdk-particle-opengl-13.6.1-particle.28.aar",
|
||||
"sizeBytes": 16640539,
|
||||
"sha256": "2ff3ead8e5d7cb8802a4c05ba20cd7f8f0a7029f72619f9a2ec176c942ae8de4",
|
||||
"url": "https://pbf.jpcn.ccwu.cc/maven/cc/navsea/maplibre/android-sdk-particle-opengl/13.6.1-particle.27/android-sdk-particle-opengl-13.6.1-particle.27.aar"
|
||||
"sha256": "a60818db5987f5305d7f94f7eb64d4f3c757131a432cadc9f60c8c3467303f32",
|
||||
"url": "https://pbf.jpcn.ccwu.cc/maven/cc/navsea/maplibre/android-sdk-particle-opengl/13.6.1-particle.28/android-sdk-particle-opengl-13.6.1-particle.28.aar"
|
||||
},
|
||||
"ndk": "28.2.13676358",
|
||||
"gradle": "9.5.1",
|
||||
"jdk": "openjdk version \"17.0.20.1\" 2026-08-18"
|
||||
},
|
||||
"ios": {
|
||||
"distributionVersion": "6.29.0-particle.27",
|
||||
"distributionVersion": "6.29.0-particle.28",
|
||||
"renderer": "metal",
|
||||
"compilationMode": "opt",
|
||||
"moduleName": "MapLibre",
|
||||
"artifact": {
|
||||
"fileName": "MapLibre.dynamic.xcframework.zip",
|
||||
"sizeBytes": 4181894,
|
||||
"sha256": "5dbde28600df35484a7f31e7c7c4780f27b919fc6ec59f6aa88d65d81342448c",
|
||||
"url": "https://pbf.jpcn.ccwu.cc/swift/maplibre-particle/6.29.0-particle.27/MapLibre.dynamic.xcframework.zip"
|
||||
"sizeBytes": 4187287,
|
||||
"sha256": "577d0784f1e436c04b3cf0bd0213ce38fdf14612898367ec6e7c73156b82cd74",
|
||||
"url": "https://pbf.jpcn.ccwu.cc/swift/maplibre-particle/6.29.0-particle.28/MapLibre.dynamic.xcframework.zip"
|
||||
},
|
||||
"swiftPackage": {
|
||||
"url": "https://pbf.jpcn.ccwu.cc/swift/maplibre-particle-spm.git",
|
||||
"requirement": "exactVersion",
|
||||
"version": "6.29.0-particle.27",
|
||||
"version": "6.29.0-particle.28",
|
||||
"productName": "MapLibre"
|
||||
},
|
||||
"xcode": "Xcode 26.3 Build version 17C529 ",
|
||||
|
||||
Reference in New Issue
Block a user