{
  "latest": "v130",
  "stable": "/sdk/tac.js",
  "generatedAt": "2026-10-12T16:25:43.585Z",
  "policy": {
    "stableChannel": "The stable endpoint keeps compatibility and security fixes for existing integrations.",
    "fixedChannel": "Fixed version files are immutable after publishing and are suitable for SRI and security review."
  },
  "versions": [
    {
      "version": "v130",
      "url": "/sdk/tac-v130.js",
      "readableUrl": "/sdk/tac-v130.readable.js",
      "downloadUrl": "/sdk/tac-v130.js",
      "sha256": "5cb8c3cd5d5bbcd06e8439808819ecc246113d57d6851078829ee888509ae241",
      "sri": "sha384-7+3qMwzBfcrk4MwKauVV96S+8t9lCZan52N8t0CKPF5WrEDkP+WEpZ24Iq0Io+Bb",
      "size": 351308,
      "publishedAt": "2026-10-13",
      "changelog": "修正官方验证窗口页脚的官网域名。保留1.5.36采集协议、v129动态依赖及全部安全校验；历史固定版本保持不变。"
    },
    {
      "version": "v129",
      "url": "/sdk/tac-v129.js",
      "readableUrl": "/sdk/tac-v129.readable.js",
      "downloadUrl": "/sdk/tac-v129.js",
      "sha256": "006ef287d901766a34fbf13dd2d1543dd0281981a134ec046531780c09f71862",
      "sri": "sha384-BpLQdQBkF+dNRCu5EQN/SKP9lzhY7dKbJ2Z//69nc1ioe/xLzrxRtlVsxiLnpGPB",
      "size": 351309,
      "publishedAt": "2026-10-04",
      "changelog": "修复 Chrome 69 的演示页启动与 SDK 语法兼容；视差依赖同步转译，保留 v128 无感反馈及原有安全策略。"
    },
    {
      "version": "v128",
      "url": "/sdk/tac-v128.js",
      "readableUrl": "/sdk/tac-v128.readable.js",
      "downloadUrl": "/sdk/tac-v128.js",
      "sha256": "98b06aa0deed0833a9480e8d7ec93358108e9136977ce118964cc9d15cc271dc",
      "sri": "sha384-X7TD0mUJh6K8KBkfq5cI26W9xCAr2n0kjh62CKkmNkDgyJLTIqlbxokO28XO+Gbb",
      "size": 346747,
      "publishedAt": "2026-10-04",
      "changelog": "无感验证采用独立生成图标与完整状态窗口；补齐取消、重试冷却和补充验证交接，成功提示不阻塞业务回调；保留线上v126全部安全校验。"
    },
    {
      "version": "v126",
      "url": "/sdk/tac-v126.js",
      "readableUrl": "/sdk/tac-v126.readable.js",
      "downloadUrl": "/sdk/tac-v126.js",
      "sha256": "8c8f242668c29091b79298b6053efd14b9544e8a49a45677ba04d7ff839c88bb",
      "sri": "sha384-c0Yy4rOTfhqaI1XlrD6q9nJdsivsOTId+N6vVzYJ6VRItsZ/h4xjgkLoPHHVR054",
      "size": 269684,
      "publishedAt": "2026-09-30",
      "changelog": "还原视差成像方案：接入200个原有实物素材、Three.js立体碎片及统一滑轨，服务端随机出题与单次提交，修复演示入口。"
    },
    {
      "version": "v125",
      "url": "/sdk/tac-v125.js",
      "readableUrl": "/sdk/tac-v125.readable.js",
      "downloadUrl": "/sdk/tac-v125.js",
      "sha256": "8afd349c2f97bd2317b0912d1fd72cc60a76b8c15d541d3cc58538b1f15ac4d2",
      "sri": "sha384-Q6Jm8KyIa8z6+YaySUYMDqYHM4w7Bvn1Y8YvqLFKp0ufdamBoBTi7CYht/Czt/rm",
      "size": 265991,
      "publishedAt": "2026-09-29",
      "changelog": "视差成像正式版增强：背景、目标轮廓、立体主体和深度阴影分层联动；保留旧版兼容和完整轨迹校验。"
    },
    {
      "version": "v124",
      "url": "/sdk/tac-v124.js",
      "readableUrl": "/sdk/tac-v124.readable.js",
      "downloadUrl": "/sdk/tac-v124.js",
      "sha256": "34989b92872256cbf9202ea2be64caf5d81b25c8c06f0024e8bb8123363cd668",
      "sri": "sha384-rm2LDmqOSJIk1PIrwz8Up/y6rnDzCMfP9pvHy2ILbJXmcsu0MtDOVPgJ194LKQZ1",
      "size": 264445,
      "publishedAt": "2026-09-29",
      "changelog": "正式版新增视差成像验证：分层 2.5D 题面、角度绑定、完整拖动轨迹、耗时与客户端协议校验；保留 v123 及历史固定版本。"
    },
    {
      "version": "v123",
      "url": "/sdk/tac-v123.js",
      "readableUrl": "/sdk/tac-v123.readable.js",
      "downloadUrl": "/sdk/tac-v123.js",
      "sha256": "872a047eb2afc146e8aff04473f755932e2d260bf49e9ef852c5479814e1cf03",
      "sri": "sha384-/Z6LFaLTz3yMQ+xcpYR5KAw9EaoI78jd35MAZTTcF/AcgdgMiy24OQP5CYSmlDr7",
      "size": 253666,
      "publishedAt": "2026-09-28",
      "changelog": "无感及安全预检默认提供非阻塞进度提示；支持接入方自定义状态反馈；保持风险升级、采集与二次校验规则。"
    },
    {
      "version": "v122",
      "url": "/sdk/tac-v122.js",
      "readableUrl": "/sdk/tac-v122.readable.js",
      "downloadUrl": "/sdk/tac-v122.js",
      "sha256": "b6c0aed516a752ac21943e0004d847e6a5bd9ba81b90949a31a71548b5dc6bf5",
      "sri": "sha384-1iGmgRPjD2qkw7hXJbXqBKuQgmBDJc3CDH6VxoyikxzY+nRg6G9bLrfa8lDPfp5S",
      "size": 251438,
      "publishedAt": "2026-09-28",
      "changelog": "标准网页SDK默认后台执行无感与安全预检，仅交互挑战建窗；增加状态通知、静默超时及同会话重试，保留always可见兼容模式与服务端二验。"
    },
    {
      "version": "v121",
      "url": "/sdk/tac-v121.js",
      "readableUrl": "/sdk/tac-v121.readable.js",
      "downloadUrl": "/sdk/tac-v121.js",
      "sha256": "eebfc748976562d65434d895ea743a191c43d926342b5bb7f92b05c86ddde6db",
      "sri": "sha384-3xK9ROSeT3vOcFX0+NdvaehsFIYR7kjnvpDDzC6l3tDKfpQ+h2EMgKlXlT1yUy56",
      "size": 248845,
      "publishedAt": "2026-09-27",
      "changelog": "旋转验证升级为素材库圆图回正；仅手柄拖动、松手锁定、答案失败自动刷新，统一成功提示与融合动效；保留既有校验和恢复协议。"
    },
    {
      "version": "v120",
      "url": "/sdk/tac-v120.js",
      "readableUrl": "/sdk/tac-v120.readable.js",
      "downloadUrl": "/sdk/tac-v120.js",
      "sha256": "28317b6d9261286482f28d0bb2eb17baf2014f116febee606aed790694531dae",
      "sri": "sha384-/x/zzKEt1u1al9MQzjBi4LPl/9+hIl8vG0qsQmJQm8Zw0X8G1rmwhyDoHp+67KUd",
      "size": 247080,
      "publishedAt": "2026-09-25",
      "changelog": "保留 v119 的滑块触底终止、轨迹限量、提交锁定及点选优化；修复图片重试画面覆盖失败原因，并清理跨挑战残留的终点状态。"
    },
    {
      "version": "v119",
      "url": "/sdk/tac-v119.js",
      "readableUrl": "/sdk/tac-v119.readable.js",
      "downloadUrl": "/sdk/tac-v119.js",
      "sha256": "8a300edd8210bba8f757cbe858c1be24dd24f31e0b43230dd502f0353b48529b",
      "sri": "sha384-2SIfC+8SXfq7vKr9EeiiDF/zuXan3BjuizCGck30bjrK2Gda+Q6H1GLrg+pskc4j",
      "size": 247093,
      "publishedAt": "2026-09-25",
      "changelog": "修复滑块触底回扫、长轨迹超限和提交中拖动；点选支持主指针抬手选择、撤销重选及确认；完善算术输入、手势中断与渠道等待反馈。"
    },
    {
      "version": "v118",
      "url": "/sdk/tac-v118.js",
      "readableUrl": "/sdk/tac-v118.readable.js",
      "downloadUrl": "/sdk/tac-v118.js",
      "sha256": "28a8aabd032ac0461895a9b7c063507a707b7152ecff49c49dfc6264d50e7c39",
      "sri": "sha384-UmVWOTNxjlyMRKfTrVgAUGlslfW3fca909LFW+QqOrNUQ5ceZa9MkDpW+AkzUR5u",
      "size": 239823,
      "publishedAt": "2026-09-25",
      "changelog": "Centered dialog scale and layered fade, interrupted entrance continuity, and temporary input guarding during scale; preserve verification behavior, branding and success feedback."
    },
    {
      "version": "v117",
      "url": "/sdk/tac-v117.js",
      "readableUrl": "/sdk/tac-v117.readable.js",
      "downloadUrl": "/sdk/tac-v117.js",
      "sha256": "f996e037a15607c876222998ef6f5e58dae436b926e85c111d92e88faec75d27",
      "sri": "sha384-z7np7v5pETfkJDQ/VQkxv84NAqtA8Uc0Ce+vJlf/GKr70Vh61sIts31xqQEepqWy",
      "size": 236184,
      "publishedAt": "2026-09-25",
      "changelog": "Geometric piece feedback, compact recovery views, pure-blue controls and server-authorized footer branding; preserve standard and registration verification protocols."
    },
    {
      "version": "v116",
      "url": "/sdk/tac-v116.js",
      "readableUrl": "/sdk/tac-v116.readable.js",
      "downloadUrl": "/sdk/tac-v116.js",
      "sha256": "8d67a23e13b29cc77265a0937c855e718a983a6b7b549f9c31ec6d02d89a9182",
      "sri": "sha384-NBJbDI0OUwFa0fuKXsXR2Xw0YRBCqM8t9cMwqdu8pew9wui4ExEJpJRTJqCAiiR6",
      "size": 222942,
      "publishedAt": "2026-09-25",
      "changelog": "Coordinated success colors and in-image feedback with actual elapsed verification time; preserve smooth fades and callback timing."
    },
    {
      "version": "v115",
      "url": "/sdk/tac-v115.js",
      "readableUrl": "/sdk/tac-v115.readable.js",
      "downloadUrl": "/sdk/tac-v115.js",
      "sha256": "cb8b65adace782377b1f0aa152364d16e8122fdf3f26ed0b69b1a8a508048c73",
      "sri": "sha384-C0NU5Ma1MqZ4eGvDBcw4H9V88nG7JVyqIVi7iPfkEzazkbm3sZ3FQfhJ9A25QYcN",
      "size": 215228,
      "publishedAt": "2026-09-25",
      "changelog": "Smooth dialog fades and in-place success feedback; continue business after exit completes."
    },
    {
      "version": "v114",
      "url": "/sdk/tac-v114.js",
      "readableUrl": "/sdk/tac-v114.readable.js",
      "downloadUrl": "/sdk/tac-v114.js",
      "sha256": "b6ffdf41be18bf7f0cd4360c9f13bfb4dcde45eb5c2a6d2da1ffb1523e07c94a",
      "sri": "sha384-UitZTtN98owgvJMXg8KYEt/3oAYm7v4lpXIAgHJ3iU1n7ZhEfvgpLIp1dFvURVRl",
      "size": 210453,
      "publishedAt": "2026-09-25",
      "changelog": "Refined light slider thumb and one-second accepted-result feedback before business continuation; preserve verification verdicts."
    },
    {
      "version": "v113",
      "url": "/sdk/tac-v113.js",
      "readableUrl": "/sdk/tac-v113.readable.js",
      "downloadUrl": "/sdk/tac-v113.js",
      "sha256": "1cc79f74aa540b6c23244bf4d4abf5e52997050860bc829f16a4229cbaee2c14",
      "sri": "sha384-1b6lD5DAALjLxLA9DmRbBdxke6iLPTMp9ilRmqWdFAMF1Qt5333zfhqPIH5YGNGc",
      "size": 207269,
      "publishedAt": "2026-09-25",
      "changelog": "Compact centered verification dialog, capsule slider and bottom icon toolbar; preserve verification behavior."
    },
    {
      "version": "v112",
      "url": "/sdk/tac-v112.js",
      "readableUrl": "/sdk/tac-v112.readable.js",
      "downloadUrl": "/sdk/tac-v112.js",
      "sha256": "a89fc194cd6af4ef27dc0a29db5921c963673bd2adfac778f829b3e3f2ed176d",
      "sri": "sha384-UYfDUduykJihegSCEyzpnE9ux4Uoh5/pfPiOQ6X9sGf/e+a5my5S0zbp6tczgC/7",
      "size": 206289,
      "publishedAt": "2026-09-25",
      "changelog": "Use a quiet refresh icon toolbar and verification terminology; preserve v111 motion and verification behavior."
    },
    {
      "version": "v111",
      "url": "/sdk/tac-v111.js",
      "readableUrl": "/sdk/tac-v111.readable.js",
      "downloadUrl": "/sdk/tac-v111.js",
      "sha256": "a179554e449df6d0199ec6b40be7032fdba72ae7bcc72c726e2cf4f93bad65fd",
      "sri": "sha384-wdTcmZN0gzdC4zN0szRYtkjV3pm9553iDDhT1xdvZtoBX7LVNnOpu1zTpenY6url",
      "size": 205861,
      "publishedAt": "2026-09-25",
      "changelog": "Refine dialog identity and refresh action; remove empty ornaments and soften shell/content entry. Verification behavior unchanged; fixed v110 preserved."
    },
    {
      "version": "v110",
      "url": "/sdk/tac-v110.js",
      "readableUrl": "/sdk/tac-v110.readable.js",
      "downloadUrl": "/sdk/tac-v110.js",
      "sha256": "e2a24814d1dfa94e4628252564b8678e23e276c44c3ca81d07544cd808914152",
      "sri": "sha384-7gShdzEAwxX9o1BQeucs/lqd1BAmgjQONoMv7sLw5I50ezRIOw1YUyYCVemEQ4Ap",
      "size": 205335,
      "publishedAt": "2026-09-25",
      "changelog": "Arcveil dialog design: clear task headings, spacious image layout, square drag handles, stable feedback and unified refresh/brand footer. Preserve challenge algorithms, telemetry and verification lifecycle; keep v109 immutable."
    },
    {
      "version": "v109",
      "url": "/sdk/tac-v109.js",
      "readableUrl": "/sdk/tac-v109.readable.js",
      "downloadUrl": "/sdk/tac-v109.js",
      "sha256": "ec752950b36d214adb255dbda91017854d9dc6ddb7a00584ba277a7b85e8a7ee",
      "sri": "sha384-WHphl3hxvn/FQXEc5RTDUJd2Pl7EmD4p2jQ1e2OWWijuwEu1SqnYHc+f/nBokspn",
      "size": 193028,
      "publishedAt": "2026-09-25",
      "changelog": "Unify all challenge lifecycles: cancel stale timers and requests, report success once, preserve server-owned recovery sessions, bound retries and provider polling, and honor absolute expiry. Keep historical fixed bundles immutable."
    },
    {
      "version": "v108",
      "url": "/sdk/tac-v108.js",
      "readableUrl": "/sdk/tac-v108.readable.js",
      "downloadUrl": "/sdk/tac-v108.js",
      "sha256": "81a729c42f10fbb1af93c01b79add69f8aa1102287a163ed57d2c43411ad842b",
      "sri": "sha384-WlwwVF+TJipOsq3EBqrFh5UNOKBvQwJlBAKqa7meAC1vWFHqqLEn99CYCzQppsG6",
      "size": 186535,
      "publishedAt": "2026-09-13",
      "changelog": "Use standards-compliant SHA-256 when Web Crypto is unavailable on HTTP pages. Paired server fix accepts fast correct JS challenge results while retaining exact-answer, expiry and replay checks. Application type-only edits now synchronize the runtime allowlist and default chain."
    },
    {
      "version": "v107",
      "url": "/sdk/tac-v107.js",
      "readableUrl": "/sdk/tac-v107.readable.js",
      "downloadUrl": "/sdk/tac-v107.js",
      "sha256": "66cad95dcc775d25d51d48e3fe69a601210ba69e9f94982a56e0caf883ccf1c4",
      "sri": "sha384-Es+GRhA6xAEnb7mllh0XghxUIsjiNXIrKfh2IFZD2YJvwrzmXUNKqbaLkwWlW+61",
      "size": 184624,
      "publishedAt": "2026-09-13",
      "changelog": "Clarify Gesture Story press/release instructions and keep the pending line blue until server confirmation. Pair with region-aware path validation, continuous segment hit testing, and clear target-route generation to prevent legitimate edge-path rejections."
    },
    {
      "version": "v106",
      "url": "/sdk/tac-v106.js",
      "readableUrl": "/sdk/tac-v106.readable.js",
      "downloadUrl": "/sdk/tac-v106.js",
      "sha256": "d65b6170f32238d94177d2b98745ae51c6a4d45d659e930d11859333c92077fe",
      "sri": "sha384-UwyFfIB3W7RQ9zmhI+jNerftM2itDux1wA6V8NrdZvtpQLkSRXu0ct1U0Vg1aJjU",
      "size": 184392,
      "publishedAt": "2026-09-13",
      "changelog": "Fix Gesture Story false rejections by aligning client/server timing, preserving dense high-refresh tracks, matching hit areas to visible targets, isolating session risk per app, and resetting expired failure locks."
    },
    {
      "version": "v105",
      "url": "/sdk/tac-v105.js",
      "readableUrl": "/sdk/tac-v105.readable.js",
      "downloadUrl": "/sdk/tac-v105.js",
      "sha256": "76dd28b9eb1267f278a2b29251fe49e1d7fee6b4e6bea2dffdef8335a88d825a",
      "sri": "sha384-XY2Rp7uTpozuDHbzfBEzCteVCj3mRqWPrhYjCYempT0bXonuFWCpTuPvkksHGYWV",
      "size": 184401,
      "publishedAt": "2026-09-01",
      "changelog": "Add an explicit brandNameOverride option for first-party demos that need a stable product name across local and production data, while preserving server-brand priority by default. Retain the Arcveil-only footer and all v103 modal control fixes."
    },
    {
      "version": "v104",
      "url": "/sdk/tac-v104.js",
      "readableUrl": "/sdk/tac-v104.readable.js",
      "downloadUrl": "/sdk/tac-v104.js",
      "sha256": "ef8af9436b28f85516e690d415aca534d5e1aab18a8f73c429af8b1ea657ef35",
      "sri": "sha384-+Gx3WJ3wI2c3LNJh2OFgpcXTdPuHoEvUI7EpaFQ4C4pqIRFMKibD/yrVQvvuh304",
      "size": 184369,
      "publishedAt": "2026-09-01",
      "changelog": "Replace the verification footer's legacy TAC-SaaS and Chinese protection copy with a compact Arcveil mark and English wordmark. Keep the v103 close-control and narrow-screen scrollbar fixes unchanged."
    },
    {
      "version": "v103",
      "url": "/sdk/tac-v103.js",
      "readableUrl": "/sdk/tac-v103.readable.js",
      "downloadUrl": "/sdk/tac-v103.js",
      "sha256": "bae21554f6a1a15fa44d222379434a56ab1d1bd862d7eba61a748b13d6b6c432",
      "sri": "sha384-xhH9b9AEBhJrPzjQVCCjM1f4CZgwh1IsRNnEDbzgltUcQPOcyEwxMlbYV94BHwN0",
      "size": 183580,
      "publishedAt": "2026-09-01",
      "changelog": "Fix the shared verification modal close control by removing fallback visible text from the icon-only button and hardening text overflow isolation. Prevent narrow-screen entrance transforms from creating a transient internal scrollbar while preserving accessible labels, standard X geometry, keyboard focus, scrolling for genuinely tall content, and close behavior across every challenge type."
    },
    {
      "version": "v102",
      "url": "/sdk/tac-v102.js",
      "readableUrl": "/sdk/tac-v102.readable.js",
      "downloadUrl": "/sdk/tac-v102.js",
      "sha256": "c42cf371c9ed17489c024a255ee0aef3b178218ca2da743b808cb897fc7c1d89",
      "sri": "sha384-w2Juj8bMvN/paROQ/ivCUyNIZ/xDACKSrve4LL9YDPgL9HjP1zqOYLjMBJ8IFIw0",
      "size": 183392,
      "publishedAt": "2026-08-31",
      "changelog": "Rebuild Word Click as a scene-integrated schema v2 challenge with 12 high-resolution realistic and anime scenes, natural material-aware glyph placement, a compact three-character sequence rail, direct coordinate capture with timing, lightweight numbered markers, strict ordered polygon validation, server-only answer regions, and WeChat Mini Program parity while preserving legacy challenge compatibility."
    },
    {
      "version": "v101",
      "url": "/sdk/tac-v101.js",
      "readableUrl": "/sdk/tac-v101.readable.js",
      "downloadUrl": "/sdk/tac-v101.js",
      "sha256": "a970b4234ccc3f8a8c901bddd1c61c87f6b8748319af6dbc19c28d24fc436a7a",
      "sri": "sha384-Sw+pi6zfMEf+BejQfC5kyfg3QHMnw/zA/QRf4+ujXpFI3wThlu3xfAP9sj47ZU4+",
      "size": 178325,
      "publishedAt": "2026-08-31",
      "changelog": "Refine the shared refresh control with a complete clockwise arrow, a true 30px border-box, balanced 16px geometry, a restrained tool-button surface, and icon-only loading rotation while preserving all challenge behavior."
    },
    {
      "version": "v100",
      "url": "/sdk/tac-v100.js",
      "readableUrl": "/sdk/tac-v100.readable.js",
      "downloadUrl": "/sdk/tac-v100.js",
      "sha256": "6924127f5818d931b40150d0c9ca31f5c64d7d6a2ed11acacb8ba0040f4bac6f",
      "sri": "sha384-H4qaR+rkslraPCzu/cLGo+A13za7KleuAaCuTJvsXJULe7ugD5+XFzdZ3Dhn5VLI",
      "size": 177773,
      "publishedAt": "2026-08-31",
      "changelog": "Rebuild Gesture as Gesture Story 2.0 with four-step semantic image sequences, a server-composited high-resolution board, raw pointer trajectory verification, compact SVG feedback, a refresh control, and real touch-canvas drawing for the WeChat Mini Program while preserving Gesture v1 compatibility."
    },
    {
      "version": "v99",
      "url": "/sdk/tac-v99.js",
      "readableUrl": "/sdk/tac-v99.readable.js",
      "downloadUrl": "/sdk/tac-v99.js",
      "sha256": "432a5f6a7780d9cc7baebffbcf3dba6f18b2f9537ea2529bbd2f6b8622522269",
      "sri": "sha384-tBlY83Ls9KUlQewf+u8vjK9/XltiaV8GzJHAqNHSTI9MoZnKH3Mm4XLia56cNaMA",
      "size": 170108,
      "publishedAt": "2026-08-31",
      "changelog": "Redesign Icon Click targets as one compact three-column sequence rail with integrated 01/02/03 labels, add a working refresh control, and keep failure copy aligned with the active challenge type on web and Mini Program clients."
    },
    {
      "version": "v98",
      "url": "/sdk/tac-v98.js",
      "readableUrl": "/sdk/tac-v98.readable.js",
      "downloadUrl": "/sdk/tac-v98.js",
      "sha256": "33f17537d913d6b96d868d4b7dfa247a35b91b55fddab9f4bbb9eb85894e82fe",
      "sri": "sha384-jaR17XFgjxY/yyRgTM3X8vAPfxt80+Subb8BaemrjiLPLbSZt8xUuZzpzIyY9Ujn",
      "size": 167181,
      "publishedAt": "2026-08-31",
      "changelog": "Distribute the three Icon Click target previews evenly across the full challenge width on web and Mini Program clients while preserving target size and verification behavior."
    },
    {
      "version": "v97",
      "url": "/sdk/tac-v97.js",
      "readableUrl": "/sdk/tac-v97.readable.js",
      "downloadUrl": "/sdk/tac-v97.js",
      "sha256": "88c3678d6638b0a074066f80ade2999ca1013cc4d2b844aa0a87d201bb36f0da",
      "sri": "sha384-gfmVmt0Ca3nLvtsicNeAkDEQ6g5Mp5wonYwhb43XUhx7Ddo+kjG12JFAMBrWLQE0",
      "size": 167070,
      "publishedAt": "2026-08-31",
      "changelog": "Upgrade Icon Click to schema v2 with a server-composited 900x540 bitmap board, image-generated object assets, target preview images, actual click-coordinate submission, strict ordered hit validation, and legacy challenge compatibility."
    },
    {
      "version": "v96",
      "url": "/sdk/tac-v96.js",
      "readableUrl": "/sdk/tac-v96.readable.js",
      "downloadUrl": "/sdk/tac-v96.js",
      "sha256": "76e7bd18e9d8f8c31a58f520d0406d97e9234d7267875a7ef05ca597f9c267a3",
      "sri": "sha384-xlHQlHa+fdvYrM4woQKViTlRZJ99k3CvzEuJnhdZ5KUHxSqQWoDCgpEI+/prLQoR",
      "size": 226949,
      "publishedAt": "2026-08-30",
      "changelog": "Render Slider 1.0, Slider 2.0, and Rotate backgrounds at the source-native 900x600 resolution while preserving the 300x200 logical coordinate contract; remove synthetic grain, soft-texture overlays, color filters, and image darkening; raise JPEG quality to 92."
    },
    {
      "version": "v95",
      "url": "/sdk/tac-v95.js",
      "readableUrl": "/sdk/tac-v95.readable.js",
      "downloadUrl": "/sdk/tac-v95.js",
      "sha256": "bde8cdc1afbd68a7aeaec9a186bf27c433f14061419ec792fed121fb416a3958",
      "sri": "sha384-n9BW7MyAUUB+q2dfTa6TJKwEf3vq1B/ulEbDQftrehExILcz2ou4p4zXztVHkyKo",
      "size": 227193,
      "publishedAt": "2026-08-30",
      "changelog": "Rebuild Slider 1.0 with a curated 60-image 2026 visual pool generated by gpt-image-2 (30 photorealistic, 30 anime), standardize a classic fixed jigsaw silhouette, remove decoy gaps, improve textured placement, reduce outline and shadow weight, and increase JPEG quality."
    },
    {
      "version": "v94",
      "url": "/sdk/tac-v94.js",
      "readableUrl": "/sdk/tac-v94.readable.js",
      "downloadUrl": "/sdk/tac-v94.js",
      "sha256": "ef882c36d7230c99aa1b7e5fd0d48a6002dc071fabcd60f7d04fe6bc7ead6b32",
      "sri": "sha384-XpDeUGf/83VU1Y0KQNClaS4pH3NfUw9gzqp416fRkiV/E8jIxo6EK9S0INW7iNdm",
      "size": 226975,
      "publishedAt": "2026-08-17",
      "changelog": "Refine Slider and Slider 2.0 geometry with balanced 360px and 368px desktop widths, clearer release guidance, and aligned rail endpoints; add a 7-second request timeout plus one automatic reconnect so transient mobile or CDN route interruptions do not surface as immediate verification failures."
    },
    {
      "version": "v93",
      "url": "/sdk/tac-v93.js",
      "readableUrl": "/sdk/tac-v93.readable.js",
      "downloadUrl": "/sdk/tac-v93.js",
      "sha256": "0c36c5c023758f431781142bf06c34bb4a84e3e6ce270bd93605aa3a6308d579",
      "sri": "sha384-Fa2lIha93zU6ZWBdEebb3ybseKT0s0YGocB1PuOHzoqE3zbvXCY6+x0hBBIylXTB",
      "size": 224971,
      "publishedAt": "2026-08-17",
      "changelog": "Compact verification UI v2: reduce the modal to a restrained 336px desktop surface, tighten mobile spacing, simplify the header and guidance, and refine Slider, Slider 2.0, and Rotate with a recessed 6px rail, endpoint target, double-chevron thumb, and active progress feedback."
    },
    {
      "version": "v92",
      "url": "/sdk/tac-v92.js",
      "readableUrl": "/sdk/tac-v92.readable.js",
      "downloadUrl": "/sdk/tac-v92.js",
      "sha256": "6d8b09406380298f777a344ed48ae5600ad50876a3f366089d105e20d719294f",
      "sri": "sha384-tYXnOXpr6nnEhUnGq59+DdhkPi+cqEKl+aF/3t5LtXebiTnC/BQd8jiUlEfNsBhI",
      "size": 225660,
      "publishedAt": "2026-08-16",
      "changelog": "Compact verification UI: reduce desktop and mobile modal dimensions, tighten spacing and visual hierarchy, replace heavy glass shadows with a restrained surface, and redesign slider and rotate controls with a slim track, inset circular thumb, clear focus states, and preserved drag hit targets."
    },
    {
      "version": "v91",
      "url": "/sdk/tac-v91.js",
      "readableUrl": "/sdk/tac-v91.readable.js",
      "downloadUrl": "/sdk/tac-v91.js",
      "sha256": "dde5ca50a5f441d6b9ddecdb79c15a31dda986d6f014e6b4667262d697cee12d",
      "sri": "sha384-f65e9lKOkFFWLXM0dpxRcstw1uUSdnKcN2IT1y7cvUyK1BdFgCNElanEjf8IFB7o",
      "size": 232505,
      "publishedAt": "2026-08-06",
      "changelog": "Refine the TAC Glass slider and rotate rails: hide the initial colored progress block, remove the heavy blue filled thumb, reduce dirty shadow under the rail, keep a restrained translucent iOS-style knob, and only show a slim progress glow while dragging."
    },
    {
      "version": "v90",
      "url": "/sdk/tac-v90.js",
      "readableUrl": "/sdk/tac-v90.readable.js",
      "downloadUrl": "/sdk/tac-v90.js",
      "sha256": "4ff093636a1d7814693da2c59867fdae107eb35ea913e7615bcff5825a8a6e1b",
      "sri": "sha384-/pNuTQ6HxNHiEMOyYKsyjbwzo4Vk1SLKFuCDDsDsLmrsRlm2N0IEJZ+ubY+rYBJu",
      "size": 226646,
      "publishedAt": "2026-08-06",
      "changelog": "Glass verification modal refresh: introduce the new TAC Glass visual system with iOS-style translucent shell, refined header, glass close button, softer challenge cards, upgraded slider and rotate rails, success/error micro feedback, mobile centered layout, and reduced-motion/fallback support while preserving the existing verification and billing logic."
    },
    {
      "version": "v89",
      "url": "/sdk/tac-v89.js",
      "readableUrl": "/sdk/tac-v89.readable.js",
      "downloadUrl": "/sdk/tac-v89.js",
      "sha256": "f0402b56bd0afe94271e8be36f730bd85bf664345ff9d0f7c9df319706bc81ef",
      "sri": "sha384-feD4LYrZlj3Plg6cnRSpQ6CbeRitTPDJX/V1+AU4x45n6odXlnYUwzlH9HdqHei9",
      "size": 212738,
      "publishedAt": "2026-06-20",
      "changelog": "Slider 2.0 realistic scene refinement: keep 200 clean photo backgrounds and dynamic server-side real/decoy cutouts, remove the heavy pure-blue overlay, use photo-first rendering with light tech-blue framing, and fall back to the real photo pool if the Slider 2.0 pool is missing."
    },
    {
      "version": "v88",
      "url": "/sdk/tac-v88.js",
      "readableUrl": "/sdk/tac-v88.readable.js",
      "downloadUrl": "/sdk/tac-v88.js",
      "sha256": "9680b7563fc62b41a68348a84baa32f7ef91ce08b129e196bc8c6ce56a6231d5",
      "sri": "sha384-I0PQGW3zCnPYvGOcCoNQnM61s7nYTpneX25v0nhLpdZ0BrexOlW3qGZtXSlqYuOU",
      "size": 212830,
      "publishedAt": "2026-06-20",
      "changelog": "Slider 2.0 switches to a clean dynamic fragment asset pool: 200 no-gap source backgrounds, road-sign and hammer-style grouped fragments, runtime server-generated real and decoy cutouts, curved motion and rotation telemetry, and no fixed-answer material dependency."
    },
    {
      "version": "v87",
      "url": "/sdk/tac-v87.js",
      "readableUrl": "/sdk/tac-v87.readable.js",
      "downloadUrl": "/sdk/tac-v87.js",
      "sha256": "c06a74c65b076bfafb1bc8e3f0ba3d888aca5ff4340b52199a8ca600adc69715",
      "sri": "sha384-7O9aJDk+DQfvLME5vFxOopuM/WopuIiadUS2pBHJLTBYRzaJ1+M1y46owZThSUUn",
      "size": 212597,
      "publishedAt": "2026-06-20",
      "changelog": "Slider 2.0 visual trust fix: remove background objects that look like puzzle targets, keep a clean tech-blue scene, make the real gap the only strong target, weaken the distant decoy, and hide the success residual image immediately after pass."
    },
    {
      "version": "v86",
      "url": "/sdk/tac-v86.js",
      "readableUrl": "/sdk/tac-v86.readable.js",
      "downloadUrl": "/sdk/tac-v86.js",
      "sha256": "635874f6509d86d10d680cda589489f8b28ac0767626b976b4a791ed4da7da06",
      "sri": "sha384-3z3rT5nWus4IeWG4ItmYV3Cc5IL9wlRzbhQ6gwwJqW1gpcIQGytiCV4ERUQj5mr0",
      "size": 211932,
      "publishedAt": "2026-06-20",
      "changelog": "Emergency Slider 2.0 cleanup: replace confusing full-scene visual decoys with a controlled tech-blue background, make the real target gap visually unambiguous, keep only a faint distant decoy, shorten Slider 2.0 success dwell time, and preserve strict server-side misalignment blocking."
    },
    {
      "version": "v85",
      "url": "/sdk/tac-v85.js",
      "readableUrl": "/sdk/tac-v85.readable.js",
      "downloadUrl": "/sdk/tac-v85.js",
      "sha256": "ee73fcbafa2bb3992dae4221afa487071dccc2a9376b64bb616f38cfcdfb902c",
      "sri": "sha384-8M9xro0K+1qn3iEU9Lf/Et2bgk5NKYOcrBYRNT7am0hKXipu7So5E2TNIaCjaiQt",
      "size": 211876,
      "publishedAt": "2026-06-20",
      "changelog": "Emergency fix Slider 2.0: block misaligned puzzle success, bind server decisions to full Slider 2.0 validation, submit the real puzzle display coordinate, and reduce decoy-gap visual dominance so users can clearly identify the real target."
    },
    {
      "version": "v84",
      "url": "/sdk/tac-v84.js",
      "readableUrl": "/sdk/tac-v84.readable.js",
      "downloadUrl": "/sdk/tac-v84.js",
      "sha256": "2ea668910c6a53b5c543bad593cfcdf3eb64afd0341e1527bca8ecd4113415d4",
      "sri": "sha384-jZDi7DAL0mVTwyj5G+vSJ01vtp7NdS7sFyO5tCx0RJNmuWFka43QGLaE6SGxTa1o",
      "size": 203314,
      "publishedAt": "2026-06-19",
      "changelog": "Strengthen Slider 2.0 anti-automation: add per-challenge dynamic motion profiles, bind the profile id to the submitted SDK telemetry, verify curve/rotation/ratio consistency on the server, fix browser-first SDK global export, and require SDK 1.4.4+ for enhanced Slider 2.0 while downgrading legacy clients safely."
    },
    {
      "version": "v83",
      "url": "/sdk/tac-v83.js",
      "readableUrl": "/sdk/tac-v83.readable.js",
      "downloadUrl": "/sdk/tac-v83.js",
      "sha256": "9028ed673cfe1e8b766cba1a62bb225b39998d4e31a12fc2ac61bfffb32fce03",
      "sri": "sha384-/KPYYT3HngYnMeGn3V3UMjYOoUpeOk7sVlfEquj2R7bKlkyRPLaFo97b68uSu6o4",
      "size": 201420,
      "publishedAt": "2026-06-19",
      "changelog": "Strengthen Slider 2.0 security: bind generated shape and decoy metadata to the server-side answer, require Slider 2.0 curve and rotation behavior signals from SDK 1.4.3+, tighten Slider 2.0 tolerance under risk levels, and make bot-like tracks fail instead of only appearing in diagnostics."
    },
    {
      "version": "v82",
      "url": "/sdk/tac-v82.js",
      "readableUrl": "/sdk/tac-v82.readable.js",
      "downloadUrl": "/sdk/tac-v82.js",
      "sha256": "b1c4a8b40ddeff52cf7a3ebd9847e3d94d8bdf8e794d0b5c5a2f6431bd0582d1",
      "sri": "sha384-tHHYIwm6pZ/P02ViXqxr48aHQ4Wx3uYDdA108e6xBkjbGvKURuAThmzEKFxYQ/WG",
      "size": 200246,
      "publishedAt": "2026-06-19",
      "changelog": "Improve captcha opening speed: add SDK background preloading so common interactive challenges are prepared before the user clicks, reuse pending preload requests on show, and keep refresh as a forced new challenge while billing remains on successful verify only."
    },
    {
      "version": "v81",
      "url": "/sdk/tac-v81.js",
      "readableUrl": "/sdk/tac-v81.readable.js",
      "downloadUrl": "/sdk/tac-v81.js",
      "sha256": "e7811ac585714319fd74afc30f83b98def935644890985a1cce2539bd08c2f8b",
      "sri": "sha384-c7AHjztXNnbzI5hfoMxpB7MjnWie/vS/jfPO2uNdpmAARwk75hlaWK6SopF3xwh+",
      "size": 196024,
      "publishedAt": "2026-06-19",
      "changelog": "Fix image refresh for classic Slider and Slider 2.0: the refresh control now captures pointer/touch/mouse events before drag starts, shows a refreshing state, discards stale challenge responses, and Slider 2.0 path hints are generated from the current challenge motion curve instead of a fixed decorative line."
    },
    {
      "version": "v80",
      "url": "/sdk/tac-v80.js",
      "readableUrl": "/sdk/tac-v80.readable.js",
      "downloadUrl": "/sdk/tac-v80.js",
      "sha256": "d9ea8a9993866166de8b665b235fb990c9783a6ce5f1329fd0be56e45c805cfb",
      "sri": "sha384-Se8qKllgWeuSu8UwaET5jTe9h3Q9V3tSVZHPIvnvx62U1RG0ouOg2BVjIZO+39mJ",
      "size": 193341,
      "publishedAt": "2026-06-19",
      "changelog": "Fix Slider 2.0 curved-jigsaw alignment: the arc now works as an early motion cue and returns to zero before the matching zone, so the puzzle piece can visually align with the real gap while the bottom knob keeps a straight rail and classic SLIDER remains unchanged."
    },
    {
      "version": "v79",
      "url": "/sdk/tac-v79.js",
      "readableUrl": "/sdk/tac-v79.readable.js",
      "downloadUrl": "/sdk/tac-v79.js",
      "sha256": "92c1ac272102407057fc8413a80c8b4132939878dffe29d2b925475df9253071",
      "sri": "sha384-TOAkuDumfd9cXfN01K4qQHHJt6/wXtMGWoFsOgiWuzZ/7byAbUUsfiyK4R+T7E2s",
      "size": 193019,
      "publishedAt": "2026-06-19",
      "changelog": "Refine Slider 2.0 to match a premium curved jigsaw interaction: the bottom control now stays on a straight rail while the puzzle piece travels on a stronger image-stage arc with natural rotation and a subtle in-image route cue, preserving classic SLIDER behavior and verification coordinates."
    },
    {
      "version": "v78",
      "url": "/sdk/tac-v78.js",
      "readableUrl": "/sdk/tac-v78.readable.js",
      "downloadUrl": "/sdk/tac-v78.js",
      "sha256": "225f0e566ea7b25ae79bea2424b56da95efc1d0b58460db437a760aaff6856fc",
      "sri": "sha384-05I7lW3z40PCkXLZoX4GhBeV2aUTHu+BeqxVdQ0esGrawoGBxSz4P1G002YZt2Go",
      "size": 192488,
      "publishedAt": "2026-06-19",
      "changelog": "Upgrade Slider 2.0 interaction: keep the classic slider verification model compatible while adding curved drag motion, smooth knob rotation, puzzle-piece follow rotation, calibrated piece-origin rotation, and a visible curved track so SLIDER_2 feels like a real enhanced replacement instead of a reskinned classic slider."
    },
    {
      "version": "v77",
      "url": "/sdk/tac-v77.js",
      "readableUrl": "/sdk/tac-v77.readable.js",
      "downloadUrl": "/sdk/tac-v77.js",
      "sha256": "6b069aff7de1ed8c78d0e964a3f8819816ea3abbd3bec1bd5d597ca039d80eda",
      "sri": "sha384-noyPcv2FvhogIF/AXPJucYQtlX9I6zXuRZ4+QhhJeoVG4u26HdL3cfeQfMEjTF5K",
      "size": 189615,
      "publishedAt": "2026-06-19",
      "changelog": "Add Slider 2.0 as an independent enhanced slider challenge: new SLIDER_2 type, dedicated premium security background pool, randomized shape calibration, SDK v77 rendering and compatibility downgrade for older SDKs while preserving classic SLIDER behavior."
    },
    {
      "version": "v76",
      "url": "/sdk/tac-v76.js",
      "readableUrl": "/sdk/tac-v76.readable.js",
      "downloadUrl": "/sdk/tac-v76.js",
      "sha256": "d2286f9db92f318ed54aa727bc3976698dafa2eef0da30684dad5511c37ee9bb",
      "sri": "sha384-4rBZNEzbY8GOKal9FceM2F5XsA9Af7sKry5Xt8fr3xBxFBLUp9BCDgM7ns90mL7R",
      "size": 184428,
      "publishedAt": "2026-06-16",
      "changelog": "Add explicit second-level countdown for WeChat Official Account and OneBot channel verification popups, replacing the vague approximate 180-second validity copy while preserving v75 as an immutable fixed version."
    },
    {
      "version": "v75",
      "url": "/sdk/tac-v75.js",
      "readableUrl": "/sdk/tac-v75.readable.js",
      "downloadUrl": "/sdk/tac-v75.js",
      "sha256": "89b11674f86eb3d6db865d68b9cb0164ea7eaa4054dfd88c435ade756ffb5802",
      "sri": "sha384-bsn1WlJWKaHIiI/kP277r95bkzebVMyUKp/i8/llB44X0UZs1D3D3cQlyHgSjXOu",
      "size": 182180,
      "publishedAt": "2026-06-16",
      "changelog": "Switch external robot channel to OneBot-only: add OneBot HTTP callback support, remove DingTalk/Feishu/WeCom/QQ official bot choices from the product UI, and show clear OneBot instructions in the captcha modal."
    },
    {
      "version": "v74",
      "url": "/sdk/tac-v74.js",
      "readableUrl": "/sdk/tac-v74.readable.js",
      "downloadUrl": "/sdk/tac-v74.js",
      "sha256": "c08b8a51eb42a71dca82799a333097d371cd415cd3b87d9875415d7c67e60144",
      "sri": "sha384-KbKapsJz40yy2EYJ0HZDEm2hYxswSzw2xtbfiD81BZU6Cj92xFHD4xsGjroLsrkO",
      "size": 181910,
      "publishedAt": "2026-06-16",
      "changelog": "Publish the stable external bot channel confirmation hotfix as an immutable SDK version, including clear pending-confirmation copy before a bot callback is received."
    },
    {
      "version": "v73",
      "url": "/sdk/tac-v73.js",
      "readableUrl": "/sdk/tac-v73.readable.js",
      "downloadUrl": "/sdk/tac-v73.js",
      "sha256": "ec77568a16b565e4c596e41aba16639fe26b5eb30bc700fd22d4a85425d30547",
      "sri": "sha384-8LEyBlyfg0xjBWSpTHY3wiyU1u9rpvQS1vAkjEBztT63rXi/851eWCvw6XEDoGLD",
      "size": 180776,
      "publishedAt": "2026-06-16",
      "changelog": "Fix external bot channel verification layout, preserve explicit out-of-band challenge requests, and hide polluted bot-name values such as question-mark mojibake."
    },
    {
      "version": "v72",
      "url": "/sdk/tac-v72.js",
      "readableUrl": "/sdk/tac-v72.readable.js",
      "downloadUrl": "/sdk/tac-v72.js",
      "sha256": "50486bec7716d26c4b1059e83dd9179783c728f7812c87b770f94a19db354b4f",
      "sri": "sha384-Yq/GR3feer733276LU5TQ4YPVKwCgxIeWWKj0PmWbyypIReHQPiefomLaC33Xhep",
      "size": 176492,
      "publishedAt": "2026-06-16",
      "changelog": "Complete external bot channel verification release: public channel-status polling, app channel_config context, console channel setup, demo selection, docs, and immutable SDK snapshot."
    },
    {
      "version": "v71",
      "url": "/sdk/tac-v71.js",
      "readableUrl": "/sdk/tac-v71.readable.js",
      "downloadUrl": "/sdk/tac-v71.js",
      "sha256": "50486bec7716d26c4b1059e83dd9179783c728f7812c87b770f94a19db354b4f",
      "sri": "sha384-Yq/GR3feer733276LU5TQ4YPVKwCgxIeWWKj0PmWbyypIReHQPiefomLaC33Xhep",
      "size": 176492,
      "publishedAt": "2026-06-16",
      "changelog": "Add external bot channel verification: QQ official bot, Feishu, WeCom, DingTalk, Telegram, Discord, and custom webhook callbacks can confirm TAC one-time codes, with app-level encrypted channel config and polling UI."
    },
    {
      "version": "v70",
      "url": "/sdk/tac-v70.js",
      "readableUrl": "/sdk/tac-v70.readable.js",
      "downloadUrl": "/sdk/tac-v70.js",
      "sha256": "e2837943f6ced629509b440bd7ca96d536585a185acd705e9ee6b5d037a92b03",
      "sri": "sha384-iMJUFI3Zo+ieJdMJozloWPlsL4PPBUEfIFADBlGHoSSdm4GnkeDlF+SaB6IO56oj",
      "size": 169843,
      "publishedAt": "2026-06-16",
      "changelog": "Refine verification popup motion with a flat, centered layered entrance: shell first, content delayed, controls staggered, softer shadow ramp, and reduced-motion fallback without changing verification logic."
    },
    {
      "version": "v69",
      "url": "/sdk/tac-v69.js",
      "readableUrl": "/sdk/tac-v69.readable.js",
      "downloadUrl": "/sdk/tac-v69.js",
      "sha256": "78f1fcbf1cb8bdff1442e0e7ce9829a75a4cdb2f65725ae942066cad03cc9d49",
      "sri": "sha384-FG8OeCHlGzkYIzyv116onM4sZ22AMKdsyad8xpm4EzMBqao28kKoj4zIVpiIcJSu",
      "size": 165640,
      "publishedAt": "2026-06-16",
      "changelog": "Add smooth verification modal entrance and close animations: mask fade-in, modal scale/slide-in, short close fade-out, and reduced-motion fallback without changing verification logic."
    },
    {
      "version": "v68",
      "url": "/sdk/tac-v68.js",
      "readableUrl": "/sdk/tac-v68.readable.js",
      "downloadUrl": "/sdk/tac-v68.js",
      "sha256": "66fe56a37d16ca8e42f063e41cd8d5b3fddd4ab514371afcef6c376d30949c6d",
      "sri": "sha384-VclEp6EvdRONqpmbwzPjqvUsUotFXA8fGrAjZyzgp4OwoRyCMVRJWrK2qiL/R07N",
      "size": 162972,
      "publishedAt": "2026-06-16",
      "changelog": "Center the two WeChat Official Account status cards horizontally, keep the original bottom manual-code fallback, and only adjust the right-side status block layout."
    },
    {
      "version": "v67",
      "url": "/sdk/tac-v67.js",
      "readableUrl": "/sdk/tac-v67.readable.js",
      "downloadUrl": "/sdk/tac-v67.js",
      "sha256": "4f4e05d892418fda6ddca69eaffac024331de87f7f610b97d947fbc4ff20bff6",
      "sri": "sha384-QaDy9H9W143EJBXYDLg+sjzHBjYrNlI78ecJiY1uPAcxKNADc9+0msAVmpFdRzbX",
      "size": 162736,
      "publishedAt": "2026-06-16",
      "changelog": "Compact WeChat Official Account verification: move manual fallback input under the instructions, keep QR actions side by side, and shorten runtime status copy to reduce modal height."
    },
    {
      "version": "v66",
      "url": "/sdk/tac-v66.js",
      "readableUrl": "/sdk/tac-v66.readable.js",
      "downloadUrl": "/sdk/tac-v66.js",
      "sha256": "cad2084087c64f40890664caee739e2645cfa39a1b17d280564d57ee3166f0c8",
      "sri": "sha384-Za1fL06fjPDNyNxxNugZbJ0zpzwHGS3hHfaxdrm79ROHSaZyginJOZ9/QLkUYwrg",
      "size": 162428,
      "publishedAt": "2026-06-16",
      "changelog": "Refine WeChat Official Account keyword verification UI: remove duplicate top tip, move instructions to the left, keep QR and keyword confirmation on the right, center manual code fallback, and add breathing room at the bottom."
    },
    {
      "version": "v65",
      "url": "/sdk/tac-v65.js",
      "readableUrl": "/sdk/tac-v65.readable.js",
      "downloadUrl": "/sdk/tac-v65.js",
      "sha256": "b13f52faf8b9314eebf663699ee901a3302c21a24ab895173901b3a0ccf6e5c4",
      "sri": "sha384-p37UECpf8v4Er2Oa26HgpptiaHcNwy6HdVbGHpZUvEe1AjpC7+ETOUFQkC86Q/7M",
      "size": 161766,
      "publishedAt": "2026-06-15",
      "changelog": "Remove duplicate top instruction text from rotate captcha while keeping the bottom rail guidance; rotate slider interaction remains unchanged."
    },
    {
      "version": "v64",
      "url": "/sdk/tac-v64.js",
      "readableUrl": "/sdk/tac-v64.readable.js",
      "downloadUrl": "/sdk/tac-v64.js",
      "sha256": "d32c27b4d5b7fd607b45d51a0de8ba51049c7dbcdd319ef83610619e04681f36",
      "sri": "sha384-OYRetNo9uQ7L063xWSNVUwsGCPl2a97WTIfyp0JqtCLrtU/8ghWOG3NXMDE3mznd",
      "size": 161912,
      "publishedAt": "2026-06-15",
      "changelog": "Add rotate jigsaw slider-rail interaction: drag the bottom rail to rotate the puzzle piece in real time, keep server angle verification compatible, and preserve older fixed SDK versions."
    },
    {
      "version": "v63",
      "url": "/sdk/tac-v63.js",
      "readableUrl": "/sdk/tac-v63.readable.js",
      "downloadUrl": "/sdk/tac-v63.js",
      "sha256": "ba205a7c6e489486e791f959854a5ee829a9418d221f307e97588d32b2889fde",
      "sri": "sha384-GADgO9y/ILtitL+sGdQOjeb/QnTN/PLCXjLxbIuSpXFAlbB/dwXYw7k/O2H+1v3P",
      "size": 156960,
      "publishedAt": "2026-06-15",
      "changelog": "Make application brand display settings effective in the captcha modal: generate API returns app brand config and SDK applies server-side brand name, logo, primary color, dark theme, and language metadata. Server brand config now has priority over local fallback options."
    },
    {
      "version": "v62",
      "url": "/sdk/tac-v62.js",
      "readableUrl": "/sdk/tac-v62.readable.js",
      "downloadUrl": "/sdk/tac-v62.js",
      "sha256": "675ab783ec908e0e68f183c79484ce3b5a04dce2973f9383a82bdb50d4caa9d9",
      "sri": "sha384-2YCF7s4L1xq9rDtmj4zJnM/EGE/v8trvJhWA9X+gRLfxqGt4DJ3vQeISnadaUTzl",
      "size": 153247,
      "publishedAt": "2026-06-15",
      "changelog": "Optimize unverified WeChat Official Account verification: add automatic page pass after公众号 keyword confirmation, keep manual code input as fallback, and localize WeChat reply text."
    },
    {
      "version": "v61",
      "url": "/sdk/tac-v61.js",
      "readableUrl": "/sdk/tac-v61.readable.js",
      "downloadUrl": "/sdk/tac-v61.js",
      "sha256": "1a9f6574d26d2f0af8fe4d3b08affd16721cb29b3cb1a9aa0bae028f2b42d77b",
      "sri": "sha384-lG6aAtWHOl+zlFrFJbUvbuo3IWgGzRf2Gnxm5oIpeg3S0yo3wTcURrkq1E8nZRFS",
      "size": 148785,
      "publishedAt": "2026-06-15",
      "changelog": "Add unverified WeChat Official Account static QR keyword mode, clearer WeChat verification UI, and QR API permission testing."
    },
    {
      "version": "v60",
      "url": "/sdk/tac-v60.js",
      "readableUrl": "/sdk/tac-v60.readable.js",
      "downloadUrl": "/sdk/tac-v60.js",
      "sha256": "5740230b3aa574d4ea583a6e1ddbc8c51b79b8578213b62f18fa8fd7e29ec7c7",
      "sri": "sha384-+gWZFvtpdjtxxU6mPrHj37pVWCayLLyzlyq/r9i2+QUD0imT1HdrZaFDhblmlbjL",
      "size": 147952,
      "publishedAt": "2026-06-14",
      "changelog": "Add customer-owned WeChat Official Account verification support with app-level encrypted config, temporary QR challenge, callback code delivery, and scan-required verification."
    },
    {
      "version": "v59",
      "url": "/sdk/tac-v59.js",
      "readableUrl": "/sdk/tac-v59.readable.js",
      "downloadUrl": "/sdk/tac-v59.js",
      "sha256": "e2609b7854441cbeab9604ee319006e4a2b1eafec0f91bb12d7eb698d1dbf00c",
      "sri": "sha384-mp8zKbOsqElM48yvsXo/24FnfbUKhslzg4yac2X2Xe4Gn5u5Z/i98GclUsxeDEbt",
      "size": 147952,
      "publishedAt": "2026-06-14",
      "changelog": "Add optional WeChat QR verification mode with demo-safe code input, console type selection, and stable SDK support while keeping v58 immutable."
    },
    {
      "version": "v58",
      "url": "/sdk/tac-v58.js",
      "readableUrl": "/sdk/tac-v58.readable.js",
      "downloadUrl": "/sdk/tac-v58.js",
      "sha256": "db67d9b3544ff262db39609726b5583ff5e3a597a1bb0f814b0f07abfe797ff8",
      "sri": "sha384-Irc7XYpZLm09mY/NYCVyYhJ6jSqjHFAE0fT3UELbxQApI7wy36yvvTNt7lHSbMvY",
      "size": 142663,
      "publishedAt": "2026-06-14",
      "changelog": "Rotate jigsaw interaction cue redesign: replace the ambiguous curved marker with a clear selection frame and rotate handle, and rotate the cue with the puzzle during drag."
    },
    {
      "version": "v57",
      "url": "/sdk/tac-v57.js",
      "readableUrl": "/sdk/tac-v57.readable.js",
      "downloadUrl": "/sdk/tac-v57.js",
      "sha256": "b0985a3906935d0f90c0c6d03db33b6b05a92d187c5d62948da52df3aeb02e31",
      "sri": "sha384-lJZUePmfv6c0ro5KgDJSSQdJ0SGfSzaVVpQx2EM4rczfH7n7adcH7GvImiyABPmy",
      "size": 141146,
      "publishedAt": "2026-06-14",
      "changelog": "Rotate jigsaw cue attachment fix: bind the rotation guide to the puzzle-piece box itself so it stays visually connected across random images and positions."
    },
    {
      "version": "v56",
      "url": "/sdk/tac-v56.js",
      "readableUrl": "/sdk/tac-v56.readable.js",
      "downloadUrl": "/sdk/tac-v56.js",
      "sha256": "e0980ccd0f769ccd4b0f334579de98df3c958d29f512079f9f6fe9b6030504bc",
      "sri": "sha384-4u6vqr1GWMLLlqq4vvrO2cUXczxkYA6U9RwVdsqnou+iJE5XExpYtcsdTniuCBBj",
      "size": 141053,
      "publishedAt": "2026-06-14",
      "changelog": "Professional rotate jigsaw cue and icon click layout hardening: replace oversized orange cue with a subtle platform-color guide attached to the puzzle piece, keep icon buttons unrotated, and add multi-pass collision avoidance."
    },
    {
      "version": "v55",
      "url": "/sdk/tac-v55.js",
      "readableUrl": "/sdk/tac-v55.readable.js",
      "downloadUrl": "/sdk/tac-v55.js",
      "sha256": "52bed4f8483781d9ff97bc119697dbe83336f29d661f96340a8539c8efebcc76",
      "sri": "sha384-EoW0QaSU2J7mUAiS3clTVBdsVU4PozjvNkpWjnCKQoitNNnOPC0IweLmQh0fU1v8",
      "size": 139932,
      "publishedAt": "2026-06-14",
      "changelog": "Rotate jigsaw visual cue and icon click collision-safe layout: add rotation arrow beside the piece and prevent overlapping icon hit areas."
    },
    {
      "version": "v54",
      "url": "/sdk/tac-v54.js",
      "readableUrl": "/sdk/tac-v54.readable.js",
      "downloadUrl": "/sdk/tac-v54.js",
      "sha256": "2ab6d3c171ee4a6fa5372f58789b85b4d7dc01a53a0bd1743b6f05b7e82b143e",
      "sri": "sha384-uXELt0EZBbSPEgaenLkeaP7OIatkjTy3V3pMC3xtXwpxbNM7JGtjBTwHtibSrgRR",
      "size": 137097,
      "publishedAt": "2026-06-14",
      "changelog": "Icon click bounds fix: keep icon hit areas inside the stage on small screens and clamp legacy coordinates at render time."
    },
    {
      "version": "v53",
      "url": "/sdk/tac-v53.js",
      "readableUrl": "/sdk/tac-v53.readable.js",
      "downloadUrl": "/sdk/tac-v53.js",
      "sha256": "92fbb1946261a36c09d984be64dc1701dc7f273818f6e9932eb3fb9c4af4668c",
      "sri": "sha384-1UI6XWsExvKbohg0R+vbu+ovY9MFKQ8QpYfbdbiQ91z8l+i+YQuZqUXQ4lRGR+VC",
      "size": 136619,
      "publishedAt": "2026-06-14",
      "changelog": "Mobile modal layout fix: center popup in mobile viewport, add safe-area padding, and allow inner scrolling on short screens."
    },
    {
      "version": "v52",
      "url": "/sdk/tac-v52.js",
      "readableUrl": "/sdk/tac-v52.readable.js",
      "downloadUrl": "/sdk/tac-v52.js",
      "sha256": "b88679fc293b6a4e371d922d7981c30551f9731ed8bad9e212735c4607c4949b",
      "sri": "sha384-qXj0E7q3xxo29j/K4/yqxXF3NwRKHNxNI4b4TIcIXnmUhNuV6+hUEtd78MkVUfRq",
      "size": 136410,
      "publishedAt": "2026-06-13",
      "changelog": "Stable SDK snapshot for behavior verification modal, invisible check, slider, rotate, gesture, icon click, and server token verification."
    }
  ]
}
