{"id":"src_1HIC7Hel3TuJPcm5plHbh","slug":"sanity-studio","name":"Sanity Studio","type":"github","url":"https://github.com/sanity-io/sanity","orgId":"org_c2QLShGghMZ4YMc-cYwPa","org":{"slug":"sanity","name":"Sanity"},"isPrimary":false,"metadata":"{\"evaluatedMethod\":\"github\",\"evaluatedAt\":\"2026-04-11T13:59:06.542Z\",\"changelogUrl\":\"https://github.com/sanity-io/sanity/blob/HEAD/CHANGELOG.md\",\"changelogDetectedAt\":\"2026-04-11T14:00:58.098Z\"}","releaseCount":101,"releasesLast30Days":4,"avgReleasesPerWeek":1.6,"latestVersion":"v5.21.0","latestDate":"2026-04-15T14:51:59.000Z","changelogUrl":"https://github.com/sanity-io/sanity/blob/HEAD/CHANGELOG.md","hasChangelogFile":true,"lastFetchedAt":"2026-04-19T07:02:49.710Z","trackingSince":"2025-02-20T13:37:50.000Z","releases":[{"id":"rel_zrTbmRyp01zCB4TRGQF4H","version":"v5.21.0","title":"v5.21.0","summary":"# Sanity Studio v5.21.0\n\nThis release includes various improvements and bug fixes.\n\nFor the complete changelog with all details, please visit:\n[www.sa...","content":"# Sanity Studio v5.21.0\n\nThis release includes various improvements and bug fixes.\n\nFor the complete changelog with all details, please visit:\n[www.sanity.io/changelog/studio-NS4yMC4w](https://www.sanity.io/changelog/studio-NS4yMC4w)\n\n## Install or upgrade Sanity Studio\n\nTo upgrade to this version, run:\n\n```bash\nnpm install sanity@latest\n```\n\nTo initiate a new Sanity Studio project or learn more about upgrading, please refer to our comprehensive guide on [Installing and Upgrading Sanity Studio](https://www.sanity.io/docs/upgrade).\n\n# 📓 Full changelog\n\nAuthor | Message | Commit\n------------ | ------------- | -------------\nsquiggler-app[bot] | chore(deps): update playwright monorepo to v1.59.1 (#12659) | 48644a14dc53d2ee973f846ece97cc89e025dcc5\n@bjoerge | chore(e2e): comment with report link on main if e2e tests fail (#12668) | da30657c3e06e30194907ae715dec292f1728a21\n@bjoerge | chore(ci): deploy playwright e2e reports to vercel (#12666) | d12f242fadabd0e319a5117e3a245a89a81204ea\nsquiggler-app[bot] | chore(deps): update vitest monorepo to ^4.1.4 (#12661) | 05811c3bff3a4154a644120b6cf58fd16538acdf\nsquiggler-app[bot] | chore(deps): update davelosert/vitest-coverage-report-action action to v2.11.2 (#12656) | c592ee951bc88e4709142fa01c661046fcc4b0fb\nsquiggler-app[bot] | chore(deps): pin sanity-labs/mark-issues-done-action action to 88e6a3e (#12654) | bbb67c3fadb07916c9ae99082914721fa5d15215\nsquiggler-app[bot] | chore(deps): update dependency @sanity/migrate to ^6.1.1 (#12655) | 86c7190382e1acf655904de326a35d2718ad00b5\nsquiggler-app[bot] | chore(tests): generate dts tests 🤖 ✨ (#12653) | 3f960c8a424a95ec9ce2a9ac8ab34b54de95ff81\nsquiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#12652) | a2f091fd7f9534027fd50c2c2c49eced478585e9\nsquiggler-app[bot] | fix(deps): update dependency @sanity/preview-url-secret to ^4.0.5 (#12648) | 7e432c9e5eab8dbc66345bfc19853275d94a4f74\nsquiggler-app[bot] | chore(deps): update dependency esbuild to v0.28.0 (#12623) | 18552d3b2068315799a7b9b14f075a4edf5054b6\n@dcilke | feat(sanity): add mutation performance and document rebase telemetry (#12634) | 70bed9c86204677e945d47e0a88b178b37b6e4a7\nsquiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#12638) | d45d9c2766c744108cc04fef3460bf00182c80e9\nsquiggler-app[bot] | chore(deps): update dependency @sanity/pkg-utils to ^10.4.15 (#12649) | 384622d8fac4bea9de3cfa58d30b9ac729dc958e\nsquiggler-app[bot] | fix(deps): update dependency @sanity/cli to ^6.3.2 (#12650) | 6f318527caf37a722d0c936b5a3addc7953701dd\nsquiggler-app[bot] | chore(deps): update dependency @sanity/visual-editing-csm to ^3.0.7 (#12643) | 809abd49ee9c75b8c210b9b9acdd9320b5941ac5\nsquiggler-app[bot] | chore(tests): generate dts tests 🤖 ✨ (#12645) | a26182becff931ae13639e61b8f671993771f3a5\n@bjoerge | test(e2e): add data-testid to error screens and auto-detect in e2e tests (#12619) | 965a0417470c5da4460335392a03fdf2cb8ff375\n@bjoerge | chore(dev): add dedicated auth test studio (#12635) | 06557fe740918085f948b4bd3973de8d508d692c\nsquiggler-app[bot] | chore(deps): update dependency @sanity/pkg-utils to ^10.4.14 (#12639) | 7b9c0a7f52995ff8bfa6026d042b2a94c8302deb\nCopilot | refactor(sanity): remove shared ResizeObserver pattern and @juggle/resize-observer polyfill (#12640) | 426b3f3c8bab153c7b49d1e64316752c9614aeb1\nCopilot | chore(deps): update @sanity/sdk, @sanity/message-protocol, and @sanity/insert-menu (#12642) | f63d4723d14747e3f952a63f3272cbb48995ffec\n@skogsmaskin | fix(form): position reference autocomplete popovers in portaled dialogs (#12633) | e8358978231f9c6b53ce2ed1833f26ffc4f7a60d\nsquiggler-app[bot] | fix(deps): Update portabletext (#12622) | e48cf963fe142660a13c8846569dc6de00a6c412\nsquiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#12632) | a420cf58d0d4ca55af6cab401bb46d0070b378cc\n@ChrisLaRocque | fix(structure): always show plus icon in pane header create button (#12600) | 8283f9702de36172d58a660728fea9080b15491a\n@jordanl17 | fix(i18n): graceful fallback for invalid locale component tags in Translate (#12630) | c6fd86491b485c6ea856a18b55c88a69933bf0d8\nsquiggler-app[bot] | fix(deps): update dependency @sanity/client to ^7.21.0 (#12631) | 28033ef1e15b8ea37061023cc49301f1fd25bd40\n@rexxars | feat(vision): groq syntax highlighting (#12594) | 95a1dcee4f388be8c5d6212d118986e1e1742abc\nsquiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#12621) | 7392687e9f1cd5adf701cfac5875fa1b65cf05fc\nsquiggler-app[bot] | chore(tests): generate dts tests 🤖 ✨ (#12615) | 75834e8336129ff15b77931d997d884608843aac\n@jordanl17 | fix(document): resolving copying document id on live edit schema type (#12604) | 9b87ed11cdd70d88add0fcd4c5d6ec9d424ae3b4\nsquiggler-app[bot] | chore(deps): update dependency @sanity/pkg-utils to ^10.4.13 (#12613) | 0dee84ba96a3c16bc2802c3fa90b244106ee427a\nsquiggler-app[bot] | fix(deps): update dependency @sanity/client to ^7.20.0 (#12614) | 578f30555a589b38a555ef73310fff14590a36fb\n@dcilke | fix(schema): convert missing descriptor properties and expand test coverage (#12607) | b89b88f0a8e46914f967da43ae5d6ff7d8d91792\n@juice49 | feat(sanity): allow form gutter to be switched on or off for individual subtrees (#12616) | d4e97c1afe5e76dd035e81144812b484d9dedccf\n@juice49 | feat(sanity): do not override divergence enabled state in nested `DocumentPaneProvider` (#12616) | c3bdf2a01055d9b189b772fb99a27024afca9e3e\n@juice49 | fix(sanity): switch off divergences for entire inspector subtree (#12616) | 6105bbf9e4597f14c132141e66729e7cdafe7f61\n@pedrobonamin | fix(structure): allow text selection in validation panel error cards (#12611) | b572c65379f13863ca9b509af99e46fa2b190a54\n@RitaDias | refactor(core): decouple FeedbackDialog and useFeedback from studio context (#12606) | 4c4907d9372e0384d5f47fa586e39921651f43c0\n@jordanl17 | fix(releases): preserve search input focus when filtering yields no results (#12608) | a758cbe6b9be0fd59ffb8780f69dd7699383466f\n@juice49 | fix(sanity): use \"added\" and \"removed\" diffs in divergence inspector (#12598) | 58c0803d1af703f43324b04672223f6319d3bde0\n@binoy14 | chore(deps): replace execa with node:child_process in perf tests (#12570) | 847d09fce6783de166163fb2f79c9bae0876b423\n@kbrabrand | fix(schema): support extracting object type without fields (#12605) | ea7980663fcdb60b8457118bcb35486b60a7307e\n@jordanl17 | fix(releases): resolving issues with navigation between scheduled drafts and releases (#12602) | 6d3855c13f605358427ca7655f67221cf57bc543\n@jordanl17 | fix(structure): validate persisted sort order against schema before applying (#12589) | 8c0b013d36b5cf4daad07a61db1ab667d31041d9\n@juice49 | fix(sanity): scope popover modal focus trapping to owner pane (#12542) | c91a0e3569046c23853af328af28459e1d2efd2a\n@annez | docs(telemetry): add comprehensive telemetry system documentation (#12512) | e3d060f17f4d91d6f50235a14bc6e270169cf413\n@juice49 | feat(sanity): add `onActiveChanged` and `onTargetDocumentsChanged` hooks to diff view state (#12584) | a053bb43432e601e37bafa77fa62d7652018d215\n@juice49 | chore(sanity): add telemetry to diff view (#12584) | 2e13821afc485f7717c0a11934e80a5d4792706f\n@jordanl17 | fix(structure): support array index access in custom sort orderings (#12591) | 2aba6014362eb95598bdc5b129def58a375d90b6\n@EoinFalconer | fix(form): handle periods in array item keys when parsing paths (#12110) | f295c2c362316fced7ac60065f23ca48e1109fa0\nsquiggler-app[bot] | chore(deps): update dependency oxfmt to ^0.44.0 (#12592) | ffd9d665a840cb639ec5538e75980f310ccb5014\n@pedrobonamin | fix(structure): incoming references inspector show loading state (#12596) | f4d13bbbb2c609911fe89ca09204019977070440\n@rexxars | fix(sanity): support runtime staging flag for auto-updating deploys (#12563) | 61cc6a162ab0b8ca23b2c60e34f5fc1a1a709230\n@binoy14 | chore(deps): replace globby with tinyglobby (#12571) | 29e85014d8eba048545b01fd23967b41e6a33a98\n@jordanl17 | ci: prevent cancelled runs from blocking auto-merge (#12585) | fe4c60978710880e0fc8d878cc89e9b5c5a32f5c\n  \n","publishedAt":"2026-04-15T14:51:59.000Z","url":"https://github.com/sanity-io/sanity/releases/tag/v5.21.0","media":[]},{"id":"rel_ja9akeuXcOj7xqqivM9uV","version":"v5.20.0","title":"v5.20.0","summary":"# Sanity Studio v5.20.0\n\nThis release includes various improvements and bug fixes.\n\nFor the complete changelog with all details, please visit:\n[www.sa...","content":"# Sanity Studio v5.20.0\n\nThis release includes various improvements and bug fixes.\n\nFor the complete changelog with all details, please visit:\n[www.sanity.io/changelog/studio-NS4xOS4w](https://www.sanity.io/changelog/studio-NS4xOS4w)\n\n## Install or upgrade Sanity Studio\n\nTo upgrade to this version, run:\n\n```bash\nnpm install sanity@latest\n```\n\nTo initiate a new Sanity Studio project or learn more about upgrading, please refer to our comprehensive guide on [Installing and Upgrading Sanity Studio](https://www.sanity.io/docs/upgrade).\n\n# 📓 Full changelog\n\nAuthor | Message | Commit\n------------ | ------------- | -------------\nsquiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#12583) | 449f40cb987a05c3e3438f67f59db4507db844f7\n@codythatsme | fix(types): preserve type autocomplete for defineField inside defineType (#12576) | d566c31254a4d1d13d905eff0912be445ed69ac6\nsquiggler-app[bot] | chore(deps): update dependency lodash-es to ^4.18.1 (#12582) | e855996bca64d6262fd12791f6a82087066eb18d\n@jordanl17 | fix(form): add deeply nested array preview types and integrate into schema (#12489) | 35af7f5669f3acd86360f99ca268046b2f82e1fd\n@pedrobonamin | feat(core): adds useProjectOrganizationData hook (#12539) | f180ebfc15cdfa4b582cd8a8a8ec1fd4c6d58942\nsquiggler-app[bot] | chore(deps): update rexxars/bundle-stats digest to 1bc291f (#12569) | 48a5609d007a5d7c6b3d2558a807555305c25d1f\n@binoy14 | ci(renovate): inline reusable workflow to fix access error (#12567) | 95a9bca6b829fe9b3c46eb132a72fa2556765a78\n@binoy14 | ci: use main branch for action (#12566) | bbd13044f229f4ebed83defdac463e85e8a522a6\n@binoy14 | ci(renovate): add self-hosted renovate bot workflow (#12565) | 111f86e66a139ae557967fcf312685f2ea1f05cd\n@juice49 | fix(sanity): inline comment input re-animate on every value change (#12564) | fa34c76df4342e5292799297c7debd66f3ab0f7a\n@juice49 | fix(sanity): add missing perspective when calling `observeDocumentTypeFromId` for references (#12561) | 80e57e96f82e6aea329785ca1749dfe0ee791a7f\n@bjoerge | chore(ci): expand and clarify release PR description (#12562) | 611e177ebc0ff5a64cbe8ea81c314222cf265469\n@juice49 | fix(sanity): array input with no `ArrayFunctions` vanishing after pane expansion (#12559) | d7c56cd693fcc72fe15ccd2ea0dc25b8273c8d3b\n@juice49 | feat(test-studio): add example array with no `ArrayFunctions` (#12559) | 4da66bcb228c87961caf9097e660c44cd8dd7ca6\n  \n","publishedAt":"2026-04-07T12:49:22.000Z","url":"https://github.com/sanity-io/sanity/releases/tag/v5.20.0","media":[]},{"id":"rel_St2lcWm6js7i2tv5rvAkm","version":"v5.19.0","title":"v5.19.0","summary":"# Sanity Studio v5.19.0\n\nThis release includes various improvements and bug fixes.\n\nFor the complete changelog with all details, please visit:\n[www.sa...","content":"# Sanity Studio v5.19.0\n\nThis release includes various improvements and bug fixes.\n\nFor the complete changelog with all details, please visit:\n[www.sanity.io/changelog/studio-NS4xOC4w](https://www.sanity.io/changelog/studio-NS4xOC4w)\n\n## Install or upgrade Sanity Studio\n\nTo upgrade to this version, run:\n\n```bash\nnpm install sanity@latest\n```\n\nTo initiate a new Sanity Studio project or learn more about upgrading, please refer to our comprehensive guide on [Installing and Upgrading Sanity Studio](https://www.sanity.io/docs/upgrade).\n\n# 📓 Full changelog\n\nAuthor | Message | Commit\n------------ | ------------- | -------------\n@pedrobonamin | chore: replace deprecated placement in menuButton for popover.placement (#12421) | 867cccb78868375c4e4913d2f442cc8946683deb\n@juice49 | feat(sanity): tag version creation request during release duplication (#12554) | 5b90d9a72eda977f390002f8e64e65fdb73015fb\n@juice49 | refactor(sanity): pass only document id when duplicating release (#12554) | 8f01554d4b65a5b4f15595ef6701acad48d26af8\n@bjoerge | test(e2e): remove unnecessary Firefox skips from PTE fullscreen tests (#12552) | 70eca290f131bd9b2fdaa59f0c313c78ff583c07\n@bjoerge | chore(ci): bump renovate nodeMaxMemory to 2.5GB (#12555) | 63fb9e3b2ed8c5c2266accac4cd0cbc712d87851\n@bjoerge | chore(ci): bump renovate nodeMaxMemory to 2GB (#12553) | fa002f6d61d7a63c5eee49842acab52ffdc86aab\n@binoy14 | fix(deps): update @sanity/cli to v6.3.1 (#12546) | 27690b458c5dda5589d1b99a4e09e0631315a6e9\n@bjoerge | chore(ci): change nodeMaxMemory from string to number (#12550) | c06062a5c9a1018e33d29ec207988c93beb2f95f\n@bjoerge | chore(ci): set renovate nodeMaxMemory to 1GB (#12548) | 0d380fa7461755a5a41faba9d46865b73c3802bb\nrenovate[bot] | chore(deps): update dependency oxfmt to ^0.43.0 (#12450) | e374c45088b8b46a040fd173644356cc5b438a1d\n@binoy14 | chore(deps): bump GitHub Actions dependencies to latest versions (#12544) | 91b49930f4f1ffec106b78b087b2afdfc151c97f\n@binoy14 | chore(ci): add renovate concurrency limits (#12545) | fd39d6fa0f366d3c0de64862cccecabc61ad7b58\nrenovate[bot] | chore(deps): update davelosert/vitest-coverage-report-action digest to bd52af5 (#12535) | 02f819750798d682d52eae3ac6bb0cbeda421b22\n@christianhg | fix(deps): update @portabletext packages to latest versions (#12538) | 6095f0d2a05615e986c89914bef071bec1eda77f\n@binoy14 | fix(deps): update @sanity/cli to v6.3.0 (#12537) | 19761674059e9d977c8bc80f66aab26381c95fb9\n@RitaDias | feat: add feedbackDialog and sendFeedback methods (#12497) | 0477e2527979552a7949d441ee95318b8e807e37\n@RitaDias | refactor: always send error reporting to sentry, always strip PII (#12534) | 4b2dc940b4d6b6c767006eab4f0c29067e7a0300\n@Chrilleweb | fix(sanity): log deprecation warning once (#12526) | abc296dc90d7ec7d9218248c70850eec0ec0ec4c\n@bjoerge | feat(telemetry): track auth store timings (#12529) | 468ff0bc547f5eab8e080f903e2f101c02f5ecac\n@bjoerge | chore(telemetry): improve debug logging output (#12528) | 15943dde514e022f30b7e0cd49436eb2ad8d0361\n@TiwariLokesh | fix(core): prevent PointerOverlayDiv from blocking clicks on initial render in CommandList (#12480) | 9ca91b5e53c6f6d6716f2076fc18124460ed9faf\n@bjoerge | fix(auth): return stats from handleCallbackResult (#12522) | 9d4bd08efc477db2b43ae88071ed3d23798574d7\n@pedrobonamin | fix(structure): add empty state to incoming refs inspector (#12524) | 0add49d8583112ae7b3c4bc28f9bd20fbff01e23\n@pedrobonamin | fix(core): prevent task form operations from leaking into the main workspace store (#12523) | 54399547923c650ee256a2c93fbaec029f39c25c\n@stipsan | fix(deps): bump misc sanity packages (#12470) | 5c56d11297184275ebd874a47955c3a506d29602\n@bjoerge | ci(e2e): optimize Playwright CI workflows (#12519) | e5c05b0a66274d8eb32c3ff068664f00972a4896\nrenovate[bot] | chore(deps): update davelosert/vitest-coverage-report-action digest to 2500daf (#12516) | 89b7d7e98920e47622854adeb92df6d2d8dd404f\n@bjoerge | test(e2e): replace waitForSelector and waitForTimeout with locator APIs (#12510) | fc5c7f392c32d795a632af973d413596a04d2d3b\n@bjoerge | chore(ci): replace lerna with release-notes bump command (#12513) | 6171d67faaf213faabfd6dea3f038b869ba0ddf2\n@pedrobonamin | fix(core): publishing anonymous versions (#12514) | a1c9e4b8bd9cd93ab2b276f9a642aad31b65e92c\nrenovate[bot] | chore(deps): pin dorny/paths-filter action to fbd0ab8 (#12515) | 5aee0d5c3fa386d088b19992d8c764ad1d6c3643\n@jordanl17 | fix: show initial value template icons in new document pickers (#12508) | 990a3c4a90e99747c081af6f4689a035b7437e68\nrenovate[bot] | chore(deps): update pnpm to v10.32.1 (#12453) | d14c754edaa6ad33f91eacd17a18ea82d22c7157\nrenovate[bot] | chore(deps): update dependency knip to ^5.88.1 (#12449) | 3d05c77b13411d39d8076336a6db0fe52af72b43\n@jordanl17 | fix: pasting a document into a schema with read-only fields will exclude those fields from paste (#12488) | 500e41315c1c792c0235a3f12e6b4450bc504c83\n@jordanl17 | fix(validation): allow relative URLs when scheme excludes http (#12486) | d5c2b1ca31014526cf1178c34443879131bd9452\n@markmichon | fix(release-notes): unset releaseAutomation before publishing content release (#12505) | 3643a207ca7eeae788c8d90d1ddf9dcbb377c94c\nrenovate[bot] | chore(deps): update actions/create-github-app-token action to v3 (#12455) | 0c59a220a922daeb37e77b0ee0bf4fb31da6f4f9\n@bjoerge | chore(e2e): fix test timeouts and remove unnecessary test.slow() calls (#12499) | b6f04803b9edf6ba6ad3c606ac79d898c2df5edf\n  \n","publishedAt":"2026-04-01T14:22:09.000Z","url":"https://github.com/sanity-io/sanity/releases/tag/v5.19.0","media":[]},{"id":"rel_VMDyJuQUE_UgwKeL4czUd","version":"v5.18.0","title":"v5.18.0","summary":"# Sanity Studio v5.18.0\n\nThis release includes various improvements and bug fixes.\n\nFor the complete changelog with all details, please visit:\n[www.sa...","content":"# Sanity Studio v5.18.0\n\nThis release includes various improvements and bug fixes.\n\nFor the complete changelog with all details, please visit:\n[www.sanity.io/changelog/studio-NS4xNy4x](https://www.sanity.io/changelog/studio-NS4xNy4x)\n\n## Install or upgrade Sanity Studio\n\nTo upgrade to this version, run:\n\n```bash\nnpm install sanity@latest\n```\n\nTo initiate a new Sanity Studio project or learn more about upgrading, please refer to our comprehensive guide on [Installing and Upgrading Sanity Studio](https://www.sanity.io/docs/upgrade).\n\n# 📓 Full changelog\n\nAuthor | Message | Commit\n------------ | ------------- | -------------\nrenovate[bot] | fix(deps): update dependency @sanity/cli to ^6.2.1 (#12503) | 276b1d08eb0b093ac9b2fbe3341ed4e6a2c6fed4\nsquiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#12504) | 94ff7a577a1c57fbbe457c530baf096295aae52c\n@pedrobonamin | fix(core): getDocumentAtRevision prefer revision match (#12495) | e65a28e4f5043b73a970fec064ceead7c6c98d25\n@skogsmaskin | fix(form): unsubscribe dataset uploader streams on abort (#12500) | c886920863d10a57ef21846d36c4ea4177e9b88c\n@bjoerge | fix(auth): workaround Next.js replaceState bug (#12498) | 00644f5a36b4b40acca63d1e42d4d19f39d932f4\n@bjoerge | chore(agents): add more agent skills (#12496) | e9f037f5afd5b6bf3feae79ea0f0f8390e2d4d65\n@juice49 | refactor(sanity): encapsulate enabled state in `DivergencesProvider` (#12491) | 69db3898cf6c93d4635b10a1582bcb0b59a5eb8c\n@juice49 | fix(sanity): add missing `DivergencesProvider` to task form (#12491) | 96953742cf68c7d2aafcd70c32ef9c9dff209359\n@pedrobonamin | fix(core): deprecate `useTimeLineStore`,  use events store to get deleted document (#12481) | 9e36cda2a41944c198ada537378f8600149e2a18\n@skogsmaskin | fix(form): pass selectedAssets to asset sources (#12479) | eb77f48a9ce28a7146826b58ffec3c2699b716eb\n@bjoerge | chore(ci): skip CI for non-code changes and consolidate required status checks (#12493) | 124f28e2ad598595a21c9edc113cd11b16331fd9\n@jordanl17 | ci: fixing issue with older issues not being detected on auto-close stale issue workflow (#12485) | dfe6dec38b52397c3d7a6bf5c6a45b1d8c3b72b1\n@bjoerge | fix(core): fix false positive Node.js runtime detection in Next.js (#12490) | 29239c35943657761a58e9026692a2bc8ab59013\nsquiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#12471) | 55a76c2d639466908478ea85f5571fd5f1cdd6cc\nrenovate[bot] | fix(deps): update dependency @sanity/cli to ^6.2.0 (#12474) | 3ef420188e2b7cd8c1961a2fb6d0e8147b136e74\n@pedrobonamin | chore(structure): remove sheetList (#12477) | 89f40a8af71542562e5e5d9bd8422fb0848b033c\n@bjoerge | test(sanity): don't use debug logging telemetry store when running tests (#12475) | 8fd251a27c3c31ffbb863846d50603022e1536c3\n@RitaDias | fix: virtualization issues using the dialog and renderDefaults (#12398) | b5c0733a01d9d1b115b0c0e659cda4efe11d2c47\nrenovate[bot] | fix(deps): update dependency @sanity/cli to ^6.1.8 (#12457) | 4cfc7ac9beb52b762751cb04afa02d1e6fbc4830\n@bjoerge | feat(core): add support for pre-auth telemetry event buffering (#12469) | 3e655518f4d17da8c6c9947673e526594c83528a\nrenovate[bot] | chore(deps): update dependency @sanity/telemetry to ^0.9.0 (#12468) | 687d7c100c242b86e44aade7097e4a3dbfa1fbc6\n@TiwariLokesh | fix(core): prevent crash when group.members is null (#12463) | e2f5c2156e668c0b9553d09deffb96d3aaa41cf5\n@bjoerge | chore(ci): fix vercel env issue (#12466) | e54cfbdf6e97204f7769a891dcac137312f8fd05\n@binoy14 | chore(release-notes): preserve PR/issue reference links in Renovate changelog items (#12460) | bfdc67a4200a6b5a57b55acb59b31b83c1e54a30\n@bjoerge | chore(e2e): tidy up e2e workflow and run with isolated datasets in main (#12462) | ff6d693228dd24eac85b1ad52d0bb973b191402a\n@rexxars | test(e2e): improve stability (#12461) | b07accd10be80e81317723a6556d191048a8860d\n@bjoerge | test(e2e): add retrying to reference select dropdown (#12458) | b1fc88e03d3b3d1363385f5df24471c04325cbdc\nrenovate[bot] | chore(deps): update playwright monorepo to v1.58.2 (#12452) | be96dffcc7c1b8efdc5d30dad76c49211433f971\n@pedrobonamin | chore(core): removes create plugin (#12422) | e18770736d2a033e3989c504254f1e00862b360b\nrenovate[bot] | chore(deps): pin rexxars/bundle-stats action to 8a203eb (#12446) | 327030b067cdfe6ff2596df40373121cac671edf\nsquiggler-app[bot] | chore(deps): dedupe pnpm-lock.yaml (#12442) | 108e2dfc9512b51080f877f518462d11240fbfcc\n  \n","publishedAt":"2026-03-24T16:46:17.000Z","url":"https://github.com/sanity-io/sanity/releases/tag/v5.18.0","media":[]},{"id":"rel_28TUCjeyzXAbavEXe5bOO","version":"v5.17.1","title":"v5.17.1","summary":"# Sanity Studio v5.17.1\n\nThis release includes various improvements and bug fixes.\n\nFor the complete changelog with all details, please visit:\n[www.sa...","content":"# Sanity Studio v5.17.1\n\nThis release includes various improvements and bug fixes.\n\nFor the complete changelog with all details, please visit:\n[www.sanity.io/changelog/studio-NS4xNy4w](https://www.sanity.io/changelog/studio-NS4xNy4w)\n\n## Install or upgrade Sanity Studio\n\nTo upgrade to this version, run:\n\n```bash\nnpm install sanity@latest\n```\n\nTo initiate a new Sanity Studio project or learn more about upgrading, please refer to our comprehensive guide on [Installing and Upgrading Sanity Studio](https://www.sanity.io/docs/upgrade).\n\n# 📓 Full changelog\n\nAuthor | Message | Commit\n------------ | ------------- | -------------\n@rexxars | fix: incorrect lodash-es import (#12444) | c89b7bfc5d703001acf447267e1be893ec7de6b0\nrenovate[bot] | chore(deps): update portabletext (#12385) | 87a7fa648876e646d13309a7e2e6522e3676db14\n  \n","publishedAt":"2026-03-17T19:22:33.000Z","url":"https://github.com/sanity-io/sanity/releases/tag/v5.17.1","media":[]},{"id":"rel_dx2FxSalMo2T4HDsS4NKR","version":"v5.17.0","title":"v5.17.0","summary":"# Sanity Studio v5.17.0\n\nThis release includes various improvements and bug fixes.\n\nFor the complete changelog with all details, please visit:\n[www.sa...","content":"# Sanity Studio v5.17.0\n\nThis release includes various improvements and bug fixes.\n\nFor the complete changelog with all details, please visit:\n[www.sanity.io/changelog/studio-NS4xNi4w](https://www.sanity.io/changelog/studio-NS4xNi4w)\n\n## Install or upgrade Sanity Studio\n\nTo upgrade to this version, run:\n\n```bash\nnpm install sanity@latest\n```\n\nTo initiate a new Sanity Studio project or learn more about upgrading, please refer to our comprehensive guide on [Installing and Upgrading Sanity Studio](https://www.sanity.io/docs/upgrade).\n\n# 📓 Full changelog\n\nAuthor | Message | Commit\n------------ | ------------- | -------------\nrenovate[bot] | chore(deps): update dependency @sanity/pkg-utils to ^10.4.10 (#12430) | 05af6b6219f5d1e444fed83b4efe29b91d515c1b\n@juice49 | fix(sanity): excessive recomputing based on `formState` (#12440) | 26cff4f77a3ba9dd04deb3023439d85f91d56e0c\n@juice49 | fix(sanity): do not emit divergence navigator context if not switched on (#12440) | 34774763252af93aa0090d885a0a652c9fcb1f6f\n@bjoerge | chore(ci): fix release note exclusion, add --dryRun flag (#12437) | 73529c55052871a99b6fb2b68ee3e9dd4b891a85\n@pedrobonamin | fix(core): make tags input wider, fixes firefox crop issue (#12438) | 3acbd9a452c721c01a629f15eeb534696f2e6639\n@rexxars | test(e2e): fix flaky validation test clicks in Firefox (#12416) | 4d14809737eaea601fea0a6fbafc1fc2350a54f3\n@skogsmaskin | fix(form): filter asset sources by upload capability in file upload target (#12434) | 083bfc7a5767eea8dbdebbf4d41ab09252bc6e39\nrenovate[bot] | chore(deps): update dependency esbuild to v0.27.4 (#12419) | fb6e1fa2e2500ac91487573cacad6074c01a0d2c\n@juice49 | fix(sanity): expose object path segment directly (#12316) | 218201910eda6abeb9fe7a948f9bef394763e226\n@juice49 | feat(sanity): add `isArrayOfStringsSchemaType` type guard (#12316) | fd7e777ee9ccb9ac3620e4e58b06c23ebbc5cc9f\n@juice49 | feat(sanity): add CSS anchor names to inputs (#12316) | 05dc683c3b153326c92290e78c8fe163a21cc9cd\n@juice49 | feat(sanity): move `emptyValuesByType` and export it (#12316) | 0a594e85539caa14c744ed5c4ad8d0d66dbb4605\n@juice49 | feat(sanity): add `path` property to field members (#12316) | 544500ee19b64be96ea94d61ceef0fac1d1e5323\n@juice49 | feat(sanity): add `readOnly` property to field members (#12316) | e84b477c82fa7c3239c8b9f3a353c1a597d62ca3\n@juice49 | feat(sanity): add `schemaType` property to field members (#12316) | ab423edf0e2fd39dc1f0e9bdd181c78b5955fab7\n@juice49 | fix(studio): check whether inserted array item present in subject version (#12316) | 1a73760a998fc8f09ced7b60fa4bf81e8297a9ef\n@juice49 | feat(sanity): include document id in divergence resolution marker (#12316) | bb3d45aed75c988477f309b276f1046a2d9c8d30\n@juice49 | feat(sanity): move divergence metadata to `_systemDivergences` field (#12316) | 3bdcf819b1c74c9ef39fb6d94448787afd472969\n@juice49 | feat(sanity): export divergence types (#12316) | f46aae64e5a3fea557b48258e224470fe2fedf60\n@juice49 | feat(sanity): omit divergences in unkeyed objects (#12316) | 3fdbca81d61f061709e51f7f5fad5fa233d509c0\n@juice49 | feat(sanity): patch creators for acting on divergences (#12316) | 08a7c7b589df626c3039a0f99e6e11faa0e54bc5\n@juice49 | feat(sanity): when collating divergences, accept `undefined` ids, and add `upstreamId` to result (#12316) | d3d178c276c5b569354f2182b5273da199c0a669\n@juice49 | feat(sanity): add collated divergences exports (#12316) | 2ea9d73136b4bd7c8e836550e658bcc91be999da\n@juice49 | feat(sanity): functions for navigating divergences in the context of a schema type (#12316) | d42f2a652fb61e3f4466dabeb2bbc97ad1ce3ee8\n@juice49 | feat(sanity): divergence reporting, inspection, and resolution UI (#12316) | 52895b364fabc1fdc049fa33e8e341c8049c5a79\n@juice49 | feat(test-studio): switch on Advanced Version Control (#12316) | 042b8ee3eb558eab6d35945f6b2127efd81ac9af\nrenovate[bot] | chore(deps): update dependency @sanity/ui to ^3.1.14 (#12425) | 87f357ce8deda89c5d92140bd27e2ba36674cda8\nsquiggler-ent[bot] | chore(deps): dedupe pnpm-lock.yaml (#12423) | 404c4559e91b8ecd9a643b043fc01620ed717d9d\n@bjoerge | feat(schema): add ability to control undefined/null sorting (#12367) | d5f6875ffdc01d146f4cb35142ea39c558d9fbf4\n@juice49 | fix(sanity): loosen `@sanity/types` workspace version constraint (#12429) | 3534755c28fc94fdd944fde61acdf2c4c832b529\n@juice49 | fix(sanity): remove `@sanity/types` workspace override (#12432) | c978cca75a4bb8fdae84ddcbdfd772be53fd817e\n@RitaDias | fix: fix issue with Calendar on typing (#12399) | b58159bb701d0a85f9bd2502257df1d5c49fc521\n@bjoerge | chore(ci): fix issue with generating a string as release notes (#12435) | dd6a1f4ff30b475bd3ba9ebb7dcbbc66e6a87360\n  \n","publishedAt":"2026-03-17T18:32:15.000Z","url":"https://github.com/sanity-io/sanity/releases/tag/v5.17.0","media":[]},{"id":"rel__qvdDkIJkKyZ46B8LrO5I","version":"v5.16.0","title":"v5.16.0","summary":"# Sanity Studio v5.16.0\n\nThis release includes various improvements and bug fixes.\n\nFor the complete changelog with all details, please visit:\n[www.sa...","content":"# Sanity Studio v5.16.0\n\nThis release includes various improvements and bug fixes.\n\nFor the complete changelog with all details, please visit:\n[www.sanity.io/changelog/studio-NS4xNS4w](https://www.sanity.io/changelog/studio-NS4xNS4w)\n\n## Install or upgrade Sanity Studio\n\nTo upgrade to this version, run:\n\n```bash\nnpm install sanity@latest\n```\n\nTo initiate a new Sanity Studio project or learn more about upgrading, please refer to our comprehensive guide on [Installing and Upgrading Sanity Studio](https://www.sanity.io/docs/upgrade).\n\n# 📓 Full changelog\n\nAuthor | Message | Commit\n------------ | ------------- | -------------\n@rexxars | fix(deps): update dependency @sanity/cli to ^6.1.5 (#12417) | 4a5f72a8c72f5acb465bfeee836c482d304e3921\nrenovate[bot] | chore(deps): update dependency @sanity/pkg-utils to ^10.4.9 (#12412) | 92c7c1d307cd66380a1dfe8c3550a5f4db6e3633\nrenovate[bot] | fix(deps): update dependency @sanity/cli to ^6.1.4 (#12414) | b60724f257766cd1661f2d1501eb12605bf6462d\n@binoy14 | chore(release-notes): strip version and section headers from Renovate changelog output (#12413) | 1036cdca08a9a67a7280fb42b9f362023542e10c\nrenovate[bot] | fix(deps): update dependency @sanity/cli to ^6.1.3 (#12405) | 0a995b41bcc1cd6f3243e90d24f1bc8a182cbcf0\n@rexxars | test(e2e): fix flaky custom release actions test on overview page (#12392) | 55e6d9db43460e1b5b301a85a742ce3826056c6a\n@binoy14 | chore: update body for cli release PR (#12411) | d484c237cb996faf234cc27580da2e3a61678714\n@rexxars | test(efps): check asset existence before uploading (#12410) | 1b699d78753ff4eb0bf11a25e25705ba2c12ecda\n@binoy14 | chore(release-notes): parse Renovate bot release notes for allowed packages (#12408) | fe5bb55e8b4c6b49ec4298f3c62c1188b6e5ee1d\nsquiggler-ent[bot] | chore(deps): dedupe pnpm-lock.yaml (#12409) | 444d37c67b727e4a1a750de406079f6d101bbd2f\n@Chrilleweb | fix: updated i18next dependency (#12397) | 914e9a46b02682a82e3b722a51e654e7a6b61027\n@bjoerge | chore(ci): remove vitest --changed in CI for now (#12407) | c767ee4c1de3c86d43647473473d93efb5a3b446\n@binoy14 | chore(ci): use correct template variable for renovate CLI release notes (#12406) | 298eb91f2c4fd1904d7d4d6372523cde1db13fa2\n@juice49 | feat(sanity): cache recent shared transactions (#12404) | c4f26d48ffb2bf58647bc42e81141be34bd7154b\n@juice49 | feat(sanity): add `introspectSchema` (#12257) | 92f7c729f5fefb5386676ee8b2937839e002a1c9\n@rexxars | chore(deps): add @sanity/cli to renovate auto-approve list (#12391) | fe1ba0ea64e44ffd9635b8c4fe529699e9fbfefe\n@bjoerge | test(sanity): update exports snapshot (#12403) | 7f142d467156d31f8b17316c93035468ac83e715\n@bjoerge | chore(sanity): add critical path load time telemetry (#12373) | 5adfcc30365fa93ee35cda8152e5567fd09e564d\n@binoy14 | chore(ci): add release notes to renovate PRs for @sanity/cli (#12401) | 22a369be26ca8bfd8eb5bd6f32fdf2e3fef1dcbb\n@RostiMelk | fix(sanity): use project hostname for agent bundles SSE endpoint (#12400) | ba90d60ece9b44f2cc0077291278b758bd0d8b83\n@kenjonespizza | feat: update telegram recipe function (#10721) | 280293431b343a7c57222066d02444e79599c37b\n@joshuaellis | fix(core): forward search & hash params when redirecting to a workspace (#12378) | f40913909976b93f35e288b1da16fefb7fa9da7a\nrenovate[bot] | fix(deps): update dependency @sanity/bifur-client to v1 (#12386) | a2ebd5d51900b3924e7bc73a87f35388101fc349\n@rexxars | fix: prevent bare imports from appearing in random chunks (#12390) | 4c51af4e299196e70ff3d09fdc6233ded5e219d9\nrenovate[bot] | chore(deps): update dependency @sanity/pkg-utils to ^10.4.8 (#12380) | 24769b3bec21b0ce1c3fa797ec1102e29d4c6677\nrenovate[bot] | fix(deps): update dependency @sanity/client to ^7.17.0 (#12381) | cf3e972d1dc0d12cc99cb665ee971675b691a3bf\nrenovate[bot] | chore(deps): update dependency @sanity/migrate to v6 (#12388) | 31dcc31b858ebb4ea89434c4d2a14a0420e40b39\nrenovate[bot] | fix(deps): update dependency groq-js to ^1.29.0 (#12384) | d230b6aeaadccd58befd53d776ad2935d32f63f8\n  \n","publishedAt":"2026-03-14T04:17:04.000Z","url":"https://github.com/sanity-io/sanity/releases/tag/v5.16.0","media":[]},{"id":"rel_bITuZG7fNb_PW46kqiViK","version":"v5.15.0","title":"v5.15.0","summary":"# Sanity Studio v5.15.0\n\nThis release includes various improvements and bug fixes.\n\nFor the complete changelog with all details, please visit:\n[www.sa...","content":"# Sanity Studio v5.15.0\n\nThis release includes various improvements and bug fixes.\n\nFor the complete changelog with all details, please visit:\n[www.sanity.io/changelog/studio-NS4xNC4x](https://www.sanity.io/changelog/studio-NS4xNC4x)\n\n## Install or upgrade Sanity Studio\n\nTo upgrade to this version, run:\n\n```bash\nnpm install sanity@latest\n```\n\nTo initiate a new Sanity Studio project or learn more about upgrading, please refer to our comprehensive guide on [Installing and Upgrading Sanity Studio](https://www.sanity.io/docs/upgrade).\n\n# 📓 Full changelog\n\nAuthor | Message | Commit\n------------ | ------------- | -------------\n@rexxars | fix: upgrade `@sanity/cli` to 6.1.0 (#12387) | d9d2619ec734ad49e2f07283d8a286289a652267\n@macdonst | fix: update function examples (#12382) | 7ec6fb0221b946e14b73a4a1fbf7909dfe9eacc4\n@rexxars | test: reduce unit test noise (#12371) | ad848e98f887018917fbc99e55c4a903b15722c2\n@binoy14 | fix(deps): move dev-only packages from dependencies to devDependencies (#12383) | 50e35a5b4577f5043d090cb5f6cc1ac0fbb4ddcb\n@binoy14 | chore(deps): updates rimraf to v6 (#12379) | 842dc148be495b5227d440c29f11ab17e6b229c6\n@christianhg | fix(portable-text): show annotation popover on first click (#12377) | 08801fad3fae6cbccb5a2cc97145a0adeda9641d\n@joshuaellis | chore(workflows): update mark issues as done action (#12375) | 8c2aa796af8d08ae7ae50a33cd700c4be02ffa15\n@jordanl17 | fix(releases): releases overview on mobile (#12343) | a925f7bff6b2503af2fe8a305a8a59ddca060a95\n@RitaDias | fix: make sure that columns in formFields are aligned to the top (#12357) | 8a06dc619c943b52525ea24055eac8dfcef08513\n@bjoerge | chore(release-notes): include full commit messages in github release (#12374) | 837478bcdb6a6a5cf2836e26cce943ae368f4f6a\n@RitaDias | fix: navigation on releases menu when in the releases plugin (#12354) | b004d821d643d7a202eb96d404ffa5036dd757b8\n@bjoerge | chore: log telemetry events to devtools console (#12372) | 1539edb7355662b437ff23cc53e5eddf116f0f47\n@rexxars | ci: include shard number in workflow name (#12370) | 5e22d2bf512aa1498482f2d3a0da79618bb30941\n@rexxars | feat: upgrade to new `@sanity/cli` (#12200) | 902075d3a4567223745988ab706a6009a86419b7\n  \n","publishedAt":"2026-03-12T21:14:30.000Z","url":"https://github.com/sanity-io/sanity/releases/tag/v5.15.0","media":[]},{"id":"rel_3X9bB-BXGyF-vMdDf68EK","version":"v5.14.1","title":"v5.14.1","summary":"# Sanity Studio v5.14.1\n\nThis release includes various improvements and bug fixes.\n\nFor the complete changelog with all details, please visit:\n[www.sa...","content":"# Sanity Studio v5.14.1\n\nThis release includes various improvements and bug fixes.\n\nFor the complete changelog with all details, please visit:\n[www.sanity.io/changelog/studio-NS4xNC4w](https://www.sanity.io/changelog/studio-NS4xNC4w)\n\n## Install or upgrade Sanity Studio\n\nTo upgrade to this version, run:\n\n```bash\nnpm install sanity@latest\n```\n\nTo initiate a new Sanity Studio project or learn more about upgrading, please refer to our comprehensive guide on [Installing and Upgrading Sanity Studio](https://www.sanity.io/docs/upgrade).\n\n# 📓 Full changelog\n\nAuthor | Message | Commit\n------------ | ------------- | -------------\n@binoy14 | issue with icons not showing up in dashboard (#12364) | 834e6cabb60096a231f73f71b44c407b06699916\n@jordanl17 | update rendering logic to exclude \"Estimated\" for archived releases and improve readability (#12359) | 12d210738c6c7d204ac1bd4b6f482135afe67f61\n  \n","publishedAt":"2026-03-10T18:49:31.000Z","url":"https://github.com/sanity-io/sanity/releases/tag/v5.14.1","media":[]},{"id":"rel_P_xzesgYFi6bA-zO_1ze7","version":"v5.14.0","title":"v5.14.0","summary":"# Sanity Studio v5.14.0\n\nThis release includes various improvements and bug fixes.\n\nFor the complete changelog with all details, please visit:\n[www.sa...","content":"# Sanity Studio v5.14.0\n\nThis release includes various improvements and bug fixes.\n\nFor the complete changelog with all details, please visit:\n[www.sanity.io/changelog/studio-NS4xMy4w](https://www.sanity.io/changelog/studio-NS4xMy4w)\n\n## Install or upgrade Sanity Studio\n\nTo upgrade to this version, run:\n\n```bash\nnpm install sanity@latest\n```\n\nTo initiate a new Sanity Studio project or learn more about upgrading, please refer to our comprehensive guide on [Installing and Upgrading Sanity Studio](https://www.sanity.io/docs/upgrade).\n\n# 📓 Full changelog\n\nAuthor | Message | Commit\n------------ | ------------- | -------------\n@pedrobonamin | make tasks params sticky (#12362) | 1684787d34c0018166dd3c9a5b1f8e15f3c24e56\n@RostiMelk | remove SANITY_STUDIO_AGENT_API_HOST env override (#12361) | ec150bd597b929b64994b471f15e5c1b2d3eb3ca\n@RitaDias | update snapshot (#12360) | 4a071ddbf3c3b4d2709d44d521f009fff3ace1d0\n@RostiMelk | disable delete action for agent bundle versions (#12334) | 446069880842f68fa0cabd47752920eff693a10b\n@RostiMelk | show agent bundles as Proposed changes and hide others (#12329) | a321edcce169b0434b22a6a07003edb6d1dbf054\n@RitaDias | fix export tests, remove unnecessary export (#12355) | 29945ffa9f2fe7842216861c8b375e1a4598ccea\n@RitaDias | add warnings when element is not valid instead of crashing studio (#12262) | 1786aca228c6364c88a0ed76b7eaad8a943fe919\n@bjoerge | restore ability for `prepare()` to fallback to schema icon (#12352) | a70a385847d747d79531ec86c6858974dd793fb9\n@joshuaellis | remove task specific params when closing sidebar (#12351) | 9cb4e0fd5504b1d72204b5b09a6c393492317163\n@rexxars | dont use localStorage in node.js (#12350) | 3065abf2923093cef84d13f9594022e6a663f692\n@RitaDias | improve comments and tasks mentions requests (#12250) | a3745872e074b624268fdb72b2b43f7e09024760\n@jordanl17 | resolving issue where multiple scrollable containers show in the releases global nav menu (#12341) | d0efa8e1aca183aee421b255e2f15e697e05b625\n@RitaDias | improvements to document pane provider (presence + move contexts) (#12335) | 93f2a107a6783b3b937234d0917f8fea6bfe0e86\nCopilot | add missing type declarations and tsconfigs for type checking readiness (#12324) | 7393ed159ba07aa4a6884f7259e4198dc7f035bc\n@rexxars | denoise test suite console output (#12333) | 46d1d9306211484495d9f5b2c420431e515a2353\n@juice49 | `FormRow` exports snapshots (#12342) | 187ccf19fb56d2dc4a9fa0507bc5540fcd5e22bb\n@jordanl17 | Share release details more easily (#12260) | df3acf12ca428da33e968aca1ece1b68ad620b6f\n@bjoerge | Improved crop/hotspot details (#12325) | 0147f183e24db290010cec5ae8b1c886803c3063\n@juice49 | document editor gutter layout (#12227) | 5326f8af86d8bf299c0fc52eccd1fcf08df1f84f\n@pedrobonamin | enable i18n array perf tests (#12327) | 31d2d85e35e37da8080179dbd4fda7f7b531f0a2\n@bjoerge | mock fromEvent modules in ReleaseSummary test (#12337) | f473e793081c1f0344d79bb9078c42c433d7f433\n@christianhg | remove noisy hotkeys stability warning (#12336) | b30439e8cdac2dc6ba1577b09cd96e8f712573a1\n@skogsmaskin | streamline assetsource handling and testing (#12233) | 72457f934f700eb123fdd216dc8efc690766141e\n@bjoerge | fix crash when calling `operation.delete.execute()` without versions argument (#12321) | 544be5099b382320d032622f8771d3320e3cb735\n@rexxars | add guidance for running single test files (#12332) | 45d322149f7b00a661fcd08ec41e3cbc0b6b9120\n@juice49 | debarrel `CopyPasteProvider` imports (#12331) | 8e76c618f26df69e25986f756e1423041af2c03a\n@juice49 | use shared test wrapper (#12331) | 896b9cf49e9baa02c961db64814c91e76374d7f4\n@christianhg | use @portabletext/html for HTML deserialization (#12320) | 608d1d40ebf7b139a3a2f2ae4e3df0ebe6f4e4b8\n@pedrobonamin | add array-i18n perf test (#12322) | 2d5a9eb628aecd5d7dc50ef6e1a66f22524ce9e2\nrenovate[bot] | update dependency @sanity/import to ^4.1.3 (#12294) | 3acb03de0fe9aab96c369c40f83dd2bef74c0b2c\n@jordanl17 | coreUi intent links need to use exact full path (#12279) | 289119aa88e570e204f79d2c31b5fafae062b78d\n@jordanl17 | unique keys in nested structures when duplicating/copying (#12264) | 2bc463013574a6de70cc9c620326cebcdf96225c\n@pedrobonamin | render group validation for nested fields (#12309) | 5791448bbd3dc8cb1db9ccc916b9c1ad7de004f8\nsquiggler-ent[bot] | dedupe pnpm-lock.yaml (#12315) | da5b2672cab6b8df1d83d3aa7c82e38087e0e39d\nrenovate[bot] | update dependency @sanity/export to ^6.1.0 (#12299) | aed508a383cef378ba3cae7f03aae53bcdd90ad1\n@hyldmo | use yarn up for Yarn 2+ (Berry) when auto-upgrading (#12301) | 9a6046f67e6e7afaaa4f56d72900e1373d73e5d1\n@rexxars | move and improve manifest extraction to `@sanity/schema` (#12302) | e0837eb9b935720b63fee37f453e16efcdc47a1d\nrenovate[bot] | update dependency @sanity/codegen to ^5.10.1 (#12272) | 5451bfda49935d1b38407b8eeaa032f4541fe3cb\n@jordanl17 | make bundle stats check non-blocking to CI (#12314) | 5d4b6cc37b142c79c6ee30bbb5546b4145a84ed4\n@juice49 | ensure dedicated `ReferenceFieldDiff` is used when diffing cross dataset references (#12307) | cb30c213171cb7c2ac883bc3cfe86a249f099414\n@bjoerge | enable hmr for design-studio (#12306) | b516d7e77f67b5fd73823bdb5bd8337e3a8464af\n@bjoerge | support resumability for document editing (#11198) | 879bab88e6afa6fa8e0bd162b91004ddfd3796f2\n@rexxars | set up bundle stats workflow (#12285) | 40b76b8cfddd045c72bf75726988c29dc668ff42\n@RitaDias | add currentUser to validation context + fix hidden issue showing the wrong value on validation (#12221) | 9db645e03f859ad6b077f2c3e6d5e45a223b6628\n@RitaDias | issue where cross dataset reference inputs in dialog were closing dialog (#12304) | 0e38d8e1e6b0fb72ecfa9fe2904df20b4cc5a42e\n@RitaDias | make sure that inspectors stay atop enhancedobjectdialog (#12275) | 5d2caef021d4adae2a9bf4c143860f248bc79534\nsquiggler[bot] | dedupe pnpm-lock.yaml (#12305) | b7834e6387ff0c6ef5a64a2b4a09627ae94bb427\nrenovate[bot] | Update portabletext (#12295) | 152a8796a409f2dadef866d14c8af35f68111b7b\nrenovate[bot] | update dependency @sanity/pkg-utils to ^10.4.6 (#12296) | 40e272cf90c0caf7ac79daf4fb3cbffe281c6a5e\n@bjoerge | split linting into separate jobs, and add knip (#12283) | bd4f129846aebbb5e6db762df7c5b8b10f4b9717\n@RitaDias | add toast to alert for slow mutations after 50 seconds (avoid infinite hangs) (#12185) | 60a971880cc88ad666c535058aa70a58e337a09f\n  \n","publishedAt":"2026-03-10T14:49:37.000Z","url":"https://github.com/sanity-io/sanity/releases/tag/v5.14.0","media":[]},{"id":"rel_4xIJopGa5pgHwA4GvjoAx","version":"v5.13.0","title":"v5.13.0","summary":"# Sanity Studio v5.13.0\n\nThis release includes various improvements and bug fixes.\n\nFor the complete changelog with all details, please visit:\n[www.sa...","content":"# Sanity Studio v5.13.0\n\nThis release includes various improvements and bug fixes.\n\nFor the complete changelog with all details, please visit:\n[www.sanity.io/changelog/studio-NS4xMi4w](https://www.sanity.io/changelog/studio-NS4xMi4w)\n\n## Install or upgrade Sanity Studio\n\nTo upgrade to this version, run:\n\n```bash\nnpm install sanity@latest\n```\n\nTo initiate a new Sanity Studio project or learn more about upgrading, please refer to our comprehensive guide on [Installing and Upgrading Sanity Studio](https://www.sanity.io/docs/upgrade).\n\n# 📓 Full changelog\n\nAuthor | Message | Commit\n------------ | ------------- | -------------\nCopilot | resolve CJS type export issue by removing groq.d.cts (#12293) | 9485b3c0f8fd7747b5645c504c0291586318f014\n@christianhg | upgrade `@portabletext/block-tools` to 5.0.5 (#12287) | 773ee466ca7c48a77bc7a8bf6820d58316321604\nsquiggler[bot] | dedupe pnpm-lock.yaml (#12266) | 71604a6e57157c8e1fadb671cd61719a4ed7bd5c\n@christianhg | upgrade @portabletext/* packages to v6 (#12278) | 501a6f3f0f214997fbd16afef09ea5558863ad4f\n@bjoerge | replace PR-close cleanup with periodic dataset cleanup (#12289) | c07fa96934176c7b7e6351a434d636291d7f99db\n@dcilke | dedup claims (#12288) | 0668c43a7a586339da7a54fdc07ddae5f39926bc\n@bjoerge | fix all knip issues across the monorepo (#12225) | 1160a2bb45736c28824f0092b7ace9973b032f5d\n@pedrobonamin | schedules tool title (#12280) | a0584254239596714daf1147bce28d92997f90a5\n@pedrobonamin | ordering by multiple object fields (#12265) | 49a7a555e03215b795e3ea55600684642b54d2af\nCopilot | update oxfmt to 0.36.0, pnpm to 10.30.3, remove experimental prefixes (#12282) | 0d3f45158f2dfbebd552effd22afbd8459bf28ae\n@tbeseda | upgrade runtime-cli (#12286) | 2a06a2e2574a78dd0d5738fafbcd814511c1fc46\n@juice49 | clarify release validation phrasing (#12284) | 845875b73d604c320e327f6437d647f9a20e7f88\n@bjoerge | use timestamp instead of commit count in prerelease id (#12276) | e6329968f1f40d864a5ce4ea1664403167979c8c\n@sjelfull | fix VideoInput loading bugs and layout shift (#12155) | c6b745db582d8cf4aab35ff794ba9f407db67cfa\n@RitaDias | Primitive types now show a grid layout when the grid option is set (#12263) | 383e06eb6074a30e06750e52abeb394b45fb224e\n@pedrobonamin | Updates fileAsset and imageAsset required fields (#12261) | 2de42c82d6a0e328e995fa20a07e980028e4e070\nCopilot | upgrade @sanity/pkg-utils to resolve groq type export issue (#12277) | cfc9c83958870a9d373fae7436f335fca9ae2e01\n@rexxars | defer import of `isomorphic-dompurify` (#12274) | da8354c77287472f290c82a3af89e0fc4270c50a\n@rexxars | import `lodash-es` functions from subpaths, not barrel (#12269) | 22919522617f2e2c1180bf9f1d99201bec3d195c\n@tbeseda | Updates to blueprints doctor and plan commands (#12258) | 64d162ee2832b4ef2ee72779c8c390a44f9cfbde\n@jordanl17 | New interface to copy the document ID (#12238) | bc5a3b6cc78977a43ac526bca10d98898edb3469\n@pedrobonamin | Improved reference preview for unknown fields (#12254) | a8d512d727c2a207347e7c12a3380526241e0015\n@pedrobonamin | Improve visual distinction between release types in the Studio (#12239) | 526ebf544f193248de43b5c2cc6060886d9f1400\n@juice49 | update transaction-fetching function types to indicate their response includes mutations (#12253) | b63a690df66f81a17fc0e3fe3ffbb1a475540779\n@juice49 | add functions for unravelling document lineage and finding most recent transactions shared by two documents (#12253) | 4d3f71906db95dcd35b61f827c4c1384752b5b1e\n@rexxars | optimize svg component for canvas integration (#12245) | 619933afbbd86cd6e981549558961f112fc56e4f\n@pedrobonamin | update revert dialog position (#12255) | eb87d78c428d7d75c113714a63356523eda47b5b\n@adoprog | update embeddings commands description (#12248) | 4934ac3aea3e78ae0d47046a30fbd9477057ce20\n@RitaDias | add stages and change name (#12252) | 9ebde884fb4247f74b6732f17b3f9dec77f08e0b\n@rexxars | upgrade @sanity/ui to ^3.1.13 (#12244) | 471c864bd4a34e4ec427b4760e5eb4d6c024f5af\n@jordanl17 | Disable ability to add further items when at validation max limit (#12127) | 0e037a16a03ae2fed904fcfdd032b2e66f52e8da\n@jordanl17 | Improved Studio experience when a release is not found (#12236) | 633ca45e1385c2a56a2187cd5e726686f14f2722\n@rexxars | defer refractor language registration to first render (#12246) | 94301663ea8256cb9b15498df16f68b0893f18c5\n@rexxars | retry npm failures, skip playwright report on retries (#12242) | cba81e62ec10826586d087aa6f3dce06f015fbec\n@rexxars | import `date-fns` functions from subpaths, not barrel (#12247) | 144a2298a3e2c457463c9da23f2bdd8d02abad6a\n@rexxars | lazily build ui theme (#12241) | b5a2abe6dc91cd924830ae2cd3de3efe00f3deff\n@rexxars | fix e2e ui workflow (#12240) | dd3c8ad0c342f91c34de7d0e3e8f5c4d1cd96874\n@SamHemingway | DocumentLocation now supports icon and showHref (#12048) | 74bb8853b2f3c2bf6d61577235411dd0a26812f5\n  \n","publishedAt":"2026-03-03T15:23:12.000Z","url":"https://github.com/sanity-io/sanity/releases/tag/v5.13.0","media":[]},{"id":"rel_mA_YCCcBAFsieA5ZLcY3y","version":"v5.12.0","title":"v5.12.0","summary":"# Sanity Studio v5.12.0\n\nThis release includes various improvements and bug fixes.\n\nFor the complete changelog with all details, please visit:\n[www.sa...","content":"# Sanity Studio v5.12.0\n\nThis release includes various improvements and bug fixes.\n\nFor the complete changelog with all details, please visit:\n[www.sanity.io/changelog/studio-NS4xMS4w](https://www.sanity.io/changelog/studio-NS4xMS4w)\n\n## Install or upgrade Sanity Studio\n\nTo upgrade to this version, run:\n\n```bash\nnpm install sanity@latest\n```\n\nTo initiate a new Sanity Studio project or learn more about upgrading, please refer to our comprehensive guide on [Installing and Upgrading Sanity Studio](https://www.sanity.io/docs/upgrade).\n\n# 📓 Full changelog\n\nAuthor | Message | Commit\n------------ | ------------- | -------------\n@RitaDias | add telemetry around the publish button state and time (#12189) | 50a46ed8c71950310a3c7afcad4e7f7e49268eda\nsquiggler[bot] | fix linter issues 🤖 ✨ (#12232) | 5614e988a10eed69f9860b8ea59e65baf5ed600c\n@christianhg | move EditorChange type ownership from PTE to Studio (#12230) | 1990fdfa5015e0d0bf230fa66c6ab6728704a5f5\n@bjoerge | remove @sanity/ui-workshop and all workshop files (#12224) | 9c4e8a189bd2075d80df3c10be51c4939161ce1e\n@RitaDias | remove enhancedObjectDialog from config (#12231) | 5444de827663e1b00a3ccc7a93abe05c99fe0c0c\nsquiggler[bot] | dedupe pnpm-lock.yaml (#12228) | 456bfde9f846b66e0111a3062ac0030a60684cc3\n@tbeseda | upgrade blueprints commands (#12226) | 245a07ff585caf4c63536c47f7dd468c5c01205a\n@christianhg | prepare for PTE v6 render component types (#12216) | 8b228852b74a31fdf27e5ea0ad68fc90310ca9d0\n@bjoerge | restore missing version mismatch warning (#12223) | 320b4ee691caf6c859e0056c40665d7b79b37441\nrenovate[bot] | update dependency styled-components to ^6.3.11 (#12222) | ae1bb42d884c0d315ef7675d845a044ce10c1edd\n@RitaDias | navigation to root element having issues navigating completely out (#12204) | 15fb1a4b70fa6126979f36aab869601716244cf7\n@adoprog | add commands for managing embeddings (#12212) | 759d47e7bf219eca7e0fb09b824ad1aadbc9a3bc\n@bjoerge | use knip for depcheck (#12217) | 734cd00019628df50c2d1b2a6eb8e7bcc3df6b73\n@bjoerge | skip lintPr workflow in main (#12219) | abf0d896feea186dc212940f91b404b9acadc0c3\n@bjoerge | speed up preinstall by adding only-allow as workspace dependency (#12215) | 5855068d96277575ea72a0b08a18c4fdbfd87aad\n@rexxars | fix missing `main` when comparing staged changes (#12209) | b67472342d1cf7b711a7f05b72c424019a7ef23a\nrenovate[bot] | update dependency @sanity/import to ^4.1.2 (#12208) | 2c7841db8e3a583832dcf49b0af9087a71eb236c\nsquiggler[bot] | dedupe pnpm-lock.yaml (#12213) | 7aa41fd277e8aa4cf5148008f547236d9beea009\n@christianhg | prepare for PTE v6 EditorConfig and paste type changes (#12181) | e131d6a52b26a0a6cc4566803bbdd959aabc5999\n@christianhg | bump @portabletext/sanity-bridge to ^2.0.2 (#12181) | 48ed32b532e197a6628dda66d84f6b490227ae21\n@webpro | introduce knip & some initial housekeeping (#12154) | b2d2df2c8320fa6eb9537722908dd982554e9b70\nrenovate[bot] | Update portabletext (#12210) | d7294b9a1e3d51f37a4e7bd8a1121863ae81a13a\n@jwoods02 | add Gemini, Codex and Copilot CLIs to MCP configure (#12194) | 093e7165e77bce80e11e59e7a98f58524d363e43\n  \n","publishedAt":"2026-02-24T18:33:55.000Z","url":"https://github.com/sanity-io/sanity/releases/tag/v5.12.0","media":[]},{"id":"rel_jqY_ca24WGSAJYKQkaMKR","version":"v5.11.0","title":"v5.11.0","summary":"# Sanity Studio v5.11.0\n\nThis release includes various improvements and bug fixes.\n\nFor the complete changelog with all details, please visit:\n[www.sa...","content":"# Sanity Studio v5.11.0\n\nThis release includes various improvements and bug fixes.\n\nFor the complete changelog with all details, please visit:\n[www.sanity.io/changelog/studio-NS4xMC4w](https://www.sanity.io/changelog/studio-NS4xMC4w)\n\n## Install or upgrade Sanity Studio\n\nTo upgrade to this version, run:\n\n```bash\nnpm install sanity@latest\n```\n\nTo initiate a new Sanity Studio project or learn more about upgrading, please refer to our comprehensive guide on [Installing and Upgrading Sanity Studio](https://www.sanity.io/docs/upgrade).\n\n# 📓 Full changelog\n\nAuthor | Message | Commit\n------------ | ------------- | -------------\nsquiggler[bot] | dedupe pnpm-lock.yaml (#12197) | c1df214dd2e969386d4fff6f427d8603aa169e3a\n@bjoerge | fix release PR merged condition (#12207) | f510a3a53802d7d34a2ab5b6c3f791d7fd211d2a\n@juice49 | publishing versions using `PublishAction` (#12202) | 3a068987ff5794d5f9a0bd402c927d38b56775fe\nrenovate[bot] | update dependency @sanity/codegen to ^5.9.3 (#12205) | 6c45dd4e4a991781bbf0316a72583116039d7c59\nrenovate[bot] | Update portabletext (#12199) | d5049742aea7ea4c313dbf1e28e9fe4a63a2b911\n@RitaDias | add content to the breadcrumb instead of 'mark definitions' (#12175) | 85ccfb4108c6251e698aad644c4560bc62d76e57\nrenovate[bot] | update dependency @sanity/migrate to ^5.2.5 (#12196) | de4ae75626bacd90ddfcd3a7e58c4192e7da1557\n@jordanl17 | updating exports.test snapshot with new getReleaseTitle method (#12198) | 2e63435665996feb442c3604697d4aa044f3d61a\n@jordanl17 | truncating long release titles (#12148) | b2f4127dd6085843f260d04565f2a51cf494aec6\nrenovate[bot] | update portabletext (#12186) | 0c92bf1209282b7c9ca66f644f86e2da95ac63c5\n@markmichon | export IncomingReferenceOptions (#12177) | d75c1f6ba53452401812165e7bced74ce687cc71\nsquiggler[bot] | dedupe pnpm-lock.yaml (#12184) | 9186a407048c92773ef07b9cdcb4da860f64fbdc\n@juice49 | add `getExpandOperations` tests (#12187) | e806d864f773ee7a5929f57a3e082f350c19ed71\n@juice49 | add demonstration of stega overlays failing to expand group inside object array member (#12187) | f2bbdf038074d5ee5d612f616f43a8d39a7a9e6e\n@juice49 | set nested group correctly when expanding paths touching object array members (#12187) | 63233a268f044ea2220486fdf50ba4a1dcc3ab0e\n@jordanl17 | hiding publish action always on the published document (#12176) | 68d74dfbfcb85e6f82f070071b8d375d9c7fb74f\nrenovate[bot] | update dependency groq-js to ^1.27.1 (#12180) | c8c7dea5a94a691dabb2f1549a2d494432d494f0\n@jordanl17 | conditional multi schema references (#12066) | 7e7ea6d9520e9841ab2dd96e7d2cfe433b71ae5e\n@drewlyton | mark linear issues as done on release (#12060) | 127726fd984dfb2c4b6ed59ab566b0e7856807f5\n  \n","publishedAt":"2026-02-19T15:08:19.000Z","url":"https://github.com/sanity-io/sanity/releases/tag/v5.11.0","media":[]},{"id":"rel_kavhUFpb7fhNffYCUwAgl","version":"v5.10.0","title":"v5.10.0","summary":"# Sanity Studio v5.10.0\n\nThis release includes various improvements and bug fixes.\n\nFor the complete changelog with all details, please visit:\n[www.sa...","content":"# Sanity Studio v5.10.0\n\nThis release includes various improvements and bug fixes.\n\nFor the complete changelog with all details, please visit:\n[www.sanity.io/changelog/studio-NS45LjA](https://www.sanity.io/changelog/studio-NS45LjA)\n\n## Install or upgrade Sanity Studio\n\nTo upgrade to this version, run:\n\n```bash\nnpm install sanity@latest\n```\n\nTo initiate a new Sanity Studio project or learn more about upgrading, please refer to our comprehensive guide on [Installing and Upgrading Sanity Studio](https://www.sanity.io/docs/upgrade).\n\n# 📓 Full changelog\n\nAuthor | Message | Commit\n------------ | ------------- | -------------\nrenovate[bot] | Update portabletext to v6 (major) (#12164) | 225b965bfd2535a5d7cedc73269cb3beca3fc6b4\nrenovate[bot] | update dependency @portabletext/plugin-paste-link to v2 (#12161) | f396bacfedfcd714e49adee30545173708401176\n@kbrabrand | don't make inline refs for references to top level doc types (#12168) | 7e490d905a01beb5c65319edfdb3a0a4eaa86068\n@skogsmaskin | media library plugin upload existing asset issue (#12173) | 970f5c89a6fa6372f6395d3e426977e68e100999\nsquiggler[bot] | fix linter issues 🤖 ✨ (#12170) | 4ca34548bad24aca3390205a8bee19377f0a31f5\nsquiggler[bot] | dedupe pnpm-lock.yaml (#12169) | 91777f5b2c3b680d6d2e7274fd376e39d4fd643a\n@kbrabrand | increase watch mode test timeout (#12171) | 2705b499d64d372369e72b225ee6b2d1276a08b1\nrenovate[bot] | Update portabletext to v5 (major) (#12162) | 5b9ba176818c4ec42ac21de306b2e4e0f011d22a\n@jordanl17 | route scheduledDraft as pane param in comment links (#12156) | 4712d1eb69761ca4d9905eb00c443ce0d739ab22\nrenovate[bot] | update dependency @sanity/client to ^7.15.0 (#12167) | fe75d8437e83169e347551dcc30853698d44841e\n@juice49 | migrate deprecated `motion` call to `motion.create` (#12166) | abbdf73a9b9d48ad1aa899cbf63581dd65bf6ea7\n@kbrabrand | warn on doc type used as field type in array member too (#12165) | 94fa58373887b5ca49f376763b7432391579b641\n@juice49 | add missing `_allMembers` type (#12158) | fd4df92f55bca0b6ca9a0a4d04de36cbaa2bc289\n@juice49 | add `isArrayOfPrimitivesFormNode` (#12158) | 3ce4c46a5dd10067b2a8b65b5bc527c46bc16c2d\n@juice49 | add `readOrderedFormMembers` (#12158) | a3969fc355fca6171618cc6440eded0ea9165161\nsquiggler[bot] | dedupe pnpm-lock.yaml (#12163) | 4574341421fd039d36aabc67b4da9f1e77fdf861\nrenovate[bot] | update dependency groq-js to ^1.27.0 (#12160) | ff50a1c1378bef2b8f8b92bfaa15fcc7cd17787d\n@jordanl17 | tz dropdown opens as expected even if an existing selection is made (#12152) | 46dcb6232351f2fef3120f18e45464ae67d49af3\n@kbrabrand | add warning when a document type is used for a field (#12151) | 8519d029c35a7419e944bfa61180de6a15e9a057\n@bjoerge | include more details with error message (#12150) | b132a1e47016d2876dd0d87509b0353f8fb19ea2\n@markmichon | remove migrate from typedoc (#12153) | 4ca316bd11ec93ed63f137e61026fbe0a15d4ba3\n@jordanl17 | change on pte block (#12149) | bdad5d31df70332f39d15c45ea43c4b746f265bd\n@jordanl17 | remove feedback components for tasks and comments (#12145) | 265f8b65f5cfc45d72bca9777d6b7aa8368a914c\n@RitaDias | issue where clicking the \"x\" to close dialog or the breadcrumb to navigate would have issues when reopening Item (#12147) | d078259cc07c55754704b2418fe2f76546cf8045\n@jordanl17 | scroll to field when navigating to a comment deeplink (#12144) | a3c282a4c92212ebbedd3111444bdccdda34a2c5\n@kbrabrand | remove beta disclaimers for typegen/schema extraction (#12146) | eadd0a424601e0a0e216ae1888b3ca877b3caf22\n@kmelve | add deployment documentation to function examples (#9759) | cec5bc9f38df01a8af96eac98a44ec8657383d90\n@jordanl17 | implement fallback for asset sources without uploaders (#11907) | ec5de61c20a2332ec71399b797f3734770cda17b\n@RitaDias | reduce LISTENER_RESET_DELAY from 10s to 5s (#12118) | 715d03649c4eff62af735f48d9eec3f4533b97d2\nrenovate[bot] | update dependency styled-components to ^6.3.9 (#12143) | f4747b44a6ade4ebbd1deb073ddc2632c2d49624\n@jordanl17 | adding discord img to readme (#12140) | b189f016274aea56035f8bb439a1125f3a37214a\n@nkgentile | fix root cause of undefined in perspective array (#12142) | ff4bcea247e2d92abc355982127e71cc48867fe6\n@EoinFalconer | prevent erroneous upload warning when pasting plain text into PTE (#12109) | c76fcf10f3d345f69725b92288fbbde43063cb44\n@EoinFalconer | reset asset source state after upload completes (#12111) | db94da8974a49ae5bb5937c1fe4991ffa23ee187\n  \n","publishedAt":"2026-02-17T15:28:54.000Z","url":"https://github.com/sanity-io/sanity/releases/tag/v5.10.0","media":[]},{"id":"rel_NVaD23Oatn0DZIAPB-w0s","version":"v5.9.0","title":"v5.9.0","summary":"# Sanity Studio v5.9.0\n\nThis release includes various improvements and bug fixes.\n\nFor the complete changelog with all details, please visit:\n[www.san...","content":"# Sanity Studio v5.9.0\n\nThis release includes various improvements and bug fixes.\n\nFor the complete changelog with all details, please visit:\n[www.sanity.io/changelog/studio-NS44LjE](https://www.sanity.io/changelog/studio-NS44LjE)\n\n## Install or upgrade Sanity Studio\n\nTo upgrade to this version, run:\n\n```bash\nnpm install sanity@latest\n```\n\nTo initiate a new Sanity Studio project or learn more about upgrading, please refer to our comprehensive guide on [Installing and Upgrading Sanity Studio](https://www.sanity.io/docs/upgrade).\n\n# 📓 Full changelog\n\nAuthor | Message | Commit\n------------ | ------------- | -------------\nsquiggler[bot] | publish v5.9.0 (#12099) | a1365bd76f35f15cf730919c1ec394e3ca8ee71f\n@jordanl17 | update permissions for pull requests in release-latest.yml (#12137) | bbadd3b5346890a43aa88ac6fe32735c9afaa9d3\n@bjoerge | rollback v5.9.0 version bump (#12139) | 4195d269f400347fb16765400842f765eb1625ec\n@pedrobonamin | stale publish actions (#12132) | b3b28182100f0cd32787425fc07618460fbb5bfb\n@EoinFalconer | show toast when clipboard access is denied on copy (#12107) | 3aff99079fb57fdb9f8f7aed77a3f185106fe5d0\n@jordanl17 | resolving re-render loop when collapsing comments (#12135) | 81a5cf87fbf55ef26ae12bc6d8f46b66fac43816\nsquiggler[bot] | dedupe pnpm-lock.yaml (#12133) | f8c09b7f9b24f6795e17596f74556efdda796e0e\nrenovate[bot] | update dependency @sanity/import to ^4.1.1 (#12130) | 6843d2b2d04b09ae27604912692ef3f96f15b5f4\n@EoinFalconer | hide publish option for already-published scheduled drafts (#12113) | d3374ad116fa176c51addf91183f291226e9ad8e\n@markmichon | fix typedoc upload step from skipping (#12106) | 10f477403e54049c77349d6a663719d418824e7a\nrenovate[bot] | Update portabletext (#12122) | 4a36591b187d554148ea811abcd141f150640808\n@bjoerge | generate changelog draft on new commits in main (#12123) | 6eac21ba5830f8d6578883555999ab4278842021\n@bjoerge | skip setting title when updating changelog document (#12126) | 3093a5b5fd13774c0e4ce1d6bf9fc087f5594d35\n@jordanl17 | timezone cannot be changed when scheduling release of draft (#12124) | e0033fe32bc6d41566f179916d0e89a2d9076f54\nsquiggler[bot] | dedupe pnpm-lock.yaml (#12116) | cfd5482da82e82aba3c9341b298cdfebfc9b843b\nrenovate[bot] | Update portabletext (#12115) | 757aa3418d9c10b187d969b55308a44f1d17a454\n@RitaDias | stabilise e2e (#12094) | 0dba8a30ec5afa6f78ee17215ce0c930c56e6692\n@RitaDias | add hidden to validation context (#12050) | 26b665b540269d63a446bcfa361db5ddf0d561df\n@RitaDias | add deprecated tag for enhnacedObjectdialog Beta Property (#12117) | 6241b1b2c0539f715a10fac1c20088e7c4b62c8d\n@bjoerge | improve in-flight release check workflow names (#12103) | cd751ae9a5fe8c571c6227b166d049145677f2a4\nrenovate[bot] | update dependency esbuild to v0.27.3 (#12114) | 7a74582fe64cc4b0a647a62cecf71924875aa439\n@kbrabrand | add schema extraction to dev and build commands (#11761) | c3a4cb19e11147ba91a832420fed13504e8b58a4\n@kbrabrand | rewrite assertions to remove flake (#12089) | 68c9eb58a86dbf1f4d332c5d7bbcd8606f1de802\n@pedrobonamin | add `defaultPanes` option to documents (#12039) | c670cbb372650768da6bc7324464f3af01e08e15\n@stipsan | crash when switching to a perspective stack (#12102) | 77f86f0dc5eb8588482efea5466574128576afa7\n@RitaDias | add warning for schema validation when an array contains multiple primitive types that resolve to same json type (#12095) | 31155be6dbf86faeb41b77cea27cf9c765961234\n@bjoerge | fix error when updating status checks after merging release PR (#12098) | 478ff1d96b60fdfce4ae0c814c68c4defb5cc161\nsquiggler[bot] | dedupe pnpm-lock.yaml (#12074) | 6792119f3cf46e0892a02ef9ee8e79367f1c4038\n@macdonst | update readLocalBlueprint signature (#12097) | 7a166946ce61e278eff9e83328a98aaf74b249b9\n  \n","publishedAt":"2026-02-10T14:25:52.000Z","url":"https://github.com/sanity-io/sanity/releases/tag/v5.9.0","media":[]},{"id":"rel_Hb6aYyLYbugn3f9TUVjG6","version":"v5.8.1","title":"v5.8.1","summary":"# Sanity Studio v5.8.1\n\nThis release includes various improvements and bug fixes.\n\nFor the complete changelog with all details, please visit:\n[www.san...","content":"# Sanity Studio v5.8.1\n\nThis release includes various improvements and bug fixes.\n\nFor the complete changelog with all details, please visit:\n[www.sanity.io/changelog/studio-NS44LjA](https://www.sanity.io/changelog/studio-NS44LjA)\n\n## Install or upgrade Sanity Studio\n\nTo upgrade to this version, run:\n\n```bash\nnpm install sanity@latest\n```\n\nTo initiate a new Sanity Studio project or learn more about upgrading, please refer to our comprehensive guide on [Installing and Upgrading Sanity Studio](https://www.sanity.io/docs/upgrade).\n\n# 📓 Full changelog\n\nAuthor | Message | Commit\n------------ | ------------- | -------------\n@bjoerge | prevent input element ids from adding unsafe global variables (#12085) | 7a4041cd60808623ce13111699997ec9c0351e58\n@stipsan | missing types in `sanity/structure` and `sanity/presentation` (#12083) | cef58129bb58119a3a6cde38f8da1d6e03ecdf76\nrenovate[bot] | update dependency @sanity/visual-editing-csm to ^3.0.5 (#12065) | eff9bd4f4c894cdc47e79dd236e38147a498c550\nrenovate[bot] | update react monorepo (#12030) | a11ed60efdc7fb7e1ae7e89248d443e7c099a5d8\n@rexxars | use `Symbol.for` in validation field reference (#12093) | 8618f8476bbff6db439e1676fecd5c742315f3ad\nrenovate[bot] | update dependency @sanity/template-validator to v3 (#12092) | d88907264bf0ac667a89097299c41c83a257b12e\n@jordanl17 | add workflow to close stale issues needing more info (#12015) | 936e9574e11cf7bdf17b159378af51db34b551a0\n@bjoerge | publish github release instead of creating draft (#12081) | 4c883e64068902a6f4f7e55548d851c2ef511fa3\n@rdunk | enforce explicit loginMethod configuration (#12077) | 8c4206d920df8ef785fcfff07621399936251864\nCopilot | replace prettier with oxfmt for ~9x faster formatting (#12067) | a2c187ff7ae6db0f69bb2be0dc8e33ab29cafad6\nrenovate[bot] | update dependency @sanity/pkg-utils to ^10.4.4 (#12078) | d50c2813535b265f6e2b7365cf247d0f26a4193c\nrenovate[bot] | update dependency @sanity/template-validator to ^2.4.5 (#12076) | 6da793e90e421abeea39533dde344295c8b52ebf\n@bjoerge | handle missing release PR, update check on release PR closed (#12080) | 4cc3de95582d94ab8fd63cac2bb789a995e0fe3d\n@bjoerge | run oxfmt instead of prettier (#12082) | 4ae3ab64ce25b4f380ad4c67de99c2bbb52ae951\n  \n","publishedAt":"2026-02-05T15:17:19.000Z","url":"https://github.com/sanity-io/sanity/releases/tag/v5.8.1","media":[]},{"id":"rel_LYvTyqawe3g5H_sXZiDpd","version":"v5.8.0","title":"v5.8.0","summary":"# Sanity Studio v5.8.0\r\n\r\nThis release includes various improvements and bug fixes.\r\n\r\nFor the complete changelog with all details, please visit:\r\n[ww...","content":"# Sanity Studio v5.8.0\r\n\r\nThis release includes various improvements and bug fixes.\r\n\r\nFor the complete changelog with all details, please visit:\r\n[www.sanity.io/changelog/studio-NS43LjA](https://www.sanity.io/changelog/studio-NS43LjA)\r\n\r\n## Install or upgrade Sanity Studio\r\n\r\nTo upgrade to this version, run:\r\n\r\n```bash\r\nnpm install sanity@latest\r\n```\r\n\r\nTo initiate a new Sanity Studio project or learn more about upgrading, please refer to our comprehensive guide on [Installing and Upgrading Sanity Studio](https://www.sanity.io/docs/upgrade).\r\n\r\n# 📓 Full changelog\r\n\r\nAuthor | Message | Commit\r\n------------ | ------------- | -------------\r\n@sgulseth | use resource-config param to resolve GDRs+ML (#12075) | 9f35ba7c192f3e64a7d1b750f8d4ee5b17ec84b8\r\n@bjoerge | report inflight-release-check as passed on release PR (#12073) | 5185f79feca00ded47f60182d4f876836981df89\r\nrenovate[bot] | update dependency @sanity/preview-url-secret to ^4.0.3 (#12069) | 2f0fef894499a80b8317b372ac333cddc329016f\r\n@bjoerge | treat missing release notes as not excluded (#12072) | b21650ec2f2ea0643db1931baaf16346788707f2\r\nrenovate[bot] | update oxlint (#12071) | 748b0cf4d7c1df2a895f1c47bec21b89a9fa37ae\r\nsquiggler[bot] | dedupe pnpm-lock.yaml (#12070) | c863135c832dc9d1a4c2ea3645bad3724cf9d93b\r\nrenovate[bot] | update dependency @sanity/pkg-utils to ^10.4.3 (#12064) | 4440ee970d7e699ddc606ec89be8c7788e15b6d8\r\nrenovate[bot] | update dependency @sanity/insert-menu to v3.0.4 (#12068) | 7cee117d789b301c30d5659707079fd5ffca6f23\r\n@annez | cache KeyValueStore by client instead of workspace (#11801) | ec70fa614451e2f11931ea43a40f8aff7be96215\r\n@bjoerge | skip reminder if PR says no notes needed (#12057) | b55d6252aef65d3ac6b9f66708b71d2ecd5c0913\r\n@dcilke | remove toggle.schema.upload-pause.disable (#12043) | 49cbe6320e9d2f2f37b8353ea30d458cc921f977\r\n@dcilke | remove toggle.user-application.upload-live-manifest.disable' (#12043) | ad315bf40a23d6abc7dc5e20c7a86cf8afdac52d\r\n@RitaDias | add close outside of dialog to close all dialogs (#12044) | 75a7b005c5875135ce2273e160b29c4c8b1aebef\r\n@pedrobonamin | Incoming references virtualize lists (#12052) | b501245545b7b5343644d457ac1a06cb86b5a807\r\n@kbrabrand | add typegen to dev and build commands (#11957) | dc6baaed2d132e3d1fd020f0871d929fb9a34a5c\r\n@pedrobonamin | hide documents to be unpublished from link document list (#12055) | c0a5f506d58862417e8439405b321ce43508504f\r\nsquiggler[bot] | dedupe pnpm-lock.yaml (#12062) | 7c42b39eb44e27092f9e7709617f1974740e7927\r\n@bjoerge | run unit tests in `@repo`-packages (#12056) | 77e6f9b457b1b6475c10463a934d3adca56f1157\r\n@kbrabrand | add watch mode for typegen generate command (#11867) | c22e65eb958f98c47e2cdfc028618aa2fe512760\r\n@bjoerge | re-use typedoc comment (#12058) | d7d3db5680eb1329ce18406a7f018e27df793190\r\n@bjoerge | prepend new changelog entries (#12054) | 7c5540f6d8643a1aa1dc8dbbccdc79b76a05faea\r\n@RitaDias | add selection state (indicators) to all menu items (actions etc.) (#12003) | 81ede798df314f160156da46e514f2e4e60e8c32\r\n@bjoerge | preserve previous changelog entries (#12053) | e2b9922a1eb1a9c0dc29f1f012624903e9fc6609\r\n@bjoerge | don't set team reviewers when creating release PR (#12053) | 68d8f112104963557c0e8745034be5481766aab3\r\nrenovate[bot] | update dependency @sanity/pkg-utils to ^10.4.2 (#12051) | 0279848724664154b5523f0184915acac301fe79\r\n@bjoerge | block merge when release in progress (#12037) | edff29544ca711dbc8f3edb096f6c4c66d6a1fc6\r\n@stipsan | optimize styled components when publishing to npm (#12047) | 550d11e8fec21a0fb950e0830ea95678dec38c20\r\n@dcilke | support external studio undeploy (#12025) | 079e50238fe891cc7a09f283d35d9c4160587c1d\r\n@dcilke | allow external studio deployments (#12025) | ce738b8ce60949b82aa02144293c7ea46bd1db78\r\n@stipsan | remove skills for agents we don't use (#12046) | 54124cfab3382c7879caa258a3c00da686017050\r\nrenovate[bot] | update dependency @sanity/pkg-utils to ^10.4.1 (#12036) | e91c8779085ae8005cc253c311aa25273d013e47\r\n@juice49 | `getDocumentAtRevision` error when no document found (#12042) | 4b8ca5d5d0c353d95785818eea3ec9a49283c2cf\r\nrenovate[bot] | update dependency prettier-plugin-packagejson to v3 (#12031) | 5b63655e522e790dbb203e96fcb7b43a24dcc40f\r\nrenovate[bot] | Update portabletext (#12032) | 0a871eccac41eecbd4e09a6e099e89622f052cab\r\n@pedrobonamin | live editable document creation issue (#12034) | 7527a59050d877a040905127183026b2e8b76f36\r\n@pedrobonamin | display incoming references (#10761) | e5a945bab4444077ef6e71a4b98b59f7250e6a02\r\nsquiggler[bot] | dedupe pnpm-lock.yaml (#12029) | 93fc3b747220d972ee3c009ef69ae2ee72fe65e4\r\n@markmichon | add typedoc support (#11949) | f3de636268bdddd94e656094a106d5f25ee8c357\r\n@jmswrnr | add media library internal config (#12009) | 394e2468154625a84914e66bf453a209f607fcd4\r\n@christianhg | built-in PTE `pasteLink` plugin enabled by default (#12024) | 72a53b72be1b92feeb733adbe366d7c6d9285334\r\n@bjoerge | improve release note PR comment (#12028) | c5582d071cb7599df31adcadcd181ed80ececa10\r\nsquiggler[bot] | dedupe pnpm-lock.yaml (#12027) | 8b0c6ddf33845bd2c5f615199e2b2c341b3ca296\r\nrenovate[bot] | update linters (#12017) | c47376441af5634052ca5e618975695f8ac38340\r\n@pedrobonamin | add disableNew option for image fields (#12004) | 0e650d31b55d4a61bb02511626667b28f7497e47\r\nrenovate[bot] | update dependency @sanity/ui to ^3.1.11 (#12023) | d8dfb8ac7ea3561cbd46698e97ab100aa8b31e50\r\n@bjoerge | add studio intents and routing example (#10414) | 4d5e9a77e54b7422922c6f54f1fde1ae001a7d8f\r\n@bjoerge | set up changelog reminder comment for merged PRs (#12011) | de24f46429583ea0b93a0618221fa16959762d24\r\n@bjoerge | use nbsp for edit link text (#12020) | bcd91fa1cc592a560b2cff0dbfa70bdfcaf2ade0\r\n@bjoerge | import images from release notes section (#12001) | 46841149812fec7aede45873d696d37ef9d53e25\r\nsquiggler[bot] | dedupe pnpm-lock.yaml (#12014) | eff2f24fde48096107464ef307534fc45d53f260\r\nrenovate[bot] | update dependency @sanity/migrate to ^5.2.3 (#12013) | 31b54c8fe14cc8468fe2e279976976a5e6768b25\r\nrenovate[bot] | update oxlint (#12008) | 6dbedfe2eb2b84d721c89e3ff3ef8e66a6718ba7\r\n@RitaDias | safari was requiring two clicks to be done on an array item before dialog would open (#11981) | 2060158cdd9985025aca17faf1ded551e34ef4e5\r\n@bjoerge | automate release notes publishing (#11998) | 7bb598cbe68e1ac0166c6cfa5a4d694e955452c8\r\nrenovate[bot] | update pnpm to v10.28.2 (#12005) | 59e8624ba7bbe6f47578512db35f4131547d9a68\r\n@stipsan | let us try some SKILLS 💾 (#12010) | e04948a2af603b0745c78110d82cd774b73c584f\r\n@bjoerge | fix outdated lockfile (#12012) | 2e735a424da1f27a395cfb0f45d8ece86bfe02b6\r\n@bjoerge | improve release workflow automation (#11989) | 160cd9d3c8dea83776dd0f3b3997774c03a28f7a\r\nrenovate[bot] | update vitest monorepo to ^4.0.18 (#12007) | c4cb96a2467e908c845f29f86b21b5e12da34ef9\r\n@RitaDias | add chunking for observeFields (previews) as to avoid very large requests that hang requests (#11974) | e887b6b30428ba361f64f46fd5989bfd0634ec26\r\nsquiggler[bot] | dedupe pnpm-lock.yaml (#11999) | de0414991442789b1ee06f7335a6fefd98e15ee7\r\nrenovate[bot] | update dependency @sanity/pkg-utils to ^10.3.5 (#11996) | f193cb531e63b789f51a2c21afdd893920f6b7b9\r\n@jordanl17 | Filter release documents by action and validity (#11980) | 0863e2fe2afd65b7599bcf4f10bd9a07547590be\r\n@EoinFalconer | add core concepts guide for developers and agents (#11965) | c93bbfd9e934aa4eff03ad139dbbc9b513475747\r\n@RitaDias | discard dialog show the correct document preview (#11992) | 76d2f0ffd6d7b08dab9db050612f64b8aa9b3df7\r\n@pedrobonamin | display validation icon for groups (#11995) | 7916f6efbee5c4107b1c0d02a9281037108779e3\r\n@pedrobonamin | adds `path` to `ConditionalPropertyCallbackContext` (#11947) | f16a4aa9b83365119fc881a4e00eb16e5b2c9f66\r\nrenovate[bot] | Update portabletext (#11994) | 6aaca20134277be6d497ce99d41b428c23a655bf\r\nsquiggler[bot] | dedupe pnpm-lock.yaml (#11993) | 16c063b1a2f0c0c8d26e1fb58c87421bca028169\r\n@dcilke | resolve lint errors and update exports snapshot (#11945) | 9326b6adb5327e0292b7d36651877df7587bac76\r\n@dcilke | integrate manifest generation into deploy action (#11945) | 8081071e54f9dac24d7d827f89148d9bf6c69f8c\r\n@dcilke | extract generateStudioManifest into shared module (#11945) | ed1bd7be2b6951b68fdd7f40642ae154b9e17182\r\n@dcilke | move uploadSchema to studio/manifest (#11945) | c394fdee8c6cefbaead577a4b929626ede28cd2c\r\nsquiggler[bot] | dedupe pnpm-lock.yaml (#11991) | 8aa547e5e6d4e02118dd43638d29daa157867cae\r\nrenovate[bot] | update dependency groq-js to ^1.26.0 (#11983) | 052b6a23074c4b3541665dd21b0680ef29626a1e\r\n@jordanl17 | fix when no unit tests on coverage (#11986) | ba66225f432dd9964505c9db007242ec18107223\r\n@jordanl17 | fixing failing autoupdating mock (#11985) | e597a36b773c88ea65328d5856501d7d367e1d7e\r\n@jordanl17 | run partial vitest unit tests from `changed` detection (#11909) | 054e3b88992ff3fae5f28b7e7c1e363945377761\r\n@EoinFalconer | add local development and auth guide to AGENTS.md (#11966) | fa1b8ab0ce1b698bbc6d1181c19b440b1ec009e2\r\n  \r\n","publishedAt":"2026-02-04T13:09:12.000Z","url":"https://github.com/sanity-io/sanity/releases/tag/v5.8.0","media":[]},{"id":"rel_5DTjXRpxDRKpCIbVWW3yy","version":"v5.7.0","title":"v5.7.0","summary":"# Sanity Studio v5.7.0\r\n\r\nThis release includes various improvements and bug fixes.\r\n\r\nFor the complete changelog with all details, please visit:\r\n[ww...","content":"# Sanity Studio v5.7.0\r\n\r\nThis release includes various improvements and bug fixes.\r\n\r\nFor the complete changelog with all details, please visit:\r\n[www.sanity.io/changelog/aa21f137-5126-416e-b125-5a0f406f0441](https://www.sanity.io/changelog/aa21f137-5126-416e-b125-5a0f406f0441)\r\n\r\n## Install or upgrade Sanity Studio\r\n\r\nTo upgrade to this version, run:\r\n\r\n```bash\r\nnpm install sanity@latest\r\n```\r\n\r\nTo initiate a new Sanity Studio project or learn more about upgrading, please refer to our comprehensive guide on [Installing and Upgrading Sanity Studio](https://www.sanity.io/docs/upgrade).\r\n\r\n# 📓 Full changelog\r\nAuthor | Message | Commit\r\n------------ | ------------- | -------------\r\nrenovate[bot] | fix(deps): update dependency motion to ^12.27.1 ([#11932](https://github.com/sanity-io/sanity/pull/11932)) | eb8b2a9887\r\nPedro Bonamin | chore(core): updates PTE annotation styles ([#11943](https://github.com/sanity-io/sanity/pull/11943)) | 1759d1b6fa\r\nRitaDias | fix(portable-text): combine multiple annotation popovers into single popover ([#11923](https://github.com/sanity-io/sanity/pull/11923)) | b470e3b5a9\r\nPedro Bonamin | fix(cli): add early validation for missing dataset in migration command ([#11914](https://github.com/sanity-io/sanity/pull/11914)) | 34215dfc3a\r\nAsh | fix(sanity): ensure dedicated `SlugFieldDiff` is used when diffing slugs | 4cbc5e677e\r\nAsh | chore(sanity): remove unused `diffResolver` file | bed417e356\r\nPedro Bonamin | feat(form): add clear button to radio select inputs ([#11936](https://github.com/sanity-io/sanity/pull/11936)) | c59672612e\r\nsquiggler[bot] | chore(deps): dedupe pnpm-lock.yaml ([#11941](https://github.com/sanity-io/sanity/pull/11941)) | 18ba86acbc\r\nRitaDias | refactor: make enhanced object dialog's cross / exit go to the parent instead of closing all dialogs ([#11917](https://github.com/sanity-io/sanity/pull/11917)) | 63dbfd90af\r\nrenovate[bot] | fix(deps): Update portabletext ([#11955](https://github.com/sanity-io/sanity/pull/11955)) | 70d4df195e\r\nrenovate[bot] | fix(deps): update dependency @sanity/client to ^7.14.1 ([#11954](https://github.com/sanity-io/sanity/pull/11954)) | 41911d5900\r\nsquiggler[bot] | chore(deps): dedupe pnpm-lock.yaml ([#11959](https://github.com/sanity-io/sanity/pull/11959)) | 199f82aa33\r\nChristian Hamburger Grøngaard | chore: .gitignore .claude/settings.local.json | 22ece75ac5\r\nChristian Hamburger Grøngaard | test: stabilise comment tests | dfb4bf6d8c\r\nChristian Hamburger Grøngaard | fix(core): use `EditorProvider` in comment input | 4a9549804b\r\nrenovate[bot] | fix(deps): Update portabletext ([#11960](https://github.com/sanity-io/sanity/pull/11960)) | a85174dcdc\r\nAsh | feat(sanity): add utilities for flattening Sanity data | e3a39ba9f0\r\nAsh | feat(sanity): tooling to find divergences between versions of a document | 4f5566181e\r\nPedro Bonamin | fix(core): support copy pasting anonymous objects ([#11961](https://github.com/sanity-io/sanity/pull/11961)) | 9d76742237\r\nPedro Bonamin | fix(core): preserve marks and markdefs when pasting pte fields ([#11967](https://github.com/sanity-io/sanity/pull/11967)) | 4f6b9ad18d\r\nAsh | feat(sanity): collator for all divergences in a subject-upstream pair ([#11953](https://github.com/sanity-io/sanity/pull/11953)) | dc2bd872b2\r\nBinoy Patel | refactor: remove codegen package ([#11846](https://github.com/sanity-io/sanity/pull/11846)) | afe18d4413\r\nEspen Hovlandsdal | fix(cli): pass CLI project ID to runtime-cli if set, upgrade runtime-cli ([#11971](https://github.com/sanity-io/sanity/pull/11971)) | 539bf4aca7\r\nPedro Bonamin | fix(structure): validation inspector displays path titles for anonymous objects ([#11968](https://github.com/sanity-io/sanity/pull/11968)) | 1af0e35075\r\nAsh | feat(sanity): add `time` param support to `getDocumentAtRevision` ([#11969](https://github.com/sanity-io/sanity/pull/11969)) | d517d2afdc\r\nrenovate[bot] | fix(deps): Update portabletext ([#11973](https://github.com/sanity-io/sanity/pull/11973)) | 96a420065f\r\nChristian Hamburger Grøngaard | refactor: migrate workshop stories to use `EditorProvider` | 393c29526c\r\nChristian Hamburger Grøngaard | fix: build range decorations when comments changes | bd54cbcfa6\r\nJordan Lawrence | fix: update response handling to return latest package version ([#11910](https://github.com/sanity-io/sanity/pull/11910)) | a4d65c4694\r\nKristoffer Brabrand | chore: pin @sanity/codegen version ([#11976](https://github.com/sanity-io/sanity/pull/11976)) | 5e7ddc1d8f\r\nDavid Annez | fix(studio): improve PTE copy/paste clipboard formats ([#11762](https://github.com/sanity-io/sanity/pull/11762)) | a37c71727d\r\nKristoffer Brabrand | chore: pin @sanity/codegen in the workspace file | e8f613dd00\r\n","publishedAt":"2026-01-27T13:22:36.000Z","url":"https://github.com/sanity-io/sanity/releases/tag/v5.7.0","media":[]},{"id":"rel_TArSqDhYnW00H18Y7Q9Lb","version":"v5.6.0","title":"v5.6.0","summary":"# Sanity Studio v5.6.0\r\n\r\nThis release includes bug fixes.\r\n\r\nFor the complete changelog with all details, please visit:\r\n[www.sanity.io/changelog/c23...","content":"# Sanity Studio v5.6.0\r\n\r\nThis release includes bug fixes.\r\n\r\nFor the complete changelog with all details, please visit:\r\n[www.sanity.io/changelog/c231ef24-c411-47e8-9b23-a9bf966c54da](https://www.sanity.io/changelog/c231ef24-c411-47e8-9b23-a9bf966c54da)\r\n\r\n## Install or upgrade Sanity Studio\r\n\r\nTo upgrade to this version, run:\r\n\r\n```bash\r\nnpm install sanity@latest\r\n```\r\n\r\n\r\n# 📓 Full changelog\r\nAuthor | Message | Commit\r\n------------ | ------------- | -------------\r\nrenovate[bot] | fix(deps): Update portabletext ([#11868](https://github.com/sanity-io/sanity/pull/11868)) | c95b22a25b\r\nrenovate[bot] | chore(deps): update pnpm to v10.28.1 ([#11875](https://github.com/sanity-io/sanity/pull/11875)) | 096d23de87\r\nrenovate[bot] | fix(deps): Update babel monorepo to ^7.28.6 ([#11876](https://github.com/sanity-io/sanity/pull/11876)) | c86d4fb254\r\nsquiggler[bot] | chore(deps): dedupe pnpm-lock.yaml ([#11883](https://github.com/sanity-io/sanity/pull/11883)) | 5cb456ed51\r\nrenovate[bot] | fix(deps): Update CodeMirror ([#11881](https://github.com/sanity-io/sanity/pull/11881)) | ac97e5c98d\r\nrenovate[bot] | chore(deps): update oxlint ([#11880](https://github.com/sanity-io/sanity/pull/11880)) | 8aa3fb0245\r\nrenovate[bot] | chore(deps): update lerna-lite monorepo to ^4.11.0 ([#11879](https://github.com/sanity-io/sanity/pull/11879)) | dd96837444\r\nrenovate[bot] | fix(deps): update dependency xstate to ^5.25.1 ([#11877](https://github.com/sanity-io/sanity/pull/11877)) | 977742eba8\r\nrenovate[bot] | fix(deps): update dependency motion to ^12.26.2 ([#11882](https://github.com/sanity-io/sanity/pull/11882)) | 8ee723cc1f\r\nsquiggler[bot] | chore(deps): dedupe pnpm-lock.yaml ([#11884](https://github.com/sanity-io/sanity/pull/11884)) | ce02fcab26\r\nrenovate[bot] | chore(deps): update dependency @sanity/image-url to ^2.0.3 ([#11885](https://github.com/sanity-io/sanity/pull/11885)) | da6b7d8f7b\r\nKristoffer Brabrand | feat(codegen): type utilities for generated types ([#11733](https://github.com/sanity-io/sanity/pull/11733)) | 682b253b5b\r\nPedro Bonamin | fix(core): infinite redirects when trying to log in via SSO ([#11825](https://github.com/sanity-io/sanity/pull/11825)) | ccbf72c79b\r\nsquiggler[bot] | chore(deps): dedupe pnpm-lock.yaml ([#11886](https://github.com/sanity-io/sanity/pull/11886)) | 37df781574\r\nPedro Bonamin | fix(core): handle null token in auth store ([#11888](https://github.com/sanity-io/sanity/pull/11888)) | 4a1b7fbf27\r\nPedro Bonamin | fix(core): show timezone button when `allowTimeZoneSwitch` is true ([#11861](https://github.com/sanity-io/sanity/pull/11861)) | 25ee19461b\r\nPedro Bonamin | fix(core): allows setting timezone to dates arrays ([#11866](https://github.com/sanity-io/sanity/pull/11866)) | 85bd87b36f\r\nrenovate[bot] | chore(deps): update actions/checkout action to v6 ([#11892](https://github.com/sanity-io/sanity/pull/11892)) | 30f3033ddb\r\nPedro Bonamin | fix(comments): store fragment selection when user opens comment input popover ([#11873](https://github.com/sanity-io/sanity/pull/11873)) | bee339e296\r\nPer-Kristian Nordnes | feat: add \"Open in Source\" functionality for assets ([#11826](https://github.com/sanity-io/sanity/pull/11826)) | eaa8f24571\r\nJordan Lawrence | chore: cli skip tests ([#11872](https://github.com/sanity-io/sanity/pull/11872)) | eaa7f01495\r\nPedro Bonamin | fix(core): deprecated label and validation icons overlap ([#11887](https://github.com/sanity-io/sanity/pull/11887)) | b172d832c7\r\nJordan Lawrence | fix(cli): normalize path separators for cross-platform compatibility ([#11874](https://github.com/sanity-io/sanity/pull/11874)) | 4af3ead928\r\nDain Cilke | fix(studio): handle emoji characters in workspace icon generation | a6077fab42\r\nJordan Lawrence | fix: prevent published from being treated as a release ([#11871](https://github.com/sanity-io/sanity/pull/11871)) | 536f75bcc1\r\nrenovate[bot] | chore(deps): update dependency turbo to ^2.7.5 ([#11890](https://github.com/sanity-io/sanity/pull/11890)) | 63a6428e82\r\nrenovate[bot] | chore(deps): update dependency @sanity/pkg-utils to ^10.3.3 ([#11894](https://github.com/sanity-io/sanity/pull/11894)) | 4e7629367d\r\nsquiggler[bot] | chore(deps): dedupe pnpm-lock.yaml ([#11895](https://github.com/sanity-io/sanity/pull/11895)) | db91ca4d03\r\nEoin Falconer | fix(pte): widen annotation popover default width ([#11807](https://github.com/sanity-io/sanity/pull/11807)) | e8c84faad9\r\nJordan Lawrence | ci: add auto-labeling GitHub Action for PRs based on path changes ([#11902](https://github.com/sanity-io/sanity/pull/11902)) | 5e8314d10b\r\nPedro Bonamin | chore(test-studio): adds documentInternationalization plugin ([#11904](https://github.com/sanity-io/sanity/pull/11904)) | eb10e23e04\r\nPedro Bonamin | fix(core): ensure PTE custom toolbar icons use correct color token ([#11899](https://github.com/sanity-io/sanity/pull/11899)) | c46592cbd4\r\nRitaDias | test: E2e and unit test updates ([#11903](https://github.com/sanity-io/sanity/pull/11903)) | f5a529ced4\r\nKen Jones | docs: add Auto-Changelog Function ([#10524](https://github.com/sanity-io/sanity/pull/10524)) | 6ebbadf433\r\nrenovate[bot] | fix(deps): update dependency @sanity/client to ^7.14.0 ([#11908](https://github.com/sanity-io/sanity/pull/11908)) | d4f6c5be18\r\nrenovate[bot] | chore(deps): update dependency vite to ^7.3.1 ([#11891](https://github.com/sanity-io/sanity/pull/11891)) | 5b4882d480\r\nPedro Bonamin | feat(core): add `renderMembers` function to objects and fieldsets ([#11205](https://github.com/sanity-io/sanity/pull/11205)) | 452d3560c9\r\nRitaDias | fix: allow custom object types as portable text annotations ([#11893](https://github.com/sanity-io/sanity/pull/11893)) | 968005f6f1\r\nPedro Bonamin | feat(schema): export DEFAULT_ANNOTATIONS and DEFAULT_DECORATORS ([#11916](https://github.com/sanity-io/sanity/pull/11916)) | 55cdb56d5f\r\nPedro Bonamin | fix(core): split creation event from mutation when editing drafts ([#11379](https://github.com/sanity-io/sanity/pull/11379)) | bd3ebc3bb2\r\nRupert Dunk | fix: resolve private asset cors issues, skip access policy checks for unsupported auth modes ([#11901](https://github.com/sanity-io/sanity/pull/11901)) | e60346d968\r\nRupert Dunk | feat: add private asset indicator and improve access policy error handling ([#11898](https://github.com/sanity-io/sanity/pull/11898)) | e07b43c679\r\nKristoffer Brabrand | fix(test): symlink in monorepo deps after installing ([#11905](https://github.com/sanity-io/sanity/pull/11905)) | 2b9d06bb96\r\nPedro Bonamin | fix(structure): omit system bundles from versions in reference banner ([#11911](https://github.com/sanity-io/sanity/pull/11911)) | a71e88e4ca\r\nChristian Grøngaard | fix(core): remove dependency on PTE-exported Sanity types ([#11920](https://github.com/sanity-io/sanity/pull/11920)) | 7a74337c9d\r\nsquiggler[bot] | chore(deps): dedupe pnpm-lock.yaml ([#11927](https://github.com/sanity-io/sanity/pull/11927)) | c96837cc89\r\nCody Olsen | chore: add AGENTS.md and CLAUDE.md ([#11929](https://github.com/sanity-io/sanity/pull/11929)) | c5a1c50be6\r\nrenovate[bot] | fix(deps): Update portabletext ([#11912](https://github.com/sanity-io/sanity/pull/11912)) | 9c14402a54\r\nPedro Bonamin | chore(core): reverts authstore fix for SSO redirect  ([#11931](https://github.com/sanity-io/sanity/pull/11931)) | b033a550c2\r\nrenovate[bot] | chore(deps): update dependency @lerna-lite/publish to ^4.11.1 ([#11930](https://github.com/sanity-io/sanity/pull/11930)) | 7728fc4042\r\nsquiggler[bot] | chore(deps): dedupe pnpm-lock.yaml ([#11933](https://github.com/sanity-io/sanity/pull/11933)) | 0bc3035161\r\nBinoy Patel | fix: fixes issue with loading esm cli bin ([#11919](https://github.com/sanity-io/sanity/pull/11919)) | ed4bb07851","publishedAt":"2026-01-23T09:44:53.000Z","url":"https://github.com/sanity-io/sanity/releases/tag/v5.6.0","media":[]},{"id":"rel_ruoCyFEaGL6vcnYfCYbzE","version":"v5.5.0","title":"v5.5.0","summary":"# Sanity Studio v5.5.0\r\n\r\nThis release includes bug fixes.\r\n\r\nFor the complete changelog with all details, please visit:\r\n[www.sanity.io/changelog/266...","content":"# Sanity Studio v5.5.0\r\n\r\nThis release includes bug fixes.\r\n\r\nFor the complete changelog with all details, please visit:\r\n[www.sanity.io/changelog/266c75da-9959-4693-82c9-e1d133bcac91](https://www.sanity.io/changelog/266c75da-9959-4693-82c9-e1d133bcac91)\r\n\r\n## Install or upgrade Sanity Studio\r\n\r\nTo upgrade to this version, run:\r\n\r\n```bash\r\nnpm install sanity@latest\r\n```\r\n\r\n\r\n# 📓 Full changelog\r\nAuthor | Message | Commit\r\n------------ | ------------- | -------------\r\nRitaDias | test: update e2e tests ([#11843](https://github.com/sanity-io/sanity/pull/11843)) | 3334560317\r\nKristoffer Brabrand | feat(cli): watch mode for schema extraction ([#11748](https://github.com/sanity-io/sanity/pull/11748)) | 459e8ca4ec\r\nKristoffer Brabrand | feat(cli): allow configuring schemaExtraction in sanity.cli.ts ([#11824](https://github.com/sanity-io/sanity/pull/11824)) | 6fd624bc58\r\nRitaDias | fix: issue where padding bottom was too close to dialog, fixes #11849 ([#11852](https://github.com/sanity-io/sanity/pull/11852)) | e4e9c54721\r\nrenovate[bot] | fix(deps): Update linters ([#11836](https://github.com/sanity-io/sanity/pull/11836)) | 129169868d\r\nPedro Bonamin | fix(core): enable autofocus on reference input ([#11853](https://github.com/sanity-io/sanity/pull/11853)) | 753fce6e04\r\nsquiggler[bot] | chore(deps): dedupe pnpm-lock.yaml ([#11854](https://github.com/sanity-io/sanity/pull/11854)) | 42d840e584\r\nPedro Bonamin | fix(core): use `<Link>` for workspace switching ([#11844](https://github.com/sanity-io/sanity/pull/11844)) | c89364ca06\r\nPedro Bonamin | fix(core): reverts use `<Link>` for workspace switching ([#11844](https://github.com/sanity-io/sanity/pull/11844)) ([#11859](https://github.com/sanity-io/sanity/pull/11859)) | f87a5ebc4d\r\nBram Doppen | fix(docs): Fix add function --example handling for media library function ([#11847](https://github.com/sanity-io/sanity/pull/11847)) | 14a2811254\r\nEspen Hovlandsdal | fix(cli): upgrade `@sanity/export` to v6.0.3 ([#11862](https://github.com/sanity-io/sanity/pull/11862)) | 85b2f91b6a\r\nKristoffer Brabrand | feat(sanity): add Vite plugin for automatic schema extraction ([#11760](https://github.com/sanity-io/sanity/pull/11760)) | e0f78dacbb\r\nrenovate[bot] | fix(deps): update dependency @sanity/export to ^6.0.5 ([#11863](https://github.com/sanity-io/sanity/pull/11863)) | 489ff2b21b\r\nJordan Lawrence | fix: missed scheduled draft ([#11860](https://github.com/sanity-io/sanity/pull/11860)) | 56c9ab039d\r\nsquiggler[bot] | chore(deps): dedupe pnpm-lock.yaml ([#11864](https://github.com/sanity-io/sanity/pull/11864)) | a65446824f\r\nEoin Falconer | fix: prevent disableTransition prop from leaking to DOM ([#11775](https://github.com/sanity-io/sanity/pull/11775)) | bd6774b419\r\nrenovate[bot] | fix(deps): update dependency @sanity/import to ^4.1.0 ([#11865](https://github.com/sanity-io/sanity/pull/11865)) | c59cb53a9a\r\nrenovate[bot] | chore(deps): update dependency styled-components to ^6.3.8 ([#11858](https://github.com/sanity-io/sanity/pull/11858)) | c77ab5eaa0\r\nTaylor Beseda | chore(cli): improve blueprints and functions help text ([#11848](https://github.com/sanity-io/sanity/pull/11848)) | 0e68c010d0","publishedAt":"2026-01-19T20:40:21.000Z","url":"https://github.com/sanity-io/sanity/releases/tag/v5.5.0","media":[]}],"pagination":{"page":1,"pageSize":20,"totalPages":6,"totalItems":101},"summaries":{"rolling":{"windowDays":90,"summary":"Studio shipped steady maintenance and refinement over the past three months. Type inference improvements preserved autocomplete for `defineField` inside `defineType`, while the release duplication system gained version tagging to better track content lineage. Performance fixes addressed excessive recomputing tied to form state and prevented unnecessary divergence navigator context emissions, keeping the editor responsive at scale.","releaseCount":22,"generatedAt":"2026-04-11T14:01:01.353Z"},"monthly":[{"year":2026,"month":3,"summary":"Studio focused on stability and operational efficiency throughout March. Fixed excessive recomputing tied to form state and resolved a lodash-es import issue that broke certain configurations. Task parameters persisted across sessions, and the dashboard icon rendering was corrected. Dependency updates to the CLI and portable text libraries rounded out the month's incremental improvements.","releaseCount":8,"generatedAt":"2026-04-11T14:01:03.265Z"}]}}