Upgrade the Command Line Interface (CLI) with:
npm install --global @sanity/cli
Upgrade Sanity Studio with:
sanity upgrade
✨ Highlights
Fully migrated @sanity/default-layout
to Sanity UI
The navbar and all of its elements have been migrated with @sanity/ui
. The migration fixes a long-standing issue with responsiveness of the navbar, especially when it comes to the tool menu.
Fully migrated @sanity/desk-tool
to Sanity UI
The pane system has been rewritten from scratch, and the UI of Desk Tool is completely refactored to using @sanity/ui
.
Panes now support dynamic minimum and maximum widths, to provide a more responsive behavior.
Other features
- Newly initialized studios will now include a
.gitignore
- Speed of dataset imports improved when assets already exists
sanity hook
commands updated to be forwards-compatible with upcoming webhook changes
🐛 Notable bugfixes
- fix(language-filter): fixes popover placement issue when language list is long (#2801)
📓 Full changelog
Author | Message | Commit |
---|---|---|
Espen Hovlandsdal | ci(github): add experimental run for tests on windows | 181506b |
Espen Hovlandsdal | ci(github): improve workflow names | cd6f2c4 |
Espen Hovlandsdal | test(form-builder): set timezone in cross-platform way | bb0b409 |
Espen Hovlandsdal | test(resolver): normalize paths before asserting | 907b677 |
Henrique Doro | fix(resolver): replace fs-extra w/ fs.promises | 3c35eb9 |
Henrique Doro | test(resolver): provide correct paths on Windows | 2720883 |
Espen Hovlandsdal | test(client): drop unnecessary environment variable | 86ca7f5 |
Espen Hovlandsdal | test(plugin-loader): use simple cross-platform css class name generation | 85746c7 |
Espen Hovlandsdal | ci(github): attempt using bash shell for cli build | a61d4e4 |
Espen Hovlandsdal | chore(server): use monorepo aliases if applicable for all webpack configs | 3eb14bb |
Espen Hovlandsdal | ci(github): use node script for abstracting os-specifics | c2d98c0 |
Espen Hovlandsdal | ci(github): handle async errors in cli test script | 307dea8 |
Espen Hovlandsdal | ci(github): spawn node instead of cli directly | f0a1f4b |
Fred Carlsen | refactor(base): move logos to __legacy directory (#2793) | 6086e0e |
Marius Lundgård | build: update dependencies | 2f23060 |
Marius Lundgård | refactor(workshop): improve workshop | 30d6aa7 |
Per-Kristian Nordnes | refactor(base): export types as Type | 3454cc3 |
Per-Kristian Nordnes | refactor(form-builder): rename PTE css files to module.css | 4f13af1 |
Per-Kristian Nordnes | refactor(form-builder): export type as Type | 9935f62 |
Per-Kristian Nordnes | test(form-builder): add workshop for the PTE | 68b972b |
Per-Kristian Nordnes | test(portable-text-editor): fix broken / commented out unit tests | 599a971 |
Marius Lundgård | build(form-builder): add @sanity/ui-workshop as dependency
| 28ef97f |
Per-Kristian Nordnes | refactor(form-builder): remove unused props in PTE components | 0602203 |
hermanwikner | chore(default-layout): update dependencies | 975bb1e |
hermanwikner | refactor(default-layout): migrate SideMenu to @sanity/ui
| c7b73f9 |
hermanwikner | refactor(default-layout): migrate DatasetSelect to @sanity/ui
| 4194469 |
hermanwikner | refactor(default-layout): migrate LoginStatus to @sanity/ui
| 45fa763 |
hermanwikner | refactor(default-layout): migrate PresenceMenu + PresenceMenuItem to @sanity/ui
| c282db1 |
hermanwikner | refactor(default-layout): migrate ToolMenu to @sanity/ui
| 3cd105a |
hermanwikner | refactor(default-layout): migrate Navbar to @sanity/ui
| 5f1d3f5 |
hermanwikner | refactor(default-layout): migrate DefaultLayout to @sanity/ui
| aeabde4 |
hermanwikner | refactor(default-layout): migrate search to @sanity/ui
| 0423836 |
hermanwikner | fix(default-layout): update file casing | 723cb78 |
hermanwikner | refactor(default-layout): migrate Sidecar to @sanity/ui
| 0e0be29 |
hermanwikner | refactor(default-layout): migrate CreateDocumentDialog (previous name ActionDialog ) to @sanity/ui
| a0541f7 |
hermanwikner | refactor(default-layout): ui updates and code clean up in Navbar
| 23a2ec7 |
Marius Lundgård | fix(default-layout): add equality check to prevent render loop | ecc6409 |
Marius Lundgård | fix(state-router): fix equality check | 9003d21 |
hermanwikner | refactor(default-layout): add ToolCollapseMenu component with updated CollapseMenu + StatusButton
| a977971 |
hermanwikner | refactor(default-layout): migrate studioStatus to @sanity/ui
| 652f90b |
hermanwikner | refactor(default-layout): migrate SchemaErrors to @sanity/ui
| 2520126 |
hermanwikner | refactor(default-layout): migrate InitialValueTemplateError to @sanity/ui
| 0c35486 |
hermanwikner | refactor(default-layout): migrate NotFound to @sanity/ui
| c9335c8 |
hermanwikner | refactor(default-layout): migrate RenderTool to @sanity/ui
| f21df7a |
hermanwikner | test(default-layout): update navbar test
| 68e6756 |
hermanwikner | fix(default-layout): update DefaultLayout import in Root
| 1ced488 |
hermanwikner | refactor(default-layout): migrate ErrorScreen to @sanity/ui
| 5bd737c |
hermanwikner | fix(default-layout): update main exports and imports
| 8d403a7 |
hermanwikner | fix(default-layout): update NotFound import in Root
| bc7dfa5 |
hermanwikner | refactor(default-layout): remove NavbarContainer
| af6438b |
hermanwikner | refactor(default-layout): migrate Branding to @sanity/ui
| f6f4f3f |
hermanwikner | fix(default-layout): Update LoginStatus and SideMenu casing
| e235fcb |
hermanwikner | fix(default-layout): update PresenceMenu and PresenceMenuItem casing
| dd5656a |
hermanwikner | feat(base): add CollapaseMenu component
| f966326 |
hermanwikner | fix(default-layout): remove CollapseMenu (moved to base/components )
| 67368ca |
hermanwikner | refactor(default-layout): improve ToolCollapseMenu
| 4fef992 |
Marius Lundgård | refactor(default-layout): add part implementation for resolving tool menu | 86de17e |
hermanwikner | chore(base): add "react-intersection-observer" dependency | 89602e9 |
hermanwikner | fix(default-layout): ui fixes and code clean up in search | 2aafe41 |
hermanwikner | refactor(default-layout): update DefaultLayout styles
| 54c33ce |
hermanwikner | refactor(default-layout): refactor DataSelect to functional component
| 27b3018 |
hermanwikner | refactor(default-layout): ui updates in LoginStatus
| 604b7c5 |
hermanwikner | refactor(base): move CollapseMenuStory
| 5175fe5 |
Bjørge Næss | refactor(default-layout): clean up router typings | a40c285 |
hermanwikner | refactor(default-layout): use useDefaultLayout hook
| 9f5df36 |
hermanwikner | refactor(default-layout): presence ui updates | 6447a7e |
hermanwikner | refactor(default-layout): ui fix and rename prop in Navbar
| b361f9b |
hermanwikner | refactor(default-layout): ui updates in DefaultLayout
| b5d9e5c |
Marius Lundgård | build(default-layout): update dependency | 353241b |
Victoria Bergquist | refactor(desk-tool): migrate timeline menu to @sanity/ui and styled-components (#2714)
| 38ad25c |
Marius Lundgård | chore: fix typo | c22696f |
Marius Lundgård | fix(imagetool): fix prop types | 664af87 |
Marius Lundgård | fix(base): improve memoization | ec9e94d |
Marius Lundgård | refactor(base): memoize margins
| e495058 |
Marius Lundgård | refactor(test-studio): improve DeveloperPreview
| 93bdc51 |
Marius Lundgård | refactor(types): improve SanityDefaultPreview types
| 5e93bbf |
Marius Lundgård | refactor(base): improve default z-offsets | a3d83b0 |
Marius Lundgård | refactor(base): adjust pane resizer z-offset | f3af097 |
Marius Lundgård | refactor(base): improve preview | 9117d9c |
Marius Lundgård | test(base): improve change indicator workshop | 31be3d3 |
Marius Lundgård | refactor(base): improve presence components | 9465d90 |
Marius Lundgård | test(desk-tool): remove router mock | 086670f |
Marius Lundgård | build(desk-tool): update dependencies | ad02ff6 |
Marius Lundgård | chore(desk-tool): add lint script
| dea9d21 |
Marius Lundgård | chore(desk-tool): add type definition for StructureBuilder
| ee2806c |
Marius Lundgård | feat(desk-tool): add settings hook for simpler usage | 4165ddd |
Marius Lundgård | refactor(desk-tool): add badge typings | 9aa7e96 |
Marius Lundgård | refactor(desk-tool): improve document action types | 1326f03 |
Marius Lundgård | refactor(desk-tool): rename files | 4621430 |
Marius Lundgård | chore(desk-tool): delete unused files | 60215aa |
Marius Lundgård | refactor(desk-tool): improve components | e3d072d |
Marius Lundgård | refactor(desk-tool): improve DeskTool
| 8aa6f25 |
Marius Lundgård | feat(desk-tool): add components/pane
| 1f4df8c |
Marius Lundgård | test(desk-tool): add pane workshop | 8315175 |
Marius Lundgård | refactor(desk-tool): improve DeskToolPane
| 0eebb99 |
Marius Lundgård | refactor(desk-tool): improve PaneRouterProvider
| 5449bdd |
Marius Lundgård | feat(desk-tool): add DeskToolProvider
| 1ba46f3 |
Marius Lundgård | refactor(desk-tool): use new pane components in DocumentPane
| 387f691 |
Marius Lundgård | refactor(desk-tool): use new pane components in DocumentsListPane
| 878c3ef |
Marius Lundgård | refactor(desk-tool): use new pane components in ErrorPane
| 1313870 |
Marius Lundgård | refactor(desk-tool): use new pane components in ListPane
| 7361b24 |
Marius Lundgård | refactor(desk-tool): use new pane components in LoadingPane
| 53ef04f |
Marius Lundgård | refactor(desk-tool): use new pane components in UnknownPane
| ec5d2fd |
Marius Lundgård | refactor(desk-tool): use new pane components in UserComponentPane
| 3b7e79e |
Marius Lundgård | test(default-layout): update e2e test | 20104e3 |
Marius Lundgård | refactor(desk-tool): rename files according to convention | 4ef3476 |
Marius Lundgård | chore(desk-tool): move part implementations to _parts
| 55e26e4 |
Marius Lundgård | refactor(desk-tool): improve DocumentPane
| 4cb4cb4 |
Marius Lundgård | refactor(desk-tool): improve DocumentListPane
| c009adb |
Marius Lundgård | refactor(desk-tool): improve ListPane
| 2823bf6 |
Marius Lundgård | refactor(desk-tool): improve LoadingPane
| 2d17611 |
Marius Lundgård | refactor(desk-tool): improve UserComponentPane
| 5bc066c |
Marius Lundgård | chore(desk-tool): remove TS part reference | 8e926be |
Marius Lundgård | fix(state-router): fix return type | 5eaed3c |
Marius Lundgård | fix(default-layout): fix media queries to size tool wrapper correctly | e550d69 |
Marius Lundgård | fix(desk-tool): fix isDocumentWithType function
| 75dc281 |
Marius Lundgård | refactor(desk-tool): remove extra span in title | 18b517f |
Marius Lundgård | refactor(base): remove extra span in PreviewFields
| bc4cf0b |
Marius Lundgård | refactor(base): use data-testid
| bb116e7 |
Marius Lundgård | fix(desk-tool): increase z-offset of PaneHeader
| d959eeb |
Marius Lundgård | refactor(desk-tool): add data-testid to portal element
| f388eea |
Marius Lundgård | fix(form-builder): fix layering of scroll styles of portable text in fullscreen | c4a0eff |
Marius Lundgård | fix(desk-tool): revert patch channel memoization | 6a5854f |
Marius Lundgård | build: update dependencies | 4461ca2 |
RitaDias | refactor(popovers): migrate to @sanity/ui and replace icons (#2796)
| 459ebf9 |
hermanwikner | fix(default-layout): forward ref to StateLink in ToolCollapseMenu to enable keyboard navigation
| 49602e0 |
Fred Carlsen | fix(base): make sure the old styles properly for previews still work (#2797)
| 7efd125 |
Fred Carlsen | fix(language-filter): fixes popover placement issue when language list is long (#2801) | b05491f |
Espen Hovlandsdal | fix(cli): include gitignore in bootstrapped studios | ff94fa6 |
Marius Lundgård | fix(base): make sure color theme is only modernized when using default theme | f99b12e |
RitaDias | fix(desk-tool): fix line when withinSelection (#2809) | 1f76d38 |
Rico Kahler | test: unify test config (#2803) | 1946edd |
Marius Lundgård | fix(base): re-export as type | 44dac10 |
Marius Lundgård | chore(field): remove unused import | 7dad5b9 |
Marius Lundgård | refactor(workshop): add overflow: hidden on body
| a7d158a |
Marius Lundgård | refactor(base): add missing argument type | 0f5a32e |
Marius Lundgård | feat(test-studio): add custom DebugPane for testing
| 5fd4064 |
Marius Lundgård | refactor(state-router): rename props interface | ef093df |
Marius Lundgård | test(desk-tool): improve pane workshop | 44dd9c5 |
Marius Lundgård | refactor(desk-tool): increase hit area of pane title | dbce48c |
Marius Lundgård | fix(desk-tool): add key to action items | a6db238 |
Marius Lundgård | fix(desk-tool): pass correct props to user component | abb39c3 |
Marius Lundgård | chore(design-studio): test custom pane props | 92ce6cc |
Marius Lundgård | fix(desk-tool): respect showAsAction in UserComponentPane
| d10cfc1 |
Marius Lundgård | refactor(default-layout): adjust error UI | 78f9286 |
Marius Lundgård | refactor(desk-tool): improve pane router types | f20c7d7 |
Marius Lundgård | refactor(test-studio): migrate array type search to @sanity/ui
| 7717fa4 |
Fred Carlsen | refactor(vision): complete the migration to Sanity UI (#2805) | f0f424a |
Espen Hovlandsdal | chore(field): upgrade asset utils dependency | 8405140 |
Espen Hovlandsdal | fix(import): use json format for checking image assets | 3cd07ee |
Espen Hovlandsdal | chore: build with node 12 as minimum requirement for import modules | 9493613 |
Sindre Gulseth | fix(cli): version SAML login under non-experimental version | 634cb72 |
Rico Kahler | test: desk tool coverage (#2808) | 6c731cb |
RitaDias | fix(base): Add new prop called withtooltip & fix visual navigation in timeline (#2818) | 26ab7af |
Fred Carlsen | refactor(structure): replace icons with icons from @sanity/icons (#2812)
| 15f4702 |
RitaDias | refactor(base): migrate change indicators to styled components (#2817) | 1219e69 |
Fred Carlsen | fix(vision): empty previous result before listening | 17c1008 |
RitaDias | fix(form-builder): add fix for reference input when it's disabled (#2820) | f4f1166 |
Marius Lundgård | fix(react-hooks): improve reset and memoization of useEditState
| 09c7e11 |
Marius Lundgård | refactor(desk-tool): add DocumentPaneProvider
| d53a233 |
Marius Lundgård | refactor(default-layout): improve rendering performance | d6f3b1c |
Marius Lundgård | refactor(desk-tool): improve rendering performance | 3b4fe96 |
Marius Lundgård | fix(desk-tool): keep local clicked state in PaneItem to avoid flash
| b89bd9d |
Rico Kahler | test(desk-tool): check for scrollTo for jsdom env | da0099a |
Marius Lundgård | fix(desk-tool): fix TS errors after rebase | 670157d |
Marius Lundgård | fix(default-layout): improve search experience for keyboard users | f5b0ff2 |
Marius Lundgård | refactor(default-layout): use light navbar when searching in fullscreen | 855e80d |
Marius Lundgård | fix(base): set position: fixed on error overlay
| d9d63f4 |
Marius Lundgård | fix(default-layout): make tool fill height on narrow devices | aa6610c |
Marius Lundgård | refactor(desk-tool): move IntentResolver
| d0efe27 |
Marius Lundgård | fix(desk-tool): fix hook dependencies in IntentResolver
| 1034c28 |
Marius Lundgård | refactor(desk-tool): improve after peer review | 47cb392 |
Marius Lundgård | fix(default-login): fix react warnings | 9f49297 |
Marius Lundgård | refactor(default-login): adjust UI | 2e69737 |
Marius Lundgård | refactor(desk-tool): improve tooltips | ef057b4 |
Marius Lundgård | refactor(base): improve tooltip | da5a652 |
Marius Lundgård | refactor(default-layout): improve tooltips | a1a3a51 |
Marius Lundgård | refactor(desk-tool): remove DocumentHistoryContext
| 198048e |
Marius Lundgård | refactor(default-layout): lift tools to config
| 1f1cc60 |
Marius Lundgård | refactor(default-layout): improve route handling | 62c6ef0 |
Marius Lundgård | refactor(default-layout): memoize CreateDocumentDialog
| c3fa091 |
Marius Lundgård | refactor(state-router): improve types | 9d2d85a |
Marius Lundgård | refactor(default-layout): remove unnecessary memoization | 05832e4 |
Marius Lundgård | refactor(default-layout): improve url state memoization | c28e067 |
Marius Lundgård | refactor(desk-tool): remove unnecessary memoization | c8c1fc1 |
Rico Kahler | perf(default-layout): prevent re-renders on route change (#2824) | 34e12e5 |
Marius Lundgård | test(form-builder): test readOnly property
| 48a3190 |
Victoria Bergquist | refactor(base): migrate missingProjectConfig to @sanity/ui (#2825)
| fd6a7c9 |
Per-Kristian Nordnes | refactor(form-builder): use editorId and readOnly as key for editable | 6cd185c |
Per-Kristian Nordnes | refactor(form-builder): memoize observable prohibiting re-render | 8e1319b |
Bjørge Næss | fix(base): fix issue that disallowed editing the draft of a document that has been published (#2827) | 9113173 |
Marius Lundgård | feat(design-studio): add logo | 7eca97a |
Marius Lundgård | fix(default-login): align logo in login dialog | 8a6da08 |
Marius Lundgård | fix(default-layout): reset min-height of tools | c4d1c98 |
Espen Hovlandsdal | chore(design-studio): add missing dependency | 60eb72a |
Fred Carlsen | refactor(dashboard): remove css parts from readme (#2823) | 2da8942 |
Espen Hovlandsdal | feat(core): add support for groq-powered webhooks (#2831) | a2d2bd0 |
Espen Hovlandsdal | test: provide mock for 'sanity:versions' part | 39f9b6d |
Espen Hovlandsdal | fix(client): correct typings for observable request method | 650bb0a |
Espen Hovlandsdal | feat(base): add useModuleStatus hook, deprecate VersionChecker | 760423a |
Espen Hovlandsdal | feat(default-layout): replace VersionChecker with useModuleStatus hook | 08658ff |
Espen Hovlandsdal | fix(base): make coverage script use jest | 012e6ee |