Sanity Studio – Rapidly configure content workspaces powered by structured content
MIT License
Bot releases are visible (Hide)
Published by rexxars 7 months ago
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
--enforce-required-fields
flag for the sanity typegen generate
command not correctly respecting validation rulesAuthor | 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 |
Published by cngonzalez 7 months ago
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
Sanity LocaleContext value missing
.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 |
Published by juice49 7 months ago
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
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 |
Published by juice49 7 months ago
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
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.
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.
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.
--enforce-required-fields
.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
.
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 |
Published by juice49 7 months ago
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
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 |
Published by binoy14 7 months ago
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
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 |
Published by binoy14 7 months ago
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
value
within ObjectFieldProps
to accept a type parameter, allowing for dynamically setting the expected type. (thanks @shixish)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 |
Published by cngonzalez 7 months ago
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
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.
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 |
Published by cngonzalez 7 months ago
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
_projectId
and _strengthenOnPublish
are now valid values for Initial Value Templates, allowing for Cross Dataset Reference values in templates.defineType
and defineField
was not being captured correctly.__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,
},
},
})
group
, which will allow users to specify whether a specific document action should appear in the footer or in the document's context menu.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 |
Published by ricokahler 8 months ago
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
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.
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.
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 |
Published by ricokahler 8 months ago
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
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 |
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
sanity/migrate
APIs.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 |
Published by juice49 8 months ago
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
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.
ActiveToolLayout
, which allows plugin authors to have more flexibility by wrapping the active toolimport {debugSecrets} from '@sanity/preview-url-secret/sanity-plugin-debug-secrets'
listing secretsAuthor | 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 |
Published by rexxars 8 months ago
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
Author | Message | Commit |
---|---|---|
Espen Hovlandsdal | fix: pin get-random-values-esm to 1.0.0 | 8b09226 |
Published by ricokahler 8 months ago
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
--allow-system-documents
for dataset importsAuthor | 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 |
Published by cngonzalez 9 months ago
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
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.
text-wrap: pretty
).S.documentTypeList()
now match those in other document lists.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 |
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
sanity migrate
that caused a patch to be applied twice.Author | Message | Commit |
---|---|---|
Binoy Patel | fix(migration): fixes issues where patch would happen twice (#5638) | 343765d7c9 |
Published by binoy14 9 months ago
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
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.
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
sanity documents validate
intentUrl
in json
and ndjson
formats for sanity documents validate
Rule.min
and Rule.max
did not allow stringssanity documents validate --format json
import.meta.env
to break the mock browser environment used in the CLI.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 |
Published by ricokahler 9 months ago
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
Author | Message | Commit |
---|---|---|
Sindre Gulseth | Improve asset export retrying (#5563) | a68df71 |
Herman Wikner | fix(comments): addon dataset creation (#5577) | c8f1da3 |
Published by ricokahler 9 months ago
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
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.',
},
}),
],
})
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.
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. 🎩
token
login method ensuring the active session is retained post webpage reloads when cookieless auth is in effect.useMemo
on DocumentPaneContext
values, reducing unnecessary re-renders and improving document pane performances.useFeatureEnabled
hook result in an empty features list rather than disruptive error toasts; this minimizes user interruption when feature availability checks fail.sanity documents validate
CLI command relating to visibility, unnecessary validation reports, reference checks batch processing, and unknown field validation for images and file types.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 |