Blog post
diff --git a/apps/www/components/LaunchWeek/15/LW15Heading.tsx b/apps/www/components/LaunchWeek/15/LW15Heading.tsx
index 82191002a27cc..f93df5bdf0eaf 100644
--- a/apps/www/components/LaunchWeek/15/LW15Heading.tsx
+++ b/apps/www/components/LaunchWeek/15/LW15Heading.tsx
@@ -87,7 +87,7 @@ const LW15Heading = () => {
span.innerHTML = originalContent
span.style.display = 'inline-block'
span.style.transform = 'translateY(100%)'
- span.style.transition = 'transform ease-[.25,.25,0,1]'
+ span.style.transition = 'transform cubic-bezier(.25,.25,0,1)'
element.innerHTML = ''
element.appendChild(span)
diff --git a/apps/www/components/LaunchWeek/15/LW15MainStage.tsx b/apps/www/components/LaunchWeek/15/LW15MainStage.tsx
index 37cc3ed75c2bc..f6ac66e1b4f36 100644
--- a/apps/www/components/LaunchWeek/15/LW15MainStage.tsx
+++ b/apps/www/components/LaunchWeek/15/LW15MainStage.tsx
@@ -116,13 +116,13 @@ const DayCardShipped = ({ day }: { day: WeekDayProps }) => {
))}
(
key={`${day.title}-image-${i}?v=3`}
className={cn(
'absolute inset-0 w-full h-full -z-10',
- 'transition-all duration-300 !ease-[.24,0,.22,.99]',
+ 'transition-all duration-300 !ease-[cubic-bezier(.24,0,.22,.99)]',
'dark:opacity-50 scale-100',
'group-hover/main:dark:opacity-100'
)}
diff --git a/apps/www/components/LaunchWeek/X/Album/Player.tsx b/apps/www/components/LaunchWeek/X/Album/Player.tsx
index ad6502d163d75..26cf0addb8282 100644
--- a/apps/www/components/LaunchWeek/X/Album/Player.tsx
+++ b/apps/www/components/LaunchWeek/X/Album/Player.tsx
@@ -23,7 +23,7 @@ const Player = () => {
href="https://supabase.productions/"
target="_blank"
className={cn(
- 'opacity-0 outline-none group translate-x-2 !ease-[.24,0,.22,.99] duration-200 transition-all text-foreground-muted hover:text-foreground !leading-3 font-mono uppercase text-[10px] flex flex-col text-right',
+ 'opacity-0 outline-none group translate-x-2 !ease-[cubic-bezier(.24,0,.22,.99)] duration-200 transition-all text-foreground-muted hover:text-foreground !leading-3 font-mono uppercase text-[10px] flex flex-col text-right',
isPlaying && 'opacity-100 translate-x-0'
)}
>
diff --git a/apps/www/components/LaunchWeek/X/Releases/components/AdventCard.tsx b/apps/www/components/LaunchWeek/X/Releases/components/AdventCard.tsx
index 6dd7d456cd1aa..371e165f991f7 100644
--- a/apps/www/components/LaunchWeek/X/Releases/components/AdventCard.tsx
+++ b/apps/www/components/LaunchWeek/X/Releases/components/AdventCard.tsx
@@ -71,7 +71,7 @@ const AdventCard = ({ day, index }: { day: AdventDay; index: number }) => {
{
{day.title}
{
}-active.svg`}
alt="Compute addon grid"
className={cn(
- 'absolute inset-0 z-20 transition-opacity opacity-0 !ease-[.76,0,.23,1] duration-300',
+ 'absolute inset-0 z-20 transition-opacity opacity-0 !ease-[cubic-bezier(.76,0,.23,1)] duration-300',
triggerAnimation && 'opacity-100'
)}
/>
@@ -32,7 +32,7 @@ const PricingComputeAnimation = () => {
}-active.svg`}
alt="Compute addon grid"
className={cn(
- 'absolute inset-0 z-20 transition-all opacity-0 !ease-[.76,0,.23,1] duration-500 delay-500 -translate-y-[18%] blur-md',
+ 'absolute inset-0 z-20 transition-all opacity-0 !ease-[cubic-bezier(.76,0,.23,1)] duration-500 delay-500 -translate-y-[18%] blur-md',
triggerAnimation && 'opacity-100 -translate-y-[8%] blur-none'
)}
/>
@@ -43,7 +43,7 @@ const PricingComputeAnimation = () => {
}-active.svg`}
alt="Compute addon grid"
className={cn(
- 'absolute inset-0 z-20 transition-all opacity-0 !ease-[.76,0,.23,1] duration-500 delay-1000 -translate-y-[24%] blur-md',
+ 'absolute inset-0 z-20 transition-all opacity-0 !ease-[cubic-bezier(.76,0,.23,1)] duration-500 delay-1000 -translate-y-[24%] blur-md',
triggerAnimation && 'opacity-100 -translate-y-[16%] blur-none'
)}
/>
diff --git a/apps/www/components/Pricing/PricingComputeSection.tsx b/apps/www/components/Pricing/PricingComputeSection.tsx
index 48c591a92e68b..5b4ed2e3126e0 100644
--- a/apps/www/components/Pricing/PricingComputeSection.tsx
+++ b/apps/www/components/Pricing/PricingComputeSection.tsx
@@ -56,7 +56,7 @@ const PricingComputeSection = () => {
TRAE IDE now integrates with Supabase, enabling developers to manage their entire backend infrastructure without leaving the IDE. Browse databases, manage storage, configure auth, and more.
Thu, 08 Jan 2026 00:00:00 -0700
+
-
+
https://supabase.com/blog/supabase-security-2025-retro
+ Supabase Security Retro: 2025
+ https://supabase.com/blog/supabase-security-2025-retro
+ A summary of Supabase platform security changes made in 2025 and the security defaults planned for 2026.
+ Wed, 07 Jan 2026 00:00:00 -0700
+
-
https://supabase.com/blog/stripe-sync-engine-integration
Sync Stripe Data to Your Supabase Database in One Click