sanity

Sanity Studio – Rapidly configure content workspaces powered by structured content

MIT License

Downloads
9.5M
Stars
5.2K
Committers
128

Bot releases are visible (Hide)

sanity - v3.13.0

Published by binoy14 over 1 year 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

  • New Document inspector @beta API
  • Document validation now opens in a sidepanel

🐛 Notable bugfixes

  • Improves behavior of popovers in the Portable Text editor
  • sanity debug now outputs all the roles of the currently authenticated user

📓 Full changelog

Author Message Commit
Espen Hovlandsdal docs(sanity): update license badge url e1dbd1ca2
Marius Lundgård fix(core): improve PTE popover behavior (#4606) c17929efa
RitaDias feat: add etl layer (#4584) aff1e63fc
RitaDias docs(cli): update docs for getStudioEnvironmentVariables (#4597) 06d5928d7
Espen Hovlandsdal feat(cli): print all current user roles in debug output (#4609) ea322f241
Binoy Patel chore(deps): bump version of @sanity/tsdoc (#4614) 6e5893129
Espen Hovlandsdal test(e2e): retry once on failures, record video on retry (#4618) b4f7fa276
Marius Lundgård fix(deps): update @sanity/icons 0b2c40e96
Marius Lundgård feat(desk): document inspectors (@beta) (#4252) e9c068ac8
Marius Lundgård feat(core): add TooltipOfDisabled component b58e23809
Marius Lundgård feat(core): add StatusButton hotkey property f1b154a67
Marius Lundgård feat(core): take StatusButton disabled reason 38c6e9300
Marius Lundgård feat(core): take StatusButton mode property ba1092d64
Marius Lundgård feat(core): fieldActions config property 18c5894cd
Marius Lundgård feat(core): render field actions 3c0ea55aa
Marius Lundgård feat(desk): resolve field actions 4086dddfd
Marius Lundgård feat(desk): render document field actions cc9edc754
Marius Lundgård test: document field actions 941b9a09e
Marius Lundgård test(core): update tests 2263b8eb4
Marius Lundgård perf: add field actions to perf studio a1a418209
Cody Olsen chore: dedupe @sanity/icons and update snapshot (#4638) 791efec9f
ecospark[bot] chore(deps): dedupe yarn.lock (#4599) f8fc12a3e
renovate[bot] fix(deps): update dependency @portabletext/types to v2.0.5 (#4627) 0b01660b8
Espen Hovlandsdal docs: update contribution guidelines (#4616) 8131d83d6
renovate[bot] fix(deps): update three packages (#4631) ef36686c1
renovate[bot] fix(deps): update dependency get-it to v8.1.3 (#4644) d461bb606
renovate[bot] fix(deps): update dependency styled-components to v5.3.11 (#4629) 76df1cf52
renovate[bot] fix(deps): update dependency @portabletext/react to v3 (#4625) e3c32230f
renovate[bot] chore(deps): update dependency @sanity/pkg-utils to v2.3.3 (#4626) fdeac3f9c
sanity - v3.12.2

Published by rexxars over 1 year 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 potential typing issues caused by mismatched versions of @types/react-is
  • Fixes issue where validation tooltips were clipped inside of the Portable Text editor
  • Improves accessibility of list panes when using screen readers

📓 Full changelog

Author Message Commit
Cody Olsen chore(ci): replace yarn v2 install flags with v1 (#4568) 744f7e049
Cody Olsen ci: update renovate to use the new preset (#4566) 61b15a2c2
Tom Smith fix(cli): shopify studio intent fixes (#4592) 1c301d484
Espen Hovlandsdal fix(core): align @types/react-is module version (#4594) ae3922016
Espen Hovlandsdal fix(core): include request tag prefix for websocket (#4590) ccedf6e5c
Marius Lundgård fix(deps): update @sanity/ui b0564946b
Nina Andal Aarvik fix(core): use portal prop on validation tooltip, remove muted text (#4582) 7d6dc9026
vicbergquist feat: add @sanity/tsdoc dependency 17a5ec319
vicbergquist docs: add docblock for useDataset hook 87da83f0b
RitaDias chore(lock): update yarn lock file b45ccb589
Bjørge Næss chore(test-studio): exclude @sanity/tsdoc from vite's dependency pre-bundling a7b3797b0
Bjørge Næss chore(deps): add @sanity/tsdoc as a dev dependency 6350f3c51
RitaDias feat(sanity): add @hidden tag for tsdoc a94d5489f
RitaDias chore(sanity): add tsdoc config json 178a95600
RitaDias fix(core): re-add missing DocumentActionCustomDialogComponentProps d093e312c
Binoy Patel docs(sanity): fix typo in tsdoc config 828505264
RitaDias refactor: add hidden to two new beta items 2a96d67d1
Binoy Patel chore: version bump 31e1633f2
Binoy Patel chore(router): add docs for IntentLink, Link and withRouter APIs (#4551) 0297b39c6
Herman Wikner fix(core): a11y issue in command list (#4600) bf59af062
RitaDias fix: add missing tsdoc tags (#4607) 0de3b081b
sanity - v3.12.1

Published by rexxars over 1 year 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 issue where documents wasn't locked while a document was being synced
  • Fixes a bug where certain references would result in invalid GraphQL union types (thanks @james2doyle!)

📓 Full changelog

Author Message Commit
renovate[bot] fix(deps): update dependency vite to v4.3.9 (#4548) b8337fb75
renovate[bot] chore(deps): update dependency esbuild to v0.17.19 (#4547) 9b14e0746
Fred Carlsen fix(desk): fix readOnly document state while document is syncing (#4564) 305fe1604
Tom Smith chore(cli): update shopify template to use strict mode schemas (#4561) f1726803d
ecospark[bot] chore(prettier): fix unformatted files 🤖 ✨ (#4555) b271b0fae
Noah Gentile feat(mutator): export extract method (#4461) e4779a6b8
Herman Wikner fix(desk): pane item selected ui (#4569) 9d355f80a
Simeon Griggs chore: correct toast text for copied URL (#4571) 1e0fd23a5
Cody Olsen chore(deps): unblock update to @sanity/pkg-utils to v2.3.1 (#4567) 3479e1160
Per-Kristian Nordnes feature(portable-text-editor): add value snapshot to mutation change 90b7d959c
James Doyle fix(cli): prevent empty references for graphql unions (#4583) 940dbb447
sanity -

Published by bjoerge over 1 year 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

Custom block, inlineBlock and annotation form components

Adds support for block, inlineBlock and annotation form components. You can now write plugins or create workspace configuration that change how these types are rendered in the studio

🐛 Notable bugfixes

  • Fixes a regression that broke document-level readOnly
  • Fixes a bug that caused conditional field callbacks inside fieldsets to get passed a wrong parent value
  • Improves deep linking to the Portable Text Input for visual editing
  • Fixes an issue where @sanity/block-tools would remove whitespace from <pre> tags
  • Fixes an issue that could sometimes cause newly inserted array items to be immediately removed

📓 Full changelog

Author Message Commit
Per-Kristian Nordnes feature(core): Add support for block form components in config and plugins (#4327) 3527b6c63b
Robin Pyon chore(test-studio): add a debug case for patching custom input components aaa74c01da
Fred Carlsen fix(block-tools): preserve whitespace in preprocess for certain html tags (#4540) 4848781bb0
Bjørge Næss fix(perf): add flag to list known test ids (#4553) 981b99f9c2
Bjørge Næss refactor(util): rename isEmpty => isDeepEmpty and deprecate old name e37be4a556
Bjørge Næss test(util): add tests for isDeepEmpty 4ecf667e18
Bjørge Næss refactor(util): expose isShallowEmptyObject util 605d716ce5
Bjørge Næss fix(form): check for shallow emptyness instead of deep when determining whether a patch should unset the value f2e16ff560
Per-Kristian Nordnes refactor(core/form/inputs): PT-input track irregular span node focusPath (#4557) 86bffd7e5d
Per-Kristian Nordnes refactor(portable-text-editor): improve onPaste typings (#4544) 0909774f74
Bjørge Næss fix(form): pass the correct data to conditional fields contained inside fieldsets (#4556) a08334fdf0
Bjørge Næss fix(form): fix bug making fields not inherit document level readOnly state (#4558) 6f5578d5da
Knut Melvær chore: fix installation command in release note template (#4550) 0d3c5b30e2
sanity -

Published by bjoerge over 1 year ago

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npx create-sanity@latest

To upgrade a v3 Studio:

npm install sanity@latest

🐛 Notable bugfixes and improvements

  • Fixes an issue where change indicators were no longer showing up on boolean fields
  • Adds document action custom dialog component
  • Improves presence rendering performance
  • Improves how focus and selection is handled and tracked in Portable Text fields
  • Adds support for <sup>, <sub>, <ins> and <mark> in @sanity/block-tools
  • Improves how image blocks in Portable Text fields are rendered for custom named image types

📓 Full changelog

Author Message Commit
renovate[bot] fix(deps): update dependency @portabletext/types to v2 (#4379) 83711a45e1
Fred Carlsen fix: whitelist all standard text decorators in block-tools (#4526) 47be700993
renovate[bot] fix(deps): update dependency groq-js to v1 (#4384) cf002fb977
Per-Kristian Nordnes fix(core/form/inputs): use isImage asserter to determine image preview (#4532) c2f98ba88c
Herman Wikner feat(core): add document action custom dialog component (#4529) d6a841bf7a
Per-Kristian Nordnes fix(core/form/inputs): value should be passed here, not schematype 854e37a282
Per-Kristian Nordnes refactor(core/form/inputs): refactor focus handling in the PT-input 6ff2b459e6
Per-Kristian Nordnes refactor(core/form/inputs): improve autofocus handling f018467ca1
Per-Kristian Nordnes refactor(portable-text-editor): provide focus event for focus and blur change c0cdf87e7b
Per-Kristian Nordnes chore(portable-text-editor): move debug msg out of loop 121e906725
Per-Kristian Nordnes fix(core/form/inputs): clean up rebase leftovers (next branch) 3923b6c221
Per-Kristian Nordnes refactor(core/form/inputs): remove possibly destructive blur e4ea215b45
Per-Kristian Nordnes refactor(core/form/inputs): make PT-input scroll to top of elements 2efe806c7e
Per-Kristian Nordnes refactor(core/form/inputs): streamline prop names for PT-input components dd9c9d0182
Per-Kristian Nordnes refactor(core/form/inputs): blur editor when opening object in PT-input 76131d89fd
Per-Kristian Nordnes refactor(core/form/inputs): rename var to conventions 20fb696b25
Per-Kristian Nordnes refactor(core/form/inputs): wrap delete in try/catch to finalize ref assignment cd3eb906c9
Per-Kristian Nordnes refactor(core/form/inputs): remove uneeded prop assignment a2544a62e4
Per-Kristian Nordnes docs(core/form/inputs): add some comments why we blur here. 0cbd4f4569
Per-Kristian Nordnes doc(core/form/inputs): add comments on block props fbd7be88f8
Per-Kristian Nordnes refactor(core/form/inputs): add prop __unstable_textElementFocus 2d8aa4daeb
Per-Kristian Nordnes refactor(core/form/inputs): make PT annotations handle focus correctly 021c2c6dff
Per-Kristian Nordnes fix(core/form/inputs): fix issue with re-focusing the editor after toggling fullscreen 02feb8dc1d
Per-Kristian Nordnes fix(core/form/inputs): rename autofocus > autoFocus fb88521d05
Per-Kristian Nordnes refactor(core/form/inputs): clean up useTrackFocusPath bf77938faf
Per-Kristian Nordnes feature(core/form): keep stable child presence list with immutableReconcile f4a113ff19
Per-Kristian Nordnes refactor(core/form/inputs): use child presence hook for PT-input nodes 145c573a0b
Victoria Wagenblast fix(core): add change indicators to boolean fields (#4538) 94e1c7a4e0
sanity - v3.11.3

Published by RitaDias over 1 year ago

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npx create-sanity@latest

To upgrade a v3 Studio:

npm install sanity@latest

🐛 Notable bugfixes

  • Fixes a recent regression from v3.11.2 where text annotations nested inside Portable Text inputs could not be edited properly

📓 Full changelog

Author Message Commit
Bjørge Næss chore(perf): support passing a comma-separated list of test-ids when running perf suite (#4520) 6fb3855a7
Herman Wikner fix(core): add PortableTextInputProps to InputProps union (#4522) 4031d3c06
renovate[bot] fix(deps): update dependency @tanstack/react-virtual to v3.0.0-beta.54 (#4478) 4bef6000e
Per-Kristian Nordnes fix(core/form/inputs): fix rendering regression for PT-input (#4530) fba12cf73
sanity - v3.11.2

Published by RitaDias over 1 year ago

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npx create-sanity@latest

To upgrade a v3 Studio:

npm install sanity@latest

🐛 Notable bugfixes

  • Fixes issue where image and file upload fields were not uploading data
  • Fixes issue that would cause the dropdown list of autocomplete suggestions for reference fields to not overflow correctly inside the Portable Text editor
  • Fixes issue where the current value of reference fields would not be displayed in the Portable Text editor
  • Improves performance for arrays and portable text inputs

📓 Full changelog

Author Message Commit
Espen Hovlandsdal fix(deps): update dependency @sanity/client to 6.1.1 05b29b767
RitaDias fix(core): fix image and file upload (#4518) 8861dfafa
Binoy Patel fix(core): fix PT reference autocomplete being cut off (#4519) 6581afddb
Per-Kristian Nordnes fix(form/inputs): use ref to value as dependency 4c83b91d2
Per-Kristian Nordnes fix(form/inputs): ensure same empty presence object for PT-input components 6c7c4e43c
Per-Kristian Nordnes refactor(form/inputs): simplify tenary statement 828e2dace
Per-Kristian Nordnes fix(form/inputs): fix re-rendering issue with PT-input block object 75dfb9ca1
Per-Kristian Nordnes refactor(form/inputs): improve value ref update for ArrayOfObjectsFiled ff435ede6
Per-Kristian Nordnes refactor(core/form): make sure empty presence arrays are same object 1299d6079
Per-Kristian Nordnes refactor(form/inputs): use stable empty presence from memberItem a7ddef953
Binoy Patel fix(core): editing reference input in PTE does not show value (#4499) 7a4275e2b
sanity -

Published by bjoerge over 1 year ago

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npx create-sanity@latest

To upgrade a v3 Studio:

npm install sanity@latest

🐛 Notable bugfixes

  • Fixes an issue causing field groups to be hidden if they only contain fieldsets

📓 Full changelog

Author Message Commit
Bjørge Næss refactor(form): fix issue with hiding a field group that only have fieldsets (#4477) 906a6fe063
sanity - v3.11.0

Published by rexxars over 1 year ago

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npx create-sanity@latest

To upgrade a v3 Studio:

npm install sanity@latest

✨ Highlights

Document list search

It's now possible to search within document lists. We've also improved keyboard accessibility, making it much easier to navigate between lists and the document form editor itself.

🐛 Notable bugfixes

  • Fixes issue where Edit intent links that opens the on-screen keyboard in iOS/android while also opening dialogs would break the layout
  • Improves linking to single spans of text in the Portable Text Input
  • Fixes a bug that made fields without a group appear in all groups
  • Fixes a bug with the Portable Text Editor where single span texts could become out of sync with the server value
  • Fixes an issue where an object field’s value is not unset when all object field values are empty

📓 Full changelog

Author Message Commit
Cody Olsen fix: avoid scroll on overflow: hidden (#4458) 47302b5fa
Espen Hovlandsdal test(cli): reduce dangling entity cleanup threhold to 16 hours (#4431) 5780487c8
Per-Kristian Nordnes fix(form/inputs): improve tracking of formState focusPath for PT-input (#4466) bdcea252f
Bjørge Næss fix(form): show fields without groups only when 'All fields' is selected (#4472) b246b818d
Herman Wikner feat: document list search (#4436) c6a729fbf
Bjørge Næss fix(desk): remove path param from url after initially read (#4469) eee026d43
Cody Olsen chore: delete junk files (#4476) 6b78d7e7d
Robin Pyon chore(test-studio): add an author references block to simpleBlock 8e83e8695
renovate[bot] fix(deps): update dependency @vercel/fs-detectors to v3.9.2 56c81ff3e
renovate[bot] fix(deps): update dependency framer-motion to v10.12.10 96029646e
renovate[bot] fix(deps): update dependency @vercel/frameworks to v1.4.2 97b923ec4
Per-Kristian Nordnes fix(portable-text-editor): fix sync issue with text spans (#4467) 036e68ab7
RitaDias fix(core): unset objects when no values in patch when empty value (#4495) ba760f3c9
renovate[bot] fix(deps): update dependency @sanity/client to v6 (#4454) e092721ff
sanity -

Published by skogsmaskin over 1 year ago

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npx create-sanity@latest

To upgrade a v3 Studio:

npm install sanity@latest

🐛 Notable bugfixes

  • Fixes an issue where array inputs inside Portable Text dialogs would not properly render

📓 Full changelog

Author Message Commit
Per-Kristian Nordnes Add boundary provider for nested content inside PT-input dialogs (#4486) 4f961e9a8
sanity - v3.10.1

Published by RitaDias over 1 year ago

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npx create-sanity@latest

To upgrade a v3 Studio:

npm install sanity@latest

🐛 Notable bugfixes

  • Fixes issue where the Create new document dialog didn't work on smaller screens
  • Fixes issue where out of range integers in number fields could crash the studio

📓 Full changelog

Author Message Commit
Robin Pyon fix(core): ensure the create new button dialog is functional on smaller breakpoints (#4450) f1dc5ec2e
Robin Pyon fix(core): prevent number primitive fields from triggering change callbacks when numbers are out of range (#4456) aa2dd6eff
Bjørge Næss chore(test-studio): add a second field to simpleBlock's block type 82f6ee1eb
ecospark[bot] chore(prettier): fix unformatted files 🤖 ✨ (#4453) f39562962
sanity -

Published by binoy14 over 1 year ago

Installation and upgrading

Initiate a new Sanity Studio without installing the CLI globally:

npm create sanity@latest

To upgrade Sanity Studio, update its dependency:

npm install sanity@latest

✨ Highlights

Visual Editing (Enterprise Only)

Note

Visual Editing is available for select Sanity enterprise customers. If you would like to use Visual Editing with Vercel, you will also need to contact Vercel to enable this feature for your Vercel team. You may contact our sales team for more information.

Screenshot of a front end with visual editing

This release includes support for Visual Editing and Content Source Maps. This feature enables you to make deep edit links from components in a front end that takes you to respective fields in the Studio. This enables a new workflow that substantially reduces the time it takes to make changes by bringing you directly to the relevant field where you can make edits reliably in its appropriate context. For more information on Visual Editing, check out the documentation here.

Visual Editing is available for mutual Sanity and Vercel Enterprise customers. Existing Sanity enterprise customers can contact their dedicated customer success manager to enable this feature. Customers interested in upgrading to an enterprise plan can contact our sales team for more information. You will also need to contact Vercel sales to enable this feature for your Vercel team.

Sanity enterprise customers can also use the Content Source Maps with GROQ to build custom Visual Editing capabilities. For more information, check out the Content Source Maps documentation here.

Quickly add Sanity Studio to Next.js

Command Line showing sanity init within a Next.js app

The sanity init command now recognizes if you are in a Next.js project, and will ask:

• What Sanity project you want to use (use existing or create new)
• Whether you want to place an embedded Studio using pages or app routes
• Whether you want to use TypeScript for your Studio
• What template you want to use (clean or blog)
• Whether you want to append the project ID and dataset to your .env file (you can also specify a custom env file with the --env flag)

If you have a Next.js project and want to quickly deploy an embedded Sanity Studio, you can run npx sanity init within your application's directory to get started.

Minimum version when using pnpm required: 8.x

Additional notable features

  • Enables fully unattended studio init with CLI when projectId, dataset and --y flags are set
  • sanity init will now determine default package manager choice based on currently running package manager

🐛 Notable bugfixes

  • Updates the Shopify Studio template with various fixes
  • Fixes an issue that caused field group buttons to steal focus when deep linking into a Studio value
  • Fixes an issue causing focus to be set on wrong element when deep linking to a field inside an array
  • Fixes an issue so deep linking to a field/input expands the right fieldsets/collapsed objects along the way
  • Fixes an issue where validation errors would not focus on collapsed fieldset
  • Fixes an issue where using pnpm to install dependencies would not install the latest available versions when creating a new project
  • Resolves issue where unattended mode (--yes flag) for sanity init would still show a confirmation prompt about running a v2-like CLI command
  • Fixes a bug with reference fields not receiving focus when clicking a validation error or following a link to the field
  • Fixes intent links to focus on the correct location
  • Fixes issue with pasting a file from clipboard into a file field that already has a value
  • Fixes support for deep linking in image and file fields
  • Fixes a bug that broke pasting a file into a file field when a value is already present

📓 Full changelog

Author Message Commit
Bjørge Næss fix(form): fix focus issue with reference fields (#4429) 912ce0d40
Espen Hovlandsdal fix(cli): prefer package manager that is currently executing (#4426) 4523046ef
Espen Hovlandsdal fix(cli): skip v3 init prompt in unattended mode (#4425) 7c17124e1
Rune Botten feat(cli): skip dataset name validation in unattended mode when provided through options (#4422) 605d62bc7
Espen Hovlandsdal fix(cli): resolve and install latest sanity+vision dependencies (#4424) 25303f970
renovate[bot] fix(deps): update codemirror (#4377) 989dd812a
Cody Olsen chore(test-studio): use the @sanity/ui provided hook for 3d reduced motion 0f01713c1
Nina Andal Aarvik fix(core): add fieldset within field to expandOperation 488676a0c
Bjørge Næss fix(form): make sure getExpandOperations recursively expands objects and fieldsets 8d50b9ea1
Robin Pyon chore(test-studio): add fieldgroup with fieldset + validation debug case 349e65f38
Tom Smith fix(cli): sync shopify template updates 8047e5de9
Tom Smith fix(cli): shopify template docs typos 46bcf812c
Espen Hovlandsdal fix(cli): update shopify template dependency ranges d159107ef
Espen Hovlandsdal fix(cli): add missing dependencies for shopify template 8af0512a2
Espen Hovlandsdal chore: add Tom as codeowner of shopify templates 48738ef40
renovate[bot] chore(deps): update peter-evans/create-pull-request action to v5 (#4448) cfe0b6f10
Bjørge Næss chore: add codeowners to preview + file & image input 01eb6b012
Bjørge Næss fix(desk): set collapsed/fieldgroup/open path based on router path b1f1eb4b7
Bjørge Næss fix(form): prevent autofocus on array dialogs where focus is on a deeper value 8cb064261
Binoy Patel fix(core): scroll PTE input into view when receiving focus 627640df4
Bjørge Næss fix(form): skip autofocus on field groups as it's handled by either focusPath or focusFirstDescendant 51c94836a
Bjørge Næss feat(util): add resolveKeyedPath ec310409d
Binoy Patel fix(core): focus first descendant in FormView when empty initial focus path is given 350b56780
Binoy Patel fix(desk): use resolveKeyedPath to set initial open/focus path from url dc04b4988
Binoy Patel fix(form): sync local focus state when focused/focusPath props change 89adbd86c
Bjørge Næss fix(form): improve focus handling for image and file inputs (#4451) dd8e424c0
Benjamin Akar feat(cli): sanity init for Next.js apps (#4439) 6effcfec7
Bjørge Næss ci(github): drop node 14 from test matrix (#4452) 6fe2b9f7b
sanity - v3.9.1

Published by rexxars over 1 year ago

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npm create sanity@latest

To upgrade a Sanity Studio:

npm install sanity@latest

Improvements

  • Add ability to use custom favicons - see https://www.sanity.io/docs/favicons for more information
  • Improves document history performance
  • Enables passing skipVisibilityCheck prop to preview components to avoid flickering when already in the viewport

🐛 Notable bugfixes

  • Fixes virtualized list (arrays) not rendering properly when inside a modal
  • Fixes bug where validation messages on Portable Text annotations were shown twice
  • Improves wording on message shown after successfully deleting a document
  • Fixes issue where unused references are cleared on clicking outside
  • Resolves issue where validation errors are not focused when clicking on an error in the panel
  • Fixes issue where annotation popovers were not scrollable in the Portable Text Editor
  • Fixes a bug in the Portable Text Editor, which could lead to duplicating single sentence content with mixed marks in the editor when overwritten by another text
  • Fixes an issue where creating a portable text annotation and inserting a value inside it would make a listening text editor crash
  • Fixes an issue where documents would sometimes automatically scroll without user actually performing a scroll

📓 Full changelog

Author Message Commit
Binoy Patel chore(test-studio): enable source-maps (#4392) c3669f2a5
Espen Hovlandsdal fix(cli): use more recent version ranges for new projects (#4393) b3821203d
Robin Pyon fix(desk): document timeline performance improvements (#4347) 4d56352eb
Espen Hovlandsdal fix(cli): remove broken custom document component link 71f0d4566
Per-Kristian Nordnes dev(test-studio): add validation to recursive blocks test 2d3b0cfb3
Geoff Ball Update README.md b55bca85f
Nina Andal Aarvik fix(validation): remove recursive validation check for annotations in pte (#4397) 5e47c398d
Nina Andal Aarvik fix(desk): change message shown after successfully deleting document (#4398) 14f7f6dcf
Nina Andal Aarvik refactor(schema): add fields causing form to render empty bc2ff4662
Bjørge Næss fix(form): wrap members in an intermediate structure and hide field groups with no fields e6bafe00e
Bjørge Næss fix(form): force-select "all fields" group and disable all others when changes panel is open 755c337ee
Bjørge Næss fix(form): hide field groups where all fields are hidden fcfe3a8e6
ecospark[bot] chore(prettier): fix unformatted files 🤖 ✨ (#4401) 148f4ebec
renovate[bot] chore(deps): update linters to v5.59.0 (#4376) c6464400f
RitaDias chore(.github): add code owners (#4403) 1be86d7c2
Per-Kristian Nordnes fix(portable-text-editor): keep selection when emtied remotely d30d93cd4
Per-Kristian Nordnes test(portable-text-editor): update test snapshot according to placeholder change 4d57da1da
Binoy Patel fix(core): fix focus issues when a new reference field is added (#4400) c575bcb6f
Espen Hovlandsdal fix: exhaustive dependency arrays (#4368) 2d7fe784c
Cody Olsen chore(desk-tool): fix sort order dependency 9f6f4e8f3
Cody Olsen chore: fix artifact from merge conflict in #4368 5e1cb7b51
Per-Kristian Nordnes test(portable-text-editor): skip native pasting tests for MacOS f70384803
Espen Hovlandsdal test(e2e): use reduced motion selector for tests 968d72315
Espen Hovlandsdal test(e2e): fix incorrect boolean flag parsing da6f87588
Espen Hovlandsdal test(e2e): add SANITY_E2E_DEBUG flag for testing headful chrome 5fb28f8d9
Espen Hovlandsdal test(e2e): simplify authentication setup c242e7cbe
Per-Kristian Nordnes fix(portable-text-editor): fix issue with PTE merge operation not producing unset patch (#4416) 3f2b278bb
RitaDias fix(core): allow for skipping visibility in preview element (fix flickering issue) (#4408) 2aa071b5f
Bjørge Næss chore(renovate): open individual PRs for individual packages 3689ccf88
Cody Olsen refactor(timeline): use official external store with selector API (#4413) e1f2b7e2f
renovate[bot] fix(deps): update dependency framer-motion to v10 (#4380) 09d7f7c30
Bjørge Næss chore(renovate): autorebase dependency PRs when behind base branch e47ab0dd9
Nina Andal Aarvik fix(core): add max height to popover (#4414) 6742eda1f
Binoy Patel fix(core): list virtualization is broken inside modals (#4410) a00f0b97e
Per-Kristian Nordnes fix(portable-text-editor): ignore void edits inside markDefs (#4419) 1800fe5cf
Per-Kristian Nordnes feature(core): show to-blockstyle in pt-diff (#4321) 38bc5d8e6
Bjørge Næss chore(test-studio): add repro schema for scroll bug 050164c39
Binoy Patel fix(core): fix scrolling issue with documents 35c0ba90b
Espen Hovlandsdal feat(cli): support serving custom favicons (#4394) 14be44487
Espen Hovlandsdal test(e2e): wait for JS bundles to be ready in global setup 46c9a0b67
Espen Hovlandsdal test(e2e): bring back html reports for CI 8ec5f5d52
Binoy Patel fix(core): array item not showing when using modal: 'popover' (#4423) 8106688dd
sanity - v2.36.1

Published by rexxars over 1 year ago

⚠️ THIS IS A MAINTENANCE RELEASE OF A PREVIOUS MAJOR VERSION OF SANITY

We recommend updating to Sanity Studio v3 which provides exceptional flexibility and an unparalleled developer experience. The core packages for Sanity Studio v2 will only receive critical bug fixes until Dec 7th, 2023

Please head over to the documentation for Sanity Studio v3 to learn more.

You can find migration guides from Studio v2 here.

Installation and upgrading

Upgrade Sanity Studio with:

sanity upgrade

🐛 Notable bugfixes

  • Resolves an error that occurred when attempting to create a document of a certain type with an empty object as the initial value, resulting in a permission error

📓 Full changelog

Author Message Commit
Binoy Patel fix(form-builder): fix permission when initialValue is empty object (#4346) 51a676626
sanity - v3.9.0

Published by rexxars over 1 year ago

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npx create-sanity@latest

To upgrade an existing Studio (v3):

npm install sanity@latest

✨ Highlights

New init flags: --bare, --env

The npm create sanity and sanity init CLI commands now have two new flags available:

  • --bare - skips the installation of a Sanity Studio. Instead, it takes you through the project and dataset creation process and prints the project ID and dataset names to the console.
  • --env [path] - detects the framework used in the current directory and creates a .env file with the correct prefix for environment variables. The path is optional; the default value is .env, but you can change it to anything beginning with .env, for example, .env.local.example.

These flags are useful when you want to integrate an application with a new or existing project, when you have some existing Studio code you want to set up, or when you only need the Content Lake capabilities.

Improved performance on large arrays

Lists of objects and references are now virtualized in the Sanity Studio UI. This should significantly improve performance in documents with large arrays.

Improvements for custom Vite configuration

Any custom Vite configuration defined in sanity.cli.ts will now be merged with the default configuration using Vite’s merge logic. This improvement will make it easier customize the Vite configuration without having to deeply understand the defaults. The configuration now also has improved TypeScript types.

Other features

  • The schema validator now checks for fields that use the block type outside of an array, which is not currently supported (thanks @pauloborges!)

🐛 Notable bugfixes

  • Resolves an error that occurred when attempting to create a document of a certain type with an empty object as the initial value, resulting in a permission error
  • Addresses an issue where CSS files were not properly updated with a configured Studio base path
  • Fixes a bug that caused the Studio to crash when trying to fetch user data without proper permissions
  • Resolves a problem where multiple sorting options could be selected at the same time in a dropdown menu
  • Addresses an issue where long filenames/MIME types were not truncated in the file picker list
  • Resolves a bug that caused the Portable Text Editor to crash when encountering an invalid value.

📓 Full changelog

Author Message Commit
Espen Hovlandsdal test(cli): resolve user email for configured test token (#4353) 868fc614f
Espen Hovlandsdal test(cli): use --detach for dataset copy for faster runs (#4357) d085af04a
Binoy Patel chore(perf): add perf test for large document (#4356) 5c319e9e1
renovate[bot] fix(deps): update dependency scroll-into-view-if-needed to v3.0.10 (#4328) 0e598baae
Binoy Patel fix(core): fix permissions when initialValue is empty object (#4360) 937421a0a
Binoy Patel fix(cli): fix basePath not assigned to css files (#4354) 71260003e
Noah Gentile fix(cli): apply user vite config in preview 94329592b
Noah Gentile feat(cli): merge user vite config object 53f780826
Noah Gentile feat(cli): align with vite config fn behavior 437a1b458
Noah Gentile refactor(cli): mock vite typings b43b69a31
Paulo Borges fix(schema): validate that object has no standalone block fields (#4199) c1311164a
Espen Hovlandsdal test(e2e): bump initial setup timeout to 120s 11c5efb04
Espen Hovlandsdal chore: fix prettify script not specifying path 538d31c54
Per-Kristian Nordnes refactor(portable-text-editor): ignore operations or patches targeting inside non-editable objects of the editor (#4334) 8e7a323e6
Binoy Patel fix(core): clear unused references in an array when clicked outside (#4361) cb9ef3ab3
Binoy Patel chore(cli): fix basePath test flakiness (#4366) 0cd32eb8f
shur fix: log inability to fetch user for avatars, prevent studio crash (#4367) bcc240dee
renovate[bot] chore(deps): update devdependencies (non-major) (#4329) 3cd83d4ab
Nina Andal Aarvik fix(core): add ellipsis textOverflow to type in file picker list (#4348) fcbea4b63
Nina Andal Aarvik fix(desk): compare selected on sortOrderRaw instead of sortOrder (#4345) 16cf23550
Benjamin Akar feat(cli): add --bare and --env flags to sanity init (#4290) 345d319ee
Cody Olsen chore(CI): create yarn lockfile maintenance action (#4370) f7fd7a100
ecospark[bot] chore(deps): lock file maintenance (#4371) 2657ad075
Cody Olsen chore(renovatebot): ignore the v2 text fixture deps bbb3a413e
renovate[bot] chore(deps): lock file maintenance (#4372) 0270793d0
renovate[bot] fix(deps): update dependency @types/three to ^0.150.0 (#4382) 629acf4a5
renovate[bot] fix(deps): update dependency three to ^0.151.0 (#4383) f6f9b8ced
Per-Kristian Nordnes fix(portable-text-editor): invalid Portable Text value causing crash (#4364) 2a154336f
Marius Lundgård fix(core): fix typos in config reducer error messages 72b37a5ef
Cody Olsen fix: refactor desk tool intent resolver to reduce remounts (#4363) e888f513b
Marius Lundgård fix(deps): update @sanity/icons 2f0ec122a
renovate[bot] chore(deps): lock file maintenance (#4387) 9e9d28634
Bjørge Næss fix(perf-runner): add support for running tests against recent tags only (#4386) 036c02983
Nina Andal Aarvik fix(core): capitalize type name if item type lacks title in pte (#4385) df16d464c
Binoy Patel fix(core): add virtualization to array of objects and references (#4299) 09afa59ad
sanity - v3.8.3

Published by binoy14 over 1 year ago

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npx create-sanity@latest

To upgrade a v3 Studio:

npm install sanity@latest

🐛 Notable bugfixes

  • Improves performance when inputing text in large documents
  • Fixes the issue where the document pane title, as defined in the desk structure, was not being utilized properly
  • Fixes a problem where intent route would not open the correct desk structure

📓 Full changelog

Author Message Commit
Cody Olsen chore(typings): remove get-it overrides (#4319) de48e2853
Robin Pyon chore(test-studio): filter out unavailable document types in recently edited documents b0c92bc2e
Binoy Patel chore(perf-test): Fix test id (#4324) 05aa9af91
Bjørge Næss fix(perf-runner): handle test errors and store on performanceTestRun documents (#4332) 0e1e71798
renovate[bot] chore(deps): update typescript packages (#4330) 9427dc632
Bjørge Næss fix(perf): memoize list of ids passed to Sortable 81d655112
Bjørge Næss fix(perf): make sure form callbacks are stable 9a03202c9
Bjørge Næss test(form): improve immutableReconcile tests for circular structures e3e69385c
Bjørge Næss fix(form): fix issue with immutableReconcile producing new identities for siblings of changed items 19e2a1387
Cody Olsen chore(CI): add prettier-if-needed action (#4294) aa76d9403
ecospark[bot] chore(prettier): fix unformatted files 🤖 ✨ (#4340) f33e6735f
Binoy Patel fix(core): fix document title not working (#4325) 76992d69e
Cody Olsen fix(router): resolve intent resolver regression since v3.7.1 (#4344) 8a2a52d32
sanity -

Published by skogsmaskin over 1 year ago

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npx create-sanity@latest

To upgrade a v3 Studio:

npm install sanity@latest

🐛 Notable bugfixes

  • Fixes a recent regression where Portable Text annotations within nested content could not be properly edited

📓 Full changelog

Author Message Commit
Per-Kristian Nordnes fix(portable-text-editor): fix wrong path being created for markDefs (#4341) d438f0da1
sanity -

Published by skogsmaskin over 1 year ago

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npx create-sanity@latest

To upgrade a v3 Studio:

npm install sanity@latest

🐛 Notable bugfixes

  • Fixes a regression from v3.8.0 where annotations could not be edited in Safari
  • Fixes an issue with duplicate keys when pasting empty lines into an empty Portable Text input

📓 Full changelog

Author Message Commit
Binoy Patel chore(deployment-sync): sync branch information on push webhook (#4318) 5f0b39391
Bjørge Næss refactor(perf): remove deployment-sync b659f1fe7
Per-Kristian Nordnes chore(portable-text-editor): loosen peer dep. requirement for rxjs 9c2181f2d
Per-Kristian Nordnes fix(portable-text-editor): fix issue when pasting mulitple empty blocks 469a26217
Per-Kristian Nordnes test(portable-text-editor): add support for testing pasting html a9b6b6890
Per-Kristian Nordnes test(portable-text-editor): add paste test for multiple empty blocks d12a46d16
Per-Kristian Nordnes refactor(portable-text-editor): rename param to align with usage elsewhere 33771b56d
Per-Kristian Nordnes refactor(portable-text-editor): clean up createWithInsertData plugin 054108b60
Per-Kristian Nordnes test(portable-text-editor): await clipboard write functions ec2678ad2
Per-Kristian Nordnes fix(form/inputs): fix Safari issue with annotation edit popovers being hidden 6d2a7b3a2
sanity - v3.8.0

Published by RitaDias over 1 year ago

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npx create-sanity@latest

To upgrade a v3 Studio:

npm install sanity@latest

✨ Highlights

Improved global create menu

The global create menu has been updated with alphabetically sorted options and a search field, providing a more convenient way to find a desired document. The menu has also been redesigned to appear in a popover instead of a full screen dialog for improved UX and less context switching.

🐛 Notable bugfixes

  • Fixes a recent regression in the Portable Text Editor where pasting content into an empty editor would cause an error
  • Fixes content overflow bug for query results in Vision and adds scroll bars to the result pane
  • Fixes issue where focus was not being returned to the editor after changing the style of a Portable Text block
  • Improves performance and issues related to validation in the Portable Text Editor

📓 Full changelog

Author Message Commit
Bjørge Næss refactor(perf-runner): convert perf runner to a cli + various improvements (#4298) bb9bcb972
Bjørge Næss chore(perf): add test for large array b454c8c18
Binoy Patel chore(perf): add test for editing another field in large doc 1985a55e7
Herman Wikner feat(core): improve global create menu (#4288) ea69cf4c8
Per-Kristian Nordnes test(test-studio): rename schema file .ts > .tsx cc1937d99
Per-Kristian Nordnes fix(portable-text-editor): remove unused props left behind fc6326ff6
Per-Kristian Nordnes refactor(portable-text-editor): rename type > schemaType + add schemaType to all rendercallbacks 20248617a
Per-Kristian Nordnes refactor(form/imputs): fix issues and improve PT-input custom rendring fdec8fcee
Per-Kristian Nordnes test(portable-text-editor): fix changed prop name 72746b220
Per-Kristian Nordnes refactor(form/inputs): improve BlockObject code 30fd99156
Per-Kristian Nordnes refactor(form/inputs): refactor PT-input inlineObject code 01b4377ce
Per-Kristian Nordnes refactor(form/inputs): address minor code style improvements from PR review b447bb6e3
Per-Kristian Nordnes refactor(portable-text-editor): remove legacy code no longer needed f3b6c970f
Per-Kristian Nordnes fix(form/inputs): fix popover open/close state issue with PT-input 921319ccc
Per-Kristian Nordnes test(portable-text-editor): update snapshot ed3eb32bb
Per-Kristian Nordnes refactor(form/inputs): remove unnecessary div aa381a7e4
Per-Kristian Nordnes refactor(form/inputs): improve block/inline-block actions handling e040c42d3
Per-Kristian Nordnes refactor(form/inputs): streamline Annotation custom rendering 9264d31f6
Per-Kristian Nordnes fix(form/inputs): fix wrong mode for delete inline object call c92586f18
Per-Kristian Nordnes fix(form/inputs): mark as not contentEditable 0d796790c
Per-Kristian Nordnes fix(portable-text-editor): remove redundant and incorrect hook 485e18b68
Per-Kristian Nordnes fix(portable-text-editor): fix issue with focused and selected prop for leaves 1766c63c2
Per-Kristian Nordnes refactor(portable-text-editor): optimize performance for path conversions f3eaf4012
Per-Kristian Nordnes fix(form/inputs): test for length of focusPath before creating initial selection c5716949c
Per-Kristian Nordnes refactor(form/inputs): refactor PT-input customization props e9f496f7e
Per-Kristian Nordnes fix(portable-text-editor): fix incorrect path matching with diffMatchPatches 3e121d4fb
Per-Kristian Nordnes refactor(portable-text-editor): sync value more delicately 1c2235754
Per-Kristian Nordnes chore(form/inputs): remove unused legacy code eec695a18
Per-Kristian Nordnes fix(form/inputs): fix invalid CSS value 0f42777bb
Per-Kristian Nordnes fix(portable-text-editor): ensure that changed inlineBlocks gets correct _key aea3b23bc
Per-Kristian Nordnes refactor(form/inputs): complete block customization support and refactor code 4cc3b5995
Per-Kristian Nordnes dev(test-studio): restore simpleBlock schema 01e39afc0
Per-Kristian Nordnes refactor(portable-text-editor): make useSyncValue more readable b253bbc7e
Per-Kristian Nordnes refactor(portable-text-editor): add backwards comp. for renamed prop. 0392d13d0
Per-Kristian Nordnes fix(portable-text-editor): fix useMemo deps gone wrong 2b3004bef
Espen Hovlandsdal chore: drop unused smoke test (#4280) 53e549862
Espen Hovlandsdal chore: drop unused mock files (#4279) 01a3cda85
Espen Hovlandsdal chore: refactor e2e test setup d92a606ea
Espen Hovlandsdal ci: add e2e test workflow 61c73a9fe
Binoy Patel fix(vision): fix results getting cut off in vision (#4287) 63753c242
Per-Kristian Nordnes fix(portable-text-editor): make deprecated property non-enumerable b9f0b5fad
Cody Olsen fix: upgrade @sanity/eventsource (#4303) 55c4f31b6
Per-Kristian Nordnes (form/inputs): PT: fix various path and selection issues (#4310) 1690bee2c
Per-Kristian Nordnes PTE: Improve validation and value propagation (#4307) 57ac64e25
Binoy Patel chore(perf): add perf tests for different array items (#4306) 137c70146
Per-Kristian Nordnes fix(portable-text-editor): fix issue with setIfMissing and insert patches on empty editor 3aee08070
Per-Kristian Nordnes test(portable-text-editor): update test to reflect recent changes to empty value handling 6d8e5b469
Per-Kristian Nordnes test(portable-text-editor): support pasting in collab test env. cec4b3b2c
Per-Kristian Nordnes test(portable-text-editor): test pasting into the editor bbb6a2b1d
Per-Kristian Nordnes refactor(portable-text-editor): improve selection management 8155969e8
Per-Kristian Nordnes test(portable-text-editor): temp. disable flakey expectation on CI a85b98da6
sanity - v3.7.1

Published by vicmeow over 1 year ago

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npx create-sanity@latest

To upgrade a v3 Studio:

npm install sanity@latest

🐛 Notable bugfixes

  • Fixes an issue where an array field’s value is not set to undefined when the last item is removed
  • Fixes hydration mismatch issues
  • Fixes an issue where preview panes are not preserved on smaller screens
  • Fixes an issue where the studio may crash when accessing history changes with reduced permissions

📓 Full changelog

Author Message Commit
Robin Pyon refactor(core): initial generalised command list (#4251) ea0211b12
Geoff Ball fix(core): typo 2155050b3
Robin Pyon fix(core): handle 403 responses when calling userStore.getUser() (#4281) 06fc26e12
Cody Olsen fix: preserve preview panes on small screens (#4276) c5ca9b6b7
Cody Olsen fix: upgrade history to v5 (#4282) 1adf7f909
Cody Olsen fix(SSR): handle scheme & onSchemeChange props edge cases (#4283) 0082be562
Binoy Patel fix(core): remove array from document when it's only item is unset (#4285) 8a2b8adeb
Chewie fix(types): add hidden to FieldGroupDefinition (#4208) 0fcb43956