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
Dry run content migrations from a local dataset file
You can now dry run content migration jobs against a local dataset export file (for example, a production.tar.gz
file that you have exported):
sanity migration run my-content-migration --from-file=production.tar.gz
Note: The --from-file
flag only works with dry runs, in other words, you won't be able to use is with the --no-dry-run
flag.
Learn more about Schema Change Management in our documentation.
Other features
- Timestamps in comments display in the format of the current Sanity Studio locale.
- Improvements to migration reporting and refinements to messaging and text during migration commands.
- Unattended mode in CLI will respect plans and coupons, and defaults to plans.
- Document titles now display with balanced line breaks (
text-wrap: pretty
). - Comments feature is now discoverable for all users on a non-paid plan, with UI to make plan upgrade easier.
🐛 Notable bugfixes
- Fixes an issue where the Vision tool might crash when pasting a query URL.
- Styling fixes for labels and columnar objects in the studio.
- Icon display defaults in
S.documentTypeList()
now match those in other document lists.
📓 Full changelog
Author | Message | Commit |
---|---|---|
ecospark[bot] | chore(deps): dedupe yarn.lock (#5615) | 1527a9d |
renovate[bot] | fix(deps): update dependency @sanity/client to ^6.12.3 (#5623) | 5116ee0 |
renovate[bot] | fix(deps): update dependency @sanity/presentation to v1.7.3 (#5622) | c04afbc |
renovate[bot] | chore(lockfile): update dependency sanity-plugin-mux-input to v2.2.4 (#5624) | 5697847 |
renovate[bot] | chore(deps): update dependency express to ^4.18.2 (#5629) | 0050425 |
Cody Olsen | fix: remove __unstable_focusRing unknown forwarded prop warning (#5621)
| 6c87bea |
renovate[bot] | chore(deps): update thollander/actions-comment-pull-request digest to 1d3973d (#5632) | 56bf76e |
renovate[bot] | chore(deps): update tiryoh/gha-jobid-action action to v1 (#5633) | 359b4cb |
Robin Pyon | fix: only fully collapse PTE toolbars in 'root' FormBuilder instances (#5547) | e219e2a |
Knut Melvær | docs(create-sanity): update README.md | 6fa1750 |
renovate[bot] | chore(deps): update dependency turbo to ^1.12.2 (#5635) | f948e7d |
Rune Botten | chore: remove outdated beta docs URLs (#5636) | 4d06ae8 |
renovate[bot] | chore(deps): update dependency is-hotkey to ^0.2.0 (#5634) | 5a49de6 |
Rune Botten | fix(cli): update migration run usage text (#5637) | 0bae465 |
Binoy Patel | fix(migration): shows better error message when running migration list (#5625) | 9c2db95 |
Simeon Griggs | feat: apply text balance to document titles (#5641) | 4e2507b |
renovate[bot] | chore(deps): update dependency framer-motion to v11 (#5649) | e573c51 |
renovate[bot] | chore(deps): update dessant/lock-threads action to v5 (#5650) | 0e05e77 |
renovate[bot] | chore(deps): update peter-evans/create-pull-request action to v6 (#5651) | 5b1d51c |
Indrek Kärner | feat(cli): prompt to use default plan when wrong coupon or plan | 8e202c7 |
Binoy Patel | chore(deps): update dependency depcheck to ^1.4.7 (#5631) | 03c65f6 |
Ash | feat(cli): improve reporting when dry running from export (#5609) | b8eefc6 |
ecospark[bot] | chore(deps): dedupe yarn.lock (#5658) | 93a05b1 |
Cody Olsen | fix: regression caused by #5440 (#5657) | 0af205c |
Espen Hovlandsdal | refactor(cli): clean up esbuild on completed migration list operation | d17269e |
Espen Hovlandsdal | refactor(migration): sort imports | cc9e473 |
Espen Hovlandsdal | fix(migration): make sanity migration list also include file-only migrations
| c6745ab |
Espen Hovlandsdal | refactor(migration): use chalk from context instead of importing it
| 471e491 |
Espen Hovlandsdal | refactor(migration): reuse resolve migration logic in run command | 063f8eb |
Espen Hovlandsdal | refactor(migration): move migration resolve functions to util folder | a9606b8 |
Ash | fix(form): preserve intrinsic block size of field labels (#5639) | 08f6694 |
renovate[bot] | fix(deps): update dependency @sanity/presentation to v1.7.4 (#5671) | 55a54b5 |
Nina Andal Aarvik | fix(src): add document title to publosh/unpublish success message in toast (#5605) | 0cf3772 |
Nina Andal Aarvik | fix(core): fix aligning of columnar objects/fieldsets (#5627) | 851b62d |
Binoy Patel | fix(perf): fixes build and deploy issues with perf studio (#5646) | d17f722 |
Binoy Patel | chore(migration): fixes help copy on migration create command (#5663) | bb3fb8f |
Robin Pyon | docs(core): update components.logo deprecation note to correctly point to workspace.icons (#5677)
| bfa8e54 |
Bjørge Næss | feat(migration): (re)introduce --from-export (#5672) | 7332a9f |
Bjørge Næss | fix(migrate): submit mutations with visibility=async (#5675) | 0eda4a7 |
Binoy Patel | fix(migration): fixes an issue where migration command would error sometimes (#5678) | 805745f |
cngonzalez | fix: add icon display as default to documentTypeList (#5644) | 40b3d50 |
ecospark[bot] | chore(deps): dedupe yarn.lock (#5674) | b0a8248 |
Nina Andal Aarvik | fix(core): adding accessibility labels to pte objects (#5652) | 3d6ed07 |
Ash | fix(cli): respect unattended mode (#5659) | 0e0fd1f |
renovate[bot] | fix(deps): update dependency @sanity/presentation to v1.7.6 (#5682) | 8f0e911 |
Rostislav Melkumyan | fix(studio): center studio nav (#5608) | d1aecb5 |
Espen Hovlandsdal | refactor(comments): unprefix namespaced i18n comment resources | 767ef22 |
Espen Hovlandsdal | refactor(comments): clarify what "feedback" refers to in i18n comments | f0ad739 |
Espen Hovlandsdal | fix(comments): use correct apostroph in onboarding popover | 07e0317 |
Espen Hovlandsdal | refactor(comments): simplify usage | 2f8bbe1 |
Espen Hovlandsdal | refactor(comments): allow specifying location of "you" in reactions story | 3c48b0d |
Espen Hovlandsdal | refactor(comments): allow for more users in reactions workshop | 60b54c2 |
Espen Hovlandsdal | refactor(comments): use list formatter, group reactions resources | 8068c11 |
Espen Hovlandsdal | refactor(comments): avoid using internal document inspector name | 01e4998 |
Espen Hovlandsdal | refactor(comments): align prop name for field title | c914385 |
Espen Hovlandsdal | refactor(comments): simplify "add comment to field" resources | 765130f |
Espen Hovlandsdal | refactor(comments): replace useTimeAgo with useRelativeTime hook
| a86235d |
Espen Hovlandsdal | refactor(comments): sort imports | 016342f |
Espen Hovlandsdal | fix(comments): use locale-aware date formatting | d7fbcd8 |
Espen Hovlandsdal | refactor(comments): clarify field button resources, remove unused resource | e73b32c |
Espen Hovlandsdal | refactor(comments): group comment input resources under compose
| cc31d21 |
Espen Hovlandsdal | refactor(comments): sort imports | 12d355e |
Espen Hovlandsdal | fix(comments): translate input placeholder | e93633c |
Espen Hovlandsdal | refactor(comments): group + clarify purpose of mention resources | 67f3573 |
Espen Hovlandsdal | refactor(comments): colocate more compose resources | 7492d72 |
Espen Hovlandsdal | refactor(comments): group status filter resources | 09877bf |
Espen Hovlandsdal | refactor(comments): colocate "go to.." buttons under list item | 904ad29 |
Espen Hovlandsdal | refactor(comments): rename resources | a909949 |
Espen Hovlandsdal | refactor(comments): sort imports | 1302bc4 |
Espen Hovlandsdal | fix(comments): remove stray t prop in cloning causing warnings
| a89f5d3 |
Espen Hovlandsdal | fix(comments): improve text wrapping logic inside of user list | 6317b49 |
Bjørge Næss | feat(migrate): use autoGenerateKeys=true when submitting mutations (#5685) | 5ec6a22 |
Binoy Patel | chore(cli): add schema command to help list (#5676) | 3d0f7ee |
Espen Hovlandsdal | refactor(vision): sort imports | 3191018 |
Espen Hovlandsdal | fix(vision): explicitly allow v1 as valid API version
| 175ece0 |
Espen Hovlandsdal | fix(vision): ensure query/params from localStorage are strings | d1dd537 |
Espen Hovlandsdal | fix(vision): persist raw (string) value of params to localStorage | c13868a |
Espen Hovlandsdal | refactor(vision): sort state attributes alphabetically | cb38c64 |
Espen Hovlandsdal | fix(vision): provide error boundary with cache clear on error | 3a8a987 |
Cody Olsen | chore: add presentation test studio (#5683) | 0828051 |
Pedro Bonamin | feat(comments): adds read-only state to comments. (#5570) | fab7cec |