sanity

Sanity Studio – Rapidly configure content workspaces powered by structured content

MIT License

Downloads
9.5M
Stars
5.2K
Committers
128

Bot releases are visible (Hide)

sanity -

Published by bjoerge 4 months ago

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npm create sanity@latest

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

npm install sanity@latest

🐛 Notable bugfixes

  • Fixes a potential crash in certain javascript environments when trying to access process.env
  • Errors occuring during a migration now provides more details

📓 Full changelog

Author Message Commit
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#6975) 355e1b9c3e
Binoy Patel fix(migrate): fixes error message to be more helpful (#6986) df89f88428
Espen Hovlandsdal fix(cli): correct noop return value on esbuild-register in dev (#6990) 51ecce044a
Espen Hovlandsdal fix(core): make version check not depend on process.env (#6991) 7c00b8f65e
sanity - v3.47.0

Published by binoy14 4 months ago

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npm create sanity@latest

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

npm install sanity@latest

✨ Highlights

Array insert menu

This release includes a much requested upgrade of the array insert menu with various new options available. Including a new and more informative grid view, the ability to organize available schema types in groups, and filter them with a search term, and more. Check out the array article in the docs for examples.

array insert menu

Other features

Adds a type export of all the discovered Sanity schema variants resulting from running sanity typegen in the CLI. This can be useful in mocks/testing environments and used by third party tools to get a list of potential types. This union type is accessible as AllSanitySchemaTypes in the generated type definitions.

🐛 Notable bugfixes

  • Fixes an issue where a text preview image would be included into the Portable Text Editor (PTE) when pasting text from Word.
  • Fixes an issue where navigation options were not being passed as expected when calling a scoped router's navigate function.
  • Fixes an issue where the PTE wouldn't activate when you start dragging files into it.
  • Images in the Hotspot & Crop tool now render faster, and use far less memory.
  • Reduces layout shift when uploading images that replace existing image assets.
  • Fixes an issue that could cause a 409 error when restoring a document from history.
  • Fixes an issue where image and file types might be listed in their lowercase variant in array insert menus

📓 Full changelog

Author Message Commit
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#6916) 7f20f24a21
renovate[bot] chore(deps): update dependency @sanity/tsdoc to v1.0.72 (#6911) 7d312e4e9e
Cody Olsen feat(deps): upgrade react-rx to v3 (#6883) c0fe9f6dfd
renovate[bot] fix(deps): Update dev-non-major (#6915) f00ca7ecbb
Per-Kristian Nordnes fix(core): fix issue with pasting mixed content (files and text) for pt-input (#6924) fda9387eef
Rupert Dunk fix(router): pass options on scoped router navigation (#6923) 2fabc2eeb6
Fred Carlsen chore: clean playwright-ct cache on each run (#6928) 286aaed5bd
Fred Carlsen fix(form): activate PTE input when dragging files (#6929) a2be16c410
Ash chore: update lockfile (#6932) d935a3a3e7
Cody Olsen fix: improve perf of by creating the canvas in a side effect (#6874) 5d8031b38f
Cody Olsen fix: layout shift when uploading images (#6930) ae142d4571
renovate[bot] fix(deps): Update dev-non-major (#6941) 3300904872
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.16.0 (#6942) abe562bd2e
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.3.6 (#6943) c1869b928f
renovate[bot] chore(lockfile): update dependency @sanity/import to v3.37.5 (#6940) 6cfe40e4f4
Cody Olsen fix: change useListFormat to no longer violate the rule of hooks (#6876) cae047f1c1
Bjørge Næss fix(sanity): only include create action when restoring a deleted document (#6937) 273683562e
Cody Olsen refactor: change memoization of margins to support the rule of hooks (#6875) fbf90ec871
Espen Hovlandsdal fix(schema): use base type for title if no subtype title or name is given (#6947) bbe7ac0ec0
Binoy Patel fix(cli): account for base path in the importmap (#6919) 8f280547b5
renovate[bot] chore(lockfile): update dependency @sanity/bifur-client to v0.4.1 (#6939) e161e0b17d
Nina Andal Aarvik fix(vision): center loading spinner (#6900) 5943d4f0aa
Christian Grøngaard chore: allow clean:deps to remove test studio node_modules (#6951) 339128dc7f
Christian Grøngaard feat(core): new insert menu for arrays with filtering, type preview support (#6853) 203f1358f0
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#6957) 4b89dd555e
renovate[bot] fix(deps): Update dev-non-major (#6958) d89acea8e4
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.4.0 (#6959) 5a38691682
Sindre Gulseth feat(typegen): add all schema types exported union 5d97a0e408
Sindre Gulseth Revert "feat(typegen): add all schema types exported union" e65adee7d8
RitaDias test(e2e): update e2e flaky tests (#6927) 6b20e5faa4
Sindre Gulseth feat(typegen): add all schema types exported union (#6962) fa459a428c
Ash test(e2e): ensure custom publish action can patch document before publication 17d0bbf7bb
Ash fix(sanity): remove ifDraftRevisionId optimistic lock usage when publishing documents 306470520c
Christian Grøngaard fix(core): make array insert menu full width if grid view is configured (#6969) 47d204c27d
Christian Grøngaard deps(core): update @sanity/insert-menu (#6971) de01b7c956
Bjørge Næss fix(structure): don't replace url when navigating back to list after document deletion (#6953) f662ae2525
Bjørge Næss refactor(core): change revision history label from 'Version' to the more accurate 'Revision' (#6956) b90820c303
Espen Hovlandsdal feat(core): implement basic error reporting (#6914) 02dab2a876
Binoy Patel fix(ci): importmap path on windows (#6948) 6bbf609f67
Carolina Gonzalez feat: notify AUS studio users of new studio versions (#6893) e9b16c89f1
sanity - v3.46.1

Published by juice49 4 months ago

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npm create sanity@latest

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

npm install sanity@latest

🐛 Notable bugfixes

  • Fixes a bug causing Structure Tool to crash when attempting to read the scrollTop of a nonexistent element.

📓 Full changelog

Author Message Commit
Ash fix(sanity): ignore sticky overlay regions with a falsey DOM node (#6910) 4f1be6cc1a
sanity - v3.46.0

Published by juice49 4 months ago

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npm create sanity@latest

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

npm install sanity@latest

🐛 Notable bugfixes

  • Fixes an issue where projects with a large amount of users would sometimes get a request error when loading user info.
  • Form input components now have their own error boundaries, limiting crashes to a field level on a document form, instead of taking down the entire Structure Tool.
  • Fixes React 19 causing the Portable Text Editor (PTE) to crash in some scenarios.
  • Fixes an issue where searching for text within fields of type text (not string) would not yield results.
  • Fixes an issue when dragging PTE blocks.
  • Fixes a visual regression in PTE fullscreen mode where the Drop to upload files message would be positioned incorrectly.
  • Fixes a regression where pasting from Word would insert an image version of the text being pasted instead of the actual text.

📓 Full changelog

Author Message Commit
Christian Grøngaard chore(core): abstract getSchemaTypeIcon (#6844) 6693c54d27
Rostislav Melkumyan feat: add integration when creating a new project through cli (#6639) ac214b8e2e
jordanl17 fix(structure): fixing issue with shift mutli select of documents (#6857) 15861f4fbc
Espen Hovlandsdal fix(core): chunk user loading into batches of max 400 items (#6858) 4531750501
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#6849) 73861efa47
renovate[bot] chore(deps): update dependency @sanity/pkg-utils to v6.9.0 (#6850) 4b6d33f8a8
renovate[bot] chore(lockfile): update dependency @sanity/bifur-client to v0.4.1 (#6860) c1c2ab2539
renovate[bot] fix(deps): Update babel monorepo (#6861) 4fa813d74d
renovate[bot] chore(lockfile): update dependency @sanity/icons to v3.2.0 (#6864) 513601c1a2
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.3.1 (#6851) 74d4e67f0e
renovate[bot] chore(deps): update dependency @sanity/icons to ^3.2.0 (#6863) c03c3460d4
renovate[bot] fix(deps): Update dev-non-major (#6862) 74f80803f6
Carolina Gonzalez feat: add hasSanityPackageInImportMap (#6832) 8ea7d8fe9a
Cody Olsen feat: add error boundary for form input components (#6869) 23c42ae523
Cody Olsen fix: portable text editor crash on React 19 (#6870) 293e7d11da
Cody Olsen refactor: replace useForwardedRef with useImperativeHandle (#6830) 23bac629d9
renovate[bot] fix(deps): update dependency get-it to ^8.6.0 (#6884) 9f5e29face
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#6892) 5c01ef6855
Cody Olsen refactor: lift useCallback out of useAsync so it can be compiled (#6873) 08f79a40bd
Espen Hovlandsdal fix(search): include text type fields in search queries (#6895) 5e505ace02
RitaDias test(e2e): update timeouts for opening popovers (#6871) 1befff10f1
Pedro Bonamin fix(scheduled-publishing): export EditScheduleForm from core (#6872) 43711d78a2
Rico Kahler feat: add CLI options to enable auto-updating studios (#6514) 5077c8b336
Binoy Patel feat(cli): show prompt if local version doesn't match remote (#6707) 50f1e543e4
Binoy Patel fix(cli): allow using auto-updates in unattended mode (#6897) 61f1f8cad8
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#6899) 07454a175a
Christian Grøngaard fix(form): avoid spreading key prop (#6887) 51eb56a3cb
renovate[bot] fix(deps): update dependency @sanity/client to ^6.20.0 (#6886) 124dc2238e
Fred Carlsen fix(core): fix dragging existing blocks in pte (#6867) 0d9288362e
renovate[bot] chore(deps): update dependency @sanity/pkg-utils to v6.9.3 (#6903) 7f18d45172
renovate[bot] chore(deps): update dependency turbo to ^1.13.4 (#6905) 576dd3faae
renovate[bot] chore(deps): update dependency @vitejs/plugin-react to ^4.3.1 (#6904) 24255b448d
Cody Olsen fix: regression causing ESM build errors (#6909) 0b92a8e413
renovate[bot] chore(deps): update dependency esbuild to ^0.21.5 (#6908) 69496d10ca
sanity - v3.45.0

Published by cngonzalez 5 months ago

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npm create sanity@latest

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

npm install sanity@latest

✨ Highlights

  • The studio initialization command now allows you to specify a package manager with a flag in a single line. This was previously only possible to do via an interactive CLI prompt. You can now skip this step:
npm create sanity@latest --package-manager pnpm
  • The dryRun parameter is now available in the context provided for the defineMigration command available from sanity/migrate. This allows developers to write scripts that skip certain actions (for example, mutating external data stores) if it is only a dry run. An example might look like this:
import { defineMigration } from "sanity/migrate"

/**
 * Run this migration with
 * `npx sanity migration run my-migration`
 */
export default defineMigration({
  title: "my-migration",

  // pass whether the migration is a dry-run as context
  async *migrate(documents, { dryRun }) {
    for await (const document of documents()) {
      if(dryRun) {
        // Only log the effect
        console.log(`Something happened`)
      } else {
        // Execute the side-effect
        await thirdPartyRequest()
      }
      // ... do something with the document, maybe yield patches
    }
  },
})

🐛 Notable bugfixes

  • Fixes an issue where image/file assets would not be listed in Structure lists, even if specified to do so.

📓 Full changelog

Author Message Commit
Espen Hovlandsdal fix(structure): allow searching/listing ignored types when explicitly requested (#6771) 5b666649a9
Cody Olsen chore: setup a separate compiled studio, bump to 19rc (#6808) 25be80202d
Christian Grøngaard fix(types): correct ArrayOptions (#6737) 39da169bab
Ash fix(sanity): align Actions API usage with correct types f07d7aeec3
Ash chore(deps): update @sanity/client f9f2356038
RitaDias test(core): update e2e test for toolbar in PTE to be more reliable (#6811) cd901d1129
Cody Olsen fix: handle circular import issue in a compiler friendly way (#6812) 8ac809f438
renovate[bot] fix(deps): Update dev-non-major (#6809) a9662ecddf
Binoy Patel test(core): update snapshot for failing test (#6818) 52e4cfaeca
Christian Grøngaard chore(page-building): use first-class icons instead of media (#6752) dd7956a782
Noah Gentile feat(migrate): add dryRun to context (#6816) 104162a4df
Cody Olsen fix: use useImperativeHandle instead of mutating a parent ref (#6813) 13158e939d
ecospark[bot] chore(lint): fix linter issues 🤖 ✨ (#6825) cec43ade1d
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.15.13 (#6823) d0e5e95a60
Cody Olsen fix: regression in #6813 (#6827) 8ac0812f39
RitaDias test(test): update e2e pte toolbar test (#6822) 44876800f4
RitaDias test(sanity): update hydrate test (#6821) 0cefc21b3f
Binoy Patel feat(cli): allow the ability to specify package manager in init command (#6820) f1ef0a65b5
Cody Olsen fix: call dynamic hooks in a way that can be compiled (#6814) 6e65eedce6
renovate[bot] chore(lockfile): update dependency prettier to v3.3.0 (#6834) f279329df3
ecospark[bot] chore(lint): fix linter issues 🤖 ✨ (#6836) 61fd6bba99
renovate[bot] chore(deps): update dependency @sanity/pkg-utils to v6.8.19 (#6837) 700879aae9
shur feat: move up call to PATCH metadata after bootstrapping template files (#6828) 7d47a518e5
renovate[bot] chore(deps): update dependency @sanity/tsdoc to v1.0.70 (#6838) c794957fc2
renovate[bot] fix(deps): Update dev-non-major (#6841) 48022c11f2
renovate[bot] chore(deps): update dependency @types/react to ^18.3.3 (#6840) 0ce52e91b2
renovate[bot] chore(lockfile): update dependency @sanity/import to v3.37.5 (#6842) df67883da0
jordanl17 feat(structure): sheet list table columns selectors style edx-1435 (#6839) 6d53c4c989
Christian Grøngaard refactor(core): rename InsertMenu->InsertMenuGroups (#6845) e1fd6bfe96
sanity -

Published by bjoerge 5 months ago

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npm create sanity@latest

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

npm install sanity@latest

🐛 Notable bugfixes

Customizing restore action now works

This releases fixes a bug preventing developers removing or customising the "restore" document action using the document.actions Studio configuration property.

Studio will now respect changes you make to the "restore" document action, but please note that you must set the action property to "restore" on your DocumentActionComponent. The action property allows Studio to identify the restore action.

Example

import {RocketIcon} from '@sanity/icons'
import {type DocumentActionComponent} from 'sanity'

export const TestCustomRestoreAction: (
  action: DocumentActionComponent,
) => DocumentActionComponent = (restoreAction) => {
  const action: DocumentActionComponent = (props) => ({
    ...restoreAction(props),
    label: 'Custom restore',
    tone: 'positive',
    icon: RocketIcon,
  })

+ action.action = 'restore'
  return action
}

Other bugfixes

  • Fixes an issue that could under certain conditions cause a circular structure to enter an infinite loop. Shoutout to @sarahsvedenborg and @stian-svedenborg for identifying the issue and proposing a fix.
  • Resolves a type error caused by the missing preview property in DocumentComponents.
  • Fixes an issue causing cross dataset reference search not returning hits in certain cases.
  • Improves text selection of full screen Portable Text editors (PTE).
  • Fixes issue where nested fullscreen PTEs were unable to open the block style dropdown.
  • Fixes issue causing EXIF metadata not being included when uplading multiple images through drag + drop. Thanks @xuzuodong!
  • Fixes bugs related to when the PTE is using a Reference input directly as the annotation type (not wrapped in a object type).
  • Add automatically resolving of some validation errors in the PTE.
  • Fixes bug causing "Untitled" to appear as title for array and object fields, even when explicitly passing undefined as title to renderDefault().

📓 Full changelog

Author Message Commit
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#6731) 1587dfe9d3
Pedro Bonamin fix(core): add retry to image observer and loading state (#6709) 0f51f9dad9
Ash feat(sanity): use optimistic locking when publishing documents (#6711) 6fe8c698cf
jordanl17 EDX-1352: batch select sheet list documents (#6713) 10b596a6f8
Michael fix(cli): graphql api flag is respected during validation (#6615) c739eea81e
renovate[bot] chore(lockfile): update dependency @sanity/telemetry to v0.7.8 (#6732) 4307a3c321
renovate[bot] chore(lockfile): update dependency i18next to v23.11.5 (#6733) 922235f70b
Per-Kristian Nordnes refactor(portable-text-editor): automatically resolve some validation errors (#6705) 6062a9a34b
Per-Kristian Nordnes fix(core/form): prohibit focus and unset on root input (#6706) 4a2f14119c
Cody Olsen chore: setup CI check for react compiler errors (#6730) 9c7175f697
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#6734) fe807a8ea8
Hash Brown fix: EXIF data on Image asset not included when uploading multiple images to array type, or via drag-and-drop (#6708) 222418acec
Robin Pyon fix(pte): improve text selection in fullscreen inputs (#6642) 6163d961fe
renovate[bot] fix(deps): Update dev-non-major (#6719) dadfcfafd1
Rune Botten fix(core): avoid attribute names being scanned as symbols 23f6c67199
Cody Olsen chore: change the action to use warnings and only fail on new ones (#6740) ebef5cb97e
renovate[bot] chore(lockfile): update dependency @sanity/telemetry to v0.7.8 (#6743) a230bbf878
renovate[bot] chore(deps): update dependency @vitejs/plugin-react to ^4.3.0 (#6744) 75512649f5
renovate[bot] chore(deps): update dependency @sanity/pkg-utils to v6.8.18 (#6746) 913740d660
renovate[bot] chore(lockfile): update dependency @sanity/import to v3.37.4 (#6749) e5b04d10a9
renovate[bot] chore(lockfile): update dependency @sanity/export to v3.38.1 (#6748) 0dbf0c5e19
renovate[bot] fix(deps): Update dev-non-major (#6745) 7c4412159c
renovate[bot] chore(deps): update dependency @sanity/tsdoc to v1.0.65 (#6747) 79a79a368f
Cody Olsen fix: handle React Compiler errors (#6750) 403f485bfa
Ash feat(sanity): use Actions API when restoring drafts 47e54209fa
Ash feat(sanity): add timeline test ids 038a1a2b9c
Ash test(e2e): add test for restore document action e9b967f896
Christian Grøngaard chore: add initial page-building test studio (#6735) cca14f393b
Bjørge Næss fix(core): remove id from patch when using server actions (#6751) 7b90cad2d5
Ash fix(sanity): respect Studio configuration when rendering "restore" document action (#6637) 6ba71f2588
Binoy Patel chore(ci): set a shorter cache on manifest (#6660) 069dd3193f
renovate[bot] chore(lockfile): update dependency i18next to v23.11.5 (#6755) 6043919ec2
renovate[bot] chore(lockfile): update dependency react-barcode to v1.5.3 (#6756) 89c86c637b
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.1.12 (#6757) 9025619e5c
renovate[bot] fix(deps): update dependency get-it to ^8.5.0 (#6758) 6b98663fb1
renovate[bot] fix(deps): Update dev-non-major (#6759) 58936096c6
renovate[bot] chore(deps): update dependency @sanity/tsdoc to v1.0.67 (#6761) 543d755060
renovate[bot] fix(deps): update dependency @sanity/client to ^6.18.3 (#6762) 3e1bc3e50b
RitaDias fix(core): unable to open block style select when in nested PTEs in fullscreen (#6738) 9f7ab8b22b
Per-Kristian Nordnes test(portable-text-editor): add test for empty array value (#6764) a13e22cc99
Christian Grøngaard chore(page-building): configure build outputs (#6768) 076f9b8f6e
Bjørge Næss fix(core): fix issue with nested preview fields not being included in legacy text search (#6767) 044ac39a2f
jordanl17 feat(structure): sheet list prototype (#6741) f0670bf20d
Espen Hovlandsdal chore(deps): update dependency @sanity/bifur-client to ^0.4.0 (#6645) a79ea02245
Simeon Griggs chore: correct grammar for open-source (#6766) f8ee0f2135
Rico Kahler fix: resolve type error by inlining DocumentComponents definition (#6703) 10e1bc3703
Herman Wikner fix(core): reactions menu open issue (#6765) 3f52b83caa
Bjørge Næss fix(form): fix issue making circular structures sometimes causing infinite loop (#6699) 7efdeebdba
Per-Kristian Nordnes fix(portable-text-editor): add autoresolving validations and fix normalization issues (#6770) c45828947b
renovate[bot] fix(deps): update dependency @sanity/client to ^6.19.0 (#6781) 19619042e4
Bjørge Næss fix(form): properly support passing undefined as title to renderDefault() for array and object fields (#6774) f341c2d7ea
Binoy Patel feat: store all versions in the manifest (#6769) 1fcc0f2e84
renovate[bot] chore(lockfile): update dependency @portabletext/react to v3.1.0 (#6788) 02fa56202c
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.15.10 (#6786) 517a1a977e
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.1.13 (#6787) 43f17664c1
renovate[bot] fix(deps): Update dev-non-major (#6789) 772d464d3a
renovate[bot] chore(deps): update linters (#6790) 674a6cbe34
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v2 (#6792) 8665a16239
renovate[bot] chore(lockfile): update dependency @sanity/logos to v2.1.12 (#6793) 9d7c67d24d
Christian Grøngaard fix(form): avoid spreading key prop (#6776) eeba7f272e
renovate[bot] chore(lockfile): update dependency @sanity/logos to v2.1.12 (#6794) 7d0d86ab52
renovate[bot] chore(lockfile): update dependency @sanity/telemetry to v0.7.9 (#6795) be1065fb88
Cody Olsen chore(deps): bump eslint-plugin-react-compiler (#6791) ea7db007b8
renovate[bot] chore(deps): update dependency @sanity/icons to v3 (#6797) 63e3c32f18
Cody Olsen chore(react-compiler): up the max warnings limit (#6801) aa958054b0
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.15.11 (#6799) 42fd4bff54
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.1.14 (#6800) faa5bcfc8d
renovate[bot] fix(deps): Update dev-non-major (#6798) 6640ad41d9
Bjørge Næss refactor(core): stabilize studio usage of actions API (#6783) 112b66c4d5
sanity -

Published by bjoerge 5 months ago

Install or upgrade Sanity Studio

To initiate a new Sanity Studio project or upgrade an existing one, please refer to our comprehensive guide on Installing and Upgrading Sanity Studio.

If you are updating from a version earlier than 3.37.0, you should also check out this article to ensure your dependencies are up to date.

✨ Highlights

  • The sanity init command for Next.js-embedded Studios is updated to install next-sanity v9 and next v14 as per best practices.
  • Adds support for // @sanity-typegen-ignore comments that will ignore certain queries from type generation (thanks @largis21!).

🐛 Notable Bugfixes

  • Fixes an issue where the scheduled publishing tool is displayed as the only available plugin when no other plugins are added.
  • Adds memoization to minimize unnecessary calls to initial value functions, improving performance.
  • Removes a circular reference to usePaneRouter that caused build warnings and potential execution order issues.
  • Fixes bugs related to the Portable Text Input when using a Reference input directly as the annotation type. This change prohibits focus and unset on the root input, preventing abrupt modal closures and ensuring proper cleanup and function execution.

📓 Full changelog

Author Message Commit
renovate[bot] fix(deps): Update dev-non-major (#6659) ab0f97d227
Pedro Bonamin fix(scheduled-publishing): don't include it if it's the only plugin available (#6530) b2fa80b5b4
renovate[bot] chore(deps): update dependency @sanity/pkg-utils to v6.8.15 (#6666) 30c1f4cf4a
renovate[bot] fix(deps): update dependency groq-js to ^1.9.0 (#6655) 71a07586be
renovate[bot] chore(lockfile): update dependency @sanity/export to v3.38.0 (#6654) 1f6b8a84f4
Ash feat(sanity): use actions API when discarding drafts c1755d1f24
Ash feat(sanity): add test ids to confirm dialog buttons 73d51cb72f
Ash test(e2e): add tests for discardChanges document action 33564a27a1
renovate[bot] chore(deps): update dependency framer-motion to v11.2.0 (#6668) 673ba0c0cd
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.15.3 (#6667) 71e6319643
renovate[bot] chore(deps): update dependency esbuild to ^0.21.2 (#6656) fc799564bc
renovate[bot] chore(deps): update dependency lerna to ^8.1.3 (#6657) 7960627d45
renovate[bot] fix(deps): Update dev-non-major (#6673) 409d7dfec0
Carolina Gonzalez feat: fetch feature toggle to enable serverside document actions (#6418) 8610fc6a3a
renovate[bot] fix(deps): update dependency @sanity/client to ^6.18.2 (#6674) 4da4ae5807
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.1.8 (#6675) e8a40e2fc7
renovate[bot] chore(deps): update dependency @sanity/tsdoc to v1.0.55 (#6672) 7b5bbe7f69
renovate[bot] fix(deps): update dependency get-it to ^8.4.30 (#6676) 0715793f3e
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.15.4 (#6681) f97c3484ef
renovate[bot] fix(deps): Update dev-non-major (#6680) ab4a9e8006
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.15.5 (#6687) a61a6799d6
renovate[bot] chore(deps): update dependency framer-motion to v11.2.2 (#6689) e27e063f7f
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.1.9 (#6691) 3aa444f0c9
renovate[bot] chore(deps): update dependency recast to ^0.23.7 (#6658) 3912e82f03
renovate[bot] fix(deps): Update dev-non-major (#6690) ec179d0a9a
renovate[bot] chore(deps): update dependency @sanity/pkg-utils to v6.8.16 (#6692) 80d462016a
renovate[bot] chore(deps): update dependency @sanity/tsdoc to v1.0.59 (#6693) 1164a6b0bf
Robin Pyon feat(pte): add initialActive prop to PortableTextInput (#6638) 5add977533
Pedro Bonamin fix(schedule-publishing): avoid polling in upsell mode (#6670) 87889d19ff
Cody Olsen chore: setup dev:next-studio to use react v19 (#6685) 61d1bc3a44
renovate[bot] chore(deps): update dependency framer-motion to v11.2.3 (#6696) e6b4fdc71a
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.1.10 (#6701) af0eee486e
renovate[bot] fix(deps): Update dev-non-major (#6700) 77785ffba4
Pedro Bonamin feat(structure): add sheet list table view. (#6647) c5916d4b5b
Ash feat(sanity): memoize initial value resolver (#6614) 39bab8abf7
Cody Olsen fix: update @sanity/presentation and remove deprecated internal exports no longer in use (#6694) 69246c1d52
Cody Olsen fix: remove circular reference to usePaneRouter (#6664) d66def2a58
jordanl17 feat(structure): Sheet View columns (#6661) d8a37a862b
Christian Grøngaard fix: pin framer-motion to an earlier version (#6717) 6c2aea29f3
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.1.11 (#6720) 61cc315859
Pedro Bonamin fix(tasks): reduce tasks sidebar zoffset (#6718) 5ab0819456
renovate[bot] chore(deps): update dependency @sanity/pkg-utils to v6.8.17 (#6722) babfd2dd7e
Pedro Bonamin fix(tasks): hide footer button until the active document is set (#6695) 93c7d663d2
jordanl17 fix(structure): fixing incorrect way of setting col visibility (#6716) 06f79025c6
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.15.8 (#6724) 17ca815271
renovate[bot] chore(deps): update dependency @sanity/tsdoc to v1.0.62 (#6723) c6c1724f24
Cody Olsen feat: upgrade sanity init for Next.js to next-sanity v9 (#6644) f48e38b5f6
largis21 Add support for @sanity-typegen-ignore to ignore queries (#6578) efe8bcae60
Sindre Gulseth chore(cli): symlink in local packages for the installed sanity cli (#6728) c4b8558494
Bjørge Næss fix(i18n): remove extraneous curly brace (#6726) 74f2fd5b81
Sindre Gulseth feat(typegen): add optout for prettier formatting (#6702) ac5103a5de
sanity - v3.42.1

Published by ricokahler 5 months ago

Install or upgrade Sanity Studio

To initiate a new Sanity Studio project or upgrade an existing one, please refer to our comprehensive guide on Installing and Upgrading Sanity Studio.

If you are updating from a version earlier than 3.37.0, you should also check out this article to ensure your dependencies are up to date.

🐛 Notable bugfixes

  • Fixes regression introduced in v3.42.0 that crashes the document list pane in Presentation Tool

📓 Full changelog

Author Message Commit
Cody Olsen fix: regression crashing the document list pane in presentation (#6684) 7ae3afd32d
sanity - v3.42.0

Published by ricokahler 5 months ago

Install or upgrade Sanity Studio

To initiate a new Sanity Studio project or upgrade an existing one, please refer to our comprehensive guide on Installing and Upgrading Sanity Studio.

If you are updating from a version earlier than 3.37.0, you should also check out this article to ensure your dependencies are up to date.

✨ Highlights

Save Vision Query Results

You can now conveniently save the results of your Sanity Vision queries as JSON or CSV files. Simply run your query and click on the new "save result as" buttons in the bottom right corner.

Custom Components with Intent Handling in Structure Builder

Custom components included in the Structure Builder (like S.component(MyCustomComponent)) can now handle intents. This is especially useful for routing to custom components from global search results or other links. You can achieve this by using the canHandleIntent parameter.

S.listItem()
  .id('translate')
  .title('Translate Test')
  .child(S.component(TranslateExample).id('example')
    .canHandleIntent((intent, params, context) =>  {
      console.log(intent, params, context)
      return true
    }
  ))

🐛 Notable Bugfixes

  • Fixes an issue where Boolean inputs were not always clearly indicated as read-only and disabled.
  • Makes the search/filter in the document "Inspect" dialog case-insensitive.
  • Prevents inputs within the Portable Text Editor from calling element.onFocus() on any opened block or inline-object, thus avoiding unintended modal closures.
  • Prevents extra work on preview prepare functions, ensuring better performance.
  • Fixes miscellaneous bugs and performance issues with Portable Text Editor's block extras and highlight rendering. For example, pointer events are now correctly disabled to avoid unnecessary cursor changes or rendering thrashes.
  • Fixes an issue where the document history panel would appear to load indefinitely

📓 Full changelog

Author Message Commit
jordanl17 fix(studio): adding tooltip to read-only bool inputs (#6580) 55153acc39
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#6607) 48674b7a04
Carolina Gonzalez feat: add canHandleIntent to Structure Builder component (#6516) d3d0c0460b
Espen Hovlandsdal fix(structure): use case insensitive search for inspect dialog (#6588) 1dca6db3fe
Carolina Gonzalez test(core): await publish action to prevent test flakiness (#6609) fad16289ac
renovate[bot] fix(deps): update dependency get-it to ^8.4.29 (#6603) cc08614d4e
renovate[bot] fix(deps): update dependency @sanity/client to ^6.18.0 (#6604) c2b143eb5f
Rostislav Melkumyan feat(vision): add "save result as json/csv" buttons (#6158) 14be9b6e79
Per-Kristian Nordnes fix(core/form): prevent onFocus for root object paths being called by editing form (#6610) 516ada5d23
jordanl17 feat(core, structure) sheet list menu option (#6593) 724da99b20
Binoy Patel chore(bundle): remove unnecessary bundles and make root imports index (#6616) 5f0227cc6d
Robin Pyon feat(pte): add hideToolbar and fullscreen props to PortableTextInput (#6621) 800149f60a
Robin Pyon fix(pte): don't render the PTE block extras container when not in use, disable pointer events on highlights (#6620) 4c73ded0a5
Evensix skip recalling invokePrepare (#6608) 2729437450
Bjørge Næss fix(core): update test snapshots (#6629) 20b66b1292
Bjørge Næss fix(e2e): support headless/headful env var toggle (#6558) 92260a423d
Robin Pyon feat: add icon to BlockStyleDefinition (#6613) 2e69eeed1c
Robin Pyon feat(pte): initial support for renderEditable in portable text inputs (#6627) 1d0fd3e929
Binoy Patel chore(ci): add a circleci config to bundle packages (#6446) f4c7cfe24a
renovate[bot] chore(lockfile): update dependency esbuild to v0.21.2 (#6602) b63af702c3
Pedro Bonamin fix(pte): cursor presence causes pte error (#6622) b13fff4969
Robin Pyon feat(pte): expose data-attributes on PTE Text + Object blocks (#6641) fceff236c6
renovate[bot] chore(deps): update dependency @sanity/pkg-utils to v6.8.14 (#6630) dd5cc7d8ce
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.1.7 (#6633) 34b4754a53
renovate[bot] chore(deps): update dependency @sanity/tsdoc to v1.0.53 (#6631) f58a005c8b
Cody Olsen chore(ci): tweak renovate preset to better align with branch rulesets (#6648) ef39982b52
renovate[bot] chore(deps): update dependency styled-components to ^6.1.11 (#6636) 55ab489b94
Cody Olsen refactor(renovate): group non major dev deps (#6652) 1812de60d1
renovate[bot] fix(deps): update dependency @sanity/client to ^6.18.1 (#6653) 083960f5e3
Binoy Patel fix(core): fixes issue with history loading indefinitely (#6539) 52a5308211
Sindre Gulseth fix(typegen): move type new line separator into formatter (#6649) 109a1805d1
Sindre Gulseth chore(schemaExtraction): add a newline to the extracted schema.json (#6650) 4beb29e14c
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#6662) c7ad47b689
sanity - v3.41.2

Published by ricokahler 5 months ago

Install or upgrade Sanity Studio

To initiate a new Sanity Studio project or upgrade an existing one, please refer to our comprehensive guide on Installing and Upgrading Sanity Studio.

If you are updating from a version earlier than 3.37.0, you should also check out this article to ensure your dependencies are up to date.

🐛 Notable bugfixes

  • Resolves a Maximum update depth exceeded crash in Presentation Tool.

📓 Full changelog

Author Message Commit
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.15.2 (#6632) 43823f6a5e
sanity - v3.41.1

Published by juice49 5 months ago

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npm create sanity@latest

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

npm install sanity@latest

🐛 Notable bugfixes

  • Fixes a regression in Presentation Tool introduced in v3.41.0 that causes it to crash in embedded studios.

📓 Full changelog

Author Message Commit
Binoy Patel test(core): fixes flaky test with document publish (#6595) 2a8375adcc
renovate[bot] chore(deps): update linters (#6590) 59b8ce8084
renovate[bot] chore(deps): update dependency styled-components to ^6.1.10 (#6585) 5e727e0425
renovate[bot] chore(lockfile): update dependency zod to v3.23.7 (#6527) 571dd5653d
renovate[bot] chore(deps): update dependency @sanity/pkg-utils to v6.8.13 (#6599) d9f91889b5
renovate[bot] chore(deps): update dependency @sanity/tsdoc to v1.0.51 (#6600) 56a8a79797
renovate[bot] chore(lockfile): update dependency @sanity/react-loader to v1.9.17 (#6584) 0819c40960
Cody Olsen fix(presentation): regression causing a crash when in an embedded studio (#6606) 99dfb60105
sanity - v3.41.0

Published by juice49 6 months ago

Install or upgrade Sanity Studio

To initiate a new Sanity Studio project or upgrade an existing one, please refer to our comprehensive guide on Installing and Upgrading Sanity Studio.

If you are updating from a version earlier than 3.37.0, you should also check out this article to ensure your dependencies are up to date.

✨ Highlights

  • The Portable Text Editor (PTE) now supports drag-n-dropping + pasting of images and files into Image and File blocks.

🐛 Notable bugfixes

  • Fixes a bug where importing a variable inside an imported file would fail in Typegen.
  • Fixes issues in the PTE where tools would show as being active for a selection when only part of the selection used the tool. Now tools will show as active only when all highlighted selections use the tool.
  • Fixes an Attempted import error related to using swr in embedded studios.
  • Fixes an issue in which listeners would sometimes not close if they were unsubscribed from shortly after opening.
  • Fixes an issue in which users were incorrectly seeing the scheduled publishing upsell UI.
  • When child within the PTE is created without a _key, we now automatically create one for it, avoiding unnecessary warning.
  • Fixes an issue in tasks in which the UI showed that they were created but the transaction didn't end.

📓 Full changelog

Author Message Commit
Herman Wikner feat(comments): add telemetry (#6541) 2d35256a22
Sindre Gulseth fix(typegen): pass resolved path instead of the imported path (#6540) e7ffe9332c
Cody Olsen fix: use vercelStegaClean util from @vercel/stega (#6544) 790bc8f07e
Pedro Bonamin fix(pte): preserve block key when pressing enter at start of block (#6521) 7df53960d8
Ash fix(sanity): do not order by _updatedAt when relevance ordering is used with Text Search API search strategy (#6537) 0ede4cf3f8
Pedro Bonamin chore(test-studio): bump vercel stega version (#6545) 96f3841194
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#6547) ad28225e20
renovate[bot] fix(deps): update dependency @sanity/client to ^6.16.0 (#6548) 35b19c2117
Tommy Petty chore(i18n): fix imports for useTranslation (#6517) 869b69889b
jordanl17 fix(pte): tools are active only when all blocks use the tool (#6524) 169e5fd18f
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.8.17 (#6551) 24f97ab4b4
Binoy Patel chore: package build (#6394) 5a889fc199
Rico Kahler fix: remove unconditional external from vite build (#6554) f1e9546c63
Cody Olsen fix: inline swr, date-fns-tz and @vvo/tzdb to restore embedded studios (#6553) 9a50252a97
renovate[bot] chore(deps): update dependency @sanity/pkg-utils to v6.8.10 (#6549) f8f1b47f08
renovate[bot] chore(deps): update dependency @vercel/stega to v0.1.2 (#6546) 6a2cdda37c
Bjørge Næss fix(deps): replace hashlru with quicklru (#6557) d634727876
Espen Hovlandsdal chore(deps): update dependency @sanity/client to v6.17.1 (#6561) 7dd2d849bc
Cody Olsen fix: remove cleanStegaUnicode helper (#6564) 2e224d4fc1
renovate[bot] fix(deps): update dependency @sanity/client to ^6.17.2 (#6567) 154d90ba10
shur feat: add cliInitializedAt field to project metadata (#6538) 15486f7f46
Pedro Bonamin fix(schedule-publishing): update flag used to check scheduledPublishing (#6543) 57fcbac404
renovate[bot] chore(deps): update dependency @sanity/tsdoc to v1.0.47 (#6550) 25cbd4e9a5
renovate[bot] chore(deps): update dependency @sanity/pkg-utils to v6.8.11 (#6573) b31a151453
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.8.18 (#6574) 77654c1420
Herman Wikner fix(core): collapsed range decorations (#6568) 70ab283686
Pedro Bonamin chore(scheduled-publishing): update schedule tool upsell layout (#6572) 295ea7219e
Pedro Bonamin fix(tasks): update tasks panel z index (#6571) 3b3125c456
Pedro Bonamin feat(pte): create new text blocks if needed (#6560) cadd496f2a
RitaDias refactor(@sanity): remove warning for when child within PTE has no key (#6565) e1fc2a07b3
Binoy Patel test(core): add test that only one listener is open when navigating list (#6569) 161b9269b5
renovate[bot] fix(deps): update dependency get-it to ^8.4.28 (#6576) 47ef785957
Pedro Bonamin fix(tasks): close the form only after the task is created (#6450) e089eb7c09
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.1.6 (#6575) 48321e638d
Fred Carlsen feat(form/inputs): add support for image drop+paste in PTE input (#6534) e964b1e9c2
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.14.0 (#6577) 081239070e
renovate[bot] chore(deps): update dependency vite to ^4.5.3 (#6583) ed5aca87df
Carolina Gonzalez fix: use discard when doc is not published (#6535) 9c86166ee6
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.15.0 (#6591) 1d88df6a7d
renovate[bot] chore(deps): update dependency esbuild to ^0.21.0 (#6589) fada62faeb
Pedro Bonamin fix(pte): insert empty text block after removing void block (#6552) 379510f1d4
Binoy Patel test(core, desk): add tests for keyvalue storage (#6587) ab94beaeda
sanity - v3.40.0

Published by binoy14 6 months ago

Install or upgrade Sanity Studio

To initiate a new Sanity Studio project or upgrade an existing one, please refer to our comprehensive guide on Installing and Upgrading Sanity Studio.

If you are updating from a version earlier than 3.37.0, you should also check out this article to ensure your dependencies are up to date.

✨ Highlights

Presence cursors in the Portable Text Editor

Sanity Studio has always supported real-time collaboration, but you have yet to be able to see where others are working within the Portable Text Editor. By upgrading, you'll get a similar experience to Google Docs when editing block content.

This release also includes bug fixes for the Portable Text Editor:

  • The Portable Text Editor will now remove the invisible Stega-encoded characters if you copy-paste from a preview using Visual Editing
  • The cursor will not move out of viewpoint when deleting a character in PTE.
  • Creating an annotation at the bottom of a PTE will no longer scroll you to the top.
  • Fixes an issue where changing positions of items of an array within PTE would launch a cryptic error

Comments and Tasks are now out of beta

Comments and Tasks are now officially out of beta; hence, we have updated the configuration APIs. Both comments and tasks are enabled by default and for all document types.

Comments configuration migration

Configuration during beta:

// ./sanity.config.ts|js

export default defineConfig({
  // ... rest of config
  document: {
    unstable_comments: {
      enabled: false,
    },
  },
});

New configuration (remove unstable_):

// ./sanity.config.ts|js

export default defineConfig({
  // ... rest of config
  document: {
-   unstable_comments: {
+   comments: {
      enabled: false,
    },
  },
});

Tasks configuration migration

Configuration during beta:

// ./sanity.config.ts|js

export default defineConfig({
  // ... rest of config
  unstable_tasks: { enabled: false },
})

New configuration (remove unstable_):

// ./sanity.config.ts|js

export default defineConfig({
  // ... rest of config
- unstable_tasks: { enabled: false },
+ tasks: { enabled: false },
})

Sanity TypeGen improvements

Thanks for all the feedback about Sanity TypeGen so far! This release ships several improvements and bug fixes:

  • Sanity Typegen now supports count in GROQ projections
  • TypeGen code (sanity.types.ts) is now formatted when a project has a Prettier configuration
  • The TypeGen search path now includes src, app, and sanity folders by default
  • Various bug fixes for type generation
  • Fixes an issue where typegen command would fail on relative imports
  • Fixes a bug where we could not extract or validate schema when the sanity-plugin-mux-input plugin was installed.

Do continue to give us feedback in #typescript in the community!

🐛 Notable bugfixes

  • Fixes ambiguous aria-labels on some Status buttons
  • Fixes issue with inline text comments that would include an inline object.
  • Fixes toast message for document duplicate action

📓 Full changelog

Author Message Commit
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#6463) a2faad2759
renovate[bot] chore(deps): update dependency @sanity/pkg-utils to v6.8.4 (#6460) 34a1ae618b
Sindre Gulseth fix(cli): mock matchMedia window function (#6472) ea715e8fd8
Bjørge Næss chore: add perf runner to workspace (#6427) 9af065aa98
Sindre Gulseth fix(typegen): fixes a bug where we imported the wrong relative path (#6457) e1bd1f0de2
renovate[bot] chore(deps): update dependency @sanity/tsdoc to v1.0.39 (#6464) f6af6369d5
Sindre Gulseth feat(typegen): also search for queries in app and sanity folders (#6475) 03cbb12cf8
Sindre Gulseth chore: upgrade groq-js (#6474) 68bb282a0d
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#6476) 076b2fc6de
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.8.15 (#6465) 2f7674c052
renovate[bot] chore(lockfile): update dependency @sanity/react-loader to v1.9.14 (#6466) 9887e7c599
renovate[bot] chore(lockfile): update dependency date-fns-tz to v2.0.1 (#6467) 14b4365894
renovate[bot] chore(lockfile): update dependency i18next to v23.11.2 (#6468) 3fcfa42a71
renovate[bot] chore(lockfile): update dependency zod to v3.23.4 (#6470) bef170b3bf
renovate[bot] chore(lockfile): update dependency next to v14.2.2 (#6469) cb957a608f
renovate[bot] chore(lockfile): update dependency react-focus-lock to v2.12.1 (#6471) 05a019a648
renovate[bot] chore(deps): update dependency @sanity/pkg-utils to v6.8.6 (#6482) c903cde72f
renovate[bot] chore(deps): update react monorepo (#6484) 3c8a3292b1
renovate[bot] chore(deps): update dependency @sanity/tsdoc to v1.0.40 (#6483) 0163210c94
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.12.8 (#6485) 05aad5c0b7
renovate[bot] chore(deps): update react monorepo to ^18.3.0 (#6490) 144bb21a75
renovate[bot] chore(lockfile): update dependency @types/react-is to v18.3.0 (#6491) 2225589451
Cody Olsen chore: setup next test that embeds the test studio (#6487) edefb66bda
Bjørge Næss fix(test): remove hydrateroot warning test (#6494) d50a0f19db
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#6493) c1f9071d68
Rostislav Melkumyan feat: set print width to 40 (#6068) 2e24fcdfa7
renovate[bot] chore(deps): update dependency @sanity/pkg-utils to v6.8.7 (#6496) 2b840babd9
renovate[bot] chore(deps): update dependency turbo to ^1.13.3 (#6497) fc80d2b9eb
renovate[bot] chore(lockfile): update dependency @sanity/logos to v2.1.11 (#6498) 69b3c642fa
renovate[bot] chore(lockfile): update dependency @sanity/react-loader to v1.9.15 (#6499) c8b1d5e323
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.8.16 (#6500) 2dff2bdc78
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.12.10 (#6501) 06ef31d64f
Herman Wikner feat(core): implement presence cursors (#6081) 1522806aa3
renovate[bot] fix(deps): Update react monorepo (#6502) fa9d145dd4
Espen Hovlandsdal chore(lint): add certain unicorn eslint rules (#6352) ba8397104f
Espen Hovlandsdal test: increase timeout for cross-dataset reference test afea9cfb3f
Espen Hovlandsdal chore: fix incorrect path used in workshop story 61daf0cbf9
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#6506) 6486e342f1
RitaDias fix(structure): uncaught error while swapping images in array in PTE (#6399) c9bfc3127f
renovate[bot] chore(deps): update dependency @types/react to v18.3.1 (#6507) 311d722aea
Nina Andal Aarvik fix(core): change scrollintoview block to be nearest (#6328) 509757c654
Nina Andal Aarvik fix(core): set scroll boundary to nearest (#6310) 0dae0da8d1
RitaDias fix(@sanity): issue where hidden unicode characters were bloating document in PTE (#6440) ffa68ec009
Per-Kristian Nordnes chore: add codeowners to block-tools 479e71fe31
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#6508) ff26edd30b
renovate[bot] chore(deps): update dependency @sanity/pkg-utils to v6.8.8 (#6509) 4bb667de3a
cngonzalez feat: use prefersLatestPublished parameter in DocumentPaneProvider (#6486) 3da55ae532
cngonzalez fix: prevent looping requests to keyvalue in recent searches (#6480) 232385ecf5
Binoy Patel feat(singletons): add a singleton package exports 884fca1bd6
Binoy Patel feat(singletons): add eslint rule for boundaries bfd9a30ecf
Binoy Patel refactor(core): move ConnectorContext to singletons 3008a1c518
Binoy Patel refactor(core): move PreviewCardContext to singletons 30cc592ff1
Binoy Patel refactor(core): move scrollContext to singletons 5ca1b0076f
Binoy Patel refactor(core): move ZIndexContext to singletons d1a1d40367
Binoy Patel refactor(core): move DiffContext to singletons ef08d0a1ed
Binoy Patel refactor(core): move DocumentChangeContext to singletons 0509e58a27
Binoy Patel refactor(core): move FormBuilderContext to singletons 0f9cf43d17
Binoy Patel refactor(core): move DocumentIdContext to singletons 79343e4822
Binoy Patel refactor(core): move FormValueContext to singletons 2b46b43043
Binoy Patel refactor(core): move GetFormValueContext to singletons 3dc7e62f66
Binoy Patel refactor(core): move HoveredFieldContext to singletons dbedca6092
Binoy Patel refactor(core): move FieldActionsContext to singletons c7374f729b
Binoy Patel refactor(core): move VirtualizerScrollInstanceContext to singletons 372774e7f4
Binoy Patel refactor(core): move SortableItemIdContext to singletons ffea136ff0
Binoy Patel refactor(core): move PortableTextMarkersContext to singletons ed8f3187ba
Binoy Patel refactor(core): move PortableTextMemberItemsContext to singletons 63256293e8
Binoy Patel refactor(core): move ReferenceItemRefContext to singletons a25a30bf91
Binoy Patel refactor(core): move DocumentFieldActionsContext to singletons 6f08a7deb5
Binoy Patel refactor(core): move FormCallbacksContext to singletons 2518910a33
Binoy Patel refactor(core): move PresenceContext to singletons 6a02f80819
Binoy Patel refactor(core): move ReferenceInputOptionsContext to singletons 19311e4670
Binoy Patel refactor(core): move ValidationContext to singletons cab8131c4a
Binoy Patel refactor(core): move ReviewChangesContext to singletons 79e4bfa9cc
Binoy Patel refactor(core): move LocaleContext to singletons d614474814
Binoy Patel refactor(core): move FormFieldPresenceContext to singletons 16d87a1cba
Binoy Patel refactor(core): move ResourceCacheContext to singletons b64d78919d
Binoy Patel refactor(core): move ColorSchemeValueContext to singletons 23e50fbe26
Binoy Patel refactor(core): move ColorSchemeSetValueContext to singletons 5db6f24275
Binoy Patel refactor(core): move SourceContext to singletons 896ed1e9cb
Binoy Patel refactor(core): move WorkspaceContext to singletons 96e1bb745c
Binoy Patel refactor(core): move NavbarContext to singletons 2601315c7d
Binoy Patel refactor(core): move ActiveWorkspaceMatcherContext to singletons 2ac5f1b144
Binoy Patel refactor(core): move AddonDatasetContext to singletons b1e2f605ba
Binoy Patel refactor(core): move FreeTrialContext to singletons fd7dca32ca
Binoy Patel refactor(core): move CalendarContext to singletons 0f0d13fdbd
Binoy Patel refactor(core): move SearchContext to singletons b4a8f3b3ee
Binoy Patel refactor(core): move RouterHistoryContext to singletons dbf67a8f92
Binoy Patel refactor(singletons): revert exporting free trial types on sanity 198df7072f
Binoy Patel refactor(core): move WorkspacesContext to singletons 7e3775dc4f
Binoy Patel refactor(core): move UserColorManagerContext to singletons 548952e1ab
Binoy Patel fix(singletons): fix build issues and move CalendarContext interface back b3de008a42
Binoy Patel refactor(router): move RouterContext to singletons 56dd5be1b5
Binoy Patel refactor(structure): move StructureToolContext to singletons d385839488
Binoy Patel refactor(structure): move PaneContext to singletons bef2ba2fb4
Binoy Patel refactor(structure): move DocumentPaneContext to singletons 73cbcd1dfb
Binoy Patel fix(singletons): use relative path for StructureToolContextValue type 30204c7c31
Binoy Patel refactor(structure): move CommentInputContext to singletons 624709335d
Binoy Patel refactor(structure): move CommentsAuthoringPathContext to singletons 6555ffcde3
Binoy Patel refactor(structure): move CommentsContext to singletons 94950b7ee3
Binoy Patel refactor(structure): move CommentsEnabledContext to singeltons 8780274af3
Binoy Patel refactor(structure): move comments contexts to singletons fd327eebcb
Binoy Patel refactor(structure): move PaneLayoutContext to singletons 569c0f90e3
Binoy Patel refactor(structure): move PaneRouterContext to singletons e765a472f8
Binoy Patel fix(structure): expose PaneRouterContext from structure ab835d9fd2
Binoy Patel refactor(tasks): move TasksEnabledContext to singletons 453d260a42
Binoy Patel refactor(tasks): move MentionUserContext to singletons 924f5b0a4c
Binoy Patel refactor(tasks): move TasksNavigationContext to singletons 2bb6668ae8
Binoy Patel refactor(tasks): move TasksContext to singletons 9a8ed79b20
Binoy Patel fix: build after pkg-utils@5 upgrade c3b756b527
Binoy Patel refactor(tasks): move TasksUpsellContext to singletons b422fabcf0
Binoy Patel chore(lint): only allow relative type imports in singeltons 8e3dc30180
Binoy Patel chore(lint): update eslint to be specific about imports 932f4595ea
Binoy Patel refactor(singletons): use relative type imports a57e70c9fc
Binoy Patel refactor(singletons): move core context to core folder f62078c972
Binoy Patel fix(core): export AddonDataSetContext from singletons 970cf7d794
Binoy Patel chore(core): remove AddonDatasetContext exports f29d0ddc83
Binoy Patel fix(build): add missing legacy exports and types information 2053b1fd00
Binoy Patel fix: fix linting and type errors after rebase c0932461b0
Binoy Patel refactor(singletons): move tasks to core bfcdc44e05
Binoy Patel fix(router): expose RouterContext from sanity/router 7eeda3bf01
Binoy Patel refactor(tasks): move isLastPane context to singletons 968ae8558a
Binoy Patel chore: add _singletons to tsconfig paths 684bb8af0c
Binoy Patel refactor(schedule-publishing): move DocumentActionPropsContext to singletons dab96b5ca2
Binoy Patel refactor(scheduled-publishing): move ScheduledPublishingEnabledContext to singletons 00fc838c5b
Binoy Patel refactor(scheduled-publishing): move SchedulePublishUpsellContext to singletons 21646661c1
Binoy Patel refactor(scheduled-publishing): move SchedulesContext to singletons d946d30e74
Binoy Patel fix: next studio build 52bcbda69a
Binoy Patel chore: add eslint rule for disabling createContext outside _singletons (#6349) d79f363aa4
Herman Wikner fix(comments): inline comment creation issue in Safari (#6510) 3b4a7e6523
Herman Wikner fix(core): skip reset presence selection on PTE blur (#6511) f0c94f1e6e
Pedro Bonamin fix(scheduled-publishing): deprecated error toast shows multiple times (#6513) 21d5b32261
Sindre Gulseth chore(typegen): track empty union type nodes generated (#6495) 124be88b10
Espen Hovlandsdal chore(deps): upgrade to react 18.3.1 (#6505) 9e2cf1557a
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#6515) cc106e4dff
jordanl17 fix: statusButton requires provided aria-label (#6430) 06c67fc6cd
renovate[bot] chore(deps): update dependency @sanity/tsdoc to v1.0.41 (#6518) 7876a0a806
renovate[bot] chore(lockfile): update dependency @sanity/react-loader to v1.9.16 (#6519) e618da3bb1
RitaDias chore(sanity): remove beta and unstable from comments and tasks (#6478) f92ba3e0fd
renovate[bot] chore(deps): update pnpm to v8.15.8 (#6526) 098267389a
renovate[bot] chore(deps): update dependency @sanity/pkg-utils to v6.8.9 (#6525) bc85a3d9e3
Nina Andal Aarvik fix(structure): add string for duplicate event (#6523) f51b1577c7
renovate[bot] chore(lockfile): update dependency @babel/preset-env to v7.24.5 (#6528) dbb26b7558
Per-Kristian Nordnes fix(portable-text-editor): fix issue where decoration on inline object would cause freeze (#6531) f03f6ebd62
renovate[bot] chore(deps): update dependency @sanity/tsdoc to v1.0.42 (#6529) c893c77e52
Per-Kristian Nordnes fix(portable-text-editor): fix issue where decoration would not target correctly (#6532) 251d592265
sanity - v3.39.1

Published by rexxars 6 months ago

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npm create sanity@latest

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

npm install sanity@latest

🐛 Notable bugfixes

  • Disables the new search API introduced in v3.38.0 due to a few discovered issues. We'll re-enable it in a future release.
  • Fixes an issue when using the "movie database" template when running npm create sanity

📓 Full changelog

Author Message Commit
Espen Hovlandsdal fix(cli): remove comments from moviedb template, hide location field (#6488) 80f8daf5ad
Espen Hovlandsdal fix(search): revert to old search API for now (#6503) 8a08212686
sanity - v3.39.0

Published by cngonzalez 6 months ago

Install or upgrade Sanity Studio

To initiate a new Sanity Studio project or upgrade an existing one, please refer to our comprehensive guide on Installing and Upgrading Sanity Studio.

If you are updating from a version earlier than 3.37.0, you should also check out this article to ensure your dependencies are up to date.

✨ Highlights

Scheduled Publishing is now part of the core Sanity Studio package

The Scheduled Publishing feature, which up until this release has been available as a plugin for Sanity Studio, has been moved into the core sanity package and enabled by default. Scheduled Publishing is available on all paid plans and trials.

If you wish to opt out of Scheduled Publishing, you can do so in your Studio configuration:

// sanity.config.ts 
export default defineConfig({ 
   // ....
   scheduledPublishing: {
       enabled: false, 
     }
  )

Go to docs and feature announcement blog post to learn more.

Migrating from the Scheduled Publishing plugin to the new built-in configuration:

If you are already using Scheduled Publishing plugin, the first step is to get rid of it and update your studio to the latest release. If you already updated your studio you might have gotten an alert about this.

Run the following command in your project root to uninstall the plugin:

npm uninstall @sanity/scheduled-publishing

Next, remove the plugin from your studio configuration. Typically you'll find this in ./sanity.config.ts|js. Find the scheduledPublishing plugin and do the following changes in your configuration file:

Before:

// sanity.config.ts
import {scheduledPublishing} from '@sanity/scheduled-publishing'

export default defineConfig({
    //....
    plugins: [
      scheduledPublishing({
        // e.g. 12/25/2024 6:30 AM
        inputDateTimeFormat: 'MM/dd/yyyy h:mm a',
      })
    ]
})

After:

-  import {scheduledPublishing} from '@sanity/scheduled-publishing'


export default defineConfig({ 
    // ...
    plugins: [
-     scheduledPublishing({
-       inputDateTimeFormat: 'MM/dd/yyyy h:mm a',
-     })
    ],
+   scheduledPublishing: {
+       enabled: true,
+       inputDateTimeFormat: 'MM/dd/yyyy h:mm a',
+   }
})

🐛 Notable bugfixes

  • Fixes a bug that caused negations to be transformed to wildcard search prefixes if they appeared at the end of a search query.
  • Improves error handling when attempting to run a migration against invalid project configurations.
  • Fixes an issue where a document's validation panel would show a system error message when a field with a validation error was deleted.
  • Fixes a bug that caused _type to be incorrectly parsed from statements in the filter parameter of document lists.
  • Fixes an issue that sometimes caused the Studio to load indefinitely when visited from a task notification email.
Author Message Commit
cngonzalez fix: refactor checkoutPair to allow mutations for liveEdit documents (#6393) f6ae4028b4
Ash fix(core): prevent transformation of negation tokens into wildcard prefix tokens (#6396) f28ef7e094
Bjørge Næss fix(migrate): forward possible API error response to error thrown for non 2xx (#6387) 9316475346
Rico Kahler refactor(tasks, comments): core plugins (#6333) 3c917d22e0
renovate[bot] chore(deps): update dependency @sanity/tsdoc to v1.0.34 (#6402) 5fc277588d
renovate[bot] chore(lockfile): update dependency @sanity/react-loader to v1.9.12 (#6405) d3e924e26d
renovate[bot] chore(lockfile): update dependency @sanity/preview-url-secret to v1.6.9 (#6404) 4c6f1e2fef
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.8.12 (#6403) 6802d29bb2
renovate[bot] fix(deps): update dependency @sanity/client to ^6.15.17 (#6406) 82e505fc8c
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.12.5 (#6407) 98bb2338b0
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.1.4 (#6408) 59cad0b923
renovate[bot] fix(deps): update dependency get-it to ^8.4.26 (#6409) 159f5428e5
renovate[bot] chore(deps): update dependency @sanity/pkg-utils to v6.7.1 (#6410) e5252e17d6
Pedro Bonamin fix(codeowners): update codeowners for tasks and comments (#6414) d286050dda
Rico Kahler test: add sanity-plugin-hotspot-array (#6401) d591b18fda
Binoy Patel fix: TS import paths importing index.ts twice incorrectly (#6415) 6066e9287e
Pedro Bonamin fix(tasks): update tasks upsell provider client version (#6413) 61a887c018
renovate[bot] chore(deps): update dependency @sanity/pkg-utils to v6.8.0 (#6421) 72e34f8a80
renovate[bot] chore(lockfile): update dependency zod to v3.22.5 (#6420) 5c7352cf76
Cody Olsen refactor: use @sanity/prettier-config (#6423) e75e390e61
renovate[bot] chore(deps): update dependency recast to ^0.23.6 (#6422) 2b30eb6edd
Bjørge Næss chore: turn server actions on by default in test-studio (#6425) dd61ead1bd
RitaDias fix(@sanity): issue where hidden unicode characters were bloating document in PTE (#6424) ce460775e7
Per-Kristian Nordnes Revert "fix(@sanity): issue where hidden unicode characters were bloating document in PTE (#6424)" cac48bb7f2
Per-Kristian Nordnes fix(portable-text-editor): support collapsed range decorations (#6428) 2d02d62599
renovate[bot] fix(deps): update dependency get-it to ^8.4.27 (#6434) 5fb7ddf1b5
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.8.13 (#6432) f4e482d338
renovate[bot] fix(deps): update dependency @sanity/client to ^6.15.19 (#6433) 4e32715c39
renovate[bot] chore(deps): update dependency @sanity/pkg-utils to v6.8.1 (#6431) 26b8c76c3b
renovate[bot] chore(lockfile): update dependency @sanity/react-loader to v1.9.13 (#6436) 846cf688fb
renovate[bot] chore(lockfile): update dependency @sanity/preview-url-secret to v1.6.10 (#6435) 7b20162ca8
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.12.6 (#6437) 3eb44db1a4
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.8.14 (#6438) 177b4b5d46
renovate[bot] chore(deps): update dependency @sanity/tsdoc to v1.0.36 (#6444) 8f05301699
renovate[bot] chore(deps): update peter-evans/create-pull-request digest to 9153d83 (#6443) 035c59d562
Tommy Petty fix(structure): update to not crash validation panel if unable to get path title (#6417) d5f8fb6799
renovate[bot] chore(lockfile): update dependency @sanity/eventsource to v5.0.2 (#6445) b8f366601d
Herman Wikner fix(comments): conditional rendering of CommentsProvider (#6412) 379396e63e
Per-Kristian Nordnes perf(portable-text-editor): improve range deocration render perf (#6441) c9b1ebb461
Rico Kahler fix(structure): resolve static types in document list filters (#6439) 048ce0b98b
Rico Kahler fix(core): fix autocomplete for defineType in VSCode (#6447) 3ff78f6d73
Ash test(e2e): fix unawaited assertion (#6442) 37b6291f69
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.12.7 (#6448) f9634f42c1
Pedro Bonamin fix(tasks): update taskURL for notification target (#6395) 7c8cebf37d
Sindre Gulseth fix(typegen): fixes a case where we track ratio as NaN (#6309) b0f405e292
renovate[bot] fix(deps): update dependency @sanity/client to ^6.15.20 (#6461) d7f1067718
Cody Olsen chore: remove _internalBrowser from typesVersions (#6451) c1f1fdf946
Rico Kahler chore(deps): bump @sanity/export (#6462) 348a3a996d
Pedro Bonamin feat(scheduled-publishing): move scheduled publishing into core. (#6416) a6fc5af0d2
sanity - v3.38.0

Published by ricokahler 6 months ago

Installation and upgrading

Install

To initiate a new Studio without installing the CLI globally:

npm create sanity@latest

Upgrade

In most cases upgrading your studio is as straight-forward as installing the latest version:

npm install sanity@latest

For more information, visit the article on upgrading Sanity Studio in the docs.

If you are upgrading from a version earlier than 3.37.0, you also need to upgrade styled-components and @sanity/ui. To learn more, visit this help article on keeping dependencies up to date.

✨ Highlights

  • Improved global search with better performance and new features.
  • Custom styles are now displayed in the Portable Text Editor (PTE) style selector.

Enhanced Global Search

We've optimized the search functionality in the Studio for increased performance, especially in workspaces with large schemas. This improvement includes support for wildcard (*) and negation (-) tokens in search queries, allowing for more flexible and powerful search options. This enhanced search feature uses an internal API that is not yet documented for public use.

If you need to revert to the previous search behavior for any reason, you can disable the new search functionality by setting search.enableLegacySearch to true in your configuration.

🐛 Notable bugfixes

  • Fixes a crash in the image hotspot and cropping tool within Next.js embedded Studios.
  • Improves focus handling in PTE and the document pane.
  • Fixes an edge case where PTE threw exceptions after resizing the validation panel.
  • Fixes issue where annotations in PTE would incorrectly retain markup if all fields were null.
  • Resolves an issue where custom sort orders, or sort orders in lists that are not documentTypeLists, would send invalid requests to the persistent user settings backend.
  • Fixes regression that hid tool buttons when Sanity Studio was embedded in Next.js applications.
  • Fixes a bug where the caret was not visible on code-formatted text within the PTE when using the dark scheme.
  • Fixes an issue where the component for custom PTE styles was not being rendered in the style selector.
  • Fixes an issue where copying strikethrough text from a google doc would remove the strikethrough once pasted in the PTE.
  • Fixes tooltip text for the publish button to correctly display "yesterday" without the "ago" suffix when appropriate.

📓 Full changelog

Author Message Commit
Nina Andal Aarvik fix(structure): remove 'ago' suffix when published time was yesterday (#6137) 66495e5a4f
Cody Olsen chore: fix pnpm dev by bumping @sanity/assist (#6306) a87ea4e906
cngonzalez fix: resolve PTE inconsistency by passing serverActionsEnabled to documentEvents (#6299) 4123260b10
Espen Hovlandsdal chore: move @sanity/export out of monorepo (#6314) 331e46cdf4
renovate[bot] chore(lockfile): update dependency @sanity/assist to v3.0.3 (#6316) 8941037150
renovate[bot] chore(deps): update dependency @sanity/tsdoc to v1.0.22 (#6315) 87c627d0ac
renovate[bot] chore(deps): update dependency typescript to v5.4.5 (#6318) 166a7c6ea0
Cody Olsen chore: support IDE's using older TypeScript versions on the monorepo (#6308) a4e097fed7
Herman Wikner fix(core): hidden caret on code formatted text (#6307) 1c8cff0281
shur fix: update TelemetryUserProperties to use machinePlatform instead of platform (#6312) bc6be952b7
Cody Olsen chore(deps): bump @sanity/pkg-utils & simplify build scripts (#6319) 2dd907ab97
Nina Andal Aarvik fix(structure): remove padding prop in contextMenuButton (#6097) b3860edbb9
renovate[bot] fix(deps): update dependency get-it to ^8.4.19 (#6325) a7755ac805
Cody Olsen chore: improve test output of test:exports (#6304) 090c45dc89
renovate[bot] chore(lockfile): update dependency mendoza to v3.0.7 (#6324) 4d1f1ba7d1
renovate[bot] chore(deps): update dependency @portabletext/toolkit to ^2.0.15 (#6322) 093ab19958
renovate[bot] chore(deps): update dependency @sanity/tsdoc to v1.0.23 (#6329) b1773b9324
renovate[bot] fix(deps): update dependency @sanity/client to ^6.15.13 (#6331) 2c4671a37f
Binoy Patel chore: fix start-studio build (#6336) e6c2d11831
cngonzalez fix: use pane key in settings for document lists that do not have types available (#6335) 57749e5e3c
Espen Hovlandsdal chore: move @sanity/import out of monorepo (#6313) 9ea56b9c3d
Espen Hovlandsdal chore: use node: prefix for node module imports (#6321) 433a7aa74a
Cody Olsen fix: regression hiding tool buttons when embedded on Next.js (#6338) d30cfd9509
renovate[bot] fix(deps): update dependency get-it to ^8.4.21 (#6332) 98626ec214
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.8.8 (#6330) 89409bde2b
renovate[bot] chore(deps): update dependency @sanity/pkg-utils to v6.6.1 (#6342) f772f88e20
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.1.3 (#6344) e5c763aa5a
renovate[bot] chore(deps): update dependency @sanity/tsdoc to v1.0.26 (#6341) d986c31362
Tommy Petty fix(pte): fix an issue where when PTE throws exception after resize (#6152) cf75a0b7fc
Tommy Petty fix(cli): add note about webhooks in migration run command (#6112) 9baf4069b6
Binoy Patel chore: remove * as React imports (#6350) 04a68cf642
Espen Hovlandsdal refactor(cli): use fs methods for reading package.json files (#6351) 0339647f1d
renovate[bot] chore(deps): update react monorepo (#6353) 3e03e1bfe4
renovate[bot] chore(deps): update dependency @sanity/pkg-utils to v6.6.3 (#6354) a27604da27
renovate[bot] chore(deps): update dependency @sanity/tsdoc to v1.0.29 (#6356) 6f7d186340
renovate[bot] chore(deps): update dependency prettier-plugin-packagejson to ^2.5.0 (#6357) a380e49e48
renovate[bot] fix(deps): update dependency get-it to ^8.4.23 (#6362) f08cf40721
renovate[bot] chore(deps): update dependency @sanity/tsdoc to v1.0.30 (#6361) a211e2d8e4
renovate[bot] chore(deps): update peter-evans/create-pull-request digest to c55203c (#6363) 6736e29cb4
renovate[bot] chore(deps): update pnpm to v8.15.7 (#6364) 406a78afb9
Cody Olsen chore: fix tsc build (#6360) 748e6b0f22
renovate[bot] fix(deps): update dependency @sanity/client to ^6.15.14 (#6367) aaaf5851df
Tommy Petty fix(bug): update to not add annotation in PTE if all fields are null (#6346) e10fd872c6
Per-Kristian Nordnes fix(core/inputs): fix issues with focus handling (#6370) eca960e37b
Herman Wikner feat(core): display custom styles in PTE style selector (#6275) ee31fb1d05
Bjørge Næss chore: disallow and remove react default imports (#6369) 447067f88f
Binoy Patel chore(lint): continue linting on error (#6374) 4d96a892c3
Binoy Patel chore(lint): fixes issue where boundaries lint rule was not working (#6376) d1066a8904
Espen Hovlandsdal fix(cli): add migration to list of core commands, remove migrate (#6377) 100048ab5a
Cody Olsen fix: crash in hotspot and cropping on Next.js (#6380) 0dade6273f
Espen Hovlandsdal fix(cli): upgrade and unpin import & export modules (#6347) 905d469667
Espen Hovlandsdal chore(deps): fix broken lockfile c023b05b7a
Ash fix(core): reset global search results when SEARCH_REQUEST_COMPLETE occurs after any action causing search parameters to change (#6224) 00a5d91ffc
Ash feat(core): add prefix search support (#6010) 3849b5370c
Herman Wikner fix(tasks): padding when comment input is focused (#6372) f6c46cc608
renovate[bot] chore(deps): update dependency @sanity/pkg-utils to v6.6.6 (#6358) 658568b684
RitaDias fix(block-tools): removal of strikethrough in links when copying from gdocs to PTE (#6382) 52cf1c7d4a
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.8.10 (#6383) 1f26e1bc9d
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.12.4 (#6386) fb78d57c98
renovate[bot] chore(lockfile): update dependency @sanity/react-loader to v1.9.10 (#6385) 330117ee19
renovate[bot] chore(lockfile): update dependency @sanity/preview-url-secret to v1.6.8 (#6384) 008ae4286e
renovate[bot] chore(deps): update dependency @sanity/tsdoc to v1.0.31 (#6388) c8b411ac59
Per-Kristian Nordnes fix(form/inputs): Remove obsolete code for restoring selection after editing Annotation (#6389) b7961fdb59
cngonzalez test(core): unit tests for document actions (#6371) 89a9696e5b
Ash fix(core): ignore locally applied createIfNotExists mutations when using server actions (#6334) c204a7ae0a
Herman Wikner feat(core): make PTE resizable (#6255) d92eea390f
cngonzalez fix: update unit tests to account for new create behavior (#6391) 55cacc6e5f
Ash feat(core): enable Text Search API search strategy by default (#6373) 679a788850
sanity - v3.37.2

Published by rexxars 6 months ago

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npm create sanity@latest

We recommend that you check out the instructions for the Sanity Studio v3.37.0 release before upgrading. If you have already updated your dependencies as described in that document (i.e., you are updating from v3.37.0), you can proceed with updating your studio as normal:

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

npm install sanity@latest

🐛 Notable bugfixes

  • Fixes an issue where sanity typegen generate would crash due to an incorrect babel configuration path
  • Fixes an issue where sanity typegen generate would crash if the output directory did not exist

📓 Full changelog

Author Message Commit
renovate[bot] chore(deps): update dependency @sanity/tsdoc to v1.0.17 (#6289) 2e99f2af9a
renovate[bot] chore(deps): update react monorepo (#6290) f51142c0f6
renovate[bot] chore(deps): update dependency @sanity/assist to v3 (#6291) c119f3861f
Cody Olsen refactor(test-exports): mark tests that are expected to fail as todo (#6292) 911a3e20be
renovate[bot] chore(lockfile): update dependency @sanity/logos to v2.1.10 (#6293) 6f66d80dd0
renovate[bot] chore(deps): update dependency @sanity/icons to ^2.11.8 (#6294) 387c2bd9dc
renovate[bot] chore(lockfile): update dependency @sanity/color to v3.0.6 (#6295) a3061ee69b
Espen Hovlandsdal fix(codegen): prevent crash due to incorrect babel config path (#6298) fc784d1d57
Espen Hovlandsdal fix(cli): ensure output path for types exist before writing (#6300) e75bffe56f
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.1.2 (#6301) 9ebe73d3eb
sanity - v3.37.1

Published by binoy14 6 months ago

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npm create sanity@latest

We recommend that you check out the instructions for the Sanity Studio v3.37.0 release before upgrading. If you have already updated your dependencies as described in that document (I.e., you are updating from v3.37.0), you can proceed with updating your studio as normal:

npm install sanity@latest

🐛 Notable bugfixes

  • Fixes a regression in v3.37.0 that affected embedded studios in certain environments and test runners
  • Fixes an issue where newly created studios used an outdated version of styled-components

📓 Full changelog

Author Message Commit
cngonzalez fix: disable server actions in test studio (#6270) f1451a9959
renovate[bot] chore(deps): update dependency @sanity/tsdoc to v1.0.16 (#6272) 7df486d6d0
renovate[bot] chore(lockfile): update dependency @sanity/google-maps-input to v4.0.1 (#6273) d64152f57b
renovate[bot] chore(lockfile): update dependency @sanity/logos to v2.1.9 (#6274) 7a894794c8
renovate[bot] chore(lockfile): update dependency @sanity/react-loader to v1.9.9 (#6276) 072996807d
renovate[bot] chore(lockfile): update dependency sanity-plugin-mux-input to v2.3.4 (#6277) 49a553880d
renovate[bot] chore(deps): update dependency @sanity/eslint-config-studio to v4 (#6197) 0b792e37a1
Cody Olsen chore(deps): update dependency @sanity/pkg-utils to v6 (#6280) d9992ccad8
renovate[bot] chore(lockfile): update dependency @sanity/assist to v2.0.5 (#6279) a1efe067e7
Cody Olsen fix: bump styled-components used by npm create sanity (#6281) 61dbbe28b6
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.1.1 (#6283) 90c7c57219
Cody Olsen chore: add @repo/test-exports suite (#6284) 9d2a437eff
Cody Olsen fix: restore node ESM strict mode support (#6287) 46563c8910
sanity - v3.37.0

Published by bjoerge 6 months ago

⚠️ This upgrade requires [email protected] and @sanity/ui@2

This release comes with version requirements for the following packages:

If you're maintaining a plugin for Sanity Studio, we recommend upgrading its dependencies too.

styled-components (required)

We have seen incompatibility issues when styled-components@5 is used outside of the Vite configuration that ships with sanity, for example, when the Studio is embedded in a Next.js or Remix project.

Styled Components is a required dependency for Sanity Studio projects. By upgrading it, you can also delete the @types/styled-components and react-is dependencies that were required with styled-components@5:

# npm
npm install sanity@latest styled-components@^6.1
npm rm @types/styled-components react-is

# pnpm

pnpm install sanity@latest styled-components@^6.1
pnpm rm @types/styled-components react-is

# yarn

yarn add sanity@latest styled-components@^6.1
yarn rm @types/styled-components react-is

Note: if you have local customizations in your Sanity Studio that are using styled-components you may need to make some minor adjustments to the customization code. For more details, please consult the styled-components migration guide.

@sanity/ui

Studio projects that use @sanity/ui for customizations and have it as a dependency in package.json needs to upgrade to @sanity/ui@2:

# npm
npm install "@sanity/ui@^2"

# pnpm
pnpm install "@sanity/ui@^2"

# yarn
yarn add "@sanity/ui@^2"

✨ Highlights

Tasks (Beta)

Sanity Studio now ships with Tasks. You can now:

  • Target tasks for specific documents
  • Assigned tasks to Studio members
  • Comment on tasks, and use @-mentions
  • Resolve tasks

Tasks for Sanity Studio

Tasks ships enabled by default. If you want to disable tasks in your Studio, you can do so with this configuration:

// ./sanity.config.ts|js

export default defineConfig({
  // ... rest of config
	unstable_tasks: { enabled: false },
})

Learn more about Tasks in the documentation:

Other features

  • Resolves "Masquerading as CJS and ESM" type errors
  • Adds ESM with .mjs exports for full support of Node.js' native ESM mode while still offering support for .esm.js exports for legacy bundlers
  • Adds missing sideEffects: false conditions to package.json files, improving tree-shaking and reducing bundle sizes for embedded Sanity Studio projects
  • Simplifies the Shopify schema starter template

🐛 Notable bugfixes

  • Fixes a bug where wrongly formatted configuration would be inserted into tsconfig.json when sanity init was run inside of a Next.js project
  • Fixes an issue where importing .scss or .sass files from the studio configuration or a descendant file would cause certain CLI commands to crash
  • Improves error message when extracted schema (from sanity schema extract) could not be found when running sanity typegen generate
  • Fixes an issue where the CLI might suggest deprecated Sanity v2 commands if you mistype a command name
  • Makes the current field on slugs required when used with the --enforce-required-fields flag in sanity typegen contexts
  • Fixes a bug where running npx sanity init in a Next.js project would break the tsconfig.json configuration

📓 Full changelog

Author Message Commit
Cody Olsen chore(renovate): pin framer-motion to known stable (#6166) b54852a6e5
ecospark[bot] chore(prettier): fix unformatted files 🤖 ✨ (#6168) 19891dce77
renovate[bot] chore(deps): update dependency @sanity/icons to ^2.11.6 (#6169) 9f50f6df47
renovate[bot] chore(deps): update dependency turbo to ^1.13.2 (#6170) 073b5b8463
renovate[bot] chore(deps): update dependency vite to ^4.5.3 (#6171) b14d32409e
renovate[bot] chore(lockfile): update dependency @portabletext/react to v3.0.15 (#6172) fbc7183778
renovate[bot] chore(lockfile): update dependency @sanity/color to v3.0.4 (#6173) cdf561e5c0
renovate[bot] chore(lockfile): update dependency @sanity/logos to v2.1.8 (#6175) ffb6ddde91
renovate[bot] fix(deps): Update react monorepo (#6176) c4f24d2a66
renovate[bot] fix(deps): update dependency @sanity/client to ^6.15.9 (#6177) fbeb6fbabd
renovate[bot] chore(deps): update dependency use-hot-module-reload to v2 (#6180) 39bf293263
Cody Olsen Revert "chore(deps): update dependency use-hot-module-reload to v2 (#6180)" (#6182) 3b8c28ce11
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.0.13 (#6178) 4f1b36d245
renovate[bot] fix(deps): update dependency get-it to ^8.4.17 (#6179) ee162803e9
Cody Olsen fix(deps): pin framer-motion to the same version used by @sanity/ui (#6183) 7120aa8ce6
Cody Olsen chore: fix typings error b369d92a27
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#6184) b4f9ba59e0
renovate[bot] chore(deps): lock file maintenance (#6186) a32e5d57da
Cody Olsen chore: pin @sanity/eslint-config-i18n 89fac9f731
Cody Olsen chore: pin @playwright/test 1f4700c048
Cody Olsen chore: pin @playwright/experimental-ct-react e09a5ef44d
renovate[bot] chore(deps): lock file maintenance (#6187) dcbb7a4c1a
Cody Olsen fix: use named styled import for better ESM runtime compat (#6185) b544abb372
Herman Wikner fix(comments): weaken references in content snapshot (#6131) d1f1a4cd40
renovate[bot] chore(deps): update dependency @sanity/pkg-utils to ^4.4.4 (#6191) 199f3104c5
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.8.5 (#6194) 3113498614
renovate[bot] chore(lockfile): update dependency @sanity/react-loader to v1.9.6 (#6195) f41b784f8e
renovate[bot] chore(deps): update linters to v7 (#6192) 4247e4fc7c
Cody Olsen refactor: support strict: true in @sanity/schema codebase (#6207) 605bd62b37
Cody Olsen chore: reduce test flakiness by increasing timeout to 60s (#6208) 1cecb456f3
Simeon Griggs simplify 'shopify' template schema (#6161) 69ff15fd3a
Pedro Bonamin fix(tasks): disable autocomplete on 'assign to' input (#6193) da49af0835
Espen Hovlandsdal fix(schema): make current field for slugs required (#6205) e420b6f11a
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.0.14 (#6209) f4d2e7ebc4
Espen Hovlandsdal fix(cli): do not suggest v2 cli commands on "no such command" error (#6211) 69ff7ff2c1
Espen Hovlandsdal fix(cli): improve error handling on missing extracted schema (#6204) 4fb0e66a64
renovate[bot] chore(deps): update dependency use-hot-module-reload to v2 (#6217) 4385ca879d
renovate[bot] chore(deps): replace dependency is-hotkey with is-hotkey-esm ^1.0.0 (#6218) 12f25d53f8
renovate[bot] chore(deps): update dependency @portabletext/toolkit to ^2.0.14 (#6219) a72b65214d
renovate[bot] chore(deps): update dependency @types/arrify to ^1.0.4 (#6220) 25a95a0a87
renovate[bot] fix(deps): update dependency get-it to ^8.4.18 (#6222) 70f0963337
renovate[bot] chore(lockfile): update dependency @portabletext/react to v3.0.17 (#6221) a4de075223
renovate[bot] fix(deps): update dependency @sanity/client to ^6.15.10 (#6228) ba323ae876
renovate[bot] chore(deps): update dependency @babel/preset-env to ^7.24.4 (#6226) 7c60f3ed7b
renovate[bot] chore(lockfile): update dependency @sanity/icons to v2.11.7 (#6174) 1af2e4f8b0
renovate[bot] chore(deps): update dependency @sanity/icons to ^2.11.7 (#6231) 830f403368
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.0.15 (#6229) a6eb947793
renovate[bot] chore(lockfile): update dependency @sanity/color to v3.0.5 (#6232) 7887f0d84a
renovate[bot] chore(lockfile): update dependency @sanity/logos to v2.1.9 (#6233) c1b72fc6b6
Espen Hovlandsdal fix(cli): use stub file loader for scss, sass extensions (#6215) 80f4f220f1
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.12.2 (#6235) acbb08a9d3
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.8.6 (#6237) f0f653760e
Cody Olsen refactor(renovate): ignore slate and slate-react as they're bumped manually (#6242) 6fc2bbbde6
ecospark[bot] chore(prettier): fix unformatted files 🤖 ✨ (#6243) ef3385745f
Bjørge Næss fix(cli): formalize requirement of styled-components@6 and @sanity/ui@2 (#6234) 5fe2d47f49
renovate[bot] chore(lockfile): update dependency @sanity/preview-url-secret to v1.6.6 (#6238) a4be162b23
renovate[bot] chore(lockfile): update dependency @sanity/react-loader to v1.9.7 (#6239) debb2cc37f
Cody Olsen refactor(CI): use the official github app token generator action (#6230) 40dff99a6f
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.0.16 (#6241) 58c319a82d
Binoy Patel chore(core): remove unusued ChangeIndicatorContext (#6214) e9788135b9
Pedro Bonamin fix(core): add readOnly prop to dragHandle (#6190) 234d009826
renovate[bot] chore(deps): update dependency @sanity/visual-editing to v1.8.7 (#6248) 4a31e88f17
renovate[bot] chore(lockfile): update dependency @sanity/preview-url-secret to v1.6.7 (#6249) e89a8b3e5c
renovate[bot] chore(lockfile): update dependency @sanity/react-loader to v1.9.9 (#6250) 736a96ed92
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.12.3 (#6251) 0959294ef6
renovate[bot] chore(lockfile): update dependency sanity-plugin-mux-input to v2.3.0 (#6252) 56660996d9
renovate[bot] fix(deps): update dependency @sanity/client to ^6.15.11 (#6253) a3b7458352
renovate[bot] fix(deps): update dependency @sanity/ui to ^2.1.0 (#6254) 6b2abb996d
Pedro Bonamin fix(tasks): change tasks button in nav to be toggle (#6236) 8e40ecb086
cngonzalez feat(core): add serverActions flag to config (#6212) 1b94d404f4
Knut Melvær fix: replace the JSON5 parser with JSON (#6149) fe11588c74
Pedro Bonamin fix(tasks): tasks UI updates. (#6136) d45b210dcb
ecospark[bot] chore(deps): dedupe pnpm-lock.yaml (#6258) 7b44425e75
renovate[bot] chore(lockfile): update dependency @sanity/logos to v2.1.9 (#6259) 1d998a02dd
renovate[bot] chore(lockfile): update dependency @sanity/react-loader to v1.9.9 (#6260) a32df3a6fc
renovate[bot] chore(deps): update dependency @sanity/google-maps-input to v4 (#6262) e63ce42504
renovate[bot] chore(lockfile): update dependency sanity-plugin-mux-input to v2.3.0 (#6261) 79c5bb10d3
renovate[bot] chore(deps): lock file maintenance (#6264) 787aa33b09
renovate[bot] chore(lockfile): update dependency i18next to v23.11.0 (#6263) 64c6a13bae
renovate[bot] chore(lockfile): update dependency @portabletext/react to v3.0.17 (#6265) 3a7d2fd9ef
renovate[bot] chore(lockfile): update dependency sanity-plugin-mux-input to v2.3.1 (#6266) 4e3afaca17
Ash fix(structure): prevent duplication of search filters when listenSearchQuery is used (e.g. in document lists) (#6247) fce97c7898
Cody Olsen fix: upgrade to @sanity/pkg-utils v5 and use updated ESM best practices (#5983) 62a6810bf8
Pedro Bonamin feat(tasks): add tasks upsell ui (#6216) 658262e720
Pedro Bonamin feat(tasks): add telemetry events to tasks (#6246) 346600cc7a
Ash feat(core): adopt Actions API (#6257) 4d4522400d
Bjørge Næss fix(deps): narrow accepted peer dependency range of style-components (#6271) 1ac127b33c
sanity - v3.36.4

Published by rexxars 7 months ago

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npm create sanity@latest

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

npm install sanity@latest

🐛 Notable bugfixes

  • Fixes an issue in the Portable Text editor in which annotations were not opening (bug introduced in v3.36.3)
  • Fixes a potential cross-origin error from being shown in the developer console

📓 Full changelog

Author Message Commit
Pedro Bonamin fix(core): remove custom options in comments upsell request (#6201) 46c7ce8ed9
Pedro Bonamin fix(structure): annotations not opening in portable text editor (#6198) 907c904336