Ændringslog
Hver udgivelse, hver funktion, hver rettelse, i én rulbar log.
2026-04-26, Fuld ISO/AIM/GS1-renderingsoverholdelse for alle kodetyper
- Auditerede alle QR / 2D / 1D-stregkoder mod deres styrende standard. bwip-js's
includetexthar standard false for hvert bcid, så EAN/UPC/ITF-14 blev leveret uden den menneskelig-læsbare tekststrimmel, som ISO 15420 §5.1.2 + GS1 §5.4.4 kræver. Satteincludetext: true+guardwhitespace: truefor hele EAN/UPC-familien, plusincludetext: truefor ITF-14, Code 128, Code 39, Code 93, Codabar, VIN. - EAN-13 stille zoner nu asymmetriske jf. ISO 15420 Bilag A (
paddingleft: 44= 11 moduler,paddingright: 28= 7 moduler ved scale=4). EAN-8 / UPC-A / UPC-E bruger de symmetriske konvolutter, som deres specifikationer angiver. PDF417 + AAMVA kørekort får 2-modul stille zoner jf. ISO 15438 §5.5; Data Matrix får 1 modul jf. ISO 16022; Aztec får 1 modul anbefalet (nul tilladt af ISO 24778, men ødelægger kantberørings-scannere). - QR
QUIET_ZONE_MODULEShævet fra 2 → 4, den fulde ISO/IEC 18004 §6.3.7-specifikation. 2-modul-genvejen var et branchebaseret kompromis, der fejler GS1 Digital Link-præfiksgenkendelse på visse industrielle laserscannere. Micro QR + rMQR leveres nu med en 2-modul stille zone (qreanudsender det bare gitter, så vi tilføjer det manuelt irenderMicroQRResult). - ECC-niveauer låst: Aztec ved 23% (ISO 24778-standard), PDF417 ved niveau 5 (GS1-minimum for transport og logistik). Låsning mod fremtidig bwip-js-drift.
- Ny autoritetsside: /standards/barcode-rendering/. Reference pr. symbologi, der dækker stille zoner, HRI, ECC og kontrolcifre for alle 17 typer, med primærkildehenvisninger til alle citerede ISO/AIM/GS1-standarder.
2026-04-26, Strammet staging-first deploy-gate
- Produktions-deploys for sites med staging kræver nu, at det seneste staging-deploy er for den præcise aktuelle commit (rent working tree på begge sider). Det tidligere gates 24-timers tidsvindue lod urelaterede produktions-deploys ride på forældet staging-historik. SHA-sporet, fejl-lukket, override forbliver
CF_DEPLOY_SKIP_STAGING_FIRST=1. cf-deploy.pypreflight-tjek forCLOUDFLARE_API_TOKEN, fejler hurtigt med etsource ~/.envrc-hint i stedet for at lade wrangler udsende sin kryptiske "non-interactive environment"-fejl.- Post-deploy indholdsverifikator ved hvert deploy: henter den live URL og bekræfter, at dens cache-buster matcher det, der netop er stemplet ind i
dist/. Fanger den "forkert CNAME" / "edge serverer forældet" / "forkert branch"-fejlklasse, som 200-OK sundhedstjekket lydløst ville gå glip af.
2026-04-25, Mobil UX-revision: peek-preview-header, bottom-sheet-forhåndsvisning, fast download-CTA
- Fast peek-preview-header øverst på siden på telefoner (≤768px). Viser altid en live miniature af QR-koden plus en enkeltlinjestatus, "Udfyld formularen nedenfor" i tomgang, "Din QR er klar · Tryk for at downloade" når en kode er renderet. Pulserer én gang, når QR-koden første gang bliver gyldig, så brugerne bemærker den. Løser det langvarige problem, hvor mobilbesøgende ikke indså, at resultatet var renderet under folden.
- Tryk på peek-bjælken (eller den nye faste Download-knap nederst) åbner forhåndsvisningen som et bottom sheet, fuldbredde download-knapper stablet lodret, stryg ned eller tryk på baggrunden for at lukke, safe-area-udfyldning til iOS-hjemmeindikatoren.
- Soft-keyboard-håndtering: visualViewport-lytter markerer
body.kb-open, når tastaturet stiger, peek-bjælken kollapser til en slank pille, og fokuserede inputs ruller ind i visningen, så tastaturet aldrig skjuler det, brugeren skriver. - Tap-target-gennemgang ved ≤640px: type-vælger-fliser hævet fra 14×8 / 0.78rem til 16×10 / 0.82rem og 56px min-højde, panel-tabs og primære knapper gulvet ved 44px, eksport-knapper stablede fuldbredde med et 48px-gulv inde i arket.
- Viewport-meta får
interactive-widget=resizes-contentog de to100vh-regler migreret til100dvhfor forudsigeligt layout i mobilbrowsere med dynamiske værktøjslinjer. - Gammel scroll-til-preview-FAB fjernet, peek-bjælken plus fast CTA dækker samme opgave mere direkte. Service-worker-cache hævet til v132. Nye strenge oversat til alle 25 sprog.
- CSS-hygiejne: 203 enkeltværdi-space-deklarationer i
style.cssmigreret til--space-N-tokens via codemod. Ren refaktor, ingen visuel ændring. - Inline-style-loft 89 → 85: fire
style="text-transform:uppercase"-attributter på AAMVA / Code 39 / Code 93 / VIN-inputs erstattet med den eksisterende.input-uppercase-klasse.
2026-04-19, N16-overholdelses-sweep (45 sider), N3 batch 2, regressionsrettelser, N3-hale, AAMVA-fremlæggelse, Expert-tilstandspersistens, a11y-audit
- Fuld N16-overholdelses-sweep: alle 34 betalingsordnings-landingssider bærer nu overholdelses-tjekliste + "hvornår dette ikke skal bruges"-blokke. Fjerde gennemgang (19 sider) dækker resten: Alipay + WeChat Pay (PBoC + SAFE), Boleto (BACEN + FEBRABAN), Mercado Pago (syvlandsreguleringsmatrix), Payconiq (NBB + PSD2), EPC/Girocode (EPC069-12 + ZAG), Apple Wallet + Google Wallet (udviklerprogrammet + FTC Endorsement + GDPR-placering), Kakao Pay + Naver Pay + LINE Pay (koreansk FSC + japansk 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). Kombineret med de tre tidligere gennemgange (AAMVA / Anmeldelsessider / Kupon / 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), det er 45 overholdelses-blokerede landingssider, alle betalingsordninger på sitet har nu lokale regulatorreferencer, handelsklassificeringsregler, skat- / fakturaskyldighederne, forbrugerbeskyttelsesramme og en "ingen investeringsopfordring"-skærm, der peger på den rette værdipapirregulator. Første del-batch (7): Venmo (AUP / F&F-misbrug / 1099-K / Early Warning-rapportering), Cash App (Cash for Business / Bitcoin & Investing regulerede flader / Regulation E / CFPB-svindelflag), Swiss QR-bill (SIX v2.3 / QR-IBAN-regler / MWSTG / 10-årig OR Art. 958f-opbevaring), PIX (BACEN Resolution 103/2021 / PJ vs PF / MED-refusionsvindue / klistermærke-overlay-svindel / CVM-investeringsflag), PromptPay (BOT-regler / THB 1,8M moms-tærskel / AMLO-rapportering / grænseoverskridende FX-fremlæggelse), EMVCo (ISO 18245 MCC / acquirer-KYC / national FIU ved AID-mismatch), TWINT (FINMA/AMLA / MROS / KIG-forbrugerbeskyttelse). Anden del-batch (8): Bizum (Bizum Negocios / SEPBLAC / factura / CNMV), PayNow (MAS Payment Services Act / STRO-rapportering / SGQR / PDPA), iDEAL (licenseret acquirer / DNB / PSD2 13-måneders tvist / CBF-velgørenhed / ACM-håndhævelse), BLIK (Polski Standard Płatności / KNF / GIIF-rapportering / faktura VAT / RODO), Interac (Interac for Business / FINTRAC / PIPEDA / Quebec Bill 96 / CAFC-svindel), 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). Slutter sig til de tidligere overholdelses-blokke på AAMVA, Google/Yelp/TripAdvisor-anmeldelse, Kupon, Review Funnel, App Store, PayPal, Crypto, UPI, SEPA. Samlet dækning nu: 26 landingssider.
- Fem nye standards-autoritetssider (N3 batch 2), AAMVA-kørekort, eSIM-aktivering (LPA), EMVCo merchant-QR, Micro QR / rMQR, ZATCA e-faktura. Hub har nu 8 live referencesider, der dækker kernestandarderne.
- To regressioner rettet: (1) hjemmesiden auto-scrollede ned ved indlæsning, fordi
showCategory()-init kaldtescrollIntoView({block:"nearest"})på kategorichip'en, erstattet med manuel vandretscrollLeft, så siderulning aldrig berøres. (2) Type-søgning efter "paym" returnerede nul resultater, fordi filteret kun tjekkede label + data-type-delstrenge, DRY-rettelse genbruger nu de samme CAT_SEARCH + TYPE_SEARCH-synonymtabeller, som kommandopaletten bruger. - N3-hale: ny /standards/non-qr-2d/ kombineret referenceside for Aztec (ISO/IEC 24778) + PDF417 (ISO/IEC 15438) + Data Matrix (ISO/IEC 16022). Side-om-side sammenligningtstabel, native-scanner-supportmatrix på tværs af iOS Camera / Android / Google Lens / industrielle imagere / lufthavnsgates / DMV-læsere / pharma DPM-læsere, vælg-den-rigtige-guide (Aztec til boardingkort, PDF417 til lange ASCII flat-paper, Data Matrix til DPM / pharma, QR til forbrugertelefonkameraer). Standards-hub har nu alle 9 sider live, 0 udkast.
- AAMVA-formular progressiv afsløring (N19.3-opfølgning): 25-input-formular opdelt i Påkrævet (jurisdiktion / licens / doctype / efternavn / fornavn / fødselsdato), Anbefalet kollapset-åben (mellemnavn + gade + by/stat/postnr + udstedt/udløbsdatoer), Expert-tuning kollapset (køn/øje/højde + klasse/begrænsninger/tilladelser). Matcher mønstret brugt på TOTP, HOTP, Aztec, PDF417, Swiss QR, EMVCo, GS1, SEPA.
- Expert-tuning-tilstand vedvarer på tværs af besøg (N19.3-opfølgning): når du åbner Expert-sektionen på en formular, gemmes den åbne tilstand til
localStorage.qrExpertSectionsOpennøglet af type. Næste gang du vælger den type, er Expert allerede åben. Delegerettoggle-lytter på.field-section[data-level="expert"], ingen ledningsføring pr. formular. - Intern tilgængelighedsaudit (N8): manuel WCAG 2.2 AA-gennemgang mod hjemmesiden, /print-size/, den nye /standards/-hub + 9 autoritetssider og de 45 betalingsordnings-landingssider. Verificeret bestående på spring-link-mål, focus-visible, formular-labels, knap-navne, ARIA-roller, kontrast AAA primær / AA+ dæmpet. Rettede et overskriftsniveau-spring (tre
<h4>-underoverskrifter inde i vCard/MECARD extra-fields fremmet til<h3>for en ren oversigt). Fulde fund offentliggjort på /accessibility/. - Offentlig korpus-ZIP (N2-opfølgning): /proof/corpus.zip, bundlede fixtures JSON + CSV + metodologi + README, ~4 KB, genopbygges ved hvert deploy. Scanner-flåder kan nu downloade hele korpusset i én fil i stedet for at klone repoet. Linket fra /proof/corpus/ med en fremtrædende Download-knap.
- Scanner-flåde-attesteringslog (N2-opfølgning): ny docs/SCANNER_ATTESTATION.md, dateret per-række-log over manuelle enheds-/OS-/app-verifikationer. Seedet med 10 rækker, der dækker iPhone 15 Pro på iOS 18.3, Pixel 8 på Android 14, Zebra DS8100, Google Authenticator, 1Password. Vokser med hver enhed vi verificerer.
- Forhåndsvisnings-realisme i generator (N19.6): kompakt 4-chip-toggle under live QR-forhåndsvisning, Standard / Telefon / Mono / Lav kontrast. Anvender CSS-filtre på forhåndsvisningen (skalering for Telefon, gråtoner for Mono, reduceret kontrast for Lav kontrast), så designere ser, hvordan QR-koden opfører sig på forskellige underlag uden at forlade generatoren. Nul effekt på den kodede payload, downloads eller udklipsholderkopi.
- Flere semantiske validatorer (N19.4-udvidelse): HOTP-secret Base32 + tæller ikke-negativ-heltals-tjek; eSIM SM-DP+ skal være et bart FQDN (ingen https://, almindelig telefon-provisionerings-bryder); eSIM Matching ID afviser
$-tegn (kolliderer med LPA-feltseparator). - Progressiv afsløring udvidet til UPI og Crypto (N19.3-udvidelse): UPI-beløb + note grupperet som Anbefalet; krypto-beløb + label grupperet som Anbefalet. SIP, MMS, PromptPay og Lightning gennemgået og efterladt flade, for få felter til at have gavn af afsløring.
- Kvalitets-audit-sweep på tværs af SEO, performance, sikkerhed, link-integritet og kodekvalitet (i18n-gennemgang udskudt). Service worker
cache.put-skrivninger kører nu inde ievent.waitUntil, så de ikke kan droppes midt i navigation; cache hævet til v121. Visitkort-print-dialog skiftet fradocument.writetil enBlob-URL. Del- og kort-download-klik-handlere pakket ind i try/catch, så afvisninger dukker op som toasts i stedet for tavse fejl. Magic-number-timings (design-kort-hash auto-åbn, GIF-frame-rendering, dual PNG-download-gap, print-blob-revoke) udtrukket til navngivne konstanter. Latent CSS-fejl rettet:.card-text-row-input-selektorer matchede kun[type="text"], men HTML-minifier stripper standardtype="text"-attributten, tilføjetinput:not([type]), så BCD-tagline + caption-inputs beholder deres styling i produktion. To overflødige!important-deklarationer fjernet; støjende i18nconsole.warndæmpet. CLAUDE.md opdateret, sprogssider er pre-renderet tilsite/{lang}/, ikke serveret via_redirects-omskrivninger.
2026-04-18, Autoritetsskub: /standards/-hub + 3 standardsider, /proof/corpus/, Reviewer #6-afslutning, N19.1 workflow-first Advanced
- Simple-tilstand får et diskret "96 flere typer i Advanced"-hint under 8-flise-gitteret. Klik på linket slår tilstandstoggle'en, så brugerne ikke ruller tilbage op. Simple forbliver på 8 fliser; Advanced forbliver opdagelsesvejen for den lange hale.
- Pro CTA-punktliste omskrevet til at afspejle, hvad der faktisk er leveret: password-gatede koder, planlagt aktivering og udløb, heatmap/vejr/ROI/kohorte-analyser, offentlige delbare statistiksider, kodegrupper til store porteføljer, webhooks + REST API, multi-team og revisionslog, SSO (SAML/OIDC) + SCIM-provisionering. Gamle generiske "Scan-analyser / API-workflows / Teams"-punkter er væk.
- "Gem til Pro"-hint under generatoren nævner nu password-gating, planlagt aktivering, heatmap- og ROI-analyser og offentlige statistiksider i stedet for blot "scan-analyser".
- Progressiv afsløring på feltintensive avancerede generatorer (N19.3): TOTP, HOTP, Aztec, PDF417, Swiss QR og EMVCo kollapser deres ekspertknapper (algoritme/cifre/periode, EC-niveau, kolonner/kompakt, besked, MCC/AID) under en Expert-tuning-sektion. GS1 Digital Link grupperer AI 17/10/21 som Anbefalet; SEPA adskiller reference (Anbefalet) fra BIC (Expert-tuning). Kollapsede Expert-resumeer viser et "expert"-mærke, så superbrugere opdager de ekstra knapper uden at klikke.
- Gemte profiler (N19.8): navngiv og gem enhver avanceret generators aktuelle feltværdier til localStorage, list dem i panelet Gemte profiler over kompatibilitetslegenden og indlæs dem med ét klik eller via kommandopaletten (Cmd/Ctrl+K). Lagring er kun klient-side; intet forlader browseren.
- Print-produktions-autoritet (N15): /print-size/ bærer nu en underlagsguide (8 underlag × størrelsesstraf × ECC), CMYK-sikre paletteregler med katalogniveau CMYK/RGB-only-annotationer, udendørs/skiltnings-regler (UV-fading, koldtvejrs-kameraopførsel, skrå scanvinkler), en 4-tjeks printbar QA-protokol og letforståelige preflight-karakterdefinitioner ("D = vil svigte på blank skiltning under 3 m").
- Overholdelses-fencing (N16): nye "Overholdelses-tjekliste" + "Hvornår dette ikke skal bruges"-blokke på fem reviewer-flagede landingssider, App Store (Apple 5.2 / Play-politik / TestFlight-distribution), PayPal (AUP / F&F-misbrug / 1099-K / MSB-klassifikation), Bitcoin & Crypto (FATF Travel Rule / FinCEN/FCA-registrering / Howey-test-eksponering / OFAC), UPI (NPCI-cirkulære / GST / anti-svindel-overlay-svindel / SEBI om investerings-QR-koder), SEPA (EPC069-12-konformans / PSD2-returrettigheder / ingen-tilbagevendende-mandat-advarsel). Slutter sig til de eksisterende overholdelses-blokke på AAMVA, Google / Yelp / TripAdvisor-anmeldelse, Kupon, Review Funnel.
- Seneste typer i kommandopaletten (N19.7): de seneste 8 typer du valgte vises først, når Cmd/Ctrl+K åbner med en tom forespørgsel; med en delvis forespørgsel får seneste typer en lille rangbonus, så "tot" pålideligt hopper til dit mest brugte OTP-flow. Markeret med en "Seneste"-kategorichip, så boostet er synligt, ikke magisk. Sporet kun i localStorage.
- Simple-tilstands-polering (N6): Simple skjuler nu også panelet Gemte profiler (ikke et begynderkoncept) og Batch-fanen. Allerede skjulte elementer uændret (type-søgning, branchepresets, kompatibilitetslegende, kategori-faner, kompat-chips).
- Fire-søjlet tillids-strimmel (N7): top-af-siden-kravsstrimlen kollapset fra 5 elementer til 4, der hver eksplicit bærer sin søjle-label, "Faktisk gratis, ingen tilmelding, ingen betalingsmure", "Privatlivs-første, 0 udgående anmodninger, verificer live", "Produktionssikker, kompatibilitetstestet april 2026", "Ingen lock-in, statisk backup-QR, eksporter når som helst". Sammenligning-opdateret-linket droppet fra strimlen (det er et troværdighedssignal, ikke en søjle), men lever stadig i nav + sidefod.
- Beslutningsomme "Brug dette hvis / Brug ikke dette"-callouts (N19.11) øverst på feltintensive avancerede formularer, Data Matrix, Aztec, PDF417, TOTP, HOTP, eSIM, GS1. Orange-accentuerede, to klausuler, inden noget felt-input. Erstatter mønstret, hvor forklarende prosa sad i bunden, og brugerne kun læste det, efter de var færdige med at skrive.
- Kapacitetsbanner (N19.9) på Style-panelet for ikke-QR-symbologier, eksplicit chip + titel ("Ingen styling, kun ren stregkode") + beskrivelse, erstatter det gamle enkeltafsnits-hint med noget overskueligt.
- Semantisk validering (N19.4): TOTP Base32-secret-validator, Swiss QR IBAN CH/LI-præfiks + 21-tegns-længdetjek, SEPA IBAN mod-97-checksum (fanger fejlskrevne cifre) og en kryds-felt WiFi Enterprise-advarsel, når EAP er valgt, men identitet er tom. Inline, ikke-blokerende, genbruger det eksisterende VALIDATION_RULES-register.
- QR Lab nu ét klik fra Download (N5), en stiplet-kant-chip ("Test inden du printer i QR Lab →") sidder inline med download-knapperne, så verifikation er synlig ved eksportpunktet.
- Advanced åbner opgave-først (N19.1): kategoristrimlen er nu organiseret efter hvad du laver i stedet for hvilken symbologi det er. Ni workflow-spande, Hverdagsdeling, Events & steder, Medier & filer, Marketing & anmeldelser, WiFi & telekom, Betalinger & bank, Detail & GS1, Boarding & ID, Auth & dev, erstatter den gamle symbologi-taksonomi (Hverdag / Forretning / Betalinger / Identitet / Sikkerhed / Industriel / Avancerede standarder). Alle 105 type-knapper remappet; sidefod-type-gitter omgrupperet til at matche.
- Autoritetsskub (N3): ny /standards/-hub med otte fulde referencesider, GS1 Digital Link (Sunrise 2027, live GTIN-kontrolcifre-validator), TOTP & HOTP (RFC 6238 / 4226, live Base32-entropi-validator, autentificator-kompatibilitet), Swiss QR-bill (SIX IG v2.3, live CH/LI IBAN-validator med QR-IBAN-detektion), AAMVA kørekort (CDS v10, element-kode-tabel, IIN-tabel, lovlig-brug-indramning), eSIM-aktivering (LPA) (GSMA SGP.22, iOS 17.4+ / Android 13+-kompatibilitet), EMVCo merchant-QR (MPM / CPM-struktur, regionale derivater PIX/UPI/PromptPay/SGQR/DuitNow, MCC-tabel), Micro QR & rMQR (ISO/IEC 18004 bilag M + ISO/IEC 23941, kapacitetsdiagrammer, specialist-scanner-kompatibilitet) og ZATCA e-faktura (Saudi FATOORA, TLV-tags 01–09, fase 1 vs fase 2). Hver side: spec-link + kanoniske test-vektorer + live validator, hvor relevant + faldgruber + scanner-kompatibilitet + dateret næste-gennemgang. Første skridt mod encyklopædi-grad autoritets-mål.
- Offentlig test-korpus-skelet (N2): ny /proof/corpus/-side, der dokumenterer den metodologi, som enhver kan bruge til at auditere scanner-kompatibilitetspåstande, download fixtures, regenerer QR-koder, scan med din egen flåde, rapporter uoverensstemmelser. Kurateret 18-rækkers forventet-scan-resultat-tabel på tværs af iOS Camera, Android Camera og professionelle scannere. Links /test-vectors/ (developer-JSON'en) og /standards/ som autoritetslaget over.
- Tidligere Reviewer #6-elementer leveret den dag i tidligere commits: jobs-først flise-gitter (N14), "Det mest betroede QR-værktøj på internettet"-brandssætning (N17), kommandopalet (N19.2), ekspertpresets (N19.5), payload-inspektor (N19.10), kanonisk <title>-format-sweep (N20).
- Oversættelses-backlog: N14- og N17-kopi er på 25 sprog; alt andet fra dagens Reviewer #6-afslutning (N19.3 / N19.4 / N19.7 / N19.8 / N19.9 / N19.11 / N5 / N6 / N7 / N15 / N16 / Pro SSO/SCIM) er kun på engelsk for nu og falder tilbage til engelsk i andre sprog, til næste oversættelsesgennemgang.
2026-04-17, Keep-Alive live, Pro-roadmap + supportsider, webhook-audit-rettelser
- Keep-Alive-tier live på Pro: $4/md, $36/år eller $240 Decade (10-årig forudbetaling, $2/md effektivt). Bevarer eksisterende koder med 30-dages destinations-redigerings-cooldown; ingen nye koder, ingen pladser, intet API. Migration 007, tre Stripe-produkter, webhook-sti for engangs-Decade-betalingen, plan-gates på tværs af dashboard/koder/rediger. Tilbagerullede "Leveres Q3 2026"-bannere på /compare/ og /no-lock-in/.
- Ny side på pro.qr.abundera.ai/roadmap/: hvad der er leveret, Q3/Q4-forpligtelser med kill-kriterier, eksplicit liste over ting vi ikke bygger.
- Ny side på pro.qr.abundera.ai/support/: pr-tier-responstidsmål, sikkerhedsafsløringsadresse, scope.
- Stripe-webhook-rettelser: idempotens-race (kunne sluge en gen-prøvet betaling), dedup via SELECT inden håndtering, INSERT ved succes. Decade-betalingshandler kaster ved manglende/ukendt price_id eller mismatched tier i stedet for lydløst at droppe.
DEFAULT_SEAT_LIMITundef i team-invite-accept. Signaturtolerancen 60s → 300s.incomplete_expiredmapper tiltrialing(varexpired). - Docs:
ABUNDERA_JWT_AUDIENCESdokumenteret som påkrævet;PLAN_PRICE_MAP-schema idocs/INTEGRATIONS.md; fjernede de ubrugteABUNDERA_SERVICE_SECRET-referencer. - Tests: 70 bestået. Tilføjede 8 til Keep-Alive-prædikater og 30-dages-cooldown.
2026-04-16, Pro-lancering, pris-stige-revision, ekstern-review-opfølgninger
- Pro-portal live på pro.qr.abundera.ai.
- Prisstige (månedlig / faktureret-årligt pr. måned): Solo $12/$9, Business $39/$29, Team $129/$99, Agency $449/$349, Enterprise $1.800/$1.500. Årlig er standardvalget på prisgitteret.
- Eksplicitte månedlige scan-lofter (50K / 250K / 1M / 4M / 25M) erstatter "ubegrænset". Overskridelse af loftet bryder ikke omdirigeringer; vi måler overforbrug til tierens egen listepris ($0,06–$0,18 pr. 1K scanninger).
- Hvert tier har et eksplicit antal koder (500 / 2.500 / 15K / 75K / 500K), ingen "ubegrænset*"-finprint.
- 13 betalings-landingssider tilføjet: Apple Wallet, Google Wallet, EPC Girocode, BLIK, Interac, MB WAY, GCash, Maya, Kakao Pay, Naver Pay, LINE Pay, iDEAL, Boleto. Type-antal 91 → 104; sitemap nu 3.224 URL'er.
- Scan-preflight udvidet fra 4 generiske betingelser til 8 job-specifikke scenarier (menusticker, vinduesplakat, lanyard, hylde-tag, lager-label, udendørs skiltning, emballage, visitkort). Karakter C/D/F viser en pre-download-modal.
- /compare/-prismatrix opdelt i seks kapacitets-matchede grupper. Konkurrenter tilføjet for Bitly, Flowcode, Uniqode, QR Code Chimp, QRTIGER, hver dateret og markeret til månedlig gen-verificering. Pr-kode månedlige omkostninger vist på hver række.
- Antal-drift-tjek i pre-deploy-script: scanner alle genererede sider under
site/for hardkodede type-antal. 91/104-driften på /compare/ slap igennem, fordi det gamle tjek kun overvågede tre sider. - Pro-site-indramning: "Gratis er til at beholde. Pro er til at ændre." ført igennem /no-lock-in/, /static-vs-dynamic/ og hjemmesidens Pro-CTA.
- Stripe-produkter oprettet via det idempotente
stripe-setup.py-script (Solo + Team hævet til rev 2 for de nye beløb).PLAN_PRICE_MAPholder både gamle og nye price-ID'er, så eksisterende abonnenter forbliver mappet. - Andet: kompat-detalje-strimmel over generatorfelter, hjemmeside-tillids-strimmel, friskhedsstempel på hver side, /accessibility/-skelet-side, /for/-branche-preset-pakker (8), Wizard/QR Lab-opdagelses-hint, antal-audit (120 → 336 ikoner, 24 → 50 BCD-presets), repo-sprogskrub (repo er privat; "Open source generator-kode" → "Klient-side-kode, der kan auditeres i din browser"), OG-billede regenereret med en gyldig iCalendar-event-QR.
2026-04-15, Simple/Advanced, /compare/, Gem-til-Pro
- Simple / Advanced-toggle på hjemmesiden. Simple kurerer 8 hverdagstyper (URL, WiFi, vCard, Email, Telefon, SMS, Event, Tekst); Advanced gendanner de fulde 104. Tilstand er klæbrig i
localStorage; landingssider for ikke-Simple-typer auto-skifter. - /compare/-konkurrentmatrix leveret: funktion-for-funktion mod QR Code Generator, QRCode Monkey og Uniqode. Dateret, gen-gennemgået månedligt.
- "Gem til Pro"-knap på det gratis site: ét-klik-promovering af en genereret kode til Pro-portalen. Tilstand rundt-tripper via URL-hash; usignerede brugere lander tilbage på generatoren med deres arbejde bevaret.
- Kategori-tab-rullepile på desktop; smooth-scroll på mobil.
- Historik-gendannelse auto-skifter til Advanced, når en gemt kodes type ikke er tilgængelig i Simple-tilstand.
- Pro CTA-kopi blødgjort; anti-gidsel-historie (statisk backup-QR, 90-dages nåde, domæne-portabilitet) trukket frem.
2026-04-14, Pro-portal online, 3 nye typer, autofill-rettelse
- Pro-portal (
pro.qr.abundera.ai) online ende-til-ende. - Tre nye gratis-site-typer: M-PESA Kenya (EMVCo MPM), Videomøde (Zoom/Meet/Teams/Webex-genveje), Kupon/Promo-kode.
- GS1 Digital Link-typen understøtter nu alle 12 Sunrise-2027-mandaterede Application Identifiers.
- Nye SEO-sider:
/static-vs-dynamic/,/no-lock-in/(kontraktuelt: 90-dages nåde, ét-klik-eksport, 30-dages GDPR-sletning, statisk backup-QR). - Autofill-rettelse (sjette forsøg): pr-type feltblokke er rigtige
<form>-elementer med deres egneautocomplete-tokens; inaktive formularer fårdisplay: none, så Chrome ikke flagger off-screen-inputs. vCard/Address/Contact/WiFi-Enterprise lodret gruppering virker nu på tværs af Chrome, Safari, Firefox. Playwright-harness ved 0 overtrædelser. - Anmeldelses-funnel: platform-dropdown (Google/Yelp/TripAdvisor) med pr-platform-placeholder-kopi.
- Wizard: 8 ødelagte resultat-slug-referencer rettet.
- Header/sidefod forenet via delte partials; værktøjssider (Wizard, QR Lab, Test Vectors) flyttet til samme skabelon-system.
- Pre-deploy-tjek: intern-link-validering + rå-engelsk
showToast()-vagt. - BCD-rettelser: lodret layout-stabilitet, landingsside UI-regression, RFC-link-labels, vandmærke-artefakt.
- Genererede landingsside-HTML er ikke længere git-sporet (stadig deployet; git sporer skabelon og generator).
2026-04-13, 25-sprogs paritet, header/sidefod-redesign, Playwright-harness
- 6.660 engelsk-fallback-nøgler oversat på tværs af 25 sprogfiler. Ikke-engelske landingssider falder ikke længere tilbage til engelske strenge. Oversættelses-pipeline refaktoreret til en validator/planner.
- i18n udvidet til værktøjssider: Wizard, QR Lab og Test Vectors har nu 25 sprogvarianter, med hreflang-tags og sitemap-poster.
- Playwright round-trip-harness: genererer en kode for alle typer på alle sprog, afkoder canvas'et, tjekker felter. 0 overtrædelser.
- Header/sidefod-redesign: slank header, 3-kolonne-sidefod, der matcher sign.abundera.ai-mønsteret. Mobil hamburger-skuffe viser nu nav-elementer, når den åbnes (tidligere brudt).
- Klik QR-forhåndsvisning → zoom-lightbox. Label viser typenavn + første input (viste tidligere rå payload).
- Første-gennemgang-autofill-rettelse (landede korrekt 2026-04-14).
- Type-søgning bringer avancerede typer frem; lukker ved valg; tomme kategori-faner skjult i Popular-tilstand; historik-gendannelse skifter type inline i stedet for at omdirigere.
2026-04-12, 26-sprogs paritet, 13 nye payload-typer, 3 ikke-QR 2D-stregkoder
- Fuld 26-sprogs paritet: alle engelske nøgler eksisterer i alle sprogfiler (1.302 nøgler × 25 sprog). 5.533 poster tilføjet på tværs af 4 gennemgange (egentlige navne, korte labels, form-felt-labels, toasts, hints). De 30 brand-betalings-hints forbliver på engelsk ved design, URL'er og brandnavne er autoritative på engelsk.
- Deduplificering: 113 forældede duplikatnøgle-blokke fjernet på tværs af 19 sprogfiler (drift fra tidligere rebases).
- Info-side-header-rettelse: blog/about/privacy/changelog brugte
.brand/.header-inner/.brand-text-klasser uden tilknyttet CSS. Skiftet til den samme.logo-markup som hoved-appen. - 4 standardbaserede URI-typer: HOTP (RFC 4226), eSIM (GSMA SGP.22 LPA), SIP/SIPS (RFC 3261), MMS/MMSTO.
- WPA2/WPA3-Enterprise WiFi: udvider
WIFI:-formatet med EAP-metode, fase-2-auth, identitet, anonym identitet. - 6 regionale betalingstyper: Alipay, WeChat Pay, Swish (SE), Vipps (NO), Mercado Pago (LatAm), Payconiq (Benelux).
- 3 ikke-QR 2D-stregkoder: Data Matrix (ISO 16022), Aztec (ISO 24778), PDF417 (ISO 15438). bwip-js (~1 MB) lazy-loaded kun, når en af disse typer vælges.
- 26-sprogs showcase-sektion tilføjet på hjemmesiden med native-script-links.
- Pre-deploy-audit-script:
BATCH_VALID_TYPES-synkroniseringstjek + rå-engelskshowToast()-vagt. - Sidefod, landingssider og i18n-nøgler tilføjet for alle 13 nye typer (engelsk kilde).
2026-04-11, BCD foto-URL-hentning, preview-sticky, udvidelige presets
- BCD: foto-URL-felt henter nu og inliner fjerne billeder som data-URL'er, så eksport-canvas ikke forurenes af cross-origin-indlæsninger (PDF/PNG-eksport virker nu på hosts uden CORS).
- BCD-desktop-layout: forhåndsvisnings-panel er nu
position: sticky, så når en bruger udvider alle sektioner, ruller kontrolelementerne frit uden at miste synlighed af live-forhåndsvisningen. (Tidligere ville udvidelse af Indhold + Layout + Indstillinger skubbe Vis-Felter ud af synlighedsfeltet.) - BCD-preset-gitter er nu udvidbart, viser 12 layouts indledningsvis med en "Vis alle layouts"-toggle, der spejler ikon-vælger-UX.
- Tagline + QR-billedtekst-inputs reskinnet: stablet label + fuldbredde-input (var klæmt 150px-sidecar).
- Scanbarhedsmærke hævet fra
bottom: -24pxtil-18px, så det ophører med at dække kopieringsknappen. - Batch-CSV-instruktioner nævner nu eksplicit Google Sheets, Excel, Numbers.
2026-04-08, Vertikal-specifikt ikon-bibliotek
- 24 nye centerlogo-ikoner (96 → 120) rettet mod sundhedspleje, mad & drikke, tech, finans-vertikaler.
- 10 nye BCD-layout-presets (40 → 50): Concrete, Honey, Indigo, Luxe, Midnight II, Ocean II, Slate, Verdant, Wine, Candy.
- Cache-buster-strategi-fejl:
?v=-parametre påpage-init.js+lang-redirect.jsmanglede på landingssider, hvilket forårsagede forældet modul-indlæsning efter deploys. Rettet.
2026-04-04, BCD gradient-baggrunde + kort-bagside + 12 nye presets
- BCD: 12 nye presets (Dark Mode, Pastel, Ocean, Cherry, Slate, Emerald, Amber, Mono, Rose, Midnight, Sand, Carbon). 36 presets i alt.
- Brugerkontrollerede gradient-baggrunde med anden farvevælger.
- Kort-bagside-rendering med firma + tagline + CTA-tekst.
- Sociale ikoner-række (LinkedIn / X / Instagram).
- Adresseblok-rendering fra vCard-felter.
- Visuelle preset-miniaturer, hver preset-knap renderer nu et mini-canvas i stedet for en pladsholder.
2026-03-29, BCD-revision + 600 DPI-eksport
- Business Card Designer sammenklappelige accordion-sektioner, sticky mobil-forhåndsvisning, sticky eksport-sidefod.
- Hex-farveinput med tovejs farve-vælger-synkronisering, farvepalette-swatches.
- 4 fotoformer (cirkel, kvadrat, afrundet, hexagon).
- Eksportopløsning hævet til 600 DPI for skarp printoutput.
- Kebab-menu: Eksporter skabelon, Importer skabelon, Overrask mig, Del kort, Udskriv ark (10-op US Letter + A4).
- Fotobeskæring tvunget kvadratisk. Minimum-data-vagt inden åbning af designer.
- BCD-presets hævet: 8 nye visuelt distinkte (Neon, Art Deco, Sunset, Forest, Brutalist, Kraft, Nordic, Retro 80s). 24 presets i alt.
2026-03-22, 20 nye QR-typer + Link-in-Bio + konkurrent-sammenligninger
- 20 nye 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 renderer hele bio-siden fra QR-kodens URL-hash, ingen backend, ingen konto, ingen sporing.
- /embed/ iframe-widget (postMessage API til forældreside-integration).
- /vs/ konkurrent-sammenligningssider (26-sprogs varianter).
- @abundera/qr npm-pakke + CLI med 25 type-encoders.
2026-03-15, 96 centerlogo-ikoner + 5 nye sprog
- 96 centerlogo-ikoner (12 → 96): krypto, kommunikation, medier, nytte, handel, transport, natur, mad, mennesker, events, 12 smiley-ansigter, 18 sociale netværks-glyffer (X, Facebook, Instagram, LinkedIn, TikTok, YouTube, Pinterest, Reddit, Snapchat, Discord, Telegram, GitHub, Threads, Bluesky, Mastodon, Twitch, Signal, Medium). Udvidbar via <details>-toggle.
- 5 nye sprog (21 → 26): Svensk, Tjekkisk, Dansk, Norsk, Finsk. 1.106 nøgler hver med native oversættelser.
- EPS-eksport (indlejret JPEG Level 2 PostScript, ASCII85-kodet) til trykkerimæssige workflows (Illustrator, InDesign, CorelDRAW).
- Animeret GIF-eksport (gif.js, 8-frame regnbue).
- BCD SVG-eksport, BCD JPG-eksport.
2026-03-08, Platformaudit + tilgængeligheds-sweep
Bug-bash sprint: 3 KRITISKE + 7 HØJ + 10 MEDIUM problemer rettet.
- CSP inline-script-overtrædelse på alle 55 landingssider, flyttet til
data-qr-preselectbody-attribut. - Service worker forældet-cache-fejl, forespørgsels-strippede nøgler → fuld-URL + stale-while-revalidate.
- Formulartype-desynkronisering ved klik på BCD-pill på ikke-vCard-landingsside.
- Baggrundsbillede-synlighed (opacitetsskyder, moduler ved 90% alpha, beskæringsmodal-routing).
- Beskæringsmodal mobil overflow.
- Hjul-zoom kapring af musescroll (fjernet fuldstændigt).
- Avatar IP-læk mindsket (referrerpolicy + no-referrer header).
- WiFi-batch open-network-rettelse, MeCard-batch felt-paritet, TOTP base32-validering.
- WCAG 2.5.8 berøringsmål (44×44 minimum på grov pointer).
- aria-hidden-sweep på 87 dekorative SVG'er.
- prefers-reduced-motion-respekt.
- Toast aria-live, focus-visible-ring, beskærings-tastaturnavigation, overflow-menu Hjem/Slut-taster.
- Skrifttypes-preload-optimering.
2026-03-01, 15 standardbaserede typer + scannerbarheds-validator
- 15 nye QR-typer: TOTP/2FA, Swiss QR-bill (med obligatorisk rødt schweizisk kors-overlay), PIX (Brasilien), PromptPay (Thailand), EMVCo generisk merchant, Lightning BOLT11, SSH offentlig nøgle, OpenPGP offentlig nøgle, WireGuard-konfiguration, GS1 Digital Link, Spotify, Fediverse (Mastodon/Bluesky/Nostr/Matrix/Threads), Geo URI, Magnet, fuld iCalendar.
- Scannerbarheds-validator, kører jsQR over det renderede canvas og advarer ved afkodningsfejl.
- Printbar URL-fallback, toggle tilføjer destinations-URL som klartekst under QR-koden.
- jsQR lazy-loaded (sparer 262 KB ivrig payload).
2026-02-22, Multi-stop gradient-editor + pr-øje-farver
- Multi-stop gradient-editor (op til 5 farver).
- Pr-øje uafhængig indre/ydre farve.
- Baggrundsbillede QR-tilstand (opacitetsskyder, EC=H auto-tvunget).
- Knib-zoom på forhåndsvisnings-canvas.
- Web Share API til QR-koder og visitkort.
- WebP-eksportformat.
- Fortryd/gentag (Ctrl/Cmd-Z, 50-trins buffer).
- Tilfældig skabelon-knap ("Overrask mig").
2026-02-15, Privatlivs- & sikkerhedssider + i18n-hærdning
- 4 nye troværdighedssider: /privacy/, /terms/, /security/, /about/, på alle 21 sprog.
- /.well-known/security.txt offentliggjort.
- 29 hardkodede engelske strenge erstattet med
qrT()-kald; ~100 nye i18n-nøgler oversat til alle 21 sprog. - Inline-scripts eksternaliseret, CSP hærdet (unsafe-inline droppet).
2026-02-08, Modal a11y + fokus-management
- Fokus-fælde på alle 3 modaler (beskæring, BCD, brugerdefinerede dialoger).
- Tastaturnavigations-polering på tværs af BCD-overflow-menu, sprogvælger og type-vælger.
- Kritiske fejlrettelser: SVG-ramme-kanter renderet én pixel forkert, XSS-sårbarhed i batch-zoom-forhåndsvisning,
btoa()Latin1-fejl ved klik på preset-logo.
2026-02-01, Første lancering
- Lancerede Abundera QR med 20 QR-typer, 40 skabeloner, batch-CSV-generering (500 koder), Business Card Designer (300 DPI), 20 sprog, 420 statiske landingssider.
- Privatlivs-first holdning: 100% klient-side, ingen konti, ingen sporing, ingen dynamisk-omdirigerings-koder.