v3.39.0
Install or upgrade Sanity Studio
To initiate a new Sanity Studio project or upgrade an existing one, please refer to our comprehensive guide on Installing and Upgrading Sanity Studio.
If you are updating from a version earlier than 3.37.0, you should also check out this article to ensure your dependencies are up to date.
✨ Highlights
Scheduled Publishing is now part of the core Sanity Studio package
The Scheduled Publishing feature, which up until this release has been available as a plugin for Sanity Studio, has been moved into the core sanity
package and enabled by default. Scheduled Publishing is available on all paid plans and trials.
If you wish to opt out of Scheduled Publishing, you can do so in your Studio configuration:
// sanity.config.ts
export default defineConfig({
// ....
scheduledPublishing: {
enabled: false,
}
)
Go to docs and feature announcement blog post to learn more.
Migrating from the Scheduled Publishing plugin to the new built-in configuration:
If you are already using Scheduled Publishing plugin, the first step is to get rid of it and update your studio to the latest release. If you already updated your studio you might have gotten an alert about this.
Run the following command in your project root to uninstall the plugin:
npm uninstall @sanity/scheduled-publishing
Next, remove the plugin from your studio configuration. Typically you'll find this in ./sanity.config.ts|js
. Find the scheduledPublishing
plugin and do the following changes in your configuration file:
Before:
// sanity.config.ts
import {scheduledPublishing} from '@sanity/scheduled-publishing'
export default defineConfig({
//....
plugins: [
scheduledPublishing({
// e.g. 12/25/2024 6:30 AM
inputDateTimeFormat: 'MM/dd/yyyy h:mm a',
})
]
})
After:
- import {scheduledPublishing} from '@sanity/scheduled-publishing'
export default defineConfig({
// ...
plugins: [
- scheduledPublishing({
- inputDateTimeFormat: 'MM/dd/yyyy h:mm a',
- })
],
+ scheduledPublishing: {
+ enabled: true,
+ inputDateTimeFormat: 'MM/dd/yyyy h:mm a',
+ }
})
🐛 Notable bugfixes
- Fixes a bug that caused negations to be transformed to wildcard search prefixes if they appeared at the end of a search query.
- Improves error handling when attempting to run a migration against invalid project configurations.
- Fixes an issue where a document's validation panel would show a system error message when a field with a validation error was deleted.
- Fixes a bug that caused
_type
to be incorrectly parsed from statements in thefilter
parameter of document lists. - Fixes an issue that sometimes caused the Studio to load indefinitely when visited from a task notification email.
Author | Message | Commit |
---|---|---|
cngonzalez | fix: refactor checkoutPair to allow mutations for liveEdit documents (#6393) | f6ae402 |
Ash | fix(core): prevent transformation of negation tokens into wildcard prefix tokens (#6396) | f28ef7e |
Bjørge Næss | fix(migrate): forward possible API error response to error thrown for non 2xx (#6387) | 9316475 |
Rico Kahler | refactor(tasks, comments): core plugins (#6333) | 3c917d2 |
renovate[bot] | chore(deps): update dependency @sanity/tsdoc to v1.0.34 (#6402) | 5fc2775 |
renovate[bot] | chore(lockfile): update dependency @sanity/react-loader to v1.9.12 (#6405) | d3e924e |
renovate[bot] | chore(lockfile): update dependency @sanity/preview-url-secret to v1.6.9 (#6404) | 4c6f1e2 |
renovate[bot] | chore(deps): update dependency @sanity/visual-editing to v1.8.12 (#6403) | 6802d29 |
renovate[bot] | fix(deps): update dependency @sanity/client to ^6.15.17 (#6406) | 82e505f |
renovate[bot] | fix(deps): update dependency @sanity/presentation to v1.12.5 (#6407) | 98bb233 |
renovate[bot] | fix(deps): update dependency @sanity/ui to ^2.1.4 (#6408) | 59cad0b |
renovate[bot] | fix(deps): update dependency get-it to ^8.4.26 (#6409) | 159f542 |
renovate[bot] | chore(deps): update dependency @sanity/pkg-utils to v6.7.1 (#6410) | e5252e1 |
Pedro Bonamin | fix(codeowners): update codeowners for tasks and comments (#6414) | d286050 |
Rico Kahler | test: add sanity-plugin-hotspot-array (#6401) | d591b18 |
Binoy Patel | fix: TS import paths importing index.ts twice incorrectly (#6415) | 6066e92 |
Pedro Bonamin | fix(tasks): update tasks upsell provider client version (#6413) | 61a887c |
renovate[bot] | chore(deps): update dependency @sanity/pkg-utils to v6.8.0 (#6421) | 72e34f8 |
renovate[bot] | chore(lockfile): update dependency zod to v3.22.5 (#6420) | 5c7352c |
Cody Olsen | refactor: use @sanity/prettier-config (#6423) |
e75e390 |
renovate[bot] | chore(deps): update dependency recast to ^0.23.6 (#6422) | 2b30eb6 |
Bjørge Næss | chore: turn server actions on by default in test-studio (#6425) | dd61ead |
RitaDias | fix(@sanity): issue where hidden unicode characters were bloating document in PTE (#6424) | ce46077 |
Per-Kristian Nordnes | Revert "fix(@sanity): issue where hidden unicode characters were bloating document in PTE (#6424)" | cac48bb |
Per-Kristian Nordnes | fix(portable-text-editor): support collapsed range decorations (#6428) | 2d02d62 |
renovate[bot] | fix(deps): update dependency get-it to ^8.4.27 (#6434) | 5fb7ddf |
renovate[bot] | chore(deps): update dependency @sanity/visual-editing to v1.8.13 (#6432) | f4e482d |
renovate[bot] | fix(deps): update dependency @sanity/client to ^6.15.19 (#6433) | 4e32715 |
renovate[bot] | chore(deps): update dependency @sanity/pkg-utils to v6.8.1 (#6431) | 26b8c76 |
renovate[bot] | chore(lockfile): update dependency @sanity/react-loader to v1.9.13 (#6436) | 846cf68 |
renovate[bot] | chore(lockfile): update dependency @sanity/preview-url-secret to v1.6.10 (#6435) | 7b20162 |
renovate[bot] | fix(deps): update dependency @sanity/presentation to v1.12.6 (#6437) | 3eb44db |
renovate[bot] | chore(deps): update dependency @sanity/visual-editing to v1.8.14 (#6438) | 177b4b5 |
renovate[bot] | chore(deps): update dependency @sanity/tsdoc to v1.0.36 (#6444) | 8f05301 |
renovate[bot] | chore(deps): update peter-evans/create-pull-request digest to 9153d83 (#6443) | 035c59d |
Tommy Petty | fix(structure): update to not crash validation panel if unable to get path title (#6417) | d5f8fb6 |
renovate[bot] | chore(lockfile): update dependency @sanity/eventsource to v5.0.2 (#6445) | b8f3666 |
Herman Wikner | fix(comments): conditional rendering of CommentsProvider (#6412) |
379396e |
Per-Kristian Nordnes | perf(portable-text-editor): improve range deocration render perf (#6441) | c9b1ebb |
Rico Kahler | fix(structure): resolve static types in document list filters (#6439) | 048ce0b |
Rico Kahler | fix(core): fix autocomplete for defineType in VSCode (#6447) |
3ff78f6 |
Ash | test(e2e): fix unawaited assertion (#6442) | 37b6291 |
renovate[bot] | fix(deps): update dependency @sanity/presentation to v1.12.7 (#6448) | f9634f4 |
Pedro Bonamin | fix(tasks): update taskURL for notification target (#6395) | 7c8cebf |
Sindre Gulseth | fix(typegen): fixes a case where we track ratio as NaN (#6309) | b0f405e |
renovate[bot] | fix(deps): update dependency @sanity/client to ^6.15.20 (#6461) | d7f1067 |
Cody Olsen | chore: remove _internalBrowser from typesVersions (#6451) |
c1f1fdf |
Rico Kahler | chore(deps): bump @sanity/export (#6462) | 348a3a9 |
Pedro Bonamin | feat(scheduled-publishing): move scheduled publishing into core. (#6416) | a6fc5af |