LinkBreeze v1.3.0
Highlights
Frutiger Aero theme
A glossy mid-2000s "water + air" theme — the 11th built-in preset:
- Gel bubble link style: rounded-pill shape, vertical aqua gradient, specular highlight arc, and a "gel press" hover/active interaction. Applied to link cards, social icons, and the subscribe button. Disabled under
prefers-reduced-motion. - Frosted glass everywhere — semi-transparent cloud-white card tint, backdrop blur, thin light borders, soft sky glow.
- Bubbles video background (Mixkit, free license) with an aqua gradient fallback when the video can't load.
- Nunito font joins the picker.
- Floating avatar, gradient-flow display name, blur-in reveal.
- Existing installs get the new preset automatically — no migration.
Theme customizer rework
- Live phone-shaped visualizer beside the fields, rendering with the production resolver.
- Overlay opacity fixed (slider scale vs renderer scale), noise texture implemented, Aurora follows your colors, preset save forks safely, dead controls removed, sliders replace free-text CSS, contextual fields, real-font font picker.
- Draggable focal point + cover/contain/tile picker for image/GIF/video backgrounds.
- Uploads fixed end-to-end (Server Action body limit raised to 10 MB).
QR customizer
Custom code/background colors, center logo (avatar or favicon, circular-clipped), PNG export at 256/512/1024 px, automatic High error correction when a logo is embedded.
Link sections (#78)
Group links under titled headers with optional Lucide icons.
Fixes & hardening
- Video backgrounds: CSP now allows cross-origin media (
media-src 'self' https: blob:) — hotlinked videos previously played nowhere, silently falling back to the gradient. Video themes paint their fallback gradient in the container. - Media-card radius clamp: pill themes (Frutiger Aero, Pastel Soft) no longer render rich-preview/thumbnailed cards as circles — tall cards use
min(radius, 24px). - Login dev-overlay crash ("LoginPage cannot have a negative time stamp" — Next.js 16 framework bug): pre-hydration guard added.
- Google fonts self-hosted: all 13 families ship in the repo (latin subsets). Builds work fully offline — CI and Docker no longer fetch fonts.googleapis.com, and the product makes zero third-party font requests at runtime.
- CodeQL fixes: HTML entity decoding in the OG fetcher no longer double-unescape (
&lt;stayed<). - Analytics retention defaults to 90 days (#77), with a shared resolver and matching policy text.
- Migration self-heal (#79): out-of-order migration records are repaired on startup.
Full changelog: https://github.com/Manak-hash/LinkBreeze/blob/main/CHANGELOG.md
Docker image: ghcr.io/manak-hash/linkbreeze:1.3.0 (also :latest)