Changelog
Track noteworthy changes across the portal, edge service, and SDKs. For platform-specific details, see each SDK repo.
Unreleased
Dependency upgrade compatibility
- Restored Express 5 route startup, scalar parameter validation, and empty update request handling.
- Kept Stripe billing API compatibility across legacy and current subscription, promotion, and invoice payloads.
- Aligned React and React DOM, and migrated Sentry 11 build and initialization configuration.
- Kept the Portal on its compatible Tailwind 3/class-merger stack pending a separate visual migration; the Help site retains Tailwind 4.
Account, billing, and link isolation hardening
- Billing management and checkout reconciliation now require verified account ownership and protect existing customer/subscription assignments.
- Guest account setup uses an emailed claim link. Existing accounts sign in before starting another checkout.
- Authentication validates token purpose and provider email proof; session versions invalidate superseded credentials and pre-verification sessions.
- Link management, SDK attribution, and public resolution consistently honor app, environment, surface, and API-key permissions.
- Portal link analytics now requires the same per-app grants as other app resources.
- SDK resolution now honors link expiry and single-use policies, and suspended team members cannot manage API keys.
These changes are pending review and deployment. They do not require an SDK version change.
September 2026
SDK reliability and integration updates
- Current releases: Node 0.2.14, Web 0.2.15, React Native 0.2.15, Android 0.2.14, iOS 0.2.16, and Flutter 0.3.4.
- Improved listener cleanup, consent and identity handling, and protection against stale responses during reconfiguration.
- Flutter supports SwiftPM integration and macOS URL forwarding with LinkMeKit 0.2.16.
- Expanded contract, browser, and mobile integration coverage. Validate real store attribution and physical-device privacy flows for your own app before release.
- Install iOS through SwiftPM or the Git tag while the current CocoaPods registry spec is pending publication.
August 2026
Project assets and environment webhooks
Added — Project-level asset libraries and environment-scoped webhook delivery.
- Reusable titles, descriptions, and images are shared by every app target in a project.
- Existing unambiguous legacy asset libraries are backfilled to their project; ambiguous scopes remain isolated until assigned.
- Webhooks can target one app target or every app target in an environment.
- Webhook event data includes the matched product surface so one environment endpoint can route downstream without per-surface webhook configuration.
- Surface-to-target mappings are configured from the project routing map; environment pages now show the selected environment's mappings and links read-only.
July 2026
Projects and environment-scoped app targets
Added — Projects can now contain multiple environments, product surfaces, and native app targets.
- One branded hostname can serve multiple applications through scoped paths such as
/customer/i/...and/staff/i/.... - Each environment has isolated domains, bundle IDs, Android packages and fingerprints, fallback origins, and link policies.
- AASA and
assetlinks.jsonresponses aggregate every enabled target for the requested environment hostname. - Product surfaces can share a binary; for example,
/staff/*and/admin/*can both target the Staff application. - Links can carry expiry and one-time-use policies, and multi-target domains reject ambiguous unscoped paths.
April 2026
Portal authentication updates
Added — GitHub OAuth sign-in and registration in the Portal auth flow.
- New
Continue with GitHuboption on/auth - OAuth start/callback endpoints for GitHub with state validation
- Existing account linking by normalized email across email/password, Google OAuth, and GitHub OAuth
- Automatic verification when onboarding through supported OAuth providers
Improved — Deployment and environment handling for social auth credentials.
- GitHub OAuth secrets standardized to
GH_OAUTH_CLIENT_IDandGH_OAUTH_CLIENT_SECRET - Deployment workflow updated to pass and write GitHub OAuth secrets for production
- Backward-compatible runtime fallback for legacy
GITHUB_*variable names in local environments
Admin and analytics updates
Improved — Better visibility into authentication source and user origin.
- Superadmin users table now shows a GitHub provider badge
- GA4 event typing and backfill mapping expanded for
github_oauthmethods
March 2026
MCP server & API standards
Added — Model Context Protocol (MCP) support is now implemented and available.
- MCP server for LinkMe admin and diagnostics workflows
- OpenAPI hardening aligned with production Edge routes
- Schema-first tool generation from OpenAPI contracts (typed MCP tools + validation)
- Security baseline with scoped API keys, capability checks, audit logs, and guarded write operations
Platform improvements
Improved — We shipped a broad set of quality and usability upgrades across LinkMe.
- Better reliability and guardrails across link management workflows
- Smoother custom domain setup and transfer handling
- Improved Portal experience for managing and organizing links
- Added ability to hide and show links in Portal link management
- Cleaner behavior for short-link lifecycle and maintenance
- Better routing consistency across redirect scenarios
- General stability fixes and polish across portal, edge, and SDK surfaces
February 2026
Webhooks
Added — Webhook support for app-level event streaming.
- Configure per-app webhook endpoints in Developer settings
- Subscribe by event type (
link.click,link.token_created,link.claim,link.app_open,link.deferred_claim_attempt) - Delivery history with attempt status and retry visibility
- Retry/backoff behavior with automatic disable safeguards
- Optional HMAC signing via
X-LinkMe-Signatureplus Node SDK helpers for verification
January 2026
Attribution diagnostics
Added — Better visibility into where link traffic comes from.
- Link detail analytics include source and referrer fields for click-level inspection
- UTM merge behavior and overrides were hardened in resolver flows
- UTM Debugger improvements make pre-launch campaign attribution checks easier
December 2025
Universal links
Added — Passthrough universal links so unknown paths still open the app without pre-creating a link.
Improved — Clearer controls for managing passthrough behavior in app settings.
Portal experience
Improved — Faster navigation, clearer icons, and smoother loading states across the portal.
Analytics & insights
Improved — More reliable charts, cleaner date grouping, and better pagination.
Billing & promos
Added — Promo codes and a more streamlined checkout flow.
Resources & docs
Added — New resources/articles hub with refreshed guides and redirects.
SDK updates
Updated — SDKs refreshed for consistency and improved link handling across platforms.
November 2025
Web SDK release
Added — Official Web SDK for browser-based applications.
- Zero-dependency TypeScript library compatible with all modern frameworks
- Works seamlessly with Next.js, React, Vue, Svelte, Angular, and vanilla JavaScript
Implementation examples
- Post-release validation: after each release, verify one representative link flow for iOS, Android, and web fallback before marking rollout complete.
- Billing-impacting release: pair changelog notes with plan/entitlement verification from Billing, plans, and entitlements.
- Developer-facing release: update Developer reference and Developer setup links in the same release window.
Troubleshooting release adoption
- If users report behavior that does not match release notes, confirm environment/version alignment first.
- If a changelog item is present but missing in production, check phased rollout status and feature-flag scope.
- If downstream integrations break after an update, verify webhook/event schema expectations and retry safety.