変更履歴
すべてのリリース、すべての機能、すべての修正, 一つのスクロール可能なログに。
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 に従い非対称に(
paddingleft: 44= 11 モジュール、paddingright: 28= 7 モジュール、scale=4 時)。EAN-8 / UPC-A / UPC-E は仕様が指定する対称エンベロープを使用。PDF417 + AAMVA 運転免許証は ISO 15438 §5.5 に基づき 2 モジュールのクワイエットゾーン、Data Matrix は ISO 16022 に基づき 1 モジュール、Aztec は推奨 1 モジュール(ISO 24778 はゼロも許容しますが、縁に触れるスキャナで読めなくなります)。 - 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 デプロイが現在のコミットと完全一致していること(両側のワーキングツリーがクリーンであること)を要求するようになりました。従来のゲートの 24 時間ウィンドウでは、無関係な本番デプロイが古い staging 履歴に乗ってしまう余地がありました。SHA で追跡、fail-closed、オーバーライドは引き続き
CF_DEPLOY_SKIP_STAGING_FIRST=1。 cf-deploy.pyにCLOUDFLARE_API_TOKENのプリフライトチェックを追加, wrangler の難解な "non-interactive environment" エラーを出させる代わりに、source ~/.envrcのヒント付きで即座に失敗します。- 各デプロイ後にコンテンツ検証を実施: 本番 URL を取得し、その cache-buster が
dist/に直前に刻印されたものと一致することを確認します。200-OK のヘルスチェックでは静かに見逃されてしまう「CNAME 違い」「エッジが古いキャッシュを返す」「ブランチ違い」というクラスの不具合を捕まえます。
2026-04-25, モバイル UX 刷新: ピーク・プレビューヘッダー、ボトムシート・プレビュー、固定ダウンロード CTA
- スマートフォン(≤768px)ではページ上部に固定のピーク・プレビューヘッダーを配置。常に QR のライブサムネイルと 1 行のステータスを表示します, アイドル時は「下のフォームに入力してください」、コード生成後は「QR コードができました · タップしてダウンロード」。QR が初めて有効になったときに 1 度だけパルスしてユーザーに気付いてもらいます。モバイル来訪者が結果がフォールド下にレンダリングされていることに気付かないという長年の問題を解消。
- ピークバー(または新しい固定ボトムのダウンロードボタン)をタップするとプレビューがボトムシートとして開きます, 全幅のダウンロードボタンを縦に積み、下スワイプまたは背景タップで閉じ、iOS ホームインジケーター用のセーフエリア余白を確保。
- ソフトキーボード対応: visualViewport リスナーがキーボード出現時に
body.kb-openを付与し、ピークバーは細いピル形に縮み、フォーカス中の入力は中央へスクロールしてキーボードに隠れないようにします。 - ≤640px でのタップ対象見直し: タイプ選択タイルを 14×8 / 0.78rem から 16×10 / 0.82rem と最小高さ 56px に拡大、パネルタブと主要ボタンは 44px 下限、エクスポートボタンはシート内で全幅・最小 48px に積み上げ。
- viewport メタに
interactive-widget=resizes-contentを追加し、2 か所の100vhルールを100dvhに移行。動的ツールバーのあるモバイルブラウザでも予測可能なレイアウトを実現。 - 旧スクロール・ツー・プレビュー FAB を削除, ピークバーと固定 CTA が同じ役割をより直接的に担います。Service Worker キャッシュを v132 に更新。新しい文言は 25 言語すべてに翻訳済み。
- CSS の整理:
style.css内の単一値スペース宣言 203 か所を codemod で--space-Nトークンへ移行。純粋なリファクタで、見た目の変化はありません。 - インラインスタイル上限 89 → 85: AAMVA / Code 39 / Code 93 / VIN 入力に付いていた 4 つの
style="text-transform:uppercase"属性を既存の.input-uppercaseクラスに置き換え。
2026-04-19, N16 コンプライアンス・スイープ(45 ページ)、N3 バッチ 2、リグレッション修正、N3 後半、AAMVA 開示、Expert 状態の永続化、a11y 監査
- N16 コンプライアンス・スイープ完了: 全 34 ペイメント・スキーム ランディングページにコンプライアンス・チェックリスト +「使うべきでないとき」ブロックを掲載。第 4 パス(19 ページ)で残りをカバー: Alipay + WeChat Pay(PBoC + SAFE)、Boleto(BACEN + FEBRABAN)、Mercado Pago(7 か国の規制マトリクス)、Payconiq(NBB + PSD2)、EPC/Girocode(EPC069-12 + ZAG)、Apple Wallet + Google Wallet(デベロッパープログラム + FTC エンドースメント + GDPR ロケーション)、Kakao Pay + Naver Pay + LINE Pay(韓国 FSC + 日本 FSA + 台湾 FSC + BOT)、GCash + Maya(BSP EMI + AMLC + QR Ph + SEC PH)、JPQR(経産省 + 金融庁 適格請求書)、FPS HK(HKICL + HKMA + SFC アラートリスト)、DuitNow(PayNet + BNM + LHDN e-Invoice)、M-PESA(Safaricom + CBK + eTIMS + CMA)、MoMo(SBV + AMLID + GDT e-Invoice)、PayID(NPP + RBA + APRA + AUSTRAC + ASIC)。先行 3 パス(AAMVA / レビューページ / 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 のコンプライアンス・ブロック付きランディングページ, サイト上のすべてのペイメント・スキームに、現地規制機関への参照、加盟店分類ルール、税務・請求書発行義務、消費者保護枠組み、適切な証券規制機関を指す「投資勧誘なし」のガードレールが揃いました。 第 1 サブバッチ(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 に基づく 10 年保存)、PIX(BACEN Resolution 103/2021 / PJ vs PF / MED 返金ウィンドウ / ステッカー上書き詐欺 / CVM 投資フラグ)、PromptPay(BOT ルール / THB 1.8M VAT 閾値 / AMLO 報告 / 越境 FX 開示)、EMVCo(ISO 18245 MCC / アクワイアラ KYC / AID 不一致時の各国 FIU)、TWINT(FINMA/AMLA / MROS / KIG 消費者保護)。第 2 サブバッチ(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 / ケベック州法案 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 レビュー、Coupon、Review Funnel、App Store、PayPal、Crypto、UPI、SEPA への既存コンプライアンス・ブロックに加わります。累計カバレッジ: 26 ランディングページ。
- 5 つの新しい 標準権威ページ(N3 バッチ 2), AAMVA 運転免許証、eSIM アクティベーション(LPA)、EMVCo マーチャント QR、Micro QR / rMQR、ZATCA e-invoice。ハブはコア仕様をカバーする 8 のリファレンスページが稼働中。
- 2 つのリグレッションを修正: (1)
showCategory()の初期化がscrollIntoView({block:"nearest"})をカテゴリチップに対して呼んでいたためにホームページがロード時に下方スクロールしていた問題を、ページスクロールに触れない手動の水平scrollLeftに置き換えて修正。(2)「paym」のタイプ検索で結果ゼロだった問題は、フィルタがラベル + data-type 部分文字列しかチェックしていなかったため。コマンドパレットが使う CAT_SEARCH + TYPE_SEARCH 同義語テーブルを再利用するよう DRY 修正。 - 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 入力フォームを 必須(管轄 / 免許 / 種別 / 姓 / 名 / 生年月日)、推奨折りたたみ展開済(ミドルネーム + 番地 + 市/州/郵便番号 + 発行/有効期限)、Expert 調整折りたたみ(性別/眼/身長 + クラス/制限/裏書)に分割。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 の追加フィールド内の 3 つの
<h4>副見出しをきれいなアウトラインのため<h3>に昇格)。完全な所見は /accessibility/ に掲載。 - 公開コーパス ZIP(N2 のフォローアップ): /proof/corpus.zip, フィクスチャ JSON + CSV + 方法論 + README をバンドル、約 4 KB、デプロイごとに再構築。スキャナフリートはレポをクローンする代わりに完全コーパスを 1 ファイルでダウンロード可能になりました。/proof/corpus/ から目立つダウンロードボタンでリンク。
- スキャナフリート証明ログ(N2 のフォローアップ): 新しい docs/SCANNER_ATTESTATION.md, 手動デバイス/OS/アプリ検証の日付付き行ごとログ。iOS 18.3 上の iPhone 15 Pro、Android 14 上の Pixel 8、Zebra DS8100、Google Authenticator、1Password をカバーする 10 行で初期化。検証するデバイスごとに増えていきます。
- ジェネレータ内のプレビューリアリズム(N19.6): ライブ QR プレビューの下にコンパクトな 4 チップ・トグル, Default / Phone / Mono / Low contrast。CSS フィルタをプレビューに適用(Phone はスケール、Mono はグレースケール、Low contrast はコントラスト低下), デザイナーはジェネレータを離れずに QR が異なる素材でどう振る舞うかを確認できます。エンコード済みペイロード、ダウンロード、クリップボードコピーへの影響はゼロ。
- セマンティック・バリデータの追加(N19.4 拡張): HOTP シークレットの Base32 + カウンタ非負整数チェック、eSIM SM-DP+ は素の FQDN でなければならない(https:// なし, よくある電話プロビジョニング破壊要因)、eSIM Matching ID は
$文字を拒否(LPA フィールドセパレータと衝突)。 - 段階的開示を UPI と Crypto に拡大(N19.3 拡張): UPI の金額 + メモを推奨にグループ化、crypto の金額 + ラベルを推奨にグループ化。SIP、MMS、PromptPay、Lightning は見直しの結果フラットのまま, 開示で恩恵を受けるにはフィールドが少なすぎる。
- SEO、パフォーマンス、セキュリティ、リンク整合性、コード品質を横断する品質監査スイープ(i18n パスは延期)。Service Worker の
cache.put書き込みはevent.waitUntil内で実行されるようになり、ナビゲーション中にドロップされなくなりました。キャッシュは v121。名刺の印刷ダイアログをdocument.writeからBlobURL に切り替え。共有とカードダウンロードのクリックハンドラを try/catch でラップし、サイレント失敗の代わりに拒否がトーストで表面化。マジックナンバーのタイミング(デザインカードのハッシュ自動オープン、GIF フレームレンダリング、デュアル PNG ダウンロードの間隔、印刷 Blob の取り消し)を名前付き定数へ抽出。潜在的な CSS バグ修正:.card-text-rowの入力セレクタは[type="text"]のみマッチしていましたが、HTML ミニファイアが既定のtype="text"属性を取り除くため、本番で BCD タグライン + キャプション入力のスタイリングを保つようinput:not([type])を追加。冗長な!important宣言を 2 件削除、騒がしい i18nconsole.warnを抑制。CLAUDE.md 更新, 言語ページはsite/{lang}/に事前レンダリングされており、_redirectsリライトでは提供されません。
2026-04-18, 権威ページ拡充: /standards/ ハブ + 3 つの標準ページ、/proof/corpus/、Reviewer #6 まとめ、N19.1 ワークフロー優先 Advanced
- Simple モードに 8 タイル・グリッドの下に控えめな「Advanced にあと 96 タイプ」のヒントを追加。リンクをクリックするとモードトグルが切り替わるので、ユーザーは上にスクロールして戻る必要がありません。Simple は 8 タイルのまま、Advanced はロングテールの発見経路として残ります。
- Pro CTA の箇条書きを実際にリリース済みの内容を反映するよう書き直し: パスワード保護コード、有効化と失効のスケジュール、ヒートマップ/天候/ROI/コホート分析、公開可能なシェア可能統計ページ、大規模ポートフォリオ向けコードグループ、Webhook + REST API、マルチチームと監査ログ、SSO(SAML/OIDC)+ SCIM プロビジョニング。古い汎用「スキャン分析 / API ワークフロー / チーム」の箇条書きは無くなりました。
- ジェネレータ下の「Save to Pro」ヒントは、単に「スキャン分析」ではなく、パスワード保護、有効化スケジュール、ヒートマップと ROI 分析、公開統計ページの名前を挙げるようになりました。
- フィールドの多い高度なジェネレータでの段階的開示(N19.3): TOTP、HOTP、Aztec、PDF417、Swiss QR、EMVCo は Expert 調整セクションの下にエキスパートのつまみ(アルゴリズム/桁/期間、EC レベル、列/コンパクト、メッセージ、MCC/AID)を折りたたみます。GS1 Digital Link は AI 17/10/21 を Recommended にグループ化、SEPA はリファレンス(Recommended)を BIC(Expert 調整)と分離。折りたたまれた Expert サマリーには「expert」ピルが表示され、パワーユーザーはクリックなしで追加つまみを見つけられます。
- 保存プロファイル(N19.8): 任意の高度なジェネレータの現在のフィールド値に名前を付けて localStorage に保存し、コンパチビリティ・レジェンドの上の Saved profiles パネルにリストし、ワンクリックまたはコマンドパレット(Cmd/Ctrl+K)経由でロード。ストレージはクライアントサイドのみで、何もブラウザを離れません。
- 印刷制作の権威ページ(N15): /print-size/ に基材ガイド(8 基材 × サイズペナルティ × ECC)、CMYK 安全パレット規則とカタログレベルの CMYK/RGB 専用注釈、屋外/サイネージ規則(UV 退色、寒冷時のカメラ挙動、斜め走査角度)、4 チェック印刷可能な QA プロトコル、平易な英語のプリフライト・グレード定義(「D = グロス・サイネージで 3 m 以下では失敗する」)を掲載。
- コンプライアンス・フェンス(N16): レビュアーがフラグした 5 つのランディングページに新しい「コンプライアンス・チェックリスト」+「使うべきでないとき」ブロック, 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 / アンチ詐欺オーバーレイ詐欺 / 投資 QR への SEBI)、SEPA(EPC069-12 適合 / PSD2 返還権 / 定期マンデートなし警告)。AAMVA、Google / Yelp / TripAdvisor レビュー、Coupon、Review Funnel への既存のコンプライアンス・ブロックに加わります。
- コマンドパレットの最近のタイプ(N19.7): Cmd/Ctrl+K が空クエリで開いたとき、最近選んだ 8 タイプが先頭に。部分クエリでは最近のタイプに小さなランキング・ボーナスがかかり、「tot」が確実に最も使う OTP フローへジャンプします。「Recent」カテゴリチップで印付けされ、ブーストが魔法ではなく可視に。localStorage のみで追跡。
- Simple モードの磨き上げ(N6): Simple は Saved profiles パネル(初心者向けの概念ではない)と Batch タブも非表示に。すでに非表示の項目は変わらず(タイプ検索、業種プリセット、コンパチ凡例、カテゴリタブ、コンパチ・チップ)。
- 4 本柱の信頼帯(N7): ページ上部のクレーム帯を 5 項目から 4 項目に折りたたみ、それぞれが柱ラベルを明示的に持つ, 「真に無料, サインアップ無し、ペイウォール無し」「プライバシー優先, アウトバウンド要求 0、ライブ検証可能」「本番安全, 2026 年 4 月時点でコンパチビリティ・テスト済み」「ロックインなし, 静的バックアップ QR、いつでもエクスポート可」。Comparison-updated リンクは帯から外しました(信頼性のシグナルであって柱ではない)が、ナビ + フッターには残ります。
- 決定的な「これを使う / 使わない」コールアウト(N19.11)をフィールドの多い高度なフォームの上部に, Data Matrix、Aztec、PDF417、TOTP、HOTP、eSIM、GS1。オレンジアクセント、2 節、フィールド入力の前。説明的な散文がページ末尾にあり、ユーザーが入力し終わった後でしか読まないというパターンを置き換えます。
- 非 QR シンボロジーのスタイルパネルにケイパビリティ・バナー(N19.9), 明示的なチップ + タイトル(「スタイリング無し, プレーンバーコードのみ」)+ 説明、古い 1 段落のヒントを一目で理解できる何かに置き換え。
- セマンティック検証(N19.4): TOTP の Base32 シークレットバリデータ、Swiss QR IBAN の CH/LI プレフィックス + 21 文字長チェック、SEPA IBAN の mod-97 チェックサム(誤入力された数字を捕捉)、WiFi Enterprise で EAP が選択されているがアイデンティティが空のときのクロスフィールド警告。インライン、非ブロッキング、既存の VALIDATION_RULES レジストリを再利用。
- QR Lab がダウンロードからワンクリックに(N5), 破線ボーダーのチップ(「印刷前に QR Lab でテスト →」)がダウンロードボタンとインラインに座り、エクスポート時点で検証が見えます。
- Advanced はタスク優先で開く(N19.1): カテゴリ帯は今やシンボロジーではなく何をしているかで整理されています。9 つのワークフロー・バケット, Everyday sharing、Events & venues、Media & files、Marketing & reviews、WiFi & telecom、Payments & banking、Retail & GS1、Boarding & ID、Auth & dev, が古いシンボロジー分類(Everyday / Business / Payments / Identity / Security / Industrial / Advanced Standards)を置き換えます。105 のすべてのタイプボタンを再マッピング、フッターのタイプグリッドも一致するよう再グループ化。
- 権威ページ拡充(N3): 新しい /standards/ ハブと 8 つの完全なリファレンスページ, 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 e-invoice(Saudi FATOORA、TLV タグ 01–09、Phase 1 vs Phase 2)。各ページ: 仕様リンク + 正規テストベクトル + 該当する場所のライブ・バリデータ + 落とし穴 + スキャナ互換 + 日付付きの次回レビュー。エンサイクロペディア級の権威性に向けた最初の一歩。
- 公開テスト・コーパスのスキャフォールド(N2): 新しい /proof/corpus/ ページが、誰でも使えてスキャナ互換性主張を監査できる方法論を文書化, フィクスチャをダウンロード、QR を再生成、自分のフリートでスキャン、不一致を報告。iOS Camera、Android Camera、プロスキャナにわたるキュレーション 18 行の予測スキャン結果テーブル。/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 Decade(10 年前払い、実質 $2/月)。30 日のリンク先編集クールダウン付きで既存コードを保持、新規コードなし、シートなし、API なし。マイグレーション 007、3 つの Stripe 製品、一回限りの Decade 支払いの Webhook パス、ダッシュボード/コード/編集にプラン・ゲート。/compare/ と /no-lock-in/ の「2026 Q3 出荷」バナーを取り消し。
- pro.qr.abundera.ai/roadmap/ に新ページ: 出荷済みのもの、Q3/Q4 のコミットメントとキル基準、構築しないものの明示的なリスト。
- pro.qr.abundera.ai/support/ に新ページ: ティア別の応答時間目標、セキュリティ開示アドレス、スコープ。
- Stripe Webhook 修正: 冪等レース(再試行された支払いを飲み込み得た), 処理前の SELECT で重複排除、成功時に INSERT。Decade 支払いハンドラは price_id が欠損/不明、またはティアが不一致のときに静かにドロップする代わりに throw。チーム招待受諾で
DEFAULT_SEAT_LIMIT未定義。署名トレランス 60s → 300s。incomplete_expiredはtrialingにマップ(元はexpired)。 - ドキュメント:
ABUNDERA_JWT_AUDIENCESを必須として文書化、docs/INTEGRATIONS.mdにPLAN_PRICE_MAPスキーマ、未使用のABUNDERA_SERVICE_SECRET参照を削除。 - テスト: 70 件パス。Keep-Alive 述語と 30 日クールダウン用に 8 件追加。
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 per 1K スキャン)でメーター超過課金。
- すべてのティアに明示的なコード数(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、サイトマップは 3,224 URL に。
- Scan-preflight を 4 つの汎用条件から 8 つのジョブ別シナリオ(メニューステッカー、窓ポスター、ランヤード、棚タグ、倉庫ラベル、屋外サイネージ、パッケージ、名刺)に拡大。グレード C/D/F はダウンロード前モーダルを表示。
- /compare/ の価格マトリクスを容量で揃えた 6 グループに分割。Bitly、Flowcode、Uniqode、QR Code Chimp、QRTIGER の競合エントリを追加, それぞれ日付付きで月次再検証フラグ。すべての行にコード単位の月額コスト表示。
- プリデプロイスクリプトのカウントドリフト・チェック:
site/配下のすべての生成ページからハードコードされたタイプ数をスキャン。/compare/ の 91/104 ドリフトが出荷されたのは旧チェックが 3 ページしか見ていなかったため。 - Pro サイトのフレーミング: 「Free is for keeping. Pro is for changing.」を /no-lock-in/、/static-vs-dynamic/、ホームページの Pro CTA 全体に通します。
- 冪等な
stripe-setup.pyスクリプトで Stripe 製品を作成(Solo + Team は新金額のため rev 2 に昇格)。PLAN_PRICE_MAPは古い price ID と新しい price ID 両方を持つので、既存サブスクライバはマップ済みのまま。 - その他: ジェネレータフィールド上のコンパチ詳細帯、ホームページの信頼帯、各ページの鮮度スタンプ、/accessibility/ スケルトンページ、/for/ 業種プリセットパック(8)、Wizard/QR Lab の発見ヒント、カウント監査(120 → 336 アイコン、24 → 50 BCD プリセット)、リポ言語スクラブ(リポは非公開、「オープンソース・ジェネレータ・コード」→「ブラウザで監査可能なクライアントサイド・コード」)、有効な iCalendar イベント QR で OG 画像を再生成。
2026-04-15, Simple/Advanced、/compare/、Save-to-Pro
- ホームページに Simple / Advanced トグル。Simple は 8 つの日常タイプ(URL、WiFi、vCard、Email、Phone、SMS、Event、Text)をキュレーション、Advanced は完全な 104 タイプを復活。モードは
localStorageで永続化、Simple にないタイプのランディングページは自動切替。 - /compare/ 競合マトリクスを出荷: QR Code Generator、QRCode Monkey、Uniqode に対する機能別比較。日付付き、月次再レビュー。
- 無料サイトに「Save to Pro」ボタン: 生成したコードを Pro ポータルにワンクリックで昇格。状態は URL ハッシュでラウンドトリップ、未署名ユーザーは作業を保ったままジェネレータに戻ります。
- デスクトップでカテゴリタブのスクロール矢印、モバイルでスムーズスクロール。
- 履歴復元は保存されたコードのタイプが Simple モードで利用できないとき自動的に Advanced に切り替えます。
- Pro CTA コピーを和らげ、アンチホスタージュのストーリー(静的バックアップ QR、90 日猶予、ドメイン可搬性)を前面に。
2026-04-14, Pro ポータルがオンライン、3 つの新タイプ、自動入力修正
- Pro ポータル(
pro.qr.abundera.ai)がエンドツーエンドでオンライン。 - 3 つの新しい無料サイトのタイプ: M-PESA Kenya(EMVCo MPM)、Video Meeting(Zoom/Meet/Teams/Webex のショートカット)、Coupon/Promo Code。
- GS1 Digital Link タイプは Sunrise-2027 必須の 12 全アプリケーション識別子をサポートするように。
- 新しい SEO ページ:
/static-vs-dynamic/、/no-lock-in/(契約書: 90 日猶予、ワンクリック・エクスポート、30 日 GDPR 削除、静的バックアップ QR)。 - 自動入力修正(6 回目の試み): タイプ別フィールドブロックは独自の
autocompleteトークンを持つ実際の<form>要素、非アクティブなフォームにはdisplay: noneをかけて Chrome がオフスクリーン入力にフラグを立てないように。vCard/Address/Contact/WiFi-Enterprise の縦方向グルーピングが Chrome、Safari、Firefox で動くように。Playwright ハーネスは違反 0。 - Review Funnel: プラットフォーム・ドロップダウン(Google/Yelp/TripAdvisor)とプラットフォーム別プレースホルダ・コピー。
- Wizard: 8 件の壊れた結果 slug 参照を修正。
- 共有パーシャル経由でヘッダー/フッターを統一、ツールページ(Wizard、QR Lab、Test Vectors)を同じテンプレートシステムに移動。
- プリデプロイチェック: 内部リンク検証 + 生英語の
showToast()ガード。 - BCD 修正: 縦レイアウトの安定性、ランディングページ UI の回帰、RFC リンクラベル、ウォーターマークアーティファクト。
- 生成済みランディングページの HTML はもう git 追跡されません(引き続きデプロイされる、git はテンプレートとジェネレータを追跡)。
2026-04-13, 25 言語パリティ、ヘッダー/フッター再設計、Playwright ハーネス
- 25 言語ファイルにわたって 6,660 件の英語フォールバック・キーを翻訳。非英語ランディングページは英語文字列にフォールバックしなくなりました。翻訳パイプラインをバリデータ/プランナーへリファクタ。
- i18n をツールページに拡張: Wizard、QR Lab、Test Vectors も 25 言語版になり、hreflang タグとサイトマップ・エントリが付きました。
- Playwright ラウンドトリップ・ハーネス: すべての言語のすべてのタイプにコードを生成し、キャンバスをデコードしフィールドをチェック。違反 0。
- ヘッダー/フッター再設計: スリムヘッダー、sign.abundera.ai のパターンに合わせた 3 列フッター。モバイルのハンバーガー・ドロワーは開いたときにナビ項目を表示するようになりました(以前は壊れていた)。
- QR プレビューをクリック → ズーム・ライトボックス。ラベルはタイプ名 + 最初の入力を表示(以前は生のペイロードを表示していました)。
- 初回パスの自動入力修正(2026-04-14 に正しく着地)。
- タイプ検索が高度なタイプを表面化、選択時に閉じる、Popular モードで空のカテゴリタブを非表示、履歴復元はリダイレクトの代わりにインラインでタイプを切り替え。
2026-04-12, 26 言語パリティ、13 の新ペイロードタイプ、3 つの非 QR 2D バーコード
- 完全な 26 言語パリティ: すべての英語キーがすべての言語ファイルに存在するようになりました(1,302 キー × 25 言語)。4 回のパスで 5,533 件のエントリを追加(固有名詞、短ラベル、フォームフィールドラベル、トースト、ヒント)。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 メソッド、フェーズ 2 認証、アイデンティティ、匿名アイデンティティで拡張。 - 6 つの地域決済タイプ: Alipay、WeChat Pay、Swish(SE)、Vipps(NO)、Mercado Pago(LatAm)、Payconiq(Benelux)。
- 3 つの非 QR 2D バーコード: Data Matrix(ISO 16022)、Aztec Code(ISO 24778)、PDF417(ISO 15438)。bwip-js(~1 MB)はこれらのタイプが選択されたときのみ遅延読み込み。
- ネイティブスクリプトリンク付きの 26 言語ショーケースセクションをホームページに追加。
- プリデプロイ監査スクリプトに
BATCH_VALID_TYPES同期チェック + 生英語showToast()ガードを追加。 - 新しい 13 タイプ全てのフッター + ランディングページ + i18n キー(英語ソース)。
2026-04-11, BCD 写真 URL フェッチ、プレビュー固定、展開可能なプリセット
- BCD: 写真 URL フィールドがリモート画像をデータ URL としてインライン化するようになり、エクスポートキャンバスがクロスオリジン読み込みで汚染されなくなりました(CORS のないホストでも PDF/PNG エクスポートが動作)。
- BCD デスクトップレイアウト: プレビューペインが
position: stickyになり、ユーザーがすべてのセクションを展開しても、ライブプレビューの視認性を保ちながらコントロールが自由にスクロールできます。 - BCD プリセットグリッドが展開可能になりました, アイコンピッカー UX を踏襲し、最初は 12 レイアウトを表示、「すべてのレイアウトを表示」トグル付き。
- タグライン + QR キャプション入力を再デザイン: 積み重ねラベル + 全幅入力(以前は窮屈な 150px サイドカー)。
- スキャナビリティバッジを
bottom: -24pxから-18pxに引き上げてコピーボタンを覆わないように修正。 - バッチ CSV 手順に Google Sheets、Excel、Numbers を明示的に記載。
2026-04-08, 業種別アイコンライブラリ
- 24 の新しいセンターロゴアイコン(96 → 120): 医療、飲食、テック、金融業界向け。
- 10 の新しい BCD レイアウトプリセット(40 → 50): Concrete、Honey、Indigo、Luxe、Midnight II、Ocean II、Slate、Verdant、Wine、Candy。
- cache-buster 戦略のバグ:
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 プリセット。
- 第 2 カラーピッカーによるユーザー制御のグラデーション背景。
- 会社 + タグライン + CTA テキストを含むカード裏面レンダリング。
- ソーシャルアイコン行(LinkedIn / X / Instagram)。
- vCard フィールドからの住所ブロックレンダリング。
- ビジュアルプリセットサムネイル, 各プリセットボタンがミニキャンバスをレンダリング。
2026-03-29, BCD 全面改修 + 600 DPI エクスポート
- Business Card Designer に折りたたみ式アコーディオンセクション、モバイル固定プレビュー、固定エクスポートフッター。
- 双方向カラーピッカー同期付きの 16 進数カラー入力、カラーパレットスウォッチ。
- 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 センターロゴアイコン + 5 つの新言語
- 96 センターロゴアイコン(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 レベル 2 PostScript、ASCII85 エンコード)。
- アニメーション GIF エクスポート(gif.js、8 フレームレインボー)。
- BCD SVG エクスポート、BCD JPG エクスポート。
2026-03-08, プラットフォーム監査 + アクセシビリティスイープ
バグ修正スプリント: 3 件の重大 + 7 件の高 + 10 件の中程度の問題を修正。
- 全 55 ランディングページの CSP インラインスクリプト違反を修正,
data-qr-preselectbody 属性に移動。 - Service Worker の古いキャッシュバグ, クエリ除去キー → 完全 URL + stale-while-revalidate。
- 非 vCard ランディングページで BCD ピルをクリックした際のフォームタイプ非同期を修正。
- 背景画像の視認性(不透明度スライダー、90% アルファのモジュール、クロップモーダルルーティング)。
- クロップモーダルのモバイルオーバーフロー。
- マウススクロールを乗っ取るホイールズーム(完全に削除)。
- アバター IP リーク軽減(referrerpolicy + no-referrer ヘッダー)。
- WiFi バッチ開放ネットワーク修正、MeCard バッチフィールドパリティ、TOTP base32 検証。
- WCAG 2.5.8 タッチターゲット(粗いポインターで最小 44×44)。
- 87 の装飾 SVG に aria-hidden スイープ。
- prefers-reduced-motion を尊重。
- トースト 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 フレームボーダーが 1 ピクセルずれてレンダリング、バッチズームプレビューの XSS 脆弱性、プリセットロゴクリック時の
btoa()Latin1 エラー。
2026-02-01, 初回ローンチ
- Abundera QR を 20 の QR タイプ、40 テンプレート、バッチ CSV 生成(500 コード)、Business Card Designer(300 DPI)、20 言語、420 の静的ランディングページでローンチ。
- プライバシーファースト: 100% クライアントサイド、アカウントなし、トラッキングなし、動的リダイレクトコードなし。