更新日志
每次发布、每项功能、每个修复, , 汇聚于一个可滚动的日志中。
2026-04-26, 全面符合 ISO/AIM/GS1 渲染规范,覆盖所有码型
- 对所有 QR / 2D / 1D 条码逐一对照其主管标准进行了审计。bwip-js's 的
includetext对每个 bcid 默认都是 false,因此 EAN/UPC/ITF-14 一直在没有 ISO 15420 §5.1.2 + GS1 §5.4.4 所要求的可读文本带的情况下出货。整个 EAN/UPC 家族设为includetext: true+guardwhitespace: true,ITF-14、Code 128、Code 39、Code 93、Codabar、VIN 也都设为includetext: true。 - EAN-13 的静区现在按 ISO 15420 附录 A 设为不对称(scale=4 时
paddingleft: 44= 11 个模块,paddingright: 28= 7 个模块)。EAN-8 / UPC-A / UPC-E 采用各自规范规定的对称包络。PDF417 + AAMVA 驾照按 ISO 15438 §5.5 取 2 个模块的静区;Data Matrix 按 ISO 16022 取 1 个模块;Aztec 取推荐的 1 个模块(ISO 24778 允许 0,但会让贴边扫描的设备读不出)。 - QR 的
QUIET_ZONE_MODULES从 2 → 4,对齐 ISO/IEC 18004 §6.3.7 完整规范。2 模块这一捷径是行业折中做法,会在部分工业激光扫描枪上导致 GS1 Digital Link 前缀识别失败。Micro QR + rMQR 现在也带 2 模块静区出货(qrean只输出裸网格,因此在renderMicroQRResult中手动补上)。 - ECC 等级锁定:Aztec 23%(ISO 24778 默认值),PDF417 等级 5(GS1 运输与物流最低值)。锁定以防 bwip-js 未来的默认值漂移。
- 新增权威页:/standards/barcode-rendering/。按符号体系组织的参考,覆盖全部 17 种类型的静区、HRI、ECC 和校验位,每条引用的 ISO/AIM/GS1 标准都附有一手源链接。
2026-04-26, 强化 staging-first 部署门禁
- 带 staging 的站点进行生产部署时,现在要求最近一次 staging 部署对应的 commit 与当前完全一致(两端工作区都必须干净)。此前门禁的 24 小时窗口会让无关的生产部署搭上过期的 staging 历史。按 SHA 追踪、fail-closed,覆盖开关仍为
CF_DEPLOY_SKIP_STAGING_FIRST=1。 cf-deploy.py新增针对CLOUDFLARE_API_TOKEN的预检, 直接快速失败并提示source ~/.envrc,不再让 wrangler 抛出难懂的 "non-interactive environment" 错误。- 每次部署后内容校验器:抓取生产 URL,确认其 cache-buster 与刚刚刻入
dist/的一致。可以捕获 200-OK 健康检查会悄悄漏掉的那一类 bug,比如「CNAME 接错」「edge 仍在返回旧缓存」「部署到了错的分支」。
2026-04-25, 移动端 UX 全面改版:粘性预览栏、底部弹出预览、固定下载按钮
- 手机端(≤768px)页面顶部新增粘性预览栏,始终显示二维码的实时缩略图和一行状态, , 空闲时显示"请填写下方表单",生成后显示"您的二维码已就绪 · 点击下载"。二维码首次有效时会闪烁一下以引起用户注意。彻底解决了移动端访客经常不知道结果已经渲染在折叠下方这一长期问题。
- 点击预览栏(或新的底部固定下载按钮)将预览作为底部弹出层打开, , 满宽下载按钮垂直堆叠,下滑或点击背景关闭,并为 iOS Home 指示器留出安全区域内边距。
- 软键盘处理:visualViewport 监听器在键盘弹出时为
body.kb-open加上标记,预览栏收缩为细长胶囊,聚焦的输入框滚动到屏幕中部,使键盘永远不会遮挡用户正在输入的内容。 - ≤640px 触摸目标整理:类型选择卡从 14×8 / 0.78rem 调整为 16×10 / 0.82rem 且最小高度 56px,面板标签与主要按钮下限 44px,导出按钮在底部弹出层内满宽堆叠且下限 48px。
- viewport meta 增加
interactive-widget=resizes-content,两处100vh规则迁移到100dvh,以便在带动态工具栏的移动浏览器中获得可预期布局。 - 移除旧的滚动到预览的 FAB, , 预览栏与固定 CTA 更直接地承担同样职责。Service Worker 缓存升至 v132。新增字符串已翻译为全部 25 种语言。
- CSS 清理:
style.css中 203 处单值 space 声明通过 codemod 迁移到--space-N令牌。纯重构,视觉无变化。 - 内联样式上限 89 → 85:AAMVA / Code 39 / Code 93 / VIN 输入框上的四个
style="text-transform:uppercase"属性替换为已有的.input-uppercase类。
2026-04-19, N16 合规清查(45 页)、N3 第二批、回归修复、N3 收尾、AAMVA 披露、Expert 状态持久化、可访问性审计
- 完整的 N16 合规清查:所有 34 个支付方案落地页现已带上合规清单 + "何时不要使用此码" 区块。第四批(19 页)覆盖剩余项:Alipay + WeChat Pay(PBoC + SAFE)、Boleto(BACEN + FEBRABAN)、Mercado Pago(七国监管矩阵)、Payconiq(NBB + PSD2)、EPC/Girocode(EPC069-12 + ZAG)、Apple Wallet + Google Wallet(开发者计划 + FTC Endorsement + GDPR 位置)、Kakao Pay + Naver Pay + LINE Pay(韩国 FSC + 日本 FSA + 台湾 FSC + BOT)、GCash + Maya(BSP EMI + AMLC + QR Ph + SEC PH)、JPQR(METI + FSA Qualified-Invoice)、FPS HK(HKICL + HKMA + SFC Alert List)、DuitNow(PayNet + BNM + LHDN e-Invoice)、M-PESA(Safaricom + CBK + eTIMS + CMA)、MoMo(SBV + AMLID + GDT e-Invoice)、PayID(NPP + RBA + APRA + AUSTRAC + ASIC)。加上之前的三批(AAMVA / Review 页 / Coupon / Review Funnel / App Store / PayPal / Crypto / UPI / SEPA + Venmo / Cash App / Swiss QR-bill / PIX / PromptPay / EMVCo / TWINT + Bizum / PayNow / iDEAL / BLIK / Interac / MB WAY / Swish / Vipps),合计为 45 个加上合规约束的落地页, 站点上每个支付方案现在都拥有本地监管引用、商户分类规则、税务/发票责任、消费者保护框架,以及一条指向正确证券监管机构的 "不构成投资邀请" 警示。 第一子批(7):Venmo(AUP / F&F 滥用 / 1099-K / Early Warning 上报)、Cash App(Cash for Business / Bitcoin & Investing 受监管面 / Regulation E / CFPB 欺诈标记)、Swiss QR-bill(SIX v2.3 / QR-IBAN 规则 / MWSTG / OR Art. 958f 十年留存)、PIX(BACEN Resolution 103/2021 / PJ 与 PF / MED 退款窗口 / 贴纸覆盖欺诈 / CVM 投资标记)、PromptPay(BOT 规则 / THB 1.8M VAT 起征点 / AMLO 上报 / 跨境外汇披露)、EMVCo(ISO 18245 MCC / 收单方 KYC / AID 不匹配的国家级 FIU)、TWINT(FINMA/AMLA / MROS / KIG 消费者保护)。第二子批(8):Bizum(Bizum Negocios / SEPBLAC / factura / CNMV)、PayNow(MAS Payment Services Act / STRO 上报 / SGQR / PDPA)、iDEAL(持牌收单 / DNB / PSD2 13 个月争议 / CBF 慈善 / ACM 执法)、BLIK(Polski Standard Płatności / KNF / GIIF 上报 / faktura VAT / RODO)、Interac(Interac for Business / FINTRAC / PIPEDA / 魁北克 Bill 96 / CAFC 欺诈)、MB WAY(SIBS / Banco de Portugal / UIF / CMVM / GDPR)、Swish(Getswish AB / Finansinspektionen / Skatteverket kassaregister / Swish-bedrägerier)、Vipps(Vipps MobilePay AS / Finanstilsynet / Økokrim / Bokføringsloven / advarselsliste)。这与 AAMVA、Google/Yelp/TripAdvisor Review、Coupon、Review Funnel、App Store、PayPal、Crypto、UPI、SEPA 上既有的合规区块汇合。当前总覆盖:26 个落地页。
- 再上线五个 权威标准页(N3 第二批), AAMVA 驾照、eSIM 激活(LPA)、EMVCo 商户 QR、Micro QR / rMQR、ZATCA 电子发票。中心页现在有 8 个上线的参考页面,覆盖核心规范。
- 修复两个回归:(1) 首页加载时自动向下滚动,因为
showCategory()初始化时对类别芯片调用了scrollIntoView({block:"nearest"}), 改为手动水平scrollLeft,从此不再触动页面滚动。(2) 类型搜索 "paym" 返回零结果,因为筛选只检查标签 + data-type 子串, 通过 DRY 修复,现在复用与命令面板相同的 CAT_SEARCH + TYPE_SEARCH 同义词表。 - N3 收尾:新增 /standards/non-qr-2d/ 综合参考页,涵盖 Aztec(ISO/IEC 24778)+ PDF417(ISO/IEC 15438)+ Data Matrix(ISO/IEC 16022)。并排比较表、跨 iOS Camera / Android / Google Lens / 工业成像仪 / 航班登机门 / DMV 阅读器 / 制药 DPM 阅读器的原生扫描器支持矩阵、选择正确符号体系的指南(Aztec 用于登机牌,PDF417 用于长 ASCII 平面纸张,Data Matrix 用于 DPM / 制药,QR 用于消费级手机相机)。标准中心现共 9 页全部上线,零草稿。
- AAMVA 表单渐进式披露(N19.3 跟进):25 项输入的表单拆分为「必填」(管辖区 / 驾照 / 文档类型 / 姓 / 名 / 生日)、「推荐折叠展开」(中间名 + 街道 + 城市/州/邮编 + 签发/到期日期)、「专家调优折叠」(性别/瞳色/身高 + 类别/限制/批注)。与 TOTP、HOTP、Aztec、PDF417、Swiss QR、EMVCo、GS1、SEPA 使用相同的模式。
- Expert 调优状态跨访问持久化(N19.3 跟进):在任意表单上展开 Expert 区块时,展开状态会按类型作为键存入
localStorage.qrExpertSectionsOpen。下次再选这个类型时,Expert 已经是展开的。.field-section[data-level="expert"]上的委托式toggle监听器, 无需为每个表单逐一接线。 - 内部可访问性审计(N8):对首页、/print-size/、新的 /standards/ 中心页 + 9 个权威页,以及 45 个支付方案落地页进行了 WCAG 2.2 AA 人工通过审查。在跳过链接目标、focus-visible、表单标签、按钮名称、ARIA 角色、对比度 AAA 主色 / AA+ 弱化色上均通过。修复了一个标题级别跳跃(vCard/MECARD extra-fields 中三个
<h4>子标题提升为<h3>,以获得清晰的大纲)。完整结论已发布在 /accessibility/。 - 公开语料 ZIP(N2 跟进):/proof/corpus.zip, 打包的 fixtures JSON + CSV + 方法论 + README,约 4 KB,每次部署时重建。扫描器队伍现在可以一次下载完整语料,而无需克隆仓库。从 /proof/corpus/ 上的醒目下载按钮链接。
- 扫描器队伍证明日志(N2 跟进):新增 docs/SCANNER_ATTESTATION.md, 按行附日期的设备/系统/应用人工验证日志。初始 10 行覆盖 iPhone 15 Pro on iOS 18.3、Pixel 8 on Android 14、Zebra DS8100、Google Authenticator、1Password。每验证一台设备就增长。
- 生成器内预览真实化(N19.6):实时 QR 预览下方新增紧凑 4 芯片切换, 默认 / 手机 / 单色 / 低对比度。对预览应用 CSS 滤镜(手机做缩放、单色做灰度、低对比度做对比度衰减),让设计师不离开生成器即可看到 QR 在不同基底上的表现。对编码载荷、下载、剪贴板复制零影响。
- 更多语义校验器(N19.4 扩展):HOTP 密钥 Base32 + 计数器非负整数检查;eSIM SM-DP+ 必须是裸 FQDN(不带 https://, 常见的手机配置失败因子);eSIM Matching ID 拒绝
$字符(与 LPA 字段分隔符冲突)。 - 渐进式披露扩展到 UPI 与加密货币(N19.3 扩展):UPI 金额 + 备注归为「推荐」;加密货币金额 + 标签归为「推荐」。SIP、MMS、PromptPay 与 Lightning 评估后保持扁平, 字段过少,不适合披露。
- 跨 SEO、性能、安全、链接完整性、代码质量进行了一次质量审计扫描(i18n 通过推迟)。Service worker 的
cache.put写入现在在event.waitUntil内运行,避免在导航中途被丢弃;缓存升至 v121。Business-card 打印对话框从document.write切换到BlobURL。Share 与名片下载点击处理器包了 try/catch,让拒绝转化为 toast 而不是静默失败。魔数定时(设计卡片哈希自动打开、GIF 帧渲染、双 PNG 下载间隔、打印 blob 释放)抽出为命名常量。修复一个潜伏的 CSS bug:.card-text-row输入选择器只匹配[type="text"],但 HTML minifier 会剥掉默认type="text"属性, 加上input:not([type]),让 BCD 标语 + 题注输入在生产环境保留样式。删除了两处无意义的!important声明;静音了嘈杂的 i18nconsole.warn。CLAUDE.md 更新, 语言页是预渲染到site/{lang}/,而不是通过_redirects重写提供。
2026-04-18, 权威推进:/standards/ 中心 + 3 个标准页、/proof/corpus/、Reviewer #6 收尾、N19.1 工作流优先 Advanced
- 简单模式在 8 块网格下方新增「Advanced 中还有 96 种类型」的提示。点击链接会切换模式开关,免去用户向上滚动。简单保留在 8 块;Advanced 仍是长尾的发现路径。
- Pro CTA 子弹列表重写以反映已实际上线的能力:密码门控代码、计划激活与到期、热力图/天气/ROI/同期分析、公开可分享统计页、大型组合的代码组、Webhooks + REST API、多团队与审计日志、SSO(SAML/OIDC)+ SCIM provisioning。旧的笼统「扫描分析 / API 工作流 / 团队」子弹已移除。
- 生成器下方的「保存到 Pro」提示现在点名密码门控、计划激活、热力图与 ROI 分析、公开统计页,而不只是「扫描分析」。
- 字段繁多的高级生成器上的渐进式披露(N19.3):TOTP、HOTP、Aztec、PDF417、Swiss QR、EMVCo 把专家旋钮(算法/位数/周期、EC 等级、列数/紧凑、消息、MCC/AID)折叠在「Expert 调优」区块下。GS1 Digital Link 把 AI 17/10/21 归为「推荐」;SEPA 把参考(推荐)与 BIC(Expert 调优)分离。折叠的 Expert 摘要显示「expert」徽章,让高级用户不点也能注意到额外旋钮。
- 已保存档(N19.8):可命名并保存任意高级生成器的当前字段值到 localStorage,在兼容性图例上方的「已保存档」面板里列出,并通过一次点击或命令面板(Cmd/Ctrl+K)加载。存储仅在客户端;任何东西都不会离开浏览器。
- 印刷生产权威(N15):/print-size/ 现在带有基底指南(8 种基底 × 尺寸惩罚 × ECC)、CMYK 安全调色板规则附目录级 CMYK/RGB-only 注解、户外/招牌规则(紫外褪色、低温摄像头行为、斜角扫描)、4 项检查的可打印 QA 协议、以及朴素语言的预飞行等级定义("D = 在 3 m 距离内的光泽招牌上将失败")。
- 合规围栏(N16):在五个被审阅者标记的落地页上新增「合规清单」+「何时不要使用此码」区块, App Store(Apple 5.2 / Play 政策 / TestFlight 分发)、PayPal(AUP / F&F 滥用 / 1099-K / MSB 分类)、Bitcoin & Crypto(FATF Travel Rule / FinCEN/FCA 注册 / Howey 测试敞口 / OFAC)、UPI(NPCI 通报 / GST / 反欺诈覆盖骗局 / SEBI 投资 QR)、SEPA(EPC069-12 一致性 / PSD2 退还权 / 不支持周期性授权警告)。与 AAMVA、Google / Yelp / TripAdvisor Review、Coupon、Review Funnel 上既有的合规区块汇合。
- 命令面板的最近类型(N19.7):当 Cmd/Ctrl+K 以空查询打开时,最近选过的 8 种类型会先浮现;当带部分查询时,最近类型会获得小排名加成,让 "tot" 可靠地跳到最常用的 OTP 流。同时打上「Recent」类别芯片,让加成可见而不神秘。仅在 localStorage 中跟踪。
- 简单模式打磨(N6):简单现在还隐藏了「已保存档」面板(不是新手概念)和「批量」标签。已隐藏项目不变(类型搜索、行业预设、兼容性图例、类别标签、兼容芯片)。
- 四支柱信任条(N7):页面顶部的承诺条从 5 项收缩到 4 项,每项都明确带上其支柱标签, 「真正免费, 无注册、无付费墙」、「隐私优先, 0 出站请求,可现场验证」、「生产安全, 兼容性测试 2026 年 4 月」、「无锁定, 静态备用 QR、随时导出」。比较已更新链接从条上撤下(它是可信度信号,不是支柱),但仍保留在导航 + 页脚。
- 果断的「使用此码 / 不要使用」标注(N19.11)出现在字段繁多的高级表单顶部, Data Matrix、Aztec、PDF417、TOTP、HOTP、eSIM、GS1。橙色重音、两个分句、置于任何字段输入之前。替换了过去的解释性文字位于底部、用户输入完才阅读的模式。
- Style 面板上的能力横幅(N19.9)针对非 QR 符号体系, 显式芯片 + 标题("无样式, 仅纯条码")+ 描述,替换旧的单段提示,做出可一目了然的提示。
- 语义校验(N19.4):TOTP Base32 密钥校验器、Swiss QR IBAN CH/LI 前缀 + 21 字符长度检查、SEPA IBAN mod-97 校验和(捕捉错位数字),以及 EAP 已选但身份为空时的 WiFi Enterprise 跨字段警告。内联、非阻塞,复用现有的 VALIDATION_RULES 注册表。
- QR Lab 现在距离下载只有一次点击(N5), 一个虚线边框芯片("在 QR Lab 中先测试再打印 →")与下载按钮内联,把验证置于导出节点可见。
- Advanced 以任务为先打开(N19.1):类别条现在按 你正在做什么 而不是 它是什么符号体系 组织。九个工作流桶, 日常分享、活动与场所、媒体与文件、营销与点评、WiFi 与电信、支付与银行、零售与 GS1、登机与身份、认证与开发, 取代旧的符号体系分类(日常 / 商务 / 支付 / 身份 / 安全 / 工业 / 高级标准)。所有 105 个类型按钮重映射;页脚类型网格按对应分组重组。
- 权威推进(N3):新增 /standards/ 中心页与八个完整参考页, GS1 Digital Link(Sunrise 2027、实时 GTIN 校验位校验器)、TOTP & HOTP(RFC 6238 / 4226、实时 Base32 熵校验器、认证器兼容性)、Swiss QR-bill(SIX IG v2.3、带 QR-IBAN 检测的实时 CH/LI IBAN 校验器)、AAMVA 驾照(CDS v10、元素代码表、IIN 表、合法用途框架)、eSIM 激活(LPA)(GSMA SGP.22、iOS 17.4+ / Android 13+ 兼容性)、EMVCo 商户 QR(MPM / CPM 结构、地区衍生 PIX/UPI/PromptPay/SGQR/DuitNow、MCC 表)、Micro QR & rMQR(ISO/IEC 18004 附录 M + ISO/IEC 23941、容量图、专用扫描器兼容性),以及 ZATCA 电子发票(沙特 FATOORA、TLV 标签 01–09、阶段 1 vs 阶段 2)。每页:规范链接 + 标准测试矢量 + 适用情况下的实时校验器 + 陷阱 + 扫描器兼容性 + 标日下次复审日期。迈向百科级权威目标的第一步。
- 公开测试语料骨架(N2):新增 /proof/corpus/ 页,记录任何人可用来审计扫描器兼容性主张的方法论, 下载 fixtures、重新生成 QR、用自己的设备扫描、上报差异。精选 18 行预期扫描结果表,覆盖 iOS Camera、Android Camera 与专业扫描器。链接 /test-vectors/(开发者 JSON)与 /standards/(其上方的权威层)。
- 当天早些时候在前序提交中上线的 Reviewer #6 项:以工作为先的块状网格(N14)、"互联网上最值得信赖的 QR 工具" 品牌句(N17)、命令面板(N19.2)、专家预设(N19.5)、负载检视器(N19.10)、规范化 <title> 格式扫描(N20)。
- 翻译积压:N14 与 N17 文案在 25 种语言中已就位;今日 Reviewer #6 收尾的其他内容(N19.3 / N19.4 / N19.7 / N19.8 / N19.9 / N19.11 / N5 / N6 / N7 / N15 / N16 / Pro SSO/SCIM)暂时仅英文,下次翻译批次之前在其他语言中会回退到英文。
2026-04-17, Keep-Alive 上线、Pro 路线图 + 支持页、Webhook 审计修复
- Pro 上线 Keep-Alive 层级:$4/月、$36/年、$240 十年(10 年预付,等效 $2/月)。保留现有代码,目标编辑冷却期为 30 天;不支持新代码、不含席位、不开放 API。Migration 007、三个 Stripe 产品、Decade 一次性付款的 webhook 路径、跨 dashboard/codes/edit 的方案门控。回退了 /compare/ 与 /no-lock-in/ 上的 "Ships Q3 2026" 横幅。
- 新页面 pro.qr.abundera.ai/roadmap/:已发货项、Q3/Q4 承诺与终止标准、明确不会构建的事项。
- 新页面 pro.qr.abundera.ai/support/:每个层级响应时间目标、安全披露地址、范围。
- Stripe webhook 修复:幂等性竞态(可能吞掉重试支付), 在处理前 SELECT 去重,成功时 INSERT。Decade 付款处理器在缺失/未知 price_id 或 tier 不匹配时抛错,而不是静默丢弃。
DEFAULT_SEAT_LIMIT在 team-invite accept 中未定义。签名容差 60s → 300s。incomplete_expired映射到trialing(原为expired)。 - 文档:
ABUNDERA_JWT_AUDIENCES标注为必需;docs/INTEGRATIONS.md中的PLAN_PRICE_MAPschema;移除未使用的ABUNDERA_SERVICE_SECRET引用。 - 测试:70 项通过。新增 8 项针对 Keep-Alive 谓词与 30 天冷却期。
2026-04-16, Pro 上线、定价阶梯重构、外部审阅跟进
- Pro 门户上线:pro.qr.abundera.ai。
- 定价阶梯(月度 / 按年付每月):Solo $12/$9,Business $39/$29,Team $129/$99,Agency $449/$349,Enterprise $1,800/$1,500。年度是定价网格的默认选项。
- 显式月度扫描上限(50K / 250K / 1M / 4M / 25M)替代「无限」。超出上限不会破坏重定向;按各层级自身的列表价计费溢出(每千次扫描 $0.06–$0.18)。
- 每层级都有显式的代码数(500 / 2,500 / 15K / 75K / 500K), 没有「无限*」小字。
- 新增 13 个支付落地页:Apple Wallet、Google Wallet、EPC Girocode、BLIK、Interac、MB WAY、GCash、Maya、Kakao Pay、Naver Pay、LINE Pay、iDEAL、Boleto。类型计数 91 → 104;sitemap 现共 3,224 URL。
- 扫描预检从 4 个通用条件扩展到 8 个具体场景(菜单贴纸、橱窗海报、挂绳、货架标签、仓库标签、户外招牌、包装、名片)。等级 C/D/F 显示一个下载前模态。
- /compare/ 定价矩阵拆分为六个容量匹配组。竞争对手条目新增 Bitly、Flowcode、Uniqode、QR Code Chimp、QRTIGER, 每条带日期并标记按月再核验。每行显示按代码月度成本。
- 预部署脚本中的计数漂移检查:扫描
site/下所有生成页面寻找硬编码类型计数。/compare/ 上 91/104 漂移的发布是因为旧检查只看三个页面。 - Pro 站点框架:「免费用于保留。Pro 用于变更。」贯穿 /no-lock-in/、/static-vs-dynamic/ 与首页 Pro CTA。
- Stripe 产品通过幂等的
stripe-setup.py脚本创建(Solo + Team 升至 rev 2 反映新金额)。PLAN_PRICE_MAP同时持有旧的与新的 price ID,让任何已订阅者保持映射。 - 其他:生成器字段上方的兼容性详情条、首页信任条、每页新鲜度戳、/accessibility/ 骨架页、/for/ 行业预设包(8 个)、Wizard/QR Lab 可发现性提示、计数审计(120 → 336 图标,24 → 50 BCD 预设)、仓库语言整理(仓库为私有;"开源生成器代码" → "在浏览器中可审计的客户端代码")、OG 图重新生成为有效的 iCalendar 事件 QR。
2026-04-15, 简单/高级、/compare/、保存到 Pro
- 首页简单 / 高级切换。简单精选 8 种日常类型(URL、WiFi、vCard、Email、Phone、SMS、Event、Text);高级恢复完整的 104。模式在
localStorage中粘性;非简单类型的落地页自动切换。 - /compare/ 竞争对手矩阵上线:与 QR Code Generator、QRCode Monkey、Uniqode 逐项比较。带日期、按月再审。
- 免费站点上的「保存到 Pro」按钮:一键将生成的代码晋升至 Pro 门户。状态通过 URL 哈希往返;未签名用户回到生成器时工作内容已保留。
- 桌面上类别标签滚动箭头;移动端平滑滚动。
- 历史恢复在保存的代码类型不在简单模式中可用时自动切换到高级。
- Pro CTA 文案软化;反挟持故事(静态备用 QR、90 天宽限期、域名可携带性)前置。
2026-04-14, Pro 门户上线、3 种新类型、自动填充修复
- Pro 门户(
pro.qr.abundera.ai)端到端上线。 - 三种新免费站点类型:M-PESA Kenya(EMVCo MPM)、视频会议(Zoom/Meet/Teams/Webex 快捷方式)、优惠券/促销码。
- GS1 Digital Link 类型现在支持全部 12 个 Sunrise-2027 强制 Application Identifier。
- 新增 SEO 页面:
/static-vs-dynamic/、/no-lock-in/(合同性:90 天宽限期、一键导出、30 天 GDPR 删除、静态备用 QR)。 - 自动填充修复(第六次尝试):每种类型的字段块都是真正的
<form>元素,带其各自的autocomplete标记;非活动表单设为display: none,让 Chrome 不会标记屏幕外的输入。vCard/地址/联系人/WiFi-Enterprise 垂直分组现在跨 Chrome、Safari、Firefox 工作。Playwright 测试架在 0 违规。 - 评论漏斗:平台下拉(Google/Yelp/TripAdvisor),按平台带占位符文案。
- Wizard:8 个被破坏的结果 slug 引用已修复。
- Header/footer 通过共享 partials 统一;工具页(Wizard、QR Lab、Test Vectors)转移到同一模板系统。
- 预部署检查:内部链接验证 + 原始英文
showToast()守卫。 - BCD 修复:垂直布局稳定、落地页 UI 回归、RFC 链接标签、水印伪影。
- 生成的落地页 HTML 不再纳入 git 跟踪(仍在部署;git 跟踪模板与生成器)。
2026-04-13, 25 语言对等、Header/footer 重设计、Playwright 测试架
- 跨 25 个语言文件翻译了 6,660 个英文回退键。非英语落地页不再回退到英文字符串。翻译流水线重构为校验器/规划器。
- i18n 扩展到工具页:Wizard、QR Lab 与 Test Vectors 现在有 25 种语言变体,带 hreflang 标签与 sitemap 条目。
- Playwright 往返测试架:为每种语言中的每种类型生成代码、解码画布、检查字段。0 违规。
- Header/footer 重设计:纤薄 header、3 列 footer,与 sign.abundera.ai 模式一致。移动端汉堡抽屉打开时现在显示导航项(之前损坏)。
- 点击 QR 预览 → 缩放灯箱。标签显示类型名 + 第一项输入(之前显示原始负载)。
- 第一次自动填充修复尝试(在 2026-04-14 正确落地)。
- 类型搜索浮现高级类型;选取后关闭;流行模式中隐藏空类别标签;历史恢复内联切换类型而不是重定向。
2026-04-12, 26 语言对等、13 种新载荷类型、3 种非 QR 2D 条码
- 完整 26 语言对等:每个英文键现在存在于每个语言文件中(1,302 键 × 25 种语言)。通过 4 次遍历注入了 5,533 条翻译条目, , 通用专有名词键、Tier-1 短标签、表单字段标签、提示消息和提示段落。30 个 URL 和品牌名称密集的品牌支付提示在所有语言中使用英文值是经过设计的。
- 去重:从 19 个语言文件中删除了 113 个过时的重复键块(来自之前变基的长期漂移)。
- 信息页面页眉修复:blog/about/privacy/changelog 等使用了没有定义 CSS 的
.brand/.header-inner/.brand-text类。切换为与主应用相同的.logo标记。 - 4 种基于标准的 URI 类型:HOTP(RFC 4226)、eSIM(GSMA SGP.22 LPA)、SIP/SIPS(RFC 3261)、MMS/MMSTO。
- WPA2/WPA3-Enterprise WiFi:扩展
WIFI:格式,增加 EAP 方法、第二阶段认证、身份、匿名身份。 - 6 种区域支付类型:Alipay、WeChat Pay、Swish(SE)、Vipps(NO)、Mercado Pago(LatAm)、Payconiq(Benelux)。
- 3 种非 QR 2D 条码:Data Matrix(ISO 16022)、Aztec(ISO 24778)、PDF417(ISO 15438)。bwip-js(约 1 MB)仅在选择这些类型时懒加载。
- 首页新增 26 语言展示区,附带原生文字链接。
- 预部署审计脚本增加了
BATCH_VALID_TYPES同步检查 + 原始英文showToast()守卫。 - 所有 13 种新类型的页脚 + 落地页 + i18n 键(英文源)。
2026-04-11, BCD 照片 URL 获取、预览固定、可展开预设
- BCD:照片 URL 字段现在将远程图片内联为数据 URL,防止导出画布因跨域加载而被污染(PDF/PNG 导出现在在无 CORS 的主机上也能工作)。
- BCD 桌面布局:预览面板现在为
position: sticky,当用户展开所有部分时,控件可以自由滚动,不会丢失对实时预览的可见性。 - BCD 预设网格现在可展开, , 初始显示 12 个布局,附带「显示所有布局」切换,与图标选择器 UX 一致。
- 标语 + QR 说明输入重新设计:堆叠标签 + 全宽输入框(之前是紧凑的 150px 侧边栏)。
- 可扫描性徽章从
bottom: -24px提升到-18px,不再遮盖复制按钮。 - 批量 CSV 说明现在明确提及 Google Sheets、Excel、Numbers。
2026-04-08, 垂直行业图标库
- 24 个新中心 LOGO 图标(96 → 120),面向医疗、餐饮、科技、金融垂直行业。
- 10 个新 BCD 布局预设(40 → 50):Concrete、Honey、Indigo、Luxe、Midnight II、Ocean II、Slate、Verdant、Wine、Candy。
- 缓存破坏策略 bug:落地页上
page-init.js+lang-redirect.js缺少?v=参数,导致部署后加载了过期模块。已修复。
2026-04-04, BCD 渐变背景 + 卡片背面 + 12 个新预设
- BCD:12 个新预设(Dark Mode、Pastel、Ocean、Cherry、Slate、Emerald、Amber、Mono、Rose、Midnight、Sand、Carbon)。共 36 个预设。
- 用户可控的渐变背景,配备第二个颜色选择器。
- 卡片背面渲染,包含公司 + 标语 + CTA 文本。
- 社交图标行(LinkedIn / X / Instagram)。
- 从 vCard 字段渲染地址块。
- 可视化预设缩略图, , 每个预设按钮现在渲染一个小画布,而不是占位符。
2026-03-29, BCD 全面改版 + 600 DPI 导出
- Business Card Designer 可折叠手风琴部分、移动端固定预览、固定导出页脚。
- 十六进制颜色输入,支持颜色选择器双向同步,颜色调色板色板。
- 4 种照片形状(圆形、方形、圆角、六边形)。
- 导出分辨率提升至 600 DPI,印刷输出清晰锐利。
- 更多菜单:导出模板、导入模板、随机推荐、分享名片、打印页面(US Letter + A4 各 10 张)。
- 照片裁剪强制正方形。打开设计器前的最小数据守卫。
- BCD 预设增加:8 个视觉上截然不同的新预设(Neon、Art Deco、Sunset、Forest、Brutalist、Kraft、Nordic、Retro 80s)。共 24 个预设。
2026-03-22, 20 种新 QR 类型 + Link-in-Bio + 竞品对比
- 20 种新 QR 类型(35 → 55):YouTube、Apple Music、Google Review、Yelp Review、TripAdvisor、Venmo、Cash App、Support/Tip Jar(Ko-fi/Patreon/BMAC/Liberapay)、TWINT、Bizum、PayNow(SG)、PayID(AU)、ZATCA(SA)、BIP-21 Bitcoin + Lightning、webcal://、JPQR(JP)、HKFPS(HK)、DuitNow(MY)、MoMo(VN)、Link-in-Bio。
- Link-in-Bio 从 QR 的 URL 哈希渲染完整的个人简介页面, , 无后端、无账户、无追踪。
- /embed/ iframe 组件(postMessage API 用于父页面集成)。
- /vs/ 竞品对比页面(26 种语言变体)。
- @abundera/qr npm 包 + 带 25 种类型编码器的 CLI。
2026-03-15, 96 个中心 LOGO 图标 + 5 种新语言
- 96 个中心 LOGO 图标(12 → 96):加密货币、通信、媒体、实用工具、商业、交通、自然、食品、人物、活动、12 个表情符号、18 个社交网络字形(X、Facebook、Instagram、LinkedIn、TikTok、YouTube、Pinterest、Reddit、Snapchat、Discord、Telegram、GitHub、Threads、Bluesky、Mastodon、Twitch、Signal、Medium)。通过 <details> 切换可展开。
- 5 种新语言(21 → 26):瑞典语、捷克语、丹麦语、挪威语、芬兰语。每种语言 1,106 个键,均为原生翻译。
- EPS 导出(嵌入 JPEG 的 Level 2 PostScript,ASCII85 编码),用于印刷工作流(Illustrator、InDesign、CorelDRAW)。
- 动态 GIF 导出(gif.js,8 帧彩虹)。
- BCD SVG 导出,BCD JPG 导出。
2026-03-08, 平台审计 + 无障碍功能扫描
错误修复冲刺:修复了 3 个严重 + 7 个高危 + 10 个中等问题。
- 修复了全部 55 个落地页上的 CSP 内联脚本违规, , 移至
data-qr-preselectbody 属性。 - Service Worker 缓存过期 bug, , 查询剥离键 → 完整 URL + stale-while-revalidate。
- 在非 vCard 落地页点击 BCD 按钮时表单类型不同步的问题。
- 背景图片可见度(透明度滑块、90% alpha 的模块、裁剪模态路由)。
- 裁剪模态移动端溢出。
- 滚轮缩放劫持鼠标滚动(已完全移除)。
- 头像 IP 泄露缓解(referrerpolicy + no-referrer header)。
- WiFi 批量开放网络修复、MeCard 批量字段对等、TOTP Base32 验证。
- WCAG 2.5.8 触摸目标(粗略指针最小 44×44)。
- 对 87 个装饰性 SVG 进行了 aria-hidden 扫描。
- 尊重 prefers-reduced-motion。
- Toast aria-live、焦点可见环、裁剪键盘导航、溢出菜单 Home/End 键。
- 字体预加载优化。
2026-03-01, 15 种基于标准的类型 + 可扫描性验证器
- 15 种新 QR 类型:TOTP/2FA、Swiss QR-bill(带强制红色瑞士十字叠加)、PIX(巴西)、PromptPay(泰国)、EMVCo 通用商户、Lightning BOLT11、SSH 公钥、OpenPGP 公钥、WireGuard 配置、GS1 Digital Link、Spotify、Fediverse(Mastodon/Bluesky/Nostr/Matrix/Threads)、Geo URI、Magnet、完整 iCalendar。
- 可扫描性验证器, , 在渲染的画布上运行 jsQR,在解码失败时发出警告。
- 可打印 URL 回退, , 切换开关可在 QR 码下方添加目标 URL 为纯文本。
- jsQR 懒加载(节省 262 KB 急加载负载)。
2026-02-22, 多停止渐变编辑器 + 每眼独立颜色
- 多停止渐变编辑器(最多 5 种颜色)。
- 每眼独立的内外颜色。
- 背景图片 QR 模式(透明度滑块,自动强制 EC=H)。
- 预览画布支持捏合缩放。
- QR 码和名片的 Web Share API。
- WebP 导出格式。
- 撤销/重做(Ctrl/Cmd-Z,50 步缓冲区)。
- 随机模板按钮(随机推荐)。
2026-02-15, 隐私和安全页面 + i18n 加固
- 4 个新信任页面:/privacy/、/terms/、/security/、/about/, , 支持全部 21 种语言。
- 发布了 /.well-known/security.txt。
- 29 个硬编码英文字符串替换为
qrT()调用;翻译了约 100 个新 i18n 键到所有 21 种语言。 - 内联脚本外部化,CSP 加固(unsafe-inline 移除)。
2026-02-08, 对话框无障碍功能 + 焦点管理
- 所有 3 个对话框(裁剪、BCD、自定义对话框)均设置焦点陷阱。
- 改进了 BCD 溢出菜单、语言切换器和类型选择器的键盘导航。
- 严重错误修复:SVG 框架边框渲染偏差一像素、批量缩放预览中的 XSS 漏洞、点击预设 logo 时
btoa()Latin1 错误。
2026-02-01, 初次发布
- Abundera QR 发布,包含 20 种 QR 类型、40 个模板、批量 CSV 生成(500 个码)、Business Card Designer(300 DPI)、20 种语言、420 个静态落地页。
- 隐私优先立场:100% 客户端运行,无账户、无追踪、无动态重定向码。