Skip to content

Releases: fderuiter/QRCraftly-web

v0.14.0

Choose a tag to compare

@github-actions github-actions released this 17 Oct 02:21
0b6a175

Features

  • feat(generator): shape the finder eyes' frame and ball apart from the pattern (#1488) (e18953e)
  • feat(seo): QR code size calculator, no-subscription guide and schema fixes (#1483) (dbc06c2)
  • feat(vcard): add X, LinkedIn, Instagram, Facebook and GitHub profile fields (#1484) (6fe4dcf)
  • feat(payment): add a UPI preset that builds static upi://pay codes (#1479) (9231a45)
  • feat: land reviewed Stitch batch 5 (email validation, WhatsApp message, frame fonts, bulk EPS/PDF, Wi-Fi card, WPA3) (#1477) (21ded9a)

Bug Fixes

  • fix: tidy the Stitch quality-pass leftovers (vCard and social round trips, bulk preflight, scan chime) (#1487) (34c7ad2)
  • fix: polish what Stitch landed (frames, transparent codes, typing errors, focus, bulk cancel, PDF/EPS text) (#1485) (ec02662)
  • fix: land reviewed Stitch batch 4 (gradient stops, Wi-Fi password warning, location retry, privacy grid, scan chime, SEPA refusal) (#1476) (2ccf7fb)
  • fix: land reviewed Stitch batch 3 (vCard checks, toast Escape, export width, canvas, wallet fillRect) (#1473) (473eebc)
  • fix(ui): add blur validation and state reset to ColorInput (#1434) (016be5e)
  • fix(ui): restrict className prop to outer field wrapper containers (#1433) (78adea0)

Maintenance

  • test(optical-transfer): wait for the manifest before showing the wallet code (#1489) (1273ab3)
  • refactor(utils): consolidate byte concatenation into shared bytes utility module (#1457) (13101de)
  • test(optical-modem): give the image-simulation tests room under coverage (#1475) (adb0d7d)
  • ci: shard unit tests, run quick checks on unreviewed Stitch PRs, trust only maintainer approvals (#1474) (c20230f)
  • ci: refresh visual baselines on CI and stop superseded runs queueing (#1443) (326ca51)
  • ci: keep unreviewed Stitch PRs pending instead of failing (#1472) (9d12fa3)

v0.13.0

Choose a tag to compare

@fderuiter fderuiter released this 16 Oct 16:16
0ce7614

What's Changed

  • fix(generator): current scan verdict, faithful EPS/PDF export, MECARD address and Stitch UI lapses by @fderuiter in #1390
  • refactor: replace six test, CI and lint packages with our own code by @fderuiter in #1393
  • feat(content): honest About and Security copy, guide links, sitemap dates and share image sizes by @fderuiter in #1392
  • refactor: own git hooks, Markdown parser and Node type stripping by @fderuiter in #1395
  • fix(test): run the sitemap lastmod check on Node type stripping, not tsx by @fderuiter in #1398
  • refactor: own duplicate checker, package-boundary checker and Tailwind class rule by @fderuiter in #1396
  • ci(release): weekly release preview, uncached version.json and explained deploy timeouts by @fderuiter in #1399
  • fix(generator): draw the Grunge eyes the same way every time by @fderuiter in #1400
  • chore(deps): bump CI tooling (artifact actions, codeql upload-sarif, semgrep) by @fderuiter in #1405
  • fix(content): plain template blurbs, clearer messages and screen-reader names, US spelling by @fderuiter in #1407
  • perf(optical-modem): tracked fiducial search, 1080p and 4K profiles and a ceiling bench by @fderuiter in #1414
  • feat(generator): Wallet card image for phone wallets by @fderuiter in #1415
  • feat(generator): sign Apple Wallet passes in the browser with your own certificate by @fderuiter in #1416
  • feat(generator): Google Wallet passes signed in the browser with your own issuer by @fderuiter in #1417
  • feat(generator): move signed wallet passes into a developer section by @fderuiter in #1418
  • feat(optical-modem): torn-capture recovery, a robust large-grid finder and phone camera effects in the simulator by @fderuiter in #1419
  • feat(copy): closed-source wording, a contact address and search fixes by @fderuiter in #1420
  • ci: tiered CI for the private repository by @fderuiter in #1421
  • feat(optical-modem): Ultra Mono, a black-and-white 4K profile for phones that smear colour by @fderuiter in #1422
  • feat(optical-modem): cut torn captures on a slant for a phone held upright by @fderuiter in #1423
  • feat(ui): UI/UX overhaul: clearer generator, fixes with every warning, one consistent visual system by @fderuiter in #1425
  • feat(seo): static and SVG QR code pages, install button and guide links by @fderuiter in #1424
  • feat(bulk-csv): add pre-flight logo asset validation and error isolation by @google-labs-stitch[bot] in #1429
  • docs(foundry): list every kept dependency with its decision and effort by @fderuiter in #1430
  • ci: hold Stitch PRs for review and prepare main for a merge queue by @fderuiter in #1461
  • docs(agents): add rules from Stitch PR reviews by @fderuiter in #1468

Full Changelog: v0.12.0...v0.13.0

v0.12.0

Choose a tag to compare

@github-actions github-actions released this 10 Oct 15:45
9c3a025

Features

  • feat(optical-transfer): measure the colour layer honestly on the camera's clock (#1385) (084c107)
  • feat(content): move generator background reading into the FAQ and rewrite it plainly (#1379) (4b40ef5)
  • feat: land reviewed Stitch batch (IBAN check, never-expires note, render perf) (#1358) (2753fff)
  • feat(bulk-csv): implement CSV preflight summary card and row categorization engine (#1348) (f6c6030)
  • feat(event): add timezone selector control and payload handling (#1331) (4e4cb14)
  • feat: add CC and BCC recipient fields to email QR codes (#1345) (31aa1b4)
  • feat(style): add linear and radial gradient fill color controls (#1325) (3c77a74)
  • feat: add transparent background toggle and renderer background guard (#1337) (c03e415)
  • feat: add preset logo gallery with category filters for brand icons (#1321) (a43de3f)
  • feat(bcur): implement inverted index map and ripple queue for peeling decoder (#1347) (8904bb1)
  • feat(ui): implement custom frame shapes and call-to-action badges (#1328) (ba8fb6d)
  • feat(bulk-csv): add bulk PNG export resolution dropdown selector (#1318) (d873d39)
  • feat(qr): add independent eye frame and eye ball color controls (#1326) (ef8ecea)
  • feat: expand SocialPlatform enum and presets for extended social networks (#1320) (1e2c67f)
  • feat: add EPC SEPA QR and fiat payment presets (#1327) (08cbb6b)
  • feat(vcard): add contact format selector for vCard 2.1, 3.0, 4.0, and MECard (#1323) (aad682b)
  • feat(event): add web calendar provider options for Google, Outlook, and Yahoo (#1315) (7d682e6)
  • feat(bulk-csv): add downloadable sample CSV template button to upload drop zone (#1319) (97dc8ac)
  • feat(export): add native client-side EPS and PDF vector export support (#1316) (191c1bf)
  • feat(transfer): send wallet-compatible BC-UR animated QR codes (#1149) (#1236) (420b57a)
  • feat(transfer): let the receiver steer the sender through a webcam back channel (#1146) (#1234) (e4d3fc8)
  • feat(transfer): add beacon frames and speed profiles to the multi-code preview (#1143) (#1233) (271a27c)
  • feat(transfer): send several QR codes per frame behind preview switches (#1142) (#1232) (bc65ce5)

Bug Fixes

  • fix(generator): show the sample for empty forms and gate mockup and refused-content exports (#1388) (01c6f24)
  • fix: harden template import and storage, fix Cyber Circuit finders, and make logo backings distinct (#1387) (706de75)
  • fix(docs): build the /security docs manifest at load time instead of committing it (#1386) (37fef4e)
  • fix: export the current code at full size with readable errors (#1383) (9f91076)
  • fix(payment): check payment amounts and require the SEPA beneficiary (#1382) (2594d29)
  • fix(bulk-csv): encode what the preview shows, read more files, and skip bad rows one at a time (#1381) (17951c9)
  • fix(optical-transfer): keep transfers, keys and the webcam safe in receiver and sender edge cases (#1378) (888d596)
  • fix(ci): close CI test gaps in workflow hardening, sitemap, git and branch cleanup (#1357) (1b39e53)
  • fix(optical-modem): bind an identity checksum to every modem block (#1372) (a2da5e6)
  • fix(scanner): confirm codes on slow phones, read SVG files and close six other scanner gaps (#1380) (1a16d0e)
  • fix(sw): precache the generator's workers and wasm, and hash the final HTML and headers (#1377) (acfe530)
  • fix(qr-payload): keep text line breaks and stop refusing valid text, e-mail and links (#1370) (27a2def)
  • fix(logos): replace brand lookalike presets with generic icons (#1376) (b61810d)
  • fix(qr-payload): read structured payloads faithfully and stop silent data loss (#1373) (4e258d0)
  • fix(sw): load the current build after an update and draw the QR when a worker file is gone (#1369) (31f17ec)
  • fix: keep the quiet zone inside borders and publish only the newest scan verdict (#1375) (5ce1dc2)
  • fix(qr-matrix): keep frames visible and transparent codes scannable (#1371) (b7363fd)
  • fix: land reviewed Stitch batch 2 (vector path parser, release tagging, Playwright cache) (#1374) (f2555c7)
  • fix(qr-payload): conditionally emit vcard and mecard property tags (#1333) (6150065)
  • fix(export): flatten JPEG transparent background to solid white before scannability check (#1322) (b088829)
  • fix(arcade): propagate matrix fallback state to target settings and scanner HUD (#1317) (55bf4c0)
  • fix(file-transfer): keep transfer frames one size and harden scan warnings (#1308) (1e55138)
  • fix(scannability): give a print fix when only the print simulation fails (#1310) (99caf7b)
  • fix(scannability): make the print simulation judge the code, not the canvas (#1275) (d8cd1c7)

Performance

  • perf(viewing-conditions): implement canvas pool and streamline condition evaluation (#1314) (534a0f0)
  • perf(modem): run the modem and colour kernels in Rust (#1198) (#1237) (d473ddf)

Maintenance

  • test(edge): check production headers and deployment integrity (#1353) (#1384) (221efb2)
  • refactor(link-safety): restrict uncalled utility functions to module scope (#1334) (b5bcd1e)
  • refactor(compliance): implement TypeScript AST parsing in dependency audit (#1340) (9433f11)
  • docs: document the issue label convention (#1247) (5971255)
  • docs: refresh stale documentation across the repository (#1242) (035f8c4)
  • docs: add the Optical Transfer design pages and rewrite the README (#1239) (63f68bf)
  • chore(deps): freeze the BC-UR test vectors, drop @ngraveio/bc-ur and adopt "In-house first" (#1181) (#1235) (2c2f965)
  • ci: run the @prod E2E flows against production after each deploy (#1228) (#1231) (0e7fc52)

v0.11.0

Choose a tag to compare

@github-actions github-actions released this 06 Oct 03:54
0b230c5

Features

  • feat(transfer): send Prism with the outer code as an opt-in preview (#1141) (#1227) (71c779b)
  • feat(transfer): add Prism's outer code, an LT code over an LDPC precode (#1176) (#1218) (4dc575d)

Bug Fixes

  • fix(security): resolve open code-scanning alerts (#1219) (8ebdfb0)

v0.10.0

Choose a tag to compare

@fderuiter fderuiter released this 05 Oct 16:06
61d3fa0

What's Changed

  • refactor: relocate maze controls to arcade and streamline advanced mode panel by @google-labs-stitch[bot] in #1068
  • fix(inputs): retain uncommitted form state across generator routes in volatile cache by @google-labs-stitch[bot] in #1073
  • feat: implement type-aware sample fallback payload preview engine by @google-labs-stitch[bot] in #1075
  • feat(navigation): unify transfer navigation slot and add workspace mode switcher by @google-labs-stitch[bot] in #1071
  • feat(seo): keyword-led headings, per-type FAQs, canonical-safe routing and honest structured data by @fderuiter in #1083
  • fix(sw): precache pages by canonical URL so reloads work by @fderuiter in #1087
  • fix(scannability): let a busy worker answer before terminating it on unmount by @fderuiter in #1085
  • feat: add scannability recovery action buttons and wire parent handlers by @google-labs-stitch[bot] in #1076
  • feat(style-controls): implement client-side brand template gallery and persistent storage by @google-labs-stitch[bot] in #1070
  • docs(agents): add steward skill for driving PRs to merged by @fderuiter in #1089
  • test(qrtool): wait long enough for the failing scannability check by @fderuiter in #1090
  • feat(bulk-csv): implement client-side bulk CSV QR batch generation and zip export by @google-labs-stitch[bot] in #1082
  • refactor: remove dynamic QR codes and keep QRCraftly entirely client-side by @fderuiter in #1093
  • feat: remove the Audio QR page by @fderuiter in #1092
  • fix(generator): keep the type grid at three rows on small phones by @fderuiter in #1111
  • test(generator): expect twelve type links in the a11y sweep by @fderuiter in #1118
  • feat(ui): design tokens, one app shell and a hero QR preview by @fderuiter in #1091
  • fix(ci): remove the flaky checks, one CSP rule and merged test files by @fderuiter in #1119
  • chore(deploy): reconcile Cloudflare config, wizards and stale doc references by @fderuiter in #1120
  • feat(generator): one scannability verdict and a one-row Bulk CSV preview by @fderuiter in #1122
  • feat(ui): shared UI kit, readable type and motion tokens by @fderuiter in #1123
  • fix(a11y): one screen-reader announcement per scannability change by @fderuiter in #1125
  • feat(ui): split Download button, helpful empty states and summary-first Security and About by @fderuiter in #1124
  • fix(scanner): reliable camera session, bounded decoding and an image-only scanner with a test harness by @fderuiter in #1127
  • feat: open-source acknowledgements page with build-verified package licenses by @fderuiter in #1129
  • feat(scanner): zxing-wasm decoder chain, multi-frame confirmation and camera controls by @fderuiter in #1130
  • feat(scanner): scanner dialog, safe result sheet, paste and drop, and a /qr-code-scanner page by @fderuiter in #1131
  • perf: smaller first load, Appearance controls in static HTML, leaner precache, per-page budget by @fderuiter in #1132
  • feat(seo): per-page share images, breadcrumbs, related types and example QR pictures by @fderuiter in #1133
  • feat(seo): rewrite the eleven QR type pages to the on-page template by @fderuiter in #1134
  • feat(seo): add image, logo and use-case landing pages and a QR code checker by @fderuiter in #1135
  • feat(guides): add /guides hub with two sourced guides by @fderuiter in #1136
  • feat(guides): add printing, error correction and quishing guides by @fderuiter in #1157
  • feat(generator): style gallery, undo/redo, command palette, shortcuts and style files by @fderuiter in #1167
  • refactor: move page copy out of the shared content registry chunk by @fderuiter in #1168
  • feat(ui): in-the-wild mockups and a calmer file transfer by @fderuiter in #1169
  • feat: abuse protections, photosensitivity safeguards, Prism and Optical link by @fderuiter in #1170
  • ci: replace tj-actions/changed-files and the SMTP audit email with our own scripts by @fderuiter in #1199
  • feat(wasm): plain Rust WebAssembly foundation with committed reproducible builds by @fderuiter in #1204
  • feat: privacy policy and support pages for the iPhone, iPad and Mac app by @fderuiter in #1202
  • feat(wasm): Foundry budgets, bench, differential and cross-engine tests, canary switch by @fderuiter in #1205
  • feat(wasm): QR encoder in Rust replaces qrcode by @fderuiter in #1206
  • perf(generator): show an edit in the preview without waiting a frame by @fderuiter in #1207
  • perf: paint pages before hydrating and hold Lighthouse at 0.85 by @fderuiter in #1208
  • perf: ship each page only its own content and start scripts after first paint by @fderuiter in #1209
  • ci: raise the Lighthouse performance floor to 0.9 by @fderuiter in #1210
  • feat(scanner): add the Rust QR decoder module by @fderuiter in #1211
  • feat(scanner): add the qr-decode package and shadow it against jsQR by @fderuiter in #1212
  • feat(scanner): replace jsQR with our Rust QR decoder by @fderuiter in #1213
  • feat(scanner): add the Prism fast path to our QR decoder by @fderuiter in #1214
  • feat(scanner): reach zxing parity on the hard corpus (#1178 stage 3) by @fderuiter in #1215
  • feat(scanner): replace zxing-wasm with our QR decoder (#1178) by @fderuiter in #1216

New Contributors

  • @google-labs-stitch[bot] made their first contribution in #1068

Full Changelog: v0.9.0...v0.10.0

v0.9.0

Choose a tag to compare

@fderuiter fderuiter released this 30 Sep 14:40
a5d2e0c

What's Changed

  • dev -> main pr check by @fderuiter in #964
  • fix(e2e): target the logo file input by label now that Mosaic adds a second one by @fderuiter in #1042
  • ci(release): move the release process to trunk-based delivery on main by @fderuiter in #1023
  • feat: no-ads pledge at /free-forever, remove Ko-fi and the diagnostics ping by @fderuiter in #1043
  • feat: fix open issues across edge redirect, layout, docs, packages, tests, lint and file transfer by @fderuiter in #1063
  • ci: gate CI on the dependency audit and document auto-merge into main by @fderuiter in #1066

Full Changelog: v0.8.0...v0.9.0

Release v0.8.0

Choose a tag to compare

@github-actions github-actions released this 03 Sep 18:00

[0.8.0] - 2026-09-03

Features

  • feat(docs): add rateless fountain codes and multi-tier scanning for air-gapped optical transfer (b88086f)

Maintenance

  • chore(release): adopt SemVer 2.0.0 baseline, automated release engine, and fast-forward promotion model

v0.7.0.3

Choose a tag to compare

@fderuiter fderuiter released this 03 Sep 13:44

What's Changed

  • feat(scannability): harden scannability worker protocol with ACK, watchdog, and graceful degradation (#918) by @fderuiter in #939

Full Changelog: v0.7.0.2...v0.7.0.3

v0.7.0.2

Choose a tag to compare

@fderuiter fderuiter released this 01 Sep 16:00

What's Changed

  • feat: enforce zero-transit direct redirection counter-only logging by @fderuiter in #889
  • fix(docs): implement targeted case-safety patches for markdown auditing and compiler by @fderuiter in #890
  • feat(audio-qr): Custom Audio Hooks and Unified DSP Engine by @fderuiter in #892
  • feat: implement style-adaptive maze clearance, canvas halo masking, and path width slider by @fderuiter in #891
  • feat(security): implement pre-build storage privacy AST auditor by @fderuiter in #903
  • build(deps): bump github/codeql-action/upload-sarif from 4.37.6 to 4.37.9 by @dependabot[bot] in #900
  • fix(security): map inline workflow context values to step-level environment variables by @fderuiter in #905
  • fix(vcard): Targeted RFC Compliance Patch & UTF-8 Octet Folding by @fderuiter in #909
  • ci: extract multi-line shell steps into modular scripts with strict failure flags and shellcheck analysis by @fderuiter in #914
  • fix(worker): slice reassembled ArrayBuffer to exact target file size by @fderuiter in #907
  • fix(scanner): targeted listener detachment and shared worker singleton safeguards by @fderuiter in #908
  • feat: offload FSK demodulation to dedicated Web Worker with zero-copy memory transfers by @fderuiter in #911
  • fix(arcade): main-thread optimistic token management and buffer replenishment by @fderuiter in #906

Full Changelog: v0.7.0.1...v0.7.0.2

v0.7.0.1

Choose a tag to compare

@fderuiter fderuiter released this 19 Aug 20:16

What's Changed

  • feat(rulesets): remove bypass privileges for standard write role by @fderuiter in #721
  • feat: decouple scheduling loop from render lifecycle via ref-sync delay lookup by @fderuiter in #723
  • feat: Canonical URL Alignment via Unified TypeScript Sharing by @fderuiter in #726
  • feat(demuxer): solve JSDOM testing bugs and add WebAssembly WebM & MKV demuxer scanning worker by @fderuiter in #725
  • feat: robust context-level network interception and ast bundle compliance scanner by @fderuiter in #727
  • security: Migrate Git Lineage and UI Catalog scripts to secure subprocess execution by @fderuiter in #722
  • feat: implement Ephemeral Worker with Canvas-based Offloading and mock test support by @fderuiter in #728
  • feat: implement automated offline precaching SW and offline-readiness E2E tests by @fderuiter in #732
  • feat: Dual-Scale Background QR Scanning with Camera Clamping by @fderuiter in #731
  • fix(scanner): clear file input value to allow immediate same-file re-upload by @fderuiter in #729
  • Unified Shared-Worker Image & Video Scanner by @fderuiter in #730
  • feat: implement worker lifecycle watchdog with auto-restart, starvation detection, and retry limits by @fderuiter in #724
  • feat: implement section-aware central UI catalog validation by @fderuiter in #733
  • Refactor: Move breadcrumb compilation to metadataEngine utility and suppress on homepage root path by @fderuiter in #734
  • feat: make About page FAQ schema generation conditional by @fderuiter in #737
  • Refactor SvgContext to use centralized private path helper and unify corner clamping by @fderuiter in #738
  • feat: Implement dynamic root-level HowTo schema image mapping by @fderuiter in #740
  • feat(seo): consolidate head schemas into single JSON-LD block and prevent subpage duplicate WebSite entities by @fderuiter in #739
  • chore: prune dependencies, pre-compile docs, and optimize bundle size to <600KB by @fderuiter in #746
  • feat(ci): Consolidate validation runners and decouple build from prebuild validations by @fderuiter in #742
  • feat: Implement Semantic Canvas Mock and Pixel Grid with resilient cell assertions by @fderuiter in #744
  • feat: Implement Configurable Stream Mode Switch (Binary vs Text) by @fderuiter in #745
  • fix: replace permissive substring false-positive checks with exact normalized equality and expand SMTP and Cloudflare regex matching by @fderuiter in #743
  • fix: terminate active background scanner worker on unmount to prevent thread leaks by @fderuiter in #748
  • Refactor Animated QR Stream Processing into Centralized Hooks by @fderuiter in #741
  • feat: implement synchronous page-level QR frame deduplication by @fderuiter in #749
  • feat: implement throttled 250ms state synchronization for scanner telemetry by @fderuiter in #752
  • feat: Off-thread QR Scanning with Worker-side OffscreenCanvas and ImageBitmap Transfer by @fderuiter in #754
  • feat(file-transfer): implement inline complete panel and manual download verification by @fderuiter in #751
  • feat: implement dedicated off-thread Web Worker reassembly and live compilation status by @fderuiter in #755
  • feat: implement hook-level optimization bypass for stale frames by @fderuiter in #753
  • Fix GHA schema validation error in main.yml deploy job by @fderuiter in #758
  • fix: remove invalid repository_ruleset trigger from scorecard workflow by @fderuiter in #763
  • feat: adaptive off-thread WebP image resizer by @fderuiter in #760
  • feat: high-performance destroy the QR mini-game route with layout bypass and sync validation by @fderuiter in #762
  • feat(game): implement interactive QR analytical module damage simulator by @fderuiter in #765
  • feat: consolidate QR scanner workers, implement unified sharing, and resolve verification suite failures by @fderuiter in #764
  • feat: maze overlay controls and pre-download simulated optical validation by @fderuiter in #761
  • feat(ci): enforce deep clones and fail-closed behaviors for validation guardrails by @fderuiter in #766
  • perf: Optimize real-time QR scannability with async ImageBitmap and backpressure tracking by @fderuiter in #767
  • feat: dual-layer URL normalization and unified security validation by @fderuiter in #770
  • feat: implement high-performance Worker-Locked Offscreen Downscaling Pipeline by @fderuiter in #771
  • feat: Implement strict opt-in publish schema and internal folder quarantine by @fderuiter in #774
  • Refactor sitemap generation to native TypeScript with modular testing by @fderuiter in #772
  • feat: integrate native BarcodeDetector with Web Worker fallback for high-performance QR destruction game by @fderuiter in #776
  • feat: off-thread maze solver thread isolation and recovery verification by @fderuiter in #782
  • feat: registry-driven centralized metadata integration by @fderuiter in #783
  • perf: global pure-JS utility caches and metadata performance optimization by @fderuiter in #777
  • feat: Opt-In Cloudflare Pages Edge Redirector by @fderuiter in #788
  • feat: Unified Adaptive Frame Scheduler for QR Scanning with Zero-Allocation Double-Buffering by @fderuiter in #789
  • Refine QR tool UI and add coverage for product pages and inputs by @fderuiter in #792
  • fix: robust video memory disposal for local QR scanning by @fderuiter in #808
  • feat: Secure Dynamic Redirection, Middleware Protection and Lazy Analytics by @fderuiter in #820
  • feat: implement real-time safety reversion and fallback for scannability-audited finder pattern bridges by @fderuiter in #818
  • feat: consolidated staging integration branch (PRs #804–#851) by @fderuiter in #852
  • refactor: remove redundant prebuild verification hook by @fderuiter in #853
  • feat: Fixed-Window KV Rate Limiter for Redirect Registration by @fderuiter in #854
  • feat: Unconditional input reset and internal Web Worker session guard for animated QR transfers by @fderuiter in #855
  • feat: implement incremental worker preallocated buffer streaming for file transfers by @fderuiter in #856
  • feat(ci): implement same-repo gate with local mock fallback for preview workflow by @fderuiter in #857
  • feat: implement proportional step-down recovery and median latency filtering in frame scheduler by @fderuiter in #860
  • refactor(ci): move workspace state restoration to workflow steps and remove postbuild git reset by @fderuiter in #861
  • feat: centralize scannability fallback store state and enforce off-thread maze execution by @fderuiter in #863
  • feat: bound secondary fallback image canvas allocation to 2048px maximum dimension by @fderuiter in #865
  • feat: implement zero-knowledge client-encrypted edge dynamic links by @fderuiter in #868
  • feat(file-transfer): automated stream style sanitization & handshake scannability gate by @fderuiter in #869
  • feat: updates + refactor by @fderuiter in #881
  • docs: Edge Architecture and Zero-Knowledge Privacy Specification by @fderuiter in #885
  • fix(pwa): serve static PNG brand icons and complete Web App Manifest metadata by @fderuiter in #884
  • fi...
Read more