Tasks released for Sanity Studio + dependency upgrades for styled-components and @sanity/ui ++
Published: April 9, 2024
⚠️ This upgrade requires styled-components@6.1 and @sanity/ui@2
This release comes with version requirements for the following packages:
styled-components@6.1(required for all Studio projects)@sanity/ui@2(optional)
If you're maintaining a plugin for Sanity Studio, we recommend upgrading its dependencies too.
styled-components (required)
We have seen incompatibility issues when styled-components@5 is used outside of the Vite configuration that ships with sanity, for example, when the Studio is embedded in a Next.js or Remix project.
Styled Components is a required dependency for Sanity Studio projects. By upgrading it, you can also delete the @types/styled-components and react-is dependencies that were required with styled-components@5:
# npm
npm install sanity@latest styled-components@^6.1
npm rm @types/styled-components react-is
# pnpm
pnpm install sanity@latest styled-components@^6.1
pnpm rm @types/styled-components react-is
# yarn
yarn add sanity@latest styled-components@^6.1
yarn rm @types/styled-components react-isNote: if you have local customizations in your Sanity Studio that are using styled-components you may need to make some minor adjustments to the customization code. For more details, please consult the styled-components migration guide.
@sanity/ui
Studio projects that use @sanity/ui for customizations and have it as a dependency in package.json need to upgrade to @sanity/ui@2:
# npm
npm install "@sanity/ui@^2"
# pnpm
pnpm install "@sanity/ui@^2"
# yarn
yarn add "@sanity/ui@^2"✨ Highlights
Tasks (Beta)
Sanity Studio now ships with Tasks. You can now:
- Target tasks for specific documents
- Assigned tasks to Studio members
- Comment on tasks, and use @-mentions
- Resolve tasks
Tasks ships enabled by default. If you want to disable tasks in your Studio, you can do so with this configuration:
export default defineConfig({
// ... rest of config
unstable_tasks: { enabled: false },
})Learn more about Tasks in the documentation:
Other features
- Resolves "Masquerading as CJS and ESM" type errors
- Adds ESM with .mjs exports for full support of Node.js' native ESM mode while still offering support for
.esm.jsexports for legacy bundlers - Adds missing
sideEffects: falseconditions to package.json files, improving tree-shaking and reducing bundle sizes for embedded Sanity Studio projects - Simplifies the Shopify schema starter template
🐛 Notable bugfixes
- Fixes a bug where wrongly formatted configuration would be inserted into tsconfig.json when
sanity initwas run inside of a Next.js project - Fixes an issue where importing
.scssor.sassfiles from the studio configuration or a descendant file would cause certain CLI commands to crash - Improves error message when extracted schema (from
sanity schema extract) could not be found when runningsanity typegen generate - Fixes an issue where the CLI might suggest deprecated Sanity v2 commands if you mistype a command name
- Makes the
currentfield on slugs required when used with the--enforce-required-fieldsflag insanity typegencontexts - Fixes a bug where running
npx sanity initin a Next.js project would break thetsconfig.jsonconfiguration
Related documentation
- Previous page
Configuring Tasks
Learn how to enable, configure, and use the Tasks feature in Sanity Studio for effective team collaboration on content creation.
Tasks for Sanity Studio
Learn to use Sanity Studio's tasks for collaboration, assign tasks, comment on tasks, and resolve tasks for efficient content creation.