Commit Graph
222 Commits
Author SHA1 Message Date
Matthew Meszaros af4fa7b1d2 Merge remote-tracking branch 'origin/main' into referral-credits 2026-06-28 06:38:50 +00:00
Matthew Meszaros 2187af0470 fix(security): migrate site from Astro 5.18 to 6.4.8 (and @astrojs/mdx to 6, sitemap to 3.7.3) to clear CVE-2026-50146 and CVE-2026-54299; build verified, 35 pages 2026-06-28 06:21:16 +00:00
Matthew Meszaros ceb54c25c3 fix(security): bump site transitive vite to 6.4.3 to clear the vite server.fs.deny bypass CVE-2026-53571 2026-06-28 06:09:35 +00:00
Matthew Meszaros dce555689f feat: add the referral program marketing page and a Product footer link in site 2026-06-28 05:10:04 +00:00
Matthew Meszaros 3b987f38d0 feat: replace the fabricated SDK code samples and First-class SDKs claims on the developers page with honest plain-HTTP examples and an accurate OpenAPI-and-generate-your-own-client story 2026-06-13 07:29:17 +02:00
Matthew Meszaros fa83e55763 Merge pull request #47 from warmbly/feature/redesign-developers-page
feat: redesign developers page
2026-06-11 07:18:26 +02:00
Matthew Meszaros 65455b907d feat: redesign developer page content 2026-06-11 05:15:56 +00:00
Matthew Meszaros 78b8a73fa8 feat: refactor developer page data model 2026-06-11 05:15:34 +00:00
Matthew Meszaros dcc68f6eb4 feat: add automations navigation and featured product entry 2026-06-11 06:11:42 +02:00
Matthew Meszaros 79935060ef feat: add automations landing page and homepage showcase 2026-06-11 06:11:33 +02:00
Matthew Meszaros 1e4116ab0f Merge remote-tracking branch 'origin/main' into chore/update-docs
# Conflicts:
#	site/src/components/Header.astro
#	site/src/layouts/Learn.astro
#	site/src/pages/learn/cold-email-rules.astro
#	site/src/pages/learn/deliverability.astro
#	site/src/pages/learn/email-warmup.astro
#	site/src/pages/learn/glossary.astro
#	site/src/pages/learn/inbox-placement.astro
#	site/src/pages/learn/index.astro
#	site/src/pages/learn/personalization.astro
#	site/src/pages/learn/reputation-recovery.astro
#	site/src/pages/learn/spf-dkim-dmarc.astro
#	site/src/pages/learn/warmup-pools.astro
2026-06-10 18:35:12 +02:00
Matthew Meszaros 9706458b10 feat: move the marketing site learn articles into a docs learn tab and point every site learn link at docs.warmbly.com 2026-06-10 18:27:42 +02:00
Matthew Meszaros 9cc42546a4 feat: align the deliverability handbook with the registry and real caps
The hand-rolled flagship page now reads the shared learn registry for its
rail (it had drifted and was missing an essay), emits the BlogPosting
JSON-LD every other essay already had, and corrects its repeated 100/day
per-mailbox claim: the product default is 50/day, with 100 only as the
validation ceiling under positive reputation evidence.
2026-06-10 17:16:07 +02:00
Matthew Meszaros 0f5fd64580 feat: give learn essays editorial headlines and repair broken copy
Every essay passes a real display headline instead of surfacing its SEO
title as the H1. Repairs roughly forty sentences left broken by an
earlier em-dash strip ('The safest assumption. for them. is spammer.')
using colons, commas and real sentence splits. Drops the internal DEK
term from the customer-facing glossary.
2026-06-10 17:16:07 +02:00
Matthew Meszaros 9ebc776d1b feat: rework the learn article layout
Adds a headline prop so the visible H1 stops rendering the SEO title
suffix ('... | Warmbly'), real prev/next navigation from the registry, a
sticky top bar with reading progress, a mobile on-this-page disclosure
(there was no TOC below desktop), hover heading anchors, and the shared
.article-prose typography. The rail no longer flashes 'Loading...'.
2026-06-10 17:15:43 +02:00
Matthew Meszaros 7e6833cf0b feat: centralize the learn library registry
One registry in src/lib/learn.ts now drives the index, the article rails
and prev/next ordering; previously three hand-maintained copies had
drifted (missing personalization, wrong read times). Fixes stale facts on
the index: 'Six essays' with seven listed, a fabricated 42-term glossary
count, and renders the previously dead level chips and summaries on rows.
2026-06-10 17:15:43 +02:00
Matthew Meszaros 4839c93f4c feat: seed the blog with three launch posts
Mailbox send budgets vs server limits, the early-quarantine bands that
protect shared warmup pools, and a plain reading of Google's bulk sender
rules. All grounded in the product's real defaults (50/day cap, 600s
spacing, the 10/20/40/80 placement bands).
2026-06-10 17:15:43 +02:00
Matthew Meszaros e3355a0321 feat: link the blog from the site navigation
Blog joins the header nav (desktop and mobile pick it up from the shared
nav array) and the footer Company column, with a small RSS link in the
footer bottom bar.
2026-06-10 17:15:17 +02:00
Matthew Meszaros 0edc1d4f67 feat: publish the blog RSS feed
Description-only feed at /blog/rss.xml (full-content RSS cannot render
MDX components), excluding drafts unconditionally, plus an autodiscovery
link in the global head. The feed is the subscription: no newsletter.
2026-06-10 17:15:17 +02:00
Matthew Meszaros 67f773cced feat: add a newsroom-style blog index with search and topic pages
Compact header, then a cover-image card grid with topic tabs, client-side
search and batched load-more. Every card is server-rendered; search and
load-more only toggle visibility, so crawlers and no-JS readers see the
full archive. Posts without a cover image get deterministic generated sky
art seeded from the slug. Tags get their own filtered pages.
2026-06-10 17:15:17 +02:00
Matthew Meszaros bd51ef40ff feat: add the blog post page
Article shell with a sticky meta bar carrying reading progress, a right
rail (chapter scroll-spy built from server-rendered heading ids, post
facts, neighbors), prev/next cards and BlogPosting JSON-LD with real
publish dates. MDX posts can embed the Callout component.
2026-06-10 17:14:57 +02:00
Matthew Meszaros 8221c28cc3 feat: share one article typography between learn and the blog
Extracts the Learn layout's arbitrary-variant prose blob into a single
.article-prose class, registered in @layer components so page-level
utilities can still override it. Fixes the invalid counter-reset syntax
that rendered every ordered-list item as 00., adds table styles, hover
heading anchors and a reading-progress bar.
2026-06-10 17:14:57 +02:00
Matthew Meszaros db832fa896 feat: add blog content collection on the Astro 5 content layer
Posts are markdown/MDX files under src/content/blog with a zod-validated
schema (title, description, pubDate, tags, optional cover, draft). All
listing surfaces read through getPublishedPosts() so draft filtering has
a single owner. @astrojs/mdx is pinned to ^4.x: the npm latest (v6)
requires Astro 6 and would break this tree.
2026-06-10 17:14:57 +02:00
Matthew Meszaros 9e7fc7f5e8 feat: source changelog from real merged pull requests at build time
Replace the hand-maintained changelog entries with a build-time fetch of the
real merged pull requests on warmbly/warmbly. PRs (not commits) are the unit,
so each entry is one shippable change rather than one of many commits.

src/lib/changelog.ts fetches closed PRs into main from the GitHub REST API,
keeps the merged ones, strips conventional-commit prefixes, derives the tag
from the type, and pulls the body from the PR's Summary bullets. Marketing-site
and pure-infra PRs are filtered by type, title pattern, and a skip-changelog
label, all configurable in one place. Results are cached per build and fall
back to a curated list if the API is unreachable, so the build never breaks.

The changelog page and the homepage ChangelogShowcase both consume this data
and link each entry to its pull request. Set GITHUB_TOKEN at build to lift the
unauthenticated rate limit; it is optional for the public repo.
2026-06-09 15:58:57 +00:00
Matthew Meszaros e9ef1ebfb8 feat: remove roadmap page and ground changelog in real history
Delete the public roadmap page and every reference to it (footer, open-source
showcase, about, changelog, trust). The roadmap was built from seeded,
fabricated items.

Rebuild the changelog from the real git history. The previous entries were
self-described seeded fabrications and contradicted the codebase (claiming
SAML SSO and BYOK shipped, which they have not). There are no releases, tags,
or CHANGELOG.md, so the commit log is the source of truth. Group the work into
a handful of milestone entries rather than one per release, mirror them on the
homepage changelog showcase, and drop the invented version numbers.

Fix the broken links the old page carried: the dead /changelog/feed.xml RSS
feed and the non-existent CHANGELOG.md now point at the real commit history.
Relabel the trust page's 'roadmap' posture state to 'planned' so SOC 2 and
ISO 27001 stay honestly marked as not yet in place.
2026-06-09 10:03:18 +00:00
Matthew Meszaros 0de56352db Merge pull request #40 from warmbly/feature/integration-implementation-thorugh-dashboard
feat: improve automation action flows
2026-06-09 11:05:08 +02:00
Matthew Meszaros 7ea238c99a feat: redesign integrations page 2026-06-09 08:05:26 +00:00
Matthew Meszaros 5ada3a4164 Merge pull request #38 from warmbly/feature/crm-page-redesign
feat: redesign CRM page
2026-06-09 09:27:31 +02:00
Matthew Meszaros a24771f0af feat: redesign CRM page
Refresh the marketing CRM page with a fuller product walkthrough, live pipeline mock, attribution details, task views, contact suppression, data model coverage, CRM sync, and updated FAQ/CTA copy.
2026-06-09 07:08:21 +00:00
Matthew Meszaros 3236ffc459 feat: expand product docs and automation references
Restructure the docs navigation into product-focused pages, add automation expression reference content, and refresh related template and personalization surfaces.
2026-06-09 09:07:56 +02:00
Matthew Meszaros 4ae68492de Merge pull request #36 from warmbly/feature/campaigns-redesign
feat: redesign campaigns page
2026-06-09 08:18:09 +02:00
Matthew Meszaros 85fd815c0a Merge pull request #37 from warmbly/feature/analytics-page-redesign
feat: redesign analytics page
2026-06-09 08:17:57 +02:00
Matthew Meszaros a5c8a42a06 feat: redesign analytics page
Refresh the analytics marketing page around actionable deliverability metrics, realtime dashboard behavior, export surfaces, and a share-card mock that mirrors the product UI.
2026-06-09 05:13:23 +00:00
Matthew Meszaros eed7fd31c8 feat: redesign campaigns page
Refresh the campaigns landing page around the visual sequence builder, branching logic, A/B variants, sender pool distribution, and updated safety defaults. Add the icon paths needed by the new page sections.
2026-06-09 06:18:04 +02:00
Matthew Meszaros 021f9a6cab feat: redesign unified inbox page
Refresh the marketing page for the unified inbox with a product-shaped walkthrough of reply classification, triage scopes, fan-out, contact context, sync behavior, and CTA copy.
2026-06-08 16:36:20 +00:00
Matthew Meszaros 334f1ff9cb feat: merge main into sales teams page branch
Resolve the sales page hero headline conflict after bringing the branch up to date with main.
2026-06-08 15:27:38 +00:00
Matthew Meszaros 59178c9cf5 feat: polish sales teams page interactions
Updates the FAQ icon, CTA copy, and fan-out reveal styling for the redesigned sales teams page.
2026-06-08 14:50:53 +00:00
Matthew Meszaros ff8e73ec8f feat: redesign sales teams use case page
Reworks the sales teams use case page around per-rep mailboxes, ownership, mailbox limits, routing rules, plaintext outbound, CRM sync, and reply fan-out.
2026-06-08 14:50:43 +00:00
Matthew Meszaros 41e8a5c492 feat: merge main into fundraising page branch 2026-06-08 15:14:38 +02:00
Matthew Meszaros 3a0ae72883 Merge pull request #33 from warmbly/feature/recruits-page-redesign
feat: redesign recruiter use case page
2026-06-08 15:12:22 +02:00
Matthew Meszaros a3ab4a0eba feat: polish recruiter faq and cta 2026-06-08 13:08:35 +00:00
Matthew Meszaros 7472dc8fe2 feat: add recruiter opt out suppression view 2026-06-08 13:08:25 +00:00
Matthew Meszaros 9f0dbe7970 feat: show recruiter plain text and template previews 2026-06-08 13:08:08 +00:00
Matthew Meszaros e253ab3125 feat: add recruiter sending limits and cadence 2026-06-08 13:07:50 +00:00
Matthew Meszaros 4f9300490c feat: compare recruiter mailbox ownership 2026-06-08 13:07:35 +00:00
Matthew Meszaros 2941b27df1 feat: add recruiter mailbox origin section 2026-06-08 13:07:26 +00:00
Matthew Meszaros 2dee735243 feat: restructure recruiter page content data 2026-06-08 13:07:08 +00:00
Matthew Meszaros 53e607f3c5 feat: update recruiter hero messaging 2026-06-08 13:06:46 +00:00
Matthew Meszaros b259bccca6 feat: show fundraising campaign flow 2026-06-08 15:06:41 +02:00
Matthew Meszaros 839aaf1642 feat: refresh fundraising hero copy 2026-06-08 15:06:28 +02:00