Recently

What's new

Every Linked.Codes ship — features, improvements, and fixes for the whitelabel link platform. Newest first, tagged so you can filter.

v7.44.2
6 days ago
IMPROVED

v7.44.2 — Menus: Branding tab consolidation

The Design tab is now called Branding and everything brand-related sits inside it — including the Share preview that used to live in its own tab.

What's in Branding now:

  1. Quick start: pick a preset
  2. Colors (6 slots)
  3. Typography (10 fonts — Urbanist, Inter, Plus Jakarta, Geist, Space Grotesk, IBM Plex, Manrope, Serif, Mono, System — Google Fonts loaded automatically on the public menu)
  4. Shape (Square / Rounded / Round)
  5. Logo & cover image
  6. Share preview (title / description / image / hide-from-search)
  7. Footer

Typography + Shape segmented controls now use the same pill pattern the rest of the dashboard uses — gray background, white active state.

v7.44.1
6 days ago
IMPROVED

v7.44.1 — Menus Design tab: cleanup, matches dashboard branding exactly

The Design tab on Menus now lays out exactly like the branding tab in Settings — same cards, same order, no duplicates:

  1. Quick start: pick a preset
  2. Colors (6 slots)
  3. Typography (font row)
  4. Shape (radius row)
  5. Logo & cover image
  6. Footer (powered-by toggle)

The duplicate Theme grid is gone (presets handle that). The standalone Accent card is gone (the accent slot in Colors is the single source of truth). Clicking a preset cleanly resets your colour overrides so the preset's palette actually applies; you can then tweak individual slots in the Colors card.

v7.44.0
6 days ago
IMPROVED

v7.44.0 — Menus: full design control (Colors, Shape, Footer)

The Design tab on Menus now has the same depth as the brand design surface on Settings.

  • Colors — six slots (Background, Surface, Text, Muted, Lines, Accent). Each one has a colour swatch, a hex input, and a "Use theme default" reset. Override just the slot you care about — the others keep inheriting from your active theme preset.
  • Shape — Sharp / Rounded / Pill. Controls the corner radius of item cards, photo thumbnails, the info card, and the social icon tiles together.
  • Footer — toggle the "Powered by Linked.Codes" line off (on the paid tier). Free menus always show it.

The Theme presets and Accent picker from the previous version still work — they stamp the slots in one click, and any manual slot tweak then overrides on top.

v7.43.1
6 days ago
IMPROVED

v7.43.1 — Menus: short link stays on its URL, fixes + polish

A pile of fixes + polish on Menus.

The big two:

  • Your short link stays on its URL when it opens the menu. Before today, tapping linkedco.de/your-slug redirected to linkedco.de/m/your-slug — the menu loaded but the URL bar changed. Now the menu renders directly on your short link's URL. Address bar stays clean, share previews stay on the same URL, the QR keeps pointing at the same place.
  • Opening hours and social links save reliably. Both were throwing "invalid input syntax" errors after a tweak — fixed.

UX polish:

  • Dietary tags are written labels again, not icons. They translate into the customer's selected language (Vegan / Vegano / 비건 / 純素 — eleven languages covered).
  • Custom time picker on the hours grid. 15-minute increments instead of the native browser's 1-minute scroll wheel. Pick 07:45, not 07:52.
  • Closed toggle on hours rows uses the same iOS-style pill as the rest of the dashboard — no more blue native checkbox.
  • QR download menu (PNG / JPG / SVG / PDF) no longer gets clipped behind the next row.
  • Design tab Presets: nine named one-click themes (Linked.Codes, Graphite, Sand, Forest, Bistro, Mono, Ocean, Berry, Mint), each stamping a theme + accent + font combination in a single tap. Matches the preset row on the rest of the dashboard.
v7.43.0
6 days ago
IMPROVED

v7.43.0 — Menus: dietary icons, specials, structured hours, social links + more

Big round of Menus polish — picking off the long list of "this could be nicer":

  • Dietary tags are now icons, not text pills. They sit inline next to the item name on the public menu, and a little "What the icons mean" legend appears at the bottom of the menu whenever any item carries one — so customers don't have to guess what V or GF means.
  • Highlight an item as a special. New toggle in the item modal — flagged items get a ★ Special pill next to their name on the public menu, and bubble to a "Today's specials" strip at the top. Good for happy hour, daily features, seasonal items.
  • Structured opening hours. The Info tab's Hours field is now a Mon-Sun grid with start time, end time, and a Closed toggle per row. Public menu renders as a clean schedule list.
  • Social + external links. Add an ordered list of links to your Instagram, Facebook, TikTok, X, YouTube, LinkedIn, WhatsApp, your website, or any other URL. Each one gets a dedicated icon and renders as a row at the bottom of the public menu.
  • Tap-the-address → Google Maps. Your address on the public menu now opens Google Maps with the address pre-filled — one tap from menu to walking directions.
  • Items CSV export/import lives right at the top of the Items tab. Bulk-edit prices, names, descriptions in your spreadsheet, paste back. (Translations CSV stays in the Languages tab.)
  • QR download with file picker. PNG / JPG / SVG / PDF dropdown on every connected QR row.
  • More theme presets — added Bistro, Sand, Forest, Ocean, Berry to the original Light / Dark / Mint / Warm.
  • Logo doubles as your favicon automatically on the public menu — no extra setting needed.
  • Saved pill matches the rest of the dashboard's autosave indicator.
v7.42.0
6 days ago
NEW

v7.42.0 — Menus: automatic currency conversion

Customers can now flip your menu's prices into their own currency, automatically.

How it works:

  • Open your menu, tab to Settings → Currency.
  • The new "Show prices in" chip row lists every currency we support. Tap the ones you want to offer.
  • On the public menu, a currency switcher appears next to the language picker. Tapping a code converts every price instantly — no page reload.

Rates refresh once every 24 hours from a public, ECB-derived feed. We add a tiny "Converted from IDR using rates from 2026-06-01" line under the picker when the customer is viewing a non-default currency, so they know how fresh the math is. The picker is hidden completely when you don't add any extra currencies — the menu's default stays the only displayed price.

The conversion is for display only — your stored prices and your accounting both keep using the currency you typed them in. A €4.50 cappuccino just lets a US visitor see "≈ $4.83" without you doing anything.

v7.41.2
6 days ago
IMPROVED

v7.41.2 — Menus: items showing on public menu, inline Connect actions, Languages walkthrough

Round three of Menus polish — fixed two bugs that were probably hiding the feature from you, plus a stack of UX cleanups.

Bug fixes

  • Items now actually render on the public menu. A type-coercion bug meant categories rendered as empty even when items were assigned. Every menu published after today shows what's in the editor.
  • Connected short links route to the menu again. Custom short-link hosts (linkedco.de and any custom domain you have set as short_link) were 404'ing the /m/<slug> path and bouncing visitors to the platform homepage. Fixed at the routing layer.

Connect tab

Connected short links and QR codes now have inline action buttons on the row — Copy (URL), Open (new tab), Disconnect. QR rows have Download (PNG) instead of Copy. No more popups for a one-tap action.

The Preview button at the top of the menu editor now opens your first connected short link, so the URL you're previewing matches the one your customers see. Falls back to linked.codes/m/<slug> if you haven't connected one yet.

Item modal

  • Per-item currency picker is gone. Prices display in the menu's default currency, full stop. The price label tells you which one inline.
  • + New category lives inside the item modal — add a category and pick it without leaving the popup.

Languages tab

Restructured as a numbered 5-step walkthrough — default language → languages to publish → export CSV → translate → import. The warning about default-language re-import (which replaces categories) sits next to the import button so you read it at the right moment.

Design tab

Bigger theme preset tiles with a mint check-mark on the active one. Same visual rhythm as the rest of the dashboard's preset pickers.

QR detail

Linked-links rows that point to a menu now carry a MENU badge — at a glance you can tell which QR codes go to a digital menu vs. which redirect somewhere else.

v7.41.1
6 days ago
IMPROVED

v7.41.1 — Menus: connection manage + custom-domain homepage

Three follow-ups from the v7.41.0 ship of Menus:

  • Clicking a connected short link or QR now opens a manage popup — see the link's slug + click count, open its detail page, or disconnect it from this menu. Stays on the menu surface so you don't lose context every time you want to inspect a connection.
  • "Custom domain as homepage" is now functional. Under the Connect tab, every verified custom domain you own shows up as a toggle. Turn it on and visitors hitting your-domain.com/ land straight on this menu — no path, no /m/. Each toggle's helper text shows what the homepage is currently set to so you can see what you're about to override.
  • Add Item modal styling lines up with the rest of the dashboard — same upload row shape as the logo / cover image / share-preview rows, tag chips that match the lighter dashboard-wide chip pattern instead of the heavy pill variant.
v7.41.0
6 days ago
IMPROVED

v7.41.0 — Menus, polished

A full polish pass on Menus. Same feature surface — categories, items, photos, multi-language CSV, branding, share preview — but every screen now looks and behaves like the rest of the dashboard.

What changed:

  • Tags on menus. Add tags when you create a menu (or any time from Settings) and filter the menu list by them — same chip row pattern as Links and QR codes.
  • Upload your logo, cover and share-preview images directly. No more pasting URLs. Drop a PNG / JPG / WebP (SVG too for logos) and we host it for you. Replace or remove anytime.
  • Theme, font and accent picker now share the same visual shape as the rest of the dashboard's brand pickers — tiles, colour swatches, no wall-of-options.
  • Toggles for "show info section", "hide from search engines" and per-item "available" use the same iOS-style switch the rest of the dashboard uses.
  • Languages moved out of Settings into their own tab. Add a language in one click, get a chip with × to remove. Default language stays clearly marked.
  • Currency: copy now states explicitly that no FX conversion happens — prices display exactly as you enter them, including any per-item currency override (handy when a single bottle of wine is priced in USD on an IDR menu).
  • List page: card grid with cover image preview, item / category / currency / language counts in the footer.
  • Connect tab: clearer card structure with icons + descriptions, plus a pointer card for the "use a custom domain as the menu's homepage" option.
  • Bugs fixed along the way, including a 500 on the Connect tab after creating a new short link, and a stale linked.codes/m/<slug> line that still leaked into Settings even though menus are reached via your short link, QR or custom domain.

If you started building a menu and stopped because the editor felt off, today's a good time to come back. Open Menus →

v7.38.0
10 days ago
IMPROVED

v7.38.0 — Branded 404 page + Report-a-link inbox

Sharper 404. When a visitor hits a slug that doesn't exist on your domain, they now land on a branded "404 · Not found" page with your logo and accent color, a clear explanation, a "Go to [your site]" button, and a Report this link action.

The report goes to your support email — set under Settings → Business. If you haven't set one, reports fall back to your account login email, so nothing slips through. The reporter can leave their email if they want a reply; the report comes through with reply-to wired so a single tap responds to them directly.

The platform's own 404 (on linked.codes itself) routes "Report this link" through the contact form — a new category landed there too, with the slug + path pre-filled when you arrive via the 404.

v7.38.2
2 weeks ago
NEW

v7.38.2 — Blog calendar reshuffled, new post on round QR + centre logos

Two changes to the editorial queue. First — a new long-form piece, Round QR codes with logos — the centre size math — covers what most "rounded QR with logo" guides skip: round modules already give up about 22% of the area each before the logo arrives, which shrinks the safe centre logo size by roughly a third versus the same code with square modules. The post lays out the recalculated ceilings level by level, ships a live calculator, a field-test checklist that persists per browser, and the eye-shape gotcha that breaks Apple's stricter decoder.

Second — the rest of the publishing queue is rebalanced. Future posts kept their 5-hour cadence but the order interleaves topics and sub-topics, so the calendar no longer marches three café-WiFi posts back-to-back before pivoting to anything else. The next QR-codes post is followed by a whitelabel or short-links piece, the QR-codes pieces themselves alternate by sub-theme (social, venue, design, payment), and the secondary tags get spread out across the whole window.

v7.37.1
10 days ago
IMPROVED

v7.37.1 — Cloaked pages: mailto / tel / FaceTime links open the right app

Cloaking sharpened. When a cloaked short link's destination contains another short link of yours that hands off to a mail, phone, SMS or FaceTime URL, that handoff now breaks cleanly out of the cloak frame and into the mail client (or dialler). Before, the click landed inside the cloaked iframe and Gmail / your default mailto handler would refuse to load, leaving a blank tab.

The break-out covers mailto:, tel:, sms:, facetime:, geo: (maps), whatsapp:, tg: (Telegram) and a few rarer schemes. Direct hits to those short links (not from inside an iframe) keep the same fast redirect they always had.

v7.40.0
6 days ago
IMPROVED

v7.40.0 — Menus v2: multi-category, cross-category drag, Connect tab, IDR + 40 currencies

Big polish pass on Menus based on real use.

Items now belong to multiple categories. Pick one or more from the chip picker in the item modal — the dish appears under each one on the public menu. The first selected becomes the primary for ordering.

Drag an item between categories. Pick up an item by its grip handle, drop it on a different category. It moves there; the item's primary category updates. Drop into the same category to reorder.

New Connect tab. Inside the menu editor, see every short link and QR code pointing at this menu. Connect an existing short link with one tap (it gets converted to a Dynamic-menu type). Spin up a fresh short link in one click with the + New short link button. Pick a QR design from your library and the platform wires the chain (menu → link → QR design) automatically.

Full currency list. 40 currencies including IDR (Indonesian rupiah), THB, SGD, MYR, VND, PHP, AED, ZAR. Per-item currency override picker uses the same list.

Design tab — sharper. Theme presets are now a 2×2 grid of compact tiles showing each preset's palette swatches. Accent colour swatches, native picker and hex input sit on one tidy row.

Dynamic vs PDF. In the link editor, the "Menu" destination type is split into Dynamic menu (pick one of your built-in menus) and PDF menu (upload a file) — no more confusing same-named option appearing twice.

Polish across the board. Every native browser dialog (alerts, confirms, prompts) replaced with the platform's own modals. Toast feedback after every save. Cleaner cards. Delete works.

Read the docs →

v7.39.0
6 days ago
NEW

v7.39.0 — Digital QR menus

A whole new surface in the sidebar: Menus. Build a mobile-first digital menu — categories, items with photos and prices, dietary tags, availability toggles, optional info section (hours, address, contact), brand styling — and point a QR code or short link at it. The customer scans, lands on linked.codes/m/<your-slug>, and never sees a PDF.

Setup is three fields wide: name, slug, default currency. Items live inside categories you can drag to reorder; per item you get a description, price, photo, dietary tags, an availability toggle. Each menu has its own theme preset (light / dark / mint / warm), accent colour, font and optional logo + cover image.

The link editor's destination types gained a Menu option — pick from a dropdown of your menus instead of pasting a URL. Same for the QR designer. Custom-domain users can set the menu as the domain's index, so your-restaurant.com/ opens the menu directly.

Multi-language menus are driven by CSV: export your menu in its default language, translate the file (manually, or via your AI tool of choice), and import it back as another language. Non-default-language imports only update the translation rows — categories, items and prices stay untouched.

Read the docs →

v7.36.0
2 weeks ago
IMPROVED

v7.36.0 — Click a user in the roster to see their activity

The user roster on Traffic gained a click-target. Tap the email + meta line on any row and a small card slides in with the headline numbers for that account — short links created, QR designs created, total clicks, the date of the most recent click, plus when they joined and last signed in.

If you're an admin looking at a business account, two extra tiles show: custom domains they've added and how many sub-users they have under them.

The action buttons (Log in as, Grant) keep working the same way — they don't open the popup. The whole popup closes when you click outside it.

v7.35.0
2 weeks ago
NEW

v7.35.0 — Link cloaking — keep the short URL visible

A new toggle on URL links: Keep the short URL visible. Flip it on and the visitor lands on your short URL and stays there — the destination loads inside a full-page frame instead of redirecting. The address bar keeps showing your-domain.com/promo even when the underlying URL is a tracking-laden affiliate link or a partner microsite.

Two extra fields in the same card let you set the page title and upload a favicon (PNG, JPG, WebP, SVG or ICO, under 512KB), so the cloaked tab looks like its own page rather than a borrowed one.

Pixels still fire, password protection still gates, click tracking still records. The trade is with app linking — cloaking and app linking are mutually exclusive on a single link (app linking hands the visitor to a native app scheme, which defeats keeping the short URL visible). Pick one per link.

Some destinations refuse to be framed — banks, Google, YouTube, LinkedIn and most major platforms block iframing via security headers. Independent sites, your own pages, and most partner microsites work fine. The full caveat list is in the docs.

Read the docs →

v7.34.4
2 weeks ago
IMPROVED

v7.34.4 — Preview images for WiFi, vCard, Calendar and the rest

Auto-fill widened. URL links pull their share preview from the destination's own Open Graph meta; the rest of the link types (WiFi, vCard, Calendar event, SMS, phone, email, WhatsApp, Telegram, FaceTime, Maps, file, PDF, menu, crypto, PayPal, UPI, text, Google review) now generate a brand-correct 1200×630 preview image when you create the link — the type icon and its key field (the SSID, the contact name, the event title, the phone number) on a black-and-mint card.

Drop the link into iMessage, Slack, LinkedIn or Discord and the unfurl card has a real hero instead of an empty rectangle. Upload a custom image any time to replace it — your image always wins.

v7.34.3
2 weeks ago
IMPROVED

v7.34.3 — Mailto short links open cleanly on iOS Mail

Mailto-type short links now hand iOS Mail a clean draft — multi-word subjects and multi-line bodies open with proper spaces and line breaks instead of + characters strung between every word. Existing mailto links pick the change up on the next click; nothing to update on the dashboard.

v7.34.0
3 weeks ago
IMPROVED

v7.34.0 — Social preview auto-fills from your destination

The Social preview card on a URL link's edit page is sharper. When you create the link, the title, description and image come over from the destination's Open Graph meta automatically — you land in the editor with the three fields already filled. Anything you type later stays put; auto-fill only runs once on first create.

A dedicated Auto-fill from destination button now sits at the top of the card so you can re-pull whenever you want — handy after you change the destination URL or the destination's own meta has been updated. The button overwrites the three fields with whatever the destination is exposing now.

Non-URL types (WiFi, vCard, Calendar, file, payment, chat) keep the manual form — they serve their own scan page, so there's no upstream destination to pull from.

Read the docs →

v7.32.0
3 weeks ago
NEW

v7.32.0 — Duplicate any link or QR code

A Duplicate button now sits in the header of /app/links/<id> and /app/qr/<id>. One click and you land on a fresh copy you can tweak.

Short links — the copy carries destination, type, type-fields, tags, OG preview, expiry, UTM, password, no-index, in-app routing, pixels, and query forwarding. The slug gets -copy appended (or -copy-2, -copy-3 if taken) and the name gets (copy) on the end. Click history doesn't carry — the new link starts at zero.

QR codes — the copy carries the full design (colors, error correction, dot style, frame, logo) and tags. The name gets (copy) appended. Connections to short links don't carry, so the duplicate is a clean design you can tweak before wiring up — no surprise QRs appearing on existing links.

Use it for A/B-ing a layout, branching a campaign, or just trying a colour variant without losing the original.

v7.31.0
3 weeks ago
NEW

v7.31.0 — Table view on links + QR codes (desktop)

Card grid is still the default, but /app/links and /app/qr now have a Grid / Table toggle in the top-right of the filter row.

  • The table is a clean read of the same data: mono-font column headers, hairline row dividers, hover tint, click any row to open the link or QR.
  • Links table columns: Name · Short link · Type · Tags · Clicks (30d, with trend %) · Actions (copy / edit / open in new tab).
  • QR codes table columns: a 40×40 QR thumbnail so the visual identity carries across views, then Name · Tags · Linked count.
  • The choice is remembered per page, so the next visit opens in the same view.
  • Mobile: the toggle is hidden and the card grid is always used. Tables don't read well at narrow widths so the toggle stays a desktop affordance.

Same data, two reads. The card grid is right for scanning by the visual signal (the sparkline, the QR preview). The table is right when you have many entries and you want to scroll through them density-first.

v7.30.1
3 weeks ago
IMPROVED

v7.30.1 — Related-tools strip fix + richer location tool + FAQ rich results

  • The "Related tools" strip at the bottom of each tool page now renders on the dark canvas with full card visuals (previously the text rendered white-on-white on some pages).
  • The free Location QR generator at /location-qr-code-generator now matches the in-app editor — pick Single place / Directions mode, choose Auto / Google Maps / Apple Maps provider, and fill in the right fields for the mode you picked. Directions mode lets you set an origin (or leave blank to use the scanner's current location) and a destination.
  • Tool pages now emit FAQPage structured data so the FAQs at the bottom can show as rich results in Google search.
v7.30.0
3 weeks ago
NEW

v7.30.0 — Seven new destination types + sixteen new free tools

Big surface expansion. Twenty-six free tool pages, seven new destination types, and proper subtype pickers for the social/community ones.

New destination types in the link editor:

  • Instagram — pick Profile / Post / Reel / paste any IG URL.
  • TikTok — Profile / Video / paste URL.
  • YouTube — Channel / Video / Playlist / Short / paste URL.
  • LinkedIn — Profile / Company / Post / Newsletter / paste URL.
  • Spotify — Track / Album / Artist / Playlist / Episode / paste URL.
  • Discord — Server invite code / paste URL.
  • App download — separate iOS App Store URL, Android Play Store URL, plus a web fallback. Scans get device-routed automatically: iPhone → App Store, Android → Play Store, anything else → your fallback.

Each new type has a real form in the dashboard (not a generic "paste URL" — pick the surface, fill the right field).

New free tools pages (great for SEO + sharing):

Instagram QR · TikTok QR · YouTube QR · LinkedIn QR · Spotify QR · Discord QR · Telegram QR · WhatsApp QR · Email QR · SMS QR · Phone call QR · Calendar event QR · Bitcoin QR · Location QR · Text QR · App download QR · PayPal QR · UPI QR · Google review link · UTM link builder · vCard QR · WiFi QR · Dynamic QR menu · PDF to QR code · Short link generator · QR code generator.

All twenty-six listed at /tools with a sticky category nav at the top. Logged-in users clicking a tool land on the new-link editor with the right destination type pre-selected.

Tool pages also got a "Related tools" strip at the bottom — cross-linked between sibling tools by category.

v7.25.2
3 weeks ago
IMPROVED

v7.25.2 — Google review links: confirmation card in the dashboard

Picking your business in the link editor now shows a green-tinted confirmation card with the name + address, plus a status line that tells you what the saved destination is:

  • REVIEW LINK READY ✓ — destination = Google's writereview popup. Scanners get the one-tap star picker.
  • Falls back to Maps listing — destination = Google Maps search URL. Scanners land on your listing, "Reviews" is one tap away.

Either way the link works; the card just tells you which experience scanners will get.

v7.25.1
3 weeks ago
IMPROVED

v7.25.1 — Google review links now open the review popup directly

Google review links now redirect to the leave-a-review popup for your business — star picker first, no intermediate Maps listing. Pick a star, write a sentence, submit. Same search-by-business flow as before; the destination is just sharper now.

  • One tap to the star picker. Scanning the QR opens Google's writereview URL directly. The popup with the five stars is the first thing customers see — not a Maps listing they have to tap "Reviews" on first.
  • Same business search. Type your business name in the link editor or at /google-review-link-generator, pick it from autocomplete. The platform handles the Place ID lookup behind the scenes.
  • Graceful fallback. If Google can't resolve a Place ID for your business (rare — usually only happens for very new businesses without a verified profile), the destination falls back to a Maps search URL — customers land on your listing with "Reviews" one tap away.
v7.25.0
3 weeks ago
IMPROVED

v7.25.0 — Google review type, now in the link editor

The Google review destination type is now selectable directly in the link editor — pick Google review from the type tiles, search your business by name, save. Same business search that powers the Maps type, no API setup on your end.

  • Search your business inline. Type a business name in the link editor — autocomplete shows matching listings with their full address. Pick yours, the destination's filled.
  • Editable later. If you ever rebrand or move locations, swap the linked business in your dashboard — the printed QR keeps working.
  • Fix: if you tried switching an existing link's type to PDF, Menu, or Google review in v7.24.0 and saw a "type_check" error, that's resolved — switch freely between any types now.
v7.24.0
3 weeks ago
NEW

v7.24.0 — Google review links — search, build, print

A new destination type and a matching free tool. Search your business on Google, get a short link + QR that opens the canonical "leave a review" form for that business. Print on a counter card, customers scan, review posted in under 30 seconds.

  • New destination type. Pick Google review in the type picker on /app/links/new (or in any QR builder) — same as picking a URL, vCard, or WiFi type. The destination is editable later if you ever rebrand or move locations.
  • Free landing page. /google-review-link-generator has a Google-search-style autocomplete — type your business name, pick it from the list, save the link. No URL-hunting through Google Business Profile.
  • Smaller QR, editable destination. The QR encodes a short link, not the long Google URL — fewer modules so it scans cleaner on a small card, and the destination is editable in your dashboard if Google ever changes the review URL format.
  • Per-scan analytics. Each scan logs a row (date, country, device family) so you can tell which placement (counter, receipt, takeaway bag) actually drives reviews.
  • Full guide: Google review links docs.
v7.21.0
3 weeks ago
NEW

v7.21.0 — Agency mode: create users, log in as them, view-only access

Three new affordances on the Users tab, all under hosting. Together they're the agency-tier toolkit: provision customer accounts without making them sign up, jump into their dashboard to fix something, hand out read-only access to anyone who shouldn't be editing.

  • Create an account for a customer. Settings → Users → "+ Create user". Fill in email, role, plan. Choose whether we email them a setup link or you copy and share it yourself — your call.
  • Log in as them. Per-row "Log in as" button mints a session as that customer and drops you into their dashboard. A black banner stays at the top until you hit Exit. Every impersonation is logged.
  • View-only accounts. New role: viewer. Same login flow as any other user, but every edit / create / delete endpoint refuses the request. Useful for clients who should see the dashboard, junior teammates onboarding, auditors who just need numbers.
  • 14-day setup links. New users get a one-time link to set their own password. Expired? Open their row and click "Setup link" for a fresh one.
  • Read the full guide. Agency mode docs covers when to impersonate vs not, the setup-link lifecycle, and what's visible to admins.
v7.20.13
3 weeks ago
IMPROVED

v7.20.13 — Affiliate payouts via PayPal, no minimum

Affiliate payouts are easier in two ways. The $50 minimum balance is gone — request a payout the moment your first sale clears the 60-day pending window. And the request form swapped four bank-detail fields for a single PayPal email field. If you'd rather receive a bank wire instead, drop a note on the request and we'll coordinate manually.

  • No minimum payout balance. Whatever's in your confirmed bucket, you can request it.
  • PayPal as the default method. One field — your PayPal email — and we send within a few business days.
  • Bank wire still available. Mention it in the notes on the request and we'll handle it manually.
  • Cleaner request flow. The /app/account affiliate panel's payout button now lights up as soon as you have any confirmed balance, not at $50.
v7.20
3 weeks ago
ADDED

v7.20 — PDF + Menu destination types

Two new destination types in the picker — PDF and Menu — alongside the existing File. Behind the scenes they all upload the same way and redirect the same way; the difference is which one shows up clearly when you're setting up a link for a specific job.

  • PDF — for any document you want a short link or QR code to open. Same drag-and-drop upload as File, just labelled clearly so it's obvious in the picker.
  • Menu — built for restaurants. Upload your menu PDF, print the QR on the table tent, customers tap it from their phone. Switch the menu in your dashboard whenever you change items — the printed QR keeps working.

The drop-area copy adjusts to match: "Drop a PDF here…", "Drop your menu PDF here…". Nothing else changes — analytics, custom domains, password protection, expiry, all still apply the same way.

If you've already got file-type links pointing at PDFs, they keep working. Switch them to the PDF type from the editor when you want the picker to read clearly.

v7.19
3 weeks ago
ADDED

v7.19 — Forward query parameters

A new per-link toggle in the editor: Query forwarding. When on, any query string the visitor lands on (?recipient=alex, ?ref=email, ?aff=partner42) gets merged into the destination URL before the redirect — so the destination's own analytics see it without you having to spin up a separate short link per source.

  • Email tracking. One short link in the newsletter, a unique ?recipient=... per send. Destination's analytics see each click by recipient. No per-recipient link table.
  • Affiliate IDs. Partners hit yoursite.work/get-the-app?aff=partner42, the destination's onboarding picks it up.
  • A/B variants. Drop ?variant=B on half your traffic; the destination splits the buckets without you changing the short URL.

Safe defaults: the destination's own params + your link's configured UTMs always win over forwarded values, so a forwarded query can't accidentally overwrite a setting you put there on purpose. Off by default — flip it on per link from the editor's Query forwarding card.

Walk-through in the short links doc.

v7.17.7
3 weeks ago
FIXED

v7.17.7 — Password protection fix + new docs

Two new help pages, one important fix.

  • Password protection saves reliably now. A bug was clearing the saved password a moment after you set it, so the link stayed open even though the toggle said "on". The status pill at the top of the password card now turns green and stays green. If you set passwords yesterday and they didn't stick, set them again — they will this time.
  • New help page: Password-protect a short link. Full walkthrough of the toggle, themes, password rotation, and what visitors see.
  • New help page: Tracking pixels. How the pixel library works, supported platforms, attaching one pixel to many links, and the 500ms interstitial trade-off.
  • Help search cleaned up. Results now show a sentence of context instead of a fragment of code from the page source.
v7.17.1
4 weeks ago
IMPROVED

v7.17.1 — App linking detects the app

App linking now recognises 26 consumer apps and tells you when one's matched. Past nine (Instagram, TikTok, YouTube, X, Reddit, Spotify, LinkedIn, Facebook, Threads): WhatsApp, Telegram, Pinterest, Snapchat, Twitch, Facebook Messenger, Apple Music, Netflix, Amazon, AliExpress, StockX, Airbnb, Booking.com, TripAdvisor, Google Maps, Google Docs, Google Sheets, Google Slides.

  • Live detection. Paste a URL in the link editor and you'll see "Detected: Instagram" (or whichever app) under the toggle. Doesn't match? You'll see "Generic browser open" instead — useful sanity check before turning the feature on.
  • URL-only. The card now hides itself unless the link's destination is a website. App linking is meaningless for vCards, WiFi, SMS or PayPal, so the editor doesn't show it there.
  • Inline pixel create. The Tracking pixels card gets a "+ New pixel" button — add a pixel from inside the link editor without bouncing to /app/pixels. The new one auto-attaches to the link.

Password protection also got a fix — the field now saves reliably on the first try.

v7.17
4 weeks ago
IMPROVED

v7.17 — Pixel library + cleaner link editor

Tracking pixels are now a proper library at /app/pixels. Add a pixel once — Facebook, GA4, GTM, LinkedIn, Pinterest, X, Quora, TikTok or Snapchat — then attach it to any short link with a checkbox. No more pasting IDs on every new link.

  • Pixel library. A new Pixels tab in the sidebar. Each pixel gets a name, a type and the platform ID. Edit it in one place and every link that uses it picks up the change.
  • Attach with a checkbox. Inside a link, the Tracking pixels card lists your library — tick the boxes for any you want to fire on that link. Up to 20 per link.
  • Two new platforms supported. Quora and Snapchat join the firing list, bringing it to nine: Facebook, GA4, GTM, LinkedIn, Pinterest, X, Quora, TikTok, Snapchat.
  • Delete cleans up after itself. Removing a pixel detaches it from every link automatically — no broken references.

The link editor also got tidier:

  • Password protection is now a clean toggle. Flip it on and the settings (password, subtitle, theme) slide into view. Flip it off and the link goes public again.
  • Open in native app has its own card. Same toggle pattern.
  • Hide from search engines moved into the Social preview card — that's where it belongs alongside the OG tags.
v7.16
4 weeks ago
ADDED

v7.16 — Short-link power tools

Every short link gets a new "Privacy & access" + "Tracking pixels" card in the editor. Four big additions in one push — pick any combination per link.

  • Password protection. Add a password to any link, pick a theme (Light / Dark / Mint), customise the prompt subtitle. Visitors see the prompt before the redirect; a 24-hour cookie remembers them. Change the password and every existing cookie invalidates instantly. The prompt page is noindex automatically so it never lands in search.
  • Open in native app on mobile. Toggle on for any destination on Instagram, TikTok, YouTube, X, Reddit, Spotify, LinkedIn, Facebook or Threads — the redirect tries the native app's URL scheme first and falls back to the browser if the app isn't installed. Desktop visitors always get the regular browser URL.
  • Hide from search engines. Per-link toggle adds noindex, nofollow to the link-preview crawlers see. Use for private campaign URLs, customer-specific deliverables, anything you don't want Google indexing.
  • Tracking pixels. Paste your Google Analytics 4, Meta Pixel, TikTok Pixel, LinkedIn Insight, Pinterest Tag or X Pixel ID and the redirect fires them client-side just before sending the visitor on. No code on the destination site needed. 500ms interstitial keeps the redirect fast.

Each card is collapsed by default — only opens when you have something to set.

v7.15
4 weeks ago
IMPROVED

v7.15 — More QR shapes

The QR designer at /app/qr picks up nine new module + eye shapes. Open any QR design and the Eye style + Body pattern pickers now scroll horizontally with the full set.

  • Eight new body patterns: Hexagon, Plus, Star, Bricks, Triangles, Leaves, Chevrons, Crosses. Plain Square stays the safest scan; the more decorative patterns lean on error-correction at level Q or H to recover.
  • Two new eye styles: Drop and Hexagon. Drop is a softer leaf variant; Hexagon uses three nested pointy-top hexes so the decoder still resolves three concentric rings.
  • Diamond frame joins Square, Rounded, Round, Brackets, Hexagon and Heart — a rotated-square outline that fits a QR with the same fill_pattern decorative-dots support as the round and hexagon frames.
  • Scanability score updates. Each pattern carries its own penalty in the live score — bigger hits for the lower-coverage shapes (Star -10, Triangles/Crosses -8) so you can see at a glance which combinations still survive a print run vs which want extra error correction.
  • Margin slider lives in its own card above Error correction now, instead of being buried inside the Frame section. Works the same whether you have a frame or not — adjust the outer breathing room of the QR independently.

Admin-curated template designs that pick the new patterns render correctly on every surface (homepage, blog galleries, dashboard preview, scan-time SVG export).

v7.14
4 weeks ago
ADDED

v7.14 — Dynamic WiFi QR codes

A new destination type for short links + QR codes — a WiFi page you can re-point whenever the password changes. The printed QR keeps working. No reprint.

  • The QR scans to a Linked.Codes-hosted page, not the standard WIFI: string baked into the modules. So when the password rotates next month, you edit it in your dashboard and every existing sticker, poster, or business card carrying that QR keeps working.
  • Password hidden by default. The page shows the network name up front. Password sits behind a Reveal button. A Copy button writes it straight to clipboard — guest never has to read or type it, casual passer-by can't pluck it off a counter sign.
  • Three themes — light, dark, mint. Each WiFi link picks one. Title + subtitle are optional ("WiFi at Mountain Café" + a short welcome line).
  • Available everywhere a destination is — pick WiFi in the type chips on the homepage, the QR generator, the short-link generator, the dedicated WiFi QR page, or in the link editor at /app/links. Same fields everywhere.
  • "Powered by Linked.Codes" toggle for lifetime and hosting plans. Free tier keeps the footer line on.

Built for the cases where the password actually changes — hotels rotating per-stay, Airbnbs cycling between guests, cafés refreshing after staff turnover. The QR you printed once stays useful indefinitely.

v7.7
4 weeks ago
ADDED

v7.7 — Whitelabel SMTP — send from your own email

Transactional emails to your users now go from your domain, not ours. Welcome emails, password resets, scan alerts — they all leave from a noreply@yourbrand.com (or whatever mailbox you point them at) instead of hello@linked.codes. End users never see Linked.Codes in the From line, the Reply-To, or the unsubscribe footer.

  • Connect any SMTP provider. Namecheap private email, Google Workspace app passwords, Postmark, Mailgun, AWS SES — anything that speaks SMTP. Paste host, port, user, password into Email → Settings, hit Test connection to verify the credentials before you save.
  • Live "active transport" pill on the connection card. Once your SMTP saves, the pill flips to SMTP · mail.yourbrand.com and every transactional after that fires from there.
  • Hosting tier required. SMTP saves whenever you want — but the actual sending only fires for businesses on a hosting plan. Without hosting, your settings sit ready and your users get the platform default until you upgrade. The page tells you which state you're in.
  • From-address rule baked in. Most SMTP servers reject sends if the From email doesn't match the authenticated mailbox. The Settings form spells out the rule under the From field so you don't get bounced with a "Sender address rejected" 553.

A specific operational benefit beyond the brand: your sending reputation is now yours. If your platform sends 5,000 password resets a month with a 99% open rate, that reputation accrues to your domain — not to a shared shortener-vendor pool that some other tenant might torch with bulk outreach.

The Settings form is identical to the platform admin's for parity, with Outreach + Warm-up tabs hidden because those are platform concerns. Templates and Activity views per-tenant are coming next.

v7.6
4 weeks ago
IMPROVED

v7.6 — Dashboard, calmed down

The /app dashboard now reads as a real overview instead of an analytics dump. Same visual language as the traffic page — true-black tiles, mint accents, mono numbers, no crammed grids.

  • Four small KPI tiles up top — visitors, clicks, live now, active links. Numbers count up when the page loads. The "Live now" pip pulses when a session is active in the last 5 min.
  • One clean hero line showing the last 7 days of clicks, mint area fill, total to the right.
  • Two columns underneath:
    • Left: top performers in the last week (with a per-row sparkline) + recent visitors (country flag + landing path + how long ago).
    • Right: latest blog post, the last two product updates, and quick "New link / New QR / Add domain" actions.
  • Recent assets strip at the bottom — your last five links + QR codes mixed together, sorted by when you created them.

The old triple-metric hero, the per-day bar chart, the standalone "Top 5" card and "Daily activity" 2-up are gone — their best parts folded into the new layout. For the deeper view, Traffic covers every breakdown.

v7.5
4 weeks ago
IMPROVED

v7.5 — Traffic, rebuilt

The Traffic tab is denser, more visual, and defaults to today.

  • Six KPI cards at the top with sparklines — Visitors, Page views, Signups, Abandoned, Conversion rate, Avg duration. Black cards, mint trend lines.
  • Visitors & views over time — proper line chart now, with both metrics overlaid, dotted point markers, and a hover tooltip that follows your cursor showing the date and both values.
  • Conversion funnel — Visitors → Engaged → Signups with the survival rate on each arrow. The dropoff is where attention is leaking.
  • World map — pulsing dots for countries with active sessions in the last 5 min, brightness scales with traffic share.
  • Six breakdown donuts — Device, Browser, OS, Country, Referrer, UTM source. Donut on the left, legend on the right with the percentage and raw count.
  • Per-surface breakdown — which pages are pulling traffic, sorted by view count.
  • Range picker — Today, 24h, 7d, 30d, 90d. Whichever you pick sticks across reloads.

The Engaged number no longer exceeds Visitors (was a denominator bug — a session-counting issue that let the funnel show 123% engaged). Conversion rate, avg duration, and the per-window calculations are all over the same since → until cleanly. Documented honestly: avg duration is a proxy because the schema doesn't track real time-on-page yet.

v7.3
4 weeks ago
IMPROVED

v7.3 — Feedback alerts + roadmap announcements

Two changes on the /feedback board.

  • Subscribe to status updates. A bell icon on every post — click it and you get an email whenever the status changes (planned, in progress, shipped). Click again to turn alerts off. Works for any signed-in account.
  • Roadmap announcements. Posts marked as platform updates now sit at the top of the board with the status as the headline and no voting — so the board reads as both a request queue and a roadmap.
v7.1
4 weeks ago
IMPROVED

v7.1 — Updates, surfaced where you'll see them

The dashboard now nudges you when something changes instead of waiting for you to wander into the changelog.

  • Bell in the top bar. A small red dot appears when there's something new since you last looked. Click the bell for a panel of the most recent updates — opening it marks them read.
  • Reload nudge. When a new build goes live while you're already in the dashboard, a small toaster slides in offering a one-click reload (and a link to what changed).
  • Version line under your profile. Subtle, just the running version, click-through to the changelog.

All three respect your role — sub-users on your platform see only the entries relevant to them, business owners see the wider set, and on a custom domain the bell links to your changelog (not ours).

v6.99.5
4 weeks ago
IMPROVED

v6.99.5 — Short-links docs, properly indexed

The "What you can point a link at" cards on /docs/short-links now actually take you somewhere useful. Each card jumps to its own section — URLs, Phone/SMS/FaceTime, vCard, Calendar, Maps, File, Payments, Chat, Email, Text snippet — and each section reads like "here's what you'd actually use this for" instead of a feature spec. Examples ranging from restaurant menus and trade-show vCards to UPI tip jars and Telegram bot deep-links.

v6.99
4 weeks ago
IMPROVED

v6.99 — Traffic, deeper

Your Traffic dashboard now answers the obvious next question.

  • Click any row. Top countries / referrers / pages — every row expands inline showing where those visitors went, what device they were on, and the most recent sessions matching. Click "Google" to see exactly which pages your Google traffic landed on.
  • Show all. Lists default to the top 5; one tap reveals the full top 25.
  • Live now. A small chip top-right of the hero pulses when someone is on your site right now. Click it for a live list of who's where, refreshed every 20 seconds.
  • Sign-up velocity. New card under the main chart with a 30-day spark of daily sign-ups so you can see if the line is bending the right way.
  • Returning visitors. New tile shows the share of this period's visitors who'd already been to your site in the prior two weeks.
  • Honest comparisons. Day-over-day tooltips now say "X visits · Y on May 2" instead of the old vague "previous", and the headline change pill spells out the comparison window underneath ("vs previous 30 days" / "vs same time yesterday").
  • Revenue tiles, when there's revenue. MRR + new revenue tiles only appear once your site has real subscription or lifetime data — otherwise they don't shout "—" at you.
v6.82
5 weeks ago
IMPROVED

v6.82 — Powered-by footer earns 30%

The "Powered by Linked.Codes" footer toggle in your branding settings now spells out what's been true since the affiliate program shipped: the link carries your affiliate code automatically. Anyone who clicks it from your tenant pages and signs up earns you 30% of every payment they make, lifetime + recurring, for as long as they keep paying.

Nothing changes in the mechanics — just clearer signage so you know it's an income stream, not just a credit line.

v6.32.0
5 weeks ago
FEATURE

v6.32.0 — Traffic dashboard

We just shipped first-party website analytics. Every dashboard now has a Traffic tab in the sidebar — page views, unique visitors, sign-up conversion, plus the breakdowns you'd actually want (top countries, referrers, pages, devices).

  • No third party. No Google Analytics, no Plausible, no Fathom. The data lives in the same Postgres database as your links — yours, exportable, deletable.
  • No cookie banner needed. We never store IP addresses or full user-agents. Visitor identity is a daily-rotating SHA-256 hash, irreversible without the server's private salt. That's enough to count "unique visitors today" without recognising anyone tomorrow.
  • Sign-up conversion baked in. Every range shows you sign-ups and what fraction of unique visitors converted, side-by-side with the traffic numbers.
  • Range — 7, 30, or 90 days. Daily area chart with a hover tooltip per day.
  • Breakdowns — top countries (with flags), top referrers (host-only — never full URLs), top pages (path, with numeric IDs collapsed to :id so the list isn't noisy), and a desktop / mobile / tablet split.
v6.31.0
5 weeks ago
FEATURE

v6.31.0 — Public feedback board

We have a shared roadmap now at /feedback. Suggest features, report bugs, vote on what's coming. Read-only for everyone, post + vote for paying customers.

  • Public read — anyone can see what's been suggested, what's planned, and what's shipped. The board sorts by votes by default.
  • Submit + vote — if you're a paying business account, you can post new ideas, file bugs, and vote on the queue. Voting is what we use to prioritise — make your wishes count.
  • Statuses — every post is one of Open / Planned / In progress / Shipped / Declined. Filter the board with the pills at the top.
  • Admin notes — when we reply on a post, you'll see a green note under the body explaining what's happening (or why something was declined).
  • Discoverable — Feedback link is in your dashboard sidebar, in the public footer, and at /docs/feedback.

We aim to triage every new post within a week.

v6.30.0
5 weeks ago
IMPROVED

v6.30.0 — Email notifications expanded

A wider set of account events now sends an email so you stop having to check the dashboard for status changes.

  • Welcome email when a new account signs up — yours when you join Linked.Codes, and your team's when they join your platform.
  • Password reset delivered as email rather than dashboard-only — hit "Forgot password" on the login screen and the reset link lands in your inbox within seconds.
  • Custom domain verified — when your DNS finally points the right way and your domain goes live, you get a note.
  • Hosting usage warnings — at 80% and 100% of your monthly visit cap. No more "wait, when did I cap out?".
  • Hosting ended — when hosting lapses, you get a clear note about what changes (nothing visible to your team — they keep working) and how to renew.
  • Auto-upgrade confirmation — if you turned on auto-upgrade and we bumped you to the next tier, you find out by email rather than on your next billing statement.

Notifications come from hello@linkedcodes.com. Reply to any of them — we read every one.

v6.29.0
5 weeks ago
IMPROVED

v6.29.0 — Analytics polish: destination headlines, single-link focus, country tile

A round of analytics quality-of-life fixes after the big tracking rebuild.

  • Top performing links now leads with the destination host (e.g. instagram.com) instead of your short link's domain. The short link path is still shown so you know which one drove the clicks.
  • Click any top link to filter the rest of the analytics page to that single link. A black card pins the selection at the top with a one-click deselect, and the tag strip hides while you're zoomed in on one link.
  • Top country now works without Cloudflare — country gets derived from the visitor's IP. Powers the dashboard tile and the "Top countries" card across the board.
  • Link-attached UTM (auto-append set on a short link) now populates analytics. Set utm_source=newsletter on a link and you'll see it under "Top UTM sources".
  • Hover tooltips on dashboard daily-clicks bars show the date + count. Hero numbers count up/down smoothly when you switch ranges.
v6.27.0
5 weeks ago
FEATURE

v6.27.0 — Unified menu across all public pages

Every public page on your domain — home, pricing, docs, changelog, legal, plans — now shares the same header + footer. Same nav, same look, branded with your logo + accent colour.

  • Header: sticky on scroll, blurred backdrop. Nav links: Docs / Changelog / Pricing / Legal. Right side has Sign in + Get started for logged-out visitors, or a profile chip that links straight to the dashboard for signed-in customers.
  • Mobile: nav collapses into a hamburger (≡) button. Tap it and a slide-down panel reveals each nav item plus the right-side actions, sized for thumbs.
  • Footer: clean 3-column nav (Product / Account / Legal) with your wordmark, tagline, and copyright. "Powered by Linked.Codes" line shown on tenant domains, hidden on linked.codes itself.
  • Branding: the menu picks up your logo, name, and accent colour automatically — same rules as the rest of the public surface. Active nav item gets a 2px underline in your accent. Primary CTA hovers fade to your accent.
  • Auth pages (sign in, register, forgot password, reset password) intentionally skipped — they're single-task pages where a full nav would distract from the form.
v6.26.0
5 weeks ago
IMPROVED

v6.26.0 — Pricing page: cleaner billing-period toggle

Your tenant /pricing page (what your customers see when they shop your plans) just got a real redesign.

  • Monthly / Yearly / Lifetime toggle above the plans grid — only renders pills for billing periods you actually offer. Plans missing a period show a small "Not available" placeholder so the grid keeps its rhythm.
  • Each card shows one price + one CTA at a time instead of stacking three buttons.
  • Logged-out shoppers see "Sign up free" on free plans (instead of the nonsensical "Switch to Free"), and "Get [Plan] · $X/mo" anchors on paid plans that route them to sign-up first.
  • Logged-in customers click straight through to Stripe Checkout (or get assigned the free plan instantly).
  • "Manage billing" button on the customer's current plan opens the Stripe billing portal directly.
v6.24.0
5 weeks ago
FEATURE

v6.24.0 — Custom landing for your short-link domains

Set what visitors see at the bare root of your short-link domain — and what they see when they hit a slug that doesn't exist.

  • Open Domains → click Settings on any short-link or both-kind domain.
  • Index URL — where to send people who land on https://yourdomain.com/ with no slug. Could be your homepage, a campaign page, anything.
  • 404 URL — where to send people who hit a slug that doesn't exist. Could be a custom "page not found" on your marketing site.
  • Both fields accept full https:// URLs or paths like /welcome. Empty = the platform's default 404 page.

This is per-domain — you can configure each domain differently. Settings only available on short-link or both-kind domains; dashboard domains don't have this option (they serve the actual dashboard).

v6.23.0
5 weeks ago
FEATURE

v6.23.0 — PayPal, UPI, Crypto destinations

Three more types in the dynamic-destination picker:

  • PayPal — PayPal.me handle with optional amount and currency. Opens the PayPal app on phones, web on desktop.
  • UPI — Indian UPI deep link (upi://pay?…) with VPA, optional amount, payee name, and note. Triggers any installed UPI app — Google Pay, PhonePe, Paytm, anything else.
  • Crypto — wallet URI for any chain whose scheme is registered on the device: bitcoin, ethereum, litecoin, dogecoin, solana — type the chain name and an address, add an optional amount and label.

WiFi, EPC (SEPA), and PIX Payment QR codes are coming in a separate ship — they use text-payload formats that need to be baked into the QR image directly rather than redirected to, so they need a different rendering path than the rest.

v6.22.1
5 weeks ago
IMPROVED

v6.22.1 — Maps: pick Auto, Google, or Apple

The Maps destination type now has a provider toggle right under the Mode toggle:

  • Auto (default) — auto-detects the visitor's device. Apple Maps on iPhone, iPad, and Mac; Google Maps everywhere else. One link, the right app for whoever scans it.
  • Google Maps — always opens Google Maps, regardless of device.
  • Apple Maps — always opens Apple Maps. (Visitors on Android/Windows see the web version.)

A small hint under the toggle explains exactly what each option does.

v6.22.0
5 weeks ago
FEATURE

v6.22.0 — Five new short-link destination types

A short link can now point at a lot more than just a URL. The destination type picker on a link's edit page is a horizontal row of icons — flick through to find what you need.

  • Calendar event. Pick a title, start, end, location — visiting the link downloads an .ics file that imports straight into iOS / Google / Outlook Calendar.
  • Telegram chat. Username + optional pre-filled message. Opens the Telegram app or web fallback.
  • FaceTime. Phone number or Apple ID email — taps straight into a FaceTime call on Apple devices.
  • Maps. Either search a place, or build a directions URL with a destination (and optional origin). Opens in Apple Maps on iOS, Google Maps on Android, browser everywhere else.
  • File upload. Upload a PDF, image, doc, zip, audio or mp4 (≤5MB). Visiting the link redirects to the file. Replace or delete it anytime — the short URL stays the same so anything already shared keeps working with whatever you put behind it next.

The full type list is now: URL · SMS · Phone · Email · WhatsApp · Telegram · FaceTime · vCard · Calendar · Maps · File · Text. All keep the same printed-QR rule: the slug never changes, so what you've already shared stays alive.

v6.21.0
5 weeks ago
IMPROVED

v6.21.0 — Real numbers on link cards + a proper link Overview

The link cards on Links were showing a placeholder graph and a fake "+X%" pill — the big number was real but the rest was mock visuals that never got swapped for live data. Fixed.

  • Card sparklines and the trend pill are now real. Last 30 days of clicks on the chart, true % change vs the 30 days before that. The big number on the card is the 30-day total — it lines up with what the chart and pill describe.
  • Link detail "Overview" tab redesigned. A single hero card now shows: the 30-day total, the change pill, a full-width 30-day chart, secondary stats below (all-time clicks, connected QR designs, created date), and a View full analytics → button that deep-links to the analytics page filtered to that link.
  • No new database tables — uses the existing link_clicks event log + a single 60-day aggregation query attached to /api/links and /api/links/:id.
v6.20.2
5 weeks ago
FIX

v6.20.2 — Pricing page on your subdomain — fixed + polished

The pricing page your customers see at <your-subdomain>/pricing was rendering unstyled — broken layout, giant checkmark SVG, the works. Fixed.

  • Plan cards now sit in a proper auto-fit grid with white surface, rounded corners, and a clean quota list.
  • Default plan gets a subtle shadow and ink border. Current plan (when the visitor is signed in) gets a mint accent.
  • Yearly and Lifetime CTAs are deliberately lighter than the monthly subscribe button so the primary action stays clear.
  • Above the cards (for signed-out shoppers only): a small three-cell strip describing what they're actually getting — branded short links, dynamic QR codes, real-time analytics. Keeps the page from looking like a bare price list.
v6.20.0
5 weeks ago
IMPROVED

v6.20.0 — Cleaner sign-in + forgot-password

A small but useful round on auth.

  • Cleaner sign-in page. Stripped social-login buttons that weren't actually wired — the Google + SSO tiles were placeholders. Subtitle reads "Sign in to your dashboard" so it lands the same way whether you're on linked.codes or your own custom domain.
  • Forgot password. Click Forgot? next to the password field on the sign-in page. Enter your email — if it's on file, you'll get a reset link valid for an hour. Resetting your password also signs you out everywhere else as a security measure.

Heads up: email delivery is shipping next. In the meantime, if you ever need to reset urgently, contact us directly and we'll generate the link for you by hand.

v6.19.1
5 weeks ago
IMPROVED

v6.19.1 — Polish on the linking picker

Small follow-ups to yesterday's multi-pick linking popup.

  • Manage button. Once a link or QR has at least one thing connected, the button on its detail tab now reads Manage QR codes / Manage links instead of + Add. Same popup, clearer intent.
  • Cleaner connected state. Already-linked items now sit on a soft grey fill with a mint Linked pill — dropped the mint border that didn't fit the rest of the app's look.
  • More room for the tag filter inside the popup. And it now defaults to "All" instead of pre-selecting a tag — switch to a tag chip when you want to narrow.
v6.19.0
5 weeks ago
IMPROVED

v6.19.0 — Faster linking between QR codes and links

A nicer way to connect QR codes and short links — and to un-connect them.

  • Pick more than one in a row. Open the picker on a link's "Linked QR codes" tab (or a QR's "Linked links" tab) and the popup stays open as you click. Each click toggles the item in or out — already-linked items show a mint Linked pill and bubble to the top so you can unlink them with one more click.
  • Tag filter inside the picker. Same chip filter as the QR codes / Links overview pages, with counts per tag. The picker pre-selects whichever of the source's tags has matching items, so you land on the most relevant view by default.
  • Tabs renamed. "QR codes" → Linked QR codes on a link's detail page. "Connected links" → Linked links on a QR's detail page. Cleaner, more on-brand.
v6.18.0
5 weeks ago
FEATURE

v6.18.0 — Hexagon + heart QR frames, smarter scan score

Two new frame shapes for QR codes, plus a more realistic scannability score.

  • Hexagon frame. Six-sided ring around the QR. Pointy-top, with optional decorative dot fill (same as the round/rounded/square frames).
  • Heart frame. Yes, really. Pick a heart-shaped frame for any QR — packaging, valentines, in-store signage, brand mark. The QR sits in the body of the heart with full quiet zone preserved.
  • Smarter scannability score. Body pattern and eye marker style now factor into the score. Standard squares are textbook (0 penalty); rounded/dots/fluid take small hits; diamond/bars/leaf take larger hits because real-world readers struggle more with stylised modules. The bullet text on the right now tells you whether your design is "textbook" or whether it's worth scan-testing before you print.
v6.17.3
5 weeks ago
IMPROVED

v6.17.3 — Fill matches your QR's pattern + size

The "Fill margin with dots" decoration now matches your QR's body pattern AND module size — so the fill and the QR read as one continuous design.

  • Square body → full-size squares. Rounded → rounded. Diamond → diamonds. Bars → bars. Dots → dots.
  • Cells are the same size as the QR's modules, just scattered randomly with natural clustering. Fills the area between the QR and the frame as decoration, while the three eye markers keep it scannable.
v6.17.2
5 weeks ago
IMPROVED

v6.17.2 — Cleaner fill randomness + scannability hint

Polishing the new "Fill margin with dots" toggle.

  • More random feel. The fill no longer reads as a repeating grid — it now looks genuinely random, with small natural clusters that match the rhythm of the QR pattern.
  • Test before printing. New scannability bullet reminds you that decorative fill is decorative — it doesn't change the encoded data, but some readers briefly stutter on heavily-textured margins. Worth a quick scan-test before you print or share.
v6.17.1
5 weeks ago
FEATURE

v6.17.1 — Transparent QR backgrounds + fill-dots fix

Two follow-ups for the QR designer.

  • Transparent QR background. New "No color" swatch in the background colour row — pick it and the QR has no white square behind it. Drop the QR onto a coloured card, a photo, a printed piece — it blends in.
  • Fill-dots fix. The "Fill margin with dots" toggle wasn't drawing any dots in the previous build. Fixed — the dots now render flush against the QR pattern as intended.
v6.17.0
5 weeks ago
FEATURE

v6.17.0 — Fill the QR frame margin with dots

A new design knob that makes QR codes feel like art, not just utility.

  • Fill margin with dots. Pick a square or rounded frame, turn on the new "Fill margin with dots" toggle, and the area between the QR and the frame fills with decorative dots in the same pattern + colour as the QR. Looks distinctive, doesn't affect scanning.
  • Works with any body pattern (rounded, dots, classy, diamond — all of them carry through into the fill).
  • The QR's scan area stays clean, so the dots are purely visual — anything pointing a phone at it still resolves to the link.
v6.16.1
5 weeks ago
IMPROVED

v6.16.1 — More QR styles + designer polish

A round of follow-ups on the new QR designer.

  • More body patterns. Three new options on top of Square, Rounded, Dots, and Fluid: Classy (small inset rounded squares — premium look), Diamond (rotated squares), Bars (vertical bars that connect into columns).
  • Diamond eye style added — pairs naturally with the Diamond body pattern.
  • Brackets frame — four corner brackets instead of a full ring. Modern and lighter.
  • Color palettes are shared. Add a custom color in one design and it appears in the swatch row of every other QR you edit (saved per device).
  • Color picker stays open while you pick — no more closing on the first move.
  • Live scannability. The score on the right side updates instantly when you change colors, so you see contrast feedback as you pick.
  • Logos now export properly. Downloaded SVGs and PNGs include your logo (was showing a red X / missing before).
  • Cleaner clear space. The white area around your logo is bigger and rounded so it reads as intentional.
  • Already-printed QRs keep working — added a small note on the right side of the editor to make this obvious. Style changes only apply to QR codes you download from now on; codes already printed/shared keep scanning to the same link.
v6.16.0
5 weeks ago
FEATURE

v6.16.0 — Real QR designer

The QR design page is fully rebuilt. Open any QR and you get the new editor with the same two-column shape as the link editor — form on the left, live preview and scannability score on the right.

  • Eye styles. Pick from Square, Rounded, Circle, or Leaf for the three corner finder patterns scanners lock onto.
  • Body patterns. Square, Rounded, Dots, Fluid — for the modules that carry the encoded URL.
  • Color palettes. Foreground and background each show a row of preset colors plus a "+" picker. Add a custom color and it sticks to the design's palette so you can re-pick it later.
  • Center logo. Drop in a PNG, JPG, WebP, or SVG (up to 2MB). Slider sets the size (10–30% of the QR), and a "Clear space around logo" toggle removes the dots underneath so the mark reads cleanly.
  • Frame. Add a square or rounded border around the QR for print and signage.
  • Error correction. Visual slider with L / M / Q / H stops. Default is now Q (25%) — the right level for designs with a center logo. The black explanation card below tells you what each level means.
  • Scannability score. Live 0–100 score on the right side based on contrast, eye markers, quiet zone, and logo safe area. Tells you in plain English what would scan well and what to fix.
  • Danger zone. A clear delete card at the bottom of the Edit tab — shows how many links are currently connected, with a confirm dialog before removing.
  • Autosave. No save button — every change is saved as you make it.
v6.15.0
5 weeks ago
IMPROVED

v6.15.0 — QR codes list, redesigned

The QR codes library now matches the /links page — same heroic header, same filter chips, same card shape.

  • Bigger cards. Each design now has a generous thumbnail panel on top so the QR is easy to recognise at a glance, with the name, tags, and "X links connected" line clearly laid out below.
  • Filter by tag. A chip row above the grid lets you filter to a single tag, the same way /links works.
  • Auto dark backdrop. Light-on-dark designs automatically get a black thumbnail panel so they stay readable.
v6.14.0
5 weeks ago
IMPROVED

v6.14.0 — One-step create flow + delete a link

Two big workflow improvements.

  • Create from anywhere — without leaving the page. Click "+ New link" or "+ New QR code" and a small modal appears in place. For links: slug + name + tags. For QR: name + tags. Hit Create and you land on the editor with everything else (destination, social preview, design, connections) already open and ready to fill in. No more separate create page.
  • Delete a link. The link editor now has a "Danger zone" card at the bottom of the Edit tab. It shows how many clicks the link has had and how many QR codes are pointing at it. If QR codes are connected, you get a clear warning that printed QRs will stop working. One red button — confirm and the link is gone.
v6.13.0
5 weeks ago
IMPROVED

v6.13.0 — Opt out of the linkedco.de default, smaller link-editor polish

Two small but meaningful changes.

  • Use only your own domain. In Settings → Domain there's a new "Default short-link host" toggle. Once you've added and verified your own custom short-link domain, you can switch off the linkedco.de fallback so anyone on your team only ever creates links on your domain.
  • Cleaner Short link card. The little "Available · letters, numbers, dash, underscore" pill on the Edit-link page no longer paints a background block over the dark card — just the green check and mono text on the card itself.
v6.12.0
5 weeks ago
IMPROVED

v6.12.0 — Default short-link host is linkedco.de, app pages wider

A round of cleanup based on real-world testing.

  • linkedco.de is the default. New short links without a custom domain are now hosted at linkedco.de (as well as linked.codes for back-compat). The link editor and the new-link form show linkedco.de everywhere — no more linked.codes confusion.
  • No more "no domains" dead end. If you don't have a custom domain yet, you (and your team users, if you have them) can just use linkedco.de straight away. The "No domains available yet" error is gone.
  • App pages are wider. Every page in /app picks up a wider content width so the link editor and other dense pages have more room.
  • Cleaner link-editor preview. The right-rail preview card is shorter and tidier — no more "fake" hero text when no preview image is set; just a quiet "No image" placeholder so you know exactly what shares will look like.
  • Expires removed for now. The metadata "Expires" field has been pulled while we redesign that flow. Existing expirations keep working until you clear them.
v6.11.1
5 weeks ago
IMPROVED

v6.11.1 — Link editor visuals, social previews now reach more crawlers

A round of polish on the link editor plus a fix that makes social previews work in more places.

  • Wider preview, sharper title. The right-rail preview is bigger and the title now reads at a proper 17px bold. The bottom URL bar has a faint divider so it sits cleanly under the preview card.
  • Short link card — readable. The slug section now uses the same domain-pill / slash / slug-input / dice-or-lock layout as the new-link form, recoloured for the black card. Title stays readable when collapsed.
  • Honest "no image" placeholder. If you haven't uploaded a social preview image, the preview hero shows a clear "No preview image" state instead of pretending. We don't generate an image for you — title and description are what shares will show.
  • Social previews reach more tools. The crawler detection now matches third-party preview tools (metatags.io, opengraph.xyz, etc.), generic bots, curl, and HeadlessChrome — not just the big-name social bots — so previews actually load when tested. You can also append ?_preview=1 to a short URL to force the OG response from a browser when debugging.
v6.11.0
5 weeks ago
IMPROVED

v6.11.0 — UTMs that just work, plus a cleaner preview card

The link editor now does the boring tracking work for you.

  • UTMs, applied automatically. Fill in source / medium / campaign / term / content on the new UTM builder card and we append them to the destination URL every time someone clicks. No more pasting ?utm_source=… into the destination yourself. Saves as you type.
  • One clean preview card. The right-rail preview is now a single dark card showing the image hero, title + description, and a short-URL bar with open and copy buttons at the bottom — the way it'll actually look when this link is shared.
  • Spacing between cards. The four Edit-tab cards now have proper breathing room between them, instead of touching.
v6.10.1
5 weeks ago
IMPROVED

v6.10.1 — Link editor polish: combined preview, UTM builder

A round of follow-ups on the link editor based on feedback.

  • One unified preview card. The right-rail short URL and shared-preview cards are now a single black card — short URL up top, then a divider, then the iMessage / Slack / X surface picker and the preview card. Less visual noise, easier to read.
  • Black Short link card. The "Short link" card on the Edit tab now uses the same dark styling as the preview, so the two visually anchor each other.
  • OG image actually previews. Upload an OG image and you see it in the preview hero immediately — no more guessing what'll show up when the link is shared.
  • UTM builder card. A new collapsible "UTM builder" card with the five fields (source, medium, campaign, term, content). Fill them in, see the assembled URL build live, then "Copy URL" or "Apply to destination" to apply it to this link.
v6.10.0
5 weeks ago
IMPROVED

v6.10.0 — Edit a link, all cylinders firing

The link editor now matches the surface it always looked like it did.

  • Collapsible cards. The Edit tab's four cards — Short link, Destination, Social preview, Metadata — collapse to clean headers. The first one is open by default; click any other to expand it.
  • Social previews wired end-to-end. The OG title, OG description, and OG image you set are stored on the link and rendered to social-preview bots when someone shares your short URL — Twitter, Slack, iMessage, LinkedIn, Discord all see what you configured instead of falling through to the destination page's preview.
  • Expires. Set a date and the link stops resolving after it — visitors get a clean "Link expired" page. No more dead campaigns lingering forever.
  • Calmer save pill. The bottom-right save indicator is now a clean black pill with a tiny mint dot when saved (white spinner while saving, red on error). Less shouty, easier to ignore when you're focused.
v6.9.0
5 weeks ago
IMPROVED

v6.9.0 — Click a link card, see its overview

Faster jumps from the Links list to the page you actually want.

  • Click the card. Anywhere outside the three action buttons — copy, edit, open in new tab — now opens that link's overview page. Cmd-click or middle-click opens in a new tab.
  • Overview by default. Opening a link lands you on its Overview tab (clicks, QR designs, destination preview), not the edit form. The edit pencil still goes straight to Edit.
  • Cleaner header. The link page now leads with the link's name and its short URL underneath, instead of a generic "Edit link" title.
v6.8.0
5 weeks ago
IMPROVED

v6.8.0 — Account, redesigned

A clean, two-column Account page with everything that matters in one glance.

  • Profile photo. Add a face to your account. Upload a PNG, JPG, or WebP under 2 MB and your photo shows up in the sidebar and on your Account page. Initial fallback if you skip it.
  • Black "Your plan" card. A single card on the right that adapts to where you are: a clean CTA when you haven't unlocked the platform yet, your license and a button when you've got lifetime but no hosting, and a heroic events meter with usage breakdown when you're fully live.
  • Cleaner hero. New "Your account" hero with Sign out moved to the top-right corner — no more dedicated Sign-out card eating space.
v6.7.0
5 weeks ago
IMPROVED

v6.7.0 — Change tier without leaving Linked.Codes

Tier changes now happen in-app, on your card on file. No more side trip to Stripe just to bump up or scale down.

  • Scale up, instantly. Move to a higher tier and we charge the prorated difference to your card on file straight away. Your new event cap is live the moment the change goes through — no waiting on a redirect.
  • Scale down, gracefully. Move to a lower tier and we don't refund or charge — your current cap and pricing simply stay in place until your next renewal, then drop to the new tier. You see a small pill on your Account page showing exactly when the change kicks in.
  • Payment method card. Your Account page now has a dedicated card showing the brand and last 4 digits of the card we have on file, with an Edit button if you need to swap it. Edit hands off to a secure Stripe page that only updates billing details — plan changes still happen here, on your terms.
v6.6.1
5 weeks ago
IMPROVED

v6.6.1 — Hosting usage in one place

Cleaner picture of where your events are going.

  • Dashboard, calmer. The "Events this month" banner is gone from your dashboard — your hosting usage now lives on your Account page, where it belongs. One source of truth, no double-surfacing.
  • Per-type breakdown. Open the Hosting card on Account and you can now expand a "View breakdown" panel that splits this month's events into App views and Short-link clicks, each with its own bar. Spot at a glance which side of your platform is using the budget.
v6.6.0
5 weeks ago
IMPROVED

v6.6.0 — Dashboard, sharpened

A focused pass on the page you land on every day. Same product — cleaner read.

  • A calmer canvas. The whole platform sits on a neutral light grey now. Less visual noise, more room for your numbers.
  • A new dashboard. A black hero card with your last-period clicks, change vs. the previous period, and the date range you choose. Underneath: total links, QR codes, domains, and a daily activity chart side-by-side with your top link of the week.
  • Top link, not top QR. The right-rail card now leads with your most-clicked short link — clicks, top device, top country at a glance.
  • Top performing links table. Five rows, ranked by clicks, with a tiny trend bar per row and a quick jump to "View all".
  • Quick-add in the sidebar. Links, QR codes, and Domains each have a + button right in the nav — one click to start a new one without leaving where you are.
  • Help and what's new, always one tap away. The two icons at the top of the page now go to docs and the changelog respectively.
v6.5.0
5 weeks ago
IMPROVED

v6.5.0 — New look, end to end

A full design pass — the platform now reads as one product from sign-in to settings.

  • New brand mark. An italic Georgia "L" in mint, on a black rounded square. It shows up wherever Linked.Codes speaks for itself.
  • Warm paper background. Pages now sit on a soft #ECEAE6 instead of a cool grey. Easier on the eyes, more grown-up.
  • Black-and-white spine, mint as accent only. Buttons are ink. Status, "live" dots, and a few highlight cards get the mint. No more mint buttons.
  • One radius. Buttons, inputs, cards, modals all share the same 12px corner. Toggles and status dots are the only round things.
  • JetBrains Mono for the small stuff. Slugs, dates, eyebrows, status labels — anywhere the detail wants to be precise.
  • Heroic numbers. Click counts and metrics get the size they deserve — big tabular numerals, with a tiny CLICKS / SCANS label below.
  • Cleaner modals. Plan switcher, unlock, confirm, alert, domain wizard, Stripe wizard — all share one chrome with a hairline border, no blur backdrop, no shadow.
  • Cleaner forms. Inputs lose the green focus glow; the focused border is just ink. Native checkboxes and switches all match.
  • Docs and changelog. Both rebuilt on the same clean white surface as the rest of the app, with a bigger heroic h1.
v6.4.0
5 weeks ago
IMPROVED

v6.4.0 — Docs + changelog redesign

  • Black hero cards on docs and changelog. Your brand accent shows as a 4px ring at the bottom edge — keeps the page bold without hijacking your colour.
  • Full accent only. Soft pastel callouts and tag pills are gone. Cleaner read, tighter palette.
  • In-content links into the app render as pills. A doc that mentions Settings → Branding now shows it as a clickable button — readers can hop to the surface they're reading about without hunting in the sidebar.
  • Code blocks get a brand-accent rail. Tables get a black header row.

v6.3.0 — Plan usage, upgrades, trial countdown

tags: added, improved audience: all date: 2026-05-01

  • Plan-usage card on Account. Live progress bars for links, QR codes, and custom domains. A "close to limit" nudge surfaces at 80% and a red "out of …" band at 100% — both with a one-click Upgrade button.
  • Plan-usage card on the dashboard. Anyone signed in under your platform sees their own plan limits and current usage at a glance, in your brand colours (not ours).
  • Switch plan modal. A clean picker that lists every active plan with Monthly / Yearly / Lifetime toggles. Checkout runs through your Stripe — your prices, your branding, your money.
  • Trial countdown. When a trial has 7 days or fewer left, a banner appears across the dashboard with a "Pick a plan →" button.
  • Limit-reached flow tightened. Hitting a plan limit now opens the picker right there, instead of throwing a flat alert.
v6.2.1
5 weeks ago
IMPROVED

v6.2.1 — Polish

  • Hosting nudge now shows on Account and Platform pages too — not just the dashboard. Easier to see what unlocks public mode while you're inside Account or Admin.
  • Help button uses your own URL. Clicking Help now opens /docs/... on your dashboard host, so it lands on your docs surface instead of jumping to lnks.work.
  • Clearer lifetime copy. Replaced "Solo use, on lnks.work" with "Private dashboard — no public signups" so the boundary between lifetime and hosting is obvious.
v6.2.0
5 weeks ago
ADDEDIMPROVED

v6.2.0 — Hosting plans + visit metering

  • Three hosting tiers — Starter (10k visits/mo), Pro (50k), Scale (250k). Monthly or yearly (yearly saves 17%). Each tier scales as your traffic grows.
  • Visit meter on your dashboard. See how many app + short-link visits you've used this month at a glance. Bar turns yellow at 80%, red at 100%.
  • Auto-upgrade option in Account → Hosting. Cross your cap and we bump you to the next tier automatically (with Stripe handling proration). Off by default.
  • Lifetime now includes a custom dashboard domain + up to 25 short-link domains. Public signups, sub-users, and unlimited domains are hosting-only.
  • Account → Hosting card shows your current plan, usage, and a one-click upgrade.
v6.1.4
5 weeks ago
IMPROVEDFIXED

v6.1.4 — Unlock right inside your dashboard

  • Unlock the lifetime deal without leaving your dashboard. The "Action needed" banner now opens a popup with the offer instead of taking you to a separate pricing page. Pick lifetime, add hosting if you want, review the total, then on to Stripe.
  • Subdomain card hides when you're on the subdomain. No need to be reminded of your platform URL when you're literally looking at it.
  • Preview links match your domain. Settings → Content "Preview docs / changelog" now opens those pages on YOUR site (your subdomain or custom domain) so you see exactly what your users will see.
v6.1.3
5 weeks ago
FIXED

v6.1.3 — Unlock-the-platform CTA fix

  • "See pricing" goes to the right place. The unlock-the-platform banner CTA now opens the platform pricing page (Lifetime + Hosting) instead of your own per-user pricing page.
  • No more empty plan picker on your own subdomain. Visiting /pricing on your subdomain as the owner now sends you to the platform pricing — you don't subscribe to your own plans.
v6.1.2
5 weeks ago
IMPROVEDFIXED

v6.1.2 — One row per domain, toggles auto-save

  • Settings → Domain is now a single table — one row per domain. Toggles for "Dashboard" and "For your users". Auto-saves on change. No more picker, no more save button, no more add button on this page.
  • Fixed: Save button was bricked by a stale function reference. The whole save flow is gone now anyway.
  • Pending and failed domains show up with disabled toggles and a clear status pill so you know what to fix.
v6.1.1
5 weeks ago
IMPROVEDFIXED

v6.1.1 — Settings → Domain polish

  • Fixed: the dashboard-domain picker was hidden behind a toggle that bugged out and made it look like your domain wasn't loaded. Picker is now always visible; pick "None — use lnks.work" to use the platform default.
  • Pending or failed domains show up in the picker too (disabled, with a "not verified yet" suffix) so it's clear which domains need verifying.
  • "Team" wording dropped throughout — Linked.Codes doesn't have a Teams concept yet, so we say "your users" plainly.
v6.1.0
5 weeks ago
ADDED

v6.1.0 — Share your domains with your users

  • Per-domain sharing — when adding a domain in the wizard, there's a checkbox: "Allow your users to use this for short links". Off by default. You can change it any time.
  • Settings → Domain has a new "Domains shared with your users" card. Toggle a domain on or off per row. The sub-text tells you whether it's currently shared.
  • Safety guard — once any user has created a link on a shared domain, you can't unshare it (that would break their links). The toggle stays on with a clear explanation.
v6.4.0
5 weeks ago
ADDEDIMPROVED

v6.4.0 — QR codes UX rebuild

A real QR codes dashboard at /app/qr. Every QR you've made on one screen — live thumbnails, click counts, search, download in any format you need.

  • One mental model: a QR code is a design + link pair. Designs are reusable templates; links own destinations; the QR is the printable result.
  • Three surfaces, same data: /app/qr (your QR codes), /app/qr/designs (the templates), /app/links/:id with a new QR codes tab. You can come from any side.
  • Unified two-column picker — pick a design + link in one popup, or create either inline. Live preview, then download in your chosen format. Reused everywhere ("+ New QR code", "+ Apply to a link", "+ Add a design").
  • Multi-format download — SVG, PNG, JPEG, PDF. Every QR row has a Download dropdown.
  • Brand-aware preview — the design preview now uses your own domain instead of lnks.work.
v6.0.3
5 weeks ago
IMPROVEDFIXED

v6.0.3 — Domain settings rebuilt + cleaner docs voice

  • Fixed: the old domain wizard was peeking through under the new picker on Settings → Domain. Stripped completely.
  • Settings → Domain now uses the same toggle pattern as the Content tab — "Use a custom domain" toggle reveals the picker when on. "+ Add new" jumps over to the Domains page where the step-by-step wizard lives.
  • Docs voice cleanup — rewrote the public docs to use direct address everywhere. No more talking about you in third person.
v6.0.2
5 weeks ago
IMPROVED

v6.0.2 — Cleaner domain flow

  • Adding a domain is now a step-by-step popup (Domain → DNS → Verify) instead of an inline form. Cleaner, less to look at, easier to walk new users through.
  • Settings → Domain is now a picker: choose which of your domains is your main dashboard URL, plus a toggle to also use it for short links. No more redundant "add" form here — domains live on the Domains page, settings just promotes one.
  • All domains added on the Domains page default to short links. Promote one to dashboard via Settings → Domain.
v6.0.1
5 weeks ago
FIXEDIMPROVED

v6.0.1 — Polish round

  • Fixed: short-link redirects were returning a 500 — now they 302 to the destination cleanly.
  • Settings → Domain rebuilt around your main dashboard domain. Add it once, then flip a toggle if you also want short links on the same domain. Recommendation card nudges you to a separate dedicated short-link domain.
  • Slug input now live-normalizes as you type: spaces become -, capitals lowercase, anything not allowed gets stripped. Type how you talk, get a valid slug.
  • Destination URL auto-prefixes https:// if you forgot it (so lekker.com becomes https://lekker.com on blur).
  • lnks.work no longer shows in your domain picker once you've added a short-link domain — your branded domain is the default.
v6.0.0
5 weeks ago
ADDED

v6.0.0 — Short links land

The actual product is here.

  • Create short links with a custom slug + destination. Pick which domain it lives on — your own custom domain, or one shared with you.
  • Multiple custom domains — add as many as you want. Each is either a dashboard domain, a short-link domain, or both. Verify DNS once and you're live.
  • A new Domains page where you can add short-link domains and see any shared with you.
  • Click counts update on every redirect.
  • New docs: Short links, updated Custom domains.
v5.3.0
5 weeks ago
ADDEDFIXED

v5.3.0 — Short links on your domain + Help button per tab

  • Short links on your custom domain. Once your domain is verified, you can flip a toggle in Settings → Domain to also serve short links from your own domain (yourdomain.com/abc instead of lnks.work/abc). Wiring lands in a follow-up — this captures the intent first.
  • Recommendation: consider a separate dedicated domain for short links (go.youragency.com, links.youragency.com) to keep your dashboard URLs clean.
  • Fixed: the Help button in Settings now opens the doc that matches the active tab, instead of always landing on Branding.
v5.2.3
5 weeks ago
ADDEDIMPROVED

v5.2.3 — On-page navigation + tenant-aware Docs/Changelog links

  • "On this page" right-rail TOC on every doc — sticky, with scrollspy, auto-built from your headings.
  • All docs are now public — no more audience badges or gating. Group headings stay so it's still browseable.
  • Sidebar Docs / Changelog in your dashboard now respect your Whitelabel Content settings: if you've set a custom URL, the sidebar opens that URL in a new tab.
  • Help button always opens our docs at lnks.work — so even when you've redirected /docs on your domain to your own site, you can still reach our platform docs.
  • Preview icons next to each Content toggle: when toggle is ON, click the icon to open the Linked.Codes-branded page in a new tab and see what your visitors see.
v5.2.2
5 weeks ago
ADDEDFIXED

v5.2.2 — Nicer docs and changelog

A pile of polish on the new docs and changelog system.

  • Content tab in Whitelabel: toggle our docs / changelog on or off, or point them at your own URL.
  • Tag filters at the top of this changelog (added, changed, fixed, removed, improved) — and a vertical timeline view so it actually feels like a release log.
  • Tag pills and audience badges now pick up your brand accent on tenant domains.
  • Platform-name mentions in our docs and changelog are auto-rewritten to your brand name when viewed on your domain.
  • Search results too — no more leaking the platform name.

Fixed

  • /docs and /changelog no longer 500 — the marked v14 renderer override path was tripping on token shape changes. Switched to a post-process pass on the rendered HTML.
  • Saved-domain card no longer lingers visible after Remove (display:flex was beating [hidden]).
  • Pushover deploy ping was silently rejected by the webhook URL — switched to the standard endpoint.
v5.2
5 weeks ago
ADDED

v5.2 — Docs and changelog

A real /docs and /changelog rendered straight from markdown, public to everyone — visit them on any Linked.Codes-powered domain and you'll see the same set of docs branded as that platform.

Search across docs + changelog is wired up — type two characters in the docs hero or the dashboard sidebar.

v5.1
6 weeks ago
ADDED

v5.1 — Custom domain → branded login → branded dashboard

Add your own domain in Settings → Domain. We provision TLS automatically once DNS is verified. From then on:

  • Visitors to your.domain see your branded sign-in page.
  • The dashboard wears your name, logo, and accent.
  • A small banner on lnks.work reminds you that your dashboard is also live at your domain.

Anyone you give your domain to can sign up directly there — their account is scoped to your platform.

v5.0
6 weeks ago
ADDED

v5.0 — Multi-tenant routing

Verified custom domains now route through to the dashboard end-to-end. Login on a tenant domain only accepts users belonging to that business — cross-business logins return 403.

v4.7
6 weeks ago
ADDED

v4.7 — Logo upload + live shell repaint

Drag-and-drop logo upload (PNG / JPG / WebP / SVG, ≤2MB). SVGs are sanitised on the way in. Saving the form repaints the live shell — no full reload to see your branding propagate.

v4.4
6 weeks ago
CHANGED

v4.4 — Premium design rework

Platform-wide design pass — new font (Urbanist), near-black primary buttons, mint accent reserved for small status pills. The same look flows through your dashboard, public pages, and tenant signup — same product, more polished read.