Skip to content

Releases: sanity-io/sanity

v3.22.3

21 Dec 17:07
3104632
Compare
Choose a tag to compare

🐛 Notable bugfixes

  • Improves error handling if enabling telemetry consent fails
  • Fixes an issue that could happen if using an older system version of the Sanity CLI in combination with a more recent version installed in a project directory

📓 Full changelog

Author Message Commit
Rico Kahler Revert "test(e2e): disable dataset creation per PR (#5210)" (#5402) 75eac0a
Binoy Patel chore(test): update cli tests to use staging env (#5404) 31109cf
Bjørge Næss fix(cli): provide more detailed info if consent status change fails (#5416) e97a639
Bjørge Næss fix(sanity): guard against telemetry not provided from older global CLI versions (#5420) 1327bbc

v3.23.1

19 Dec 23:29
bb0377a
Compare
Choose a tag to compare

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npm create sanity@latest

To upgrade a v3 Studio, run this command in its folder:

npm install sanity@latest

🐛 Notable bugfixes

  • Fixes relative time formatting in certain languages
  • Fixes some peer dependency warnings

📓 Full changelog

Author Message Commit
Espen Hovlandsdal chore(test-studio): update locale plugins 511eaca
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.4.0 (#5405) 3365bb6
Espen Hovlandsdal fix(i18n): use short instead of narrow formatting for relative time 4e753ff

v3.23.0

19 Dec 20:04
f136850
Compare
Choose a tag to compare

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npm create sanity@latest

To upgrade a v3 Studio, run this command in its folder:

npm install sanity@latest

✨ Highlights

Early release: Sanity Studio UI Upgrade

We have been working on updating and finessing the Sanity Studio UI for a while. We think it is quite an improvement and will talk more about it as we return after New Year's.

CleanShot 2023-12-19 at 20.25.10@2x

We wanted to get it out before the holidays to learn how it works for new users and allow existing users to test it out with any Studio customizations they might have. We might have missed edge cases, so if you encounter anything — do let us know

We will also publish new versions of Sanity UI with corrensponding documentation — stay tuned!

To upgrade: npm install sanity@latest

To downgrade to the last stable release: Pin the sanity dependency in package.json to 3.22.x and run npm install

📓 Full changelog

Author Message Commit
Robin Pyon feat: studio facelift 8a9d18f
Robin Pyon core(test-studio): remove custom branding and localised text 073dc5a
Robin Pyon fix: add localized text for shared dialog component a23aa6e
Robin Pyon fix: localize pane header back button tooltip dac416c
Robin Pyon refactor: render plain text buttons in invalid and untyped value inputs 21e8bdb
Robin Pyon feat: add common localized context menu button component 96462cc
Robin Pyon refactor: change dialog i18n key 9b2d451
Robin Pyon refactor: remove unused components and i18n strings ee9f9f0
Robin Pyon fix: localize search button tooltip text 1b7e658
Robin Pyon fix: localize create new button tooltip in document pane headers b8197d6
Robin Pyon fix: localize create new document button b720e4a
Robin Pyon fix: add localized text for common loader component 544eaf1
Robin Pyon fix: add localized text for review change button tooltips 9734ed1
Robin Pyon fix: localize untitled text in compact preview d038b7d
Robin Pyon feat: update file and image input + placeholder styles 511b291
Robin Pyon feat: update delete confirm dialog styles, use compact cards e981dcb
Robin Pyon fix: show checkmark on selected locale in locale menu 162f9d6
Robin Pyon fix: ensure media border styles are only applied on the targeted element only 4ed01ff
Robin Pyon fix: update create new button localized text c2d27bf
Robin Pyon fix: add clarifying comments on container query support, reverse header font size selection (fixes edx-860) 069a622
Robin Pyon chore(deps): bump @sanity/ui 432ff49
Robin Pyon feat: update user menu and presence menu items with new avatar sizes e41e7d7
Robin Pyon fix: add localized text for config issue tooltip button (fixes edx-859) e8acd4e
Robin Pyon chore: fix typos 0495028
Robin Pyon feat: update image + file asset source styling 12c1b77
Robin Pyon fix: re-enable buildLegacyTheme (fixes edx-857) 142b44f
Robin Pyon fix: tweak navbar padding, minor cleanup 1afcc29
Robin Pyon fix: fix back button alignment on smaller breakpoints, tweak search styles d680d5f
Robin Pyon fix: localize document actions button tooltip, update ContextMenuButton signature 32efb69
Robin Pyon fix: remove subtitle support from studio UI menu items, update layout, update search string list inputs a08d1e9
Robin Pyon chore(deps): bump @sanity/ui in other studios d7bc6f1
Robin Pyon fixup! fix: remove subtitle support from studio UI menu items, update layout, update search string list inputs 4bfbea9
Robin Pyon chore(deps): bump @sanity/ui 5d1d3de
Robin Pyon feat: use smaller font size for hotkey + badge text in menu items and tooltips f8343ed
Robin Pyon fix: tweak placement for workspace + presence menu tooltips ccf45df
Robin Pyon refactor: use studio UI buttons, remove unused components 5fdc6ef
Robin Pyon test: add test ids to PTE toolbar component, fix failing ct test fcb0a10
Robin Pyon fix: use relative paths for core imports a71bd8d
Robin Pyon fix: hide loading text in generic loader by default, tweak timings, update test snapshots d09822e
Robin Pyon fix: minor regression with menu item spacing 41caf72
Robin Pyon fix: remove extraneous padding on manage members menu item 5d6ec16
Robin Pyon fix: use localized relative time hook 1061d86
Robin Pyon feat: align search popover overlay background with dialog 83e3163
Robin Pyon fix: ensure field names correctly truncate in search filter tooltips 1ea1ed0
Robin Pyon fix: use correct focus ring offset + width for list panes + comment pte input 995fb0a
Robin Pyon fix: use single pixel border for document banners 78dde3c
Robin Pyon feat: update font styles for no search results + insufficient permissions messages 6324dd1
Robin Pyon feat: DRY document banners and update styles, create dedicated spacer button 2a6aed2
Robin Pyon fix: large button size for remove field button d88fa79
Robin Pyon feat: update comments discard dialog styles 23c3ba7
Robin Pyon refactor: simplify useDocumentStatusTimeAgo 78fd1ee
Marius Lundgård fix(deps): upgrade @sanity/color e8a8047
Marius Lundgård fix(deps): update @sanity/ui 8da8961
Marius Lundgård fix(studio): update navbar spacing 38787a5
Marius Lundgård fix(deps): update @sanity/ui 9c5de6a
Robin Pyon fix: localize drag handle button, use correct delay values f9c2ec8
Robin Pyon fix: add padding to workspace auth page, tweak mobile nav drawer 3d445b6
Robin Pyon fix: new presence menu item avatar sizes a6fd7f6
Robin Pyon feat: add absolute tooltip dates to document statusbar, don't render statusbar until ready, minor cleanup 9a811da
Robin Pyon chore: update snapshots 3adbed5
Marius Lundgård fix(deps): update @sanity/ui d276475
Marius Lundgård fix(ui): fade preview when menu item is disabled d753974
Marius Lundgård fix(studio): do not use experimental avatar status f237032
Marius Lundgård fix(studio): adjust avatar size in user menu e525b02
Marius Lundgård fix(form): align form field header 1ba30f5
Marius Lundgård fix(form): simplify and set status color using theme v2 d83c705
Marius Lundgård fix(ui): align tooltip 4fdca80
Robin Pyon feat: new document status indicator, lockup and tooltips bad7091
Robin Pyon fix: force useRelativeTime to always render idiomatic dates with weeks in full af3056c
Robin Pyon fix: use correct document status indicator colors, update document status tooltip spacing ee5b543
Robin Pyon chore: update workshop story 56293e9
Robin Pyon chore: update snapshots ee1b7db
Robin Pyon refactor: remove TooltipWithNodes component, no longer infer aria-label in buttons 1aee936
Marius Lundgård fix(deps): update @sanity/ui d241553
Marius Lundgård fix(sanity): set maximum-scale viewport property 0b2935e
Pedro Bonamin fix(facelift): update i18n imports after rebase 320f695
Pedro Bonamin fix(facelift): update i18n ignore rules 879aee1
Marius Lundgård fix(studio): update change indicator 22d6867
Marius Lundgård fix(studio): update beta badge a6d93fa
Marius Lundgård fix(studio): update preview components e8ac660
Marius Lundgård fix(form): update date input and picker 603d01f
Marius Lundgård fix(form): use border instead of shadow for reference input 3374503
Marius Lundgård fix(form): use border instead of shadow for file input c8e241c
Marius Lundgård fix(studio): update global styles 1a837bf
Marius Lundgård fix(studio): decrease heading size in config issues dialog 4a5349f
Marius Lundgård fix(ui): change copy from 'Updated' to 'Edited' fc15d0d
Marius Lundgård fix(desk): always use icon for publish action a7b54d7
Marius Lundgård fix(desk): update inspect dialog ae499a4
Marius Lundgård fix(desk): align pane header 5794688
Marius Lundgård fix(desk): use json icon a7f792b
Marius Lundgård fix(desk): align document actions dbab681
Marius Lundgård fix(ui): update document status components 14e9d4d
Marius Lundgård fix(desk): align comment feature feedback 8658e93
Marius Lundgård fix(deps): update @sanity/icons 174d209
Marius Lundgård test(test-studio): update config 7a68d4e
Marius Lundgård test(studio): update snapshot dce8f2c
Marius Lundgård fix(form): align elements cd54159
Marius Lundgård fix(i18n): simplify copy ea3e77e
Marius Lundgård fix(desk): align id container 463646b
Marius Lundgård fix(ui): include paddingY property 415240c
Marius Lundgård fix(desk): simplify copy 9e15e9e
Marius Lundgård fix(ui): align document status 93bc894
Marius Lundgård fix(studio): simplify TextWithTone component 928ca2a
Marius Lundgård fix(desk): align document status bar 60b17fa
Marius Lundgård fix(studio): update scrollbar style 8a42dcd
Marius Lundgård fixup! fix(studio): update scrollbar style f45896d
Robin Pyon fix(deps): update @sanity/ui 4688224
Robin Pyon fix: update global search date picker styles, remove unused LazyTextInput component c4b4187
Robin Pyon fix: use correct tooltip styling for search datetime errors, simplify + remove Translate usage 9935997
Robin Pyon fix: expose document status indi...
Read more

v3.22.2

19 Dec 23:59
bc6b99a
Compare
Choose a tag to compare

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npm create sanity@latest

To upgrade a v3 Studio, run this command in its folder:

npm install sanity@latest

🐛 Notable bugfixes

  • Fixes relative time formatting in certain languages

📓 Full changelog

Author Message Commit
Espen Hovlandsdal fix(i18n): use short instead of narrow formatting for relative time cf7e4b5

v3.22.1

19 Dec 17:59
d1d636c
Compare
Choose a tag to compare

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npm create sanity@latest

To upgrade a v3 Studio, run this command in its folder:

npm install sanity@latest

📓 Full changelog

Author Message Commit
Bjørge Næss fix(cli): include command context in all trace event logs (#5397) 0ed9a81
Espen Hovlandsdal chore(test-studio): upgrade locale packages b2ba465

v3.22.0

19 Dec 16:55
b442ce6
Compare
Choose a tag to compare

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npm create sanity@latest

To upgrade a v3 Studio, run this command in its folder:

npm install sanity@latest

✨ Highlights

🌍 Publish! Veröffentlichen! Publicar! 公開!: Sanity Studio UI Localization! 🌍

The Translate the studio UI #1603 issue has been one of our most popular feature requests on GitHub. Now we can finaly close it, because we have launched Studio UI localization.

What's New?

  • Multilingual support: You can now configure the Sanity Studio user interface to use languages other than English. We're kicking off with many languages, including Spanish, French, Norwegian, German, Portuguese, Korean, Turkish, Icelandic, Thai, Vietnamese, Swedish, Finnish, Czech, Italian, Japanese, Chinese, and Polish. Don’t see your preferred language? It's easy to request additional language plugins!
  • AI-Translated language plugins: These initial translations are generated by AI — we're inviting the community (that’s you!) to help us improve and maintain these translations for accuracy and cultural relevance. Interested? Read more about how to contribute over on GitHub.

First steps to a localized Studio

This is our first step towards a fully global studio. The support for localization will grow, starting with our official plugins. We appreciate your patience and contributions as we expand these capabilities!

Getting started:

  • Choose your language: Visit github.com/sanity-io/locales to find the plugin for your desired language. If it's not listed, we’d love you to request it - we can do a first auto-translated pass, and you can help us review and improve the automated translations.
  • Plugin setup:
    • Ensure you are using Sanity version 3.22.0 or newer
    • Install the plugin for your desired language (npm install @sanity/locale-nb-no)
    • Import it (import {nbNOLocale} from @sanity/locale-nb-no
    • Add it to your studio's plugins array (plugins: [nbNOLocale()])
    • You’ll find full instructions on the locale plugin’s README!
  • Documentation:

We're eager to hear from you and welcome any feedback. This is just the beginning, and your insights are invaluable in making Sanity Studio even better.

Introducing telemetry 📡

As a product company, we have to prioritize what to work on. Ideally, those decisions are based on a healthy amount of vision (how we think things could be better) and insight (how people use the product). We have had a good amount of the former but less of the latter.

With this release, we’re introducing telemetry data collection in the CLI and Studio. Participation is optional, and you can easily opt-out by running npx sanity telemetry disable, setting the DO_NOT_TRACK=1 environment variable, or visiting Account Settings in Manage. For more details on what data is collected, how it’s being used, and how consent is handled, go to sanity.io/telemetry.

Other features

  • Adds experimental support for using Bun as package manager when creating new Sanity projects (bun create sanity)
  • Adds ability to customize the suffix added to auto-generated GraphQL filter types (Filter by default), by configuring filterSuffix in the GraphQL configuration of sanity.cli.ts

🐛 Notable bugfixes

  • Fixes issue where annotation popover would open in the wrong location when selecting annotation text in the Portable Text editor
  • Fixes removal of marks in the Portable Text editor not always cleaning up unused mark definitions
  • Fixes issue where Portable Text editor would crash when attempting to use annotations on text over multiple blocks
  • Fixes issue in which new empty text blocks were added when adding a non-text block in the Portable Text editor.
  • Fixes an issue where selecting a custom API version in the Vision tool would sometimes crash

📓 Full changelog

Author Message Commit
Espen Hovlandsdal chore(test-studio): add locale plugins fe21e82
Nina Andal Aarvik fix(core): add timestamps to all preview components (#5352) 2083fd3
Nina Andal Aarvik fix(core): simplify code for getting preview paths (#5360) 423c1b4
Nina Andal Aarvik fix(core): prevent annotation popover from jumping when opening (#5280) 8c77a10
Binoy Patel chore(e2e): add @sanity/test package (#5359) 5acafe9
Pedro Bonamin fix(pte): clear unused markdefs when removing annotations (#5254) 41552c3
Pedro Bonamin fix(pte): disable multiple blocks annotations (#5257) 7452848
Pedro Bonamin fix(pte): removes empty text block when inserting a new block in that position (#5271) b6ef7dc
Pedro Bonamin fix(core): update getPreviewPaths function (#5362) a70bf39
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.2.1 (#5364) d0a43f6
Espen Hovlandsdal docs(import): add missing allowFailingAssets option to readme 072fccd
Pedro Bonamin fix(pte): add transalation to disabled tooltip text (#5366) da54a28
Pedro Bonamin fix(pte): update removing annotations function (#5267) d4e5409
Pedro Bonamin feat(free-trial): adds free trial button, popover and modal. (#5345) 16a8b58
Herman Wikner refactor(core): desk renaming popover (#5369) 5de2c6f
Espen Hovlandsdal chore(deps): upgrade jsdom dependency (#5327) 05287be
Rico Kahler fix(i18n): fix incorrect menu items; localize default group titles (#5370) bd87ffc
Binoy Patel feat(graphql): add support for customizing the filter suffix for graphql types (#5372) 67dee78
Binoy Patel fix(vision): fixes an issue where selection other would crash (#5377) 87e5493
Espen Hovlandsdal test(block-tools): update snapshots to account for i18n changes bc1bdd8
Bjørge Næss fix(cli): add (experimental) support for bun as package manager (#5356) 0c6a32e
Herman Wikner feat(core): document layout (#5340) adaae0e
ecospark[bot] chore(deps): dedupe yarn.lock (#5379) a521871
Pedro Bonamin fix(free-trial): add apiVersion stamp to free trial request (#5385) 785d87c
Bjørge Næss feat(cli) add telemetry scaffolding (#5321) 69dfe87
Espen Hovlandsdal fix(i18n): add missing string for cancelling uploads (#5388) 2a7aff1
Espen Hovlandsdal feat(i18n): use last registered locale as default (#5381) 30cbe31
Espen Hovlandsdal chore(design-studio): fix incorrect type import e164745
Espen Hovlandsdal fix(i18n): give default root structure node an i18n title 2b16afb
Espen Hovlandsdal fix(i18n): translate placeholder text for tags input 3dae10b
Espen Hovlandsdal fix(i18n): translate structure tool loading pane 7f517d2
Rune Botten docs: update readme contribution info (#5365) 9cd0cb2
Bjørge Næss feat(cli): instrument cli with telemetry events (#5320) 75e4555
Per-Kristian Nordnes fix(portable-text-editor): return unless range count (#5391) 5b3492b
Espen Hovlandsdal refactor(free-trial): fault tolerance, code conventions (#5387) 8b03846
Bjørge Næss feat(cli): add telemetry cli commands (#5322) 02f4cf2
Bjørge Næss feat(cli): add env var for logging telemetry events to file (#5347) 44008f4
Per-Kristian Nordnes refactor(portable-text-editor): remove obsolete code (#5393) e4bc20d
Bjørge Næss fix(cli): improve telemetry exit flushing (#5392) 53232c7
Espen Hovlandsdal fix(i18n): correct "create new" button translation labels 4790958

v3.21.3

12 Dec 23:22
83813d4
Compare
Choose a tag to compare

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npm create sanity@latest

To upgrade a v3 Studio, run this command in its folder:

npm install sanity@latest

🐛 Notable bugfixes

  • Fixes a missing export for a newly introduced typescript type

📓 Full changelog

Author Message Commit
Espen Hovlandsdal fix(core): export LocaleWeekInfo type 759c476

v3.21.2

12 Dec 22:33
53d3f6c
Compare
Choose a tag to compare

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npm create sanity@latest

To upgrade a v3 Studio, run this command in its folder:

npm install sanity@latest

🐛 Notable bugfixes

  • Fixes virtualization issue which caused array items to erroneously be hidden when navigating between groups inside a modal
  • Fixes Portable Text Editor in expanded mode not closing when switching tabs/views
  • Fixes date/datetime inputs and date search filters showing incorrect week day in calendar

📓 Full changelog

Author Message Commit
Robin Pyon fix: prefer narrow relative time formatting in useRelativeTime (#5338) 6e76d89
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.1.5 (#5341) 95ccd44
Espen Hovlandsdal refactor: fix strict typing error 4017016
Ash fix(form): recalculate virtualized descendants when selected group changes (#5314) ed72687
Nina Andal Aarvik fix(core): close PTE fullscreen when changing tab (#5251) 4d62fbb
Espen Hovlandsdal fix(core): incorrect week day names for calendar (#5342) f5c1927
Rico Kahler feat(i18n): localize menu items (#5308) d08ce66
Rico Kahler chore(i18n): use @sanity/eslint-config-i18n (#5349) c822938
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.1.6 (#5346) a7eb2f8
Espen Hovlandsdal feat: expose all locale info from useCurrentLocale hook (#5343) 6ad0e3f
Espen Hovlandsdal refactor(i18n): lift date time formatting hook a1c502a
Espen Hovlandsdal refactor(i18n): lift list formatting hook 4b95cf4
Espen Hovlandsdal refactor(i18n): lift number formatting hook 6effc8b
Espen Hovlandsdal refactor(i18n): align tsdoc tags for i18n exports 64a8eda
Espen Hovlandsdal feat(i18n): add weekInfo to locale definition facf708
Espen Hovlandsdal feat(core): make calendars aware of locale week start day dc50df9
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.2.0 (#5358) 7248a04
renovate[bot] fix(deps): update dependency @sanity/client to ^6.10.0 (#5357) 260387a

v3.21.1

07 Dec 19:06
Compare
Choose a tag to compare

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npm create sanity@latest

To upgrade a v3 Studio, run this command in its folder:

npm install sanity@latest

🐛 Notable bugfixes

  • Fixes an issue where studio would crash when embedded inside a vite app

📓 Full changelog

Author Message Commit
renovate[bot] fix(deps): update dependency @sanity/client to ^6.9.3 (#5336) 5a7bde1
renovate[bot] fix(deps): update dependency @sanity/presentation to v1.1.3 (#5335) 98f46f1
Binoy Patel fix(core): fixes issue where studio crashes when embedded w/ vite (#5337) 7dd3f25

v3.21.0

05 Dec 17:38
Compare
Choose a tag to compare

Installation and upgrading

To initiate a new Studio without installing the CLI globally:

npm create sanity@latest

To upgrade a v3 Studio, run this command in its folder:

npm install sanity@latest

🐛 Notable bugfixes

  • Removes a console warning about using an experimental API version
  • Adds type declarations for the assetRequired rule to validation for image and file schema types
  • Fixes an issue in the Next.js template where the urlForImage function would return a class instead of a url
  • Fixes an issue where the image crop tool would not work on touchscreen devices with connected pointer devices
  • Fixes a bug in the Portable Text Editors drag-and-drop functionality that would make any block which opens in a modal, that was dragged and placed directly above an array block wrongly affect the array, leading to a “Can’t upload this file here” error
  • Fixes an issue where the --skip-cross-dataset-references flag was not working with sanity dataset import

📓 Full changelog

Author Message Commit
Cody Olsen fix: remove circular dependency between useGlobalPresence and usePresenceStore (#5286) 5aa6c74
Cody Olsen fix: prevent props that are unknown html attributes from passing through (#5284) edf2709
Ash fix(form): include group name in group tab test id (#5278) 6890b10
Espen Hovlandsdal chore: prevent tests, workshop files from being published (#5276) ee008de
Snorre Eskeland Brekke feat(i18n): proof of concept i18n framework daa3fa8
Espen Hovlandsdal fix(core): adjust mismatched tsdoc visibility f855ec8
Espen Hovlandsdal fix(i18n): fallback when no localStorage is available d1dee31
Espen Hovlandsdal refactor(i18n): drop ability to provide i18n init options bf6b172
Espen Hovlandsdal chore(i18n): provide example of local studio localization 8f8de21
Espen Hovlandsdal refactor(core): dedupe localStorage checks 060753e
Espen Hovlandsdal refactor(config): improve i18n config error messages 4676485
Espen Hovlandsdal refactor(i18n): align naming to locale over language/i18n 843a693
Espen Hovlandsdal refactor(i18n): drop default namespace exception in backend ebf2f5e
Espen Hovlandsdal feat(i18n): make backend retry on failure to load bundles 32c2dc2
Espen Hovlandsdal refactor(i18n): simplify i18next initialization, providers d849edd
Espen Hovlandsdal refactor(i18n): limit exposure to i18next library 593bab9
Espen Hovlandsdal refactor(i18n): drop unused resource key test 9919009
Espen Hovlandsdal refactor(i18n): add i18n property to config context 31609cb
Espen Hovlandsdal refactor(i18n): provide a smaller locales object through context 5f31016
Espen Hovlandsdal fix(i18n): drop use of flags for languages 2a8b5a7
Espen Hovlandsdal fix(i18n): change tsdoc visibility tag for LocaleSource 2cbb3c1
Espen Hovlandsdal fix(i18n): annotate alpha/beta items with @hidden 3a1e589
Espen Hovlandsdal feat(i18n): weave locale source into validation context b34301e
Espen Hovlandsdal refactor(types): use interface instead of type for ValidationContext 3308ab0
Espen Hovlandsdal refactor(i18n): do not load language variations for now 848d174
Espen Hovlandsdal fix(desk): show all validation errors for a given path f6e3980
Espen Hovlandsdal feat(i18n): add loadNamespaces method to i18n source f0cb6e3
Espen Hovlandsdal feat(i18n): localize default validation messages 7ac27f6
Espen Hovlandsdal fix(i18n): error in minimal seconds/minutes localization string 0c00667
Espen Hovlandsdal feat(i18n): allow specifying object of localized validation messages e97f606
Espen Hovlandsdal chore(test-studio): provide norwegian validation strings 49d62e7
Espen Hovlandsdal fix(i18n): hide internal helper method, use explicit exports 760a2f9
Espen Hovlandsdal chore(test-studio): include validation example with "all" types 0c3502a
Espen Hovlandsdal fix(core): re-export ValidationContext from sanity module b473973
Espen Hovlandsdal feat(i18n) allow returning localized messages from custom validators 9ebec52
Espen Hovlandsdal refactor: do not expose locale namespaces as exports e00cbf5
RitaDias feat(desk): add i18n primitives to ChangesInspector b3036a0
RitaDias feat(desk): add i18n primitives to NoChanges a45ae42
RitaDias feat(desk): add i18n primitives to LoadingContent 02c99cc
RitaDias feat(desk): add i18n primitives to ChangeList - Change all button 1aae71b
RitaDias feat(desk): add i18n primitives to FieldChange 6d6010e
RitaDias feat(desk): add i18n primitives to GroupChange 8331556
RitaDias feat(desk): add i18n primitives to DiffTooltip e9f5b42
RitaDias feat(desk): add i18n primitives to timelineMenu ac2c3fc
RitaDias feat(desk): add i18n primitives to TimelineError a7f553b
RitaDias feat(desk): add i18n primitives to timeline db821b8
RitaDias feat(desk): add i18n primitives to timelineItem + removal of unused consts 162e5dc
RitaDias refactor(desk): capitalisation on i18n for timeline 2e527d3
RitaDias refactor(desk): remove unneeded method for revLabel 9921ad0
RitaDias refactor(desk): remove unused imports + rely on i18n translate for time formatting - timelineMenu 895a3b8
RitaDias refactor(desk): remove "desk" prefix from resources b9caa15
RitaDias refactor(desk): remove "core" prefix from studio 24de805
RitaDias refactor(core): add plural to diff "revert changes" 3490c08
RitaDias refactor(desk): update error subgroup c6b9baa
RitaDias chore(desk): remove unused usememo 67c46a7
RitaDias fix(core): add 'action' subgroup to core (change panel) c7b443d
RitaDias fix(core): add 'action' subgroup to desk (change panel) 61ecda0
Espen Hovlandsdal refactor: move all change-related resources to core 77695e5
Espen Hovlandsdal refactor: pluralize revert changes confirmation 1e88672
Espen Hovlandsdal refactor: sort dependencies of useMemo call e20f492
Espen Hovlandsdal refactor: use unabbreviated resource strings ef190e6
Espen Hovlandsdal refactor: move timeline resources into core 4bbffd5
Espen Hovlandsdal refactor: import from sanity, not i18next bf51e99
Espen Hovlandsdal refactor: remove unused import b1a4eba
RitaDias feat(core): add i18n primitives to SlugInput 86d3373
Espen Hovlandsdal refactor(i18n): use inputs subgroup for resource keys 264ef2c
RitaDias feat(vision): add translation bundle + "dataset" translate key 0cc3a19
RitaDias feat(vision): add i18n primitives to VisionGui 375df2e
RitaDias feat(vision): add i18n primitives to PerspectivePopover 02ab218
RitaDias feat(vision): add i18n primitives to perspectives dropdown (adjust consts) 199751f
RitaDias feat(vision): add i18n primitives to QueryErrorDetails 8f12e07
RitaDias feat(vision): add i18n primitives to tryParseParams c2d0817
RitaDias fix(vision): add missing 't' param to tryParseParams in ParamsEditor b6ab762
Espen Hovlandsdal refactor(vision): reorganize strings by responsibility, move i18n into src f58c231
RitaDias feat(core): add i18n primitives to StudioNavBar 3e8872f
RitaDias feat(core): add i18n primitives to WorkspaceMenuButton 8b3ee10
RitaDias feat(core): add i18n primitives to NewDocumentButton 22f3e40
RitaDias feat(core): add i18n primitives to SearchDialog a0c84fa
RitaDias feat(core): add i18n primitives to Filters fbfb5f3
RitaDias feat(core): add i18n primitives to FilterPopoverContentHeader + DocumentTypesPopoverContent 782c12b
RitaDias feat(core): add i18n primitives to FilterButton 74a4c65
RitaDias feat(core): add i18n primitives to AddFilterButton 7c85b25
RitaDias feat(core): add i18n primitives to AddFilterPopoverContent + add plural for "filters" + generic no search found ff37beb
RitaDias feat(core): add i18n primitives to NoResults 45c88e9
RitaDias feat(core): add i18n primitives to SearchPopover 224e142
RitaDias feat(core): add i18n primitives to SearchResults a86f88f
RitaDias feat(core): add i18n primitives to SearchError d9b9aee
RitaDias feat(core): add i18n primitives to RecentSearches defe3bd
RitaDias feat(core): add i18n primitives to Instructions c8827e1
RitaDias feat(core): add i18n primitives to ConfigIssuesButton 60801be
RitaDias feat(core): add i18n primitives to SchemaProblemGroups 847cb1b
RitaDias feat(core): add i18n primitives to ResourcesButton 44705ba
RitaDias feat(core): add i18n primitives to ResourcesMenuItems 43f9db2
RitaDias feat(core): add i18n primitives to UserMenu + AppearanceMenu 0cd9e3b
RitaDias feat(core): add i18n primitives to LocaleMenu d89f467
RitaDias feat(core): add i18n primitives to NavDrawer 65bd1da
RitaDias feat(core): add i18n primitives to NewDocumentList 21a477f
RitaDias feat(core): add i18n primitives to NewDocumentListOption b7a932d
RitaDias feat(core): add i18n primitives to PresenceMenu 126c5b8
RitaDias feat(core): add i18n primitives to PresenceMenuItem 548dac9
RitaDias feat(core): add i18n primitives to FilterTooltip 109dca7
RitaDias feat(core): add i18n primitives to createFilterMenuItems 4489693
RitaDias feat(core): add i18n primitives to ButtonValue 43e4610
RitaDias feat(core): add i18n primitives to Asset aec0156
RitaDias feat(core): add i18n primitives to AssetSourceError d8b9866
RitaDias feat(core): add i18n primitives to Boolean 1cbbad9
RitaDias feat(core): add i18n primitives...
Read more