Releases: sanity-io/sanity
v3.35.1
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) | ae05976 |
renovate[bot] | chore(deps): update thollander/actions-comment-pull-request digest to fabd468 (#6063) | 13dcbdb |
renovate[bot] | chore(deps): update peter-evans/create-pull-request digest to 70a41ab (#6062) | 7bd281c |
renovate[bot] | chore(deps): update dependency express to ^4.18.3 (#6067) | 2aa4b64 |
renovate[bot] | chore(lockfile): update dependency @sanity/locale-nn-no to v1.1.5 (#6071) | 0254106 |
renovate[bot] | chore(lockfile): update dependency @sanity/locale-sv-se to v1.2.3 (#6073) | 0b1d581 |
renovate[bot] | chore(lockfile): update dependency @sanity/locale-pt-pt to v1.1.2 (#6072) | 19a8dd6 |
renovate[bot] | chore(lockfile): update dependency @sanity/locale-nb-no to v1.1.4 (#6070) | cc60405 |
renovate[bot] | chore(lockfile): update dependency @sanity/locale-ko-kr to v1.1.3 (#6069) | 1d5f3cb |
Nina Andal Aarvik | fix(core): increase default width of PT inline popovers (#5878) | f809fe3 |
Herman Wikner | fix(comments): permission check (#6057) | 2163ff0 |
Sindre Gulseth | fix(codegen): include babel.config.json in the published package (#6075) | 2e06b84 |
Sindre Gulseth | fix(codegen): uppercase query type names (#6080) | 7402093 |
Sindre Gulseth | refactor(codegen): move Result appending into type generation (#6082) | 63432da |
Herman Wikner | fix(comments): hide resolve action if no handler is provided (#6084) | 4767b32 |
Tommy Petty | fix(tasks): copy changes for Tasks feature (#6085) | 3ab20ef |
Bjørge Næss | fix: use workspace protocol for all workspace dependencies (#6088) | 0653134 |
Herman Wikner | fix(tasks): ui adjustments (#6086) | f89111c |
Pedro Bonamin | fix(tasks): update info passed to the tasks comments notification context (#6087) | 6635d72 |
Pedro Bonamin | fix(tasks): update how addonDatasetProvider ready state is set (#6076) | a08a82f |
Sindre Gulseth | fix(codegen): use relative path when globbing for files (#6083) | 5bc629f |
Pedro Bonamin | fix(tasks): add new sanityTasks flag (#6089) | ae89244 |
Binoy Patel | Revert "fix: use workspace protocol for all workspace dependencies (#6088)" (#6092) | abfc5d2 |
Espen Hovlandsdal | fix(structure): use correct loading messages while resolving panes (#6093) | d784f82 |
Cody Olsen | refactor: use PKG_VERSION from @sanity/pkg-utils instead of manually regexing SANITY_VERSION (#6078) |
d514bfc |
v3.35.0
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
withinObjectFieldProps
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) | 471854e |
cngonzalez | chore: update licenses across packages for current year (#6002) | c11256b |
renovate[bot] | chore(lockfile): update dependency @sanity/assist to v2.0.4 (#6006) | 37a4ed3 |
renovate[bot] | fix(deps): update dependency @sanity/presentation to v1.11.7 (#6007) | 1041460 |
cngonzalez | fix: ensure that useStructureToolSetting updates only when necessary (#6004) | a4d8d2d |
renovate[bot] | fix(deps): update dependency get-it to ^8.4.13 (#6013) | 1da1feb |
renovate[bot] | fix(deps): update dependency @sanity/client to ^6.15.5 (#6012) | 01dec12 |
renovate[bot] | chore(deps): update dependency @sanity/visual-editing to v1.8.0 (#6015) | 2f16c94 |
Sindre Gulseth | fix: schema extraction object type name (#6014) | dcd5537 |
Sindre Gulseth | Fix bug where we cant resolve custom types (#6016) | 217a47d |
Herman Wikner | feat(tasks): add comment delete confirm dialog (#6009) | c105115 |
Herman Wikner | fix(comments): hide context menu actions if handler is undefined (#6011) | cb55bc5 |
renovate[bot] | chore(deps): update dependency @sanity/visual-editing to v1.8.1 (#6022) | 09d4e27 |
renovate[bot] | chore(deps): update dependency @types/use-sync-external-store to ^0.0.6 (#6023) | 910f04c |
renovate[bot] | chore(deps): update dependency turbo to ^1.12.5 (#6025) | 02699dd |
renovate[bot] | chore(deps): update dependency vite to ^4.5.2 (#6026) | 767e99e |
renovate[bot] | chore(deps): update pnpm to v8.15.5 (#6027) | a2aedcb |
renovate[bot] | chore(deps): update dependency @portabletext/toolkit to ^2.0.11 (#6030) | 639580f |
renovate[bot] | chore(deps): update dependency @babel/preset-env to ^7.24.0 (#6033) | 795167f |
renovate[bot] | chore(lockfile): update dependency @portabletext/react to v3.0.12 (#6031) | 9f745f0 |
renovate[bot] | chore(deps): update dependency styled-components to ^6.1.8 (#6024) | d405517 |
renovate[bot] | chore(deps): update linters (#6029) | baaa56b |
renovate[bot] | chore(deps): update dependency esbuild to v0.20.2 (#6028) | a480588 |
renovate[bot] | chore(deps): update dependency @sanity/pkg-utils to ^3.3.8 (#6036) | 871b450 |
Ash | fix(util): safely stringify path segments named as GROQ data types (e.g. null ) (#5986) |
561ee14 |
Ash | refactor(core): use path toString function from @sanity/util/paths (#5987) |
522477a |
renovate[bot] | chore(deps): update dependency @sanity/pkg-utils to v4 (#6037) | 114d8bb |
renovate[bot] | chore(deps): update dependency @portabletext/toolkit to ^2.0.12 (#6042) | eb86c41 |
renovate[bot] | chore(deps): update dependency @sanity/visual-editing to v1.8.2 (#6043) | 039eb1f |
renovate[bot] | chore(lockfile): update dependency @sanity/logos to v2.1.7 (#6045) | 92e62aa |
renovate[bot] | chore(lockfile): update dependency @sanity/react-loader to v1.9.4 (#6046) | aa37fd9 |
renovate[bot] | chore(lockfile): update dependency mendoza to v3.0.6 (#6047) | b94419a |
renovate[bot] | fix(deps): update dependency @sanity/presentation to v1.11.8 (#6048) | bd44216 |
renovate[bot] | fix(deps): update dependency get-it to ^8.4.14 (#6049) | 01866ed |
renovate[bot] | chore(lockfile): update dependency @portabletext/react to v3.0.13 (#6044) | 9ab928f |
Ash | feat(core): integrate with Text Search API ordering (#6001) | a59f4bc |
renovate[bot] | chore(deps): update dependency @sanity/pkg-utils to ^4.4.3 (#6050) | b6334ee |
renovate[bot] | fix(deps): update dependency @sanity/client to ^6.15.6 (#6052) | ac206c2 |
Pedro Bonamin | fix(tasks): hide safari details marker (#6020) | f70cf04 |
Herman Wikner | fix(tasks): only display tasks with edits in the drafts menu (#6053) | 050f452 |
Herman Wikner | feat(tasks): ui improvements (#5990) | a58b596 |
cngonzalez | fix: use more reliable comparison in deduping search results (#6034) | 1dd2ccc |
Sindre Gulseth | feat(codegen): add codegen skeleton package (#5979) | e94c02f |
Sindre Gulseth | feat(codegen): add groq finder methods. (#5980) | 7addeef |
Sindre Gulseth | feat(codegen): add typegen methods to codegen package (#5981) | baf7cf0 |
Sindre Gulseth | feat(codegen): add CLI to generate types given a codegen config (#5982) | 3742b3f |
Sindre Gulseth | feat(codegen): expose referenced type as hidden symbol (#6008) | 2826c46 |
Sindre Gulseth | chore(codegen): refactor codegen cli group to use typegen cli group (#6051) | ff07ff2 |
Sindre Gulseth | chore(codegen): bind groq-js to ^1.5.0 (#6055) | 9595f3a |
renovate[bot] | chore(deps): lock file maintenance (#6035) | c70653a |
Sindre Gulseth | fix(codegen): update help text and generated comments copy (#6059) | 2afbc3b |
Tommy Petty | feat(tasks): Localize Task feature (#6017) | 06d812c |
Binoy Patel | chore(deps): pin @sanity/migrate groq to 1.5.0 (#6060) | c36a3b0 |
Andrew Wessels | Update fieldProps.ts (#5902) | 10d86e0 |
v3.34.0
Installation and upgrading
To initiate a new Studio without installing the CLI globally:
npm create sanity@latest
To upgrade your Sanity Studio, run this command in its folder:
npm install sanity@latest
✨ Highlights
Persisted user settings
User settings (like desk list sort orders, view modes, and global search history) are now stored securely server-side by Sanity. This means that these settings do not need to be re-selected across devices or browsers, and will be persisted wherever a user logs into their Studio.
🐛 Notable bugfixes
- Fixes a bug in the Portable Text Editor where merging two text blocks could result in data loss in the topmost block when several editors are inside the document.
- Migration CLI tooling now always places its output in the project root, and provides better messaging about this.
📓 Full changelog
Author | Message | Commit |
---|---|---|
Ash | feat(cli): improve migration runner output (#5904) | 11d15ce |
Ash | fix(cli): use inferred project root when creating migrations from subdirectory (#5905) | 1d2775c |
Herman Wikner | fix(core): handle no userId in getUser (#5992) | c9ceac0 |
renovate[bot] | fix(deps): update dependency @sanity/presentation to v1.11.6 (#5999) | 51d3bbd |
Per-Kristian Nordnes | fix(portable-text-editor): fix and test issue with merge block operation (#5996) | 96bc72b |
Pedro Bonamin | feat(tasks): add notification data for tasks document and tasks comments (#5998) | 8e63552 |
cngonzalez | feat(core): store and fetch user settings from backend (#5939) | ecb3495 |
v3.33.0
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
anddefineField
was not being captured correctly.
Other Features
__experimental_search
is deprecated in favor of field-level search options for strings and Portable Text arrays. You should now be able to define search weights in your schema, like:
defineField({
name: 'title',
type: 'string',
options: {
search: {
weight: 10,
},
},
})
- Document Actions can now specify a
group
, which will allow users to specify whether a specific document action should appear in the footer or in the document's context menu. - Adds ability to open the hotspot and crop dialog by double-clicking image preview.
📓 Full changelog
Author | Message | Commit |
---|---|---|
Tommy Petty | Update PULL_REQUEST_TEMPLATE.md (#5921) | 3afe5a2 |
Herman Wikner | fix(comments): enable check (#5918) | c230bb5 |
Herman Wikner | fix(comments): lost comment message while document is reconnecting (#5928) | ec4da46 |
Bjørge Næss | test(sanity): use dev aliases in the validation test's worker threads (#5927) | 8bf1c92 |
Herman Wikner | feat(comments): support task comments (#5934) | 75273af |
Herman Wikner | fix(comments): use _weak instead of weak (#5936) |
642224f |
Tommy Petty | fix(pte): updates zoffset for PopoverEditDialog to not be on top of InspectDialog (#5882) | 69b3552 |
Nina Andal Aarvik | fix(core): add onDoubleClick to open image crop (#5815) | e3bfee0 |
Bjørge Næss | fix(ci): align pnpm install across all workflows (#5920) | f103967 |
Rico Kahler | feat(core): redirect to previous path after login (#5932) | 96cd0b6 |
Pedro Bonamin | feat(tasks): bootstrap tasks plugin (#5704) | dd0794a |
cngonzalez | refactor(core): use KeyValueStore for recent searches (#5872) | c531a6b |
Herman Wikner | fix(comments): handle lack of access to inline comments (#5925) | 2d4f60c |
Pedro Bonamin | chore(comments): add support for comments layout avatar config (#5944) | f42ea79 |
Tommy Petty | fix(core): remove prev and next month buttons in calendar input (#5931) | 01f7df2 |
Pedro Bonamin | feat(core): add groups to document actions, introduce paneActions group (#5933) | 4e95e09 |
Rico Kahler | fix(core): upgrade and fix types for typescript 5.4 (#5943) | 4e72b80 |
Rico Kahler | fix(core): allow _projectId and _strengthOnPublish in templates (#5942) |
5adca88 |
renovate[bot] | chore(deps): update dependency @sanity/visual-editing to v1.7.0 (#5955) | 0314111 |
renovate[bot] | chore(lockfile): update dependency @sanity/react-loader to v1.9.3 (#5952) | 01bd4ab |
renovate[bot] | fix(deps): update dependency @sanity/presentation to v1.11.4 (#5954) | a5a1a5d |
renovate[bot] | fix(deps): update dependency @sanity/client to ^6.15.3 (#5953) | fc22e9f |
renovate[bot] | chore(lockfile): update dependency @sanity/icons to v2.11.0 (#5957) | 502fda0 |
renovate[bot] | chore(deps): update dependency @sanity/assist to v2 (#5960) | f7019ff |
Pedro Bonamin | fix(deps): update @sanity/icons (#5956) | 15f53bd |
Bjørge Næss | chore(test): exclude the github reporter from playwright tests for now (#5959) | 334917f |
Cody Olsen | chore: add PTE in Presentation race condition reproduction (#5961) | 4adda38 |
Cody Olsen | chore: always bump @sanity/ui (#5963) |
1884546 |
renovate[bot] | chore(lockfile): update dependency @sanity/icons to v2.11.2 (#5962) | bf22266 |
Sindre Gulseth | feat: add cmd to generate a JSON representation of schema (#5919) | c1e4f2a |
renovate[bot] | fix(deps): update dependency get-it to ^8.4.11 (#5967) | 25dce83 |
renovate[bot] | fix(deps): update dependency @sanity/ui to ^2.0.8 (#5966) | a1237d6 |
Herman Wikner | feat(core): add navbar actions (@internal ) (#5968) |
8336c9f |
renovate[bot] | chore(lockfile): update dependency framer-motion to v11.0.12 (#5969) | 01f260b |
renovate[bot] | chore(deps): update dependency @sanity/icons to ^2.11.2 (#5970) | 1b0eb08 |
renovate[bot] | chore(deps): update dependency @sanity/visual-editing to v1.7.1 (#5971) | 3101795 |
renovate[bot] | fix(deps): update dependency @sanity/ui to ^2.0.9 (#5972) | 218d09c |
renovate[bot] | fix(deps): update dependency @sanity/presentation to v1.11.5 (#5973) | 9254565 |
Nina Andal Aarvik | fix(tasks): show pending tasks in document footer (#5894) | 177bc79 |
renovate[bot] | fix(deps): update dependency @sanity/client to ^6.15.4 (#5975) | a701e1c |
renovate[bot] | fix(deps): update dependency @sanity/ui to ^2.0.10 (#5976) | b7bcc2d |
renovate[bot] | chore(lockfile): update dependency @sanity/assist to v2.0.3 (#5977) | be49900 |
Pedro Bonamin | feat(tasks): use FormBuilder to create and edit tasks. (#5897) | 908577e |
Pedro Bonamin | feat(tasks): track activity changes with document history. (#5965) | 0a76390 |
Bjørge Næss | chore(deps): pin typescript to 5.3 (#5984) | 193b4b8 |
Ash | feat(core): add new search config API (#5948) | 3c458c8 |
v3.32.0
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
Enhance editorial collaboration with the ability to attach comments directly to specific text selections. This feature includes highlight capabilities and ensures a seamless experience with updates and scrolling interactions.
Comments is available on the Growth plan (30-day free trial on new projects). You can learn more about comments in the documentation.
🐛 Notable bugfixes
Fixes sluggish document list due to lingering listeners
We've implemented a cleanup mechanism for edit state listeners to resolve issues that caused the document lists to become sluggish. Prior to this fix, open connections weren't being closed properly, leading to slow performance and potential crashes. If you've been experiencing delays or stability problems in your document lists, this update addresses those concerns.
📓 Full changelog
Author | Message | Commit |
---|---|---|
renovate[bot] | fix(deps): update dependency @sanity/client to ^6.15.1 (#5913) | 3b741a1 |
renovate[bot] | chore(lockfile): update dependency @sanity/react-loader to v1.9.2 (#5912) | 124570d |
renovate[bot] | fix(deps): update dependency @sanity/presentation to v1.11.3 (#5914) | 2bebf24 |
renovate[bot] | chore(deps): update dependency @sanity/visual-editing to v1.6.0 (#5915) | b625213 |
Rico Kahler | fix(core): clean up edit state listeners (#5911) | 4acc11e |
Per-Kristian Nordnes | chore(comments): enable inline comments (#5883) | 7d3f33d |
Tommy Petty | fix(core): update placeholder text to be more clear and accessible (#5910) | 9978095 |
v3.31.0
Installation and upgrading
To initiate a new Studio without installing the CLI globally:
npm create sanity@latest
To upgrade a v3 Studio, run this command in its folder:
npm install sanity@latest
✨ Highlights
Portable Text Editor improvements
- Inline references and objects will now render with increased default sizes in the Portable Text Editor for easier interaction.
- Original content keys are now preserved during undo/redo operations in the Portable Text Editor. This change makes for more robust content integrity.
🐛 Notable bugfixes
- Fixes an issue that allowed files to be dropped behind the open modal, leading to potentially adding files to the wrong input.
- Fixes a problem where temporary network disruptions could cause the form editor to reload and lose unsaved edits. Now, the form becomes read-only during reconnection, preserving state and changes.
- Fixes an issue where initial value templates would not accept a target dataset for cross-dataset references.
- Fixes an issue where the "disabled" state was shown indefinitely for cross-dataset references.
- Resolves a UI problem where the "cannot upload" message was incorrectly shown for extension-restricted file types during hover.
- Fixes a bug where certain selections within the Portable Text Editor were being mishandled.
- Fixes an issue where Comments would show a loading state while the form was reconnecting, preserving user comments during network issues.
📓 Full changelog
Author | Message | Commit |
---|---|---|
Robin Neatherway | docs: show backup command in help (#5865) | 5d060af |
Nina Andal Aarvik | fix(core): change modalWidth of inlineObjects to 1 by default (#5839) | 6e551b0 |
Per-Kristian Nordnes | feat(portable-text-editor): preserve keys on undo/redo (#5805) | f83e8e4 |
Herman Wikner | feat(portable-text-editor): implement isSelectionOverlapping method (#5870) |
1d41af7 |
renovate[bot] | chore(deps): update dependency get-random-values-esm to v1.0.2 (#5856) | 16a5434 |
Ash | fix(form): prevent drop event propagating outside of EditPortal component (#5813) | fc73437 |
Per-Kristian Nordnes | fix(portable-text-editor): check that path is lengthy (#5875) | 2deebb1 |
Herman Wikner | feat(core): add onFullScreenChange to Portable Text Input (#5879) |
84a0c90 |
Rupert Dunk | feat(structure): support closing first collapsed DocumentPanel (#5867) |
6d61e94 |
cngonzalez | fix(core): check if previous state is null for unmounted component (#5724) | 9ed5cca |
Tommy Petty | fix(structure): provide better error handling if orderings contain invalid field (#5709) | 4926b78 |
Per-Kristian Nordnes | feat(portable-text-editor): range decorations (#5871) | fa330a0 |
Herman Wikner | feat(comments): introduce inline commenting (#5606) | 7ed2b0f |
Tommy Petty | fix(core): updates to not show "cannot upload" on hover when using extension based accepts settings (#5881) | 023e7e6 |
Bjørge Næss | fix(sanity): preserve form (as readOnly) when reconnecting (#5884) | ed87e2a |
Per-Kristian Nordnes | fix(portable-text-editor): all paths must be checked (#5891) | 4ae88a0 |
Per-Kristian Nordnes | fix(comments): allow ranges to be collapsed (#5892) | eb5cd50 |
Ash | feat(ci): cache release dependencies (#5834) | 75ac3cf |
Rostislav Melkumyan | feat(cli): --quickstart flag for ejecting server schemas (#5797) | 174a616 |
Pedro Bonamin | feat(core): export useWorkspaceLoader from core (#5898) | 3670459 |
Pedro Bonamin | chore(search): refactor search to export necessary components and providers. (#5900) | 4159bca |
Espen Hovlandsdal | chore(deps): upgrade archiver, split2 dependencies (#5880) | c9a1dd6 |
Espen Hovlandsdal | fix(core): allow _dataset for cross-dataset references in templates (#5889) |
9fc34a2 |
v3.30.1
Installation and upgrading
To initiate a new Studio without installing the CLI globally:
npm create sanity@latest
To upgrade a v3 Studio, run this command in its folder:
npm install sanity@latest
✨ Highlights
- Added reference documentation for the
sanity/migrate
APIs.
Other features
- Adds ARIA labels to navbar icons for better accessibility.
- Fixes an issue in which the free trial popover was shown twice for new users.
🐛 Notable bugfixes
- Updates placeholder color for Portable Text Editor.
📓 Full changelog
Author | Message | Commit |
---|---|---|
cngonzalez | test(core): add tests for sort order local storage values (#5764) | adb43b0 |
Per-Kristian Nordnes | feat(form/inputs): control PortableTextEditor instance via ref (#5793) | f655b5c |
Per-Kristian Nordnes | feat(core/inputs): support custom editor change callback (#5803) | 1a36a74 |
Per-Kristian Nordnes | feat(portable-text-editor): determine if selection is made backward (#5807) | db8fd66 |
Per-Kristian Nordnes | feat(portable-text-editor): new API method getFragment (#5806) | f210112 |
Pedro Bonamin | fix(pte): update pte placeholder color (#5756) | 2ec0605 |
Per-Kristian Nordnes | test(playwright-ct): fix some webkit flakyness in PT-Input tests (#5811) | 981a4bd |
Nina Andal Aarvik | fix(core): add missing aria-labels to navbar icons (#5810) | ea8f97a |
Bjørge Næss | fix(docs): complete apidocs for migrations (#5679) | 32569be |
Espen Hovlandsdal | fix(i18n): escape interpolated values inside of (#5804) | 78ffbaf |
Robin Neatherway | chore(backup): set dated api version (#5816) | fd5bb2f |
Nina Andal Aarvik | fix(core): add aria label to action button pte toolbar (#5653) | 0794d72 |
Nina Andal Aarvik | fix(pte): add telemetry to invalidvalue error (#5809) | f3fd972 |
Per-Kristian Nordnes | chore: update codeowners details (#5812) | 0e94908 |
Bjørge Næss | chore: use star for workspace protocol version (#5822) | 6894f7b |
ecospark[bot] | chore(deps): dedupe pnpm-lock.yaml (#5823) | b34420c |
renovate[bot] | fix(deps): update dependency get-it to ^8.4.9 (#5827) | 06968cd |
renovate[bot] | chore(deps): update dependency @sanity/ui to ^2.0.7 (#5824) | 63e569f |
renovate[bot] | chore(deps): update pnpm to v8.15.3 (#5829) | b75a335 |
renovate[bot] | chore(deps): update dependency turbo to ^1.12.4 (#5826) | 40ad626 |
renovate[bot] | chore(deps): update dependency @sanity/visual-editing to v1.4.0 (#5828) | 22200c6 |
renovate[bot] | chore(deps): update actions/cache action to v4 (#5831) | 81e5140 |
renovate[bot] | fix(deps): update dependency @sanity/client to ^6.14.2 (#5830) | 447dfba |
Robin Neatherway | feat: update indexing endpoint for new name (#5725) | 477b60c |
Pedro Bonamin | chore(tasks): move CommentsSetupProvider to core (#5767) | dbff227 |
cngonzalez | refactor(core): refactor SettingsStore and useStructureToolSetting (#5784) | 74be48b |
Ash | fix(i18n): add successful document restoration string (#5821) | 21677cd |
cngonzalez | test(core): add test for color scheme preference and search (#5820) | 1c1c87c |
Fred Carlsen | fix(test): fix breaking annotation popover test (#5838) | 042cd34 |
renovate[bot] | fix(deps): update dependency get-it to ^8.4.10 (#5841) | 09970ef |
renovate[bot] | fix(deps): update dependency @sanity/presentation to v1.11.0 (#5842) | 78bc713 |
renovate[bot] | chore(deps): update dependency @bjoerge/mutiny to ^0.5.3 (#5843) | 8e95d63 |
renovate[bot] | chore(deps): update pnpm to v8.15.4 (#5844) | ce5339b |
renovate[bot] | chore(lockfile): update dependency @sanity/logos to v2.1.6 (#5845) | c4f1071 |
renovate[bot] | chore(lockfile): update dependency @sanity/react-loader to v1.8.7 (#5846) | 2367d5d |
renovate[bot] | chore(lockfile): update dependency mendoza to v3.0.5 (#5848) | 2a32db3 |
renovate[bot] | chore(deps): update dependency @sanity/visual-editing to v1.5.0 (#5849) | aaddddb |
renovate[bot] | chore(lockfile): update dependency groq-js to v1.4.3 (#5847) | f502730 |
renovate[bot] | fix(deps): update dependency @sanity/client to ^6.14.4 (#5840) | 8aec841 |
Robin Neatherway | fix: wait for all streams to close when writing backups (#5835) | 0363599 |
renovate[bot] | chore(deps): update dependency @sanity/visual-editing to v1.5.1 (#5850) | 387f66f |
renovate[bot] | chore(lockfile): update dependency @sanity/preview-url-secret to v1.6.4 (#5851) | 21eac30 |
renovate[bot] | fix(deps): update dependency @sanity/presentation to v1.11.1 (#5853) | d467be4 |
renovate[bot] | chore(lockfile): update dependency @sanity/react-loader to v1.8.8 (#5852) | 8a6d67f |
ecospark[bot] | chore(prettier): fix unformatted files 🤖 ✨ (#5854) | bcdb319 |
renovate[bot] | fix(deps): update dependency @sanity/client to ^6.15.0 (#5857) | 9ddde9a |
renovate[bot] | chore(deps): update dependency @sanity/visual-editing to v1.5.2 (#5858) | 9dc2e91 |
renovate[bot] | fix(deps): update dependency @sanity/presentation to v1.11.2 (#5860) | 24cf9e0 |
renovate[bot] | chore(lockfile): update dependency @sanity/react-loader to v1.9.0 (#5859) | 47fed89 |
Pedro Bonamin | fix(core): free trial shows twice (#5837) | e774ce1 |
radhe | fix(cli): handle API Error and update text output when backups are enabled (#5861) | 11d3ceb |
Rico Kahler | build: allow etl.yml to be ran manually (#5863) |
212f021 |
Binoy Patel | chore(deps): bump tsdoc to 1.0.0-alpha.44 (#5866) | 99d60af |
Nina Andal Aarvik | fix(core): change telemetry event names (#5832) | 242e2ca |
v3.30.0
Installation and upgrading
To initiate a new Studio without installing the CLI globally:
npm create sanity@latest
To upgrade a v3 Studio, run this command in its folder:
npm install sanity@latest
✨ Highlights
Improvements to Comments in Presentation
With the recent introduction of both Presentation tool and comments, we realised that context can be crucial in understanding comments relating to visual aspects of an application.
Comments created from within the Presentation tool will now display a link allowing content editors to navigate from any tool directly to the context in which that comment was made in their application.
Other features
- Improves error handling for a migration script that attempts to iterate over the passed document function without calling it
- Adds new Studio API,
ActiveToolLayout
, which allows plugin authors to have more flexibility by wrapping the active tool - The selected viewport in Presentation is now persisted in the URL
🐛 Notable bugfixes
- Improves focus handling with the Presentation tool and Portable Text Inputs
- Fixes regression preventing
import {debugSecrets} from '@sanity/preview-url-secret/sanity-plugin-debug-secrets'
listing secrets - Fixes a bug preventing the CLI being used inside Studio project subdirectories
📓 Full changelog
Author | Message | Commit |
---|---|---|
Rico Kahler | fix: remove no private (#5726) | a3998c3 |
Ash | refactor(util): move concurrency limiter packages to @sanity/util (#5654) |
35d368e |
Ash | fix(cli): project root resolution (#5712) | e30f45f |
Bjørge Næss | chore(deps): normalize vite dependencies | 4c6ade2 |
Bjørge Næss | chore(docs): remove internal 'how to publish' from CONTRIBUTING.md | 3e95893 |
Bjørge Næss | chore: install npm check-updates as dev dependency | 5799aed |
Bjørge Næss | chore: upgrade debug to latest 4.x | 5719016 |
Bjørge Næss | chore(depcheck): remove v2 detector and fix ts error | a2c08ee |
Bjørge Næss | chore(depcheck): cleanup depcheck ignores | ac8fdc3 |
Bjørge Næss | chore(portable-text-editor): add missing dev dependency | ef47bad |
Bjørge Næss | chore(groq): use relative imports to 'groq' from tests | b5dc763 |
Bjørge Næss | chore(sanity): add missing dev dependencies | e1be615 |
Bjørge Næss | chore(cli): cleanup dependencies | 3bb3d2b |
Bjørge Næss | fix(test): remove unused files | 4317541 |
Bjørge Næss | chore: add @jest/globals as dev dependency in packages | af6561e |
Bjørge Næss | chore(test): remove @sanity/ui jest mock | 66eaec5 |
Bjørge Næss | chore(test): run codemod migrating from implicit imports from '@jest/globals' | 23add76 |
Bjørge Næss | chore(test): fix various test typings after moving to @jest/globals | 79f89c8 |
Bjørge Næss | chore(sanity): add workaround for typing difference between @types/jest and @jest/globals | 7e3bcf2 |
Bjørge Næss | chore: remove @types/jest usage | c81b291 |
Bjørge Næss | fix(test): remove usage of jest-dom/extend-expect | 8a80150 |
Bjørge Næss | chore(deps): upgrade @testing-library/jest-dom to 6.x | 1a323e7 |
Binoy Patel | chore(cli): update help copy for CLI commands (#5687) | 12fb96b |
Rupert Dunk | chore(comments): improve i18n resource for comment contexts (#5731) | ce560b0 |
Bjørge Næss | chore: switch from yarn to pnpm | da9f72e |
Bjørge Næss | fix(mutator): fix type export issue | c7ed0c9 |
Bjørge Næss | chore(cli): replace vite typing stub with proper dependency | d09db4c |
Bjørge Næss | chore(vision): fix typescript issue related to reexporting codemirror extensions | 26c5f47 |
Bjørge Næss | chore(deps): add 'sanity' as dependency to workspace root | 564c501 |
Bjørge Næss | chore(deps): upgrade @types/node to 18.x | 64203be |
Bjørge Næss | chore: rename mentions of yarn => pnpm | 5a65aad |
Bjørge Næss | chore(package.json): alphabetize scripts | 3527a43 |
Bjørge Næss | chore: clean up package scripts | c77b7ba |
Bjørge Næss | chore: cleanup depcheck scripts | 6e37d03 |
Bjørge Næss | fix(github): enable pnpm before installing dependencies | 0b572f1 |
Bjørge Næss | fix(github): fix workflow file | 5a215ca |
Bjørge Næss | fix: run prettier | e24a458 |
Bjørge Næss | fix(monorepo): add missing dev dependency | b5359d3 |
Bjørge Næss | fix(vision): add missing type dependency | 6e91aef |
Bjørge Næss | fix(sanity): update test snapshots | 70bcf6f |
Bjørge Næss | chore: apply suggestions from code review | 1b7a1f1 |
Bjørge Næss | fix(ci): fix subargs issue w/pte e2e tests | f0fad4c |
Binoy Patel | chore(e2e): fix e2e action failing (#5735) | 4c02649 |
Bjørge Næss | fix(chore): fix lint script (#5739) | d1fc36d |
Rico Kahler | build: remove last rebase step (#5737) | 79a5870 |
Espen Hovlandsdal | chore(deps): align versions, lockfile | 2d1f084 |
Espen Hovlandsdal | fix(cli): minor whitespace tuning for migration error output (#5727) | b20f121 |
Bjørge Næss | chore(ci): fix prettier --write (#5740) | 2b00589 |
Bjørge Næss | chore: improve dev commands (#5747) | b6199a1 |
Pedro Bonamin | feat(core): add studioActiveToolLayout and navbar rightSectionNode prop (#5749) | c708671 |
Per-Kristian Nordnes | chore: add missing types packages (#5751) | 656bec2 |
Ash | fix(core): add @types/lodash (#5753) |
59f8afd |
Cody Olsen | fix(structure): allow sanity.previewUrlSecret in document lists (#5733) | 8fd55c4 |
Bjørge Næss | chore(perf): replace references to yarn with pnpm (#5748) | 2f777d8 |
Binoy Patel | chore(deps): upgrade husky@9 (#5744) | 8f3c44c |
Binoy Patel | test(e2e): fix e2e test caching issue (#5763) | 6caf803 |
Bjørge Næss | fix(migrate): throw if attempting to iterate over documents producer (#5758) | 928f04d |
Bjørge Næss | fix(ci): use pnpm for package releases (#5746) | 4dedf3b |
Binoy Patel | test(migration) add tests for normalizeMigrationDefinition (#5565) | c4baaab |
Pedro Bonamin | fix(pte): PTE modal seems to re-render on validation state change due to tooltip disabled change (#5766) | c24e4d9 |
renovate[bot] | fix(deps): update dependency @sanity/presentation to v1.9.1 (#5773) | b7a3f13 |
renovate[bot] | chore(deps): update dependency @sanity/visual-editing to v1.3.1 (#5770) | ec1cc0f |
renovate[bot] | fix(deps): update dependency @sanity/client to ^6.13.3 (#5772) | 79ef8c3 |
Binoy Patel | chore(test): fix linting and type errors (#5775) | 67ef631 |
renovate[bot] | chore(deps): update dependency @sanity/ui to ^2.0.3 (#5776) | 409edb1 |
Sindre Gulseth | fix: update ndjson specification url (#5780) | 15b9e79 |
Binoy Patel | chore(deps): bump @sanity/tsdoc to 1.0.0-alpha.42 (#5765) | 86bf2e9 |
Pedro Bonamin | fix(core): update featuresEnabled when switching projects (#5787) | 32d79a2 |
Per-Kristian Nordnes | chore: upgrade @playwright/test to latest (#5792) | 84a6015 |
Binoy Patel | test(migrate): update types for test to better match usage (#5781) | 15c3bc1 |
Per-Kristian Nordnes | refactor(core/inputs): report focusPath on text spans ending with .text (#5786) | 3941d86 |
Pedro Bonamin | feat(core): rename useMentionOptions to useUserListWithPermission and move to core (#5778) | 5da8891 |
Per-Kristian Nordnes | fix(core/inputs): fix issues with calling onPathFocus for PT-input (#5794) | 0f114b1 |
Bjørge Næss | chore: use workspace protocol for internal dependencies | 61eee1f |
Bjørge Næss | chore(workspace): use sanity dependency from workspace | 0693a24 |
Bjørge Næss | chore(deps): hoist sanity workspace package | b57830c |
Bjørge Næss | chore(test): use SanityClient type from @sanity/client |
bfa53c9 |
Bjørge Næss | fix(ci): run e2e-pte tests in the correct folder | e2f26c4 |
Nina Andal Aarvik | fix(core): bring back subtitle in workspace list view (#5788) | 2202e3c |
ecospark[bot] | chore(deps): dedupe pnpm-lock.yaml (#5798) | 6d4090e |
Espen Hovlandsdal | fix(structure): intent menu item nodes not rendering (#5728) | 613e1dd |
Ash | fix(ci): setup pnpm (#5800) | 83630cf |
Ash | fix(ci): remove pnpm reference from setup-node step (#5801) | 19c0e86 |
v3.29.1
Installation and upgrading
To initiate a new Studio without installing the CLI globally:
npm create sanity@latest
To upgrade a v3 Studio, run this command in its folder:
npm install sanity@latest
🐛 Notable bugfixes
- Pins a dependency that was causing an infinite loop (Maximum call stack size exceeded)
📓 Full changelog
Author | Message | Commit |
---|---|---|
Espen Hovlandsdal | fix: pin get-random-values-esm to 1.0.0 | 8b09226 |
v3.29.0
Installation and upgrading
To initiate a new Studio without installing the CLI globally:
npm create sanity@latest
To upgrade a v3 Studio, run this command in its folder:
npm install sanity@latest
🐛 Notable bugfixes
- Fixes an issue where the alert messages for published or deleted documents sometimes displayed incorrect titles
- Fixes a comments-related error dialog from inadvertently showing up to users
- Removes layout shift when loading document locations when the Presentation tool is used (#5702)
- Fixes a bug that hid unpublished documents in "Documents on this page" in the Presentation tool (#5702)
- Fixes a bug that caused the document pane to stay open in the Presentation tool (#5702)
Other features
- Adds support for importing system documents via
--allow-system-documents
for dataset imports - Adds support for parameterized templates in the Presentation tool (#5694)
📓 Full changelog
Author | Message | Commit |
---|---|---|
Pedro Bonamin | fix(core): update PortableTextInput doc reference (#5688) | 2664990 |
renovate[bot] | fix(deps): update dependency @sanity/presentation to v1.8.0 (#5694) | e725a3c |
renovate[bot] | chore(deps): update dependency @sanity/visual-editing to v1.2.0 (#5693) | 9373ce6 |
renovate[bot] | chore(deps): update dependency @sanity/ui to ^2.0.2 (#5698) | bb0b631 |
renovate[bot] | chore(lockfile): update dependency @sanity/assist to v1.2.16 (#5696) | 72bc694 |
renovate[bot] | fix(deps): update dependency @sanity/presentation to v1.8.1 (#5699) | d645d37 |
Espen Hovlandsdal | fix(comments): catch and suppress errors from comments upsell (#5700) | fbaffd2 |
renovate[bot] | fix(deps): update dependency @sanity/client to ^6.12.4 (#5701) | f85396f |
renovate[bot] | fix(deps): update dependency @sanity/presentation to v1.8.2 (#5702) | c23ccb4 |
Simeon Griggs | chore: rename "schemas" to the more correct plural "schemaTypes" (#5513) | 2eaffd3 |
Fred Carlsen | chore: apply auto eslint fixes with lint-staged (#5705) | 40c9b4f |
Binoy Patel | chore(dev): remove react import | 9aabbb0 |
Bjørge Næss | use jsx: 'automatic' for dev server | a2f505b |
Bjørge Næss | chore(deps): upgrade eslint tooling | 95890c6 |
Bjørge Næss | fix(eslint): add rules to enforce consistent type imports and import sort orders | 1ec2c39 |
Bjørge Næss | chore(eslint): set @typescript-eslint/no-explicit-any as warn instead of error | e01c101 |
Bjørge Næss | chore: autofix eslint errors after config change | b14622e |
Bjørge Næss | fix(structure): add workaround for circular import issue causing resolveIntent tests to fail | c2e6017 |
Bjørge Næss | chore: exclude packages with type-only imports from depcheck | 8fea4a0 |
Bjørge Næss | chore(sanity): preserve order of side-effectsy imports | 08e83dd |
Bjørge Næss | chore(test-studio): reorganize comments & imports in test schema | 7ca741c |
Bjørge Næss | chore: manually fix remaining non-autofixable eslint issues | 5a65b7b |
Bjørge Næss | chore(eslint): extend react/jsx-runtime config | 5eb8755 |
Bjørge Næss | chore: remove remaining react imports | ff4c3bb |
renovate[bot] | chore(deps): update dependency @sanity/visual-editing to v1.2.2 (#5718) | 117834e |
Bjørge Næss | fix(cli) let cli tests run with robot tokens (#5715) | 04c30fb |
Binoy Patel | test(core): adds e2e tests for date and datetime inputs (#5681) | 6694945 |
radhe | feat(backup): add new command dataset backup for server-side backups (#5571) | f04c76e |
radhe | feat(CLI): in sanity dataset import cmd, add --allow-system-documents to explicitly permit system document import, which should be ignore otherwise (#5689) | fa9f924 |
ecospark[bot] | chore(deps): dedupe yarn.lock (#5720) | 2518ac4 |
Nina Andal Aarvik | fix(structure): use useDocumentTitle hook for toast message (#5719) | 51ed18d |
Rupert Dunk | feat(comments): add optional intent link to comments (#5576) | 27bf5f9 |
Espen Hovlandsdal | refactor(comments): use journey endpoint for comments upsell (#5721) | b999da0 |
Drew Lyton | feat(telemetry): add telemetry for Trial Dialogs (#5643) | ad971f8 |
Rico Kahler | build: release automation (#5722) | d024b09 |