Installation and upgrading
To initiate a new Studio without installing the CLI globally:
npm create sanity@latest
To upgrade a v3 Studio, run this command in its folder:
npm install sanity@latest
✨ Highlights
Improvements to Comments in Presentation
With the recent introduction of both Presentation tool and comments, we realised that context can be crucial in understanding comments relating to visual aspects of an application.
Comments created from within the Presentation tool will now display a link allowing content editors to navigate from any tool directly to the context in which that comment was made in their application.
Other features
- Improves error handling for a migration script that attempts to iterate over the passed document function without calling it
- Adds new Studio API,
ActiveToolLayout
, which allows plugin authors to have more flexibility by wrapping the active tool - The selected viewport in Presentation is now persisted in the URL
🐛 Notable bugfixes
- Improves focus handling with the Presentation tool and Portable Text Inputs
- Fixes regression preventing
import {debugSecrets} from '@sanity/preview-url-secret/sanity-plugin-debug-secrets'
listing secrets - Fixes a bug preventing the CLI being used inside Studio project subdirectories
📓 Full changelog
Author | Message | Commit |
---|---|---|
Rico Kahler | fix: remove no private (#5726) | a3998c3 |
Ash | refactor(util): move concurrency limiter packages to @sanity/util (#5654)
| 35d368e |
Ash | fix(cli): project root resolution (#5712) | e30f45f |
Bjørge Næss | chore(deps): normalize vite dependencies | 4c6ade2 |
Bjørge Næss | chore(docs): remove internal 'how to publish' from CONTRIBUTING.md | 3e95893 |
Bjørge Næss | chore: install npm check-updates as dev dependency | 5799aed |
Bjørge Næss | chore: upgrade debug to latest 4.x | 5719016 |
Bjørge Næss | chore(depcheck): remove v2 detector and fix ts error | a2c08ee |
Bjørge Næss | chore(depcheck): cleanup depcheck ignores | ac8fdc3 |
Bjørge Næss | chore(portable-text-editor): add missing dev dependency | ef47bad |
Bjørge Næss | chore(groq): use relative imports to 'groq' from tests | b5dc763 |
Bjørge Næss | chore(sanity): add missing dev dependencies | e1be615 |
Bjørge Næss | chore(cli): cleanup dependencies | 3bb3d2b |
Bjørge Næss | fix(test): remove unused files | 4317541 |
Bjørge Næss | chore: add @jest/globals as dev dependency in packages | af6561e |
Bjørge Næss | chore(test): remove @sanity/ui jest mock | 66eaec5 |
Bjørge Næss | chore(test): run codemod migrating from implicit imports from '@jest/globals' | 23add76 |
Bjørge Næss | chore(test): fix various test typings after moving to @jest/globals | 79f89c8 |
Bjørge Næss | chore(sanity): add workaround for typing difference between @types/jest and @jest/globals | 7e3bcf2 |
Bjørge Næss | chore: remove @types/jest usage | c81b291 |
Bjørge Næss | fix(test): remove usage of jest-dom/extend-expect | 8a80150 |
Bjørge Næss | chore(deps): upgrade @testing-library/jest-dom to 6.x | 1a323e7 |
Binoy Patel | chore(cli): update help copy for CLI commands (#5687) | 12fb96b |
Rupert Dunk | chore(comments): improve i18n resource for comment contexts (#5731) | ce560b0 |
Bjørge Næss | chore: switch from yarn to pnpm | da9f72e |
Bjørge Næss | fix(mutator): fix type export issue | c7ed0c9 |
Bjørge Næss | chore(cli): replace vite typing stub with proper dependency | d09db4c |
Bjørge Næss | chore(vision): fix typescript issue related to reexporting codemirror extensions | 26c5f47 |
Bjørge Næss | chore(deps): add 'sanity' as dependency to workspace root | 564c501 |
Bjørge Næss | chore(deps): upgrade @types/node to 18.x | 64203be |
Bjørge Næss | chore: rename mentions of yarn => pnpm | 5a65aad |
Bjørge Næss | chore(package.json): alphabetize scripts | 3527a43 |
Bjørge Næss | chore: clean up package scripts | c77b7ba |
Bjørge Næss | chore: cleanup depcheck scripts | 6e37d03 |
Bjørge Næss | fix(github): enable pnpm before installing dependencies | 0b572f1 |
Bjørge Næss | fix(github): fix workflow file | 5a215ca |
Bjørge Næss | fix: run prettier | e24a458 |
Bjørge Næss | fix(monorepo): add missing dev dependency | b5359d3 |
Bjørge Næss | fix(vision): add missing type dependency | 6e91aef |
Bjørge Næss | fix(sanity): update test snapshots | 70bcf6f |
Bjørge Næss | chore: apply suggestions from code review | 1b7a1f1 |
Bjørge Næss | fix(ci): fix subargs issue w/pte e2e tests | f0fad4c |
Binoy Patel | chore(e2e): fix e2e action failing (#5735) | 4c02649 |
Bjørge Næss | fix(chore): fix lint script (#5739) | d1fc36d |
Rico Kahler | build: remove last rebase step (#5737) | 79a5870 |
Espen Hovlandsdal | chore(deps): align versions, lockfile | 2d1f084 |
Espen Hovlandsdal | fix(cli): minor whitespace tuning for migration error output (#5727) | b20f121 |
Bjørge Næss | chore(ci): fix prettier --write (#5740) | 2b00589 |
Bjørge Næss | chore: improve dev commands (#5747) | b6199a1 |
Pedro Bonamin | feat(core): add studioActiveToolLayout and navbar rightSectionNode prop (#5749) | c708671 |
Per-Kristian Nordnes | chore: add missing types packages (#5751) | 656bec2 |
Ash | fix(core): add @types/lodash (#5753)
| 59f8afd |
Cody Olsen | fix(structure): allow sanity.previewUrlSecret in document lists (#5733) | 8fd55c4 |
Bjørge Næss | chore(perf): replace references to yarn with pnpm (#5748) | 2f777d8 |
Binoy Patel | chore(deps): upgrade husky@9 (#5744) | 8f3c44c |
Binoy Patel | test(e2e): fix e2e test caching issue (#5763) | 6caf803 |
Bjørge Næss | fix(migrate): throw if attempting to iterate over documents producer (#5758) | 928f04d |
Bjørge Næss | fix(ci): use pnpm for package releases (#5746) | 4dedf3b |
Binoy Patel | test(migration) add tests for normalizeMigrationDefinition (#5565) | c4baaab |
Pedro Bonamin | fix(pte): PTE modal seems to re-render on validation state change due to tooltip disabled change (#5766) | c24e4d9 |
renovate[bot] | fix(deps): update dependency @sanity/presentation to v1.9.1 (#5773) | b7a3f13 |
renovate[bot] | chore(deps): update dependency @sanity/visual-editing to v1.3.1 (#5770) | ec1cc0f |
renovate[bot] | fix(deps): update dependency @sanity/client to ^6.13.3 (#5772) | 79ef8c3 |
Binoy Patel | chore(test): fix linting and type errors (#5775) | 67ef631 |
renovate[bot] | chore(deps): update dependency @sanity/ui to ^2.0.3 (#5776) | 409edb1 |
Sindre Gulseth | fix: update ndjson specification url (#5780) | 15b9e79 |
Binoy Patel | chore(deps): bump @sanity/tsdoc to 1.0.0-alpha.42 (#5765) | 86bf2e9 |
Pedro Bonamin | fix(core): update featuresEnabled when switching projects (#5787) | 32d79a2 |
Per-Kristian Nordnes | chore: upgrade @playwright/test to latest (#5792) | 84a6015 |
Binoy Patel | test(migrate): update types for test to better match usage (#5781) | 15c3bc1 |
Per-Kristian Nordnes | refactor(core/inputs): report focusPath on text spans ending with .text (#5786) | 3941d86 |
Pedro Bonamin | feat(core): rename useMentionOptions to useUserListWithPermission and move to core (#5778) | 5da8891 |
Per-Kristian Nordnes | fix(core/inputs): fix issues with calling onPathFocus for PT-input (#5794) | 0f114b1 |
Bjørge Næss | chore: use workspace protocol for internal dependencies | 61eee1f |
Bjørge Næss | chore(workspace): use sanity dependency from workspace | 0693a24 |
Bjørge Næss | chore(deps): hoist sanity workspace package | b57830c |
Bjørge Næss | chore(test): use SanityClient type from @sanity/client
| bfa53c9 |
Bjørge Næss | fix(ci): run e2e-pte tests in the correct folder | e2f26c4 |
Nina Andal Aarvik | fix(core): bring back subtitle in workspace list view (#5788) | 2202e3c |
ecospark[bot] | chore(deps): dedupe pnpm-lock.yaml (#5798) | 6d4090e |
Espen Hovlandsdal | fix(structure): intent menu item nodes not rendering (#5728) | 613e1dd |
Ash | fix(ci): setup pnpm (#5800) | 83630cf |
Ash | fix(ci): remove pnpm reference from setup-node step (#5801) | 19c0e86 |