Skip to content

JSS 18.0.0

Compare
Choose a tag to compare
@anastasiya29 anastasiya29 released this 16 Aug 19:14
· 3376 commits to dev since this release

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 if imageParams 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 getStaticPathsonly 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 for SvgUrI instead of Array.
  • [Date] Always render <HtmlView/> if editable 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)