Sanity Studio – Rapidly configure content workspaces powered by structured content
MIT License
Published by bjoerge almost 7 years ago
Upgrade with
sanity upgrade
And install the latest Command Line Interface (CLI) with:
npm install --global @sanity/cli
Popovers and dialogs in the studio just got a lot better. We have fixed several recurring issues related to layer placement and scrolling. In addition:
Escape
only closes the topmost layer. You can hit Shift+Escape
to close all.Author | Message | Commit |
---|---|---|
Espen Hovlandsdal | [cli] Use new moviedb dataset URL (#329) | 077222fb7 |
Bjørge Næss | [form-builder] Add a separate part for patch-event (#327) | 41adefb12 |
Simen Svale Skogsrud | [presence-store] Introducing the PresenceStore (#330) | 30b79a18b |
Espen Hovlandsdal | [core] Improve minification error messages (#328) | 7624dd1e3 |
Espen Hovlandsdal | [cli] Filter yarn output (#331) | 57300b27e |
Bjørge Næss | [form-builder] Fix race condition when patching block node values (#333) | 9f189e146 |
Kristoffer J. Sivertsen | [form-builder] Respect editModal schema option on Block Editor (#332) | aef99c916 |
Bjørge Næss | [example-studio] Simplify and fix a a few issues w/protein input example (#334) | 73332887c |
Espen Hovlandsdal | [client] Deprecate asset delete method (#336) | 81ab6bf63 |
Espen Hovlandsdal | [core] Prompt for dataset on import/export (#337) | 806f1f1d5 |
Bjørge Næss | [example-studio] Use protocol relative url | 7767ecd41 |
Espen Hovlandsdal | [core] Hint about installing plugins on plugin resolve failure (#338) | 3ec63c3f8 |
Espen Hovlandsdal | [base] Define schema type part for better plugin support (#292) | 63fdc3b86 |
Espen Hovlandsdal | [core] Use PATCH-endpoint for setting studio host (#339) | 8033a3ccf |
Kristoffer J. Sivertsen | [components] Add a general Popover dialog (#297) | 4f61ac85e |
Bjørge Næss | [components] Fix stacking (#297) | 0ba11ff72 |
Espen Hovlandsdal | [core] Check if installed React version is supported on startup (#340) | 8811ad8da |
Espen Hovlandsdal | [default-layout] Center project name (#341) | ab91d37a2 |
Kristoffer J. Sivertsen | [components] Minor fixes after capture outside clicks (#342) | d93579266 |
Espen Hovlandsdal | [document-window] Add initial prototype (#217) | d6b6ff9b1 |
Kristoffer J. Sivertsen | [components] Fix popover scrolling (#343) | a0d96db3a |
Bjørge Næss | [form-builder] Don't pass unsupported prop on select | 070e75972 |
Bjørge Næss | [schema] Fix typo | 13d4b1b6f |
Per-Kristian Nordnes | [block-tools] Fix bug where markDefs where put incorrectly on Slate block's data (#347) | 5c35d3366 |
Kristoffer J. Sivertsen | [components] Pass down scroll container as context (#349) | 5211440b2 |
Published by bjoerge almost 7 years ago
Upgrade with
sanity upgrade
And install the latest Command Line Interface (CLI) with:
npm install --global @sanity/cli
You can now click on a link icon on references to jump to the referenced document.
Query string length limit for GET-queries is now 11kB, a substantial increase from the previous 2kB. This means that more requests will be GETs instead of POSTs, which will make more queries cacheable and cut down on the overall roundtrip time for larger queries.
We have made an own module with various tools for our block content. Most notably is the new HTML Deserializer which will convert HTML into the Sanity block format. This is a great tool for pouring existing HTML content into your Sanity datasets. Read more
We are starting to run into several dependencies which are no longer supporting node 4. This is getting quite tedious, and even though Node 4 is still in LTS for another 6 months, we feel we can justify the bump because this is developer tooling that will run locally, not on servers which might be hard to upgrade.
Author | Message | Commit |
---|---|---|
Espen Hovlandsdal | [client] Increase query size limit to 11kB (#309) | def94dc39 |
Bjørge Næss | [desk-tool] Link to getting started guide if there are no schema types (#304) | f86bc96e5 |
Kristoffer J. Sivertsen | [desk-tool] Styling GetStarted (#304) | 589ec9fa8 |
Espen Hovlandsdal | [webpack-integration] Resolve symlinks to real files, cache imports (#312) | 4677c65ce |
Bjørge Næss | [desk-tool] Keep info about type mismatch, and do type mismatch check only for '*' + on cWRP (#311) | 08e6e9125 |
Kristoffer J. Sivertsen | [components] Respecting border-radius variable where needed (#315) | 1cea01261 |
Kristoffer J. Sivertsen | Cleanup of sanity logo (#314) | 43c74343d |
Kristoffer J. Sivertsen | [components] Trivial fix for simple white button | 00f0989d0 |
Kristoffer J. Sivertsen | [form-builder] Link to reference in array and reference select (#317) | 19241aba3 |
Bjørge Næss | [chore] Normalize dependencies (#322) | db74ff859 |
Simen Svale Skogsrud | [reflector-client] Initial commit (#319) | 34b08a33f |
Espen Hovlandsdal | [cli] Fix plugin init not serializing sanity.json (#324) | 4ffe1f255 |
Per-Kristian Nordnes | [block-tools] Introducing block tools module (#318) | ba018814b |
Per-Kristian Nordnes | [form-builder] Delete code which now is @sanity/block-tools (#318) |
c7d892e69 |
Bjørge Næss | [schema] Improve reference type validation (#316) | a10c51b1c |
Espen Hovlandsdal | [chore] Bump minimum node version requirement to >= v6 (#326) | ae079e2 |
Published by bjoerge almost 7 years ago
Upgrade with
sanity upgrade
And install the latest Command Line Interface (CLI) with:
npm install --global @sanity/cli
The Sanity Studio will now refuse to load if the schema contains critical errors, and give helpful hints about how the errors can be fixed. The validation is by no means complete, and we will keep detecting problems and adding helpful warnings/errors in the future.
Any schema problems that are not critical will will appear as warnings in the developer tool console.
document
We have introduced a new schema type named document
. This is the type to use for all the schema types that you want to be able to create documents from. Read more about how to start using this type here.
datetime
now supports readOnly
.Author | Message | Commit |
---|---|---|
Bjørge Næss | [form-builder] Support readOnly on datetime fields. Fixes #291 (#294) | 8fc538da3 |
Bjørge Næss | Add toplevel document type (#293) | a723ac26a |
Kristoffer J. Sivertsen | [components] Automatic Top/bottom position on dropdown on SearchableS… (#296) | 1b399f78c |
Bjørge Næss | [core] Remove checksum warning until we can provide a way of fixing (#298) | 7c1091fbd |
Bjørge Næss | Schema validation (#299) | dcc39fd77 |
Bjørge Næss | [form-builder] Fix issue with recursive string field lookup for reference search | cc359d823 |
Published by bjoerge about 7 years ago
Upgrade with
sanity upgrade
And install the latest Command Line Interface (CLI) with:
npm install --global @sanity/cli
datetime
schema type. You can now use this if you just want a simple datetime field for storing UTC date strings.sanity-plugin-vision
package has been renamed to @sanity/vision
. More info
@sanity/date-input
package has been renamed to @sanity/rich-date-input
. More info
Author | Message | Commit |
---|---|---|
Bjørge Næss | [google-maps-input] Make remove button actually remove (#283) | 9fa5ca6ca |
Bjørge Næss | [base] More asset schema tweaks (#282) | 192e4a8d3 |
Per-Kristian Nordnes | Feature: allow global logins with the default-login (#273) | fe152cb45 |
Per-Kristian Nordnes | [default-login] Don't add projectId param when global login (#287) | a75633924 |
Per-Kristian Nordnes | [default-login] Children can be a function that passes the user to the wrapped content (#288) | 245bbf3b6 |
Per-Kristian Nordnes | [default-login] Fix error in README | 76218b08f |
Kristoffer J. Sivertsen | [components] Respect disabled prop on input components and cleanup (#286) | 9c5c16ea7 |
Thomas Drevon | [form-builder] [schema] Add datetime type with default input (#275) | 58493b8b4 |
Bjørge Næss | [infrastructure] Move vision plugin to @sanity/vision (#289) | d47a25a9b |
Bjørge Næss | [form-builder] Remove more validation cruft (fixes proptypes warning) | 5f15276b7 |
Bjørge Næss | [infrastructure] Remove sanity-plugin-vision | 38c1e672f |
Published by bjoerge about 7 years ago
This might be our most significant release to date. Includes a major revamp of content studio interface as well as a bunch of minor bug fixes and code enhancements improving overall quality and stability.
Upgrade your content studio with:
sanity upgrade
And install the latest Command Line Interface (CLI) with:
npm install --global @sanity/cli
We have been thinking hard about how to provide generics for uploading stuff to Sanity. The groundwork is in place, and this release enables batch uploading files from local disk to arrays by drag and drop:
We will expand on this, enabling upload hooks for converting local files (and clipboards) to whatever schema content you'd like.
Instead of just uploading a new image, you can now choose images from previously uploaded images:
Author | Message | Commit |
---|---|---|
Espen Hovlandsdal | [import] Allow importing from array (#228) | a2c762c95 |
Espen Hovlandsdal | [infrastructure] Upgrade to Webpack 3 (#224) | f7a7021a9 |
Bjørge Næss | [schema] Fix wrong asset type names and use asset.originalFilename as default preview title for images (#235) | 4de8a0c58 |
Bjørge Næss | [infrastructure] Add infrastructure for generic uploads and support batch uploading to arrays (#229) | 655e6520b |
Bjørge Næss | [base] Previews: fetch document snapshot immediately, debounce subsequent listener events instead | 44667a0f3 |
Bjørge Næss | [form-builder] Make resolveUploader optional for ArrayInput | 5bd01c548 |
Bjørge Næss | [form-builder] Simplify input resolving (#234) | 64dcfb39d |
Bjørge Næss | [chore] Upgrade flow-bin and regenerate yarn.lock (#236) | 868cc8a19 |
Espen Hovlandsdal | [cli] Don't require logged in user on unattended bootstrap. Fixes #237 | f5d6fc4ed |
Espen Hovlandsdal | [infrastructure] Basic continuous integration setup (#238) | 488fbd855 |
Espen Hovlandsdal | [components] Bump default media preview to 160px (#233) | 3ae476b95 |
Espen Hovlandsdal | [infrastructure] Cache yarn dependencies on travis | 4907a3128 |
Espen Hovlandsdal | [storybook] Skip empty lines and progress lines | 747979f77 |
Espen Hovlandsdal | [storybook] Fix bad filtering step for webpack loaders | ad378b29a |
Espen Hovlandsdal | [server] Add missing dependencies | ad7b49e9f |
Bjørge Næss | [form-builder] Make it possible to select existing image asset (#230) | b0b0688ae |
Espen Hovlandsdal | [cli] Ensure CLI exits with positive error code on error (#240) | c4f741a6a |
Bjørge Næss | [form-builder] Misc. minor adjustments uploader infrastructure (#241) | 438033884 |
Espen Hovlandsdal | [client] Specify metadata to extract with extract -option (#242) |
8b7e61a24 |
Espen Hovlandsdal | [base] Add file size field to asset types (#243) | f94dd2391 |
Bjørge Næss | [desk-tool] Fix issues with list of referring documents in the delete/unpublish dialogs (#244) | 7adb9b70d |
Bjørge Næss | [form-builder] Rewrite how we limit concurrent uploads (#245) | cc503b14b |
Espen Hovlandsdal | [code-input] Remove lockfile | c2e8c1cd2 |
Espen Hovlandsdal | [chore] Don't use/generate lockfiles | d36dfdee0 |
Kristoffer Sivertsen | [css] Fixing color syntax | c65d2ebe9 |
Kristoffer Sivertsen | [css] Minus with space on the color syntax | 6057cf20c |
Bjørge Næss | [cli] Fix missing eslint-config dependency and fix lint error | 0fb6b6b97 |
Bjørge Næss | [base] Wrap PreviewSubscriber in element (#247) | 0dd2a2830 |
Bjørge Næss | [form-builder] Fix lint errors (#248) | b4bf026b0 |
Espen Hovlandsdal | [base] Allow overriding the sanity root part | ae0f2e782 |
Bjørge Næss | [form-builder] Remove validation (#250) | e10220c81 |
Thomas Drevon | [google-maps-input] Fix/geopoint debug (#249) | 3bbbfc070 |
Bjørge Næss | [base] Use span instead of div as wrapper element in PreviewSubscriber (#252) | 42c15b6d4 |
Espen Hovlandsdal | [server] Lock react-hot-loader to 3.0.0-beta.7 | f3001eeb4 |
Bjørge Næss | [chore] Replace moment with date-fns (#251) | 6c790941c |
Bjørge Næss | [server] Fix issue with webpack/moment (#253) | ea55a971f |
Espen Hovlandsdal | [chore] Add script to symlink dependencies from monorepo to project (#254) | 1fcc70be9 |
Espen Hovlandsdal | [core] Fix help text for dataset list command (#256) | 8c8663c3c |
Espen Hovlandsdal | [chore] CI: Symlink dependencies of newly created project (#257) | 6c83ef239 |
Bjørge Næss | [form-builder] Remove unused part | ce40639f9 |
Thomas Drevon | [google-maps-input] Fix/minor geo and cli fixes (#259) | 6c8865645 |
Kristoffer J. Sivertsen | [design] Rework (#231) | 77bf40a83 |
Bjørge Næss | [default-layout] Close search on select and escape (#262) | a0d70950e |
Bjørge Næss | [form-builder] Sort assets by last updated (#265) | a5c888f1e |
Bjørge Næss | [desk-tool] Fix styling of referring documents list (#266) | 0a3e01a20 |
Bjørge Næss | [default-layout] Make global search open on arrows + input click (#267) | 61b09374d |
Per-Kristian Nordnes | [default-login] Test cookies and allow for whitelisting before logging in (#271) | a73183193 |
Per-Kristian Nordnes | [default-login] Streamline spinners (#272) | 5d23935e0 |
Published by bjoerge about 7 years ago
sanity init
that made new studios get React 16 as dependency. We're not fully compatible with React 16 yet (but working on it!).sanity init
Author | Message | Commit |
---|---|---|
Espen Hovlandsdal | [chore] Upgrade get-it to v4 (#212) | 6c0c51915 |
Espen Hovlandsdal | [vision] Show query URL with copy functionality (#194) | 1445a913f |
Thomas Drevon | More flexible code input (#214) | fb102f245 |
Espen Hovlandsdal | [vision] Use document ID as key instead of revision (#216) | 59bfbc88f |
Bjørge Næss | [form-builder] Extract FormBuilderContext and let WithFormBuilder take schema as prop (#213) | 8cd4340da |
Bjørge Næss | [schema] Fix edge case where accessing type.preview would fail (#215) | fa4109ccd |
Espen Hovlandsdal | [cli] Remove needless prompts, swap fs-promise for fs-extra (#218) | 5aec13d7d |
Espen Hovlandsdal | [chore] Replace fs-promise with fs-extra (#219) | 0d965b740 |
Bjørge Næss | [test-studio] Fix proptypes warning | 5cad2bf4b |
Bjørge Næss | [form-builder] More form-builder public api cleanup + avoid circular import issue (#220) | 014eb60c4 |
Bjørge Næss | [chore] Upgrade eslint config and plugins (#221) | 652ef3043 |
Thomas Drevon | Some minor fixes in code-input (#223) | 79a5e8426 |
Espen Hovlandsdal | [cli] Resolve only Sanity-dependencies to their latest versions on bootstrap (#225) | a9c1dfab7 |
Published by bjoerge about 7 years ago
Author | Message | Commit |
---|---|---|
Bjørge Næss | [form-builder] Rename SlateInput export => BlockEditor (#210) | c63b40c16 |
Bjørge Næss | [client] Resolve the asset upload promise with the asset document, not the response (#208) | 69b7d2eee |
Bjørge Næss | [client] Add docs for asset uploads to README (#207) | 8ad48b39f |
Bjørge Næss | [client] Minor: Remove invalid parameter from assets.upload(...) example | 0a7488a65 |
Per-Kristian Nordnes | [example-studio] Add example on how to wrap and customize the block editor (#209) | b8c730157 |
Published by bjoerge about 7 years ago
date
type has been renamed to richDate
. You may need to run a migration script. More info
Author | Message | Commit |
---|---|---|
Espen Hovlandsdal | [chore] Normalize dependency versions (#184) | eda91be2d |
Espen Hovlandsdal | [client] Retry failed GET/HEAD-requests (#182) | 645457b48 |
Thomas Drevon | Rename date => richDate (#169) | cf07e5e1f |
Per-Kristian Nordnes | [form-builder] Refactor block editor (#188) | 9e72d8742 |
Bjørge Næss | [base] Add missing dependency | 602e835d4 |
Per-Kristian Nordnes | [test-studio] Test inline objects for block editor | dd42702ff |
Per-Kristian Nordnes | [form-builder] Fix typo in deprectation warning | 1473a6910 |
Bjørge Næss | [cli] Update sanity init template (#189) | 7ab059a8b |
Bjørge Næss | [data-aspects] Hide richDate by default | 73b612263 |
Published by bjoerge about 7 years ago
sanity import
has been revamped (#171)hidden
attribute (#175)sanity start
is improved (#183)sanity init
you can now choose between a clean project template and the existing movie database template (#186)Author | Message | Commit |
---|---|---|
Espen Hovlandsdal | CLI CDN fixes (#159) | 1262dd3dd |
Espen Hovlandsdal | [client] Set User-Agent in non-browser environments (#161) | 793127562 |
Bjørge Næss | [state-router] Tolerate (but warn) on missing router context (#160) | 38a3d92cf |
Bjørge Næss | [chore] Fix wrong git urls (#162) | 8d8f9935a |
Bjørge Næss | [chore] Remove package-lock-files and add yarn.lock/package-lock.json to .gitignore (#163) | 968c39be6 |
Espen Hovlandsdal | [client] Make node-specific middleware be excluded from bundles (#164) | e5332cae0 |
Bjørge Næss | [chore] Support React 16.0.0-rc.2 as peer dependency (#166) | 2f2e017c4 |
Bjørge Næss | [chore] Remove babel-preset-react-hmre and fix a few deps issues | 34cdb2ec5 |
Bjørge Næss | [state-router] Import * triggers a deprecation warning, so use import type instead | 37b8951e2 |
Espen Hovlandsdal | [client] Use URI-parameter for asset requests (#167) | 8807d2d9e |
Thomas Drevon | [form-builder] Pass BlockEditor description to DefaultFormField for rendering (#168) | e1e9507ab |
Espen Hovlandsdal | [import] Separate dataset import logic into separate modules (#173) | b565fdc96 |
Bjørge Næss | [schema] Make the output from the fallback preview.prepare more human friendly (#174) | 9ff1bcc41 |
Espen Hovlandsdal | [form-builder] Feature: Hide fields by specifying hidden in schema (#175) |
9525798e8 |
Bjørge Næss | Define ordering (#176) | d745a58c8 |
Bjørge | [test-studio] Fix accessed view options on wrong key | 3964be1e4 |
Bjørge | [base] Pass viewOptions to preview.prepare in production as well | 95d3c9145 |
Espen Hovlandsdal | [core] Add help text for sanity start command (#183) |
750fbb7db |
Espen Hovlandsdal | [cli] Fix issue where CLI stalls after login on MacOS (#181) | 2b79d4185 |
Espen Hovlandsdal | [cli] Clean up unused code paths (#180) | 94c004872 |
Espen Hovlandsdal | [core] Add confirmation dialog before deleting dataset (#178) | b63ee8d1a |
Espen Hovlandsdal | [cli] Expand bash-like homedir shortcuts (#177) | 1eb7b9c5f |
Espen Hovlandsdal | [base] Expose schema creator as CommonJS (#179) | 269a50cea |
Espen Hovlandsdal | [cli] Add clean init template (#186) | 59d58a0b5 |
Published by bjoerge about 7 years ago
Author | Message | Commit |
---|---|---|
rexxars | Add temporary part to inject components below the editor (#148) … | 5bf646a |
rexxars | Make client API CDN aware (#150) … | 602ef35 |
bjoerge | [form-builder] Remove createFormBuilderFactory (#151) | 4386525 |
bjoerge | [desk-tool] Adjust FormBuilder to use patchChannel | 40fe45c |
bjoerge | [form-builder] Fix wrong previewResolver was passed to FormBuilder | dd7edda |
bjoerge | [example-studio] Add an example of a custom object input that renders… … | 3d909f7 |
rexxars | [base] Opt-out of CDN usage (#153) | fd34fd5 |
rexxars | [client] Retrieve original filename and content type from File instan… … | 998a05d |
bjoerge | [schema] Fix error when guessing preview config for files | 7fd1e1f |
Published by bjoerge about 7 years ago
Author | Message | Commit |
---|---|---|
rexxars | [cli] Upgrade yarn to 0.27.5 | 8cbee5b |
rexxars | [cli] Fix issue where command group roots would not list commands (#109) | c346e0b |
rexxars | [client] Use uncredentialed requests unless withCredentials or `tok… … |
421b2b9 |
rexxars | [base] Use credentialed requests in studio (#115) | 1fa017e |
kristofferj | [vision] Move vision into monorepo (#90) | 2a011dc |
bjoerge | [base] Include props.children in sCU equality check (#116) | ee1a4dd |
bjoerge | [form-builder] Minor: fix misleading error messsage | cf8b00e |
rexxars | [core] Skip system documents when exporting a dataset (#120) | 9d96954 |
bjoerge | [base] A fix + example schema demonstrating named reference types (#117) | d6ea940 |
bjoerge | [observable] Add publishReplay operator (#121) | 9c14ccf |
bjoerge | [state-router] Support programmatical intent navigation (#123) | 31d9ecd |
bjoerge | [form-builder] Expose the withDocument HOC (#126) | e083695 |
rexxars | [client] Include error message in stack (#129) | 67fc4ee |
bjoerge | [components] Only render children of collapsable fieldsets when open (#… … | c385c1c |
bjoerge | [schema] Guess preview config based on raw schema def instead of pars… … | b991d9b |
bjoerge | [development] Separate example-studio and test-studio and organize te… … | e5c6182 |
rexxars | [base] Fix code style issue (#135) | 56b4bd3 |
bjoerge | [components] Fix onBlur error (#137) | 275cc61 |
rexxars | [base] Expose client as CommonJS (#133) | 4cfbfe5 |
rexxars | [plugin-loader] Allow overriding config parts (#134) | d993c75 |
rexxars | [core] Add sanity exec command that registers part loader + babel (#… … |
8aa0915 |
bjoerge | [infrastructure] Upgrade lerna (#136) | 38279a1 |
skogsmaskin | [components] Support disabled prop on ToggleButton | 6d78637 |
bjoerge | [test-studio] Change project ID | 7282a6f |
bjoerge | [components] Add a top margin on Image input fieldset with highlighte… … | 02309e5 |
bjoerge | [test-studio] Fix reference to nonexistent type | 7b96182 |
bjoerge | [form-builder] Fix an issue with arrays and anonymous objects (#140) | 234615c |
Published by bjoerge over 7 years ago
The shiny new feature in this version is the ability to stage changes before publishing ✨.
A thing to be aware of is that when fetching documents in front-end(s), you'll now have to explicitly exclude draft documents by including the constraint !(_id in path 'drafts.**')
in queries, or else you may end up with unpublished drafts in the result set. This is undoubtedly a little cumbersome and we're discussing how we can avoid this in the future.
Type sanity upgrade
to get this version and don't hesitate to let us know if you experience any trouble.