From a6688b4a49cfae54a5f2808b73126ecf3b8bf4b2 Mon Sep 17 00:00:00 2001 From: xweiba Date: Sun, 9 Aug 2026 15:32:41 +0800 Subject: [PATCH] chore: prepare v1.0.3 release --- README.en.md | 2 +- README.md | 2 +- Shared/AppRemoteConfiguration.swift | 2 +- .../AppRemoteConfigurationTests.swift | 2 +- Tests/third_party_mode_contract_test.sh | 4 +-- .../update_and_contribution_contract_test.sh | 2 +- docs/CHANGELOG.md | 1 + docs/releases/v1.0.3.md | 32 +++++++++++++++++++ project.yml | 4 +-- version.txt | 2 +- 10 files changed, 43 insertions(+), 10 deletions(-) create mode 100644 docs/releases/v1.0.3.md diff --git a/README.en.md b/README.en.md index ed529e2..128f8e7 100644 --- a/README.en.md +++ b/README.en.md @@ -12,7 +12,7 @@ responses in a controlled test environment. [![iOS 15+](https://img.shields.io/badge/iOS-15%2B-111111?logo=apple)](project.yml) [![Swift 5.9](https://img.shields.io/badge/Swift-5.9-F05138)](project.yml) [![Go 1.23+](https://img.shields.io/badge/Go-1.23%2B-00ADD8?logo=go)](Core/go.mod) -[![Version](https://img.shields.io/badge/version-v1.0.2-2563EB)](docs/CHANGELOG.md) +[![Version](https://img.shields.io/badge/version-v1.0.3-2563EB)](docs/CHANGELOG.md) [Features](#feature-overview) · [How It Works](#how-it-works) · diff --git a/README.md b/README.md index 7442407..5e3e76b 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ [![iOS 15+](https://img.shields.io/badge/iOS-15%2B-111111?logo=apple)](project.yml) [![Swift 5.9](https://img.shields.io/badge/Swift-5.9-F05138)](project.yml) [![Go 1.23+](https://img.shields.io/badge/Go-1.23%2B-00ADD8?logo=go)](Core/go.mod) -[![Version](https://img.shields.io/badge/version-v1.0.2-2563EB)](docs/CHANGELOG.md) +[![Version](https://img.shields.io/badge/version-v1.0.3-2563EB)](docs/CHANGELOG.md) [功能概览](#功能概览) · [工作原理](#工作原理) · diff --git a/Shared/AppRemoteConfiguration.swift b/Shared/AppRemoteConfiguration.swift index 209b185..3b5ab78 100644 --- a/Shared/AppRemoteConfiguration.swift +++ b/Shared/AppRemoteConfiguration.swift @@ -23,7 +23,7 @@ struct AppRemoteConfiguration: Decodable, Equatable { let communityPromptClients: [String] static let fallback = AppRemoteConfiguration( - latestVersion: "1.0.2", + latestVersion: "1.0.3", minimumSupportedVersion: "1.0.0", communityPromptClients: [ ThirdPartyProxyClient.surge.rawValue, diff --git a/Tests/PaopaoLocationSpooferTests/AppRemoteConfigurationTests.swift b/Tests/PaopaoLocationSpooferTests/AppRemoteConfigurationTests.swift index 48d8c3d..b4b62c8 100644 --- a/Tests/PaopaoLocationSpooferTests/AppRemoteConfigurationTests.swift +++ b/Tests/PaopaoLocationSpooferTests/AppRemoteConfigurationTests.swift @@ -62,7 +62,7 @@ final class AppRemoteConfigurationTests: XCTestCase { func testFallbackMatchesCurrentProjectPolicy() { let configuration = AppRemoteConfiguration.fallback - XCTAssertEqual(configuration.latestVersion, "1.0.2") + XCTAssertEqual(configuration.latestVersion, "1.0.3") XCTAssertEqual(configuration.minimumSupportedVersion, "1.0.0") XCTAssertFalse(configuration.requestsCommunityPrompt(for: .shadowrocket)) for client in ThirdPartyProxyClient.allCases where client != .shadowrocket { diff --git a/Tests/third_party_mode_contract_test.sh b/Tests/third_party_mode_contract_test.sh index f6badb0..f9423d3 100755 --- a/Tests/third_party_mode_contract_test.sh +++ b/Tests/third_party_mode_contract_test.sh @@ -112,7 +112,7 @@ test -s "$ROOT/docs/onboarding-screenshots/shadowrocket/shadowrocket-module-impo grep -q 'presentSuccessfulOperationTip(.activation)' "$ROOT/App/MapHomeView.swift" || fail "third-party save must present the activation tip" grep -q 'presentSuccessfulOperationTip(.deactivation)' "$ROOT/App/MapHomeView.swift" || fail "third-party clear must present the deactivation tip" grep -q 'if spoofState == .active' "$ROOT/App/MapHomeView.swift" || fail "manual help must follow the shared spoof state" -grep -q 'MARKETING_VERSION: "1.0.2"' "$ROOT/project.yml" || fail "marketing version must be 1.0.2" -grep -q 'CURRENT_PROJECT_VERSION: "3"' "$ROOT/project.yml" || fail "build version must be 3" +grep -q 'MARKETING_VERSION: "1.0.3"' "$ROOT/project.yml" || fail "marketing version must be 1.0.3" +grep -q 'CURRENT_PROJECT_VERSION: "4"' "$ROOT/project.yml" || fail "build version must be 4" echo "PASS: third-party proxy mode contract" diff --git a/Tests/update_and_contribution_contract_test.sh b/Tests/update_and_contribution_contract_test.sh index 12faeb6..2308a31 100644 --- a/Tests/update_and_contribution_contract_test.sh +++ b/Tests/update_and_contribution_contract_test.sh @@ -25,7 +25,7 @@ import sys with open(sys.argv[1], encoding="utf-8") as handle: config = json.load(handle) -assert config["latestVersion"] == "1.0.2" +assert config["latestVersion"] == "1.0.3" assert config["minimumSupportedVersion"] == "1.0.0" assert "shadowrocket" not in config["communityPromptClients"] assert set(config["communityPromptClients"]) == { diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 2a54e5c..6b84b4a 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -4,6 +4,7 @@ ## 已发布 +- [v1.0.3](https://github.com/xweiba/location-spoofer/releases/tag/v1.0.3) — 2026-08-09 - [v1.0.2](https://github.com/xweiba/location-spoofer/releases/tag/v1.0.2) — 2026-08-07 - [v1.0.1](https://github.com/xweiba/location-spoofer/releases/tag/v1.0.1) — 2026-08-06 - [v1.0.0](https://github.com/xweiba/location-spoofer/releases/tag/v1.0.0) — 2026-08-05 diff --git a/docs/releases/v1.0.3.md b/docs/releases/v1.0.3.md new file mode 100644 index 0000000..f3ba26d --- /dev/null +++ b/docs/releases/v1.0.3.md @@ -0,0 +1,32 @@ +# v1.0.3 + +发布日期:2026-08-09 + +## 主要更新 + +- 增加 APP 模式与第三方代理模式的独立初始化状态和切换引导。 +- 调整环境检测时机,启动时不再阻塞首屏,开启虚拟定位时再执行检测。 +- 完善证书重置、下载、安装、信任和异常修复流程。 +- 完善第三方代理导入、连接检测、诊断日志和客户端跳转。 + +## 第三方代理与社区 + +- 增加 Shadowrocket 图文引导并修正配置步骤顺序。 +- 增加社区配置分享、Bug 报告和 GitHub Discussions 工作流。 +- 补充第三方 WLOC 配置接口、JSON 格式及客户端适配说明。 +- 支持通过远程配置控制社区投稿提示。 + +## 更新与兼容性 + +- 增加异步版本检测,支持强制更新和推荐更新策略。 +- App 内置远程配置兜底,不因 GitHub 访问超时阻塞首屏。 +- 新生成的根证书固定显示为 `Location Spoofer CA`;已有有效证书继续复用。 + +## 自签安装 + +- Release 附件为未签名 IPA,安装前需要自行签名。 +- 可使用免费 Apple ID 和 Impactor 完成签名安装,无需付费开发者账号。 +- 签名时请保留 Bundle ID `com.paopaolabs.location-spoofer`、App Group `group.com.paopaolabs.location-spoofer` 及原有 entitlements。 +- 免费 Apple ID 签名通常只有 7 天有效期,到期后需要重新签名安装。 + + diff --git a/project.yml b/project.yml index 711956c..313db83 100644 --- a/project.yml +++ b/project.yml @@ -8,8 +8,8 @@ options: settings: base: SWIFT_VERSION: "5.9" - MARKETING_VERSION: "1.0.2" - CURRENT_PROJECT_VERSION: "3" + MARKETING_VERSION: "1.0.3" + CURRENT_PROJECT_VERSION: "4" CODE_SIGN_STYLE: Manual CODE_SIGNING_ALLOWED: "NO" CODE_SIGNING_REQUIRED: "NO" diff --git a/version.txt b/version.txt index 57047d7..a34e7b1 100644 --- a/version.txt +++ b/version.txt @@ -1,5 +1,5 @@ { - "latestVersion": "1.0.2", + "latestVersion": "1.0.3", "minimumSupportedVersion": "1.0.0", "communityPromptClients": ["surge", "quantumultX", "loon", "stash", "egern"] }