Skip to content

Commit d258264

Browse files
lane711claude
andcommitted
docs(www): add v2.19.0 to changelog and homepage
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent bb035e1 commit d258264

2 files changed

Lines changed: 61 additions & 24 deletions

File tree

www/src/app/changelog/page.mdx

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,41 @@ export const sections = [
6868

6969

7070

71+
{/* Version 2.19.0 */}
72+
<div className="relative pl-8 pb-8 border-l-2 border-emerald-200 dark:border-emerald-800">
73+
<div className="absolute -left-3 top-0 w-6 h-6 rounded-full bg-emerald-500 border-4 border-white dark:border-gray-900 shadow-lg"></div>
74+
75+
<div className="bg-gradient-to-br from-emerald-50 to-teal-50 dark:from-emerald-900/20 dark:to-teal-900/20 rounded-xl p-6 border border-emerald-200 dark:border-emerald-800 shadow-md hover:shadow-xl transition-shadow">
76+
<div className="flex items-center gap-3 mb-4">
77+
<span className="px-3 py-1 bg-emerald-500 text-white text-sm font-bold rounded-lg">v2.19.0</span>
78+
<span className="text-sm text-gray-600 dark:text-gray-400">May 28, 2026</span>
79+
<span className="px-2 py-1 bg-gradient-to-r from-orange-100 to-red-100 dark:from-orange-900/30 dark:to-red-900/30 border border-orange-300 dark:border-orange-700 text-orange-800 dark:text-orange-300 text-xs font-bold rounded uppercase">Latest</span>
80+
</div>
81+
82+
<div className="space-y-3">
83+
<div>
84+
<h4 className="text-sm font-bold text-emerald-800 dark:text-emerald-300 mb-2 flex items-center gap-2">
85+
<span>✨</span> Highlights
86+
</h4>
87+
<ul className="space-y-1.5 ml-6 text-sm text-gray-700 dark:text-gray-300">
88+
<li className="flex items-start gap-2"><span className="text-emerald-500">▸</span><strong>Admin code export modal for collections</strong> — Generate ready-to-use TypeScript collection config code directly from the admin UI (#831)</li>
89+
</ul>
90+
</div>
91+
<div>
92+
<h4 className="text-sm font-bold text-emerald-800 dark:text-emerald-300 mb-2 flex items-center gap-2">
93+
<span>🐛</span> Fixes
94+
</h4>
95+
<ul className="space-y-1.5 ml-6 text-sm text-gray-700 dark:text-gray-300">
96+
<li className="flex items-start gap-2"><span className="text-emerald-500">▸</span><strong>Array fields with media items no longer crash the form</strong> — Collections configured as <code>{`type: 'array'`}</code> with <code>{`items: { type: 'media' }`}</code> no longer break the new-content form with <code>TypeError: url.toLowerCase is not a function</code> (#838)</li>
97+
<li className="flex items-start gap-2"><span className="text-emerald-500">▸</span><strong>AuthManager.verifyToken usable from custom Hono routes</strong> — Token verification works outside the built-in middleware (#819)</li>
98+
<li className="flex items-start gap-2"><span className="text-emerald-500">▸</span><strong>SVG uploads no longer fail on D1</strong> — Use <code>null</code> instead of <code>undefined</code> for SVG metadata inserts (#818)</li>
99+
<li className="flex items-start gap-2"><span className="text-emerald-500">▸</span><strong>create-sonicjs starter uses <code>MEDIA_BUCKET</code> binding name</strong> in <code>wrangler.toml</code> (#827)</li>
100+
</ul>
101+
</div>
102+
</div>
103+
</div>
104+
</div>
105+
71106
{/* Version 2.18.1 */}
72107
<div className="relative pl-8 pb-8 border-l-2 border-emerald-200 dark:border-emerald-800">
73108
<div className="absolute -left-3 top-0 w-6 h-6 rounded-full bg-emerald-500 border-4 border-white dark:border-gray-900 shadow-lg"></div>
@@ -76,7 +111,6 @@ export const sections = [
76111
<div className="flex items-center gap-3 mb-4">
77112
<span className="px-3 py-1 bg-emerald-500 text-white text-sm font-bold rounded-lg">v2.18.1</span>
78113
<span className="text-sm text-gray-600 dark:text-gray-400">May 1, 2026</span>
79-
<span className="px-2 py-1 bg-gradient-to-r from-orange-100 to-red-100 dark:from-orange-900/30 dark:to-red-900/30 border border-orange-300 dark:border-orange-700 text-orange-800 dark:text-orange-300 text-xs font-bold rounded uppercase">Latest</span>
80114
</div>
81115

82116
<div className="space-y-3">

www/src/app/page.mdx

Lines changed: 26 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -476,20 +476,42 @@ Join thousands of developers building the future of web APIs
476476
</div>
477477

478478
<div className="space-y-6">
479-
{/* v2.18.1 - Latest Release */}
479+
{/* v2.19.0 - Latest Release */}
480480
<div className="border-l-4 border-emerald-500 dark:border-emerald-400 pl-4 py-1">
481481
<div className="flex items-center gap-2 mb-2">
482-
<span className="text-xs font-bold px-2 py-1 rounded bg-emerald-100 dark:bg-emerald-900/30 text-emerald-700 dark:text-emerald-300">v2.18.1</span>
482+
<span className="text-xs font-bold px-2 py-1 rounded bg-emerald-100 dark:bg-emerald-900/30 text-emerald-700 dark:text-emerald-300">v2.19.0</span>
483483
<span className="text-xs px-2 py-1 rounded bg-gradient-to-r from-orange-100 to-red-100 dark:from-orange-900/30 dark:to-red-900/30 border border-orange-300 dark:border-orange-700 text-orange-800 dark:text-orange-300 font-bold">LATEST</span>
484-
<span className="text-sm text-gray-500 dark:text-gray-400">2026-05-01</span>
484+
<span className="text-sm text-gray-500 dark:text-gray-400">2026-05-28</span>
485485
</div>
486486
<div className="text-sm space-y-1">
487487
<div className="flex items-start gap-2">
488488
<span className="text-emerald-600 dark:text-emerald-400 mt-0.5">✓</span>
489-
<span className="text-gray-700 dark:text-gray-300"><strong>Custom user-profile fields in auth responses</strong> — <code>/auth/me</code> and <code>/auth/otp/verify</code> now include fields registered via <code>defineUserProfile()</code>, so apps can gate UI on plan/tier/etc. without a second roundtrip</span>
489+
<span className="text-gray-700 dark:text-gray-300"><strong>Admin code export modal for collections</strong> — Generate ready-to-use TypeScript collection config code directly from the admin UI</span>
490+
</div>
491+
<div className="flex items-start gap-2">
492+
<span className="text-emerald-600 dark:text-emerald-400 mt-0.5">✓</span>
493+
<span className="text-gray-700 dark:text-gray-300"><strong>Array fields with media items no longer crash the form</strong> — Collections configured as <code>{`type: 'array'`}</code> with <code>{`items: { type: 'media' }`}</code> now load cleanly in the new-content form</span>
490494
</div>
491495
<div className="flex items-start gap-2">
492496
<span className="text-emerald-600 dark:text-emerald-400 mt-0.5">✓</span>
497+
<span className="text-gray-700 dark:text-gray-300"><strong>AuthManager.verifyToken usable from custom Hono routes</strong>, SVG uploads no longer fail on D1, and the <code>create-sonicjs</code> starter uses the <code>MEDIA_BUCKET</code> binding name</span>
498+
</div>
499+
</div>
500+
</div>
501+
502+
{/* v2.18.1 */}
503+
<div className="border-l-4 border-blue-500 dark:border-blue-400 pl-4 py-1">
504+
<div className="flex items-center gap-2 mb-2">
505+
<span className="text-xs font-bold px-2 py-1 rounded bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300">v2.18.1</span>
506+
<span className="text-sm text-gray-500 dark:text-gray-400">2026-05-01</span>
507+
</div>
508+
<div className="text-sm space-y-1">
509+
<div className="flex items-start gap-2">
510+
<span className="text-blue-600 dark:text-blue-400 mt-0.5">✓</span>
511+
<span className="text-gray-700 dark:text-gray-300"><strong>Custom user-profile fields in auth responses</strong> — <code>/auth/me</code> and <code>/auth/otp/verify</code> now include fields registered via <code>defineUserProfile()</code>, so apps can gate UI on plan/tier/etc. without a second roundtrip</span>
512+
</div>
513+
<div className="flex items-start gap-2">
514+
<span className="text-blue-600 dark:text-blue-400 mt-0.5">✓</span>
493515
<span className="text-gray-700 dark:text-gray-300"><strong>Richer OTP verify payload</strong> — also returns <code>username</code>, <code>first_name</code>, <code>last_name</code>, and <code>created_at</code>, and no longer leaks the internal <code>is_active</code> flag</span>
494516
</div>
495517
</div>
@@ -639,25 +661,6 @@ Join thousands of developers building the future of web APIs
639661
</div>
640662
</div>
641663

642-
{/* v2.12.0 */}
643-
<div className="border-l-4 border-blue-500 dark:border-blue-400 pl-4 py-1">
644-
<div className="flex items-center gap-2 mb-2">
645-
<span className="text-xs font-bold px-2 py-1 rounded bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300">v2.12.0</span>
646-
647-
<span className="text-sm text-gray-500 dark:text-gray-400">2026-04-07</span>
648-
</div>
649-
<div className="text-sm space-y-1">
650-
<div className="flex items-start gap-2">
651-
<span className="text-blue-600 dark:text-blue-400 mt-0.5">✓</span>
652-
<span className="text-gray-700 dark:text-gray-300"><strong>Security Audit Plugin</strong> - Brute-force detection and security event logging</span>
653-
</div>
654-
<div className="flex items-start gap-2">
655-
<span className="text-blue-600 dark:text-blue-400 mt-0.5">✓</span>
656-
<span className="text-gray-700 dark:text-gray-300"><strong>User Profile Fields Plugin</strong> - Configurable user profile fields</span>
657-
</div>
658-
</div>
659-
</div>
660-
661664
</div>
662665

663666
<div className="mt-6 pt-6 border-t border-slate-200 dark:border-slate-700">

0 commit comments

Comments
 (0)