sanity

Sanity Studio – Rapidly configure content workspaces powered by structured content

MIT License

Downloads
9.5M
Stars
5.2K
Committers
128

Bot releases are visible (Hide)

sanity - v3.36.3

Published by rexxars 7 months ago

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 changes

  • Increases the default height of the Portable Text editor

Notable bugfixes

  • Fixes the --enforce-required-fields flag for the sanity typegen generate command not correctly respecting validation rules
  • Fixes a few focus issues where the Portable Text editor would sometimes jump to the start of a block or scroll to a previously opened block on focus inside of the Presentation tool
  • Fixes an issue in which when the tasks panel is open, searching for content in the Cmd + K search changes target document rather than searches the studio

📓 Full changelog

Author Message Commit
Tommy Petty fix(pte): update default height of PTE in Form (#6119) 5756753c49
Sindre Gulseth fix(schema-extraction): check for _required field in validation rules (#6151) 5ba26a5746
Cody Olsen chore: add prettier-plugin-packagejson (#6155) 8f7fe70de2
renovate[bot] chore(deps): update pnpm to v8.15.6 (#6154) 07b0745a2e
renovate[bot] chore(lockfile): update dependency framer-motion to v11.0.24 (#6144) 954c8921d4
Rupert Dunk fix(structure): improve document pane path handling (#6129) 9b4d1059dd
renovate[bot] chore(deps): update babel monorepo (#6159) eb97fe2364
renovate[bot] chore(deps): update dependency @types/babel__traverse to ^7.20.5 (#6160) 16f32c9614
Sindre Gulseth feat(schema): handle assetRequired when extracting schema with enforceRequiredFields (#6157) cd529795a3
Sindre Gulseth chore(deps): upgrade groq-js to latest (#6162) 8db748575b
Pedro Bonamin fix(tasks): don't open tasks search on hotkey + enter (#6165) d3873165eb
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#6164) 74a7a75470
Sindre Gulseth chore(codegen): add enforceRequriedFields to spinner output (#6163) b68e6501af
sanity - v3.36.2

Published by cngonzalez 7 months ago

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 clicking "Publish" and possible other actions would throw the error Sanity LocaleContext value missing.
  • Fixes an issue in which users' names were sometimes displayed in lowercase in the tasks assignee list.

📓 Full changelog

Author Message Commit
Pedro Bonamin fix(tasks): don't lowercase users when searching in the assignee menu (#6138) 27643c8a37
cngonzalez fix: add default listFormat locale where LocaleProvider may not be available (#6147) 3c4d4cf1d4
sanity - v3.36.1

Published by juice49 7 months ago

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 studio might crash on "orphaned marks" in the Portable Text Editor.
  • Fixes an issue that caused the tasks plugin to be inserted multiple times in studios using more than one instance of the Structure Tool.

📓 Full changelog

Author Message Commit
Pedro Bonamin fix(tasks): group changes done to the same field (#6132) 61c7ef8fcc
Espen Hovlandsdal fix(i18n): allow list formatter without arguments in Translate component (#6135) 3e5b8d60f3
Pedro Bonamin fix(core): remove duplicateds tasks plugins (#6134) a0fce46d1c
Sindre Gulseth fix(typegen): add placeholder group to allow typegen to show in help (#6133) 45f0406733
sanity - v3.36.0

Published by juice49 7 months ago

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

✨ Highlights

Sanity TypeGen (beta): Generate types for your schema and GROQ queries

This release comes with Sanity TypeGen, the new tooling in the Sanity CLI that enables extracting the schema into a static representation (schema.json) and to generate TypeScript type definition for it, as well as for GROQ query results.

You can learn more about Sanity TypeGen:

If you try out Sanity TypeGen, do let us know how it went in the #typescript channel in the Sanity community or to your customer success team.

Tasks (beta): Delegate work within Sanity Studio

This update also includes the beta of Tasks for Sanity Studio. It's a way to assign tasks related to documents, delegate them to team members, and track their status across the project.

image

If you wish to disable tasks, you can do so by adding the following to sanity.config.ts:

export default defineConfig({
  ...restOfConfig,
  unstable_tasks: {
    enabled: false,
  },
})

Documentation for Tasks is in the works and will be announced when ready.

🐛 Notable bugfixes

  • Fixes a bug where all fields got marked as non-optional when extracting schema with --enforce-required-fields.
  • Fixes a bug where Vision would insert new line on cmd-return.

On styled-components@5?

If you encounter an error such as TypeError: Cannot read properties of undefined (reading 'div'), please make sure your Studio doesn't depend on styled-components@5. Updating any such dependencies to styled-components@6 should resolve the error:

npm install styled-components@latest

This error is caused by an ESM/CJS compability issue in @sanity/ui.

📓 Full changelog

Author Message Commit
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.12.1 (#6109) 2014ef56cc
renovate[bot] chore(lockfile): update dependency @sanity/react-loader to v1.9.5 (#6104) 0817d8ddf8
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.0.12 (#6107) 4886b00b17
renovate[bot] fix(deps): update dependency @sanity/client to ^6.15.7 (#6106) 69a5d6d60c
Sindre Gulseth fix: move typegen cli into @sanity/cli (#6111) 3f37c218ee
Tommy Petty fix(comments): update close icon to be consistent (#6096) 89fd7ecbdb
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.8.4 (#6100) 046c0907bf
renovate[bot] chore(deps): update dependency turbo to ^1.13.0 (#6114) 1352e84daa
Sindre Gulseth chore(typegen): show schema extraction and typegen in help texts (#6122) ec3b25e02e
Pedro Bonamin fix(pte): PTE inline block object modal closing on validation state changes (#6113) a272c71ee8
Sindre Gulseth fix(schema): correctly assert optional fields with enforce required fields (#6121) f568e14fd7
Espen Hovlandsdal chore: disable import/extensions rule for get-it middleware import (#6127) aca88e90b0
Sindre Gulseth fix(schemaExtract): guard for list options not being an array (#6128) e4f28e5e95
Sindre Gulseth chore(codegen): track ratio between unknown nodes and all type nodes (#6125) 3822da2710
Sindre Gulseth fix(vision): fixes bug where codemirror would insert a new line on cmd-return (#6123) 971ba9f65b
Pedro Bonamin fix(tasks): update description input to create blocks edx-1206 (#6126) 852bfca3a6
Pedro Bonamin feat(tasks): add tasks empty states (#6130) 22afbb4fdb
Sindre Gulseth chore(codegen): add cl as codeowners for {code,type}gen (#6118) 94d0934fd9
Sindre Gulseth feat(codegen): attempt to parse groq queries with parameter in slices (#6117) 97c0b0cff7
shur feat: indicate in metadata that the quickstart option was used in project creation (#6065) 468e76c8cc
sanity - v3.35.2

Published by juice49 7 months ago

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 a bug that caused inputs to lose focus when their value changed

📓 Full changelog

Author Message Commit
Sindre Gulseth chore(schema): add tracing for schema extraction (#6019) ab5ae9f76e
Sindre Gulseth chore(codegen): add total types and align telemetry prop names (#6077) 7ecff65b64
renovate[bot] chore(deps): update dependency @portabletext/toolkit to ^2.0.13 (#6098) c5faca2d77
renovate[bot] chore(lockfile): update dependency @sanity/color to v3.0.2 (#6101) 7c82923b8f
renovate[bot] chore(deps): update dependency @sanity/icons to ^2.11.4 (#6099) a42e9f3227
renovate[bot] fix(deps): update dependency get-it to ^8.4.16 (#6108) eca9c3097e
Herman Wikner fix(comments): drop permission check (#6110) d6a3891f4b
sanity - v3.35.1

Published by binoy14 7 months ago

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

  • Increases width of all inline popovers in the Portable Text Editor
  • Fixes an issue where incorrect studio version was shown in the help menu
  • Fixes an issue where incorrect loading message shown while a pane is resolving in the structure tool

📓 Full changelog

Author Message Commit
renovate[bot] chore(deps): update tiryoh/gha-jobid-action digest to c1d1cf7 (#6064) ae05976b5a
renovate[bot] chore(deps): update thollander/actions-comment-pull-request digest to fabd468 (#6063) 13dcbdb1e4
renovate[bot] chore(deps): update peter-evans/create-pull-request digest to 70a41ab (#6062) 7bd281c712
renovate[bot] chore(deps): update dependency express to ^4.18.3 (#6067) 2aa4b64b3f
renovate[bot] chore(lockfile): update dependency @sanity/locale-nn-no to v1.1.5 (#6071) 0254106e2e
renovate[bot] chore(lockfile): update dependency @sanity/locale-sv-se to v1.2.3 (#6073) 0b1d581f62
renovate[bot] chore(lockfile): update dependency @sanity/locale-pt-pt to v1.1.2 (#6072) 19a8dd67ff
renovate[bot] chore(lockfile): update dependency @sanity/locale-nb-no to v1.1.4 (#6070) cc60405d05
renovate[bot] chore(lockfile): update dependency @sanity/locale-ko-kr to v1.1.3 (#6069) 1d5f3cb722
Nina Andal Aarvik fix(core): increase default width of PT inline popovers (#5878) f809fe3714
Herman Wikner fix(comments): permission check (#6057) 2163ff0002
Sindre Gulseth fix(codegen): include babel.config.json in the published package (#6075) 2e06b84c43
Sindre Gulseth fix(codegen): uppercase query type names (#6080) 74020938c9
Sindre Gulseth refactor(codegen): move Result appending into type generation (#6082) 63432dad1f
Herman Wikner fix(comments): hide resolve action if no handler is provided (#6084) 4767b32481
Tommy Petty fix(tasks): copy changes for Tasks feature (#6085) 3ab20ef81a
Bjørge Næss fix: use workspace protocol for all workspace dependencies (#6088) 06531345b1
Herman Wikner fix(tasks): ui adjustments (#6086) f89111c01c
Pedro Bonamin fix(tasks): update info passed to the tasks comments notification context (#6087) 6635d7200d
Pedro Bonamin fix(tasks): update how addonDatasetProvider ready state is set (#6076) a08a82f2f3
Sindre Gulseth fix(codegen): use relative path when globbing for files (#6083) 5bc629fd23
Pedro Bonamin fix(tasks): add new sanityTasks flag (#6089) ae89244f28
Binoy Patel Revert "fix: use workspace protocol for all workspace dependencies (#6088)" (#6092) abfc5d23de
Espen Hovlandsdal fix(structure): use correct loading messages while resolving panes (#6093) d784f825e4
Cody Olsen refactor: use PKG_VERSION from @sanity/pkg-utils instead of manually regexing SANITY_VERSION (#6078) d514bfc15c
sanity - v3.35.0

Published by binoy14 7 months ago

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 that would cause duplicate entries in the list of recent searches.
  • Updates the type of value within ObjectFieldProps to accept a type parameter, allowing for dynamically setting the expected type. (thanks @shixish)

📓 Full changelog

Author Message Commit
Ash fix(core): include request tag in Text Search API requests (#5988) 471854e455
cngonzalez chore: update licenses across packages for current year (#6002) c11256bc62
renovate[bot] chore(lockfile): update dependency @sanity/assist to v2.0.4 (#6006) 37a4ed3d8e
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.11.7 (#6007) 10414601ad
cngonzalez fix: ensure that useStructureToolSetting updates only when necessary (#6004) a4d8d2d3e4
renovate[bot] fix(deps): update dependency get-it to ^8.4.13 (#6013) 1da1feb417
renovate[bot] fix(deps): update dependency @sanity/client to ^6.15.5 (#6012) 01dec12e2d
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.8.0 (#6015) 2f16c94060
Sindre Gulseth fix: schema extraction object type name (#6014) dcd55378b8
Sindre Gulseth Fix bug where we cant resolve custom types (#6016) 217a47dae0
Herman Wikner feat(tasks): add comment delete confirm dialog (#6009) c105115524
Herman Wikner fix(comments): hide context menu actions if handler is undefined (#6011) cb55bc5e87
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.8.1 (#6022) 09d4e2720c
renovate[bot] chore(deps): update dependency @types/use-sync-external-store to ^0.0.6 (#6023) 910f04cb16
renovate[bot] chore(deps): update dependency turbo to ^1.12.5 (#6025) 02699dd6a5
renovate[bot] chore(deps): update dependency vite to ^4.5.2 (#6026) 767e99ea26
renovate[bot] chore(deps): update pnpm to v8.15.5 (#6027) a2aedcbaf0
renovate[bot] chore(deps): update dependency @portabletext/toolkit to ^2.0.11 (#6030) 639580fc20
renovate[bot] chore(deps): update dependency @babel/preset-env to ^7.24.0 (#6033) 795167f568
renovate[bot] chore(lockfile): update dependency @portabletext/react to v3.0.12 (#6031) 9f745f0fd2
renovate[bot] chore(deps): update dependency styled-components to ^6.1.8 (#6024) d40551742f
renovate[bot] chore(deps): update linters (#6029) baaa56b9ab
renovate[bot] chore(deps): update dependency esbuild to v0.20.2 (#6028) a4805883a2
renovate[bot] chore(deps): update dependency @sanity/pkg-utils to ^3.3.8 (#6036) 871b450245
Ash fix(util): safely stringify path segments named as GROQ data types (e.g. null) (#5986) 561ee14fe3
Ash refactor(core): use path toString function from @sanity/util/paths (#5987) 522477ab5b
renovate[bot] chore(deps): update dependency @sanity/pkg-utils to v4 (#6037) 114d8bb5d8
renovate[bot] chore(deps): update dependency @portabletext/toolkit to ^2.0.12 (#6042) eb86c41b6e
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.8.2 (#6043) 039eb1fcca
renovate[bot] chore(lockfile): update dependency @sanity/logos to v2.1.7 (#6045) 92e62aa7ea
renovate[bot] chore(lockfile): update dependency @sanity/react-loader to v1.9.4 (#6046) aa37fd9735
renovate[bot] chore(lockfile): update dependency mendoza to v3.0.6 (#6047) b94419adb9
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.11.8 (#6048) bd4421669e
renovate[bot] fix(deps): update dependency get-it to ^8.4.14 (#6049) 01866ed7e0
renovate[bot] chore(lockfile): update dependency @portabletext/react to v3.0.13 (#6044) 9ab928f329
Ash feat(core): integrate with Text Search API ordering (#6001) a59f4bc620
renovate[bot] chore(deps): update dependency @sanity/pkg-utils to ^4.4.3 (#6050) b6334ee9f5
renovate[bot] fix(deps): update dependency @sanity/client to ^6.15.6 (#6052) ac206c2e8d
Pedro Bonamin fix(tasks): hide safari details marker (#6020) f70cf04d17
Herman Wikner fix(tasks): only display tasks with edits in the drafts menu (#6053) 050f45206c
Herman Wikner feat(tasks): ui improvements (#5990) a58b596462
cngonzalez fix: use more reliable comparison in deduping search results (#6034) 1dd2cccad8
Sindre Gulseth feat(codegen): add codegen skeleton package (#5979) e94c02f58d
Sindre Gulseth feat(codegen): add groq finder methods. (#5980) 7addeefdac
Sindre Gulseth feat(codegen): add typegen methods to codegen package (#5981) baf7cf0445
Sindre Gulseth feat(codegen): add CLI to generate types given a codegen config (#5982) 3742b3f5a2
Sindre Gulseth feat(codegen): expose referenced type as hidden symbol (#6008) 2826c46300
Sindre Gulseth chore(codegen): refactor codegen cli group to use typegen cli group (#6051) ff07ff247a
Sindre Gulseth chore(codegen): bind groq-js to ^1.5.0 (#6055) 9595f3a753
renovate[bot] chore(deps): lock file maintenance (#6035) c70653afcc
Sindre Gulseth fix(codegen): update help text and generated comments copy (#6059) 2afbc3bfdd
Tommy Petty feat(tasks): Localize Task feature (#6017) 06d812c001
Binoy Patel chore(deps): pin @sanity/migrate groq to 1.5.0 (#6060) c36a3b013c
Andrew Wessels Update fieldProps.ts (#5902) 10d86e0ad7
sanity - v3.34.0

Published by cngonzalez 7 months ago

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) 11d15ce65b
Ash fix(cli): use inferred project root when creating migrations from subdirectory (#5905) 1d2775cf13
Herman Wikner fix(core): handle no userId in getUser (#5992) c9ceac0038
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.11.6 (#5999) 51d3bbd5a1
Per-Kristian Nordnes fix(portable-text-editor): fix and test issue with merge block operation (#5996) 96bc72be1b
Pedro Bonamin feat(tasks): add notification data for tasks document and tasks comments (#5998) 8e63552f24
cngonzalez feat(core): store and fetch user settings from backend (#5939) ecb349553b
sanity - v3.33.0

Published by cngonzalez 7 months ago

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) 3afe5a261c
Herman Wikner fix(comments): enable check (#5918) c230bb5070
Herman Wikner fix(comments): lost comment message while document is reconnecting (#5928) ec4da462b5
Bjørge Næss test(sanity): use dev aliases in the validation test's worker threads (#5927) 8bf1c928b0
Herman Wikner feat(comments): support task comments (#5934) 75273afb9f
Herman Wikner fix(comments): use _weak instead of weak (#5936) 642224f1ac
Tommy Petty fix(pte): updates zoffset for PopoverEditDialog to not be on top of InspectDialog (#5882) 69b3552897
Nina Andal Aarvik fix(core): add onDoubleClick to open image crop (#5815) e3bfee0e52
Bjørge Næss fix(ci): align pnpm install across all workflows (#5920) f10396750b
Rico Kahler feat(core): redirect to previous path after login (#5932) 96cd0b636d
Pedro Bonamin feat(tasks): bootstrap tasks plugin (#5704) dd0794a36f
cngonzalez refactor(core): use KeyValueStore for recent searches (#5872) c531a6b231
Herman Wikner fix(comments): handle lack of access to inline comments (#5925) 2d4f60c16b
Pedro Bonamin chore(comments): add support for comments layout avatar config (#5944) f42ea799d1
Tommy Petty fix(core): remove prev and next month buttons in calendar input (#5931) 01f7df21b6
Pedro Bonamin feat(core): add groups to document actions, introduce paneActions group (#5933) 4e95e092b4
Rico Kahler fix(core): upgrade and fix types for typescript 5.4 (#5943) 4e72b80dc9
Rico Kahler fix(core): allow _projectId and _strengthOnPublish in templates (#5942) 5adca888ff
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.7.0 (#5955) 0314111b80
renovate[bot] chore(lockfile): update dependency @sanity/react-loader to v1.9.3 (#5952) 01bd4abfeb
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.11.4 (#5954) a5a1a5d52b
renovate[bot] fix(deps): update dependency @sanity/client to ^6.15.3 (#5953) fc22e9fdc5
renovate[bot] chore(lockfile): update dependency @sanity/icons to v2.11.0 (#5957) 502fda0fe9
renovate[bot] chore(deps): update dependency @sanity/assist to v2 (#5960) f7019ff8b5
Pedro Bonamin fix(deps): update @sanity/icons (#5956) 15f53bd87f
Bjørge Næss chore(test): exclude the github reporter from playwright tests for now (#5959) 334917fb3e
Cody Olsen chore: add PTE in Presentation race condition reproduction (#5961) 4adda386fe
Cody Olsen chore: always bump @sanity/ui (#5963) 188454654f
renovate[bot] chore(lockfile): update dependency @sanity/icons to v2.11.2 (#5962) bf22266847
Sindre Gulseth feat: add cmd to generate a JSON representation of schema (#5919) c1e4f2aac2
renovate[bot] fix(deps): update dependency get-it to ^8.4.11 (#5967) 25dce83ea3
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.0.8 (#5966) a1237d6fc8
Herman Wikner feat(core): add navbar actions (@internal) (#5968) 8336c9f585
renovate[bot] chore(lockfile): update dependency framer-motion to v11.0.12 (#5969) 01f260b91f
renovate[bot] chore(deps): update dependency @sanity/icons to ^2.11.2 (#5970) 1b0eb0800a
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.7.1 (#5971) 3101795265
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.0.9 (#5972) 218d09c464
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.11.5 (#5973) 9254565bd3
Nina Andal Aarvik fix(tasks): show pending tasks in document footer (#5894) 177bc79763
renovate[bot] fix(deps): update dependency @sanity/client to ^6.15.4 (#5975) a701e1cb4b
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.0.10 (#5976) b7bcc2df41
renovate[bot] chore(lockfile): update dependency @sanity/assist to v2.0.3 (#5977) be4990055a
Pedro Bonamin feat(tasks): use FormBuilder to create and edit tasks. (#5897) 908577e989
Pedro Bonamin feat(tasks): track activity changes with document history. (#5965) 0a763903df
Bjørge Næss chore(deps): pin typescript to 5.3 (#5984) 193b4b8646
Ash feat(core): add new search config API (#5948) 3c458c89a9
sanity - v3.32.0

Published by ricokahler 8 months ago

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) 3b741a182
renovate[bot] chore(lockfile): update dependency @sanity/react-loader to v1.9.2 (#5912) 124570d5d
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.11.3 (#5914) 2bebf2477
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.6.0 (#5915) b62521316
Rico Kahler fix(core): clean up edit state listeners (#5911) 4acc11e6c
Per-Kristian Nordnes chore(comments): enable inline comments (#5883) 7d3f33d1e
Tommy Petty fix(core): update placeholder text to be more clear and accessible (#5910) 997809589
sanity - v3.31.0

Published by ricokahler 8 months ago

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) 5d060afc1
Nina Andal Aarvik fix(core): change modalWidth of inlineObjects to 1 by default (#5839) 6e551b09d
Per-Kristian Nordnes feat(portable-text-editor): preserve keys on undo/redo (#5805) f83e8e401
Herman Wikner feat(portable-text-editor): implement isSelectionOverlapping method (#5870) 1d41af7c8
renovate[bot] chore(deps): update dependency get-random-values-esm to v1.0.2 (#5856) 16a5434fd
Ash fix(form): prevent drop event propagating outside of EditPortal component (#5813) fc73437ae
Per-Kristian Nordnes fix(portable-text-editor): check that path is lengthy (#5875) 2deebb189
Herman Wikner feat(core): add onFullScreenChange to Portable Text Input (#5879) 84a0c9028
Rupert Dunk feat(structure): support closing first collapsed DocumentPanel (#5867) 6d61e9402
cngonzalez fix(core): check if previous state is null for unmounted component (#5724) 9ed5cca51
Tommy Petty fix(structure): provide better error handling if orderings contain invalid field (#5709) 4926b78e4
Per-Kristian Nordnes feat(portable-text-editor): range decorations (#5871) fa330a0ba
Herman Wikner feat(comments): introduce inline commenting (#5606) 7ed2b0f65
Tommy Petty fix(core): updates to not show "cannot upload" on hover when using extension based accepts settings (#5881) 023e7e646
Bjørge Næss fix(sanity): preserve form (as readOnly) when reconnecting (#5884) ed87e2a40
Per-Kristian Nordnes fix(portable-text-editor): all paths must be checked (#5891) 4ae88a028
Per-Kristian Nordnes fix(comments): allow ranges to be collapsed (#5892) eb5cd5020
Ash feat(ci): cache release dependencies (#5834) 75ac3cfb1
Rostislav Melkumyan feat(cli): --quickstart flag for ejecting server schemas (#5797) 174a61641
Pedro Bonamin feat(core): export useWorkspaceLoader from core (#5898) 367045963
Pedro Bonamin chore(search): refactor search to export necessary components and providers. (#5900) 4159bcabe
Espen Hovlandsdal chore(deps): upgrade archiver, split2 dependencies (#5880) c9a1dd667
Espen Hovlandsdal fix(core): allow _dataset for cross-dataset references in templates (#5889) 9fc34a25e
sanity -

Published by bjoerge 8 months ago

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) adb43b026d
Per-Kristian Nordnes feat(form/inputs): control PortableTextEditor instance via ref (#5793) f655b5cec7
Per-Kristian Nordnes feat(core/inputs): support custom editor change callback (#5803) 1a36a74013
Per-Kristian Nordnes feat(portable-text-editor): determine if selection is made backward (#5807) db8fd66190
Per-Kristian Nordnes feat(portable-text-editor): new API method getFragment (#5806) f210112e34
Pedro Bonamin fix(pte): update pte placeholder color (#5756) 2ec06057f2
Per-Kristian Nordnes test(playwright-ct): fix some webkit flakyness in PT-Input tests (#5811) 981a4bdf3f
Nina Andal Aarvik fix(core): add missing aria-labels to navbar icons (#5810) ea8f97a4a0
Bjørge Næss fix(docs): complete apidocs for migrations (#5679) 32569beaf7
Espen Hovlandsdal fix(i18n): escape interpolated values inside of (#5804) 78ffbaf428
Robin Neatherway chore(backup): set dated api version (#5816) fd5bb2fc53
Nina Andal Aarvik fix(core): add aria label to action button pte toolbar (#5653) 0794d72069
Nina Andal Aarvik fix(pte): add telemetry to invalidvalue error (#5809) f3fd972a42
Per-Kristian Nordnes chore: update codeowners details (#5812) 0e9490842c
Bjørge Næss chore: use star for workspace protocol version (#5822) 6894f7bb4d
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#5823) b34420c0ae
renovate[bot] fix(deps): update dependency get-it to ^8.4.9 (#5827) 06968cd87d
renovate[bot] chore(deps): update dependency @sanity/ui to ^2.0.7 (#5824) 63e569fd1a
renovate[bot] chore(deps): update pnpm to v8.15.3 (#5829) b75a335e1d
renovate[bot] chore(deps): update dependency turbo to ^1.12.4 (#5826) 40ad62684a
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.4.0 (#5828) 22200c6ea0
renovate[bot] chore(deps): update actions/cache action to v4 (#5831) 81e5140bf0
renovate[bot] fix(deps): update dependency @sanity/client to ^6.14.2 (#5830) 447dfba03f
Robin Neatherway feat: update indexing endpoint for new name (#5725) 477b60cb61
Pedro Bonamin chore(tasks): move CommentsSetupProvider to core (#5767) dbff2277e6
cngonzalez refactor(core): refactor SettingsStore and useStructureToolSetting (#5784) 74be48b293
Ash fix(i18n): add successful document restoration string (#5821) 21677cd679
cngonzalez test(core): add test for color scheme preference and search (#5820) 1c1c87cd5d
Fred Carlsen fix(test): fix breaking annotation popover test (#5838) 042cd3452b
renovate[bot] fix(deps): update dependency get-it to ^8.4.10 (#5841) 09970ef172
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.11.0 (#5842) 78bc713856
renovate[bot] chore(deps): update dependency @bjoerge/mutiny to ^0.5.3 (#5843) 8e95d6393e
renovate[bot] chore(deps): update pnpm to v8.15.4 (#5844) ce5339b913
renovate[bot] chore(lockfile): update dependency @sanity/logos to v2.1.6 (#5845) c4f10714aa
renovate[bot] chore(lockfile): update dependency @sanity/react-loader to v1.8.7 (#5846) 2367d5d830
renovate[bot] chore(lockfile): update dependency mendoza to v3.0.5 (#5848) 2a32db3cd1
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.5.0 (#5849) aaddddbba6
renovate[bot] chore(lockfile): update dependency groq-js to v1.4.3 (#5847) f50273030c
renovate[bot] fix(deps): update dependency @sanity/client to ^6.14.4 (#5840) 8aec8413c9
Robin Neatherway fix: wait for all streams to close when writing backups (#5835) 03635996c1
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.5.1 (#5850) 387f66fe45
renovate[bot] chore(lockfile): update dependency @sanity/preview-url-secret to v1.6.4 (#5851) 21eac30bbd
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.11.1 (#5853) d467be4c8d
renovate[bot] chore(lockfile): update dependency @sanity/react-loader to v1.8.8 (#5852) 8a6d67f09e
ecospark[bot] chore(prettier): fix unformatted files 🤖 ✨ (#5854) bcdb31902f
renovate[bot] fix(deps): update dependency @sanity/client to ^6.15.0 (#5857) 9ddde9a158
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.5.2 (#5858) 9dc2e917fb
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.11.2 (#5860) 24cf9e0682
renovate[bot] chore(lockfile): update dependency @sanity/react-loader to v1.9.0 (#5859) 47fed8924b
Pedro Bonamin fix(core): free trial shows twice (#5837) e774ce11f3
radhe fix(cli): handle API Error and update text output when backups are enabled (#5861) 11d3cebcbf
Rico Kahler build: allow etl.yml to be ran manually (#5863) 212f021519
Binoy Patel chore(deps): bump tsdoc to 1.0.0-alpha.44 (#5866) 99d60afc3f
Nina Andal Aarvik fix(core): change telemetry event names (#5832) 242e2ca057
sanity - v3.30.0

Published by juice49 8 months ago

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) a3998c3847
Ash refactor(util): move concurrency limiter packages to @sanity/util (#5654) 35d368e57c
Ash fix(cli): project root resolution (#5712) e30f45f356
Bjørge Næss chore(deps): normalize vite dependencies 4c6ade2bc3
Bjørge Næss chore(docs): remove internal 'how to publish' from CONTRIBUTING.md 3e95893795
Bjørge Næss chore: install npm check-updates as dev dependency 5799aed369
Bjørge Næss chore: upgrade debug to latest 4.x 57190164c4
Bjørge Næss chore(depcheck): remove v2 detector and fix ts error a2c08eeeb1
Bjørge Næss chore(depcheck): cleanup depcheck ignores ac8fdc3eae
Bjørge Næss chore(portable-text-editor): add missing dev dependency ef47badb62
Bjørge Næss chore(groq): use relative imports to 'groq' from tests b5dc763e61
Bjørge Næss chore(sanity): add missing dev dependencies e1be6150bd
Bjørge Næss chore(cli): cleanup dependencies 3bb3d2b7a3
Bjørge Næss fix(test): remove unused files 4317541db9
Bjørge Næss chore: add @jest/globals as dev dependency in packages af6561ed03
Bjørge Næss chore(test): remove @sanity/ui jest mock 66eaec5848
Bjørge Næss chore(test): run codemod migrating from implicit imports from '@jest/globals' 23add76174
Bjørge Næss chore(test): fix various test typings after moving to @jest/globals 79f89c8f0b
Bjørge Næss chore(sanity): add workaround for typing difference between @types/jest and @jest/globals 7e3bcf261d
Bjørge Næss chore: remove @types/jest usage c81b291c94
Bjørge Næss fix(test): remove usage of jest-dom/extend-expect 8a801504a1
Bjørge Næss chore(deps): upgrade @testing-library/jest-dom to 6.x 1a323e7fd2
Binoy Patel chore(cli): update help copy for CLI commands (#5687) 12fb96b7aa
Rupert Dunk chore(comments): improve i18n resource for comment contexts (#5731) ce560b0b51
Bjørge Næss chore: switch from yarn to pnpm da9f72ef38
Bjørge Næss fix(mutator): fix type export issue c7ed0c9df8
Bjørge Næss chore(cli): replace vite typing stub with proper dependency d09db4c47c
Bjørge Næss chore(vision): fix typescript issue related to reexporting codemirror extensions 26c5f4752f
Bjørge Næss chore(deps): add 'sanity' as dependency to workspace root 564c501baf
Bjørge Næss chore(deps): upgrade @types/node to 18.x 64203bea52
Bjørge Næss chore: rename mentions of yarn => pnpm 5a65aad35d
Bjørge Næss chore(package.json): alphabetize scripts 3527a43c2a
Bjørge Næss chore: clean up package scripts c77b7baf2d
Bjørge Næss chore: cleanup depcheck scripts 6e37d03e32
Bjørge Næss fix(github): enable pnpm before installing dependencies 0b572f1751
Bjørge Næss fix(github): fix workflow file 5a215ca294
Bjørge Næss fix: run prettier e24a458ea7
Bjørge Næss fix(monorepo): add missing dev dependency b5359d3410
Bjørge Næss fix(vision): add missing type dependency 6e91aef484
Bjørge Næss fix(sanity): update test snapshots 70bcf6fb74
Bjørge Næss chore: apply suggestions from code review 1b7a1f1fac
Bjørge Næss fix(ci): fix subargs issue w/pte e2e tests f0fad4c017
Binoy Patel chore(e2e): fix e2e action failing (#5735) 4c02649f95
Bjørge Næss fix(chore): fix lint script (#5739) d1fc36da9c
Rico Kahler build: remove last rebase step (#5737) 79a587011b
Espen Hovlandsdal chore(deps): align versions, lockfile 2d1f084ab0
Espen Hovlandsdal fix(cli): minor whitespace tuning for migration error output (#5727) b20f121afe
Bjørge Næss chore(ci): fix prettier --write (#5740) 2b00589f60
Bjørge Næss chore: improve dev commands (#5747) b6199a1b2f
Pedro Bonamin feat(core): add studioActiveToolLayout and navbar rightSectionNode prop (#5749) c7086717ac
Per-Kristian Nordnes chore: add missing types packages (#5751) 656bec2395
Ash fix(core): add @types/lodash (#5753) 59f8afd952
Cody Olsen fix(structure): allow sanity.previewUrlSecret in document lists (#5733) 8fd55c4c80
Bjørge Næss chore(perf): replace references to yarn with pnpm (#5748) 2f777d8737
Binoy Patel chore(deps): upgrade husky@9 (#5744) 8f3c44c369
Binoy Patel test(e2e): fix e2e test caching issue (#5763) 6caf80314f
Bjørge Næss fix(migrate): throw if attempting to iterate over documents producer (#5758) 928f04d3ab
Bjørge Næss fix(ci): use pnpm for package releases (#5746) 4dedf3b499
Binoy Patel test(migration) add tests for normalizeMigrationDefinition (#5565) c4baaab7fb
Pedro Bonamin fix(pte): PTE modal seems to re-render on validation state change due to tooltip disabled change (#5766) c24e4d9a96
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.9.1 (#5773) b7a3f13628
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.3.1 (#5770) ec1cc0fa43
renovate[bot] fix(deps): update dependency @sanity/client to ^6.13.3 (#5772) 79ef8c39c1
Binoy Patel chore(test): fix linting and type errors (#5775) 67ef6318f6
renovate[bot] chore(deps): update dependency @sanity/ui to ^2.0.3 (#5776) 409edb1be0
Sindre Gulseth fix: update ndjson specification url (#5780) 15b9e79bfa
Binoy Patel chore(deps): bump @sanity/tsdoc to 1.0.0-alpha.42 (#5765) 86bf2e9446
Pedro Bonamin fix(core): update featuresEnabled when switching projects (#5787) 32d79a23a6
Per-Kristian Nordnes chore: upgrade @playwright/test to latest (#5792) 84a6015b01
Binoy Patel test(migrate): update types for test to better match usage (#5781) 15c3bc1a5d
Per-Kristian Nordnes refactor(core/inputs): report focusPath on text spans ending with .text (#5786) 3941d86d23
Pedro Bonamin feat(core): rename useMentionOptions to useUserListWithPermission and move to core (#5778) 5da8891480
Per-Kristian Nordnes fix(core/inputs): fix issues with calling onPathFocus for PT-input (#5794) 0f114b1fe9
Bjørge Næss chore: use workspace protocol for internal dependencies 61eee1fca3
Bjørge Næss chore(workspace): use sanity dependency from workspace 0693a241f9
Bjørge Næss chore(deps): hoist sanity workspace package b57830c5ea
Bjørge Næss chore(test): use SanityClient type from @sanity/client bfa53c965d
Bjørge Næss fix(ci): run e2e-pte tests in the correct folder e2f26c424c
Nina Andal Aarvik fix(core): bring back subtitle in workspace list view (#5788) 2202e3c6ec
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#5798) 6d4090e24e
Espen Hovlandsdal fix(structure): intent menu item nodes not rendering (#5728) 613e1dd8c4
Ash fix(ci): setup pnpm (#5800) 83630cfb60
Ash fix(ci): remove pnpm reference from setup-node step (#5801) 19c0e86f26
sanity - v3.29.1

Published by rexxars 8 months ago

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
sanity - v3.29.0

Published by ricokahler 8 months ago

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) 266499065
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.8.0 (#5694) e725a3c1f
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.2.0 (#5693) 9373ce65f
renovate[bot] chore(deps): update dependency @sanity/ui to ^2.0.2 (#5698) bb0b63129
renovate[bot] chore(lockfile): update dependency @sanity/assist to v1.2.16 (#5696) 72bc6944e
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.8.1 (#5699) d645d37c0
Espen Hovlandsdal fix(comments): catch and suppress errors from comments upsell (#5700) fbaffd221
renovate[bot] fix(deps): update dependency @sanity/client to ^6.12.4 (#5701) f85396f43
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.8.2 (#5702) c23ccb4cc
Simeon Griggs chore: rename "schemas" to the more correct plural "schemaTypes" (#5513) 2eaffd378
Fred Carlsen chore: apply auto eslint fixes with lint-staged (#5705) 40c9b4f7b
Binoy Patel chore(dev): remove react import 9aabbb02d
Bjørge Næss use jsx: 'automatic' for dev server a2f505bb3
Bjørge Næss chore(deps): upgrade eslint tooling 95890c6eb
Bjørge Næss fix(eslint): add rules to enforce consistent type imports and import sort orders 1ec2c3929
Bjørge Næss chore(eslint): set @typescript-eslint/no-explicit-any as warn instead of error e01c101a8
Bjørge Næss chore: autofix eslint errors after config change b14622ed4
Bjørge Næss fix(structure): add workaround for circular import issue causing resolveIntent tests to fail c2e60176a
Bjørge Næss chore: exclude packages with type-only imports from depcheck 8fea4a073
Bjørge Næss chore(sanity): preserve order of side-effectsy imports 08e83dd6c
Bjørge Næss chore(test-studio): reorganize comments & imports in test schema 7ca741cbf
Bjørge Næss chore: manually fix remaining non-autofixable eslint issues 5a65b7bc0
Bjørge Næss chore(eslint): extend react/jsx-runtime config 5eb87553c
Bjørge Næss chore: remove remaining react imports ff4c3bb06
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.2.2 (#5718) 117834efb
Bjørge Næss fix(cli) let cli tests run with robot tokens (#5715) 04c30fbd5
Binoy Patel test(core): adds e2e tests for date and datetime inputs (#5681) 66949452b
radhe feat(backup): add new command dataset backup for server-side backups (#5571) f04c76eb7
radhe feat(CLI): in sanity dataset import cmd, add --allow-system-documents to explicitly permit system document import, which should be ignore otherwise (#5689) fa9f924f3
ecospark[bot] chore(deps): dedupe yarn.lock (#5720) 2518ac43a
Nina Andal Aarvik fix(structure): use useDocumentTitle hook for toast message (#5719) 51ed18d28
Rupert Dunk feat(comments): add optional intent link to comments (#5576) 27bf5f98d
Espen Hovlandsdal refactor(comments): use journey endpoint for comments upsell (#5721) b999da053
Drew Lyton feat(telemetry): add telemetry for Trial Dialogs (#5643) ad971f8ae
Rico Kahler build: release automation (#5722) d024b09d3
sanity - v3.28.0

Published by cngonzalez 9 months ago

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) 1527a9dbb8
renovate[bot] fix(deps): update dependency @sanity/client to ^6.12.3 (#5623) 5116ee003e
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.7.3 (#5622) c04afbc055
renovate[bot] chore(lockfile): update dependency sanity-plugin-mux-input to v2.2.4 (#5624) 569784746d
renovate[bot] chore(deps): update dependency express to ^4.18.2 (#5629) 005042596b
Cody Olsen fix: remove __unstable_focusRing unknown forwarded prop warning (#5621) 6c87bea0c9
renovate[bot] chore(deps): update thollander/actions-comment-pull-request digest to 1d3973d (#5632) 56bf76ed94
renovate[bot] chore(deps): update tiryoh/gha-jobid-action action to v1 (#5633) 359b4cbf2c
Robin Pyon fix: only fully collapse PTE toolbars in 'root' FormBuilder instances (#5547) e219e2a689
Knut Melvær docs(create-sanity): update README.md 6fa1750edc
renovate[bot] chore(deps): update dependency turbo to ^1.12.2 (#5635) f948e7dbcc
Rune Botten chore: remove outdated beta docs URLs (#5636) 4d06ae843d
renovate[bot] chore(deps): update dependency is-hotkey to ^0.2.0 (#5634) 5a49de6e91
Rune Botten fix(cli): update migration run usage text (#5637) 0bae465a44
Binoy Patel fix(migration): shows better error message when running migration list (#5625) 9c2db955f8
Simeon Griggs feat: apply text balance to document titles (#5641) 4e2507b078
renovate[bot] chore(deps): update dependency framer-motion to v11 (#5649) e573c511e9
renovate[bot] chore(deps): update dessant/lock-threads action to v5 (#5650) 0e05e77cbd
renovate[bot] chore(deps): update peter-evans/create-pull-request action to v6 (#5651) 5b1d51cf7e
Indrek Kärner feat(cli): prompt to use default plan when wrong coupon or plan 8e202c74be
Binoy Patel chore(deps): update dependency depcheck to ^1.4.7 (#5631) 03c65f635d
Ash feat(cli): improve reporting when dry running from export (#5609) b8eefc6c68
ecospark[bot] chore(deps): dedupe yarn.lock (#5658) 93a05b1b6b
Cody Olsen fix: regression caused by #5440 (#5657) 0af205cbc3
Espen Hovlandsdal refactor(cli): clean up esbuild on completed migration list operation d17269eaed
Espen Hovlandsdal refactor(migration): sort imports cc9e473294
Espen Hovlandsdal fix(migration): make sanity migration list also include file-only migrations c6745ab292
Espen Hovlandsdal refactor(migration): use chalk from context instead of importing it 471e491cfc
Espen Hovlandsdal refactor(migration): reuse resolve migration logic in run command 063f8ebaeb
Espen Hovlandsdal refactor(migration): move migration resolve functions to util folder a9606b8e60
Ash fix(form): preserve intrinsic block size of field labels (#5639) 08f669449c
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.7.4 (#5671) 55a54b5420
Nina Andal Aarvik fix(src): add document title to publosh/unpublish success message in toast (#5605) 0cf377270e
Nina Andal Aarvik fix(core): fix aligning of columnar objects/fieldsets (#5627) 851b62d0ab
Binoy Patel fix(perf): fixes build and deploy issues with perf studio (#5646) d17f722fd9
Binoy Patel chore(migration): fixes help copy on migration create command (#5663) bb3fb8f969
Robin Pyon docs(core): update components.logo deprecation note to correctly point to workspace.icons (#5677) bfa8e54c7b
Bjørge Næss feat(migration): (re)introduce --from-export (#5672) 7332a9f859
Bjørge Næss fix(migrate): submit mutations with visibility=async (#5675) 0eda4a7e56
Binoy Patel fix(migration): fixes an issue where migration command would error sometimes (#5678) 805745f9e1
cngonzalez fix: add icon display as default to documentTypeList (#5644) 40b3d5035a
ecospark[bot] chore(deps): dedupe yarn.lock (#5674) b0a8248744
Nina Andal Aarvik fix(core): adding accessibility labels to pte objects (#5652) 3d6ed071a0
Ash fix(cli): respect unattended mode (#5659) 0e0fd1fab6
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.7.6 (#5682) 8f0e9114ec
Rostislav Melkumyan fix(studio): center studio nav (#5608) d1aecb5683
Espen Hovlandsdal refactor(comments): unprefix namespaced i18n comment resources 767ef22dc0
Espen Hovlandsdal refactor(comments): clarify what "feedback" refers to in i18n comments f0ad7392c2
Espen Hovlandsdal fix(comments): use correct apostroph in onboarding popover 07e03172e2
Espen Hovlandsdal refactor(comments): simplify usage 2f8bbe17f6
Espen Hovlandsdal refactor(comments): allow specifying location of "you" in reactions story 3c48b0d32a
Espen Hovlandsdal refactor(comments): allow for more users in reactions workshop 60b54c2be1
Espen Hovlandsdal refactor(comments): use list formatter, group reactions resources 8068c11c5c
Espen Hovlandsdal refactor(comments): avoid using internal document inspector name 01e499841f
Espen Hovlandsdal refactor(comments): align prop name for field title c914385789
Espen Hovlandsdal refactor(comments): simplify "add comment to field" resources 765130fa07
Espen Hovlandsdal refactor(comments): replace useTimeAgo with useRelativeTime hook a86235dbc6
Espen Hovlandsdal refactor(comments): sort imports 016342f6c0
Espen Hovlandsdal fix(comments): use locale-aware date formatting d7fbcd8912
Espen Hovlandsdal refactor(comments): clarify field button resources, remove unused resource e73b32ccec
Espen Hovlandsdal refactor(comments): group comment input resources under compose cc31d216bf
Espen Hovlandsdal refactor(comments): sort imports 12d355ed6a
Espen Hovlandsdal fix(comments): translate input placeholder e93633c17b
Espen Hovlandsdal refactor(comments): group + clarify purpose of mention resources 67f35732f6
Espen Hovlandsdal refactor(comments): colocate more compose resources 7492d72f63
Espen Hovlandsdal refactor(comments): group status filter resources 09877bf5a7
Espen Hovlandsdal refactor(comments): colocate "go to.." buttons under list item 904ad29708
Espen Hovlandsdal refactor(comments): rename resources a909949bef
Espen Hovlandsdal refactor(comments): sort imports 1302bc426f
Espen Hovlandsdal fix(comments): remove stray t prop in cloning causing warnings a89f5d327d
Espen Hovlandsdal fix(comments): improve text wrapping logic inside of user list 6317b49d23
Bjørge Næss feat(migrate): use autoGenerateKeys=true when submitting mutations (#5685) 5ec6a22726
Binoy Patel chore(cli): add schema command to help list (#5676) 3d0f7ee26c
Espen Hovlandsdal refactor(vision): sort imports 3191018600
Espen Hovlandsdal fix(vision): explicitly allow v1 as valid API version 175ece0d0c
Espen Hovlandsdal fix(vision): ensure query/params from localStorage are strings d1dd5379fd
Espen Hovlandsdal fix(vision): persist raw (string) value of params to localStorage c13868a007
Espen Hovlandsdal refactor(vision): sort state attributes alphabetically cb38c6401f
Espen Hovlandsdal fix(vision): provide error boundary with cache clear on error 3a8a987b0b
Cody Olsen chore: add presentation test studio (#5683) 082805101f
Pedro Bonamin feat(comments): adds read-only state to comments. (#5570) fab7cecedb
sanity -

Published by bjoerge 9 months ago

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) 343765d7c9
sanity - v3.27.0

Published by binoy14 9 months ago

Installation and upgrading

To initiate a new Sanity 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

✨ Highlights

New CLI command sanity migration create|list|run

You can now create, list, and run content migrations from the Sanity CLI. The new tooling lets you scaffold content migrations as code and run them in dry and production mode. It also introduces a new API for defining content migration with helper functions (defineMigration()).

We're still working out the documentation for schema and content migrations; early adopters can learn more by running the following CLI commands in a Sanity Studio project folder:

sanity migration --help

You can run sanity migration create to explore our new content migration templates.

New CLI command: sanity schema validate

You can now validate a Sanity Studio schema with the CLI command sanity schema validate. Among other things, it will identify problems with your schema type definitions. This tooling can be useful for running in CI/CD pipelines or debugging your schema configuration.

Learn more by running:

sanity schema validate ---help

Other features

  • Adds Studio UI localization support to the comments plugin
  • Adds support for validating dataset import and export files with sanity documents validate
  • Adds intentUrl in json and ndjson formats for sanity documents validate

🐛 Notable bugfixes

  • Fixes a type issue where Rule.min and Rule.max did not allow strings
  • Fixes an issue where large documents would not duplicate correctly
  • Fixes an issue with date validation when using custom format for dates
  • Fixes typo in asset source string (thanks @kkupcin)
  • Fixes an where valid documents would be reported in sanity documents validate --format json
  • Fixes a bug that caused uses of Vite-like environment variables import.meta.env to break the mock browser environment used in the CLI.

📓 Full changelog

Author Message Commit
Rico Kahler fix(validation): update min and max to include string for dates (#5555) 881a9910d2
Rico Kahler fix(core): wait for duplicate success before navigating (#5556) 088830d2e6
Cody Olsen refactor: move babel config to jest config (#5562) fa3bf841ed
Tommy Petty bug(core): fix issue with date formatting in validation message (#5551) ab0dbe1b29
Cody Olsen fix(deps): update dependency @sanity/presentation to v1.6.1 68e6b072cd
ecospark[bot] chore(deps): dedupe yarn.lock (#5581) 974b601f27
Nina Andal Aarvik fix(comments): localize all strings (#5578) a7086f2a62
Rico Kahler feat(cli): support --file in sanity documents validate (#5580) 5cb4ea63cc
ecospark[bot] chore(deps): dedupe yarn.lock (#5588) ff3d625bec
Fred Carlsen chore(core): include user agent and screen density in telemetry calls (#5568) 8a166bd3e6
Kornelija Kupcinskiene fix(i18n): spelling mistake in asset source string (#5575) 3a81d6b181
Binoy Patel chore(cli): remove beta copy from documents validate command (#5589) c328dca33f
Nina Andal Aarvik fix(src): add textskeleton to loading state of mentions (#5587) 26cbae78ea
Binoy Patel fix(validation): filter system documents when running validation (#5590) d8c4a3f2d9
Rico Kahler feat(cli): add new sanity schema validate command (#5583) 09cdb5fc54
renovate[bot] fix(deps): update dependency @sanity/client to ^6.12.3 (#5593) e6cad2e0dc
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.7.2 (#5596) 3650fb2417
Bjørge Næss fix(studio): fallback to when logging installed plugins (#5602) 6df6ee5c03
renovate[bot] chore(deps): update dependency @sanity/ui to ^2.0.1 (#5594) b701756105
Pedro Bonamin chore(deps): update dependency @sanity/ui to ^2.0.1 (#5607) dad349266d
Rico Kahler feat(cli): add intentUrl to json and ndjson reporters (#5610) 71f9aedc21
Bjørge Næss feat(migrate): move into monorepo from poc fa86d633e8
Bjørge Næss test(migrate): make sure uint8array-extras package gets transpiled from esm 3b0e783f5f
Bjørge Næss feat(cli): scaffold create/run migration cli commands 9495db7541
Bjørge Næss fix(migrate): inline functions from uint8array-extras for now f379f407b3
Bjørge Næss feat: basic migration cli support 8304afc76d
Bjørge Næss feat: basic migrations list command ead9f3ed19
Bjørge Næss feat: migration create command w/templates 0a596e4505
Bjørge Næss feat(sanity): add exports for sanity/migrate + sanity/migrate/mutations c4b19a422b
Ash chore(migrate): add test script 4abe2bca88
Ash test(migrate): add tests for parseJSON 1d39b784e1
Ash feat(migrate): add customisable parser and iterator type to parseJSON 5e8e66677e
Ash feat(migrate): add JSON parser that can handle chunks interrupted by an error object 74db2df76c
Bjørge Næss refactor(migrate): rename targets => destinations b7303245f6
Ash feat(migrate): use safe JSON parser when streaming from Export HTTP API (#5542) a1c0faf191
Bjørge Næss fix(util): fix package.json formatting 17e8130770
Bjørge Næss feat(migrate): implement mutation batcher and use when submitting against mutate endpoint 1822dc2e8f
Bjørge Næss feat(migrate): limit request concurrency a9bfef9f09
Bjørge Næss fix(migrate): workaround issue with p-map and ESM 7aaa5ed6af
Bjørge Næss feat(cli): allow user provided concurrency 2579159969
Bjørge Næss feat(migration): improve progress as migration is running (#5550) 67aa5a9983
Binoy Patel feat(migration): add a prompt before runing a real migration (#5552) 4ab2ac27ed
Binoy Patel feat(migration): support passing an array of documentTypes to migration (#5566) 458ac49adb
Binoy Patel chore(migration): add better error message when request fails (#5567) f1c2cd45a4
Bjørge Næss feat(migrate): add asyncIterableToStream util 0563e7b3c1
Bjørge Næss feat(migrate): add bufferThroughFile utility ed7c904247
Bjørge Næss fix(migrate): buffer exports through file dd47e2beec
Bjørge Næss fix(cli): use dryRun from @sanity/migrate 4c2cab9e01
Bjørge Næss refactor(migrate): rename function 154483ecb4
Bjørge Næss refactor(migrate): add ndjson support for both parsing and stringifying in ndjson util ec11092170
Bjørge Næss refactor(sanity): remove mutiny dependency in favor of inlined creators 66bf826da2
Bjørge Næss fix(sanity): add --no-progress flag 24bc18f99b
Bjørge Næss fix(migrate): simplify bufferThroughFile 990fb5058c
Bjørge Næss feat(migrate): unify contexts, add support for document lookup and query during a migration 3a54e20787
Bjørge Næss fix(dev): fix example migration script imports 5381f3480d
Binoy Patel feat(migration): support async hooks in migration nodes (#5564) cc6b2f33a1
Bjørge Næss fix(sanity): use --no-dry instead of --dry=false ba905dc41d
Bjørge Næss feat(migrate): add support for yielding transactions 0a58fa3d97
Bjørge Næss fix(migrate): minor typing issue 663da91a84
Bjørge Næss fix(sanity): polish cli and migration templates 027ad476c3
Bjørge Næss chore(deps): remove unused deps 2e61bd53b3
Bjørge Næss fix(sanity): fix quoting of documentTypes in migration templates 8a5f67bf42
Bjørge Næss fix(sanity): rename migration name => title 27b0088498
Bjørge Næss fix(migrate): run migration against all documents if documentTypes is omitted e80bbdf9a1
Binoy Patel fix(migration): fixes dry run not showing any information 2568666752
Binoy Patel fix(migration): show proper error message when the file has code issues 7256f85a3d
Bjørge Næss fix(migrate): various naming consistency fixes dbb70480e2
Bjørge Næss fix(sanity): add a few examples to help text for 'sanity migration create' 8290baecee
Bjørge Næss fix(sanity): improve error handling on 'sanity migration run' without id 5d9a556f9d
Bjørge Næss fix(migrate): fix error asserting transaction df310cf5f3
Bjørge Næss fix(migrate): use transactionId instead of id on mutation payload a82df02b54
Ash feat(cli): add pretty mutation formatting to migration runner (#5573) 2dba206983
Bjørge Næss chore(migrate): instrument with some debug logging 79c5e12cf9
Bjørge Næss refactor(migration): move filtered document methods to a separate filtered-context key, add a client with limited concurrency to migration context 81e43092dc
Bjørge Næss fix(migrate): add request tags and user agent f22aa0cc03
Bjørge Næss fix(sanity): improve minimal example 2e77de7b7a
Binoy Patel chore(migration): remove from-export flag from migration cli (#5611) b2a94ffc0f
Binoy Patel chore(migration): remove query from migration context (#5612) ae7105a241
Binoy Patel chore(migration): change dry command to dry-run (#5613) 81eb846380
Bjørge Næss fix(migrate): limit client methods during migration 13de5a273b
Binoy Patel fix(migration): parse cli arguments so the types are proper (#5616) 7751df1717
Bjørge Næss fix(migrate): cleanup buffer file after read (#5618) 387945cde1
Bjørge Næss fix(migrate): remove mkdirp in favor of node:fs (#5619) 338bf269c9
Rico Kahler fix(cli): add support for import.meta.env (#5617) 083ff16e3d
Bjørge Næss fix(migrate): scope node path to the current node (#5620) 93f82d2dcb
sanity - v3.26.1

Published by ricokahler 9 months ago

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 issue introduced in v3.26.0 where, upon the first comment in a project lacking an addon dataset, the dataset fails to be created, and the comment remains unposted.
  • Enhanced export reliability through improved asset retry mechanisms.

📓 Full changelog

Author Message Commit
Sindre Gulseth Improve asset export retrying (#5563) a68df71
Herman Wikner fix(comments): addon dataset creation (#5577) c8f1da3
sanity - v3.26.0

Published by ricokahler 9 months ago

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

Deprecation support for Documents and Fields

This release introduces the option to mark document and field types as deprecated. This can be used to gently steer Studio users towards updated schemas or to phase out legacy fields without abrupt changes.

export const deprecatedDocument = defineType({
  name: 'deprecatedDocument',
  title: 'Deprecated Document',
  type: 'document',
  deprecated: {
    reason: 'Use the Author document type instead',
  },
  fields: [
    defineField({
      name: 'title',
      type: 'string',
      deprecated: {
        reason: 'This field was used in a legacy system and is no longer used.',
      },
    }),
  ],
})

Deprecation example

When a field or document is deprecated, an informative message will appear in the Studio, clearly indicating the recommended action to take. This aids in maintaining a clean and up-to-date content structure.

Bonus: Deprecation messages now appear in the GraphQL schema, providing clarity during transitions. Deprecated document types and fields should be appropriately treated in documentation and tooling.

Reactions to Comments

This release also introduces a new layer of interactivity in the Studio with the ability for users to react to comments! 🎉

Far be it from us to speak ill of verbose and precise communication using full sentences, but sometimes you just want to express a sentiment quickly with a 🚀 or a 👍 and Sanity Studio now has you covered for those occasions. Streamline feedback processes and consensus building, and make your Studio a more vibrant collaborative space in one fell swoop with comment reactions. 🎩

Comments Reactions Screenshot

🐛 Notable bugfixes

  • Enhances user experience in the Studio by adding localized browser document titles and correcting unlocalized strings, accommodating users who prefer languages other than English.
  • Fixes an issue where number-like string flags passed to CLI commands were parsed as numbers by the option parser, leading to truncation of large integer-only document IDs and similar.
  • Resolves a restoration issue with the token login method ensuring the active session is retained post webpage reloads when cookieless auth is in effect.
  • Enhances UI components consistency in tooltips and delay groups for better UX.
  • Fixes a performance issue by re-applying useMemo on DocumentPaneContext values, reducing unnecessary re-renders and improving document pane performances.
  • Ensures that errors in the useFeatureEnabled hook result in an empty features list rather than disruptive error toasts; this minimizes user interruption when feature availability checks fail.
  • Fixes multiple bugs in the sanity documents validate CLI command relating to visibility, unnecessary validation reports, reference checks batch processing, and unknown field validation for images and file types.
  • Improves spacing between the published date and the last updated date in the document status bar for better readability.

📓 Full changelog

Author Message Commit
Tommy Petty fix(cli): always treat arguments without options as strings (#5500) 9ca1cd0ce
Espen Hovlandsdal feat(i18n): add i18n resources for browser document title (#5477) fb4eb6813
Herman Wikner refactor(core): grants permission logic (#5299) dfebba6e5
Espen Hovlandsdal test(structure): fix document title test d9cc636aa
Binoy Patel test(structure): update StructureTitle tests (#5518) 840ac3e06
Ash fix(core): token login method session restoration (#5497) ae44bc7fb
Pedro Bonamin fix(ui-components): add TooltipDelayGroupProvider to ui-components (#5514) 030780a8e
Espen Hovlandsdal fix(desk): correct import from @sanity/structure to sanity/structure e64463350
Espen Hovlandsdal chore(deps): bump minimum version of @sanity/logos to latest 7c20321c9
Tommy Petty chore(core): updated pull request template to emphasize testing (#5519) b1c55d835
Herman Wikner feat(comments): implement reactions (#5409) 8c140beab
Cody Olsen fix(deps): update dependency @sanity/presentation to v1.6.1 (#5526) 6dbaceaf4
ecospark[bot] chore(deps): dedupe yarn.lock (#5527) 8fab227dd
Robin Pyon fix(cli): upgrade templates to use @sanity/ui@2 (#5528) 8c3d46a1e
Binoy Patel chore(deps): remove pretty-quick packages and fix formatting action (#5511) 9b3eae978
Espen Hovlandsdal refactor: colocate duplicate type + value imports (#5515) 9795480a3
Cody Olsen fix(performance): add back useMemo on DocumentPaneContext value (#5458) bd141cdac
Cody Olsen fix(deps): update dependency @sanity/presentation to v1.7.0 (#5537) 88ab3adaf
Herman Wikner fix(core): error handling in useFeatureEnabled (#5538) 08eb76c39
Rico Kahler fix(cli): misc sanity documents validate fixes (#5521) 475981d6d
Espen Hovlandsdal fix(i18n): import i18n utils from relative path/sanity module (#5546) e536d2381
Espen Hovlandsdal fix(structure): fix unintended import from @sanity/ui-workshop (#5545) 0e18aa9ad
Tommy Petty fix(i18n): missing translation on document inspector close button (#5520) 39babbfad
Bjørge Næss feat(core): add telemetry scaffolding to Studio (#5503) 66b88f7eb
Bjørge Næss Revert "fix(i18n): import i18n utils from relative path/sanity module (#5546)" bdfb913ea
Bjørge Næss chore(codeowners): add growth team as owners of telemetry definitions (#5525) aa62661e4
Robin Pyon chore: add ui component workshop stories, simplify internal tab component (#5549) 657c6e5da
Binoy Patel feat(core): schema and field deprecation (#5489) f7c241787
Robin Pyon fix: increase space between published date and last updated date (#5548) 1d0bac960
Pedro Bonamin chore(telemetry): track expand and collapse pte actions (#5523) 0f8e1a281