✨ Highlights
The @sanity/presentation
codebase has been migrated into the sanity
codebase
The @sanity/presentation
codebase has been migrated into the sanity
codebase. We've always recommended using Presentation Tool by importing it from sanity/presentation
, like so:
// sanity.config.ts
import {defineConfig} from 'sanity'
import {presentationTool} from 'sanity/presentation'
import {structureTool} from 'sanity/structure'
export default defineConfig({
plugins: [presentationTool(), structureTool()]
})
If you've been following this pattern then this change won't impact you in any way.
If you've been installing @sanity/presentation
and are using it directly (we've sometimes suggested this to let folks try out bugfixes before they ship in the next release of sanity
):
// sanity.config.ts
import {defineConfig} from 'sanity'
import {presentationTool} from '@sanity/presentation'
import {structureTool} from 'sanity/structure'
export default defineConfig({
plugins: [presentationTool(), structureTool()]
})
Then you need to search/replace all from '@sanity/presentation'
statements in your codebase with from 'sanity/presentation'
, and uninstall @sanity/presentation
, as it'll no longer receive updates.
Other features
- Adds
disableActions
option to array fields for disabling various array input capabilities.
🐛 Notable bugfixes
- Fixes an issue preventing keyboard navigation to edit buttons for annotation and inline objects in the Portable Text Input.
- Fixes an issue allowing custom form inputs to incorrectly patch a
readOnly
document by callingonChange
. - The Presentation Tool's "Documents in use" pane now includes draft and unpublished documents, meaning it actually shows all documents in use, rather than just some of them.
- No longer warns about duplicate keys when using Presentation on
sanity dev
with React Strict Mode, or embedded studios on Next.js App Router.
Install or upgrade Sanity Studio
To initiate a new Sanity Studio project or upgrade an existing one, please refer to our comprehensive guide on Installing and Upgrading Sanity Studio.
If you are updating from a version earlier than 3.37.0, you should also check out this article to ensure your dependencies are up to date.
📓 Full changelog
Author | Message | Commit |
---|---|---|
Christian Grøngaard | fix(core): replace @sanity/block-tools with @portabletext/block-tools (#8260)
| 0ff7c7f |
Pedro Bonamin | chore(core): update <Resizable/> , accept a position prop and remove duped and export from sanity (#8250)
| 4bca7b9 |
Pedro Bonamin | chore(core): use displayed value for document title (#8268) | 9a5fee3 |
Pedro Bonamin | chore(core): update diffValue to accept a generic Meta property (#8269)
| cef5237 |
Pedro Bonamin | chore(core): add getTransactionLogs helper (#8261)
| 03e7760 |
Rostislav Melkumyan | chore(renovate): add @sanity/template-validator (#8280)
| d351c5f |
Pedro Bonamin | fix(core): cannot find namespace 'vi' (#8282) | 3a3cc58 |
Jordan Lawrence | chore: playwright test wrapper creates router context (#8258) | a1a80a8 |
RitaDias | test(e2e): add checks for properties in reference tests (#8279) | 21aba08 |
renovate[bot] | fix(deps): update dependency @sanity/presentation to v1.22.0 (#8295) | 847f30e |
renovate[bot] | chore(deps): update dev-non-major (#8267) | c094eb3 |
Per-Kristian Nordnes | fix(core/form/inputs): fix issue with tabbing to popover toolbar buttons in PT-input (#5057) | 6c61c9c |
renovate[bot] | chore(deps): update github artifact actions to v4 (major) (#8298) | a7f5230 |
Jordan Lawrence | feat: Updated Navbar link for Tasks tool (#8257) | 498b05e |
Espen Hovlandsdal | fix(deps): upgrade vite to v6
| 532eb63 |
Espen Hovlandsdal | chore: temporary override to make vitest use vite 6 | 995eeba |
Christian Grøngaard | fix(types): make ObjectSchemaType['__experimental_search'] optional (#8289)
| 7f5c037 |
Jordan Lawrence | chore: explicitly setting all navbar dropdowns and menu popovers as having default tone (#8301) | c0d26c0 |
ecospark[bot] | chore(deps): dedupe pnpm-lock.yaml (#8305) | 8d3ac75 |
renovate[bot] | fix(deps): update dependency @sanity/presentation to v1.22.1 (#8308) | 3a49a11 |
renovate[bot] | fix(deps): update dependency @sanity/client to ^6.24.4 (#8307) | ee29383 |
Bjørge Næss | feat(preview): add experimental support for observing full documents (#7397) | 56bcd0a |
Jordan Lawrence | fix: patching a readOnly document is blocked (#8292) | 49cc66f |
Jordan Lawrence | fix: readOnly pane overrides patch (#8313) | ad3fd48 |
renovate[bot] | fix(deps): update dependency @sanity/client to ^6.25.0 (#8315) | d4175f9 |
Cody Olsen | refactor: migrate @sanity/presentation codebase (#8312)
| 680930c |
renovate[bot] | fix(deps): update dependency @sanity/mutate to ^0.12.1 (#8239) | b53b164 |
renovate[bot] | fix(deps): update dependency @sanity/preview-url-secret to ^2.1.0 (#8316) | e8faa3a |
Cody Olsen | fix(presentation): always show all documents in use (#8320) | cbbebd5 |
Cody Olsen | fix(presentation): avoid duplicate key warning (#8319) | 48f3e68 |
ecospark[bot] | fix(deps): update React Compiler dependencies 🤖 ✨ (#8327) | 2e1f58e |
ecospark[bot] | chore(deps): dedupe pnpm-lock.yaml (#8328) | 698d609 |
renovate[bot] | chore(deps): update dev-non-major (#8321) | 4e4dc8f |
renovate[bot] | fix(deps): update dependency react-rx to ^4.1.16 (#8329) | 76609d2 |
renovate[bot] | fix(deps): update dependency @portabletext/editor to ^1.22.0 (#8252) | 5379e4f |
renovate[bot] | fix(deps): update dependency @portabletext/block-tools to ^1.1.0 (#8285) | ba61226 |
Rostislav Melkumyan | feat(cli): remote template bootstrapper to support write token (#8277) | b5e5e9d |
renovate[bot] | fix(deps): update dependency @sanity/ui to ^2.11.3 (#8330) | 148c1ec |
renovate[bot] | chore(lockfile): update dependency framer-motion to v11.18.1 (#8331) | b99d808 |
Bjørge Næss | feat(form): add support for disabling array input capabilities (#7615) | 9ce399c |
Simeon Griggs | fix: add defineField helper to alt field (#8333) | fc456ea |
Christian Grøngaard | test: fix PTE copy/paste test case (#8344) | 044f24c |
Bjørge Næss | feat(preview): add experimental support for live document id sets (#7398) | d1dc5b5 |