Ändringslogg
Varje version, varje funktion, varje fix, i en scrollbar logg.
2026-04-26, Full ISO/AIM/GS1-renderingsefterlevnad för varje kodtyp
- Granskade varje QR / 2D / 1D-streckkod mot dess styrande standard.
includetexti bwip-js's är som standard false för varje bcid, så EAN/UPC/ITF-14 levererades utan den läsbara textraden som ISO 15420 §5.1.2 + GS1 §5.4.4 kräver. Satteincludetext: true+guardwhitespace: trueför hela EAN/UPC-familjen, plusincludetext: trueför ITF-14, Code 128, Code 39, Code 93, Codabar, VIN. - EAN-13-tystnadszoner är nu asymmetriska enligt ISO 15420 Bilaga A (vid scale=4
paddingleft: 44= 11 moduler,paddingright: 28= 7 moduler). EAN-8 / UPC-A / UPC-E använder de symmetriska kuvert som deras specifikationer namnger. PDF417 + AAMVA-körkort får 2-modulers tystnadszoner enligt ISO 15438 §5.5; Data Matrix får 1 modul enligt ISO 16022; Aztec får rekommenderad 1 modul (noll tillåts av ISO 24778 men knäcker scanners som rör kanten). - QR:s
QUIET_ZONE_MODULEShöjt från 2 → 4, hela ISO/IEC 18004 §6.3.7-specen. 2-modulsgenvägen var en branschkompromiss som missar GS1 Digital Link-prefixdetektion på vissa industriella laserscanners. Micro QR + rMQR levereras nu med en 2-modulers tystnadszon (qreanger bara det nakna rutnätet, så vi lägger till det manuellt irenderMicroQRResult). - ECC-nivåer låsta: Aztec på 23 % (ISO 24778-standard), PDF417 på nivå 5 (GS1-minimum för transport och logistik). Låsning mot framtida drift i bwip-js.
- Ny referenssida: /standards/barcode-rendering/. Referens per symbologi som täcker tystnadszoner, HRI, ECC och kontrollsiffror för alla 17 typer, med primärkällelänkar till varje citerad ISO/AIM/GS1-standard.
2026-04-26, Skärpt staging-first-grind för deploy
- Produktionsdeployer för webbplatser med staging kräver nu att den senaste staging-deployen avser exakt aktuell commit (rent working tree på båda sidor). 24-timmarsfönstret i den tidigare grinden lät orelaterade produktionsdeployer åka med på inaktuell staging-historik. SHA-spårad, fail-closed, åsidosättningen är fortfarande
CF_DEPLOY_SKIP_STAGING_FIRST=1. - Preflight-kontroll i
cf-deploy.pyförCLOUDFLARE_API_TOKEN, misslyckas snabbt med ledtrådensource ~/.envrci stället för att låta wrangler kasta sitt kryptiska "non-interactive environment"-fel. - Innehållsverifierare efter varje deploy: hämtar live-URL:en och bekräftar att dess cache-buster matchar det som just stämplats in i
dist/. Fångar buggklassen "fel CNAME" / "edge serverar inaktuell cache" / "fel branch" som 200-OK-hälsokontrollen tyst skulle missa.
2026-04-25, Översyn av mobil-UX: peek-förhandsvisningshuvud, bottenark-förhandsvisning, fast nedladdnings-CTA
- Fast peek-förhandsvisningshuvud högst upp på sidan på mobiler (≤768 px). Visar alltid en liveminiatyr av QR-koden samt en enradsstatus, "Fyll i formuläret nedan" i viloläge, "Din QR är klar · Tryck för att ladda ner" så snart en kod renderas. Pulserar en gång när QR-koden blir giltig första gången så användarna märker det. Löser det långvariga problemet att mobila besökare inte insåg att resultatet renderades under vecket.
- Att trycka på peek-listen (eller den nya fasta nedladdningsknappen längst ner) öppnar förhandsvisningen som ett bottenark, nedladdningsknappar i full bredd staplade vertikalt, stängs genom svep nedåt eller tryck på bakgrunden, safe-area-padding för iOS-hemindikatorn.
- Hantering av mjukt tangentbord: en visualViewport-lyssnare sätter
body.kb-opennär tangentbordet kommer upp, peek-listen kollapsar till en smal piller, och fokuserade fält rullas till mitten så att tangentbordet aldrig döljer det användaren skriver. - Översyn av tryckmål vid ≤640 px: typvälj-rutor uppjusterade från 14×8 / 0.78rem till 16×10 / 0.82rem och minst 56 px höjd, panelflikar och primärknappar med 44 px-golv, exportknappar staplas i full bredd med 48 px-golv inuti arket.
- viewport-metan får
interactive-widget=resizes-contentoch de två100vh-reglerna har migrerats till100dvhför förutsägbar layout i mobilwebbläsare med dynamiska verktygsfält. - Den gamla scrolla-till-förhandsvisning-FAB:en är borttagen, peek-listen plus fast CTA täcker samma uppgift mer direkt. Service worker-cache höjd till v132. Nya strängar översatta till alla 25 språk.
- CSS-hygien: 203 enstaka spacing-deklarationer i
style.cssmigrerade till--space-N-tokens via codemod. Ren refactor, ingen visuell förändring. - Tak för inline-stilar 89 → 85: fyra
style="text-transform:uppercase"-attribut på AAMVA- / Code 39- / Code 93- / VIN-inputs ersatta med den befintliga klassen.input-uppercase.
2026-04-19, N16-efterlevnadsgenomgång (45 sidor), N3 batch 2, regressionsfixar, N3-svans, AAMVA-disclosure, Expert-tillståndspersistens, a11y-audit
- Fullständig N16-efterlevnadsgenomgång: alla 34 betalningsschema-landningssidor har nu efterlevnadschecklista + "när detta inte ska användas"-block. Fjärde omgången (19 sidor) täcker resten: Alipay + WeChat Pay (PBoC + SAFE), Boleto (BACEN + FEBRABAN), Mercado Pago (sjuländers regulatormatris), Payconiq (NBB + PSD2), EPC/Girocode (EPC069-12 + ZAG), Apple Wallet + Google Wallet (utvecklarprogram + FTC Endorsement + GDPR plats), Kakao Pay + Naver Pay + LINE Pay (koreanska FSC + japanska FSA + Taiwan 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). Tillsammans med de tre tidigare omgångarna (AAMVA / Recensionssidor / Kupong / Recensionstratt / App Store / PayPal / Crypto / UPI / SEPA + Venmo / Cash App / Schweizisk QR-räkning / PIX / PromptPay / EMVCo / TWINT + Bizum / PayNow / iDEAL / BLIK / Interac / MB WAY / Swish / Vipps), är det 45 efterlevnadsblockerade landningssidor, varje betalningsschema på sajten har nu lokala regulatorhänvisningar, regler för handelsklassificering, skatt- / fakturaplikt, konsumentskyddsramar, och en "ingen investeringsuppmaning"-skyddsräcke som pekar på rätt värdepappersregulator. Första delpartiet (7): Venmo (AUP / F&F-missbruk / 1099-K / Early Warning-rapportering), Cash App (Cash for Business / Bitcoin & Investing reglerade ytor / Regulation E / CFPB-bedrägeriflagga), Schweizisk QR-räkning (SIX v2.3 / QR-IBAN-regler / MWSTG / 10-årig OR Art. 958f-bevarande), PIX (BACEN Resolution 103/2021 / PJ vs PF / MED-återbetalningsfönster / klistermärkesbedrägeri / CVM investeringsflagga), PromptPay (BOT-regler / THB 1,8M moms-tröskel / AMLO-rapportering / gränsöverskridande FX-disclosure), EMVCo (ISO 18245 MCC / acquirer KYC / nationell FIU vid AID-fel), TWINT (FINMA/AMLA / MROS / KIG-konsumentskydd). Andra delpartiet (8): Bizum (Bizum Negocios / SEPBLAC / factura / CNMV), PayNow (MAS Payment Services Act / STRO-rapportering / SGQR / PDPA), iDEAL (licensierad acquirer / DNB / PSD2 13-månaders dispyt / CBF välgörenheter / ACM-tillsyn), BLIK (Polski Standard Płatności / KNF / GIIF-rapportering / faktura VAT / RODO), Interac (Interac for Business / FINTRAC / PIPEDA / Quebec Bill 96 / CAFC-bedrägeri), 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). Ansluter till de tidigare efterlevnadsblocken på AAMVA, Google / Yelp / TripAdvisor-recension, Kupong, Recensionstratt, App Store, PayPal, Crypto, UPI, SEPA. Total täckning nu: 26 landningssidor.
- Fem fler standardreferenssidor (N3 batch 2), AAMVA-körkort, eSIM-aktivering (LPA), EMVCo handlare-QR, Micro QR / rMQR, ZATCA e-faktura. Hubben har nu 8 levande referenssidor som täcker kärnspecifikationerna.
- Två regressioner fixade: (1) startsidan auto-rullade ner vid laddning eftersom
showCategory()-init anropadescrollIntoView({block:"nearest"})på kategorichippet, ersatt med manuell horisontellscrollLeftså sidrullning aldrig rörs. (2) Typsökning för "paym" gav noll resultat eftersom filtret bara kontrollerade etikett + data-type-substrängar, DRY-fix återanvänder nu samma CAT_SEARCH + TYPE_SEARCH-synonymtabeller som kommandopaletten använder. - N3-svans: ny /standards/non-qr-2d/ kombinerad referenssida för Aztec (ISO/IEC 24778) + PDF417 (ISO/IEC 15438) + Data Matrix (ISO/IEC 16022). Sida-vid-sida jämförelsetabell, native-skanner-stödmatris över iOS Camera / Android / Google Lens / industriella imagers / flygplatsgrindar / DMV-läsare / pharma DPM-läsare, plocka-rätt-en-guide (Aztec för boardingpass, PDF417 för lång ASCII flat-paper, Data Matrix för DPM / pharma, QR för konsumenttelefonkameror). Standardhubben har nu alla 9 sidor live, 0 utkast.
- AAMVA-formulär progressiv disclosure (N19.3 uppföljning): 25-input-formulär uppdelat i Obligatoriskt (jurisdiktion / körkort / dokumenttyp / familj / förnamn / DOB), Rekommenderat kollapsat-öppet (mellannamn + gata + stad/stat/postnummer + utfärdande/utgångsdatum), Expertinställning kollapsad (kön/ögon/längd + klass/restriktioner/påskrifter). Matchar mönstret som används på TOTP, HOTP, Aztec, PDF417, Schweizisk QR, EMVCo, GS1, SEPA.
- Expertinställningsläge persisterar mellan besök (N19.3 uppföljning): när du öppnar Expert-sektionen på något formulär sparas det öppna tillståndet till
localStorage.qrExpertSectionsOpennyckel-mappad efter typ. Nästa gång du väljer den typen är Expert redan öppet. Delegeradtoggle-lyssnare på.field-section[data-level="expert"], ingen koppling per formulär. - Intern tillgänglighetsaudit (N8): manuell WCAG 2.2 AA-genomgång mot startsidan, /print-size/, den nya /standards/-hubben + 9 referenssidor, och de 45 betalningsschema-landningssidorna. Verifierat godkänt på skip-link-mål, focus-visible, formuläretiketter, knappnamn, ARIA-roller, kontrast AAA primär / AA+ dämpad. Fixade ett rubriknivå-hopp (tre
<h4>-underrubriker inuti vCard/MECARD extra-fields uppgraderade till<h3>för en ren disposition). Fullständiga fynd publicerade på /accessibility/. - Offentlig korpus-ZIP (N2 uppföljning): /proof/corpus.zip, buntade fixturer JSON + CSV + metodologi + README, ~4 KB, byggs om vid varje deploy. Skannerflottor kan nu ladda ner hela korpusen i en fil i stället för att klona repot. Länkad från /proof/corpus/ med en framträdande nedladdningsknapp.
- Skannerflottans attestloggar (N2 uppföljning): nya docs/SCANNER_ATTESTATION.md, daterad per-rad-logg över manuella enhets/OS/app-verifikationer. Initialt 10 rader som täcker iPhone 15 Pro på iOS 18.3, Pixel 8 på Android 14, Zebra DS8100, Google Authenticator, 1Password. Växer med varje enhet vi verifierar.
- In-generator förhandsgranskningsrealism (N19.6): kompakt 4-chip-toggle under live-QR-förhandsgranskningen, Standard / Telefon / Mono / Låg kontrast. Tillämpar CSS-filter på förhandsgranskningen (skala för Telefon, gråskala för Mono, reducerad kontrast för Låg kontrast) så designers ser hur QR-koden beter sig på olika substrat utan att lämna generatorn. Noll effekt på den kodade nyttolasten, nedladdningar eller urklippskopiering.
- Fler semantiska validatorer (N19.4 utökning): HOTP-hemlighet Base32 + räknare icke-negativ-heltalskontroll; eSIM SM-DP+ måste vara en bar FQDN (ingen https://, vanlig telefon-provisioneringskrasch); eSIM Matching ID avvisar
$-tecken (kolliderar med LPA fältavgränsare). - Progressiv disclosure utökad till UPI och Crypto (N19.3 utökning): UPI-belopp + notering grupperade som Rekommenderat; crypto-belopp + etikett grupperade som Rekommenderat. SIP, MMS, PromptPay och Lightning granskade och lämnade platta, för få fält för att gynnas av disclosure.
- Kvalitetsauditgenomgång över SEO, prestanda, säkerhet, länkintegritet och kodkvalitet (i18n-genomgång uppskjuten). Service worker
cache.put-skrivningar körs nu inutievent.waitUntilså de inte kan tappas mitt i navigering; cache höjd till v121. Visitkort-utskriftsdialogen bytte fråndocument.writetill enBlob-URL. Dela- och kortnedladdningsklickhanterare inlindade i try/catch så avslag dyker upp som toasts i stället för tysta misslyckanden. Magic-number-tider (designkort-hash auto-öppna, GIF-bildrendering, dubbel PNG-nedladdningsglapp, print-blob-revoke) extraherade till namngivna konstanter. Latent CSS-bug fixad:.card-text-row-input-selektorer matchade endast[type="text"], men HTML-minifieraren strippar standardtype="text"-attributet, lade tillinput:not([type])så BCD-tagline + bildtextinmatningar behåller sin styling i produktion. Två gratuita!important-deklarationer borttagna; bullrig i18nconsole.warntystad. CLAUDE.md uppdaterad, språksidor är förrenderade tillsite/{lang}/, inte serverade via_redirects-omskrivningar.
2026-04-18, Auktoritetspush: /standards/-hubb + 3 standardsidor, /proof/corpus/, Reviewer #6 omslag, N19.1 arbetsflödes-först Avancerat
- Enkel-läget får en subtil "96 fler typer i Avancerat"-ledtråd under 8-rutorrutnätet. Att klicka på länken växlar lägestoggeln så användarna inte rullar tillbaka upp. Enkel håller sig till 8 rutor; Avancerat förblir upptäcktsvägen för den långa svansen.
- Pro-CTA-punktlista omskriven för att spegla vad som faktiskt levereras: lösenordsspärrade koder, schemalagd aktivering och utgång, värmekarta/väder/ROI/kohort-analys, offentliga delbara statistiksidor, kodgrupper för stora portföljer, webhooks + REST API, multi-team och granskningslogg, SSO (SAML/OIDC) + SCIM-provisionering. Gamla generiska "Skannanalys / API-arbetsflöden / Team"-punkter är borta.
- "Spara till Pro"-ledtråden under generatorn nämner nu lösenordsspärr, schemalagd aktivering, värmekarta och ROI-analys samt offentliga statistiksidor i stället för bara "skannanalys".
- Progressiv disclosure på fältintensiva avancerade generatorer (N19.3): TOTP, HOTP, Aztec, PDF417, Schweizisk QR och EMVCo kollapsar sina expertrattar (algoritm/siffror/period, EC-nivå, kolumner/kompakt, meddelande, MCC/AID) under en Expertinställningssektion. GS1 Digital Link grupperar AI 17/10/21 som Rekommenderat; SEPA separerar referens (Rekommenderat) från BIC (Expertinställning). Kollapsade Expert-sammanfattningar visar en "expert"-pill så strömanvändare upptäcker de extra rattarna utan att klicka.
- Sparade profiler (N19.8): namnge-och-spara aktuella fältvärden för en avancerad generator till localStorage, lista dem i Sparade profiler-panelen ovanför kompatibilitetslegenden, och ladda dem med ett klick eller via kommandopaletten (Cmd/Ctrl+K). Lagring är endast på klientsidan; inget lämnar webbläsaren.
- Tryckproduktionsauktoritet (N15): /print-size/ har nu en substratguide (8 substrat × storleksstraff × ECC), CMYK-säkra palettregler med katalognivå CMYK/RGB-only-anteckningar, regler för utomhus/skyltning (UV-blekning, kameraanvändning i kallt väder, snedställda skanvinklar), ett 4-checks utskrivbart QA-protokoll och vanliga preflight-betygsdefinitioner ("D = kommer att misslyckas på blank skyltning under 3 m").
- Efterlevnadsstängsel (N16): nya "Efterlevnadschecklista" + "När detta inte ska användas"-block på fem granskar-flaggade landningssidor, App Store (Apple 5.2 / Play-policy / TestFlight-distribution), PayPal (AUP / F&F-missbruk / 1099-K / MSB-klassificering), Bitcoin & Crypto (FATF Travel Rule / FinCEN/FCA-registrering / Howey-test-exponering / OFAC), UPI (NPCI-cirkulär / GST / anti-bedrägeri-överlagsbedrägerier / SEBI om investerings-QR), SEPA (EPC069-12-konformans / PSD2-returrättigheter / ingen-återkommande-mandatvarning). Ansluter till de befintliga efterlevnadsblocken på AAMVA, Google / Yelp / TripAdvisor-recension, Kupong, Recensionstratt.
- Senaste typer i kommandopaletten (N19.7): de 8 senaste typerna du valde dyker upp först när Cmd/Ctrl+K öppnas med tom fråga; med en partiell fråga får senaste typer en liten rankningsbonus så "tot" pålitligt hoppar till ditt mest använda OTP-flöde. Också markerade med en "Senaste" kategorichip så förstärkningen är synlig, inte magisk. Spåras endast i localStorage.
- Enkel-läge polering (N6): Enkel döljer nu också Sparade profiler-panelen (inte ett nybörjarkoncept) och Batch-fliken. Redan dolda objekt oförändrade (typsökning, branschpresetar, kompatibilitetslegend, kategoriflikar, kompatibilitetschip).
- Fyra-pelare förtroenderemsa (N7): toppsidans påståenderemsa kollapsade från 5 objekt till 4, var och en uttryckligen bärande sin pelaretikett, "Genuint gratis, ingen registrering, inga betalväggar", "Integritet först, 0 utgående förfrågningar, verifiera live", "Produktionsäker, kompatibilitetstestad april 2026", "Ingen inlåsning, statisk backup-QR, exportera när som helst". Jämförelse-uppdaterad-länken togs bort från remsan (det är en trovärdighetssignal, inte en pelare) men finns fortfarande i nav + sidfot.
- Avgörande "Använd detta om / Använd inte"-callouts (N19.11) högst upp på fältintensiva avancerade formulär, Data Matrix, Aztec, PDF417, TOTP, HOTP, eSIM, GS1. Orange-accentuerade, två klausuler, före all fältinmatning. Ersätter mönstret där förklarande prosa satt i botten och användare bara läste det efter att de hade skrivit klart.
- Förmågebanner (N19.9) på Stilpanelen för icke-QR-symbologier, explicit chip + titel ("Ingen styling, endast vanlig streckkod") + beskrivning, ersätter den gamla enstycksledtråden med något lättblickat.
- Semantisk validering (N19.4): TOTP Base32-hemlighetsvalidator, Schweizisk QR IBAN CH/LI-prefix + 21-tecken längdkontroll, SEPA IBAN mod-97-checksumma (fångar feltryckta siffror), och en korsfältsvarning för WiFi Enterprise när EAP är vald men identitet är tom. Inline, icke-blockerande, återanvänder det befintliga VALIDATION_RULES-registret.
- QR Lab nu ett klick från Nedladdning (N5), ett streckat-kant-chip ("Testa innan du skriver ut i QR Lab →") sitter inline med nedladdningsknapparna så verifiering är synlig vid exportpunkten.
- Avancerat öppnas uppgift-först (N19.1): kategoriremsan är nu organiserad efter vad du gör i stället för vilken symbologi det är. Nio arbetsflödeshinkar, Vardagsdelning, Evenemang & platser, Media & filer, Marknadsföring & recensioner, WiFi & telekom, Betalningar & banking, Detaljhandel & GS1, Boarding & ID, Auth & dev, ersätter den gamla symbologi-taxonomin (Vardag / Företag / Betalningar / Identitet / Säkerhet / Industriell / Avancerade standarder). Alla 105 typknappar omkartade; sidfot-typrutnät omgrupperat för att matcha.
- Auktoritetspush (N3): nya /standards/-hubb med åtta fullständiga referenssidor, GS1 Digital Link (Sunrise 2027, live GTIN-kontrollsiffrevalidator), TOTP & HOTP (RFC 6238 / 4226, live Base32-entropivalidator, autenticatorkompatibilitet), Schweizisk QR-räkning (SIX IG v2.3, live CH/LI IBAN-validator med QR-IBAN-detektion), AAMVA-körkort (CDS v10, elementkodtabell, IIN-tabell, laglig-användning-ramning), eSIM-aktivering (LPA) (GSMA SGP.22, iOS 17.4+ / Android 13+ kompatibilitet), EMVCo handlare-QR (MPM / CPM-struktur, regionala derivat PIX/UPI/PromptPay/SGQR/DuitNow, MCC-tabell), Micro QR & rMQR (ISO/IEC 18004 Annex M + ISO/IEC 23941, kapacitetsdiagram, specialistskanner-kompatibilitet), och ZATCA e-faktura (saudisk FATOORA, TLV-taggar 01–09, Fas 1 vs Fas 2). Varje sida: speclänk + kanoniska testvektorer + live-validator där tillämpligt + fallgropar + skannerkompatibilitet + daterad nästa-granskning. Första steget mot encyklopediskt-grad auktoritetsmål.
- Offentlig testkorpusställning (N2): ny /proof/corpus/-sida som dokumenterar metodiken som vem som helst kan använda för att granska skannerkompatibilitetspåståenden, ladda ner fixturer, regenerera QR-koder, skanna med din egen flotta, rapportera avvikelser. Kuraterad 18-rads förväntad-skanresultat-tabell över iOS Camera, Android Camera och pro-skannrar. Länkar /test-vectors/ (utvecklar-JSON) och /standards/ som auktoritetsskikt ovanför.
- Tidigare Reviewer #6-objekt levererade denna dag i tidigare commits: jobb-först rutorrutnät (N14), "Det mest pålitliga QR-verktyget på internet"-varumärkesmening (N17), kommandopalett (N19.2), expertpresetar (N19.5), nyttolastinspektör (N19.10), kanonisk <title>-formatgenomgång (N20).
- Översättningseftersläp: N14- och N17-text finns på 25 språk; allt annat från dagens Reviewer #6-omslag (N19.3 / N19.4 / N19.7 / N19.8 / N19.9 / N19.11 / N5 / N6 / N7 / N15 / N16 / Pro SSO/SCIM) är endast engelska för nu och faller tillbaka till engelska i andra språk tills nästa översättningsomgång.
2026-04-17, Keep-Alive live, Pro-roadmap + supportsidor, webhook-auditfixar
- Keep-Alive-nivå live på Pro: 4 $/mån, 36 $/år eller 240 $ Decade (10-årig förbetalning, 2 $/mån effektivt). Bevarar befintliga koder med en 30-dagars mål-redigeringskylare; inga nya koder, inga platser, ingen API. Migration 007, tre Stripe-produkter, webhook-väg för Decade-engångsbetalningen, plan-grindar över dashboard/koder/redigera. Återställde "Levereras Q3 2026"-bannern på /compare/ och /no-lock-in/.
- Ny sida på pro.qr.abundera.ai/roadmap/: vad som har levererats, Q3/Q4-åtaganden med kill-kriterier, explicit lista över saker vi inte bygger.
- Ny sida på pro.qr.abundera.ai/support/: per-nivå svarstidsmål, säkerhetsdisclosure-adress, omfång.
- Stripe webhook-fixar: idempotency-race (kunde svälja en återförsökt betalning), dedup via SELECT före hantering, INSERT vid framgång. Decade-betalningshanterare kastar vid saknad/okänd price_id eller felaktig nivå i stället för att tyst tappa.
DEFAULT_SEAT_LIMITodefinierad vid team-invite-acceptans. Signaturtolerans 60 s → 300 s.incomplete_expiredmappar tilltrialing(varexpired). - Dokumentation:
ABUNDERA_JWT_AUDIENCESdokumenterad som obligatorisk;PLAN_PRICE_MAP-schema idocs/INTEGRATIONS.md; tog bort de oanvändaABUNDERA_SERVICE_SECRET-referenserna. - Tester: 70 godkända. Lade till 8 för Keep-Alive-prediktorer och 30-dagars kylperiod.
2026-04-16, Pro-lansering, prisstege omarbetning, externa-granskning-uppföljningar
- Pro-portal live på pro.qr.abundera.ai.
- Prisstege (månadsvis / fakturerad-årsvis per månad): Solo 12 $/9 $, Business 39 $/29 $, Team 129 $/99 $, Agency 449 $/349 $, Enterprise 1 800 $/1 500 $. Årsvis är standardvalet på prisrutan.
- Explicita månadsskanntak (50K / 250K / 1M / 4M / 25M) ersätter "obegränsat". Att överskrida taket bryter inte omdirigeringar; vi mäter överskott till nivåns egen listpris (0,06–0,18 $ per 1K skanningar).
- Varje nivå har explicit kodantal (500 / 2 500 / 15K / 75K / 500K), ingen "obegränsat*" finstil.
- 13 betalningslandningssidor tillagda: Apple Wallet, Google Wallet, EPC Girocode, BLIK, Interac, MB WAY, GCash, Maya, Kakao Pay, Naver Pay, LINE Pay, iDEAL, Boleto. Typantal 91 → 104; sitemap nu 3 224 URL:er.
- Skanpreflight utökad från 4 generiska tillstånd till 8 jobb-specifika scenarier (menyklistermärke, fönsteraffisch, lanyard, hyllskylt, lagerlapp, utomhusskyltning, förpackning, visitkort). Betyg C/D/F visar en pre-download-modal.
- /compare/-prismatris uppdelad i sex kapacitetsmatchade grupper. Konkurrentposter tillagda för Bitly, Flowcode, Uniqode, QR Code Chimp, QRTIGER, var och en daterad och flaggad för månatlig återverifiering. Per-kod-månadskostnad visad på varje rad.
- Antalsdrift-kontroll i pre-deploy-skript: skannar alla genererade sidor under
site/efter hårdkodade typantal. 91/104-driften på /compare/ levererades eftersom den gamla kontrollen bara övervakade tre sidor. - Pro-sajt-ramning: "Gratis är för att behålla. Pro är för att ändra." bärs genom /no-lock-in/, /static-vs-dynamic/, och startsidans Pro-CTA.
- Stripe-produkter skapade via det idempotenta
stripe-setup.py-skriptet (Solo + Team uppgraderade till rev 2 för de nya beloppen).PLAN_PRICE_MAPhåller både gamla och nya pris-ID:n så befintliga abonnenter förblir mappade. - Annat: kompatibilitetsdetaljremsa ovanför generatorfält, startsida förtroenderemsa, färskhetsstämpel på varje sida, /accessibility/ skelettsida, /for/ branschpresetpaket (8), Wizard/QR Lab-upptäckbarhetsledtråd, antalsaudit (120 → 336 ikoner, 24 → 50 BCD-presetar), repo-språkskrubbning (repo är privat; "Open source generatorkod" → "Klientsidekod auditbar i din webbläsare"), OG-bild regenererad med en giltig iCalendar-händelse-QR.
2026-04-15, Enkel/Avancerad, /compare/, Spara-till-Pro
- Enkel / Avancerad-toggle på startsidan. Enkel kuraterar 8 vardagstyper (URL, WiFi, vCard, E-post, Telefon, SMS, Händelse, Text); Avancerat återställer hela 104. Läget är klibbigt i
localStorage; landningssidor för icke-Enkla-typer växlar automatiskt. - /compare/ konkurrentmatris levererad: funktion-för-funktion mot QR Code Generator, QRCode Monkey och Uniqode. Daterad, åtegranskad månatligen.
- "Spara till Pro"-knapp på den fria sajten: ett-kliks befordra en genererad kod till Pro-portalen. Tillstånd rundtursar via URL-hash; osignerade användare landar tillbaka på generatorn med sitt arbete bevarat.
- Kategoriflikrullningspilar på skrivbord; mjuk rullning på mobil.
- Historik-återställning växlar automatiskt till Avancerat när en sparad kods typ inte är tillgänglig i Enkel-läge.
- Pro-CTA-text mjukad upp; anti-gisslan-historian (statisk backup-QR, 90-dagars nådaperiod, domänportabilitet) dragen framåt.
2026-04-14, Pro-portal online, 3 nya typer, autofill-fix
- Pro-portal (
pro.qr.abundera.ai) online ände-till-ände. - Tre nya fri-sajt-typer: M-PESA Kenya (EMVCo MPM), Videomöte (Zoom/Meet/Teams/Webex-genvägar), Kupong/Kampanjkod.
- GS1 Digital Link-typen stöder nu alla 12 Sunrise-2027-mandaterade Application Identifiers.
- Nya SEO-sidor:
/static-vs-dynamic/,/no-lock-in/(kontraktsenligt: 90-dagars nåd, ett-kliks-export, 30-dagars GDPR-radering, statisk backup-QR). - Autofill-fix (sjätte försöket): per-typ-fältblock är riktiga
<form>-element med sina egnaautocomplete-tokens; inaktiva formulär fårdisplay: noneså Chrome inte flaggar de off-screen-inputs. vCard/Adress/Kontakt/WiFi-Enterprise vertikal gruppering fungerar nu i Chrome, Safari, Firefox. Playwright-rigg på 0 överträdelser. - Recensionstratt: plattformsdropdown (Google/Yelp/TripAdvisor) med per-plattform platshållartext.
- Wizard: 8 brutna resultatsluggreferenser fixade.
- Header/sidfot enade via delade partials; verktygssidor (Wizard, QR Lab, Test Vectors) flyttade till samma mallsystem.
- Pre-deploy-kontroll: intern länkvalidering + rå engelsk
showToast()-vakt. - BCD-fixar: vertikal layoutstabilitet, landningssida UI-regression, RFC-länketiketter, vattenmärkesartefakt.
- Genererad landningssidans HTML är inte längre git-spårad (fortfarande deployad; git spårar mallen och generatorn).
2026-04-13, 25-språksparitet, header/sidfotsdesign, Playwright-rigg
- 6 660 engelska-fallback-nycklar översatta över 25 språkfiler. Icke-engelska landningssidor faller inte längre tillbaka till engelska strängar. Översättningspipeline omstrukturerad till en validator/planerare.
- i18n utökad till verktygssidor: Wizard, QR Lab och Test Vectors har nu 25 språkvarianter, med hreflang-taggar och sitemap-poster.
- Playwright rundturs-rigg: genererar en kod för varje typ på varje språk, avkodar canvas, kontrollerar fält. 0 överträdelser.
- Header/sidfotsdesign: smal header, 3-kolumns sidfot som matchar sign.abundera.ai-mönstret. Mobil hamburgerlåda visar nu navigeringsobjekt när den öppnas (tidigare bruten).
- Klicka QR-förhandsgranskning → zooma lightbox. Etikett visar typnamn + första input (visade tidigare rå nyttolast).
- Första-pass autofill-fix (landade ordentligt 2026-04-14).
- Typsökning ytar avancerade typer; stänger vid val; tomma kategoriflikar dolda i Populärt-läge; historikåterställning växlar typ inline i stället för att omdirigera.
2026-04-12, 26-språksparitet, 13 nya nyttolasttyper, 3 icke-QR 2D-streckkoder
- Fullständig 26-språksparitet: varje engelsk nyckel finns i varje språkfil (1 302 nycklar × 25 språk). 5 533 poster tillagda över 4 omgångar (egennamn, korta etiketter, formulärfältetiketter, toasts, ledtrådar). De 30 varumärkesbetalnings-ledtrådarna förblir engelska enligt design, URL:er och varumärkesnamn är auktoritativa på engelska.
- Deduplicering: 113 inaktuella dubblettnyckelblock borttagna över 19 språkfiler (drift från tidigare rebaser).
- Infosidans headerfix: blogg/about/privacy/changelog använde
.brand/.header-inner/.brand-text-klasser utan CSS bifogad. Bytte till samma.logo-markup som huvudappen. - 4 standardbaserade URI-typer: HOTP (RFC 4226), eSIM (GSMA SGP.22 LPA), SIP/SIPS (RFC 3261), MMS/MMSTO.
- WPA2/WPA3-Enterprise WiFi: utökar
WIFI:-formatet med EAP-metod, fas-2-autentisering, identitet, anonym identitet. - 6 regionala betalningstyper: Alipay, WeChat Pay, Swish (SE), Vipps (NO), Mercado Pago (LatAm), Payconiq (Benelux).
- 3 icke-QR 2D-streckkoder: Data Matrix (ISO 16022), Aztec (ISO 24778), PDF417 (ISO 15438). bwip-js (~1 MB) lazy-laddad endast när en av dessa typer väljs.
- 26-språks showcase-sektion tillagd på startsidan med inhemska skriftlänkar.
- Pre-deploy auditskript:
BATCH_VALID_TYPES-synkkontroll + rå engelskshowToast()-vakt. - Sidfot, landningssidor och i18n-nycklar tillagda för alla 13 nya typer (engelsk källa).
2026-04-11, BCD foto-URL-hämtning, sticky förhandsgranskning, expanderbara presets
- BCD: foto-URL-fältet hämtar nu och inlinear fjärrbilder som data-URL:er så exportcanvasen inte förorenas av cross-origin-laddningar (PDF/PNG-export fungerar nu på värdar utan CORS).
- BCD-skrivbordslayout: förhandsgranskningsruta är nu
position: sticky, så när en användare expanderar varje sektion rullar kontrollerna fritt utan att förlora synlighet på live-förhandsgranskning. (Tidigare skulle expandering av Innehåll + Layout + Alternativ trycka Visa-fält off-screen.) - BCD-presetrutnätet är nu expanderbart, visar 12 layouter initialt med en "Visa alla layouter"-toggle, speglar ikonväljarens UX.
- Tagline + QR-bildtext-inputs omdesignade: staplad etikett + full-bredd input (var trångt 150px sidocar).
- Skanbarhetsbricka höjd från
bottom: -24pxtill-18pxså den slutar täcka kopieringsknappen. - Batch-CSV-instruktioner nämner nu Google Sheets, Excel, Numbers explicit.
2026-04-08, Vertikalbranschspecifikt ikonbibliotek
- 24 nya centerlogo-ikoner (96 → 120) som riktar sig mot sjukvård, mat & dryck, teknik, finansvertikaler.
- 10 nya BCD-layoutpresetar (40 → 50): Concrete, Honey, Indigo, Luxe, Midnight II, Ocean II, Slate, Verdant, Wine, Candy.
- Cache-buster-strategibugfix:
?v=-paramar påpage-init.js+lang-redirect.jssaknades på landningssidor, vilket orsakade inaktuella modulladdningar efter deploys. Fixad.
2026-04-04, BCD gradientbakgrunder + kortbaksida + 12 nya presetar
- BCD: 12 nya presetar (Dark Mode, Pastel, Ocean, Cherry, Slate, Emerald, Amber, Mono, Rose, Midnight, Sand, Carbon). 36 presetar totalt.
- Användarstyrda gradientbakgrunder med andra färgväljare.
- Kortbaksides-rendering med företag + tagline + CTA-text.
- Sociala ikoner-rad (LinkedIn / X / Instagram).
- Adressblockrendering från vCard-fält.
- Visuella preset-thumbnails, varje presetknapp renderar nu en mini canvas i stället för en platshållare.
2026-03-29, BCD-omarbetning + 600 DPI-export
- Business Card Designer hopfällbara dragspelssektioner, sticky mobil förhandsgranskning, sticky exportsidfot.
- Hex-färginmatningar med dubbelriktad färgväljarsync, färgpalettfärgrutor.
- 4 fotoformer (cirkel, kvadrat, rundad, hexagon).
- Höjde exportupplösning till 600 DPI för skarpa utskrifter.
- Kebabmeny: Exportera mall, Importera mall, Förvåna mig, Dela kort, Skriv ut ark (10× US Letter + A4).
- Fotobeskärning tvingad kvadratisk. Mindata-vakt innan designern öppnas.
- BCD-presetar utökade: 8 nya visuellt distinkta (Neon, Art Deco, Sunset, Forest, Brutalist, Kraft, Nordic, Retro 80s). 24 presetar totalt.
2026-03-22, 20 nya QR-typer + Link-in-Bio + konkurrentjämförelser
- 20 nya QR-typer (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 renderar hela bio-sidan från QR:s URL-hash, inget backend, inget konto, ingen spårning.
- /embed/ iframe-widget (postMessage API för förälderintegration).
- /vs/ konkurrentjämförelsesidor (26-språksvarianter).
- @abundera/qr npm-paket + CLI med 25 typkodare.
2026-03-15, 96 centerlogo-ikoner + 5 nya språk
- 96 centerlogo-ikoner (12 → 96): krypto, kommunikation, media, verktyg, handel, transport, natur, mat, människor, evenemang, 12 emoji-ansikten, 18 sociala nätverksglyfer (X, Facebook, Instagram, LinkedIn, TikTok, YouTube, Pinterest, Reddit, Snapchat, Discord, Telegram, GitHub, Threads, Bluesky, Mastodon, Twitch, Signal, Medium). Expanderbar via <details>-toggle.
- 5 nya språk (21 → 26): svenska, tjeckiska, danska, norska, finska. 1 106 nycklar var med inhemska översättningar.
- EPS-export (inbäddat JPEG Level 2 PostScript, ASCII85-kodat) för tryckeriarbetsflöden (Illustrator, InDesign, CorelDRAW).
- Animerad GIF-export (gif.js, 8-bilders regnbåge).
- BCD SVG-export, BCD JPG-export.
2026-03-08, Plattformsaudit + tillgänglighetsgenomgång
Bug-bash-sprint: 3 KRITISKA + 7 HÖGA + 10 MEDELSVÅRA problem fixade.
- CSP inline-skriptöverträdelse på alla 55 landningssidor, flyttad till
data-qr-preselectbody-attribut. - Service worker stale-cache-bug, query-strippade nycklar → full-URL + stale-while-revalidate.
- Formulärtyp-desync vid klick på BCD-pill på icke-vCard-landningssida.
- Bakgrundsbildssynlighet (opacitetsskjutreglage, moduler vid 90 % alfa, beskärningsmodalrouting).
- Beskärningsmodal mobilöverflöde.
- Hjul-zoom hijackade musrullning (helt borttagen).
- Avatar IP-läcka mildrad (referrerpolicy + no-referrer-header).
- WiFi batch öppet-nätverk-fix, MeCard batch-fältparitet, TOTP base32-validering.
- WCAG 2.5.8 tryckmål (44×44 min på grov pekare).
- aria-hidden-genomgång på 87 dekorativa SVG:er.
- prefers-reduced-motion respekt.
- Toast aria-live, focus-visible-ring, beskärningstangentbordsnavigering, spillmeny Hem/Slut-tangenter.
- Font preload-optimering.
2026-03-01, 15 standardbaserade typer + skanbarhetsvalidator
- 15 nya QR-typer: TOTP/2FA, Schweizisk QR-räkning (med obligatorisk röd schweizerkors-överlagring), PIX (Brasilien), PromptPay (Thailand), EMVCo generisk handlare, Lightning BOLT11, SSH publik nyckel, OpenPGP publik nyckel, WireGuard-konfig, GS1 Digital Link, Spotify, Fediverse (Mastodon/Bluesky/Nostr/Matrix/Threads), Geo URI, Magnet, fullständig iCalendar.
- Skanbarhetsvalidator, kör jsQR över renderad canvas och varnar vid avkodningsfel.
- Utskrivbar URL-fallback, toggle lägger till mål-URL som klartext under QR.
- jsQR lazy-laddad (sparar 262 KB ivrig nyttolast).
2026-02-22, Flerstopps gradienteditor + per-öga-färger
- Flerstopps gradienteditor (upp till 5 färger).
- Per-öga oberoende inre/yttre färg.
- Bakgrundsbild QR-läge (opacitetsskjutreglage, EC=H tvingad automatiskt).
- Nyp-zoom på förhandsgransknings-canvas.
- Web Share API för QR-koder och visitkort.
- WebP-exportformat.
- Ångra/gör om (Ctrl/Cmd-Z, 50-stegs buffer).
- Slumpmall-knapp ("Förvåna mig").
2026-02-15, Sekretess- och säkerhetssidor + i18n-härdning
- 4 nya förtroendesidor: /privacy/, /terms/, /security/, /about/, på alla 21 språk.
- /.well-known/security.txt publicerad.
- 29 hårdkodade engelska strängar ersatta med
qrT()-anrop; ~100 nya i18n-nycklar översatta till alla 21 språk. - Inline-skript externaliserade, CSP härdad (unsafe-inline borttagen).
2026-02-08, Modal a11y + fokushantering
- Fokusfälla på alla 3 modaler (beskärning, BCD, anpassade dialoger).
- Tangentbordsnavigeringspolering över BCD-spillmenyn, språkväljaren och typväljaren.
- Kritiska buggfixar: SVG-ramkanter renderades en pixel fel, XSS-sårbarhet i batch-zoom-förhandsgranskning,
btoa()Latin1-fel vid presetlogo-klick.
2026-02-01, Första lansering
- Lanserade Abundera QR med 20 QR-typer, 40 mallar, batch CSV-generering (500 koder), Business Card Designer (300 DPI), 20 språk, 420 statiska landningssidor.
- Integritet-först-hållning: 100 % klientsidan, inga konton, ingen spårning, inga dynamiska omdirigeringskoder.