User-visible changes only — feature ships, redesigns, fixes worth noting. Internal version-bumps and engineering details aren't here.
Public manual, public pricing, comparison pages
The user manual, pricing page, and a glossary of every term we use are now public — no sign-in required to read them. Added side-by-side comparison pages for the alternatives recruiters and sales reps regularly weigh us against (Salesflow, Dripify, Taplio, LinkedIn Recruiter, Hiretual). Background reason: the documentation was previously hidden behind a sign-in, which made it impossible for AI assistants to cite us when someone asked "how does WarmList work" or "WarmList vs Salesflow."
marketingseoaeo
Light + dark themes; mobile gate; landing-page hero refresh
The whole authed surface and the marketing site now read color through a single theme system. New users default to light mode; existing users can flip to dark via the user-menu toggle. The product surface (sign-in, /app/*) is now hard-gated below 1024px viewport with a "WarmList is desktop-only — open on your laptop" takeover, because the Chrome extension cannot run on mobile. Marketing pages stay accessible on mobile so search traffic can read the pitch and bookmark for desktop. Landing-page hero traded the "live in beta" badge for two side-by-side CTAs (How it works, Book a demo).
uimobiletheme
Onboarding flow reordered: install extension first
New signups now go sign-in → install-extension → book a demo → wizard → /app. The previous order had users hitting the wizard's "scan your LinkedIn" step before the extension was installed, which silently stalled. The install page is a six-step checklist with live presence detection that auto-advances when the bridge announces itself.
onboarding
WarmList pill anchors on post-detail pages, with LLM rescue
The "✨ Draft with WarmList" pill that injects next to LinkedIn's Comment button now reliably appears on post-permalink pages, not just home-feed posts. When LinkedIn ships a new layout cohort that the static rules miss, a small Tier-3 LLM rescue picks the right Comment button and caches the rule for 24 hours. Net: when LinkedIn redesigns, the pill self-recovers within seconds the first time a user visits the new surface.
extension
Per-card Scan removed; Draft now shows on every connection card
Users who imported their full Connections.csv saw "📡 Scan" on every Pipeline/Pool card instead of "✍️ Draft", which read like the product was asking them to scrape every profile before doing anything. Reframed: unknown last-post date is now treated as unknown, not stale. Net effect: every connection with a handle gets the Draft action immediately.
pipeline
Queue empty state is now a single guided LinkedIn search
The empty Queue used to show three equal-weight options (LinkedIn, paste-URL, CSV import); two of them led to a dead-end of adding people whose latest post was 90+ days old. The new empty state is a single panel that takes you directly to LinkedIn Posts search sorted most-recent-first — by definition every author has fresh content to comment on.
queue
Booking gate before free trial; user-menu dropdown
New signups now book a 30-minute onboarding call (or click "Skip — start my 5-day trial without booking") before reaching the app. The 5-day trial counter starts at the booking moment, so skippers don't lose any trial time. The avatar in the top bar is now a clickable dropdown showing your subscription state in plain English (Trial · N days left / Pro · Monthly / Pro · Annual / Forever). Admin link visible only on admin accounts.
onboardingbilling
Drawer reliability on the home feed (extension v0.9.15-19)
Several rounds of fixes against LinkedIn's new home-feed shell, where every post is wrapped in randomly-renamed CSS classes and the per-post URN no longer appears anywhere in the static DOM. Net effect: clicking the WarmList pill on a feed post now reliably opens the drawer with drafts written for THAT post (not "wrong post" or "couldn't read this post").
extension
Discovery track shipped (extension v0.9.0)
A second pipeline alongside the deliberate Main pipeline. Click "✨ Draft with WarmList" on any LinkedIn comment box during normal browsing → the candidate is auto-added to the Discovery pool and any subsequent comments register as touchpoints. Discovery candidates never enter the daily 5; promoting them to Main is the explicit-intent gate.
discovery
Tier 0 (embed-endpoint) post extraction (extension v0.8.3)
On post-permalink pages, the extension now reads LinkedIn's public embed endpoint instead of parsing the rendered DOM. The embed view is the share-preview crawler view — server-rendered HTML with stable structure. Bypasses the cohort variance and obfuscated CSS class names that made DOM parsing brittle. Drawer typically opens in ~700ms instead of 2-15s on the legacy chain.
extension
Onboarding auto-read overhaul (extension v0.7.7)
Fixed silent failures on Windows where the LinkedIn 302 redirect stripped the scan-trigger query param before the content script could read it. New flag-passing mechanism via extension-scoped storage survives any number of redirects. Adaptive readiness checks adjust wait times to connection speed (1-2s on fast Mac, 3-5s on slow Windows). LLM HTML fallback for layouts our selectors don't cover.
onboardingextension
WarmList private beta opens
First design-partner cohort. Founder Rahul Choudhary writes the introductory article (The 2026 LinkedIn outreach squeeze) and ships v0.5 of the extension with the core daily flow: rank → draft → post → DM gate at 3 touches.