v1.1.2 — Mobile UX hardening + Next.js 16 + dependency sweep
Release v1.1.2
51 commits on top of master (since v1.1.0) — 171 files, +12 036 / −3 127.
Maintenance + reliability release. Focus: mobile in-app browser gate (P0 fix), Next.js 16 internal upgrade, broad dependency sweep. URL schema v1 untouched — old links unchanged.
Versioning note:
v1.2.0remains reserved for the @void-layer codec rewrite (specs 055-066, target ~Jun 1). This is a PATCH release per Constitution IV — no new product capability, no schema bit shifted.
Highlights
Bug fixes (critical paths)
fix(mobile): unified in-app browser gate — Telegram + Meta (FB / Instagram / Messenger) + X (Twitter) + 7 other hostile IABs. Closes GH#214 P0. Spec 073, PR #236.fix(payment): suppress payment-progress toast on mobile. Closes GH#215. PR #216.fix(landing): remove pixi.js + footer rewrite (landing cluster #53). PR #193.
Features (small)
feat(video): Remotion demo v2 — Path C scenes, 9-quadrant caption matrix, hook variants. (Dev / marketing content — not user-facing in app.)
Refactor
refactor(creator-store): extractCREATOR_INITIAL_STATEas single source of truth.
Docs / Compliance
docs(privacy): disclose Vercel access-log retention for?og=query string.docs(terms): align Terms of Service with Umami analytics disclosure.
Infrastructure
chore(deps): Next.js 15 → 16 upgrade (spec 054, PR #213). Major framework bump, no product-API change. Follow-ups GH#211 (OG-param hashing) and GH#212 (React Compiler global adoption) remain P2.chore(deps): React + @types/react → latest 19.2.x (PR #208).
Dependencies (41 dependabot PRs auto-merged)
- Web3 / payment:
viem2.47.16 → 2.48.11,@rainbow-me/rainbowkit2.2.10 → 2.2.11 - State / data:
@tanstack/react-query5.99.0 → 5.100.10,zustand5.0.12 → 5.0.13,react-hook-form7.72.1 → 7.75.0,zod4.3.6 → 4.4.3 - Infra:
@upstash/redis1.37.0 → 1.38.0,honosecurity group - UI:
tailwind-merge3.5.0 → 3.6.0,@tailwindcss/postcss4.2.2 → 4.3.0,framer-motionno change - Validation / forms:
pdfmake0.3.7 → 0.3.8,uuid13 → 14 - Dev / tooling:
typescript-eslint8.58.2 → 8.59.3,prettier3.8.2 → 3.8.3,happy-dom20.8.9 → 20.9.0,vite-tsconfig-paths5 → 6,lint-staged16 → 17,pnpm/action-setup5 → 6
Breaking changes
None for URL schema (v1 still LOCKED per Constitution IV — perpetual contract). Old links continue to decode and pay correctly.
Internal Next.js 16 surface: no app-router or middleware behaviour change observed; review noted in spec 054. Two P2 follow-ups deferred:
- GH#211 — OG-param hashing for access-log opacity
- GH#212 — global React Compiler adoption (currently per-component opt-in; 12 stale
eslint-disable react-hooks/refsdirectives remain as lint warnings — non-blocking)
Risk assessment
| Risk | Mitigation |
|---|---|
Next.js 16 regression on /pay hot paths |
Spec 054 already shipped to develop weeks ago; Vercel preview deploys + UmamI baseline clean on develop |
| In-app browser gate false positives | 10 IAB UAs covered (TG + Meta family + X + 7 others); rollback = revert PR #236 only |
Web3 dep stack drift (viem / wagmi / rainbowkit) |
Patch-tier only, no major bumps; multi-network smoke required post-deploy |
| LocalStorage shape | Unchanged from v1.1.0 |
Test plan
- CI green on
develop(per-PR merge) - Type-check + lint clean (0 errors, 12 stale eslint-disable warnings tracked in GH#212)
- Full
pnpm test:coveragere-run on this PR's HEAD - Smoke /pay on Ethereum, Base, Arbitrum, Optimism, Polygon after deploy
- Smoke in-app browser gate from Telegram + Instagram + X
- Verify Umami events post-deploy (no PII, no wallet addresses)
- Verify Speed Insights LCP / INP baseline within ±10 %
- Tag
v1.1.2after merge
Closed issues / PRs
- Closes GH#214 (in-app browser P0)
- Closes GH#215 (mobile payment toast)
- Squashes 41 dependabot PRs (see commit list)
Post-merge
- Tag
v1.1.2onmaster - Cut GitHub Release with this body
- Verify Vercel production deploy + Umami 24 h baseline
- Coordinate launch copy with Spark (CMO)
- Confirm Next 16 P2 follow-ups (GH#211, GH#212) stay on roadmap
🤖 Generated with Claude Code