## sanity-io/sanity — v6.15.0…v6.16.0

_100 commits._

### Features
- **feat(radar): track ui v5 adoption and styled-components removal per scenario (#14843)** (cf943c6)
- **feat(core): read document variants from `_system.variants` with legacy fallback (#14762)** (4913ff6)
- **feat(core): mark schema-less Portable Text values with a visible affordance** (ea02de3)

### Fixes
- **fix(deps): update portabletext (#14871)** (07a638b)
- **fix(auth): add missing deprecated tag to createAuthStore (#14842)** (b049d30)
- **fix(deps): update portabletext (#14855)** (d8afd5d)
- **fix(deps): update dependency get-it to ^9.5.5 (#14853)** (9fb4756)
- **fix(deps): update dependency xstate to ^5.33.2 (#14817)** (d256660)
- **fix(deps): update linters (#14819)** (8bee257)
- **fix(deps): update dependency motion to ^13.4.0 (#14816)** (dd52505)
- **fix(dev): pin bundled dev rolldown runtime (#14835)** (84f1a08)
- **fix(ci): collapse the visual coverage table in the pr comment (#14846)** (e95d593)
- **fix(history): restore release revisions with version.replace (#14813)** (16a557c)
- **fix(core): keep field presence avatar in place when field actions appear on hover (#14761)** (06af50f)
- **fix(core): PTE should display presence inline and in field (#14751)** (98573ad)
- **fix(deps): update dev-non-major (#14818)** (5c369b4)
- **fix(deps): update codemirror (#14815)** (a75baf8)
- **fix(e2e): stabilize navbar avatar snapshot (#14814)** (73bc12b)
- **perf(preview): stream useValuePreview inputs through one subject (#14720)** (e44cd25)
- **fix(test): stabilize chromatic vitest snapshots (#14710)** (044e422)
- **fix(deps): update dependency @sanity/cli to ^8.11.0 (#14540)** (c2256fa)
- **fix(comments-v2): rematch persisted inline ranges after edits (#14764)** (1bf2357)
- **fix(deps): update sanity-sdk to ^3.3.0 (#14770)** (07b66f2)
- **fix(deps): update dependency @portabletext/sanity-bridge to ^4.1.1 (#14779)** (28159ea)
- **fix(comments): tolerate stored comment with unparseable field path (#14778)** (1bc591a)
- **fix(perspective): reset sticky perspective for archived releases (#14753)** (aecb75e)
- **fix(core): render Portable Text values whose types left the schema** (d5bae96)
- **fix(mutator): drop lodash-es usages (#14593)** (eca963b)
- **fix(deps): update dependency @sanity/client to ^8.6.2 (#14749)** (d5bbecc)

### Tests
- **test(form): add visual coverage for input states (#14847)** (6d7afa6)
- **test(presence): stabilize chromatic browser snapshots (#14833)** (8b1ef34)
- **test(form): cover url skip required two-arg validation (#14233)** (990e05e)

### Docs
- **docs(skills): add react-rx hook audit skill (#14722)** (1e612ca)
- **docs(sanity): add unit test conventions for agents (#14771)** (c7c29c4)

### Chore
- **chore(release): publish v6.16.0 (#14769)** (584242a)
- **chore(deps): dedupe pnpm-lock.yaml (#14878)** (ded8266)
- **chore(deps): update dependency @sanity/ui to ^4.2.3 (#14879)** (6ced7fe)
- **chore: flex migration final pass (#14841)** (0162e5e)
- **chore(deps): update dependency @sanity/themer to ^0.3.15 (#14877)** (e927992)
- **chore(deps): dedupe pnpm-lock.yaml (#14874)** (1b1c228)
- **chore(deps): update dependency @chromatic-com/playwright to ^0.15.0 (#14873)** (27d33d6)
- **chore(deps): update dependency @sanity/ui to ^4.2.2 (#14869)** (451148c)
- **chore(deps): dedupe pnpm-lock.yaml (#14872)** (1971dd2)
- **chore(deps): lock file maintenance (#14866)** (bbb86cd)
- **chore(deps): update pnpm/setup action to v3 (#14865)** (4939e26)
- **chore(deps): update renovatebot/github-action action to v46.3.3 (#14863)** (eec9e82)
- **chore(deps): update dependency oxc-transform-react to ^0.151.0 (#14864)** (b333b60)
- **chore(test-studio): update no releases no variants dataset (#14867)** (d158817)
- **chore(deps): update davelosert/vitest-coverage-report-action action to v2.13.0 (#14821)** (3aade16)
- **chore(deps): dedupe pnpm-lock.yaml (#14856)** (72180c9)
- **chore(tests): generate dts tests 🤖 ✨ (#14854)** (cd06dcf)
- **chore(deps): update dependency oxfmt to ^0.70.0 (#14825)** (0de30a0)
- **chore(lint): fix linter issues 🤖 ✨ (#14851)** (fd6a0ee)
- **chore(deps): update dependency oxc-transform-react to ^0.150.0 (#14824)** (df8ac20)
- **chore(deps): update dependency zod to ^4.6.5 (#14811)** (db3c63a)
- **chore(deps): update dependency web-vitals to ^6.2.2 (#14810)** (ca324cf)
- **chore(deps): update dependency turbo to ^2.11.2 (#14809)** (355cf1d)
- **chore(deps): update dependency @tanstack/react-virtual to ^3.14.13 (#14799)** (cad292c)
- **chore(deps): update dependency lefthook to ^2.1.14 (#14803)** (41d5008)
- **chore(deps): update chromaui/action action to v18.9.4 (#14820)** (328c377)
- **chore(deps): update dependency @sanity/functions to ^1.8.0 (#14823)** (165c39b)
- **chore(deps): update pnpm to v12.5.1 (#14826)** (6318bf3)
- **chore(deps): update renovatebot/github-action action to v46.3.1 (#14827)** (356532f)
- **chore(deps): update dependency @sanity/diff-match-patch to ^3.2.1 (#14845)** (c23b446)
- **chore(deps): update dependency tsx to ^4.23.15 (#14807)** (b41a848)
- **chore(deps): update dependency sanity-plugin-internationalized-array to ^5.3.0 (#14806)** (3ebbb27)
- **chore(deps): update dependency react-i18next to ^17.0.14 (#14805)** (256429a)
- **chore(deps): update dependency p-map to ^7.0.8 (#14804)** (aaa11eb)
- **chore(deps): update dependency knip to ^6.37.0 (#14802)** (1f46e76)
- **chore(deps): update dependency chromatic to ^18.9.4 (#14800)** (fd854e6)
- **chore(deps): update dependency @sentry/react to ^10.75.0 (#14798)** (8b7d90d)
- **chore(deps): update dependency @sanity/vanilla-extract-vite-plugin to ^0.2.19 (#14797)** (04bd8fa)
- **chore(deps): update dependency @sanity/migrate to ^8.0.5 (#14796)** (1cfe4ab)
- **chore(deps): update dependency @sanity/media-library-types to ^1.7.0 (#14795)** (7b64cb3)
- **chore(deps): update dependency eventsource-parser to ^4.1.1 (#14801)** (98b1cd9)
- **chore(deps): update dependency @sanity/blueprints to ^0.26.1 (#14822)** (eeded6a)
- **chore(deps): update oxlint (#14812)** (f25f2e3)
- **chore(radar): regression tracking and release history overhaul (#14836)** (9c7ebc3)
- **chore(tests): generate dts tests 🤖 ✨ (#14834)** (6a18b01)
- **chore(test-studio): add presence debug action (#14755)** (35332b3)
- **chore(core): add presence tests (#14750)** (cd15a54)
- **chore(deps): dedupe pnpm-lock.yaml (#14832)** (dc62c6f)
- **chore(deps): lock file maintenance (#14831)** (647b1cc)
- **chore(deps): update dependency @mux/mux-player-react to ^3.13.4 (#14794)** (18f8a75)
- **chore(deps): update dependency @sanity/tsdown-config to ^0.28.1 (#14792)** (ea58c0f)
- **chore: migrate flex in src (#14783)** (2e2660a)
- **chore(deps): lock file maintenance (#14790)** (78510d2)
- **chore(deps): dedupe pnpm-lock.yaml (#14786)** (3a2ab53)
- **chore(deps): regenerate pnpm lockfile from clean install (#14785)** (0cf7310)
- **chore: migrate stack in releases (#14738)** (7b9671e)
- **chore: migrate stack in core/canvas to core/field (#14712)** (ec39c97)
- **chore: migrate flex in core/components (#14725)** (389a068)
- **chore(test-studio): add studio with variants and releases disabled (#14782)** (0b30896)
- **chore(lockfile): add `@sanity/import@7.0.3` to `trustPolicyExclude` (#14781)** (b15c9a5)
- **chore(bundle-manager): add deprecate/undeprecate commands for module manifest versions (#14766)** (835e6b6)
- **chore(radar): expand bisect gaps and test any commit out of turn (#14768)** (3ed10f6)
- **chore(radar): manage regressions from a release row (#14742)** (9b91a96)
- **chore: migrate stack in scheduled-publishing (#14739)** (21388ff)
- **chore(deps): dedupe pnpm-lock.yaml (#14773)** (846a3dd)
- **chore(deps): update dependency @portabletext/markdown to ^2.2.1 (#14767)** (acf107c)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/sanity-io/sanity?utm_source=github-action)._