Releases: sanity-io/sanity
v5.30.0
Sanity Studio v5.30.0
This release includes various improvements and bug fixes.
For the complete changelog with all details, please visit:
www.sanity.io/changelog/studio-NS4yOS4w
Install or upgrade Sanity Studio
To upgrade to this version, run:
npm install sanity@latestTo initiate a new Sanity Studio project or learn more about upgrading, please refer to our comprehensive guide on Installing and Upgrading Sanity Studio.
📓 Full changelog
| Author | Message | Commit |
|---|---|---|
| @bjoerge | fix(authStore): resolve dual-mode SSO login loop (#12933) | 2ae1370 |
| @bjoerge | feat: add vercel routing configuration for auth-test-studio (#12929) | cf5baeb |
| squiggler-app[bot] | fix(deps): update dependency @sanity/cli to ^6.7.1 (#12928) | df8fc74 |
v5.29.0
Sanity Studio v5.29.0
This release includes various improvements and bug fixes.
For the complete changelog with all details, please visit:
www.sanity.io/changelog/studio-NS4yOC4w
Install or upgrade Sanity Studio
To upgrade to this version, run:
npm install sanity@latestTo initiate a new Sanity Studio project or learn more about upgrading, please refer to our comprehensive guide on Installing and Upgrading Sanity Studio.
📓 Full changelog
| Author | Message | Commit |
|---|---|---|
| squiggler-app[bot] | fix(deps): update dependency @sanity/cli to ^6.7.0 (#12924) | 3fa8dc5 |
| @bjoerge | fix(core): respect parent array field initialValue over member fields (#12914) | 46f9caa |
| @pedrobonamin | fix(structure): memoize incoming refs filter (#12919) | 30f89d5 |
| sieve-sanity[bot] | fix(sanity): surface error when no uploader matches the file (#12870) (#12905) | 054950f |
| @pedrobonamin | chore(e2e): add variants e2e tests and readme (#12866) | 3a2fc8b |
| @juice49 | fix(sanity): incorrect form auto-focus (#12878) | 8df5ed3 |
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#12874) | 00aa753 |
| @pedrobonamin | chore(core): add variants conditions autocomplete (#12858) | 07d4dd9 |
| @pedrobonamin | chore(core): update variants operation store to use system actions (#12915) | 472c314 |
| @pedrobonamin | feat(core): add variant definition edit form (#12855) | 21c6530 |
| squiggler-app[bot] | chore(deps): update dependency @sanity/pkg-utils to ^10.5.1 (#12900) | daf6c35 |
| @bjoerge | fix(form): revert dataset aclMode check for plain asset previews (#12913) | 34982cf |
| squiggler-app[bot] | chore(deps): update dependency @sanity/blueprints to ^0.19.1 (#12889) | 4c3064b |
| squiggler-app[bot] | chore(deps): update playwright monorepo to v1.60.0 (#12912) | 2273ad6 |
| @juice49 | fix(sanity): restore document form open path from URL (#12873) | 07cda46 |
| @geball | chore: fix typo (#12906) | 65872fe |
v5.28.0
Sanity Studio v5.28.0
This release includes various improvements and bug fixes.
For the complete changelog with all details, please visit:
www.sanity.io/changelog/studio-NS4yNy4w
Install or upgrade Sanity Studio
To upgrade to this version, run:
npm install sanity@latestTo initiate a new Sanity Studio project or learn more about upgrading, please refer to our comprehensive guide on Installing and Upgrading Sanity Studio.
📓 Full changelog
| Author | Message | Commit |
|---|---|---|
| @stipsan | fix(presentation): handle null client.fetch results in PostMessageSchema (#12904) | 4397d7b |
| @stipsan | fix(presentation): avoid iframe reload on perspective switch (#12885) | 1b76d8b |
| @stipsan | fix(presentation): handle agent bundle perspectives correctly (#12903) | a91bdc2 |
| squiggler-app[bot] | fix(deps): update dependency @sanity/insert-menu to v3.0.7 (#12897) | 9dea35a |
| squiggler-app[bot] | chore(deps): update dependency @sanity/visual-editing-csm to ^3.0.8 (#12895) | 5c460ed |
| squiggler-app[bot] | fix(deps): update dependency @sanity/preview-url-secret to ^4.0.6 (#12898) | 931641a |
| squiggler-app[bot] | fix(deps): Update dev-non-major (#12888) | 632282c |
| @jordanl17 | refactor(telemetry): replace PTE fullscreen events with Editor Opened/Closed + properties (#12883) | 6195111 |
| squiggler-app[bot] | fix(deps): update dependency @sanity/presentation-comlink to ^2.1.0 (#12881) | e604c3e |
| squiggler-app[bot] | fix(deps): update dependency @sanity/client to ^7.22.0 (#12880) | 8a5b3ae |
| @jordanl17 | refactor(telemetry): rename Canvas Opened from studio event to Canvas Opened (#12884) | e16ba95 |
| squiggler-app[bot] | chore(deps): update dev-non-major (#12579) | c4b5b4d |
| @pedrobonamin | feat(core): add view-as navbar for variant selection (#12862) | 4b5e4bb |
v5.27.0
Sanity Studio v5.27.0
This release includes various improvements and bug fixes.
For the complete changelog with all details, please visit:
www.sanity.io/changelog/studio-NS4yNi4w
Install or upgrade Sanity Studio
To upgrade to this version, run:
npm install sanity@latestTo initiate a new Sanity Studio project or learn more about upgrading, please refer to our comprehensive guide on Installing and Upgrading Sanity Studio.
📓 Full changelog
| Author | Message | Commit |
|---|---|---|
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#12846) | 2057560 |
| @juice49 | fix(sanity): add SanityImageSource to permitted media preview types (#12863) |
ecf8f39 |
| @juice49 | fix(sanity): set correct dimensions for PTE block image preview (#12863) | 44bc72c |
| @pedrobonamin | feat(actions): adds sieve (#12864) | 5742d89 |
| @bjoerge | chore(ci): add node 26 to test matrix (#12860) | ca41e8f |
| @juice49 | fix(sanity): full-screen PTE popover boundaries (#12857) | c78ec37 |
| @pedrobonamin | feat(core): add variant definition delete action (#12848) | e296b6c |
| @pedrobonamin | feat(core): initial implementation for variants creation form (#12847) | 9178fe2 |
| @pedrobonamin | feat(core): Setting up variants tool (#12840) | ee6c149 |
| @pedrobonamin | fix(i18n): mark stable resources for translation (#12861) | 36a8b11 |
| @bjoerge | chore(ci): bring back build metadata for prereleases (#12856) | 2428346 |
| @hermanwikner | fix(comments): hide empty field wrapper when field component is hidden (#12773) | 320f744 |
| @bjoerge | chore: upgrade react-i18next & i18next (#12845) | de77cf7 |
| @EoinFalconer | fix(e2e): stabilize flaky delete and restore document-action tests (#12714) | e356ae3 |
v5.26.0
Sanity Studio v5.26.0
This release includes various improvements and bug fixes.
For the complete changelog with all details, please visit:
www.sanity.io/changelog/studio-NS4yNS4x
Install or upgrade Sanity Studio
To upgrade to this version, run:
npm install sanity@latestTo initiate a new Sanity Studio project or learn more about upgrading, please refer to our comprehensive guide on Installing and Upgrading Sanity Studio.
📓 Full changelog
| Author | Message | Commit |
|---|---|---|
| @bjoerge | chore(ci): add permissions for typedoc workflow job (#12851) | 50a6892 |
| squiggler-app[bot] | chore(release): publish v5.26.0 (#12829) | cf3038b |
| @bjoerge | revert: "chore(release): publish v5.26.0" (#12849) | 70545b8 |
| @skogsmaskin | fix: respect options.disableNew for asset menus (#12842) | 2de7a16 |
| @jordanl17 | chore(test-studio): replicate missing DocumentDivergencesContext error (#12833) |
6437b4d |
| @jordanl17 | fix(sanity): allow FormBuilder to render without parent DocumentDivergencesContext (#12833) |
ff9d414 |
| squiggler-app[bot] | fix(deps): update dependency @sanity/cli to ^6.6.0 (#12804) | d2a3286 |
| @jordanl17 | feat(core): route studio root to first visible workspace (#12826) | 30be234 |
| @bjoerge | fix: add back groq prerelease to trustPolicyExclude (#12841) | 204ff5c |
| squiggler-app[bot] | chore(tests): generate dts tests 🤖 ✨ (#12838) | 2282f9d |
| @annez | feat(telemetry): add Studio Tool Mount Time Measured event (#12708) | cd5c734 |
| @RitaDias | fix(form): surface errors across the form to validation especially focused on date inputs (#12815) | a271265 |
| squiggler-app[bot] | chore(tests): generate dts tests 🤖 ✨ (#12836) | f27521f |
| @pedrobonamin | fix(core): arrays previews to include the first item (#12837) | 3f22835 |
| @pedrobonamin | feat(core): initial setup for variants store (#12809) | c99e3ca |
| @bjoerge | chore(deps): exclude groq@5.24.0 from trust policy (#12832) | b3cda58 |
| squiggler-app[bot] | chore(deps): update pnpm to v11.1.2 (#12831) | 543417e |
| @bjoerge | ci(workflows): add zizmor audit and harden workflows (#12830) | 3d842be |
| @jordanl17 | fix(form): load crop image via authed blob URL for private assets (#12820) | c6abef0 |
v5.25.1
Sanity Studio v5.25.1
This release includes various improvements and bug fixes.
For the complete changelog with all details, please visit:
www.sanity.io/changelog/studio-NS4yNS4w
Install or upgrade Sanity Studio
To upgrade to this version, run:
npm install sanity@latestTo initiate a new Sanity Studio project or learn more about upgrading, please refer to our comprehensive guide on Installing and Upgrading Sanity Studio.
📓 Full changelog
| Author | Message | Commit |
|---|---|---|
| @bjoerge | fix: show login screen instead of error when session expires (#12827) | 69cce1a |
| @pedrobonamin | fix(core): remove static css import from sanity and vision (#12825) |
c147d00 |
| @bjoerge | fix(structure): truncate long document titles in pane header (#12823) | e916a32 |
v5.25.0
Sanity Studio v5.25.0
This release includes various improvements and bug fixes.
For the complete changelog with all details, please visit:
www.sanity.io/changelog/studio-NS4yNC4w
Install or upgrade Sanity Studio
To upgrade to this version, run:
npm install sanity@latestTo initiate a new Sanity Studio project or learn more about upgrading, please refer to our comprehensive guide on Installing and Upgrading Sanity Studio.
📓 Full changelog
| Author | Message | Commit |
|---|---|---|
| @jordanl17 | fix(form): keep dialog open when focusing reference link in grid item (#12821) | b3f4604 |
| @jordanl17 | fix(structure): guard against null formState in DivergencesProvider (#12807) | 9ee4495 |
| @sgulseth | fix(core): await empty response handling (#12819) | 2455e6c |
| @jordanl17 | fix(releases): use selected timezone in perspective menu dates (#12808) | 2fc09fd |
| @jordanl17 | fix: adding names to currently nameless telemetry events (#12816) | d694f57 |
| @pedrobonamin | fix(vision): do not fetch if query is empty (#12814) | a10c347 |
| @annez | feat(telemetry): enrich studio event context (#12813) | 9f3591c |
| @RitaDias | perf(core): dedupe equal editStateFor values + add tests for hook (#12789) | 03217c9 |
| @jordanl17 | fix: hide register studio option from local dev mode studios (#12803) | 3591ab7 |
| @jordanl17 | chore: instrument divergences flows (#12747) | b31eb1c |
| @bjoerge | chore: upgrade jsdom to latest and remove override (#12802) | 2300e47 |
| squiggler-app[bot] | chore(lint): fix linter issues 🤖 ✨ (#12792) | 39004b8 |
| @jordanl17 | fix: resolving z indexes issue with popovers inside document form (#12798) | 2e11e50 |
| @bjoerge | fix(ci): restore provenance after pnpm 11 upgrade (#12797) | 212d696 |
| squiggler-app[bot] | chore(deps): update pnpm to v11.0.8 (#12799) | 2674f9a |
| @bjoerge | perf(core): render workspace menu immediately and preload on hover (#12793) | 93dd049 |
| @pedrobonamin | chore(core): remove server actions enabled wiring (#12769) | 97b56f1 |
| @bjoerge | perf: defer per-workspace auth checks via /auth/id probe (#12777) | 4b3b564 |
| @juice49 | feat(sanity): ensure all ordering expression are addressable (#12761) | 0ba3fb8 |
| @EoinFalconer | fix(presentation): sync perspective cookie for content agent documents (#12671) | 08c0d79 |
| @pedrobonamin | feat(core): variants plugin setup - default disabled (#12762) | 71c40e1 |
| @bjoerge | fix(auth): guard access to browser-only globals in SSR environments (#12790) | 902b99b |
| @pedrobonamin | fix(core): include versions in consistency status validation (#12771) | ce57ece |
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#12764) | 1880a07 |
| squiggler-app[bot] | fix(deps): Update portabletext (#12770) | bc47f51 |
| squiggler-app[bot] | chore(deps): update dependency knip to v6 (#12782) | e5da2ef |
| squiggler-app[bot] | chore(tests): generate dts tests 🤖 ✨ (#12784) | 2d6b017 |
v5.24.0
Sanity Studio v5.24.0
This release includes various improvements and bug fixes.
For the complete changelog with all details, please visit:
www.sanity.io/changelog/studio-NS4yMy4w
Install or upgrade Sanity Studio
To upgrade to this version, run:
npm install sanity@latestTo initiate a new Sanity Studio project or learn more about upgrading, please refer to our comprehensive guide on Installing and Upgrading Sanity Studio.
📓 Full changelog
| Author | Message | Commit |
|---|---|---|
| @jordanl17 | feat(core): make document action keys extensible via declaration merging (#12768) | eebdb17 |
| @bjoerge | chore: replace pnpx with pnpm and add pkg-pr-new dependency (#12783) | 3d66c1f |
| @bjoerge | chore(turbo): remove unused env var (#12781) | f8111fc |
| @bjoerge | chore(ci): use pnpm whoami instead of npm whoami (#12780) | 2308d14 |
| @RitaDias | test: add tests for createCallbackResolver (#12779) | 5625f37 |
| squiggler-app[bot] | fix(deps): update dependency @sanity/cli to ^6.5.0 (#12778) | f3d306c |
| @bjoerge | fix: restore workspace hidden property (#12775) | 8f4e6b0 |
| @pedrobonamin | fix(core): add version into documentEvents observable (#12772) | b511ef9 |
| @bjoerge | chore(ci): switch to package build for lefthook (#12767) | 838e355 |
| @bjoerge | chore: remove pre-commit husky hook (#12766) | 752aaf6 |
| @bjoerge | chore: replace husky + lint staged with lefthook (#12755) | fcbdbdb |
| @bjoerge | chore: upgrade pnpm to 11.0.0 (#12759) | 50a185b |
| @bjoerge | chore(ci): drop node 20 from test matrix (#12760) | 8bc9911 |
| squiggler-app[bot] | chore(deps): update dependency @tanstack/react-virtual to ^3.13.24 (#12657) | c4954c5 |
| @jordanl17 | chore: adding telemetry to track when feedback dialog is opened and closed (#12749) | 6b16652 |
| @pedrobonamin | fix(core): reset calendar focused date when setting to current time (#12753) | ff8a7d4 |
| @pedrobonamin | chore(core): cleanup decision parameters schema (#12751) | aa8980b |
v5.23.0
Sanity Studio v5.23.0
This release includes various improvements and bug fixes.
For the complete changelog with all details, please visit:
www.sanity.io/changelog/studio-NS4yMi4w
Install or upgrade Sanity Studio
To upgrade to this version, run:
npm install sanity@latestTo initiate a new Sanity Studio project or learn more about upgrading, please refer to our comprehensive guide on Installing and Upgrading Sanity Studio.
📓 Full changelog
| Author | Message | Commit |
|---|---|---|
| @EoinFalconer | feat(studio): add config option to disable ask-to-edit button (#12692) | 391d403 |
| @EoinFalconer | fix(diff): deduplicate repeated inline diff segments in Portable Text (#12675) | 26c140f |
| @bjoerge | fix(ci): keep release-notes consistent for PR-less commits (#12752) | 21a31ef |
| @bjoerge | fix(ci): handle commits without an associated PR (#12750) | 67682e5 |
| @pedrobonamin | chore(core): update invalid fields styles (#12002) | 713dd8c |
| squiggler-app[bot] | chore(deps): update dependency @sanity/telemetry to v1 (#12664) | d4eb80e |
| squiggler-app[bot] | chore(deps): update dependency @sanity/document-internationalization to v6 (#12663) | c4b92e3 |
| squiggler-app[bot] | chore(deps): update dependency @sanity/assist to v6 (#12662) | 9372842 |
| @EoinFalconer | fix(studio): hide user menu on mobile in dashboard mode (#12684) | e51fee8 |
| @annez | feat(telemetry): add Global Search Latency Measured event (#12709) | 317ae6b |
| squiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#12741) | c825f1f |
| @pedrobonamin | feat: enable vanilla-extract CSS (#12590) | c0fb87f |
| @pedrobonamin | fix(core): show json diffs for missing fields, skip _system field (#12744) | 57ebcca |
| @gu-stav | fix(feedback): associate labels with HTML form fields (#12746) | d08b8ee |
| @bjoerge | test(e2e): require matcher in expectError to avoid suppressing unrelated errors (#12745) | 6f1d6c2 |
| @RitaDias | fix: issue when reverting to revisions in live edits (#12729) | e0c829f |
| @bjoerge | refactor: move store modules from _legacy directory to top-level store (#12735) | bfd3b14 |
| squiggler-app[bot] | chore(tests): generate dts tests 🤖 ✨ (#12742) | 3921053 |
| @bjoerge | chore: switch to tsgo across the board (#12738) | 6b99ab9 |
| @bjoerge | feat(sanity): warn on divergent auth configs for same project id (#12732) | 36b911d |
| @Chrilleweb | fix(docs): code of conduct path in contributing file (#12740) | fc5f9fc |
| @annez | feat(telemetry): add Document Initial Load Measured event (#12710) | 7110142 |
| @EoinFalconer | fix(releases): add empty state for cardinality-one releases with no documents (#12687) | 379906f |
| @EoinFalconer | fix(form): maintain select button position with disableNew on image fields (#12683) | 91ebac8 |
| @bjoerge | ci(workflows): drop fetch-depth: 0 from jobs that don't need history (#12736) | 0a1b5b3 |
| Copilot | fix(core): throw on missing projectId/dataset in getOperationStoreKey (#12609) | 583bcce |
| squiggler-app[bot] | chore(tests): generate dts tests 🤖 ✨ (#12734) | 7f09c2a |
| @RitaDias | refactor: the menu items in viewContentReleases and ScheduledDraftsMenuItem show proper hovering (#12703) | 6ba4b90 |
| squiggler-app[bot] | chore(deps): update pnpm to v10.33.1 (#12660) | b45aa6e |
| @EoinFalconer | fix(e2e): stabilize custom release actions E2E test (#12694) | 4f5ee31 |
| @RitaDias | fix: remove underline from openInNewTabIcon menu item for refs (#12724) | eb3ca24 |
| @bjoerge | refactor: auth store (#12679) | 85df943 |
| @EoinFalconer | fix(e2e): bypass navbar pointer-event interception in reference autocomplete (#12717) | e354416 |
| @EoinFalconer | fix(e2e): stabilize page.goto wrapper for Firefox CI load (#12712) | 164332d |
| @EoinFalconer | fix(ci): pass --shard through pnpm without literal -- separators (#12713) | ba7789b |
| @EoinFalconer | fix(releases): improve activity panel UX consistency (#12686) | 5b9cd5d |
| @EoinFalconer | fix(form): prevent scroll jump when opening field overflow menu (#12629) | 1ce6320 |
| @EoinFalconer | fix(test): disable console intercept to prevent worker teardown races (#12716) | 032532d |
v5.22.0
Sanity Studio v5.22.0
This release includes various improvements and bug fixes.
For the complete changelog with all details, please visit:
www.sanity.io/changelog/studio-NS4yMS4w
Install or upgrade Sanity Studio
To upgrade to this version, run:
npm install sanity@latestTo initiate a new Sanity Studio project or learn more about upgrading, please refer to our comprehensive guide on Installing and Upgrading Sanity Studio.
📓 Full changelog
| Author | Message | Commit |
|---|---|---|
| @annez | feat(telemetry): add Studio Auth Ready + Studio Ready timing events (#12707) | f3ba538 |
| @RitaDias | fix: positioning of reference input lists in documents (and modals / dialogs / popovers) (#12721) | 14f7b82 |
| squiggler-app[bot] | fix(deps): update dependency @sanity/cli to ^6.4.0 (#12727) | b7bd438 |
| @skogsmaskin | feat(asset-sources): add persistence key for Media Library plugin (#12670) | 311ac2d |
| @juice49 | chore(test-studio): add slug.current ordering (#12722) |
2fdd96f |
| @juice49 | fix(sanity): handle groq2024 searches that sort on child paths and complex GROQ expressions (#12722) | 755a6a5 |
| @EoinFalconer | fix(form): support programmatic focus with inline changes enabled (#12673) | cf9ce7d |
| @jordanl17 | chore: hiding types from reference docs (#12705) | 58a4869 |
| @EoinFalconer | fix(e2e): stabilize validation and vision test race conditions (#12715) | 9060f82 |
| @RitaDias | refactor: add hasAttachment tag to sentry feedback (#12718) | f37d1fb |
| @RitaDias | fix(studio): stop eagerly fetching auth for all workspaces at the start (#12704) | f131c92 |
| @bjoerge | chore(agents): add code review skills (#12702) | 8226891 |
| @bjoerge | chore(skills): add rxjs skill (#12698) | 07ac7a7 |
| @jordanl17 | feat(config): add hidden property to workspace configuration (#12599) | 41c0f27 |
| @bjoerge | fix(auth): make logout method return promise in auth store types (#12690) | a45e005 |
| @bjoerge | fix(ci): use default lint output format for reliable error visibility (#12696) | e53903b |
| @bjoerge | chore(skills): update pr-description skill (#12697) | 039ab5d |
| @bjoerge | fix(ci): add auth store e2e tests (#12647) | 9229abc |
| @jordanl17 | fix(types): correct BlockRule value type from any[] to PortableTextBlock (#12509) | 3ca5e31 |
| @kbrabrand | fix(sanity): cancel fetch response bodies to prevent connection blocking (#12681) | af813e7 |
| @bjoerge | fix(ci): exclude markdown files from v8 coverage (#12680) | 047297d |
| @juice49 | fix(sanity): use @sanity/uuid to produce feedback session id (#12682) |
5c9a767 |
| @bjoerge | chore(e2e): show pass/fail status in PR comment and report link (#12677) | ebed557 |
| @RitaDias | fix(preview): reduce redundant fetches in document preview observers (#12624) | dd438bd |
| @bjoerge | fix(ci): add auth store unit tests (#12646) | 0ab91e8 |
| @bjoerge | ci(e2e): skip merge-reports when tests never ran (#12597) | 6db83ba |
| @juice49 | test(sanity): add missing enabled prop to DivergencesTestProvider (#12618) |
f534c8f |
| @juice49 | fix(sanity): published id incorrectly supplied to DivergencesProvider as subject id (#12618) |
8910e18 |
| @juice49 | fix(sanity): stale form context after switching document versions (#12618) | 8b50bc8 |