diff --git a/apps/www/components/LaunchWeek/14/Releases/LWSummary.tsx b/apps/www/components/LaunchWeek/14/Releases/LWSummary.tsx
index 69630dbd9ae..1b8611af83d 100644
--- a/apps/www/components/LaunchWeek/14/Releases/LWSummary.tsx
+++ b/apps/www/components/LaunchWeek/14/Releases/LWSummary.tsx
@@ -14,7 +14,7 @@ const LW14Summary = () => {
>
Launch Week 14
diff --git a/apps/www/components/LaunchWeek/15/LWSummary.tsx b/apps/www/components/LaunchWeek/15/LWSummary.tsx
new file mode 100644
index 00000000000..e79a5a0d256
--- /dev/null
+++ b/apps/www/components/LaunchWeek/15/LWSummary.tsx
@@ -0,0 +1,109 @@
+import React from 'react'
+import Link from 'next/link'
+import { buildDays, mainDays } from './data'
+import { Lock } from 'lucide-react'
+
+const LW14Summary = () => {
+ const days = mainDays()
+
+ return (
+
+
+
+ Launch Week 15
+
+
July 14 — 18
+
+
+
+ {days.map((day, i: number) =>
+ day.shipped ? (
+
+
+ Day {i + 1}
+ -
+ {day.title}
+
+
+ ) : (
+
+
+ Day {i + 1}
+ -
+
+
+
+ )
+ )}
+
+
+
+
+
Build Stage
+
+ {buildDays.map((day, i: number) =>
+ day.is_shipped ? (
+
+
+
+
+ {i + 1 < 10 ? '0' : ''}
+ {i + 1}
+
+ -
+ {day.title}
+
+
+
+ ) : (
+
+
+
+
+ {i + 1 < 10 ? '0' : ''}
+ {i + 1}
+
+ -
+
+
+
+
+ )
+ )}
+
+
+ Community Meetups
+
+
+
+
+
+
+ )
+}
+
+export default LW14Summary
diff --git a/apps/www/components/LaunchWeek/15/data/lw15_data.tsx b/apps/www/components/LaunchWeek/15/data/lw15_data.tsx
index 5ddd0c483b3..e8e8715fb14 100644
--- a/apps/www/components/LaunchWeek/15/data/lw15_data.tsx
+++ b/apps/www/components/LaunchWeek/15/data/lw15_data.tsx
@@ -64,10 +64,10 @@ const days: (isDark?: boolean) => WeekDayProps[] = (isDark = true) => [
shipped: true,
isToday: true,
hasCountdown: false,
- blog: '/blog/',
+ blog: '/blog/jwt-signing-keys',
date: 'Monday, 14th',
published_at: '2025-03-31T07:00:00.000-07:00',
- title: 'Introducing ...',
+ title: 'Introducing JWT Signing Keys',
description: '',
links: [
{
diff --git a/apps/www/pages/blog/[slug].tsx b/apps/www/pages/blog/[slug].tsx
index 749df534396..bf2abfe5cb0 100644
--- a/apps/www/pages/blog/[slug].tsx
+++ b/apps/www/pages/blog/[slug].tsx
@@ -10,20 +10,21 @@ import { Badge } from 'ui'
import dayjs from 'dayjs'
import authors from 'lib/authors.json'
-import { generateReadingTime, isNotNullOrUndefined } from '~/lib/helpers'
-import mdxComponents from '~/lib/mdx/mdxComponents'
-import { mdxSerialize } from '~/lib/mdx/mdxSerialize'
-import { getAllPostSlugs, getPostdata, getSortedPosts } from '~/lib/posts'
+import { generateReadingTime, isNotNullOrUndefined } from 'lib/helpers'
+import mdxComponents from 'lib/mdx/mdxComponents'
+import { mdxSerialize } from 'lib/mdx/mdxSerialize'
+import { getAllPostSlugs, getPostdata, getSortedPosts } from 'lib/posts'
-import ShareArticleActions from '~/components/Blog/ShareArticleActions'
-import CTABanner from '~/components/CTABanner'
-import LW11Summary from '~/components/LaunchWeek/11/LW11Summary'
-import LW12Summary from '~/components/LaunchWeek/12/LWSummary'
-import LW13Summary from '~/components/LaunchWeek/13/Releases/LWSummary'
-import LW14Summary from '~/components/LaunchWeek/14/Releases/LWSummary'
-import BlogLinks from '~/components/LaunchWeek/7/BlogLinks'
-import LWXSummary from '~/components/LaunchWeek/X/LWXSummary'
-import DefaultLayout from '~/components/Layouts/Default'
+import ShareArticleActions from 'components/Blog/ShareArticleActions'
+import CTABanner from 'components/CTABanner'
+import LW11Summary from 'components/LaunchWeek/11/LW11Summary'
+import LW12Summary from 'components/LaunchWeek/12/LWSummary'
+import LW13Summary from 'components/LaunchWeek/13/Releases/LWSummary'
+import LW14Summary from 'components/LaunchWeek/14/Releases/LWSummary'
+import LW15Summary from 'components/LaunchWeek/15/LWSummary'
+import BlogLinks from 'components/LaunchWeek/7/BlogLinks'
+import LWXSummary from 'components/LaunchWeek/X/LWXSummary'
+import DefaultLayout from 'components/Layouts/Default'
import { ChevronLeft } from 'lucide-react'
type Post = ReturnType
[number]
@@ -139,6 +140,7 @@ function BlogPostPage(props: InferGetStaticPropsType) {
const isLaunchWeek12 = props.blog.launchweek?.toString().toLocaleLowerCase() === '12'
const isLaunchWeek13 = props.blog.launchweek?.toString().toLocaleLowerCase() === '13'
const isLaunchWeek14 = props.blog.launchweek?.toString().toLocaleLowerCase() === '14'
+ const isLaunchWeek15 = props.blog.launchweek?.toString().toLocaleLowerCase() === '15'
const author = authorArray
.map((authorId) => {
@@ -353,6 +355,7 @@ function BlogPostPage(props: InferGetStaticPropsType) {
{isLaunchWeek12 && }
{isLaunchWeek13 && }
{isLaunchWeek14 && }
+ {isLaunchWeek15 && }
Share this article
diff --git a/apps/www/public/images/blog/launch-week-15/day-1-jwt-signing-keys/og.jpg b/apps/www/public/images/blog/launch-week-15/day-1-jwt-signing-keys/og.jpg
new file mode 100644
index 00000000000..7b8ca262fda
Binary files /dev/null and b/apps/www/public/images/blog/launch-week-15/day-1-jwt-signing-keys/og.jpg differ
diff --git a/apps/www/public/images/blog/launch-week-15/day-1-jwt-signing-keys/thumb.jpg b/apps/www/public/images/blog/launch-week-15/day-1-jwt-signing-keys/thumb.jpg
new file mode 100644
index 00000000000..c3bacf37ccf
Binary files /dev/null and b/apps/www/public/images/blog/launch-week-15/day-1-jwt-signing-keys/thumb.jpg differ
diff --git a/apps/www/public/rss.xml b/apps/www/public/rss.xml
index 08f5d8d9f20..cd3d3cc4c1f 100644
--- a/apps/www/public/rss.xml
+++ b/apps/www/public/rss.xml
@@ -5,9 +5,16 @@
https://supabase.com
Latest news from Supabase
en
-
Wed, 25 Jun 2025 00:00:00 -0700
+
Mon, 14 Jul 2025 00:00:00 -0700
-
+ https://supabase.com/blog/jwt-signing-keys
+ Introducing JWT Signing Keys
+ https://supabase.com/blog/jwt-signing-keys
+ A new JWT signing keys system based on public key cryptography to improve your project's security and performance.
+ Mon, 14 Jul 2025 00:00:00 -0700
+
+
-
https://supabase.com/blog/natural-db
Build a Personalized AI Assistant with Postgres
https://supabase.com/blog/natural-db
diff --git a/packages/ui-patterns/src/Banners/data.json b/packages/ui-patterns/src/Banners/data.json
index ac06717e7c8..1b21e512a03 100644
--- a/packages/ui-patterns/src/Banners/data.json
+++ b/packages/ui-patterns/src/Banners/data.json
@@ -1,6 +1,6 @@
{
"text": "LW15: Day 1",
- "launch": "TBD",
+ "launch": "JWT Signing Keys",
"launchDate": "2025-07-14T08:00:00.000-07:00",
"link": "/launch-week#main-stage",
"cta": "Learn more"