diff --git a/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts b/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts
index a0e9c1bacfde4..df0dfca94eef2 100644
--- a/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts
+++ b/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts
@@ -2357,6 +2357,10 @@ export const telemetry: NavMenuConstant = {
name: 'Log drains',
url: '/guides/telemetry/log-drains',
},
+ {
+ name: 'Reports',
+ url: '/guides/telemetry/reports',
+ },
{
name: 'Metrics',
url: '/guides/telemetry/metrics',
diff --git a/apps/docs/content/guides/database/connection-management.mdx b/apps/docs/content/guides/database/connection-management.mdx
index 4a13b4aa4e55a..bd763d7e7cffa 100644
--- a/apps/docs/content/guides/database/connection-management.mdx
+++ b/apps/docs/content/guides/database/connection-management.mdx
@@ -23,6 +23,32 @@ These numbers are generalizations and depends on other Supabase products that yo
### Capturing historical usage
+#### Dashboard monitoring charts
+
+
+
+For Teams and Enterprise plans, Supabase provides Advanced Telemetry charts directly within the Dashboard. The `Database client connections` chart displays historical connection data broken down by connection type:
+
+- **Postgres**: Direct connections from your application
+- **PostgREST**: Connections from the PostgREST API layer
+- **Reserved**: Administrative connections for Supabase services
+- **Auth**: Connections from Supabase Auth service
+- **Storage**: Connections from Supabase Storage service
+- **Other roles**: Miscellaneous database connections
+
+This chart helps you monitor connection pool usage, identify connection leaks, and plan capacity. It also shows a reference line for your compute size's maximum connection limit.
+
+For more details on using these monitoring charts, see the [Reports guide](/docs/guides/telemetry/reports#advanced-telemetry).
+
+#### Grafana Dashboard
+
Supabase offers a Grafana Dashboard that records and visualizes over 200 project metrics, including connections. For setup instructions, check the [metrics docs](/docs/guides/platform/metrics).
Its "Client Connections" graph displays connections for both Supavisor and Postgres
diff --git a/apps/docs/content/guides/telemetry/reports.mdx b/apps/docs/content/guides/telemetry/reports.mdx
new file mode 100644
index 0000000000000..34fbd117671a2
--- /dev/null
+++ b/apps/docs/content/guides/telemetry/reports.mdx
@@ -0,0 +1,309 @@
+---
+id: 'reports'
+title: 'Reports'
+description: 'Built-in observability for your Supabase project'
+---
+
+Supabase Reports provide comprehensive observability for your project through dedicated monitoring dashboards that visualize key metrics across your database, auth, storage, realtime, and API systems. Each report offers self-debugging tools to gain actionable insights for optimizing performance and troubleshooting issues.
+
+
+
+Reports are only available for projects hosted on the Supabase Cloud platform and are not available for self-hosted instances.
+
+
+
+## Using reports
+
+Reports can be filtered by time range to focus your analysis on specific periods. Available time ranges are gated by your organization's plan, with higher-tier plans providing access to longer historical periods.
+
+| Time Range | Free | Pro | Team | Enterprise |
+| --------------- | ---- | --- | ---- | ---------- |
+| Last 10 minutes | ✅ | ✅ | ✅ | ✅ |
+| Last 30 minutes | ✅ | ✅ | ✅ | ✅ |
+| Last 60 minutes | ✅ | ✅ | ✅ | ✅ |
+| Last 3 hours | ✅ | ✅ | ✅ | ✅ |
+| Last 24 hours | ✅ | ✅ | ✅ | ✅ |
+| Last 7 days | ❌ | ✅ | ✅ | ✅ |
+| Last 14 days | ❌ | ❌ | ✅ | ✅ |
+| Last 28 days | ❌ | ❌ | ✅ | ✅ |
+
+---
+
+## Database
+
+The Database report provides the most comprehensive view into your Postgres instance's health and performance characteristics. These charts help you identify performance bottlenecks, resource constraints, and optimization opportunities at a glance.
+
+The following charts are available for Free and Pro plans:
+
+| Chart | Available Plans | Description | Key Insights |
+| ---------------------------- | --------------- | -------------------------------------------- | --------------------------------------------- |
+| Memory usage | Free, Pro | RAM usage percentage by the database | Memory pressure and resource utilization |
+| CPU usage | Free, Pro | Average CPU usage percentage | CPU-intensive query identification |
+| Disk IOPS | Free, Pro | Read/write operations per second with limits | IO bottleneck detection and workload analysis |
+| Database connections | Free, Pro | Number of pooler connections to the database | Connection pool monitoring |
+| Shared Pooler connections | All | Client connections to the shared pooler | Shared pooler usage patterns |
+| Dedicated Pooler connections | All | Client connections to PgBouncer | Dedicated pooler connection monitoring |
+
+{/* supa-mdx-lint-disable-next-line Rule001HeadingCase */}
+
+### Advanced Telemetry
+
+The following charts provide a more advanced and detailed view of your database performance and are available only for Teams and Enterprise plans.
+
+### Memory usage
+
+
+
+| Component | Description |
+| ------------------- | ------------------------------------------------------ |
+| **Used** | RAM actively used by Postgres and the operating system |
+| **Cache + buffers** | Memory used for page cache and Postgres buffers |
+| **Free** | Available unallocated memory |
+
+How it helps debug issues:
+
+| Issue | Description |
+| ------------------------------ | ------------------------------------------------ |
+| Memory pressure detection | Identify when free memory is consistently low |
+| Cache effectiveness monitoring | Monitor cache performance for query optimization |
+| Memory leak detection | Detect inefficient memory usage patterns |
+
+Actions you can take:
+
+| Action | Description |
+| ----------------------------------------------------------------------------------------------- | ---------------------------------------------- |
+| [Upgrade compute size](https://supabase.com/docs/guides/platform/compute-and-disk#compute-size) | Increase available memory resources |
+| Optimize queries | Reduce memory consumption of expensive queries |
+| Tune Postgres configuration | Improve memory management settings |
+| Implement application caching | Add query result caching to reduce memory load |
+
+### CPU usage
+
+
+
+| Category | Description |
+| ---------- | ------------------------------------------------ |
+| **System** | CPU time for kernel operations |
+| **User** | CPU time for database queries and user processes |
+| **IOWait** | CPU time waiting for disk/network IO |
+| **IRQs** | CPU time handling interrupts |
+| **Other** | CPU time for miscellaneous tasks |
+
+How it helps debug issues:
+
+| Issue | Description |
+| ---------------------------------- | -------------------------------------------------- |
+| CPU-intensive query identification | Identify expensive queries when User CPU is high |
+| IO bottleneck detection | Detect disk/network issues when IOWait is elevated |
+| System overhead monitoring | Monitor resource contention and kernel overhead |
+
+Actions you can take:
+
+| Action | Description |
+| -------------------------------------------------------------- | --------------------------------------------------------------------------- |
+| Optimize CPU-intensive queries | Target queries causing high User CPU usage |
+| Address IO bottlenecks | Resolve disk/network issues when IOWait is high |
+| [Upgrade compute size](/docs/guides/platform/compute-and-disk) | Increase available CPU capacity |
+| Implement proper indexing | Use [query optimization](/docs/guides/database/postgres/indexes) techniques |
+
+### Disk input/output operations per second (IOPS)
+
+
+
+This chart displays read and write IOPS with a reference line showing your compute size's maximum IOPS capacity.
+
+How it helps debug issues:
+
+| Issue | Description |
+| --------------------------------- | ---------------------------------------------------------------- |
+| Disk IO bottleneck identification | Identify when disk IO becomes a performance constraint |
+| Workload pattern analysis | Distinguish between read-heavy vs write-heavy operations |
+| Performance correlation | Spot disk activity spikes that correlate with performance issues |
+
+Actions you can take:
+
+| Action | Description |
+| ---------------------------------------------------------------------------------- | --------------------------------------------------------- |
+| Optimize indexing | Reduce high read IOPS through better query indexing |
+| Consider read replicas | Distribute read-heavy workloads across multiple instances |
+| Batch write operations | Reduce write IOPS by grouping database writes |
+| [Upgrade compute size](https://supabase.com/docs/guides/platform/compute-and-disk) | Increase IOPS limits with larger compute instances |
+
+### Disk IO Usage
+
+
+
+This chart displays the percentage of your allocated IOPS (Input/Output Operations Per Second) currently being used.
+
+How it helps debug issues:
+
+| Issue | Description |
+| --------------------------- | ----------------------------------------------------------- |
+| IOPS limit monitoring | Identify when approaching your allocated IOPS capacity |
+| Performance correlation | Correlate high IO usage with application performance issues |
+| Operation impact assessment | Monitor how database operations affect disk performance |
+
+Actions you can take:
+
+| Action | Description |
+| ---------------------------------------------------------------------------------- | -------------------------------------------------- |
+| Optimize disk-intensive queries | Reduce queries that perform excessive reads/writes |
+| Add strategic indexes | Reduce sequential scans with appropriate indexing |
+| [Upgrade compute size](https://supabase.com/docs/guides/platform/compute-and-disk) | Increase IOPS limits with larger compute instances |
+| Review database design | Optimize schema and query patterns for efficiency |
+
+### Disk size
+
+
+
+| Component | Description |
+| ------------ | --------------------------------------------------------- |
+| **Database** | Space used by your actual database data (tables, indexes) |
+| **WAL** | Space used by Write-Ahead Logging |
+| **System** | Reserved space for system operations |
+
+How it helps debug issues:
+
+| Issue | Description |
+| ----------------------------- | ------------------------------------------- |
+| Space consumption monitoring | Track disk usage trends over time |
+| Growth pattern identification | Identify rapid growth requiring attention |
+| Capacity planning | Plan upgrades before hitting storage limits |
+
+Actions you can take:
+
+| Action | Description |
+| -------------------------------------------------------------------------------- | -------------------------------------------------------------------- |
+| Run [VACUUM](https://www.postgresql.org/docs/current/sql-vacuum.html) operations | Reclaim dead tuple space and optimize storage |
+| Analyze large tables | Use CLI commands like `table-sizes` to identify optimization targets |
+| Implement data archival | Archive historical data to reduce active storage needs |
+| [Upgrade disk size](https://supabase.com/docs/guides/platform/database-size) | Increase storage capacity when approaching limits |
+
+### Database connections
+
+
+
+| Connection Type | Description |
+| --------------- | ------------------------------------------------ |
+| **Postgres** | Direct connections from your application |
+| **PostgREST** | Connections from the PostgREST API layer |
+| **Reserved** | Administrative connections for Supabase services |
+| **Auth** | Connections from Supabase Auth service |
+| **Storage** | Connections from Supabase Storage service |
+| **Other roles** | Miscellaneous database connections |
+
+How it helps debug issues:
+
+| Issue | Description |
+| ------------------------------- | ----------------------------------------------------------- |
+| Connection pool exhaustion | Identify when approaching maximum connection limits |
+| Connection leak detection | Spot applications not properly closing connections |
+| Service distribution monitoring | Monitor connection usage across different Supabase services |
+
+Actions you can take:
+
+| Action | Description |
+| -------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- |
+| [Upgrade compute size](https://supabase.com/docs/guides/platform/compute-and-disk#compute-size) | Increase maximum connection limits |
+| Implement [connection pooling](https://supabase.com/docs/guides/database/connecting-to-postgres#shared-pooler) | Optimize connection management for high direct connection usage |
+| Review application code | Ensure proper connection handling and cleanup |
+
+## Auth
+
+The Auth report focuses on user authentication patterns and behaviors within your Supabase project.
+
+| Chart | Description | Key Insights |
+| ------------------------ | --------------------------------------------- | ----------------------------------------------- |
+| Active Users | Count of unique users performing auth actions | User engagement and retention patterns |
+| Sign In Attempts by Type | Breakdown of authentication methods used | Password vs OAuth vs magic link preferences |
+| Sign Ups | Total new user registrations | Growth trends and onboarding funnel performance |
+| Auth Errors | Error rates grouped by status code | Authentication friction and security issues |
+| Password Reset Requests | Volume of password recovery attempts | User experience pain points |
+
+## Storage
+
+The Storage report provides visibility into how your Supabase Storage is being utilized, including request patterns, performance characteristics, and caching effectiveness.
+
+| Chart | Description | Key Insights |
+| --------------- | ------------------------------------------ | ------------------------------------------------------ |
+| Total Requests | Overall request volume to Storage | Traffic patterns and usage trends |
+| Response Speed | Average response time for storage requests | Performance bottlenecks and optimization opportunities |
+| Network Traffic | Ingress and egress bandwidth usage | Data transfer costs and CDN effectiveness |
+| Request Caching | Cache hit rates and miss patterns | CDN performance and cost optimization |
+| Top Routes | Most frequently accessed storage paths | Popular content and usage patterns |
+
+## Realtime
+
+The Realtime report tracks WebSocket connections, channel activity, and real-time event patterns in your Supabase project.
+
+| Chart | Description | Key Insights |
+| --------------------- | ------------------------------------------------------------- | ------------------------------------------------- |
+| Realtime Connections | Active WebSocket connections over time | Concurrent user activity and connection stability |
+| Channel Events | Breakdown of broadcast, Postgres changes, and presence events | Real-time feature usage patterns |
+| Rate of Channel Joins | Frequency of new channel subscriptions | User engagement with real-time features |
+| Total Requests | HTTP requests to Realtime endpoints | API usage alongside WebSocket activity |
+| Response Speed | Performance of Realtime API endpoints | Infrastructure optimization opportunities |
+
+## Edge Functions
+
+The Edge Functions report provides insights into serverless function performance, execution patterns, and regional distribution across Supabase's global edge network.
+
+| Chart | Description | Key Insights |
+| ---------------------- | ----------------------------------------- | ---------------------------------------------- |
+| Execution Status Codes | Function response codes and error rates | Function reliability and error patterns |
+| Execution Time | Average function duration and performance | Performance optimization opportunities |
+| Invocations by Region | Geographic distribution of function calls | Global usage patterns and latency optimization |
+
+## API gateway
+
+The API Gateway report analyzes traffic patterns and performance characteristics of requests flowing through your Supabase project's API layer.
+
+| Chart | Description | Key Insights |
+| --------------- | ----------------------------------------- | ------------------------------------------------ |
+| Total Requests | Overall API request volume | Traffic patterns and growth trends |
+| Response Errors | Error rates with 4XX and 5XX status codes | API reliability and user experience issues |
+| Response Speed | Average API response times | Performance bottlenecks and optimization targets |
+| Network Traffic | Request and response bandwidth usage | Data transfer patterns and cost implications |
+| Top Routes | Most frequently accessed API endpoints | Usage patterns and optimization priorities |
diff --git a/apps/docs/public/img/database/reports/cpu-usage-chart-dark.png b/apps/docs/public/img/database/reports/cpu-usage-chart-dark.png
new file mode 100644
index 0000000000000..191ae83165355
Binary files /dev/null and b/apps/docs/public/img/database/reports/cpu-usage-chart-dark.png differ
diff --git a/apps/docs/public/img/database/reports/cpu-usage-chart-light.png b/apps/docs/public/img/database/reports/cpu-usage-chart-light.png
new file mode 100644
index 0000000000000..0b688ec967df1
Binary files /dev/null and b/apps/docs/public/img/database/reports/cpu-usage-chart-light.png differ
diff --git a/apps/docs/public/img/database/reports/db-connections-chart-dark.png b/apps/docs/public/img/database/reports/db-connections-chart-dark.png
new file mode 100644
index 0000000000000..44d7f75f02d64
Binary files /dev/null and b/apps/docs/public/img/database/reports/db-connections-chart-dark.png differ
diff --git a/apps/docs/public/img/database/reports/db-connections-chart-light.png b/apps/docs/public/img/database/reports/db-connections-chart-light.png
new file mode 100644
index 0000000000000..27d5ff8d70cd7
Binary files /dev/null and b/apps/docs/public/img/database/reports/db-connections-chart-light.png differ
diff --git a/apps/docs/public/img/database/reports/disk-io-chart-dark.png b/apps/docs/public/img/database/reports/disk-io-chart-dark.png
new file mode 100644
index 0000000000000..5f9f8282e3424
Binary files /dev/null and b/apps/docs/public/img/database/reports/disk-io-chart-dark.png differ
diff --git a/apps/docs/public/img/database/reports/disk-io-chart-light.png b/apps/docs/public/img/database/reports/disk-io-chart-light.png
new file mode 100644
index 0000000000000..5eb835474c575
Binary files /dev/null and b/apps/docs/public/img/database/reports/disk-io-chart-light.png differ
diff --git a/apps/docs/public/img/database/reports/disk-iops-chart-dark.png b/apps/docs/public/img/database/reports/disk-iops-chart-dark.png
new file mode 100644
index 0000000000000..74ffd52794970
Binary files /dev/null and b/apps/docs/public/img/database/reports/disk-iops-chart-dark.png differ
diff --git a/apps/docs/public/img/database/reports/disk-iops-chart-light.png b/apps/docs/public/img/database/reports/disk-iops-chart-light.png
new file mode 100644
index 0000000000000..ce7cf5d40e422
Binary files /dev/null and b/apps/docs/public/img/database/reports/disk-iops-chart-light.png differ
diff --git a/apps/docs/public/img/database/reports/disk-size-chart-dark.png b/apps/docs/public/img/database/reports/disk-size-chart-dark.png
new file mode 100644
index 0000000000000..beb3df95327d1
Binary files /dev/null and b/apps/docs/public/img/database/reports/disk-size-chart-dark.png differ
diff --git a/apps/docs/public/img/database/reports/disk-size-chart-light.png b/apps/docs/public/img/database/reports/disk-size-chart-light.png
new file mode 100644
index 0000000000000..8a1fa264a574e
Binary files /dev/null and b/apps/docs/public/img/database/reports/disk-size-chart-light.png differ
diff --git a/apps/docs/public/img/database/reports/memory-usage-chart-dark.png b/apps/docs/public/img/database/reports/memory-usage-chart-dark.png
new file mode 100644
index 0000000000000..93b6d40193001
Binary files /dev/null and b/apps/docs/public/img/database/reports/memory-usage-chart-dark.png differ
diff --git a/apps/docs/public/img/database/reports/memory-usage-chart-light.png b/apps/docs/public/img/database/reports/memory-usage-chart-light.png
new file mode 100644
index 0000000000000..006626c202720
Binary files /dev/null and b/apps/docs/public/img/database/reports/memory-usage-chart-light.png differ
diff --git a/apps/studio/components/interfaces/BranchManagement/BranchPanels.tsx b/apps/studio/components/interfaces/BranchManagement/BranchPanels.tsx
index 71bf787962df5..57f3f3d0c0c6f 100644
--- a/apps/studio/components/interfaces/BranchManagement/BranchPanels.tsx
+++ b/apps/studio/components/interfaces/BranchManagement/BranchPanels.tsx
@@ -24,7 +24,9 @@ export const BranchManagementSection = ({
Preview branches are short-lived environments that let you safely experiment with changes to
your database schema without affecting your main database.
diff --git a/apps/studio/components/interfaces/BranchManagement/Overview.tsx b/apps/studio/components/interfaces/BranchManagement/Overview.tsx
index b348808d86454..eebf5b7963144 100644
--- a/apps/studio/components/interfaces/BranchManagement/Overview.tsx
+++ b/apps/studio/components/interfaces/BranchManagement/Overview.tsx
@@ -16,6 +16,7 @@ import { useState } from 'react'
import { toast } from 'sonner'
import { useParams } from 'common'
+import { useIsBranching2Enabled } from 'components/interfaces/App/FeaturePreview/FeaturePreviewContext'
import { DropdownMenuItemTooltip } from 'components/ui/DropdownMenuItemTooltip'
import { useBranchQuery } from 'data/branches/branch-query'
import { useBranchResetMutation } from 'data/branches/branch-reset-mutation'
@@ -23,7 +24,6 @@ import { useBranchUpdateMutation } from 'data/branches/branch-update-mutation'
import type { Branch } from 'data/branches/branches-query'
import { branchKeys } from 'data/branches/keys'
import { useCheckPermissions } from 'hooks/misc/useCheckPermissions'
-import { useIsBranching2Enabled } from 'components/interfaces/App/FeaturePreview/FeaturePreviewContext'
import {
Button,
DropdownMenu,
@@ -32,10 +32,10 @@ import {
DropdownMenuTrigger,
} from 'ui'
import ConfirmationModal from 'ui-patterns/Dialogs/ConfirmationModal'
+import TextConfirmModal from 'ui-patterns/Dialogs/TextConfirmModal'
import { BranchLoader, BranchManagementSection, BranchRow, BranchRowLoader } from './BranchPanels'
import { EditBranchModal } from './EditBranchModal'
import { PreviewBranchesEmptyState } from './EmptyStates'
-import TextConfirmModal from 'ui-patterns/Dialogs/TextConfirmModal'
interface OverviewProps {
isLoading: boolean
@@ -99,7 +99,7 @@ export const Overview = ({
{isSuccess && persistentBranches.length === 0 && (
No persistent branches
-
+
Persistent branches are long-lived, cannot be reset, and are ideal for staging
environments.
diff --git a/apps/www/_blog/2025-07-17-new-observability-features-in-supabase.mdx b/apps/www/_blog/2025-07-17-new-observability-features-in-supabase.mdx
new file mode 100644
index 0000000000000..32baea632f46a
--- /dev/null
+++ b/apps/www/_blog/2025-07-17-new-observability-features-in-supabase.mdx
@@ -0,0 +1,136 @@
+---
+title: 'New Observability Features in Supabase'
+description: 'New unified logging, advanced reports, and AI debugging capabilities.'
+categories:
+ - product
+ - launch-week
+tags:
+ - launch-week
+ - studio
+date: '2025-07-17:00:00'
+toc_depth: 3
+author: jonny,saxon_fletcher,jordi,fsansalvadore
+image: launch-week-15/day-4-o11y-day/og.jpg
+thumb: launch-week-15/day-4-o11y-day/thumb.png
+launchweek: 15
+---
+
+We are starting to add OpenTelemetry support to [all](https://github.com/supabase/storage/pull/494) [our](https://github.com/supabase/auth/pull/679) [core](https://github.com/supabase/edge-runtime/pull/554) [products](https://github.com/supabase/realtime/commit/c9683f3f5f94bd2e37494f02c1f4415551e96e5b) and [our Telemetry server](https://github.com/Logflare/logflare/pulls?q=is%3Apr+otel+sort%3Acreated-asc). OpenTelemetry (OTel) standardizes logs, metrics, and traces in a vendor-agnostic format, so you can ingest data into tools like Datadog, Honeycomb, or any monitoring solution you already use. While you'll still have the freedom to bring your own observability stack, we're preparing to surface this data natively in the Supabase dashboard.
+
+Today we are launching
+
+- Preview of our new logging Interface
+- Advanced Product Reports
+- Supabase AI Assistant with debugging capabilities
+
+These updates mark the first step toward unified, end-to-end observability. You won't get the full OTel visualization just yet, but with these foundations in place, you'll soon be able to trace, analyze errors and performance issues, and troubleshoot your entire stack without leaving Supabase.
+
+
+
+
+
+## New logging Interface
+
+Supabase is a collection of seamlessly integrated services. Storage talks to Postgres via the dedicated connection pooler. Edge Functions can talk to Auth and Realtime. If storage uploads fail, you must determine whether the problem lies with the storage server, the dedicated connection pooler, or the database. Until now, pinpointing the root cause meant jumping between multiple log streams.
+
+Starting today, there is one interleaved stream of logs across all services. You can trace a single request across the entire Supabase stack. No more jumping between tabs to diagnose errors.
+
+
+
+We have also added contextual log views. You can now jump from a function's invocation log directly into its execution logs. What used to require two disconnected sources is now stitched together in one view.
+
+
+
+The new interface also supports filtering logs by the request status code, method, path, log level and the auth user associated with the request. This means you can quickly find all Postgrest 500 errors, or all requests made by a specific user with a few clicks.
+
+Shoutout to [openstatus.dev](http://openstatus.dev) for providing the inspiration for some of our Log components.
+
+The new logging interface is available as a feature preview today, which you can enable from the dashboard [here](https://supabase.com/dashboard/project/_?featurePreviewModal=supabase-ui-preview-unified-logs). The new interface currently supports API Gateway logs and Postgres logs, with logs for the other products coming soon.
+
+## Advanced Product Reports
+
+Apart from making our logs better, we also revamped the metrics exposed in our product reports. Previously, you had to host your own [Grafana dashboard](https://github.com/supabase/supabase-grafana) to access some of these advanced metrics. We are bringing some of these metrics directly into the dashboard, so that you can access them without any additional setup or maintaining your own production ready monitoring infrastructure.
+
+Each product has its own dedicated [report](https://supabase.com/dashboard/project/_/reports/api-overview) with a common set of metrics like number of requests, egress, and response time, along with product specific metrics like “Realtime connected clients”.
+
+Additionally, you can drill into a specific time frame and filter by various request and response parameters across all reports.
+
+
+
+Free users get a basic set of metrics for all products, while some of the advanced metrics (like p99 response time) is available for all paid customers.
+
+Try out the new reports [here](https://supabase.com/dashboard/project/_/reports/api-overview).
+
+## Supabase AI Assistant with debugging capabilities
+
+The Supabase AI Assistant now offers powerful new debugging capabilities, making it easier to identify and resolve issues across your stack.
+
+You can now ask the Assistant to:
+
+- Retrieve logs for any Supabase product
+- Analyze log volume over time to identify spikes
+- Drill into specific time windows to investigate anomalies
+
+This means you can go from "something looks off" to concrete answers, without leaving the chat.
+
+The Assistant also comes with several quality-of-life upgrades:
+
+- **Automatic chat renaming** based on your queries
+- **Branch diff reviews**, perfect for projects using branching environments
+- **A more capable model** with additional controls for data privacy and security improvements built in
+
+It's the fastest way to get answers for your project, whether you're debugging a failing function, reviewing changes between branches, or just trying to understand how your app is behaving in production.
+
+This is an example of how the Assistant can analyze logs to identify issues:
+
+
+
+It can also provide recommendations for fixes:
+
+
+
+## What's next
+
+- We'll keep adding more metrics across our reports
+- We're adding logs from the remaining products to new logging interface
+- We plan to make the new logging interface the default experience for all projects soon
+- Expose OpenTelemetry trace information in the logging interface
diff --git a/apps/www/components/Hero/Hero.tsx b/apps/www/components/Hero/Hero.tsx
index 88bbe035a52e8..547659d59bc47 100644
--- a/apps/www/components/Hero/Hero.tsx
+++ b/apps/www/components/Hero/Hero.tsx
@@ -19,8 +19,8 @@ const Hero = () => {
diff --git a/apps/www/components/LaunchWeek/15/LW15MainStage.tsx b/apps/www/components/LaunchWeek/15/LW15MainStage.tsx
index 89c0276c7a79d..be52863956342 100644
--- a/apps/www/components/LaunchWeek/15/LW15MainStage.tsx
+++ b/apps/www/components/LaunchWeek/15/LW15MainStage.tsx
@@ -198,7 +198,7 @@ const CardsSlider: React.FC = ({
ref={swiperRef}
onSwiper={setControlledSwiper}
modules={[Controller, Navigation, A11y]}
- initialSlide={1}
+ initialSlide={3}
spaceBetween={8}
slidesPerView={1.5}
breakpoints={{
diff --git a/apps/www/components/LaunchWeek/15/data/lw15_data.tsx b/apps/www/components/LaunchWeek/15/data/lw15_data.tsx
index 9ecd809939299..f1f32dc2a2ea0 100644
--- a/apps/www/components/LaunchWeek/15/data/lw15_data.tsx
+++ b/apps/www/components/LaunchWeek/15/data/lw15_data.tsx
@@ -124,7 +124,7 @@ const days: (isDark?: boolean) => WeekDayProps[] = (isDark = true) => [
d: 3,
dd: 'Wed',
shipped: true,
- isToday: true,
+ isToday: false,
hasCountdown: false,
blog: '/blog/branching-2-0',
date: 'Wednesday',
@@ -154,18 +154,18 @@ const days: (isDark?: boolean) => WeekDayProps[] = (isDark = true) => [
id: 'day-4',
d: 4,
dd: 'Thu',
- shipped: false,
- isToday: false,
+ shipped: true,
+ isToday: true,
hasCountdown: false,
- blog: '/blog/',
+ blog: '/blog/new-observability-features-in-supabase',
date: 'Thursday',
published_at: '2025-04-03T07:00:00.000-07:00',
- title: '',
+ title: 'Introducing New Observability Features in Supabase',
description: '',
links: [
{
type: 'video',
- href: '',
+ href: 'pLto2PD4-O8',
},
],
steps: [
diff --git a/apps/www/lib/authors.json b/apps/www/lib/authors.json
index 32a8ae9871e3a..ab0e0d3d741a7 100644
--- a/apps/www/lib/authors.json
+++ b/apps/www/lib/authors.json
@@ -291,7 +291,7 @@
{
"author_id": "fsansalvadore",
"author": "Francesco Sansalvadore",
- "position": "Engineering",
+ "position": "Product Design",
"author_url": "https://github.com/fsansalvadore",
"author_image_url": "https://github.com/fsansalvadore.png"
},
diff --git a/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/ai-debugging-dark.png b/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/ai-debugging-dark.png
new file mode 100644
index 0000000000000..59367984586c6
Binary files /dev/null and b/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/ai-debugging-dark.png differ
diff --git a/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/ai-debugging-light.png b/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/ai-debugging-light.png
new file mode 100644
index 0000000000000..70671e1b1ebfe
Binary files /dev/null and b/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/ai-debugging-light.png differ
diff --git a/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/ai-recommendations-dark.png b/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/ai-recommendations-dark.png
new file mode 100644
index 0000000000000..a18c77cf4ad58
Binary files /dev/null and b/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/ai-recommendations-dark.png differ
diff --git a/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/ai-recommendations-light.png b/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/ai-recommendations-light.png
new file mode 100644
index 0000000000000..13c4a6ce60e8c
Binary files /dev/null and b/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/ai-recommendations-light.png differ
diff --git a/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/contextual-logs-dark.png b/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/contextual-logs-dark.png
new file mode 100644
index 0000000000000..a9abc58afe1f4
Binary files /dev/null and b/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/contextual-logs-dark.png differ
diff --git a/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/contextual-logs-light.png b/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/contextual-logs-light.png
new file mode 100644
index 0000000000000..cf421424362a7
Binary files /dev/null and b/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/contextual-logs-light.png differ
diff --git a/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/og.png b/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/og.png
new file mode 100644
index 0000000000000..ddca26b71279f
Binary files /dev/null and b/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/og.png differ
diff --git a/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/reports-dark.png b/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/reports-dark.png
new file mode 100644
index 0000000000000..3b303ab5b6b81
Binary files /dev/null and b/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/reports-dark.png differ
diff --git a/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/reports-light.png b/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/reports-light.png
new file mode 100644
index 0000000000000..39d855aafd41a
Binary files /dev/null and b/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/reports-light.png differ
diff --git a/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/thumb.png b/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/thumb.png
new file mode 100644
index 0000000000000..61f2ed52512c8
Binary files /dev/null and b/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/thumb.png differ
diff --git a/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/unified-logs-dark.png b/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/unified-logs-dark.png
new file mode 100644
index 0000000000000..7e3c1236819ff
Binary files /dev/null and b/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/unified-logs-dark.png differ
diff --git a/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/unified-logs-light.png b/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/unified-logs-light.png
new file mode 100644
index 0000000000000..dd48123886d90
Binary files /dev/null and b/apps/www/public/images/blog/launch-week-15/day-4-o11y-day/unified-logs-light.png differ
diff --git a/apps/www/public/rss.xml b/apps/www/public/rss.xml
index 9eef1433c4e4f..11f9729b85dcd 100644
--- a/apps/www/public/rss.xml
+++ b/apps/www/public/rss.xml
@@ -5,9 +5,16 @@
https://supabase.com
Latest news from Supabaseen
- Wed, 16 Jul 2025 00:00:00 -0700
+ Thu, 17 Jul 2025 00:00:00 -0700
+ https://supabase.com/blog/new-observability-features-in-supabase
+ New Observability Features in Supabase
+ https://supabase.com/blog/new-observability-features-in-supabase
+ New unified logging, advanced reports, and AI debugging capabilities.
+ Thu, 17 Jul 2025 00:00:00 -0700
+
+https://supabase.com/blog/improved-security-controlsImproved Security Controls and A New Home for Security
https://supabase.com/blog/improved-security-controls
diff --git a/packages/ui-patterns/src/Banners/data.json b/packages/ui-patterns/src/Banners/data.json
index 66e320003777f..f426df2e8d5da 100644
--- a/packages/ui-patterns/src/Banners/data.json
+++ b/packages/ui-patterns/src/Banners/data.json
@@ -1,7 +1,7 @@
{
- "text": "LW15: Day 3",
- "launch": "Branching 2.0",
- "launchDate": "2025-07-16T08:00:00.000-07:00",
+ "text": "LW15: Day 4",
+ "launch": "New Observability Features",
+ "launchDate": "2025-07-17T08:00:00.000-07:00",
"link": "/launch-week#main-stage",
"cta": "Learn more"
}
diff --git a/packages/ui/src/components/Loading/Loading.tsx b/packages/ui/src/components/Loading/Loading.tsx
index 68b9836b54ceb..704557cc64379 100644
--- a/packages/ui/src/components/Loading/Loading.tsx
+++ b/packages/ui/src/components/Loading/Loading.tsx
@@ -1,5 +1,5 @@
import React from 'react'
-import { Loader } from 'lucide-react'
+import { Loader2 } from 'lucide-react'
import styleHandler from '../../lib/theme/styleHandler'
@@ -23,7 +23,7 @@ export default function Loading({ children, active }: Props) {
return (