JSS 18.0.0
JSS 18.0.0 Release Notes
JSS 18.0.0 is compatible with Sitecore 10.1. To ensure that your JSS application is compatible with your licensed Sitecore version, consult the compatibility table.
Breaking changes
There are migration instructions from JSS 16-based applications.
[sitecore-jss-react-native]
Removed dataConversation
, since editable
property not used in disconnected
mode. (#624)
[samples/angular]
Upgrade angular
to v11. (#635)
[samples/nextjs]
Change how a custom query can be used in GraphQLSitemapService. Previous way: pass a formatSearchQuery
function to fetchExportSitemap
or fetchSSGSitemap
. New way: extend the GraphQLSitemapService
class and override the fetchSitemap
method. (#638)
- As part of adding support for Experience Edge, Sitecore XM's graphQL API was updated to mirror Experience Edge's schema. The following updates in JSS
- [sitecore-jss-nextjs] Update sitemap query to comply with changes to the GraphQL API
- [samples/nextjs] Update generated TypeScript models for GraphQL components to comply with changes to the GraphQL API
With the added support of GraphQL endpoints, the API surface area of JSS has essentially doubled. As a result, some reorganizing was done in the base packages, which causes breaking changes for how some services, classes and functions are exported. If you have imports from JSS base packages in your project, they may need to be updated per the migration guide table.
Introducing support for Sitecore Experience Edge 🎉🎉🎉
Experience Edge is Sitecore's new delivery platform, which serves Sitecore data to your JSS app at blazing fast speeds. You should learn about the Experience Edge GraphQL schema.
[samples/nextjs]
- Update Sitecore configuration patches with relevant Edge-specific definitions.
- #695 Add settings for language fallback with Experience Edge.
- #696 Add
IncludeServerUrlInMediaUrls
"default" configuration to avoid exposing the Sitecore server publicly when using Experience Edge.
[react]
[angular]
and [vue]
samples can also utilize Sitecore Experience Edge. A new [node-headless-ssr-experience-edge]
sample has been adeded to demonstrate how to configure this. Read docs.
New Documentation
We have added & polished documentation for our main package and our Next.js SDK, as follows:
For sitecore-jss
, see:
For sitecore-jss-nextjs
, see:
New & Improved Service Classes
Read our updated docs:
[sitecore-jss]
GraphQLDictionaryService
is a new service for fetching dictionary data using GraphQL Read docs.GraphQLLayoutService
is a new service for fetching layout data using GraphQL Read docs.- #716 Allow overriding which "named" Layout Service configuration (from Sitecore config) is used by JSS.
- Allow overriding 3rd party dependencies in JSS services that depend on 3rd party functionality (GraphQLLayoutService, RestDictionaryService, GraphQLDictionaryService, GraphQLSitemapService).
[sitecore-jss-nextjs]
- Make
GraphQLSitemapService
easier to customize by allowing overrides of default options. (#682, #705)
Other Notable Improvements
[sitecore-jss]
Enable debug logging for JSS services using the debug module. Read docs.- New options in
jss create
command. Read docs.
[samples/react-native]
(#624)
- Add shared
<Layout/>
component in order to have shared navigation panel. - Make Sitecore logo in header is touchable and will navigate to Home page when click on it.
- Remove usage of
dataConversation
.
Bug Fixes
[sitecore-jss]
- Fix issue with dictionary phrases not being cached when caching is enabled (#639)
mediaApi.updateImageUrl
now only switches to JSS media handler prefix ifimageParams
are sent. Otherwise, the original media URL is returned. Fixes hash errors ("ERROR MediaRequestProtection: An invalid/missing hash value was encountered.") from appearing in Sitecore logs (#681)
[samples/nextjs]
[samples/react]
[samples/vue]
- Fix issue where using the
jss scaffold
generated files with inconsistent line endings (#684) - Update Text components to accept number values (#713)
[sitecore-jss-nextjs]
- Fix issue with
getStaticPaths
only pre-rendering the first 10 pages (638) - Fix issue where links inside RichText controls caused pages to load twice (659)
[sitecore-jss-react]
Render value instead of array of single value when value doesn't contain line breaks (714)
[sitecore-jss-react-native]
(#624)
- [Image] Pass Object
style
type forSvgUrI
instead of Array. - [Date] Always render
<HtmlView/>
ifeditable
is provided.
[samples/react-native]
(#624)
- Fix Styleguide-FieldUsage-Date not working in connected mode.
- Styleguide-FieldUsage-Image: Fix incorrect
src
prop type in disconnected mode. Fix 'Plain image' example in connected mode. Remove unsupported 'Srcset image' adaptive example. - Styleguide-ComponentParams: fix incorrect
params
prop types in connected mode. - Fix connected tunnel mode for secure (https) Sitecore endpoints.
[samples/node-headless-ssr-proxy]
Fix how header value for 'accept-encoding' is set. This resolves an issue in the Angular sample where the /graphql page caused a console error (#680)
[sitecore-jss-forms]
Fix issue where pre-filled (default) form data isn't removed for multi-valued fields when user de-selects values (#677)