Upgrade the Command Line Interface (CLI) with
npm install --global @sanity/cli
Upgrade the Content Studio with:
sanity upgrade
✨ Highlights
Improved editor user interface
The primary actions for a document (publish, unpublish, discard changes, delete) have been moved to a footer at the bottom of the screen, along with the current status of the document. This makes it easier to see the current status without scrolling to the top of the screen as well as logically groups document actions.
This change to the UI paves the way for upcoming features that we think will more than justify getting used to the new behaviour.
We've also centered the form within it's pane, giving you more whitespace and, we think, a more comfortable editing experience.
More helpful development server status
When the development server is rebuilding the latest changes, a message will now appear in the studio informing you that it's currently processing the change.
If the changes cannot be applied without reloading, you will get a message prompting you to reload the studio to see the latest changes.
Fixed GQL top-level reference/array types
A long-standing bug has prevented named reference and array types defined in the types
array of your schema to be used in GraphQL schemas. This is now finally fixed - hooray! 🎉
React 16.9 minimum requirement
In a prior release several months ago, we deprecated React versions below 16.9. With this release we've made it the minimum required version to run the studio. This means that Sanity plugins targeting 0.145.0 or higher can now use the React hooks feature.
📓 Full changelog
Author | Message | Commit |
---|---|---|
Knut Melvær | [readme] Update with new messaging and illustrations (#1574) | 795fb90 |
Knut Melvær | [readme] Update README.md | fb0b567 |
Espen Hovlandsdal | [core] Deploy: use passed SOURCE_DIR even when building | 87588b7 |
Espen Hovlandsdal | [preview] Fix typescript build issue | 8d903bf |
Espen Hovlandsdal | [cli] Require node version 8.6 or higher (#1592) | aab05a9 |
Espen Hovlandsdal | [form-builder] Fix typescript build errors | 0ffab58 |
Espen Hovlandsdal | [chore] README: Add link to Twitter badge | cac9c29 |
Espen Hovlandsdal | [core] Include GraphQL commands in CLI help output (#1597) | 9e36787 |
Espen Hovlandsdal | [components] Make snackbar items updateable (#1594) | 300e6d1 |
Rune Botten | [client] Update listening query example in readme (#1587) | 6da2a4f |
Espen Hovlandsdal | [groq] Don't use arrow functions, fixes IE11 compatibility (#1598) | 74082c9 |
Espen Hovlandsdal | [components] Spinner: Allow passing children instead of message (#1593) | 28da8da |
Espen Hovlandsdal | [server] Implement custom HMR client for in-studio build status (#1595) | 8af544d |
Espen Hovlandsdal | [core] GraphQL: Fix top-level references/array types (#1602) | 4a743bd |
Anders Stensaas | [chore] Replace the in-publish package with prepublishOnly NPM step | 9a6d6aa |
Anders Stensaas | [chore] Reflect that tests have dependencies on compiled files in CONTRIBUTING.md | 9ee5553 |
Espen Hovlandsdal | [desk-tool] Implement initial split pane spike | aab9abf |
Espen Hovlandsdal | [structure] Allow editors to have children | 3cd6c0b |
Espen Hovlandsdal | [structure] Allow custom components to have children | 4eb2d73 |
Espen Hovlandsdal | [base] Define contextual previews part and add eye icon | 6ad075e |
Espen Hovlandsdal | [desk-tool] Hide "params", introduce "payload" | 649373f |
Marius Lundgård | [desk-tool] Refactor UI: move pane buttons to DefaultPane, and move things into place as per design sketch | 58acc13 |
Espen Hovlandsdal | [structure] Introduce views, document node | 48eee1f |
Espen Hovlandsdal | [desk-tool] Implement document pane (replaces editor pane) | 2184b39 |
Espen Hovlandsdal | [components] Tabbed pane placeholder | cea3400 |
Espen Hovlandsdal | [test-studio] Rewire previews | 049b865 |
Marius Lundgård | [components] Add tabs components | 4eec2b0 |
Marius Lundgård | [desk-tool] Implement tabs components | 58e85dc |
Marius Lundgård | [components] Improve tabs accessibility and add Storybook example | 342b73d |
Marius Lundgård | [components] Implement tab panel | 5504e14 |
Marius Lundgård | [base] Add and update icons | 1ac7f36 |
Marius Lundgård | [components] Improve tabbed panes UI | a29ad51 |
Marius Lundgård | [components] Improve pane header and footer UI | 25b1fb7 |
Marius Lundgård | [desk-tool] Improve footer UI | 0a849d4 |
Marius Lundgård | [components] Fix tab component paths | a7e1d9f |
Marius Lundgård | [components] Show pane footer only when hovering | 4e030bb |
Marius Lundgård | [components] Hide focus outline on tab panels | c383846 |
Marius Lundgård | [components] Fix z-index issue | 047ee1f |
Espen Hovlandsdal | [components] Render icon if set | cf85d62 |
Espen Hovlandsdal | [desk-tool] Use pane key as id prefix for aria attributes | e0a1191 |
Espen Hovlandsdal | [structure] Deprecate editor in favor of document | e533fa7 |
Espen Hovlandsdal | [desk-tool] Remove EditorPane in favor of DocumentPane | e452f7b |
Espen Hovlandsdal | [desk-tool] Rewire initial template value templates to use params/payload | babd0e8 |
Espen Hovlandsdal | [structure] Make generic lists fall back to default intent checker | 48533d4 |
Espen Hovlandsdal | [desk-tool] Pass index (depth) of pane to intent checker | ade2ade |
Espen Hovlandsdal | [desk-tool] Fix fallback edit pane intent resolving | cb6d74e |
Espen Hovlandsdal | [test-studio] Set better title for developers pane | a3fd6b4 |
Espen Hovlandsdal | [state-router] Reuse base64 JSON encoding for params/payload | 9656938 |
Espen Hovlandsdal | [desk-tool] Fix issue where unknown schema types would fail | 098cf1c |
Espen Hovlandsdal | [desk-tool] Use PaneRouterContext naming to allow for PaneViewContext | 5f0db26 |
Espen Hovlandsdal | [components] Hide split pane button if only a single view is present | ae8bdc7 |
Espen Hovlandsdal | [desk-tool] Add duplicated pane next to current, not the end | ba1469b |
Espen Hovlandsdal | [desk-tool] Pass child item id to panes | d1f076b |
Espen Hovlandsdal | [desk-tool] Only resolve panes based on IDs, not params/payloads | ca881d5 |
Espen Hovlandsdal | [test-studio] Allow specifying delay in desk structure resolving | e8f5947 |
Espen Hovlandsdal | [desk-tool] Pass noop patch channel on history view, supressing warning | c4c8fc3 |
Espen Hovlandsdal | [desk-tool] Drop pane from pane router context methods
| 738d5ed |
Espen Hovlandsdal | [desk-tool] Don't clear other params when switching view | b21a1cb |
Espen Hovlandsdal | [desk-tool] Simplify duplicate pane group definitions, inherit params | 955085c |
Espen Hovlandsdal | [desk-tool] Unsubscribe from history fetching on unmount | b66c4f8 |
Espen Hovlandsdal | [desk-tool] Share history revision across sibling panes | 2b6af49 |
Espen Hovlandsdal | [test-studio] Use pre-wrap for preview component | e91d512 |
Espen Hovlandsdal | [desk-tool] Make all pane context methods use objects over args | 331b3de |
Espen Hovlandsdal | [desk-tool] Pass down historical document directly to InspectHistory | 0b5b888 |
Espen Hovlandsdal | [desk-tool] Pass params/payload to fallback editor resolver | 9be1fed |
Marius Lundgård | [desk-tool] Implement new document footer | 2522e5c |
Espen Hovlandsdal | [components] HistoryListItem: Use '-' for current revision | 9c39d16 |
Espen Hovlandsdal | [desk-tool] Move most history state to URL-params | 03ba128 |
Espen Hovlandsdal | [desk-tool] Scroll to selected history event on mount | c390ca2 |
Marius Lundgård | [desk-tool] Fix issue with history footer not rendering | 6917c73 |
Marius Lundgård | [desk-tool] Rename 'staticContent' property to 'footer' | 8f149d7 |
Marius Lundgård | [desk-tool] Make onHistoryStatusClick optional | 5b4f4d4 |
Marius Lundgård | [components] Remove unused scroll UI logic | 8998ce7 |
Marius Lundgård | [test-studio] Improve DeveloperPreview appearance + small screen fixes | 8bb8464 |
Marius Lundgård | [desk-tool] Improve panel content rendering | 18acd93 |
Marius Lundgård | [components] Fix visual bug in pane header | 72756d0 |
Marius Lundgård | [components] Fix pane header z-index issue | 0a9b590 |
Espen Hovlandsdal | [structure] Update tests to reflect intent handler changes | 38e33eb |
Espen Hovlandsdal | [desk-tool] Don't show history list if collapsed | 7395bb2 |
Espen Hovlandsdal | [desk-tool] Reintroduce keyboard shortcuts on focus | 7386523 |
Espen Hovlandsdal | [desk-tool] Remove historical revision from URL on mobile | 9f4ccca |
Espen Hovlandsdal | [desk-tool] Remove outdated tests | 7ab4dbb |
Espen Hovlandsdal | [desk-tool] Reintroduce "discard changes" | 347ad6d |
Espen Hovlandsdal | [transaction-collator] Reintroduce "discarded draft" event | da969ac |
Espen Hovlandsdal | [state-router] Try to parse JSON params as non-base64 params too (legacy) | 738b3b3 |
Marius Lundgård | [desk-tool] Improve document pane layout | e7af425 |
Espen Hovlandsdal | [all] Require React >= 16.9 for all studio modules | 01190dc |
Espen Hovlandsdal | [structure] Inherit document type list title from item if possible | b828204 |
Espen Hovlandsdal | [structure] Allow . in structure node IDs
| 30009c1 |
Espen Hovlandsdal | [test-studio] Add image asset document list to structure | 5b1d7a6 |
Espen Hovlandsdal | [desk-tool] Use useContext for link components | 3af3141 |
Espen Hovlandsdal | [desk-tool] Fix incorrect pane diff index calculation | f51ae26 |
Espen Hovlandsdal | [desk-tool] Use context hook for PaneItemWrapper | b3de6b5 |
Espen Hovlandsdal | [desk-tool] Do not pass pane context as prop to panes | d1b1969 |
Espen Hovlandsdal | [desk-tool] Improve transition between historical revisions | cfbc8dd |
Espen Hovlandsdal | [desk-tool] Simplify props passed to pane views | 94e5091 |
Marius Lundgård | [desk-tool] Add tests of action index resolving | 03bb9d7 |
Marius Lundgård | [components] Improve pane UI and tab navigation | a3e41c7 |
Marius Lundgård | [components] Move the snackbars higher on the screen | 91aa60a |
Marius Lundgård | [components] Minor DefaultPane visual improvements | 9005552 |
Marius Lundgård | [desk-tool] Show hotkey hints in actions | 8cea20f |
Marius Lundgård | [components] Make min-height fill pane for preview on mobile | 08db3b5 |
Marius Lundgård | [components] Make tab list scrollable | 4206866 |
Espen Hovlandsdal | [desk-tool] Fix pane resolving when closing group members | 687e914 |
Espen Hovlandsdal | [default-layout] Use published document ID for search result intents | da5b831 |
Espen Hovlandsdal | [desk-tool] Add document ID to structure node ID for fallback pane | a3b98df |
Espen Hovlandsdal | [components] Only render split/close buttons if onSplitPane is defined | 0f89d95 |
Espen Hovlandsdal | [desk-tool] Only allow splitting panes on large screens | 0491660 |
Espen Hovlandsdal | [desk-tool] Cut split panes from URL on narrow screens | 8d162a2 |
Espen Hovlandsdal | [structure] Add documentWithInitialValueTemplate function
| efe452c |
Espen Hovlandsdal | [desk-tool] Fix incorrect template being passed to fallback pane | 21a6da4 |
Espen Hovlandsdal | [desk-tool] Prevent partial re-render before sync structure resolves | 4b20178 |
Marius Lundgård | [components] Improve pane UI | fd0c72e |
Marius Lundgård | [components] Fix pane footer overlapping issue | 3c634e4 |
Marius Lundgård | [components] Fix scroll container width on small screens | 5bdd18f |
Espen Hovlandsdal | [components] Fix non-scroll container width on small screens | 90cc5f8 |
Marius Lundgård | [desk-tool] Improve document status bar UI | 3ac7330 |
Espen Hovlandsdal | [base] Skip checking versions for missing dependencies | 496f743 |
Espen Hovlandsdal | [components] Add "secondary" to list of known button kinds | da27d00 |
Espen Hovlandsdal | [test-studio] Remove delayed resolving of initial value template for author | 200fcfe |
Espen Hovlandsdal | [desk-tool] Resolve from root if no panes are present in URL | 49c6981 |
Espen Hovlandsdal | [desk-tool] Fix panes not resolving on transition to fewer pane segments | 2c4f803 |
Espen Hovlandsdal | [components] Make pane footer sticky unless we have tabs | 68ec69c |
Espen Hovlandsdal | [desk-tool] Expose hasGroupSiblings property on pane router context | 221b301 |
Espen Hovlandsdal | [components] Remove unused template selection logic from pane components | 5920a4b |
Espen Hovlandsdal | [components] Render sticky footer if no sibling panes are present | 83afad2 |
Espen Hovlandsdal | [core] Upgrade to Terser 4.4, execute out-of-process (#1608) | 33d310c |