{
  "schema": 1,
  "product": "WMDebugger",
  "latest": "WMDebugger-2.3.0+59.apk",
  "releases": [
    {
      "fileName": "WMDebugger-2.3.0+59.apk",
      "versionName": "2.3.0",
      "versionCode": 59,
      "buildTime": "2026-08-15T22:06:35+08:00",
      "sizeBytes": 19247876,
      "sha256": "e07d2f39076a87edc25238bf364330de7b81b1e1a5ece972895d99fa5c68b10b",
      "forceUpdate": false,
      "changelog": [
        "配置页按设备角色简化：传感器只配上报地址，网关只配本机地址",
        "去掉网络密钥、绑定、解除绑定界面",
        "网关不再显示 STM32 传感参数页",
        "适配出厂写死密钥自动入网后的现场配置流程"
      ]
    },
    {
      "fileName": "WMDebugger-2.1.0+58.apk",
      "versionName": "2.1.0",
      "versionCode": 58,
      "buildTime": "2026-08-14T19:02:14+08:00",
      "sizeBytes": 19379772,
      "sha256": "2e890fd4d04ae14be19d552c068d7660fc01dd2cfc01468d8c583b3042ae8ab7",
      "forceUpdate": false,
      "changelog": [
        "连接后立即申请高连接优先级，不必等到开始 OTA",
        "透传一律带应答写，避免无应答写把 CH592 UART 堵死变慢"
      ]
    },
    {
      "fileName": "WMDebugger-2.2.0+58.apk",
      "versionName": "2.2.0",
      "versionCode": 58,
      "buildTime": "2026-08-14T21:59:55+08:00",
      "sizeBytes": 19379768,
      "sha256": "63ed6539fe65f6dd43e6737a639b05fd783fe35030491b5982195ee9325cc5e4",
      "forceUpdate": false,
      "changelog": [
        "BLE OTA 改用无应答 GATT 写入，避免 1K 数据包被拆成多次有应答写而变慢",
        "升级时请求高连接优先级，缩短连接间隔"
      ]
    },
    {
      "fileName": "WMDebugger-2.1.0+57.apk",
      "versionName": "2.1.0",
      "versionCode": 57,
      "buildTime": "2026-08-14T19:12:12+08:00",
      "sizeBytes": 19379772,
      "sha256": "128dd57a92e04fb9010faf3cb0eec1a650f7afe3120c575d9de71bd4829c6ec2",
      "forceUpdate": false,
      "changelog": [
        "BLE OTA 使用 Ymodem 1K 数据包，并在升级时请求高连接优先级",
        "取消升级时中止 Bootloader 会话，避免残留状态影响下次升级"
      ]
    },
    {
      "fileName": "WMDebugger-2.2.0+57.apk",
      "versionName": "2.2.0",
      "versionCode": 57,
      "buildTime": "2026-08-14T21:02:43+08:00",
      "sizeBytes": 19379768,
      "sha256": "0d8da3c1643a6d0aa9ffd92203035296201de07c316e1f68d40358ba0ba55ab1",
      "forceUpdate": false,
      "changelog": [
        "BLE OTA 改用 Ymodem 1K 数据包，并在升级时请求高连接优先级",
        "取消升级时向 Bootloader 发送 CA，避免残留会话导致下次升级失败",
        "OTA 开始前先清掉设备端可能残留的 Ymodem 状态"
      ]
    },
    {
      "fileName": "WMDebugger-2.1.0+56.apk",
      "versionName": "2.1.0",
      "versionCode": 56,
      "buildTime": "2026-08-14T17:58:36+08:00",
      "sizeBytes": 19379772,
      "sha256": "86cee466c5f18e6011d84ed0fe4862f1afefd10976c6969a79fcf367f29f9854",
      "forceUpdate": false,
      "changelog": [
        "取消升级时向 Bootloader 发送 CA，避免残留会话导致下次升级失败",
        "OTA 开始前先清掉设备端可能残留的 Ymodem 状态"
      ]
    },
    {
      "fileName": "WMDebugger-2.1.0+55.apk",
      "versionName": "2.1.0",
      "versionCode": 55,
      "buildTime": "2026-08-14T17:28:28+08:00",
      "sizeBytes": 19379772,
      "sha256": "c04e20a5786712004559832e3bc71ff947c1fdfd85ae009bbc40498416397f9b",
      "forceUpdate": false,
      "changelog": [
        "BLE OTA 改用 Ymodem 1K 数据包，减少每包往返次数",
        "OTA 期间请求高连接优先级，提升传输速度"
      ]
    },
    {
      "fileName": "WMDebugger-2.1.0+54.apk",
      "versionName": "2.1.0",
      "versionCode": 54,
      "buildTime": "2026-08-14T17:13:18+08:00",
      "sizeBytes": 19379772,
      "sha256": "7b52694e8af1c9ba296e3f086dee346fd928983208597ce7f078a569a55efa89",
      "forceUpdate": false,
      "changelog": [
        "修复 BLE OTA 传到一半卡住：Bootloader 用 C/NAK 要重发时，App 以前只认 ACK，会空等 12 秒才重试",
        "数据包超时从 12 秒降到 3 秒，收到重发请求立即重试"
      ]
    },
    {
      "fileName": "WMDebugger-2.1.0+53.apk",
      "versionName": "2.1.0",
      "versionCode": 53,
      "buildTime": "2026-08-14T16:58:05+08:00",
      "sizeBytes": 19379772,
      "sha256": "83f38b6c2dfa604689dfba4d5eab5ba56576d9ae0b9f29e8a9fa65dfe1c9eb48",
      "forceUpdate": false,
      "changelog": [
        "主板已在 Bootloader 时也可升级：先发 SEASKY ID 识别 FW=BOOT，不再先发 SET QUIET=1（旧 Boot 会把行里的 1 当成进下载）",
        "下载握手等待加长，适配 BLE 连接间隔；已在 Boot 时 SEASKY REBOOT OTA 由 Bootloader 直接进 Ymodem"
      ]
    },
    {
      "fileName": "WMDebugger-2.1.0+52.apk",
      "versionName": "2.1.0",
      "versionCode": 52,
      "buildTime": "2026-08-13T19:47:07+08:00",
      "sizeBytes": 19379772,
      "sha256": "6d7c2b5679ba808702e38ea7f14ca0183e77568aa1313bce5774c997a8b0f029",
      "forceUpdate": false,
      "changelog": [
        "传感参数改为每项单独下发 SEASKY SET CFG KEY=值 / SET MESH DST|SRC，不再一次写整包"
      ]
    },
    {
      "fileName": "WMDebugger-2.1.0+51.apk",
      "versionName": "2.1.0",
      "versionCode": 51,
      "buildTime": "2026-08-13T16:53:16+08:00",
      "sizeBytes": 19379772,
      "sha256": "a9ed1ed9bd3d1fceb715b5749c91f64646a2e396d7c5e689a7d4f840d45ccedb",
      "forceUpdate": false,
      "changelog": [
        "设备配置增加「传感参数」页：STM32 SEASKY CFG / TX / MESH / STATUS，与电脑端配置软件一致",
        "修复 WAVE/BASE 切换「设备未应答」：SEASKY 应答粘在 C55C 半帧后也能解析"
      ]
    },
    {
      "fileName": "WMDebugger-2.1.0+50.apk",
      "versionName": "2.1.0",
      "versionCode": 50,
      "buildTime": "2026-08-13T13:48:36+08:00",
      "sizeBytes": 19182972,
      "sha256": "39f27910734f4237c1f05e28ad8bf47767ed45363dcd3a34ff2580562c6c845c",
      "forceUpdate": false,
      "changelog": [
        "versionCode 调整为 50"
      ]
    },
    {
      "fileName": "WMDebugger-2.0.0+49.apk",
      "versionName": "2.0.0",
      "versionCode": 49,
      "buildTime": "2026-08-13T00:56:29+08:00",
      "sizeBytes": 19182968,
      "sha256": "a2e6fe87e2f167c1efa31adca4d643c8d80f77cc6928895ece694a88b95e9fc8",
      "forceUpdate": false,
      "changelog": [
        "当前工作区源码打包发布（2.0.0+49）"
      ]
    },
    {
      "fileName": "WMDebugger-2.0.0+48.apk",
      "versionName": "2.0.0",
      "versionCode": 48,
      "buildTime": "2026-08-13T00:31:42+08:00",
      "sizeBytes": 19182968,
      "sha256": "74b8a5eee5be01638b6f21fac4028c14534ed95e08cf8174104cddc8974fa58f",
      "forceUpdate": false,
      "changelog": [
        "OTA 数据包改回有应答写入；头包后等待 C；超时打印 RX；识别 NAK 立即重发"
      ]
    },
    {
      "fileName": "WMDebugger-2.0.0+47.apk",
      "versionName": "2.0.0",
      "versionCode": 47,
      "buildTime": "2026-08-13T00:22:53+08:00",
      "sizeBytes": 19182968,
      "sha256": "4de99387b72e702416764699354a5966b14578a98ce8306a5d30931d4788b1f9",
      "forceUpdate": false,
      "changelog": [
        "OTA 改回 SOH/128 分包（停用 STX/1K）"
      ]
    },
    {
      "fileName": "WMDebugger-2.0.0+46.apk",
      "versionName": "2.0.0",
      "versionCode": 46,
      "buildTime": "2026-08-13T00:17:41+08:00",
      "sizeBytes": 19182968,
      "sha256": "476b403354533a8dfe58d9575bda752c5828f6f62219b9fa99c3d5f0873e2aea",
      "forceUpdate": false,
      "changelog": [
        "修复 OTA 发 1K 包时 BLE 写入超长（247>244）：按实际 MTU 分包，不再把 MTU 压到 247"
      ]
    },
    {
      "fileName": "WMDebugger-2.0.0+45.apk",
      "versionName": "2.0.0",
      "versionCode": 45,
      "buildTime": "2026-08-13T00:12:39+08:00",
      "sizeBytes": 19182968,
      "sha256": "04865d04c1e047b11b64ef1a121948255d1bba1b539b46c5e1bce9b43e1edac3",
      "forceUpdate": false,
      "changelog": [
        "OTA：已在 Bootloader 时不再盲目发 SEASKY；优先等待握手 C（配合新 BL LPUART 自动要约）",
        "需 SWD 刷 Bootloader：时钟与 App 对齐；上电后 LPUART 主动发 C，无需再发菜单「1」"
      ]
    },
    {
      "fileName": "WMDebugger-2.0.0+44.apk",
      "versionName": "2.0.0",
      "versionCode": 44,
      "buildTime": "2026-08-13T00:04:46+08:00",
      "sizeBytes": 19182968,
      "sha256": "5b8add6f57069864ac93249c565e53e2886657ce74f2869fd9110ffd07b8dbe1",
      "forceUpdate": false,
      "changelog": [
        "STM32 OTA 进下载模式：先 GET VER 判断是否在 App，再清行缓冲并 REBOOT；未确认则重发；失败时打印回传片段便于排查",
        "数据块 1K/STX 加速；探测不再盲发多个 '1' 污染 SEASKY 缓冲"
      ]
    },
    {
      "fileName": "WMDebugger-2.0.0+43.apk",
      "versionName": "2.0.0",
      "versionCode": 43,
      "buildTime": "2026-08-12T23:58:53+08:00",
      "sizeBytes": 19182968,
      "sha256": "58b552bf9391b93986488d5a19645e6f00672522897bdfeb331dc7eb397f2d2b",
      "forceUpdate": false,
      "changelog": [
        "STM32 OTA 加速：数据块改用 Ymodem 1K/STX（Bootloader 已支持），ACK 往返约降为原来 1/8",
        "减少块日志与头包后固定等待；FFE3 支持无应答写时大数据块可更快（需刷含 WRITE_NO_RSP 的 CH592）",
        "修复探测 '1' 污染 SEASKY 行缓冲导致无法 REBOOT"
      ]
    },
    {
      "fileName": "WMDebugger-2.1.0+43.apk",
      "versionName": "2.1.0",
      "versionCode": 43,
      "buildTime": "2026-08-13T13:42:46+08:00",
      "sizeBytes": 19182972,
      "sha256": "35e151bc82d283a99ba03083a92a3d2611400bc2f66a9206c778f266e6012c17",
      "forceUpdate": false,
      "changelog": [
        "版本号调整为 2.1.0",
        "已在 Bootloader 时先探测菜单 '1'，收到握手 C 则跳过 SEASKY REBOOT OTA"
      ]
    },
    {
      "fileName": "WMDebugger-2.0.0+42.apk",
      "versionName": "2.0.0",
      "versionCode": 42,
      "buildTime": "2026-08-13T13:40:26+08:00",
      "sizeBytes": 19182968,
      "sha256": "100ec978f8cdf492ea78db2e9ee169a339f494bc9d9a41fe6d5f35b963823fc9",
      "forceUpdate": false,
      "changelog": [
        "已在 Bootloader 时先探测菜单 '1'，收到握手 C 则跳过 SEASKY REBOOT OTA，避免串口残留导致无法识别下载命令",
        "需配套会抽空 UART/清除溢出标志的 Bootloader"
      ]
    },
    {
      "fileName": "WMDebugger-2.0.0+41.apk",
      "versionName": "2.0.0",
      "versionCode": 41,
      "buildTime": "2026-08-13T01:13:03+08:00",
      "sizeBytes": 19182968,
      "sha256": "af721ae01ea6ba3e0950f329722166783ea05b093b4bd1642e56fb10a3ae9c4d",
      "forceUpdate": false,
      "changelog": [
        "传感器页展示 TMUX 六路压力 S1–S6，生理卡片显示峰值",
        "仅解析最新 V2 上报（WAVE 106B / BASE 31B），去掉旧版兼容",
        "修复 STM32 OTA 握手：先监听再发命令；REBOOT 后轮询菜单 '1'，不再盲等 OK",
        "OTA 期间暂停 C55C 上报，避免挤占 Ymodem；数据块 ACK 超时自动重发"
      ]
    },
    {
      "fileName": "WMDebugger-2.0.0+40.apk",
      "versionName": "2.0.0",
      "versionCode": 40,
      "buildTime": "2026-08-12T17:10:54+08:00",
      "sizeBytes": 19182968,
      "sha256": "4c526d5239dedb0af7a795e216a7c62488d083cca6228d942d41dd5cbb21f15a",
      "forceUpdate": false,
      "changelog": [
        "修复 STM32 OTA 握手：发 REBOOT 后尽快轮询菜单 '1'，不再盲等复位确认",
        "需配套已修 REBOOT 直发 OK 的 STM32 App，以及菜单超时加长/立即发 C 的 Bootloader"
      ]
    },
    {
      "fileName": "WMDebugger-2.0.0+39.apk",
      "versionName": "2.0.0",
      "versionCode": 39,
      "buildTime": "2026-08-12T16:59:19+08:00",
      "sizeBytes": 19182968,
      "sha256": "6a7a871bfc3a95d7f1a4b221c6e6e9aeac0b7b5174affafb517c58d6ef217ebf",
      "forceUpdate": false,
      "changelog": [
        "传感器页显示 TMUX 六路压力（S1–S6）；协议仅兼容 V2（31B/106B）",
        "修复 STM32 OTA 卡在等待握手 C：先听 RX 再进下载模式，菜单命令可重试",
        "需配套 Bootloader（菜单超时 15s、进入 Ymodem 立即发 C）与 STM32 App V4.0+"
      ]
    },
    {
      "fileName": "WMDebugger-2.0.0+38.apk",
      "versionName": "2.0.0",
      "versionCode": 38,
      "buildTime": "2026-08-11T17:25:16+08:00",
      "sizeBytes": 19182968,
      "sha256": "78473e5f36201ac78c9a2eb0917b56b1841d087828e79920fa8b9aa813ba4600",
      "forceUpdate": false,
      "changelog": [
        "2.0.0：STM32 指令统一 SEASKY（查版本 / QUIET / TX=WAVE|BASE / REBOOT OTA）；删除旧 ASCII 与 LEGACY 120B",
        "需配套 STM32 固件 V4.0+、CH592 Mesh V4.0+ 与配置软件 2.0.x"
      ]
    },
    {
      "fileName": "WMDebugger-1.0.0+37.apk",
      "versionName": "1.0.0",
      "versionCode": 37,
      "buildTime": "2026-08-11T12:17:36+08:00",
      "sizeBytes": 19182968,
      "sha256": "315d93aa2d0094784677441099acaf8a65792d869349467b491652bf1cb13df1",
      "forceUpdate": false,
      "changelog": [
        "修复「上报目标地址」配置失效：保存后用 FFE1 快照回读确认，不再依赖易被 C55C 挤丢的 FFE4 应答",
        "配套说明：需同步烧录含 Mesh 路由修复的 CH592 固件，配置非 0x0014 网关地址才能真正生效"
      ]
    },
    {
      "fileName": "WMDebugger-1.0.0+36.apk",
      "versionName": "1.0.0",
      "versionCode": 36,
      "buildTime": "2026-08-04T17:27:47+08:00",
      "sizeBytes": 19182968,
      "sha256": "e6447144d0b00343c4ead7a22aadcb655dabc52813b2487b7dcce2be630ec263",
      "forceUpdate": false,
      "changelog": [
        "固件与 APP 自更新下载域名切换为 download.wavemill.cn（路径仍为 /wavemill/...）",
        "与服务器新发布目录对齐，请升级后使用在线 OTA"
      ]
    },
    {
      "fileName": "WMDebugger-1.0.0+35.apk",
      "versionName": "1.0.0",
      "versionCode": 35,
      "buildTime": "2026-06-29T21:53:39+08:00",
      "sizeBytes": 19182968,
      "sha256": "7eeefc4fe99aeaef986ed6d8008c4fe4da1ea1f1c0579c8cd2e0636d7f47c4bc",
      "forceUpdate": false,
      "changelog": [
        "传感器页 30 秒平均心率（整数显示）与上报时间戳",
        "版本号发布 1.0.0+33"
      ]
    },
    {
      "fileName": "WMDebugger-1.0.0+33.apk",
      "versionName": "1.0.0",
      "versionCode": 33,
      "buildTime": "2026-06-27T13:52:02+08:00",
      "sizeBytes": 19182968,
      "sha256": "83562d1f388929997c19960d237159b5709a7d8754a1e977f5ac09359cac0298",
      "forceUpdate": false,
      "changelog": [
        "传感器页 30 秒平均心率（整数显示）与上报时间戳",
        "版本号发布 1.0.0+33"
      ]
    },
    {
      "fileName": "WMDebugger-1.0.0+32.apk",
      "versionName": "1.0.0",
      "versionCode": 32,
      "buildTime": "2026-06-27T13:50:18+08:00",
      "sizeBytes": 19182872,
      "sha256": "7d6e362c4ba1c7d808d08d5eeb34176abaa9d16b631118eac5764d78ffb9af12",
      "forceUpdate": false,
      "changelog": [
        "传感器页 30 秒平均心率（整数显示）与上报时间戳",
        "版本号发布 1.0.0+32"
      ]
    },
    {
      "fileName": "WMDebugger-1.0.0+31.apk",
      "versionName": "1.0.0",
      "versionCode": 31,
      "buildTime": "2026-06-27T13:40:13+08:00",
      "sizeBytes": 19182876,
      "sha256": "fcf2283c6af9275a2b4ce5d677a814f9175fe5b6d69e3f4e969b22781319c952",
      "forceUpdate": false,
      "changelog": [
        "心率四舍五入"
      ]
    },
    {
      "fileName": "WMDebugger-1.0.0+30.apk",
      "versionName": "1.0.0",
      "versionCode": 30,
      "buildTime": "2026-06-27T13:35:43+08:00",
      "sizeBytes": 19182876,
      "sha256": "3711cedd7d7126013ab344e0bd48b4c7b69f99f9976ca5ff7bb471684d0b214a",
      "forceUpdate": false,
      "changelog": [
        "# 下一版 changelog",
        "传感器页心率改为最近 30 秒滑动平均，四舍五入显示整数 bpm",
        "生命体征卡片增加最近一次上报的本地时间戳",
        "标签显示为「心率(30s均)」便于区分瞬时与均值"
      ]
    },
    {
      "fileName": "WMDebugger-1.0.0+29.apk",
      "versionName": "1.0.0",
      "versionCode": 29,
      "buildTime": "2026-05-20T21:57:45+08:00",
      "sizeBytes": 19182876,
      "sha256": "2d9b739c88e01f3626916c7aab096d2724226ccc379a81cbf77c859f33d9c1f7",
      "forceUpdate": false,
      "changelog": []
    },
    {
      "fileName": "WMDebugger-1.0.0+28.apk",
      "versionName": "1.0.0",
      "versionCode": 28,
      "buildTime": "2026-05-20T21:25:13+08:00",
      "sizeBytes": 19182824,
      "sha256": "40c1a13665d0d71e8d6608e32d3541ba25e63a6df2543e1695d6c0970a9fad59",
      "forceUpdate": false,
      "changelog": []
    },
    {
      "fileName": "WMDebugger-1.0.0+27.apk",
      "versionName": "1.0.0",
      "versionCode": 27,
      "buildTime": "2026-05-20T21:09:23+08:00",
      "sizeBytes": 19182824,
      "sha256": "79ca76fd3ca49f8260a9be7160762f90013eda91a1322e4e553b39b052c380b9",
      "forceUpdate": false,
      "changelog": []
    },
    {
      "fileName": "WMDebugger-1.0.0+26.apk",
      "versionName": "1.0.0",
      "versionCode": 26,
      "buildTime": "2026-05-19T23:15:41+08:00",
      "sizeBytes": 19182824,
      "sha256": "46fa10564e612f9ecef461018eca1f2dbcd623e5095576a638451c4c984fc4e5",
      "forceUpdate": false,
      "changelog": [
        "STM32版本号读取"
      ]
    },
    {
      "fileName": "WMDebugger-1.0.0+25.apk",
      "versionName": "1.0.0",
      "versionCode": 25,
      "buildTime": "2026-05-19T23:11:32+08:00",
      "sizeBytes": 19182824,
      "sha256": "a4d0450b68bfb4bc92e2fbee365e6b274d135b776446e1de73f0ce8662800770",
      "forceUpdate": false,
      "changelog": [
        "优化界面和术语显示"
      ]
    },
    {
      "fileName": "WMDebugger-1.0.0+24.apk",
      "versionName": "1.0.0",
      "versionCode": 24,
      "buildTime": "2026-05-19T22:36:30+08:00",
      "sizeBytes": 19182452,
      "sha256": "54338ecc7952852d93b3526e871c0d21c64bc6eaf6655801c505f9f37e1eaf3b",
      "forceUpdate": false,
      "changelog": [
        "OTA"
      ]
    },
    {
      "fileName": "WMDebugger-1.0.0+23.apk",
      "versionName": "1.0.0",
      "versionCode": 23,
      "buildTime": "2026-05-19T21:51:26+08:00",
      "sizeBytes": 19182456,
      "sha256": "412c7bf8273b1f468f3942ba97c8e5b68c5b01bd427cf9d8127ff2933adc2433",
      "forceUpdate": false,
      "changelog": [
        "ota"
      ]
    },
    {
      "fileName": "WMDebugger-1.0.0+22.apk",
      "versionName": "1.0.0",
      "versionCode": 22,
      "buildTime": "2026-05-19T21:04:12+08:00",
      "sizeBytes": 19182456,
      "sha256": "56318965e21892e3f617acd614ddc37aa9343ca7f879051a1a51510c6fb7313a",
      "forceUpdate": false,
      "changelog": [
        "OTA修复"
      ]
    },
    {
      "fileName": "WMDebugger-1.0.0+21.apk",
      "versionName": "1.0.0",
      "versionCode": 21,
      "buildTime": "2026-05-19T20:44:46+08:00",
      "sizeBytes": 19182456,
      "sha256": "aa9dd7e01bbf42cba8dd8cf24bf9c54855241e156235337b61023cbae7a6f5db",
      "forceUpdate": false,
      "changelog": []
    },
    {
      "fileName": "WMDebugger-1.0.0+20.apk",
      "versionName": "1.0.0",
      "versionCode": 20,
      "buildTime": "2026-05-19T20:36:42+08:00",
      "sizeBytes": 19182456,
      "sha256": "906a076b49a0f5126d75321313efa6999229c4a110f393b471a8b7e2c1ef4993",
      "forceUpdate": false,
      "changelog": []
    },
    {
      "fileName": "WMDebugger-1.0.0+19.apk",
      "versionName": "1.0.0",
      "versionCode": 19,
      "buildTime": "2026-05-19T20:27:09+08:00",
      "sizeBytes": 19182456,
      "sha256": "27f7e5802fe204d2d93aa7a3eb36be840efc9078c57a131c0879fe221edfd158",
      "forceUpdate": false,
      "changelog": [
        "OTA修复"
      ]
    },
    {
      "fileName": "WMDebugger-1.0.0+18.apk",
      "versionName": "1.0.0",
      "versionCode": 18,
      "buildTime": "2026-05-19T20:21:59+08:00",
      "sizeBytes": 19182456,
      "sha256": "ea61a5e25ff3b7be32bc96e0cbb5f215b659ae3803cf3645c3dd6fda4bbc95b4",
      "forceUpdate": false,
      "changelog": [
        "ota"
      ]
    },
    {
      "fileName": "WMDebugger-1.0.0+17.apk",
      "versionName": "1.0.0",
      "versionCode": 17,
      "buildTime": "2026-05-19T20:03:30+08:00",
      "sizeBytes": 19182456,
      "sha256": "f51d8ff181eadec4354eb125163f0e0144d1b21f193584e576a4c417352f3851",
      "forceUpdate": false,
      "changelog": [
        "TEST"
      ]
    },
    {
      "fileName": "WMDebugger-1.0.0+15.apk",
      "versionName": "1.0.0",
      "versionCode": 15,
      "buildTime": "2026-05-19T16:19:30+08:00",
      "sizeBytes": 18721756,
      "sha256": "09274c55407e25c94cdd7b09b3f3ec3daebf0fc4a502687e6ddfb43084f6bcce",
      "forceUpdate": false,
      "changelog": [
        "HEX2ASCII转换"
      ]
    },
    {
      "fileName": "WMDebugger-1.0.0+14.apk",
      "versionName": "1.0.0",
      "versionCode": 14,
      "buildTime": "2026-05-19T16:14:55+08:00",
      "sizeBytes": 18721756,
      "sha256": "545c3887c41fd9b4a2c91b1422153bb3762f9c1e8c6ad2102c66ef31866f11fb",
      "forceUpdate": false,
      "changelog": [
        "修复蓝牙连接问题"
      ]
    },
    {
      "fileName": "WMDebugger-1.0.0+13.apk",
      "versionName": "1.0.0",
      "versionCode": 13,
      "buildTime": "2026-05-19T16:10:25+08:00",
      "sizeBytes": 18721756,
      "sha256": "6e7097e2ae07977dfb930d166a0b4b8e9098a2c0a8027028ea154162914d9cdf",
      "forceUpdate": false,
      "changelog": [
        "修复配网+1"
      ]
    },
    {
      "fileName": "WMDebugger-1.0.0+12.apk",
      "versionName": "1.0.0",
      "versionCode": 12,
      "buildTime": "2026-05-19T16:07:32+08:00",
      "sizeBytes": 18721756,
      "sha256": "bc3423b1535285aff26be9bff85b65f1f496611857fd9f55fec967a9caaa6739",
      "forceUpdate": false,
      "changelog": [
        "test"
      ]
    },
    {
      "fileName": "WMDebugger-1.0.0+11.apk",
      "versionName": "1.0.0",
      "versionCode": 11,
      "buildTime": "2026-05-19T15:47:22+08:00",
      "sizeBytes": 18721756,
      "sha256": "4152b280aed401c0d6e47b0db03fe5526bf45b8930279a41913f13846f48adf4",
      "forceUpdate": false,
      "changelog": [
        "修复并发冲突"
      ]
    },
    {
      "fileName": "WMDebugger-1.0.0+10.apk",
      "versionName": "1.0.0",
      "versionCode": 10,
      "buildTime": "2026-05-19T15:45:58+08:00",
      "sizeBytes": 18721756,
      "sha256": "54833434fa96f15aca01b6f7a5a8b03a4de9e19c83510504d6de68fcc302e276",
      "forceUpdate": false,
      "changelog": [
        "修复BLE并发冲突"
      ]
    },
    {
      "fileName": "WMDebugger-1.0.0+9.apk",
      "versionName": "1.0.0",
      "versionCode": 9,
      "buildTime": "2026-05-19T15:16:10+08:00",
      "sizeBytes": 18721756,
      "sha256": "4eef4a60306167325cbf0af28acb065f3ebb66a1877f871dd4a8f32df35de66a",
      "forceUpdate": false,
      "changelog": [
        "更新网关地址逻辑"
      ]
    },
    {
      "fileName": "WMDebugger-1.0.0+7.apk",
      "versionName": "1.0.0",
      "versionCode": 7,
      "buildTime": "2026-05-19T15:00:13+08:00",
      "sizeBytes": 18721756,
      "sha256": "dc4eff3caf3e71b42ab348a9370b610a054c869ef46966c36eed3e084cd956c9",
      "forceUpdate": false,
      "changelog": [
        "APP自更新"
      ]
    },
    {
      "fileName": "WMDebugger-1.0.0+6.apk",
      "versionName": "1.0.0",
      "versionCode": 6,
      "buildTime": "2026-05-19T14:16:31+08:00",
      "sizeBytes": 51505948,
      "sha256": "8a72c5a33364091fd83d0201f508d76608bb2a48fb7037e89ccbbc69dcd95884",
      "forceUpdate": false,
      "changelog": [
        "增加版本号识别"
      ]
    },
    {
      "fileName": "WMDebugger-1.0.0+5.apk",
      "versionName": "1.0.0",
      "versionCode": 5,
      "buildTime": "2026-05-19T01:19:15+08:00",
      "sizeBytes": 51358400,
      "sha256": "94434f59cd6a99530e606483ae4501777e33c5ed24f79b26ee09a2c746201af2",
      "forceUpdate": false,
      "changelog": [
        "测试"
      ]
    },
    {
      "fileName": "WMDebugger-1.0.0+4.apk",
      "versionName": "1.0.0",
      "versionCode": 4,
      "buildTime": "2026-05-19T01:10:49+08:00",
      "sizeBytes": 51358400,
      "sha256": "f21b79b95e66cded59008dcdbf5301df1d28c0ce48d5c0714e870a78cf3d2a11",
      "forceUpdate": false,
      "changelog": [
        "# 下一版 changelog（每行一条；空行 / 注释行会被忽略）",
        "#",
        "# 发布完成后本文件会被 release_app.py 自动归档到 release_notes/<version>+<code>.md",
        "# 然后你可以新建一份空白模板继续记下版更新点。",
        "新增 Mesh 配网页：写入 net_key + 单播地址，支持随机生成与本地复位",
        "新增 Mesh 网关目标地址配置（CH592 Flash）",
        "新增 BLE 调试控制台：HEX/ASCII 双向，发送历史持久化",
        "新增「检查 APP 更新」入口，启动自动后台检查",
        "修复传感器深睡 / 屏息瞬间被误判为\"无人\""
      ]
    }
  ]
}