{
  "latest_version": "6.21",
  "latest_versionCode": 151,
  "releases": [
    {
      "version": "6.21",
      "versionCode": 151,
      "date": "2026-11-11",
      "title": "强制更新",
      "changes": [
        "服务端可在后台切换强制更新",
        "更新弹窗只剩「立即更新」",
        "界面恢复纸质卡片风格"
      ]
    },
    {
      "version": "6.20",
      "versionCode": 150,
      "date": "2026-10-31",
      "title": "界面回退",
      "changes": [
        "回退 6.18 / 6.19 的液态玻璃实验，界面恢复为原来的纸质卡片风格",
        "界面与 6.17 一致；功能上包含此前全部修复",
        "授权吊销、删除、过期会分别提示",
        "修正「检查新版本 → 已是最新版本」显示成 6.00 的问题",
        "启动时校验授权并检查更新"
      ]
    },
    {
      "version": "6.17",
      "versionCode": 147,
      "date": "2026-10-27",
      "title": "授权状态与版本号",
      "changes": [
        "后台吊销、删除、过期现在会分别提示，不再只显示一句「尚未授权」",
        "修正本地缓存未随服务端吊销失效、导致授权页与主界面反复互跳的问题",
        "修正「检查新版本 → 已是最新版本」显示成 6.00 的问题",
        "修正上报与诊断日志里的版本号"
      ]
    },
    {
      "version": "6.16",
      "versionCode": 146,
      "date": "2026-10-27",
      "title": "启动即校验",
      "changes": [
        "每次启动向服务端确认一次授权，后台吊销可立即生效",
        "首页授权信息会随状态变化刷新，不再停留在「未知」",
        "启动时检查更新；更新弹窗新增「立即更新」按钮",
        "网络异常时沿用本地缓存授权，断网不会把人挡在门外"
      ]
    },
    {
      "version": "6.15",
      "versionCode": 145,
      "date": "2026-10-27",
      "title": "云端授权",
      "changes": [
        "切换为云端授权：服务端可吊销、可续期，无需重新发码",
        "支持后台改到期日，用户下次心跳自动生效",
        "过渡期保留本地激活码兜底，老用户升级不中断"
      ]
    },
    {
      "version": "6.14",
      "versionCode": 144,
      "date": "2026-10-23",
      "title": "分发诊断",
      "changes": [
        "新增分发探针：以监听者身份记录系统实际推送的定位字段",
        "修正回读时间戳误报（改为与上次读回比较）",
        "报告新增「分发诊断」小节"
      ]
    },
    {
      "version": "6.13",
      "versionCode": 143,
      "date": "2026-10-23",
      "title": "完整诊断",
      "changes": [
        "新增注入字段级诊断（speed/bearing/accuracy/time 回读比对）",
        "新增环境快照（省电模式、定位模式、各 provider 状态）",
        "诊断日志缓冲扩到 2000 行，并标注线程名"
      ]
    },
    {
      "version": "6.12",
      "versionCode": 142,
      "date": "2026-10-22",
      "title": "授权与完整性",
      "changes": [
        "通用安装包模型：授权码激活",
        "签名指纹校验生效",
        "首页显示授权到期"
      ]
    },
    {
      "version": "6.11",
      "versionCode": 141,
      "date": "2026-10-22",
      "title": "完整性检测",
      "changes": [
        "新增安装包完整性检测：签名校验 + Hook 环境识别",
        "检测到异常时降级处理：关闭模拟定位注入并上报",
        "隐私政策补充完整性信息采集说明"
      ]
    },
    {
      "version": "6.10",
      "versionCode": 140,
      "date": "2026-10-21",
      "title": "通用包与更新通道",
      "changes": [
        "改为通用安装包 + 授权码模型，支持覆盖安装后保留授权",
        "更新检测改为静态清单，服务端只需两个文件",
        "设置页恢复版本历史与检查更新入口",
        "启动时立即申请定位权限"
      ]
    },
    {
      "version": "6.00",
      "versionCode": 130,
      "date": "2026-10-11",
      "title": "首个版本",
      "changes": [
        "路线绘制与跑步记录",
        "系统级模拟定位注入",
        "配速、距离与轨迹统计",
        "日间 / 夜间主题"
      ]
    }
  ]
}
