Skip to content

feat(ui): add changelogs + refresh landing stats - #2473

Merged
smakosh merged 6 commits into
mainfrom
changelog-landing-refresh
Jun 2, 2026
Merged

smakosh merged 6 commits into
mainfrom
changelog-landing-refresh

Conversation

@smakosh

@smakosh smakosh commented Jun 1, 2026 •

Copy link
Copy Markdown
Member

What

Three new changelog entries covering everything shipped since the last changelog (2026-05-26), plus a refresh of the stale, inconsistent stats on the landing and signup pages.

New changelogs (apps/ui/src/content/changelog/)

  • Claude Opus 4.8 + a Wave of New Models — Opus 4.8 (1M context), Sonnet 4.6 now on 1M context, Qwen3.7 Max, Grok Build 0.1, Kimi K2.6, GLM-5.1, and the anthropic-discount provider. Specs/pricing pulled from packages/models.
  • Smarter Routing: Sticky Sessions, Bedrock Regions & More — x-session-id sticky routing, stable preferred-provider routing, AWS Bedrock region routing, Google AI Studio provider, and Vertex embeddings + key health.
  • Referrals, Cache Controls & Product Updates — referral program (/ref/<org-id>), provider cache-write toggle, cache/audio cost breakdown in logs, virtualized chat, comparison-mode persistence, image/video history, and enterprise per-project routing.

Landing + auth stat refresh

The numbers were stale and contradicted each other (landing: 25+ providers / 210+ models; signup: 15+ providers). Made them consistent and catalog-derived:

  • Providers 40+, Models 400+. Volume/uptime (100B+ tokens, 50M+ calls, 99.9%) left unchanged.
  • Updated in hero.tsx, graph.tsx, faq.tsx, and auth-brand-panel.tsx.
  • Light visual polish on the "How It Works" stat values (gradient text + tabular-nums).

Notes

  • New changelog entries reuse existing images from public/changelog/ as placeholders — swap in custom art if desired.
  • 400+ models reflects model+provider routes in the catalog (~449); distinct base models are ~215. Easy to dial down to 250+ for the stricter framing.

Verification

  • prettier + eslint clean on all changed files.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • New models released (including Claude Opus 4.8, Claude Sonnet 4.6 and others).
    • Organization referral program with shareable referral URLs and signup credit.
    • Cache-control toggles and routing improvements (sticky sessions, preferred-provider consistency, expanded provider/embeddings support).
  • Content

    • Updated public-facing counts to “40+ providers” and “400+ models”.
  • Documentation

    • Added three changelog posts covering models, product updates, and routing.
  • Refactor

    • Revamped navbar dropdowns for a more consistent icon-driven layout.
  • Style

    • Stats display now uses gradient text treatment.

New changelog entries for Claude Opus 4.8 & new models, smarter
routing (sticky sessions, Bedrock regions), and referrals/cache
controls. Refresh stale, inconsistent stats across the landing
and signup pages (40+ providers, 400+ models) and polish the
stat cards.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jun 1, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

Walkthrough

This PR updates marketing materials and adds changelog content. Landing page components and the signup flow are updated to reflect increased provider and model metrics (30+→40+ providers, 200+→400+ models, 15+→40+ in auth), and a gradient text styling treatment is applied to landing stats. Three new changelog files announce recent product features including model releases, referral programs, cache controls, and routing enhancements.

Changes

UI Metrics and Copy Updates

Layer / File(s) Summary
Landing page hero and FAQ copy
apps/ui/src/components/landing/hero.tsx, apps/ui/src/components/landing/faq.tsx
Hero heading and description text updated from 30+ providers / 200+ models to 40+ providers / 400+ models. FAQ "What models do you support?" answer updated to reflect 400+ models across 40+ providers in both the JSON-LD data structure and rendered accordion content.
Landing page statistics display and styling
apps/ui/src/components/landing/graph.tsx
Stats array updated with 40+ providers (from 25+) and 400+ models (from 210+). Descriptive "How It Works" text updated to reference 40+ providers. Large numeric stat values switched from solid text color to gradient text treatment with background-clip and transparency.
Auth signup metrics card
apps/ui/src/components/auth/auth-brand-panel.tsx
Signup flow "LLM providers" metric card value updated from 15+ to 40+.

Product Changelog Entries

Layer / File(s) Summary
Changelog announcements
apps/ui/src/content/changelog/2026-06-01-claude-opus-4-8-and-new-models.md, apps/ui/src/content/changelog/2026-06-01-referrals-cache-controls-product-updates.md, apps/ui/src/content/changelog/2026-06-01-smarter-routing-sticky-sessions.md
Three new changelog entries with front-matter and content: Claude Opus 4.8 and Sonnet 4.6 expanded to 1M context, plus newly available models (Qwen, Grok, Kimi, GLM); referral program with shareable links, provider-level cache-write toggles, and Chat/Playground improvements; and sticky session routing, Bedrock region routing overrides, Google AI Studio provider integration, and Vertex AI embeddings support.

Possibly related PRs

  • theopenco/llmgateway#2205: Updates landing page hero copy in the same Hero component with overlapping marketing text changes.
  • theopenco/llmgateway#2408: Related navbar dropdown/link data structure and rendering changes; similar refactor of dropdown link arrays and rendering.

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately captures the main changes: adding changelog entries and updating landing page statistics with refreshed provider/model counts.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch changelog-landing-refresh

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

smakosh and others added 2 commits June 2, 2026 01:27
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@steebchen

Copy link
Copy Markdown
Member

Images automagically compressed by Calibre's image-actions ✨

Compression reduced images by 80.7%, saving 2.9 MB.

Filename Before After Improvement Visual comparison
apps/ui/public/changelog/smarter-routing-sticky-sessions.png 1.4 MB 245.8 KB 82.8% View diff
apps/ui/public/changelog/claude-opus-4-8-and-new-models.png 1.1 MB 231.6 KB 80.2% View diff
apps/ui/public/changelog/referrals-cache-controls-product-updates.png 1.1 MB 244.7 KB 78.5% View diff

@steebchen

Copy link
Copy Markdown
Member

Images automagically compressed by Calibre's image-actions ✨

Compression reduced images by 12.4%, saving 89.3 KB.

Filename Before After Improvement Visual comparison
apps/ui/public/changelog/claude-opus-4-8-and-new-models.png 231.6 KB 192.9 KB 16.7% View diff
apps/ui/public/changelog/smarter-routing-sticky-sessions.png 245.8 KB 214.7 KB 12.6% View diff
apps/ui/public/changelog/referrals-cache-controls-product-updates.png 244.7 KB 225.1 KB 8.0% View diff

@steebchen

Copy link
Copy Markdown
Member

Images automagically compressed by Calibre's image-actions ✨

Compression reduced images by 10.7%, saving 67.8 KB.

Filename Before After Improvement Visual comparison
apps/ui/public/changelog/smarter-routing-sticky-sessions.png 214.7 KB 191.7 KB 10.7% View diff
apps/ui/public/changelog/referrals-cache-controls-product-updates.png 225.1 KB 202.2 KB 10.2% View diff
apps/ui/public/changelog/claude-opus-4-8-and-new-models.png 192.9 KB 171.2 KB 11.3% View diff

@steebchen

Copy link
Copy Markdown
Member

Images automagically compressed by Calibre's image-actions ✨

Compression reduced images by 5.4%, saving 10.3 KB.

Filename Before After Improvement Visual comparison
apps/ui/public/changelog/smarter-routing-sticky-sessions.png 191.7 KB 181.4 KB 5.4% View diff

2 images did not require optimisation.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
apps/ui/src/components/landing/navbar.tsx (1)

76-76: 💤 Low value

Consider clarifying the gradient color extraction logic.

The current implementation extracts the last two space-separated tokens from the gradient string to derive icon colors. While this works with the current data structure, the intent is not immediately clear, and the logic is fragile—it assumes the gradient string always has at least two tokens and that the last two are always the color classes.

Consider extracting icon color classes more explicitly (e.g., as a separate prop or with a more descriptive helper function) to improve readability and maintainability.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/ui/src/components/landing/navbar.tsx` at line 76, The current extraction
of iconColor via const iconColor = gradient.split(" ").slice(-2).join(" "); is
fragile and unclear; update the Navbar/related component to explicitly derive
icon colors by either adding a dedicated prop (e.g., iconColor) or extracting
logic into a descriptive helper (e.g., getIconColorFromGradient(gradient)) that
validates the gradient string, documents expected format, returns a safe
fallback when tokens are missing, and replace usages of the inline
split/slice/join with that helper or the new prop; target the iconColor variable
and the component receiving gradient to make the change.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@apps/ui/src/components/landing/navbar.tsx`:
- Line 72: In the navbar component, fix the invalid Tailwind class in the class
list containing "group/product flex items-start gap-3 select-none rounded-lg p-3
no-underline outline-none transition-all duration-300 bg-linear-to-br
from-transparent to-transparent" by replacing the typo `bg-linear-to-br` with
the correct `bg-gradient-to-br` so the gradient and the `from-*`/`to-*`
utilities render properly (look for the class string in the Navbar component in
apps/ui/src/components/landing/navbar.tsx).

---

Nitpick comments:
In `@apps/ui/src/components/landing/navbar.tsx`:
- Line 76: The current extraction of iconColor via const iconColor =
gradient.split(" ").slice(-2).join(" "); is fragile and unclear; update the
Navbar/related component to explicitly derive icon colors by either adding a
dedicated prop (e.g., iconColor) or extracting logic into a descriptive helper
(e.g., getIconColorFromGradient(gradient)) that validates the gradient string,
documents expected format, returns a safe fallback when tokens are missing, and
replace usages of the inline split/slice/join with that helper or the new prop;
target the iconColor variable and the component receiving gradient to make the
change.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 74cbc914-5e53-4c8b-8f67-996a0a681e9f

📥 Commits

Reviewing files that changed from the base of the PR and between b14f626 and 3b36600.

⛔ Files ignored due to path filters (3)
  • apps/ui/public/changelog/claude-opus-4-8-and-new-models.png is excluded by !**/*.png
  • apps/ui/public/changelog/referrals-cache-controls-product-updates.png is excluded by !**/*.png
  • apps/ui/public/changelog/smarter-routing-sticky-sessions.png is excluded by !**/*.png
📒 Files selected for processing (4)
  • apps/ui/src/components/landing/navbar.tsx
  • apps/ui/src/content/changelog/2026-06-01-claude-opus-4-8-and-new-models.md
  • apps/ui/src/content/changelog/2026-06-01-referrals-cache-controls-product-updates.md
  • apps/ui/src/content/changelog/2026-06-01-smarter-routing-sticky-sessions.md
✅ Files skipped from review due to trivial changes (2)
  • apps/ui/src/content/changelog/2026-06-01-smarter-routing-sticky-sessions.md
  • apps/ui/src/content/changelog/2026-06-01-referrals-cache-controls-product-updates.md

Comment thread apps/ui/src/components/landing/navbar.tsx
@smakosh
smakosh added this pull request to the merge queue Jun 2, 2026
Merged via the queue into main with commit 7303060 Jun 2, 2026
13 checks passed
@smakosh
smakosh deleted the changelog-landing-refresh branch June 2, 2026 00:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants