Log Perubahan
Setiap keluaran, setiap ciri, setiap pembetulan, dalam satu log yang boleh ditatal.
2026-04-26, Pematuhan penuh penghasilan ISO/AIM/GS1 merentasi setiap jenis kod
- Mengaudit setiap kod QR / 2D / 1D mengikut piawaian yang menaunginya.
includetextpada bwip-js lalai kepada false untuk setiap bcid, jadi EAN/UPC/ITF-14 dihantar tanpa jalur teks boleh dibaca yang dimestikan oleh ISO 15420 §5.1.2 + GS1 §5.4.4. Ditetapkanincludetext: true+guardwhitespace: trueuntuk seluruh keluarga EAN/UPC, ditambahincludetext: trueuntuk ITF-14, Code 128, Code 39, Code 93, Codabar, VIN. - Zon senyap EAN-13 kini tidak simetri mengikut ISO 15420 Lampiran A (
paddingleft: 44= 11 modul,paddingright: 28= 7 modul pada scale=4). EAN-8 / UPC-A / UPC-E menggunakan sampul simetri yang dinamakan oleh spesifikasi masing-masing. PDF417 + lesen memandu AAMVA mendapat zon senyap 2 modul mengikut ISO 15438 §5.5; Data Matrix mendapat 1 modul mengikut ISO 16022; Aztec mendapat 1 modul yang disyorkan (sifar dibenarkan oleh ISO 24778 tetapi menyebabkan pengimbas yang menyentuh tepi gagal membaca). - QR
QUIET_ZONE_MODULESdinaikkan dari 2 → 4, spesifikasi penuh ISO/IEC 18004 §6.3.7. Jalan pintas 2 modul adalah kompromi industri yang gagal mengesan awalan GS1 Digital Link pada sesetengah pengimbas laser perindustrian. Micro QR + rMQR kini dihantar dengan zon senyap 2 modul (qreanmengeluarkan grid telanjang, jadi kami menambahnya secara manual dalamrenderMicroQRResult). - Aras ECC dikunci: Aztec pada 23% (lalai ISO 24778), PDF417 pada aras 5 (minimum GS1 untuk pengangkutan dan logistik). Mengunci terhadap perubahan lalai bwip-js pada masa hadapan.
- Halaman rujukan baru: /standards/barcode-rendering/. Rujukan setiap simbologi merangkumi zon senyap, HRI, ECC dan digit semakan untuk kesemua 17 jenis, dengan pautan sumber utama bagi setiap piawaian ISO/AIM/GS1 yang dipetik.
2026-04-26, Pengetatan get deploy staging-first
- Deploy pengeluaran untuk laman yang mempunyai staging kini memerlukan deploy staging terkini sepadan tepat dengan commit semasa (working tree bersih di kedua-dua belah). Tetingkap 24 jam get terdahulu membenarkan deploy pengeluaran yang tidak berkaitan menumpang pada sejarah staging yang lapuk. Dijejaki melalui SHA, fail-closed, pengabaian kekal
CF_DEPLOY_SKIP_STAGING_FIRST=1. - Pemeriksaan awal
cf-deploy.pyuntukCLOUDFLARE_API_TOKEN, gagal cepat dengan petunjuksource ~/.envrcdaripada membiarkan wrangler mengeluarkan ralat "non-interactive environment" yang sukar difahami. - Pengesah kandungan selepas setiap penyebaran: mengambil URL langsung dan mengesahkan bahawa cache-busternya sepadan dengan yang baru sahaja dicop ke dalam
dist/. Menangkap kelas pepijat "CNAME salah" / "edge menghidangkan cache lapuk" / "cawangan salah" yang akan terlepas secara senyap oleh pemeriksaan kesihatan 200-OK.
2026-04-25, Pembaharuan UX mudah alih: pengepala pratonton melekat, helaian bawah pratonton, CTA Muat Turun melekat
- Pengepala pratonton melekat di bahagian atas halaman pada telefon (≤768px). Sentiasa memaparkan lakaran kecil langsung QR dan status satu baris, "Isi borang di bawah" semasa terbiar, "QR anda sedia · Ketik untuk muat turun" sebaik kod dipaparkan. Berdenyut sekali apabila QR mula sah supaya pengguna perasan. Mengatasi masalah lama di mana pelawat mudah alih tidak sedar hasilnya dipaparkan di bawah lipatan.
- Mengetik bar pratonton (atau butang Muat Turun melekat baharu di bawah) membuka pratonton sebagai helaian bawah, butang muat turun lebar penuh disusun menegak, tutup dengan leret bawah atau ketik latar, padding kawasan selamat untuk penunjuk laman iOS.
- Pengendalian papan kekunci lembut: pendengar visualViewport menanda
body.kb-openapabila papan kekunci muncul, bar pratonton mengecut menjadi pil nipis, dan medan yang difokuskan ditatal ke tengah supaya papan kekunci tidak pernah menyembunyikan yang pengguna taip. - Sapuan sasaran ketik pada ≤640px: jubin pemilih jenis ditingkatkan dari 14×8 / 0.78rem kepada 16×10 / 0.82rem dan ketinggian minimum 56px, tab panel dan butang utama pada lantai 44px, butang eksport disusun lebar penuh dengan lantai 48px dalam helaian.
- Meta viewport memperoleh
interactive-widget=resizes-contentdan dua peraturan100vhdipindahkan ke100dvhuntuk susun atur yang boleh diramal pada pelayar mudah alih dengan bar alat dinamik. - FAB tatal-ke-pratonton lama dialih keluar, bar pratonton dan CTA melekat melaksanakan kerja yang sama dengan lebih langsung. Cache service worker dinaikkan ke v132. Rentetan baharu diterjemahkan ke kesemua 25 bahasa.
- Kebersihan CSS: 203 pengisytiharan space bernilai tunggal dalam
style.cssdipindahkan ke token--space-Nmelalui codemod. Refactor tulen, tiada perubahan visual. - Siling gaya inline 89 → 85: empat atribut
style="text-transform:uppercase"pada input AAMVA / Code 39 / Code 93 / VIN digantikan dengan kelas sedia ada.input-uppercase.
2026-04-19, Sapuan pematuhan N16 (45 halaman), N3 kelompok 2, pembetulan regresi, ekor N3, pendedahan AAMVA, kekalan keadaan Pakar, audit a11y
- Sapuan pematuhan N16 penuh: kesemua 34 halaman pendaratan skim pembayaran kini membawa blok senarai semak pematuhan + "bila tidak menggunakan ini". Laluan keempat (19 halaman) merangkumi selebihnya: Alipay + WeChat Pay (PBoC + SAFE), Boleto (BACEN + FEBRABAN), Mercado Pago (matriks pengawal selia tujuh negara), Payconiq (NBB + PSD2), EPC/Girocode (EPC069-12 + ZAG), Apple Wallet + Google Wallet (program pembangun + FTC Endorsement + lokasi GDPR), Kakao Pay + Naver Pay + LINE Pay (FSC Korea + FSA Jepun + FSC Taiwan + BOT), GCash + Maya (BSP EMI + AMLC + QR Ph + SEC PH), JPQR (METI + FSA Qualified-Invoice), FPS HK (HKICL + HKMA + Senarai Amaran SFC), DuitNow (PayNet + BNM + LHDN e-Invois), M-PESA (Safaricom + CBK + eTIMS + CMA), MoMo (SBV + AMLID + GDT e-Invois), PayID (NPP + RBA + APRA + AUSTRAC + ASIC). Digabungkan dengan tiga laluan terdahulu (AAMVA / Halaman Ulasan / Kupon / Corong Ulasan / App Store / PayPal / Kripto / UPI / SEPA + Venmo / Cash App / Swiss QR-bill / PIX / PromptPay / EMVCo / TWINT + Bizum / PayNow / iDEAL / BLIK / Interac / MB WAY / Swish / Vipps), itu 45 halaman pendaratan tersekat pematuhan, setiap skim pembayaran di laman kini mempunyai rujukan pengawal selia tempatan, peraturan klasifikasi peniaga, kewajipan cukai / invois, rangka kerja perlindungan pengguna, dan pengawal "tiada permohonan pelaburan". Kelompok pertama (7): Venmo (AUP / penyalahgunaan F&F / 1099-K / pelaporan Early Warning), Cash App (Cash for Business / permukaan terkawal Bitcoin & Pelaburan / Regulation E / bendera penipuan CFPB), Swiss QR-bill (SIX v2.3 / peraturan QR-IBAN / MWSTG / penahanan 10-tahun OR Art. 958f), PIX (BACEN Resolution 103/2021 / PJ vs PF / tetingkap bayaran balik MED / penipuan tindih pelekat / bendera pelaburan CVM), PromptPay (peraturan BOT / ambang VAT THB 1.8M / pelaporan AMLO / pendedahan FX rentas sempadan), EMVCo (ISO 18245 MCC / KYC pemeroleh / FIU nasional pada ketidakpadanan AID), TWINT (FINMA/AMLA / MROS / perlindungan pengguna KIG). Kelompok kedua (8): Bizum (Bizum Negocios / SEPBLAC / factura / CNMV), PayNow (Akta Perkhidmatan Pembayaran MAS / pelaporan STRO / SGQR / PDPA), iDEAL (pemeroleh berlesen / DNB / pertikaian 13-bulan PSD2 / badan amal CBF / penguatkuasaan ACM), BLIK (Polski Standard Płatności / KNF / pelaporan GIIF / faktura VAT / RODO), Interac (Interac for Business / FINTRAC / PIPEDA / Quebec Bill 96 / penipuan CAFC), MB WAY (SIBS / Banco de Portugal / UIF / CMVM / GDPR), Swish (Getswish AB / Finansinspektionen / kassaregister Skatteverket / Swish-bedrägerier), Vipps (Vipps MobilePay AS / Finanstilsynet / Økokrim / Bokføringsloven / advarselsliste). Bersama blok pematuhan sedia ada pada AAMVA, Google/Yelp/TripAdvisor Review, Kupon, Corong Ulasan. Liputan kini: 26 halaman pendaratan.
- Lima lagi halaman pihak berkuasa piawaian (N3 kelompok 2), lesen memandu AAMVA, pengaktifan eSIM (LPA), QR pedagang EMVCo, Micro QR / rMQR, e-invois ZATCA. Hub kini mempunyai 8 halaman rujukan langsung merangkumi spesifikasi teras.
- Dua regresi diperbetulkan: (1) laman utama auto-tatal turun semasa muat kerana
showCategory()init memanggilscrollIntoView({block:"nearest"})pada cip kategori, digantikan denganscrollLeftmendatar manual supaya tatal halaman tidak pernah disentuh. (2) Carian jenis untuk "paym" mengembalikan sifar hasil kerana penapis hanya memeriksa label + substring data-type, pembetulan DRY kini menggunakan semula jadual sinonim CAT_SEARCH + TYPE_SEARCH yang sama dengan palet arahan. - Ekor N3: halaman rujukan baharu /standards/non-qr-2d/ gabungan untuk Aztec (ISO/IEC 24778) + PDF417 (ISO/IEC 15438) + Data Matrix (ISO/IEC 16022). Jadual perbandingan bersebelahan, matriks sokongan pengimbas asli merentasi iOS Camera / Android / Google Lens / pengimbas industri / get penerbangan / pembaca DMV / pembaca DPM farmasi, panduan pilih-yang-betul (Aztec untuk pas naik, PDF417 untuk ASCII panjang atas kertas rata, Data Matrix untuk DPM / farmasi, QR untuk kamera telefon pengguna). Hub piawaian kini mempunyai semua 9 halaman langsung, 0 draf.
- Pendedahan progresif borang AAMVA (susulan N19.3): borang 25-input dibahagikan kepada Wajib (bidang kuasa / lesen / jenisdok / keluarga / pertama / DOB), Disyorkan terbuka-runtuh (nama tengah + jalan + bandar/negeri/poskod + tarikh terbitan/tamat tempoh), Penalaan pakar runtuh (jantina/mata/tinggi + kelas/sekatan/pengesahan). Memadankan corak yang digunakan pada TOTP, HOTP, Aztec, PDF417, Swiss QR, EMVCo, GS1, SEPA.
- Keadaan penalaan Pakar berterusan merentas lawatan (susulan N19.3): apabila anda membuka bahagian Pakar pada mana-mana borang, keadaan terbuka disimpan kepada
localStorage.qrExpertSectionsOpenberkunci jenis. Kali seterusnya anda memilih jenis itu, Pakar sudah terbuka. Pendengartogglediwakilkan pada.field-section[data-level="expert"], tiada pendawaian setiap borang. - Audit aksesibiliti dalaman (N8): laluan WCAG 2.2 AA manual pada laman utama, /print-size/, hub /standards/ baharu + 9 halaman pihak berkuasa, dan 45 halaman pendaratan skim pembayaran. Disahkan lulus pada sasaran pautan langkau, focus-visible, label borang, nama butang, peranan ARIA, kontras AAA primer / AA+ tenang. Diperbetulkan langkau aras pengepala (tiga subkepala
<h4>dalam medan tambahan vCard/MECARD dinaikkan ke<h3>untuk garis besar yang bersih). Penemuan penuh diterbitkan di /accessibility/. - ZIP korpus awam (susulan N2): /proof/corpus.zip, fixtures JSON + CSV + metodologi + README dibungkus, ~4 KB, dibina semula pada setiap penyebaran. Armada pengimbas kini boleh memuat turun korpus penuh dalam satu fail dan bukannya mengklon repo. Dipaut dari /proof/corpus/ dengan butang Muat Turun yang menonjol.
- Log pengesahan armada pengimbas (susulan N2): docs/SCANNER_ATTESTATION.md baharu, log per-baris bertarikh pengesahan peranti/OS/aplikasi manual. Bermula dengan 10 baris merangkumi iPhone 15 Pro pada iOS 18.3, Pixel 8 pada Android 14, Zebra DS8100, Google Authenticator, 1Password. Bertambah dengan setiap peranti yang kami sahkan.
- Realisme pratonton dalam-penjana (N19.6): togol 4-cip padat di bawah pratonton QR langsung, Lalai / Telefon / Mono / Kontras rendah. Memohon penapis CSS pada pratonton (skala untuk Telefon, skala kelabu untuk Mono, kontras berkurangan untuk Kontras rendah) supaya pereka melihat bagaimana QR berkelakuan pada substrat berbeza tanpa meninggalkan penjana. Sifar kesan pada muatan dikodkan, muat turun atau salinan papan klip.
- Lebih banyak pengesah semantik (sambungan N19.4): pemeriksaan rahsia HOTP Base32 + integer bukan negatif kaunter; SM-DP+ eSIM mestilah FQDN bogel (tiada https://, pemecah peruntukan telefon biasa); Matching ID eSIM menolak aksara
$(berlanggar dengan pemisah medan LPA). - Pendedahan progresif diperluaskan kepada UPI dan Crypto (sambungan N19.3): jumlah UPI + nota dikumpulkan sebagai Disyorkan; jumlah crypto + label dikumpulkan sebagai Disyorkan. SIP, MMS, PromptPay, dan Lightning disemak dan dibiarkan rata, terlalu sedikit medan untuk faedah pendedahan.
- Audit kualiti merentasi SEO, prestasi, keselamatan, integriti pautan dan kualiti kod (laluan i18n ditangguhkan). Tulisan
cache.putservice worker kini berjalan di dalamevent.waitUntilsupaya tidak boleh digugurkan di tengah navigasi; cache dinaikkan ke v121. Dialog cetak kad perniagaan ditukar daripadadocument.writekepada URLBlob. Pengendali klik kongsi dan kad-muat-turun dibalut dalam try/catch supaya penolakan muncul sebagai toast dan bukannya kegagalan senyap. Masa nombor ajaib (auto-buka cincang kad reka bentuk, penghasilan bingkai GIF, jurang muat turun PNG dwi, batal blob cetak) diekstrak ke pemalar bernama. Pepijat CSS terpendam diperbetulkan: pemilih input.card-text-rowhanya sepadan[type="text"], tetapi pengecil HTML mengalih keluar atribut lalaitype="text", ditambahinput:not([type])supaya input slogan + kapsyen BCD mengekalkan gaya dalam pengeluaran. Dua pengisytiharan!importanttidak perlu dialih keluar;console.warni18n bising disenyapkan. CLAUDE.md dikemas kini, halaman bahasa diprarendat kesite/{lang}/, bukan dihidangkan melalui penulisan semula_redirects.
2026-04-18, Tolakan pihak berkuasa: hub /standards/ + 3 halaman piawaian, /proof/corpus/, penutupan Reviewer #6, Lanjutan utama-aliran-kerja N19.1
- Mod ringkas mendapat petunjuk halus "96 jenis lagi dalam Lanjutan" di bawah grid 8-jubin. Mengklik pautan menukar togol mod supaya pengguna tidak menatal semula. Ringkas kekal pada 8 jubin; Lanjutan kekal sebagai laluan penemuan untuk ekor panjang.
- Senarai bullet CTA Pro ditulis semula untuk mencerminkan apa yang sebenarnya dihantar: kod terkunci kata laluan, pengaktifan dan tamat tempoh berjadual, peta haba/cuaca/ROI/analitik kohort, halaman statistik dikongsi awam, kumpulan kod untuk portfolio besar, webhook + REST API, pasukan berbilang dan log audit, SSO (SAML/OIDC) + peruntukan SCIM. Bullet generik lama "Analitik imbas / aliran kerja API / Pasukan" tidak ada lagi.
- Petunjuk "Save to Pro" di bawah penjana kini menamakan kod terkunci kata laluan, pengaktifan berjadual, peta haba dan analitik ROI, dan halaman statistik awam dan bukannya hanya "analitik imbas".
- Pendedahan progresif pada penjana lanjutan dengan banyak medan (N19.3): TOTP, HOTP, Aztec, PDF417, Swiss QR, dan EMVCo runtuhkan tombol pakar mereka (algoritma/digit/tempoh, aras EC, lajur/padat, mesej, MCC/AID) di bawah bahagian Penalaan pakar. GS1 Digital Link mengelompokkan AI 17/10/21 sebagai Disyorkan; SEPA memisahkan rujukan (Disyorkan) daripada BIC (Penalaan pakar). Ringkasan Pakar yang runtuh memaparkan pil "pakar" supaya pengguna kuasa nampak tombol tambahan tanpa klik.
- Profil yang disimpan (N19.8): namakan-dan-simpan nilai medan semasa mana-mana penjana lanjutan ke localStorage, senaraikan dalam panel Profil yang disimpan di atas legenda keserasian, dan muatkan dengan satu klik atau melalui palet arahan (Cmd/Ctrl+K). Storan adalah sisi klien sahaja; tiada apa yang meninggalkan pelayar.
- Pihak berkuasa pengeluaran cetak (N15): /print-size/ kini membawa panduan substrat (8 substrat × penalti saiz × ECC), peraturan palet selamat-CMYK dengan anotasi peringkat-katalog hanya CMYK/RGB, peraturan luar/papan tanda (lunturnya UV, kelakuan kamera cuaca sejuk, sudut imbasan serong), protokol QA bercetak 4-pemeriksaan, dan takrifan gred pra-cetak bahasa biasa ("D = akan gagal pada papan tanda berkilau di bawah 3 m").
- Pagar pematuhan (N16): blok "Senarai semak pematuhan" + "Bila tidak menggunakan ini" baharu pada lima halaman pendaratan ditandai pengulas, App Store (Dasar Apple 5.2 / Play / pengedaran TestFlight), PayPal (AUP / penyalahgunaan F&F / 1099-K / klasifikasi MSB), Bitcoin & Crypto (Peraturan Perjalanan FATF / pendaftaran FinCEN/FCA / pendedahan ujian Howey / OFAC), UPI (pekeliling NPCI / GST / penipuan tindihan anti-imbasan / SEBI tentang QR pelaburan), SEPA (pematuhan EPC069-12 / hak pemulangan PSD2 / amaran tanpa mandat berulang). Sertai blok pematuhan sedia ada pada AAMVA, Google / Yelp / TripAdvisor Review, Kupon, Corong Ulasan.
- Jenis terkini dalam palet arahan (N19.7): 8 jenis terakhir yang anda pilih muncul dahulu apabila Cmd/Ctrl+K terbuka dengan pertanyaan kosong; dengan pertanyaan separa, jenis terkini mendapat bonus kedudukan kecil supaya "tot" sentiasa melompat ke aliran OTP yang anda paling kerap gunakan. Juga ditandakan dengan cip kategori "Terkini" supaya peningkatan kelihatan, bukan ajaib. Dijejaki dalam localStorage sahaja.
- Penggilap mod ringkas (N6): Ringkas kini juga menyembunyikan panel Profil yang disimpan (bukan konsep pemula) dan tab Kelompok. Item yang sudah disembunyikan tidak berubah (carian jenis, peset industri, legenda keserasian, tab kategori, cip keserasian).
- Strip kepercayaan empat tonggak (N7): jalur tuntutan atas halaman runtuh dari 5 item kepada 4, masing-masing membawa label tonggaknya secara eksplisit, "Benar-benar percuma, tiada pendaftaran, tiada paywall", "Mengutamakan privasi, 0 permintaan keluar, sahkan langsung", "Selamat-pengeluaran, keserasian diuji April 2026", "Tiada terkunci, sandaran QR statik, eksport bila-bila". Pautan Perbandingan dikemas kini digugurkan dari jalur (ia adalah isyarat kredibiliti, bukan tonggak) tetapi masih hidup dalam nav + pengaki.
- Panggilan keluar yang tegas "Gunakan ini jika / Jangan gunakan" (N19.11) di atas borang lanjutan dengan banyak medan, Data Matrix, Aztec, PDF417, TOTP, HOTP, eSIM, GS1. Beraksen oren, dua klausa, sebelum sebarang input medan. Menggantikan corak di mana prosa penjelasan duduk di bahagian bawah dan pengguna hanya membacanya selepas mereka selesai menaip.
- Sepanduk keupayaan (N19.9) pada panel Gaya untuk simbologi bukan QR, cip + tajuk eksplisit ("Tiada gaya, kod bar biasa sahaja") + huraian, menggantikan petunjuk satu perenggan lama dengan sesuatu yang lebih jelas.
- Pengesahan semantik (N19.4): pengesah rahsia Base32 TOTP, prefiks IBAN Swiss QR CH/LI + pemeriksaan panjang 21-aksara, jumlah semakan mod-97 IBAN SEPA (menangkap digit yang silap taip), dan amaran silang medan WiFi Enterprise apabila EAP dipilih tetapi identiti kosong. Sebaris, tidak menyekat, menggunakan semula registri VALIDATION_RULES sedia ada.
- QR Lab kini satu klik dari Muat Turun (N5), cip bersempadan bertitik ("Uji sebelum cetak dalam QR Lab →") duduk sebaris dengan butang muat turun supaya pengesahan kelihatan pada titik eksport.
- Lanjutan terbuka utama-tugas (N19.1): jalur kategori kini dianjurkan oleh apa yang anda buat dan bukannya apa simbologinya. Sembilan baldi aliran kerja, Perkongsian harian, Acara & tempat, Media & fail, Pemasaran & ulasan, WiFi & telekom, Pembayaran & perbankan, Runcit & GS1, Naik & ID, Pengesahan & pembangun, menggantikan taksonomi simbologi lama (Harian / Perniagaan / Pembayaran / Identiti / Keselamatan / Perindustrian / Piawaian Lanjutan). Kesemua 105 butang jenis dipetakan semula; grid jenis pengaki dikumpulkan semula untuk sepadan.
- Tolakan pihak berkuasa (N3): hub /standards/ baharu dengan lapan halaman rujukan penuh, GS1 Digital Link (Sunrise 2027, pengesah digit semakan GTIN langsung), TOTP & HOTP (RFC 6238 / 4226, pengesah entropi Base32 langsung, keserasian pengesah), Swiss QR-bill (SIX IG v2.3, pengesah IBAN CH/LI langsung dengan pengesanan QR-IBAN), lesen memandu AAMVA (CDS v10, jadual kod elemen, jadual IIN, pembingkaian penggunaan sah), pengaktifan eSIM (LPA) (GSMA SGP.22, keserasian iOS 17.4+ / Android 13+), QR pedagang EMVCo (struktur MPM / CPM, derivatif serantau PIX/UPI/PromptPay/SGQR/DuitNow, jadual MCC), Micro QR & rMQR (ISO/IEC 18004 Lampiran M + ISO/IEC 23941, carta kapasiti, keserasian pengimbas pakar), dan e-invois ZATCA (FATOORA Arab Saudi, tag TLV 01–09, Fasa 1 vs Fasa 2). Setiap halaman: pautan spesifikasi + vektor ujian kanonik + pengesah langsung di mana berkenaan + perangkap + keserasian pengimbas + semakan seterusnya bertarikh. Langkah pertama ke arah matlamat pihak berkuasa gred-ensiklopedia.
- Perancah korpus ujian awam (N2): halaman /proof/corpus/ baharu mendokumenkan metodologi yang sesiapa boleh gunakan untuk mengaudit tuntutan keserasian-pengimbas, muat turun fixtures, jana semula QR, imbas dengan armada anda sendiri, laporkan percanggahan. Jadual hasil-imbas-dijangka 18-baris dikurasi merentasi iOS Camera, Android Camera, dan pengimbas pro. Memaut /test-vectors/ (JSON pembangun) dan /standards/ sebagai lapisan pihak berkuasa di atas.
- Item terdahulu Reviewer #6 dihantar pada hari ini dalam komit terdahulu: grid jubin utama-tugas (N14), ayat jenama "Alat QR paling boleh dipercayai di internet" (N17), palet arahan (N19.2), peset pakar (N19.5), pemeriksa muatan (N19.10), sapuan format <title> kanonik (N20).
- Tunggakan terjemahan: salinan N14 dan N17 dalam 25 bahasa; segala-galanya yang lain dari penutupan Reviewer #6 hari ini adalah hanya bahasa Inggeris buat masa ini dan jatuh kembali ke bahasa Inggeris dalam tempat lain sehingga laluan terjemahan seterusnya.
2026-04-17, Keep-Alive langsung, halaman peta jalan + sokongan Pro, pembetulan audit webhook
- Tahap Keep-Alive langsung pada Pro: $4/bulan, $36/tahun, atau $240 Decade (prabayar 10 tahun, $2/bulan berkesan). Memelihara kod sedia ada dengan masa beragas suntingan destinasi 30 hari; tiada kod baharu, tiada tempat duduk, tiada API. Migrasi 007, tiga produk Stripe, laluan webhook untuk pembayaran sekali sahaja Decade, get pelan merentasi papan pemuka/kod/edit. Membatalkan sepanduk "Dihantar Q3 2026" pada /compare/ dan /no-lock-in/.
- Halaman baharu di pro.qr.abundera.ai/roadmap/: apa yang dihantar, komitmen Q3/Q4 dengan kriteria pembunuhan, senarai eksplisit perkara yang kami tidak sedang bina.
- Halaman baharu di pro.qr.abundera.ai/support/: sasaran masa tindak balas setiap-tahap, alamat pendedahan keselamatan, skop.
- Pembetulan webhook Stripe: perlumbaan idempotensi (boleh menelan pembayaran yang dicuba semula), nyahduplikasi melalui SELECT sebelum pengendalian, INSERT pada kejayaan. Pengendali pembayaran Decade melontar pada price_id yang hilang/tidak diketahui atau tahap tidak sepadan dan bukannya menggugurkan secara senyap.
DEFAULT_SEAT_LIMITtidak ditakrifkan dalam terima-jemputan-pasukan. Toleransi tandatangan 60s → 300s.incomplete_expireddipetakan kepadatrialing(sebelumnyaexpired). - Dokumen:
ABUNDERA_JWT_AUDIENCESdidokumenkan sebagai diperlukan; skemaPLAN_PRICE_MAPdalamdocs/INTEGRATIONS.md; rujukanABUNDERA_SERVICE_SECRETyang tidak digunakan dialih keluar. - Ujian: 70 lulus. Menambah 8 untuk predikat Keep-Alive dan masa beragas 30 hari.
2026-04-16, Pelancaran Pro, kerja semula tangga harga, susulan ulasan luaran
- Portal Pro langsung di pro.qr.abundera.ai.
- Tangga harga (bulanan / dibilkan tahunan setiap bulan): Solo $12/$9, Business $39/$29, Team $129/$99, Agency $449/$349, Enterprise $1,800/$1,500. Tahunan adalah pilihan lalai pada grid harga.
- Had imbasan bulanan eksplisit (50K / 250K / 1M / 4M / 25M) menggantikan "tanpa had". Melebihi had tidak memutuskan pengalihan; kami mengukur lebihan pada kadar senarai tahap itu sendiri ($0.06–$0.18 setiap 1K imbasan).
- Setiap tahap mempunyai jumlah kod eksplisit (500 / 2,500 / 15K / 75K / 500K), tiada cetakan halus "tanpa had*".
- 13 halaman pendaratan pembayaran ditambah: Apple Wallet, Google Wallet, EPC Girocode, BLIK, Interac, MB WAY, GCash, Maya, Kakao Pay, Naver Pay, LINE Pay, iDEAL, Boleto. Bilangan jenis 91 → 104; sitemap kini 3,224 URL.
- Pra-imbasan-pemeriksaan diperluaskan dari 4 syarat generik kepada 8 senario khusus pekerjaan (pelekat menu, poster tingkap, lanyard, tag rak, label gudang, papan tanda luar, pembungkusan, kad perniagaan). Gred C/D/F memaparkan modal pra-muat turun.
- Matriks harga /compare/ dipisahkan kepada enam kumpulan padanan kapasiti. Entri pesaing ditambah untuk Bitly, Flowcode, Uniqode, QR Code Chimp, QRTIGER, masing-masing bertarikh dan ditandai untuk pengesahan semula bulanan. Kos bulanan setiap kod ditunjukkan pada setiap baris.
- Pemeriksaan hanyut bilangan dalam skrip pra-deploy: mengimbas semua halaman yang dijana di bawah
site/untuk bilangan jenis berkod keras. Hanyutan 91/104 pada /compare/ dihantar kerana pemeriksaan lama hanya menonton tiga halaman. - Pembingkaian laman Pro: "Percuma adalah untuk menyimpan. Pro adalah untuk mengubah." dibawa melalui /no-lock-in/, /static-vs-dynamic/, dan CTA Pro laman utama.
- Produk Stripe dicipta melalui skrip
stripe-setup.pyidempoten (Solo + Team dinaikkan kepada rev 2 untuk amaun baharu).PLAN_PRICE_MAPmemegang kedua-dua price ID lama dan baharu supaya mana-mana pelanggan sedia ada kekal dipetakan. - Lain-lain: jalur perincian keserasian di atas medan penjana, jalur kepercayaan laman utama, cap kesegaran pada setiap halaman, halaman rangka /accessibility/, pek peset industri /for/ (8), petunjuk kebolehmamutan Wizard/QR Lab, audit bilangan (120 → 336 ikon, 24 → 50 peset BCD), pembersihan bahasa repo (repo adalah peribadi; "Kod penjana sumber terbuka" → "Kod sisi klien boleh diaudit dalam pelayar anda"), imej OG dijana semula dengan acara iCalendar QR yang sah.
2026-04-15, Ringkas/Lanjutan, /compare/, Save-to-Pro
- Togol Ringkas / Lanjutan pada laman utama. Ringkas mengkurasi 8 jenis harian (URL, WiFi, vCard, Email, Phone, SMS, Event, Text); Lanjutan memulihkan 104 penuh. Mod adalah melekat dalam
localStorage; halaman pendaratan untuk jenis bukan-Ringkas auto-bertukar. - Matriks pesaing /compare/ dihantar: ciri demi ciri terhadap QR Code Generator, QRCode Monkey, dan Uniqode. Bertarikh, dikaji semula bulanan.
- Butang "Save to Pro" di laman percuma: satu klik mempromosikan kod yang dijana ke dalam portal Pro. Keadaan berulang melalui hash URL; pengguna yang tidak ditandatangani mendarat semula di penjana dengan kerja mereka dipelihara.
- Anak panah tatal tab kategori pada desktop; tatal lancar pada mudah alih.
- Pemulihan sejarah auto-bertukar kepada Lanjutan apabila jenis kod yang disimpan tidak tersedia dalam mod Ringkas.
- Salinan CTA Pro dilembutkan; cerita anti-tebusan (sandaran QR statik, masa rahmat 90 hari, kebolehbawaan domain) ditarik ke hadapan.
2026-04-14, Portal Pro dalam talian, 3 jenis baharu, pembetulan autoisi
- Portal Pro (
pro.qr.abundera.ai) dalam talian hujung-ke-hujung. - Tiga jenis laman percuma baharu: M-PESA Kenya (EMVCo MPM), Mesyuarat Video (jalan pintas Zoom/Meet/Teams/Webex), Kupon/Kod Promo.
- Jenis GS1 Digital Link kini menyokong kesemua 12 Pengenal Aplikasi yang dimandatkan Sunrise-2027.
- Halaman SEO baharu:
/static-vs-dynamic/,/no-lock-in/(kontrak: masa rahmat 90 hari, eksport satu-klik, pemadaman GDPR 30 hari, sandaran QR statik). - Pembetulan autoisi (cubaan keenam): blok medan setiap-jenis adalah elemen
<form>sebenar dengan tokenautocompletemereka sendiri; borang tidak aktif mendapatdisplay: nonesupaya Chrome tidak menandai input luar skrin. Pengelompokan menegak vCard/Address/Contact/WiFi-Enterprise kini berfungsi merentasi Chrome, Safari, Firefox. Harness Playwright pada 0 pelanggaran. - Corong ulasan: dropdown platform (Google/Yelp/TripAdvisor) dengan salinan placeholder setiap-platform.
- Wizard: 8 rujukan slug hasil yang rosak diperbetulkan.
- Pengepala/pengaki disatukan melalui partial dikongsi; halaman alat (Wizard, QR Lab, Test Vectors) dipindahkan ke sistem templat yang sama.
- Pemeriksaan pra-deploy: pengesahan pautan dalaman + penjaga
showToast()Inggeris mentah. - Pembetulan BCD: kestabilan susun atur menegak, regresi UI halaman pendaratan, label pautan RFC, artifak tera air.
- HTML halaman pendaratan yang dijana tidak lagi dijejak git (masih disebarkan; git menjejaki templat dan penjana).
2026-04-13, pariti 25 bahasa, reka bentuk semula pengepala/pengaki, harness Playwright
- 6,660 kunci sandaran-Inggeris diterjemah merentasi 25 fail bahasa. Halaman pendaratan bukan-Inggeris tidak lagi jatuh kembali ke rentetan Inggeris. Saluran terjemahan dirombak menjadi pengesah/perancang.
- i18n diperluaskan ke halaman alat: Wizard, QR Lab, dan Test Vectors kini mempunyai 25 varian bahasa, dengan tag hreflang dan entri sitemap.
- Harness pusing-balik Playwright: menjana kod untuk setiap jenis dalam setiap bahasa, menyahkod canvas, memeriksa medan. 0 pelanggaran.
- Reka bentuk semula pengepala/pengaki: pengepala langsing, pengaki 3-lajur sepadan dengan corak sign.abundera.ai. Laci hamburger mudah alih kini menunjukkan item nav apabila dibuka (sebelum ini rosak).
- Klik pratonton QR → kotak cahaya zum. Label menunjukkan nama jenis + input pertama (sebelum ini menunjukkan muatan mentah).
- Pembetulan autoisi laluan pertama (mendarat dengan betul 2026-04-14).
- Carian jenis muncul jenis lanjutan; menutup pada pemilihan; tab kategori kosong tersembunyi dalam mod Popular; pemulihan sejarah menukar jenis sebaris dan bukannya mengalihkan.
2026-04-12, pariti 26 bahasa, 13 jenis muatan baharu, 3 kod bar 2D bukan QR
- Pariti 26 bahasa penuh: setiap kunci Inggeris wujud dalam setiap fail bahasa (1,302 kunci × 25 bahasa). 5,533 entri ditambah merentasi 4 laluan (kata nama khas, label pendek, label medan borang, toast, petunjuk). 30 petunjuk bayaran jenama kekal Inggeris mengikut reka bentuk, URL dan nama jenama adalah otoritatif dalam Inggeris.
- Penyahduaan: 113 blok kunci pendua lapuk dipadamkan daripada 19 fail bahasa (hanyutan dari rebase terdahulu).
- Pembetulan pengepala halaman maklumat: blog/about/privacy/changelog menggunakan kelas
.brand/.header-inner/.brand-texttanpa CSS yang terlampir. Ditukar kepada markup.logoyang sama seperti aplikasi utama. - 4 jenis URI berasaskan piawaian: HOTP (RFC 4226), eSIM (GSMA SGP.22 LPA), SIP/SIPS (RFC 3261), MMS/MMSTO.
- WPA2/WPA3-Enterprise WiFi: memperluaskan format
WIFI:dengan kaedah EAP, pengesahan fasa ke-2, identiti, identiti tanpa nama. - 6 jenis pembayaran serantau: Alipay, WeChat Pay, Swish (SE), Vipps (NO), Mercado Pago (LatAm), Payconiq (Benelux).
- 3 kod bar 2D bukan QR: Data Matrix (ISO 16022), Aztec (ISO 24778), PDF417 (ISO 15438). bwip-js (~1 MB) hanya dimuatkan secara malas apabila salah satu jenis itu dipilih.
- Bahagian pameran 26 bahasa ditambah di laman utama dengan pautan dalam tulisan natif.
- Skrip audit pra-deploy: semakan sinkronisasi
BATCH_VALID_TYPES+ penjagashowToast()Inggeris mentah. - Pengaki, halaman pendaratan, dan kunci i18n ditambah untuk kesemua 13 jenis baharu (sumber Inggeris).
2026-04-11, pengambilan URL foto BCD, pratonton melekat, peset boleh dikembangkan
- BCD: medan URL foto kini mengambil dan menyebatikan imej jauh sebagai data URL supaya canvas eksport tidak dicemari oleh muatan silang asal (eksport PDF/PNG kini berfungsi pada hos tanpa CORS).
- Susun atur desktop BCD: panel pratonton kini
position: sticky, jadi apabila pengguna mengembangkan setiap bahagian kawalan menatal bebas tanpa kehilangan keterlihatan pada pratonton langsung. (Sebelum ini, mengembangkan Kandungan + Susun atur + Pilihan akan menolak Tunjuk-Medan ke luar skrin.) - Grid peset BCD kini boleh dikembangkan, awalnya menunjukkan 12 susun atur dengan togol "Tunjuk semua susun atur", mencerminkan UX pemilih ikon.
- Input slogan + kapsyen QR direka semula: label bertindih + input lebar penuh (sebelum ini sidecar 150px yang sempit).
- Lencana kebolehimbasan dinaikkan dari
bottom: -24pxke-18pxsupaya tidak menutupi butang salin. - Arahan CSV kelompok kini menyebut Google Sheets, Excel, Numbers secara eksplisit.
2026-04-08, pustaka ikon khusus industri menegak
- 24 ikon logo pusat baharu (96 → 120) untuk penjagaan kesihatan, makanan & minuman, teknologi, kewangan.
- 10 peset susun atur BCD baharu (40 → 50): Concrete, Honey, Indigo, Luxe, Midnight II, Ocean II, Slate, Verdant, Wine, Candy.
- Pepijat strategi cache-buster: parameter
?v=padapage-init.js+lang-redirect.jstiada pada halaman pendaratan, menyebabkan muat modul lapuk selepas deploy. Diperbetulkan.
2026-04-04, latar belakang cerun BCD + belakang kad + 12 peset baharu
- BCD: 12 peset baharu (Dark Mode, Pastel, Ocean, Cherry, Slate, Emerald, Amber, Mono, Rose, Midnight, Sand, Carbon). Jumlah 36 peset.
- Latar belakang cerun yang boleh dikawal pengguna dengan pemilih warna kedua.
- Rendering belakang kad dengan teks syarikat + slogan + CTA.
- Baris ikon sosial (LinkedIn / X / Instagram).
- Blok alamat dari medan vCard.
- Lakaran kecil peset visual, setiap butang peset kini merender canvas kecil dan bukannya placeholder.
2026-03-29, pengubahan semula BCD + eksport 600 DPI
- Business Card Designer bahagian akordion boleh runtuh, pratonton mudah alih melekat, pengaki eksport melekat.
- Input warna hex dengan penyegerakan dua hala pemilih warna, sampel palet warna.
- 4 bentuk foto (bulatan, segi empat, membulat, hexagon).
- Resolusi eksport dinaikkan kepada 600 DPI untuk output cetak yang tajam.
- Menu kebab: eksport templat, import templat, kejutkan saya, kongsi kad, cetak helaian (10-tingkap US Letter + A4).
- Pangkasan foto dipaksa segi empat. Penjaga data minimum sebelum membuka pereka.
- Peset BCD dinaikkan: 8 peset baharu yang berbeza secara visual (Neon, Art Deco, Sunset, Forest, Brutalist, Kraft, Nordic, Retro 80s). Jumlah 24 peset.
2026-03-22, 20 jenis QR baharu + Link-in-Bio + perbandingan pesaing
- 20 jenis QR baharu (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 merender halaman bio penuh dari hash URL QR, tanpa backend, tanpa akaun, tanpa penjejakan.
- Widget iframe /embed/ (postMessage API untuk integrasi halaman induk).
- Halaman perbandingan pesaing /vs/ (varian 26 bahasa).
- Pakej npm @abundera/qr + CLI dengan 25 pengekod jenis.
2026-03-15, 96 ikon logo pusat + 5 bahasa baharu
- 96 ikon logo pusat (12 → 96): kripto, komunikasi, media, utiliti, perdagangan, pengangkutan, alam semula jadi, makanan, orang, acara, 12 muka smiley, 18 glif rangkaian sosial (X, Facebook, Instagram, LinkedIn, TikTok, YouTube, Pinterest, Reddit, Snapchat, Discord, Telegram, GitHub, Threads, Bluesky, Mastodon, Twitch, Signal, Medium). Boleh dikembangkan melalui togol <details>.
- 5 bahasa baharu (21 → 26): Sweden, Czech, Denmark, Norway, Finland. 1,106 kunci setiap satu dengan terjemahan natif.
- Eksport EPS (Level 2 PostScript terpasang JPEG, dikodkan ASCII85) untuk aliran kerja percetakan (Illustrator, InDesign, CorelDRAW).
- Eksport GIF animasi (gif.js, pelangi 8 bingkai).
- Eksport SVG BCD, eksport JPG BCD.
2026-03-08, audit platform + imbasan aksesibiliti
Sprint membetulkan pepijat: 3 KRITIKAL + 7 TINGGI + 10 SEDERHANA isu diselesaikan.
- Pelanggaran skrip sebaris CSP pada semua 55 halaman pendaratan, dipindahkan ke atribut badan
data-qr-preselect. - Pepijat cache lapuk service worker, kunci jalur pertanyaan dipecat → URL penuh + stale-while-revalidate.
- Desinkronisasi jenis borang apabila mengklik pil BCD pada halaman pendaratan bukan vCard.
- Keterlihatan imej latar belakang (peluncur kelegapan, modul pada 90% alfa, penghalaan modal pangkasan).
- Limpahan mudah alih modal pangkasan.
- Rampasan zum roda menghijau tatal tetikus (dialih keluar sepenuhnya).
- Kebocoran IP avatar dikurangkan (dasar rujukan + pengepala no-referrer).
- Pembetulan rangkaian terbuka WiFi kelompok, pariti medan kelompok MeCard, pengesahan base32 TOTP.
- Sasaran sentuh WCAG 2.5.8 (minimum 44×44 pada penunjuk kasar).
- Imbasan aria-hidden pada 87 SVG hiasan.
- Menghormati prefers-reduced-motion.
- Toast aria-live, cincin focus-visible, navigasi papan kekunci pangkasan, kekunci Home/End dalam menu limpahan.
- Pengoptimuman pramuat fon.
2026-03-01, 15 jenis berasaskan piawaian + pengesah kebolehimbasan
- 15 jenis QR baharu: TOTP/2FA, Swiss QR-bill (dengan tindanan salib Swiss merah mandatori), PIX (Brazil), PromptPay (Thailand), pedagang generik EMVCo, Lightning BOLT11, kunci awam SSH, kunci awam OpenPGP, konfigurasi WireGuard, GS1 Digital Link, Spotify, Fediverse (Mastodon/Bluesky/Nostr/Matrix/Threads), Geo URI, Magnet, iCalendar penuh.
- Pengesah kebolehimbasan, menjalankan jsQR pada canvas yang dirender dan memberi amaran apabila penyahkodan gagal.
- Sandaran URL boleh cetak, togol menambah URL sasaran sebagai teks biasa di bawah QR.
- jsQR dimuatkan secara malas (menjimatkan muatan awal 262 KB).
2026-02-22, editor cerun berbilang henti + warna setiap mata
- Editor cerun berbilang henti (sehingga 5 warna).
- Warna dalam/luar bebas setiap mata.
- Mod QR imej latar belakang (peluncur kelegapan, EC=H dipaksa automatik).
- Zum cubit pada canvas pratonton.
- Web Share API untuk kod QR dan kad perniagaan.
- Format eksport WebP.
- Buat asal/buat semula (Ctrl/Cmd-Z, penimbal 50 langkah).
- Butang templat rawak ("Kejutkan saya").
2026-02-15, halaman privasi & keselamatan + pengukuhan i18n
- 4 halaman kepercayaan baharu: /privacy/, /terms/, /security/, /about/, dalam semua 21 bahasa.
- /.well-known/security.txt diterbitkan.
- 29 rentetan Inggeris berkod keras digantikan dengan panggilan
qrT(); ~100 kunci i18n baharu diterjemahkan ke semua 21 bahasa. - Skrip sebaris dilakukan secara luaran, CSP diperkukuhkan (unsafe-inline digugurkan).
2026-02-08, aksesibiliti modal + pengurusan fokus
- Perangkap fokus pada semua 3 modal (pangkasan, BCD, dialog tersuai).
- Penggilap navigasi papan kekunci dalam menu limpahan BCD, pemilih bahasa, dan pemilih jenis.
- Pembetulan pepijat kritikal: sempadan bingkai SVG dirender lari satu piksel, kerentanan XSS dalam pratonton zum kelompok, ralat
btoa()Latin1 semasa mengklik logo peset.
2026-02-01, pelancaran pertama
- Abundera QR dilancarkan dengan 20 jenis QR, 40 templat, penjanaan CSV kelompok (500 kod), Business Card Designer (300 DPI), 20 bahasa, 420 halaman pendaratan statik.
- Pendirian mengutamakan privasi: 100% sisi klien, tiada akaun, tiada penjejakan, tiada kod lencongan dinamik.