Sanity logosanity.ioAll Systems Operational© Sanity 2026
Change Site Theme
Sanity logo

Documentation

    • Overview
    • Platform introduction
    • Next.js quickstart
    • Nuxt.js quickstart
    • Astro quickstart
    • React Router quickstart
    • Studio quickstart
    • Build with AI
    • Content Lake
    • Functions
    • APIs and SDKs
    • Agent Actions
    • Visual Editing
    • Blueprints
    • Platform management
    • Dashboard
    • Studio
    • Canvas
    • Media Library
    • App SDK
    • Content Agent
    • HTTP API
    • CLI
    • Libraries
    • Specifications
    • Changelog
    • User guides
    • Developer guides
    • Courses and certifications
    • Join the community
    • Templates

Changelog

Track new features, improvements, and fixes across all Sanity products.

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Changelog

Track new features, improvements, and fixes across all Sanity products.

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

On this page

Filter by product

Filter by product

Apps
  • 6
  • 1
  • 18
  • 1
  • 6
  • 7
  • 6
  • 14
  • 3
  • 310
  • 2
  • 1
Integrations & Libraries
  • 15
  • 6
  • 2
  • 4
  • 2
  • 2
  • 9
  • 1
  • 1
  • 1
  • 6
  • 9
  • 4
  • 1
  • 3
Subscribe to the changelog
  • RSS (Latest)
  • RSS (Full)
  • JSON Feed (Latest)
  • JSON Feed (Full)
  1. Changelog
  2. Integrations & Libraries
  3. Sanity React App SDK

Zero-config Studio integration and perspective-aware projections

Published: February 13, 2026

v2.7.0

This release introduces zero-config usage of the SDK inside Sanity Studio, perspective-aware projections, and improved Agent Action hook documentation.

Zero-config Studio integration

SanityApp can now run inside Sanity Studio without any manual configuration. The SDK automatically reads the active workspace's project ID, dataset, and authentication state through a new SDKStudioContext.

Before (v2.6): Studio tools required explicit configuration, even when running inside Studio.

import {SanityApp} from '@sanity/sdk-react'

const config = {
  projectId: 'my-project-id',
  dataset: 'production',
}

function MyStudioTool() {
  return (
    <SanityApp config={config} fallback={<div>Loading…</div>}>
      <MyComponent />
    </SanityApp>
  )
}

After (v2.7): No config is needed inside Studio. The SDK derives everything from the workspace.

import {SanityApp} from '@sanity/sdk-react'

function MyStudioTool() {
  return (
    <SanityApp fallback={<div>Loading…</div>}>
      <MyComponent />
    </SanityApp>
  )
}

Standalone apps outside Studio still pass a config prop. When both are present, the explicit config takes precedence.

Authentication is also automatic. The SDK subscribes to the Studio's token source, so Studio remains the single authority for auth and token refresh. For older Studio versions without a reactive token source, the SDK falls back to localStorage and cookie-based discovery.

Migrating from studioMode

studioMode is deprecated. Replace it with the new studio config property: 

const config = {
   projectId: 'my-project',
   dataset: 'production',
-  studioMode: { enabled: true },
+  studio: {},
 }

Perspective-aware projections

useDocumentProjection now respects the active perspective (for example, 'drafts' or a release perspective) and document source. Previously, projections always queried with a 'raw' perspective and applied a manual draft overlay. Projections now follow the configured perspective directly, which means references (such as author->name) resolve correctly for drafts and releases.No code changes are required. Existing usage works the same way.

🐛 Notable bug fixes and improvements

  • Corrected useAgentPatch TSDoc examples to match the PatchDocument API.
  • All Agent Action hooks now include inline TSDoc examples with usage patterns.
  • Updated @sanity/client dependency.

Related documentation

  • App SDK introduction

  • Authentication with the App SDK

Loading...

On this page

  • Zero-config Studio integration
  • Migrating from studioMode
  • Perspective-aware projections
  • 🐛 Notable bug fixes and improvements

Related documentation

  • App SDK introduction

  • Authentication with the App SDK

import {SanityApp} from '@sanity/sdk-react'

const config = {
  projectId: 'my-project-id',
  dataset: 'production',
}

function MyStudioTool() {
  return (
    <SanityApp config={config} fallback={<div>Loading…</div>}>
      <MyComponent />
    </SanityApp>
  )
}
import {SanityApp} from '@sanity/sdk-react'

function MyStudioTool() {
  return (
    <SanityApp fallback={<div>Loading…</div>}>
      <MyComponent />
    </SanityApp>
  )
}
const config = {
   projectId: 'my-project',
   dataset: 'production',
-  studioMode: { enabled: true },
+  studio: {},
 }

Previous Changelog

Introducing logging tooling

January 22, 2026

Sanity React App SDK