⚠️ JSS 23 supports Sitecore XP 10.5 only. Sitecore AI is not supported - use Sitecore Content SDK for that scenario.
🐛 Bug Fixes
[sitecore-jss-react]Suppress hydration mismatch warnings in Experience Editor by addingsuppressHydrationWarningto SDK chrome paths (ErrorBoundary, placeholders, field components)(#2218)[create-sitecore-jss]Fix Vue template build failure caused by@vue/cli-plugin-eslintbeing incompatible with ESLint 9; linting duringvue-cli-service buildis now disabled, usenpm run lintinstead (#2208)[create-sitecore-jss]Passmetadatato navigation link fields to prevent 404 errors when hovering links in Pages (#2206)[sitecore-jss-react]RichText rebuildsdangerouslySetInnerHTMLon every render, causing full DOM replacement and dropped internal-link listeners (#2204)
🛠 Breaking Changes
- Removed Sitecore AI related functionality across all JSS packages
- Going forward, Sitecore AI is supported exclusively via Content SDK; Sitecore XP support is unaffected.
- This consolidates the removal of Personalize/CDP tracking (#2209), Design Library preview & theming (#2212), BYOC/FEAAS (#2211), Sitecore AI Forms (#2210 - Sitecore Forms for Sitecore XP, via the separate
sitecore-jss-forms/sitecore-jss-react-formspackages, is unaffected), Pages/Metadata Edit Mode (#2213 - classic Sitecore Experience Editor "chromes" support is fully retained), and thenextjs-xmcloud/angular-xmcloud/node-xmcloud-proxytemplates & Sitecore Edge Platform (#2214). - Changes by package:
sitecore-jss- Removed the entire
/personalizesubpath (GraphQLPersonalizeService,personalizeLayout/personalizePlaceholder/personalizeComponent,getPersonalizedRewrite,getPersonalizedRewriteData,getGroomedVariantIds,normalizePersonalizedRewrite,CdpHelper,DEFAULT_VARIANT) and thepersonalizedebug channel (DEBUG=sitecore-jss:personalize) - Removed
includePersonalizedRoutesfromGraphQLSitemapService/MultisiteGraphQLSitemapService(SSG personalized route generation) - Removed
getDesignLibraryStylesheetLinks,RestComponentLayoutService/ComponentLayoutRequestParams,DesignLibraryMode,RenderComponentQueryParams,ComponentUpdateEventArgs(fromediting/utils), and the entireediting/design-librarymodule (DesignLibraryStatus,addComponentUpdateHandler,getDesignLibraryStatusEvent,getDesignLibraryScriptLink,isDesignLibraryMode) - Removed
RenderingType,EDITING_COMPONENT_PLACEHOLDER,EDITING_COMPONENT_IDfrom the layout models - Removed the entire
formmodule,getEdgeProxyFormsUrl(fromgraphql), and theformdebug channel (DEBUG=sitecore-jss:form) - Removed
GraphQLEditingService,RenderMetadataQueryParams,LayoutKind,MetadataKind,HorizonEditor,getJssPagesClientData,PAGES_EDITING_MARKER, theMetadataapp-metadata interface,FieldMetadatainterface /Field.metadata, and theEditModeenum /LayoutServiceContext.editMode/clientScripts/clientDatafields - Removed
getContentStylesheetLink/getContentStylesheetUrl(loaded CKEditor content styles for Pages' rich text editor, unused by classic Experience Editor) andEDITING_ALLOWED_ORIGINS(hardcodedpages.sitecorecloud.io/app.sitecorecloud.ioCORS allow-list -enforceCors/JSS_ALLOWED_ORIGINSremain unchanged as general-purpose CORS infrastructure) - Removed
getEdgeProxyContentUrland theSITECORE_EDGE_URL_DEFAULTconstant fromgraphql - Removed
useSiteQueryfromGraphQLDictionaryServiceConfigandGraphQLDictionaryService.fetchWithSiteQuery- dictionary data is now always fetched via the search query - Removed the
process.env.SITECORE(Sitecore AI hosting detection) special-casing fromGraphQLSiteInfoService.fetchSiteInfo(no longer skips the site-info fetch)
- Removed the entire
sitecore-jss-react- Lost the re-export of the removed Personalize APIs
- Removed the
DesignLibrarycomponent - Removed
FEaaSComponent,FEaaSWrapper,fetchFEaaSComponentServerProps,BYOCComponent,BYOCWrapper,fetchBYOCComponentServerProps(and their type exports);Placeholderno longer supports rendering of FEAAS/BYOC components - Removed the
Formcomponent - Removed
PlaceholderMetadata,FieldMetadata,withFieldMetadata,withEmptyFieldEditingComponent,DefaultEmptyFieldEditingComponentText/DefaultEmptyFieldEditingComponentImage, andEditingScripts-Text/Date/Link/RichText/Image/NextImageno longer wrap output in metadata chrome markers - Lost the re-export of
getContentStylesheetLink/getContentStylesheetUrl - Removed
SitecoreContext'sapi.edge(contextId/edgeUrl) prop (and its re-export viawithSitecoreContext/useSitecoreContext'sapi)
sitecore-jss-nextjs- Removed
PersonalizeMiddleware/PersonalizeMiddlewareConfig - Removed
variantIdsfromEditingMetadataPreviewDataand thesc_varianthandling in the editing render middleware - Pages/Sitecore Editor no longer previews a specific personalization variant while authoring - Lost the re-export of the
DesignLibrarycomponent - Removed
FEaaSWrapper,BYOCWrapper, andFEAASRenderMiddleware/FEAASRenderMiddlewareConfig(and their re-exports fromsitecore-jss-react) - Lost the re-export of the
Formcomponent - Removed
MetadataHandler,EditingConfigMiddleware/EditingConfigMiddlewareConfig,EditingMetadataPreviewData,isEditingMetadataPreviewData;EditingRenderMiddlewareno longer handles GET requests (POST/chromes only); lost the re-export of the metadata-relatedsitecore-jss-reactexports - Lost the re-export of
getContentStylesheetLink/getContentStylesheetUrl - Removed the
process.env.SITECOREspecial-casing fromEditingRenderMiddleware's defaultresolveServerUrl(no longer forceshttpsbased on it)
- Removed
sitecore-jss-angular- Lost the re-export of Personalize's
DEFAULT_VARIANTand related APIs - Removed
FormComponent/FormRendering - Removed
FieldMetadataMarkerComponent,EditingScriptsComponent,DefaultEmptyTextFieldEditingPlaceholderComponent/DefaultEmptyImageFieldEditingPlaceholderComponent; removedBaseFieldDirective.renderEmpty()/renderMetadata()andPlaceholderComponent's metadata code-block rendering -TextDirective/DateDirective/LinkDirective/RichTextDirective/ImageDirectiveno longer render metadata chrome markers - Lost the re-export of
getContentStylesheetLink/getContentStylesheetUrl - Removed
EDGE_CONFIG/EdgeConfigToken
- Lost the re-export of Personalize's
sitecore-jss-proxy- Removed
PersonalizeHelper/PersonalizeConfig - Removed the
sc_varianthandling in the editing render middleware - Removed the entire
/editingmiddleware (editingRouter,editingConfigMiddleware,editingRenderMiddleware) - this subsystem implemented only the Pages metadata protocol with no chromes counterpart
- Removed
sitecore-jss-dev-tools- Removed
getMetadata/Metadata(app-metadata generation)
- Removed
create-sitecore-jss- Removed the
nextjs-xmcloud,angular-xmcloud, andnode-xmcloud-proxytemplates and initializers
- Removed the
[sitecore-jss-react]Internal props such asapi,componentFactory,modifyComponentProps,sitecoreContext, andupdateSitecoreContextare no longer passed to components viaPlaceholder(#2207)- Still passed:
fields,params,rendering(+ props frommodifyComponentProps). - New prop:
passThroughComponentProps- use this to pass additional props to rendered components explicitly.
- Still passed:
[sitecore-jss-nextjs]RemovedVercelEditingDataCacheand the@vercel/kvdependency - Vercel KV is deprecated and existing Vercel KV stores are being migrated to Upstash Redis (see Vercel's KV deprecation notice) (#2216)- Replaced by:
RedisEditingDataCache, built directly on@upstash/redis, with the sameEditingDataCachebehavior (get/set/TTL). - For new projects, provision a Redis integration from the Vercel Marketplace (e.g. Upstash) and pass its REST URL/token to
RedisEditingDataCache.
- Replaced by: