Upgrade the Command Line Interface (CLI) with:
npm install --global @sanity/cli
Upgrade Sanity Studio with:
sanity upgrade
✨ Highlights
Maintainance update to the Portable Text Editor
This update brings fixes for several bugs and improvements to the Portable Text Editor's performance and reliability. It also includes:
- Better keyboard accessibility when editing embedded objects
- Better tracking of validation errors within the editor
- Better Android and IME support
Default .eslintrc file when creating new projects with the CLI
New projects bootstrapped with the CLI will now contain a default .eslintrc
that extends our new shared ESLint config @sanity/eslint-config-studio.
🐛 Notable bugfixes
- Fixed an issue where the
mode
parameter for the code input would be incorrectly interpreted (Thanks Tommy for the PR!) - Fixed an issue where
sanity upgrade
would fail if@sanity/code-input
was installed. - Fixed an issue where
sanity upgrade
,sanity versions
andsanity debug
would fail if running without any dependencies installed. - Removed third party dependency causing security warnings with
npm audit
(immer.js
)
📓 Full changelog
Author | Message | Commit |
---|---|---|
Bjørge Næss | fix(base): make presence store debug use debugparams | 9583d75 |
Tommy | fix(code-input): ace mode variable is interpreted wrongly (#3077) | 2522cde |
Bjørge Næss | chore(test-studio): fix lint error | dad4c2d |
Espen Hovlandsdal | fix(core): provide ace globals when mocking browser env | 3e90892 |
Rico Kahler | feat(cli): create .eslintrc when bootstrapping new projects (#3055) | 822ed41 |
Espen Hovlandsdal | chore: upgrade webpack-hot-middleware | 19cca36 |
Per-Kristian Nordnes | chore(portable-text-editor): upgrade package versions | e7a20f9 |
Per-Kristian Nordnes | feat(portable-text-editor): define CustomTypes for slate | 95014e8 |
Per-Kristian Nordnes | refactor(portable-text-editor): use new types and determinators | 2438731 |
Per-Kristian Nordnes | fix(portable-text-editor): fix selection issues | cf302f3 |
Per-Kristian Nordnes | feat(portable-text-editor): add new plugin that emits PT selections | 213db47 |
Per-Kristian Nordnes | refactor(portable-text-editor): refactor the Editable component (see list) | 1e38300 |
Per-Kristian Nordnes | refactor(portable-text-editor): use better typings with toPortableTextRange | 3694281 |
Per-Kristian Nordnes | fix(portable-text-editor): change default listItem value | 1d98eff |
Per-Kristian Nordnes | fix(portable-text-editor): fix bug with adding marks | 826267e |
Per-Kristian Nordnes | refactor(portable-text-editor): don't emit or change editor in pt-list plugin | 6388eb3 |
Per-Kristian Nordnes | chore(portable-text-editor): remove unused code | ac11f26 |
Per-Kristian Nordnes | refactor(portable-text-editor): don't emit selections or change editor in patching plugin | 5a23c01 |
Per-Kristian Nordnes | chore(portable-text-editor): remove unused code | f7d3cb1 |
Per-Kristian Nordnes | refactor(portable-text-editor): use shared fn to create new block | 69e6aa9 |
Per-Kristian Nordnes | feat(portable-text-editor): reset block style on enter | abc9f96 |
Per-Kristian Nordnes | refactor(portable-text-editor): fix issues and remove code from InsertData plugin | a88524c |
Per-Kristian Nordnes | refactor(portable-text-editor): fix and clean up clipboard handling | 851d072 |
Per-Kristian Nordnes | refactor(portable-text-editor): refactor selection adjustments for unset child | 6418fc2 |
Per-Kristian Nordnes | refactor(portable-text-editor): move hasEditableTarget util to Editable | caa1e00 |
Per-Kristian Nordnes | test(portable-text-editor): refactor and add component tests for PortableTextEditor | 5ed1c84 |
Per-Kristian Nordnes | test(portable-text-editor): update test in regard to new key generator used | 86ca12f |
Per-Kristian Nordnes | test(portable-text-editor): make collaborative test environment more reliable | 018b51b |
Per-Kristian Nordnes | test(portable-text-editor): add selection adjustment collab test | b5467b7 |
Per-Kristian Nordnes | test(form-builder): streamline container props with other PTE Workshop stories | 35f1fb1 |
Per-Kristian Nordnes | refactor(form-builder): refactor wrapping of the PTE components | 8c32868 |
Per-Kristian Nordnes | fix(form-builder): fix Android breakage in PTE | 702a9d9 |
Per-Kristian Nordnes | fix(form-builder): fix zIndex issue with VisibleOnFocusButton | f1305e4 |
Per-Kristian Nordnes | fix(form-builder): fix several issues causing selection issues in the PTE | 10aa766 |
Per-Kristian Nordnes | test(portable-text-edior): increase timeouts as CI struggles with Win testing | 24dcddd |
Per-Kristian Nordnes | fix(portable-text-editor): check for child path before checking for marks | 1ec2b0f |
Per-Kristian Nordnes | refactor(portable-text-editor): expect empty blocks to have default (first) style | 1f73940 |
Per-Kristian Nordnes | fix(portable-text-editor): prefer unknown over any type | 0ca1d41 |
Per-Kristian Nordnes | fix(portable-text-editor): always emit the new value | aa519e6 |
Per-Kristian Nordnes | fix(portable-text-editor): make a default selection when focusing | 7a4bdfb |
Per-Kristian Nordnes | fix(portable-text-editor): enter hotkey: only reset style when in end of line | a5130be |
Per-Kristian Nordnes | refactor(portable-text-editor): clean up selection adjustment fn | feb4f12 |
Per-Kristian Nordnes | chore(portable-text-editor): add @types/node | 90896ac |
Per-Kristian Nordnes | test(portable-text-editor): make a more special test selection | 75b0a8b |
Per-Kristian Nordnes | fix(form-builder): PTE toolbar must respect readOnly | 5d3a1af |
Per-Kristian Nordnes | refactor(form-builder): fix and refactor PTE input selection and focus handling | 2065fe8 |
Per-Kristian Nordnes | test(form-builder): fix focusPath issue with TestInput | 7835089 |
Per-Kristian Nordnes | fix(form-builder): fix contentEditable issue with TextBlock | 8ec0485 |
Per-Kristian Nordnes | fix(portable-text-editor): fix broken typings for patchToOperations | 5b6b6d3 |
Per-Kristian Nordnes | refactor(portable-text-editor): change plugin chain ordering | c4b3692 |
Per-Kristian Nordnes | feature(portable-text-editor): add some convenience methods | c4dae64 |
Per-Kristian Nordnes | refactor(portable-text-editor): remove sel. state and keep object equality | 328f152 |
Per-Kristian Nordnes | fix(portable-text-editor): fix broken delete fn and add test | 6e819ab |
Per-Kristian Nordnes | test(portable-text-editor): move tests into own plugin test folder | 00ba26f |
Per-Kristian Nordnes | test(portable-text-editor): try to lower limits after selection refactor | 8b0b12c |
Per-Kristian Nordnes | fix(portable-text-editor): normalize plain text fragment too | 3ebc72f |
Per-Kristian Nordnes | fix(form-builder): pte wrap block extras in own conatiner | c38fdf7 |
Per-Kristian Nordnes | refactor(form-builder): PTE: refactor selection and focus handling | 124cfdf |
Per-Kristian Nordnes | feature(form-builder): PTE make inline objects editable by keyboard | 8e7d86c |
Per-Kristian Nordnes | fix(form-builder): PTE make annotation edit toolbar work with keyboard | 205781c |
Per-Kristian Nordnes | test(form-builder): Tweak PTE Workshop values | 8da6118 |
Per-Kristian Nordnes | refactor(form-builder): rename files: Input > Compositor | e08d26a |
Per-Kristian Nordnes | refactor(portable-text-editor): don't manipulate focus in EditableAPI | 79a963c |
Per-Kristian Nordnes | fix(form-builder): PTE: fix focus issues when edting modals | 80948f9 |
Per-Kristian Nordnes | docs(form-builder): add some comments for what the hooks are for | 049857b |
Per-Kristian Nordnes | feature(form-builder): add single simple hook to scroll to editor elments when focus from outside | 51faec3 |
Per-Kristian Nordnes | refactor(form-builder): split helper func. into two and export | f00dd10 |
Per-Kristian Nordnes | test(test-studio): add validation rules to test schema | 9b65776 |
Per-Kristian Nordnes | feature(portable-text-editor): add convenience method: isObjectPath | 6199c3b |
Per-Kristian Nordnes | refactor(form-builder): use path function on PortableTextEditor instead | 98e5c45 |
Per-Kristian Nordnes | refactor(form-builder): turn off global spellcheck | 7a86951 |
Per-Kristian Nordnes | feature(form-builder): open modals when double clicking on block/inline objnect | 1a2dc8a |
Per-Kristian Nordnes | refactor(portable-text-editor): refactor withInsertData plugin | 7ab5985 |
Per-Kristian Nordnes | chore(portable-text-editor): remove unused code + update comment | 3dbf8bb |
Per-Kristian Nordnes | test(portable-text-editor): separate the PortableTextEditorTester com. and tests. | f640157 |
Per-Kristian Nordnes | fix(portable-text-editor): call .onChange on all manipulating EditableAPI functions | 35441f6 |
Per-Kristian Nordnes | feature(form-builder): make easier keyboard access to focused block object | 99cf8ea |
Per-Kristian Nordnes | fix(form-builder): avoid elm. focus tangling with menu button on BlockObjectPreview | eeed45c |
Per-Kristian Nordnes | refactor(form-builder): remove redundant user-select styles | 478c005 |
Per-Kristian Nordnes | fix(form-builder): fix some cross browser issues with object toolbars | 142a3a6 |
Per-Kristian Nordnes | refactor(form-builder): tune focusPath and selection handling | 2332554 |
Per-Kristian Nordnes | test(form-builder): add focusPath inspector to workshop story | a6c2a7c |
Per-Kristian Nordnes | refactor(portable-text-editor): clean up loose ends in copy/paste | 4ce2ec4 |
Per-Kristian Nordnes | fix(portable-text-editor): fix bug in isObjectPath determinator fn | 9e3f6e7 |
Per-Kristian Nordnes | refactor(portable-text-editor): work around introducing breaking change | fb0a8cf |
Per-Kristian Nordnes | refactor(form-builder): add descriptive convenience method | 15a5e10 |
Per-Kristian Nordnes | refactor(form-builder): fix issues with scroll to focus from outside | 8a7401a |
Per-Kristian Nordnes | fix(form-builder): only use 'is-needed' for scrollIntoView | 83a2fcf |
Per-Kristian Nordnes | fix(portable-text-editor): fix bug in isObjectPath | e3cbdfd |
Per-Kristian Nordnes | test(portable-text-editor): add selection adjustment test | 861c11c |
Per-Kristian Nordnes | fix(portable-text-editor): fix bug in object path determinator | 1054159 |
Per-Kristian Nordnes | refactor(portable-text-editor): always emit selection when changed | 92d1973 |
Per-Kristian Nordnes | refactor(portable-text-editor): dirty-check props value | a84ad64 |
Per-Kristian Nordnes | fix(portable-text-editor): change plugin order | 725fa7e |
Per-Kristian Nordnes | fix(portable-text-editor): call onChange where needed | de0ffee |
Per-Kristian Nordnes | refactor(portable-text-editor): refactor / fix issues with selection adjustment | 471c816 |
Per-Kristian Nordnes | test(form-builder): update workshop files | 268b816 |
Per-Kristian Nordnes | test(form-builder): increase jest timeout on test | bc0f56c |
Per-Kristian Nordnes | fix(form-builder): fix reference element issue with popover | 68a517f |
Per-Kristian Nordnes | refactor(form-builder): memo useObjectEditData hook result | 6a20dcd |
Per-Kristian Nordnes | fix(form-builder): fix blur and foucus issue with hooks | b53e808 |
Per-Kristian Nordnes | test(form-builder): increase jest timeout for test | 2a35113 |
Per-Kristian Nordnes | fix(form-builder): fix issues with popover object editing | 29db1e6 |
Per-Kristian Nordnes | fix(form-builder): fix possible undefined error | 0206dc5 |
Per-Kristian Nordnes | test(form-builder): update workshop story | 7401f66 |
Per-Kristian Nordnes | fix(portable-text-editor): fix bug in onPaste handler | 39557cd |
Per-Kristian Nordnes | fix(form-builder): don't close object edit modal if not top layer | 3dfa672 |
Per-Kristian Nordnes | fix(portable-text-editor): put selection in state to force update context provider | be4dded |
Per-Kristian Nordnes | refactor(portable-text-editor): rename function and simplify | 2bab799 |
Per-Kristian Nordnes | fix(form-builder): fix browser comp. issues with dragging block objects | 077dfa9 |
Per-Kristian Nordnes | fix(form-builder): add cursor css to inline object | b14439d |
Per-Kristian Nordnes | test(form-builder): add ReviewChangesContextProvider | d71d7d2 |
Per-Kristian Nordnes | fix(portable-text-editor): don't break API signature | 0fb1c2a |
Per-Kristian Nordnes | fix(portable-text-editor): upgrade @sanity/slate-react | 95b8f47 |
Per-Kristian Nordnes | fix(portable-text-editor): add missing value change emission | cd0e54f |
Per-Kristian Nordnes | fix(portable-text-editor): fix issues with dragging selections around | fddd1c6 |
Per-Kristian Nordnes | fix(portable-text-editor): fix issues with restoring value from props | 60fc9fb |
Per-Kristian Nordnes | refactor(form-builder): remove obsolete hook | e93067b |
Per-Kristian Nordnes | fix(portable-text-editor): emit selection as new object | a292cb1 |
Per-Kristian Nordnes | feature(portable-text-editor): put basic plainText and HTML on clipboard | 95494bf |
Per-Kristian Nordnes | fix(form-builder): remove obsolete style | 678015b |
Per-Kristian Nordnes | chore(portable-text-editor): upgrade package | 3e26008 |
Per-Kristian Nordnes | refactor(form-builder): rename callback fn | 49ad1b9 |
Per-Kristian Nordnes | refactor(form-builder): add typings to React ref + optimize cb | 84df66e |
Marius Lundgård | fix(form-builder): make sure dialogs open in full-pane mode | 5739590 |
Per-Kristian Nordnes | test(portable-text-editor): add test for marks normalization | a68bc84 |
Per-Kristian Nordnes | fix(portable-text-editor): fix normalization bug | a8918d5 |
Per-Kristian Nordnes | fix(portable-text-editor): call onChange when new selection from props | 3132abe |
Per-Kristian Nordnes | refactor(form-builder): change var into global const | 042a1c2 |
Per-Kristian Nordnes | refactor(form-builder): rename export to match filename | 596f8fb |
Per-Kristian Nordnes | chore(portable-text-editor): don't specify types | 90fd15d |
Per-Kristian Nordnes | fix(portable-text-editor): remove obsolete typecast | c23a540 |
Per-Kristian Nordnes | fix(portable-text-editor): add missing useCallback | 5a8620b |
Per-Kristian Nordnes | test(portable-text-editor): move schema test file to test root | c08a5f5 |
Per-Kristian Nordnes | fix(portable-text-editor): make void childs draggable only | 802cca8 |
Per-Kristian Nordnes | fix(form-builder): remove redundant CSS that breaks layout on Webkit | 809f4fb |
Per-Kristian Nordnes | refactor(portable-text-editor): Implement our own placeholder rendring | 8f17166 |
Per-Kristian Nordnes | refactor(form-builder): render our own placeholder element | 8b535cb |
Per-Kristian Nordnes | fix(form-builder): fix styled components syntax | 3f4a6c7 |
Per-Kristian Nordnes | chore(portable-text-editor): upgrade packages | 90f8f3e |
Per-Kristian Nordnes | test(portable-text-editor): allow for serving over network | 3d3e9bc |
Rico Kahler | fix(desk-tool): prevent stale actionHandlers (#3081)
| ee6021d |
Espen Hovlandsdal | fix(cli): delete react-ace before upgrade if going from 8.x to 9.x | 91f16be |
Espen Hovlandsdal | fix(cli): fix crash when running upgrade/debug/versions without dependencies | e025d04 |
Espen Hovlandsdal | fix(cli): add missing await | 3df83a4 |
Bjørge Næss | fix(code-input): fallback to 'text' if unable to resolve language mode in preview | e3a8486 |