Skip to content

Releases: sanity-io/sanity

v3.34.0

14 Mar 17:56
Compare
Choose a tag to compare

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npm create sanity@latest

To upgrade your Sanity Studio, run this command in its folder:

npm install sanity@latest

✨ Highlights

Persisted user settings

User settings (like desk list sort orders, view modes, and global search history) are now stored securely server-side by Sanity. This means that these settings do not need to be re-selected across devices or browsers, and will be persisted wherever a user logs into their Studio.

🐛 Notable bugfixes

  • Fixes a bug in the Portable Text Editor where merging two text blocks could result in data loss in the topmost block when several editors are inside the document.
  • Migration CLI tooling now always places its output in the project root, and provides better messaging about this.

📓 Full changelog

Author Message Commit
Ash feat(cli): improve migration runner output (#5904) 11d15ce
Ash fix(cli): use inferred project root when creating migrations from subdirectory (#5905) 1d2775c
Herman Wikner fix(core): handle no userId in getUser (#5992) c9ceac0
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.11.6 (#5999) 51d3bbd
Per-Kristian Nordnes fix(portable-text-editor): fix and test issue with merge block operation (#5996) 96bc72b
Pedro Bonamin feat(tasks): add notification data for tasks document and tasks comments (#5998) 8e63552
cngonzalez feat(core): store and fetch user settings from backend (#5939) ecb3495

v3.33.0

12 Mar 20:11
Compare
Choose a tag to compare

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npm create sanity@latest

To upgrade a Sanity Studio, run this command in its folder:

npm install sanity@latest

🐛 Notable bugfixes

  • Resolves an issue where users were not redirected to their original destination after re-authenticating, ensuring seamless access to linked content within the Studio.
  • _projectId and _strengthenOnPublish are now valid values for Initial Value Templates, allowing for Cross Dataset Reference values in templates.
  • Fixes a type bug where the type for defineType and defineField was not being captured correctly.

Other Features

  • __experimental_search is deprecated in favor of field-level search options for strings and Portable Text arrays. You should now be able to define search weights in your schema, like:
defineField({
  name: 'title',
  type: 'string',
  options: {
    search: {
      weight: 10,
    },
  },
})
  • Document Actions can now specify a group, which will allow users to specify whether a specific document action should appear in the footer or in the document's context menu.
  • Adds ability to open the hotspot and crop dialog by double-clicking image preview.

📓 Full changelog

Author Message Commit
Tommy Petty Update PULL_REQUEST_TEMPLATE.md (#5921) 3afe5a2
Herman Wikner fix(comments): enable check (#5918) c230bb5
Herman Wikner fix(comments): lost comment message while document is reconnecting (#5928) ec4da46
Bjørge Næss test(sanity): use dev aliases in the validation test's worker threads (#5927) 8bf1c92
Herman Wikner feat(comments): support task comments (#5934) 75273af
Herman Wikner fix(comments): use _weak instead of weak (#5936) 642224f
Tommy Petty fix(pte): updates zoffset for PopoverEditDialog to not be on top of InspectDialog (#5882) 69b3552
Nina Andal Aarvik fix(core): add onDoubleClick to open image crop (#5815) e3bfee0
Bjørge Næss fix(ci): align pnpm install across all workflows (#5920) f103967
Rico Kahler feat(core): redirect to previous path after login (#5932) 96cd0b6
Pedro Bonamin feat(tasks): bootstrap tasks plugin (#5704) dd0794a
cngonzalez refactor(core): use KeyValueStore for recent searches (#5872) c531a6b
Herman Wikner fix(comments): handle lack of access to inline comments (#5925) 2d4f60c
Pedro Bonamin chore(comments): add support for comments layout avatar config (#5944) f42ea79
Tommy Petty fix(core): remove prev and next month buttons in calendar input (#5931) 01f7df2
Pedro Bonamin feat(core): add groups to document actions, introduce paneActions group (#5933) 4e95e09
Rico Kahler fix(core): upgrade and fix types for typescript 5.4 (#5943) 4e72b80
Rico Kahler fix(core): allow _projectId and _strengthOnPublish in templates (#5942) 5adca88
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.7.0 (#5955) 0314111
renovate[bot] chore(lockfile): update dependency @sanity/react-loader to v1.9.3 (#5952) 01bd4ab
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.11.4 (#5954) a5a1a5d
renovate[bot] fix(deps): update dependency @sanity/client to ^6.15.3 (#5953) fc22e9f
renovate[bot] chore(lockfile): update dependency @sanity/icons to v2.11.0 (#5957) 502fda0
renovate[bot] chore(deps): update dependency @sanity/assist to v2 (#5960) f7019ff
Pedro Bonamin fix(deps): update @sanity/icons (#5956) 15f53bd
Bjørge Næss chore(test): exclude the github reporter from playwright tests for now (#5959) 334917f
Cody Olsen chore: add PTE in Presentation race condition reproduction (#5961) 4adda38
Cody Olsen chore: always bump @sanity/ui (#5963) 1884546
renovate[bot] chore(lockfile): update dependency @sanity/icons to v2.11.2 (#5962) bf22266
Sindre Gulseth feat: add cmd to generate a JSON representation of schema (#5919) c1e4f2a
renovate[bot] fix(deps): update dependency get-it to ^8.4.11 (#5967) 25dce83
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.0.8 (#5966) a1237d6
Herman Wikner feat(core): add navbar actions (@internal) (#5968) 8336c9f
renovate[bot] chore(lockfile): update dependency framer-motion to v11.0.12 (#5969) 01f260b
renovate[bot] chore(deps): update dependency @sanity/icons to ^2.11.2 (#5970) 1b0eb08
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.7.1 (#5971) 3101795
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.0.9 (#5972) 218d09c
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.11.5 (#5973) 9254565
Nina Andal Aarvik fix(tasks): show pending tasks in document footer (#5894) 177bc79
renovate[bot] fix(deps): update dependency @sanity/client to ^6.15.4 (#5975) a701e1c
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.0.10 (#5976) b7bcc2d
renovate[bot] chore(lockfile): update dependency @sanity/assist to v2.0.3 (#5977) be49900
Pedro Bonamin feat(tasks): use FormBuilder to create and edit tasks. (#5897) 908577e
Pedro Bonamin feat(tasks): track activity changes with document history. (#5965) 0a76390
Bjørge Næss chore(deps): pin typescript to 5.3 (#5984) 193b4b8
Ash feat(core): add new search config API (#5948) 3c458c8

v3.32.0

06 Mar 17:25
Compare
Choose a tag to compare

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

  npm create sanity@latest

To upgrade your Sanity Studio, run this command in its project folder:

  npm install sanity@latest

✨ Highlights

Inline commenting in Blocks

inline comments screenshot

Enhance editorial collaboration with the ability to attach comments directly to specific text selections. This feature includes highlight capabilities and ensures a seamless experience with updates and scrolling interactions.

Comments is available on the Growth plan (30-day free trial on new projects). You can learn more about comments in the documentation.

🐛 Notable bugfixes

Fixes sluggish document list due to lingering listeners

We've implemented a cleanup mechanism for edit state listeners to resolve issues that caused the document lists to become sluggish. Prior to this fix, open connections weren't being closed properly, leading to slow performance and potential crashes. If you've been experiencing delays or stability problems in your document lists, this update addresses those concerns.

📓 Full changelog

Author Message Commit
renovate[bot] fix(deps): update dependency @sanity/client to ^6.15.1 (#5913) 3b741a1
renovate[bot] chore(lockfile): update dependency @sanity/react-loader to v1.9.2 (#5912) 124570d
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.11.3 (#5914) 2bebf24
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.6.0 (#5915) b625213
Rico Kahler fix(core): clean up edit state listeners (#5911) 4acc11e
Per-Kristian Nordnes chore(comments): enable inline comments (#5883) 7d3f33d
Tommy Petty fix(core): update placeholder text to be more clear and accessible (#5910) 9978095

v3.31.0

05 Mar 18:15
Compare
Choose a tag to compare

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

Portable Text Editor improvements

  • Inline references and objects will now render with increased default sizes in the Portable Text Editor for easier interaction.
  • Original content keys are now preserved during undo/redo operations in the Portable Text Editor. This change makes for more robust content integrity.

🐛 Notable bugfixes

  • Fixes an issue that allowed files to be dropped behind the open modal, leading to potentially adding files to the wrong input.
  • Fixes a problem where temporary network disruptions could cause the form editor to reload and lose unsaved edits. Now, the form becomes read-only during reconnection, preserving state and changes.
  • Fixes an issue where initial value templates would not accept a target dataset for cross-dataset references.
  • Fixes an issue where the "disabled" state was shown indefinitely for cross-dataset references.
  • Resolves a UI problem where the "cannot upload" message was incorrectly shown for extension-restricted file types during hover.
  • Fixes a bug where certain selections within the Portable Text Editor were being mishandled.
  • Fixes an issue where Comments would show a loading state while the form was reconnecting, preserving user comments during network issues.

📓 Full changelog

Author Message Commit
Robin Neatherway docs: show backup command in help (#5865) 5d060af
Nina Andal Aarvik fix(core): change modalWidth of inlineObjects to 1 by default (#5839) 6e551b0
Per-Kristian Nordnes feat(portable-text-editor): preserve keys on undo/redo (#5805) f83e8e4
Herman Wikner feat(portable-text-editor): implement isSelectionOverlapping method (#5870) 1d41af7
renovate[bot] chore(deps): update dependency get-random-values-esm to v1.0.2 (#5856) 16a5434
Ash fix(form): prevent drop event propagating outside of EditPortal component (#5813) fc73437
Per-Kristian Nordnes fix(portable-text-editor): check that path is lengthy (#5875) 2deebb1
Herman Wikner feat(core): add onFullScreenChange to Portable Text Input (#5879) 84a0c90
Rupert Dunk feat(structure): support closing first collapsed DocumentPanel (#5867) 6d61e94
cngonzalez fix(core): check if previous state is null for unmounted component (#5724) 9ed5cca
Tommy Petty fix(structure): provide better error handling if orderings contain invalid field (#5709) 4926b78
Per-Kristian Nordnes feat(portable-text-editor): range decorations (#5871) fa330a0
Herman Wikner feat(comments): introduce inline commenting (#5606) 7ed2b0f
Tommy Petty fix(core): updates to not show "cannot upload" on hover when using extension based accepts settings (#5881) 023e7e6
Bjørge Næss fix(sanity): preserve form (as readOnly) when reconnecting (#5884) ed87e2a
Per-Kristian Nordnes fix(portable-text-editor): all paths must be checked (#5891) 4ae88a0
Per-Kristian Nordnes fix(comments): allow ranges to be collapsed (#5892) eb5cd50
Ash feat(ci): cache release dependencies (#5834) 75ac3cf
Rostislav Melkumyan feat(cli): --quickstart flag for ejecting server schemas (#5797) 174a616
Pedro Bonamin feat(core): export useWorkspaceLoader from core (#5898) 3670459
Pedro Bonamin chore(search): refactor search to export necessary components and providers. (#5900) 4159bca
Espen Hovlandsdal chore(deps): upgrade archiver, split2 dependencies (#5880) c9a1dd6
Espen Hovlandsdal fix(core): allow _dataset for cross-dataset references in templates (#5889) 9fc34a2

v3.30.1

27 Feb 16:12
Compare
Choose a tag to compare

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

  • Added reference documentation for the sanity/migrate APIs.

Other features

  • Adds ARIA labels to navbar icons for better accessibility.
  • Fixes an issue in which the free trial popover was shown twice for new users.

🐛 Notable bugfixes

  • Updates placeholder color for Portable Text Editor.

📓 Full changelog

Author Message Commit
cngonzalez test(core): add tests for sort order local storage values (#5764) adb43b0
Per-Kristian Nordnes feat(form/inputs): control PortableTextEditor instance via ref (#5793) f655b5c
Per-Kristian Nordnes feat(core/inputs): support custom editor change callback (#5803) 1a36a74
Per-Kristian Nordnes feat(portable-text-editor): determine if selection is made backward (#5807) db8fd66
Per-Kristian Nordnes feat(portable-text-editor): new API method getFragment (#5806) f210112
Pedro Bonamin fix(pte): update pte placeholder color (#5756) 2ec0605
Per-Kristian Nordnes test(playwright-ct): fix some webkit flakyness in PT-Input tests (#5811) 981a4bd
Nina Andal Aarvik fix(core): add missing aria-labels to navbar icons (#5810) ea8f97a
Bjørge Næss fix(docs): complete apidocs for migrations (#5679) 32569be
Espen Hovlandsdal fix(i18n): escape interpolated values inside of (#5804) 78ffbaf
Robin Neatherway chore(backup): set dated api version (#5816) fd5bb2f
Nina Andal Aarvik fix(core): add aria label to action button pte toolbar (#5653) 0794d72
Nina Andal Aarvik fix(pte): add telemetry to invalidvalue error (#5809) f3fd972
Per-Kristian Nordnes chore: update codeowners details (#5812) 0e94908
Bjørge Næss chore: use star for workspace protocol version (#5822) 6894f7b
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#5823) b34420c
renovate[bot] fix(deps): update dependency get-it to ^8.4.9 (#5827) 06968cd
renovate[bot] chore(deps): update dependency @sanity/ui to ^2.0.7 (#5824) 63e569f
renovate[bot] chore(deps): update pnpm to v8.15.3 (#5829) b75a335
renovate[bot] chore(deps): update dependency turbo to ^1.12.4 (#5826) 40ad626
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.4.0 (#5828) 22200c6
renovate[bot] chore(deps): update actions/cache action to v4 (#5831) 81e5140
renovate[bot] fix(deps): update dependency @sanity/client to ^6.14.2 (#5830) 447dfba
Robin Neatherway feat: update indexing endpoint for new name (#5725) 477b60c
Pedro Bonamin chore(tasks): move CommentsSetupProvider to core (#5767) dbff227
cngonzalez refactor(core): refactor SettingsStore and useStructureToolSetting (#5784) 74be48b
Ash fix(i18n): add successful document restoration string (#5821) 21677cd
cngonzalez test(core): add test for color scheme preference and search (#5820) 1c1c87c
Fred Carlsen fix(test): fix breaking annotation popover test (#5838) 042cd34
renovate[bot] fix(deps): update dependency get-it to ^8.4.10 (#5841) 09970ef
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.11.0 (#5842) 78bc713
renovate[bot] chore(deps): update dependency @bjoerge/mutiny to ^0.5.3 (#5843) 8e95d63
renovate[bot] chore(deps): update pnpm to v8.15.4 (#5844) ce5339b
renovate[bot] chore(lockfile): update dependency @sanity/logos to v2.1.6 (#5845) c4f1071
renovate[bot] chore(lockfile): update dependency @sanity/react-loader to v1.8.7 (#5846) 2367d5d
renovate[bot] chore(lockfile): update dependency mendoza to v3.0.5 (#5848) 2a32db3
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.5.0 (#5849) aaddddb
renovate[bot] chore(lockfile): update dependency groq-js to v1.4.3 (#5847) f502730
renovate[bot] fix(deps): update dependency @sanity/client to ^6.14.4 (#5840) 8aec841
Robin Neatherway fix: wait for all streams to close when writing backups (#5835) 0363599
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.5.1 (#5850) 387f66f
renovate[bot] chore(lockfile): update dependency @sanity/preview-url-secret to v1.6.4 (#5851) 21eac30
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.11.1 (#5853) d467be4
renovate[bot] chore(lockfile): update dependency @sanity/react-loader to v1.8.8 (#5852) 8a6d67f
ecospark[bot] chore(prettier): fix unformatted files 🤖 ✨ (#5854) bcdb319
renovate[bot] fix(deps): update dependency @sanity/client to ^6.15.0 (#5857) 9ddde9a
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.5.2 (#5858) 9dc2e91
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.11.2 (#5860) 24cf9e0
renovate[bot] chore(lockfile): update dependency @sanity/react-loader to v1.9.0 (#5859) 47fed89
Pedro Bonamin fix(core): free trial shows twice (#5837) e774ce1
radhe fix(cli): handle API Error and update text output when backups are enabled (#5861) 11d3ceb
Rico Kahler build: allow etl.yml to be ran manually (#5863) 212f021
Binoy Patel chore(deps): bump tsdoc to 1.0.0-alpha.44 (#5866) 99d60af
Nina Andal Aarvik fix(core): change telemetry event names (#5832) 242e2ca

v3.30.0

20 Feb 16:57
Compare
Choose a tag to compare

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

v3.29.1

14 Feb 18:43
Compare
Choose a tag to compare

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

🐛 Notable bugfixes

  • Pins a dependency that was causing an infinite loop (Maximum call stack size exceeded)

📓 Full changelog

Author Message Commit
Espen Hovlandsdal fix: pin get-random-values-esm to 1.0.0 8b09226

v3.29.0

13 Feb 16:56
Compare
Choose a tag to compare

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

🐛 Notable bugfixes

  • Fixes an issue where the alert messages for published or deleted documents sometimes displayed incorrect titles
  • Fixes a comments-related error dialog from inadvertently showing up to users
  • Removes layout shift when loading document locations when the Presentation tool is used (#5702)
  • Fixes a bug that hid unpublished documents in "Documents on this page" in the Presentation tool (#5702)
  • Fixes a bug that caused the document pane to stay open in the Presentation tool (#5702)

Other features

  • Adds support for importing system documents via --allow-system-documents for dataset imports
  • Adds support for parameterized templates in the Presentation tool (#5694)

📓 Full changelog

Author Message Commit
Pedro Bonamin fix(core): update PortableTextInput doc reference (#5688) 2664990
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.8.0 (#5694) e725a3c
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.2.0 (#5693) 9373ce6
renovate[bot] chore(deps): update dependency @sanity/ui to ^2.0.2 (#5698) bb0b631
renovate[bot] chore(lockfile): update dependency @sanity/assist to v1.2.16 (#5696) 72bc694
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.8.1 (#5699) d645d37
Espen Hovlandsdal fix(comments): catch and suppress errors from comments upsell (#5700) fbaffd2
renovate[bot] fix(deps): update dependency @sanity/client to ^6.12.4 (#5701) f85396f
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.8.2 (#5702) c23ccb4
Simeon Griggs chore: rename "schemas" to the more correct plural "schemaTypes" (#5513) 2eaffd3
Fred Carlsen chore: apply auto eslint fixes with lint-staged (#5705) 40c9b4f
Binoy Patel chore(dev): remove react import 9aabbb0
Bjørge Næss use jsx: 'automatic' for dev server a2f505b
Bjørge Næss chore(deps): upgrade eslint tooling 95890c6
Bjørge Næss fix(eslint): add rules to enforce consistent type imports and import sort orders 1ec2c39
Bjørge Næss chore(eslint): set @typescript-eslint/no-explicit-any as warn instead of error e01c101
Bjørge Næss chore: autofix eslint errors after config change b14622e
Bjørge Næss fix(structure): add workaround for circular import issue causing resolveIntent tests to fail c2e6017
Bjørge Næss chore: exclude packages with type-only imports from depcheck 8fea4a0
Bjørge Næss chore(sanity): preserve order of side-effectsy imports 08e83dd
Bjørge Næss chore(test-studio): reorganize comments & imports in test schema 7ca741c
Bjørge Næss chore: manually fix remaining non-autofixable eslint issues 5a65b7b
Bjørge Næss chore(eslint): extend react/jsx-runtime config 5eb8755
Bjørge Næss chore: remove remaining react imports ff4c3bb
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.2.2 (#5718) 117834e
Bjørge Næss fix(cli) let cli tests run with robot tokens (#5715) 04c30fb
Binoy Patel test(core): adds e2e tests for date and datetime inputs (#5681) 6694945
radhe feat(backup): add new command dataset backup for server-side backups (#5571) f04c76e
radhe feat(CLI): in sanity dataset import cmd, add --allow-system-documents to explicitly permit system document import, which should be ignore otherwise (#5689) fa9f924
ecospark[bot] chore(deps): dedupe yarn.lock (#5720) 2518ac4
Nina Andal Aarvik fix(structure): use useDocumentTitle hook for toast message (#5719) 51ed18d
Rupert Dunk feat(comments): add optional intent link to comments (#5576) 27bf5f9
Espen Hovlandsdal refactor(comments): use journey endpoint for comments upsell (#5721) b999da0
Drew Lyton feat(telemetry): add telemetry for Trial Dialogs (#5643) ad971f8
Rico Kahler build: release automation (#5722) d024b09

v3.28.0

06 Feb 19:38
Compare
Choose a tag to compare

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

v3.27.1

01 Feb 10:50
39c0b8d
Compare
Choose a tag to compare

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

🐛 Notable bugfixes

  • Fixes a bug with sanity migrate that caused a patch to be applied twice.

📓 Full changelog

Author Message Commit
Binoy Patel fix(migration): fixes issues where patch would happen twice (#5638) 343765d