Released Jan 30th 2018

Upgrade with:

sanity upgrade

And install the latest Command Line Interface (CLI) with:

npm install --global @sanity/cli

✨ Highlights

UI Rebalance ☯

We've sanded down the interface and spent time rebalancing that which defines it (contrast, margins, typography, hover states, button shapes, etc, etc, etc). It felt great.

Link to preview on site 🎉

A frequent feature request has been to support a way to preview content in a production setting, e.g on the web site. We have now added support for adding a link from the Content Studio to your site for previewing documents and drafts. Read more about the shiny new feature here.


Modals are the new popovers 💯

The Sanity form builder supports editing embedded objects. Put them lists along with other types! Put objects inside objects inside objects! However complicated your model, we'll render it.

We initially decided to pop the editor for objects in-place, where you clicked. This was intuitive, but was brittle with complex objects sometimes finding a way off-screen. Object editing now pops in centred modals.

Goodbye popovers, we hardly knew ye.

Demo display of a modal

Update notifier ⚠️

The studio now includes an update notifier which lets you know if your studio is up to date with the latest Sanity releases.

Faster previews ⚡️

List views are optimized to load items faster - in certain situations up to 10x faster!

🐛 Notable bugfixes

  • Fixed a bug where running sanity build or sanity deploy without having run sanity start would fail because of missing plugin configuration files
  • Fixed a bug in the block editor regarding annotating a text with a reference that would throw an error.
  • Robustified how the block editor creates an editor state to better be able to recover from invalid source data.
  • Fixed a bug that caused the _createdAt field on documents to be reset upon publishing.
  • Fixed a bug causing fieldsets to be collapsed by default in some cases when they should not.
  • Fixed a bug that could in some rare cases cause inconsistencies when publishing documents.

📓 Full changelog

Bjørge Næssschema Remove stray assertions (#476)ff8f4d513
Bjørge Næsschore Upgrade/normalize dependencies and get rid of cyclic dependencies (#474)0fa400f53
Per-Kristian Nordnesdefault-login Allow overriding provider list through json config file (#461)e2811e852
Espen Hovlandsdalbase Optimize preview snapshot fetching (#468)55e707bdd
Espen Hovlandsdalcore Re-initialize plugin configs before building to static assetsc98f39dfa
Bjørge Næsstest-studio Add default login config to test studiodf13bcf88
Bjørge Næssform-builder Don't force scroll input into view on focus (#481)4c82ba1ed
Bjørge Næsspreview Move preview related code to own package (#482)c49298a28
Espen Hovlandsdaldefault-layout Add update notifier for outdated modules01248c24c
Kristoffer J. Sivertsendefault-layout Styling update notifier0c3b236b9
Bjørge Næssobservable Upgrade rxjs to 5.5.6 (#483)4309c6daf
Bjørge Næssform-builder Improve UX of PrimitiveArray (#484)b20e7b1fc
Kristoffer J. Sivertsenall Visual improvements across studio (#486)1808bc298
Kristoffer J. Sivertsencomponents Visual improvements - input components (#488)cb6fd8dc4
Kristoffer J. Sivertsenform-builder Use Dialog for editing array items (#487)2b6e68289
Kristoffer J. Sivertsendefault-layout Visual improvements - create screen (#489)e2f6cfebb
Bjørge Næssimagetool Support onChangeEnd event and cache imagetool value in ImageToolInput (#490)ec3c57c56
Bjørge Næssform-builder Remove setTimeout hacks due to popover issues (#495)84a5eae2d
Bjørge Næssform-builder Make ArrayOfPrimitives tolerant of missing value (#496)003a04931
Bjørge Næsspreview Expose a default materializePaths function (#492)4eb8590dc
Kristoffer J. Sivertsenall Design tweaks (#493)c32340b4b
Espen Hovlandsdalchore Travis: Sanity binary executable without full path1b38e0f7d
Espen Hovlandsdalcli Don't import data in unattended mode1eb50c1a3
Kristoffer J. Sivertsenform-builder Moving over styling from rich-date and fixing datetime (#501)20deb5ff8
Bjørge Næssschema Give image fields higher priority for media preview (#506)3c968dd91
Espen Hovlandsdaltest-studio Update vision62577efe5
Kristoffer J. Sivertsendesign Mobile fixes (#509)ef49be817
Kristoffer J. Sivertsenvision Fixing scroll problem02bb1896c
Espen Hovlandsdalclient Make Promise polyfill details clearer, add help url to thrown error27fa1a7ae
Kristoffer J. Sivertsenform-builder Styling upload input progress (#511)8a15a1d20
Espen Hovlandsdaldesk-tool Add timestamp as title attribute on relative dates10e528707
Bjørge Næssdesk-tool Publish documents in a transaction (#517)a9f00f3f7
Bjørge Næssdesk-tool Persist _createdAt between draft <=> published version of a document (#518)a6f24d33f
Kristoffer J. Sivertsencomponents Design/bugfixes (#519)b058e39db
Bjørge Næssinfrastructure Add a command for deploying test studio9a400a866
Kristoffer J. Sivertsencomponents Mobile bug. Remove padding from DefaultPane7a05b335f
Bjørge Næssdesk-tool Provide a way to link from a document to a production preview (#521)7c87e0e94
Kristoffer J. Sivertsenform-builder Link z-index bug72a4025bc
Bjørge Næsschore Remove sanity-plugin-vision from lerna.json20df70e6c
Simen Svale Skogsrudmutator Respect embedded _createdAt property on create patches. Fixes #520 (#525)75d7b615d
Bjørge Næsstest-studio Add a test case for selecting array items for previewf1ca66901
Bjørge Næsscomponents Stub a .focus() method on RadioSelect for now.27c6f19b4
Bjørge Næssdesk-tool Minor tweaks: production preview (#526)2f1c2c08d
Bjørge Næsschore Add example-studios for movies and blog templates (#529)304b2a8fa
Espen Hovlandsdalmutator Fix createOrReplace and createIfNotExists mutationsf65d19fdd
Bjørge Næsschore Hoist eslint, babel and flow setup (#533)c0aaadfb1
Bjørge Næssdocument-window Remove compiled files3c175e80a
Bjørge Næsscli Tweak moviedb template schema (#532)29b7fc955
Bjørge Næsspreview Ignore image cdn parameters from preview.imageUrl (#531)e70b167fc
Kristoffer J. Sivertsencomponents Not stopPropagation on click outside9e160523e
Kristoffer J. Sivertsencomponents Show lane on split pane resizerea5b0ff4d
Bjørge Næsschore Use babel plugin env, set explicit env support (#534)7b1b4b48b
Kristoffer J. Sivertsenform-builder Fixes that content is selected when moving an item (#536)b60b63373
Simen Svale Skogsrudimage-url Some additional tests validating that the url-builder works for images with no specified crop/hotspot296b74ee6
Bjørge Næssform-builder Fix collapsible/collapsed defaults on fieldsets (#538)e05026e5c
Bjørge Næssform-builder Display only 'add' on select type button (#539)883263d0c
Bjørge Næsschore Pin client + observable env support to IE1175cad151d
Bjørge Næssschema Fix bug with map and default parametersc29997b58
Bjørge Næssform-builder Cleanup: remove prepublish task4201970b7
Bjørge Næsscore Use uglify-es instead of uglify-js for minifying (#541)fa1477186
Bjørge Næsschore Pin Edge support to 14fafc0c7a9
Bjørge Næssform-builder Minor fixes (#544)38df4be24
Per-Kristian Nordnesblock-tools Robustify annotation conversion (#543)d52b31c03
Per-Kristian Nordnesform-builder Fix bug where annotations containing references didn't clean up properly (#542)9fc8d6f41