Skip to content

Releases: Sitecore/jss

Sitecore JSS 11.0.0

28 Nov 17:20
Compare
Choose a tag to compare

Sitecore JSS 11.0 for Sitecore 9.0 and 9.1

JSS 11.0.0 is the first official release of Sitecore JSS

Upgrading

There are migration instructions from JSS 9-based (Technical Preview 4) applications.

New Features & Improvements

  • JSS Import is now Helix-compatible. This means several things:
    • JSS' templates now reside in /sitecore/templates/Foundation instead of /sitecore/templates
    • Imported apps will by default import into a Project-layer module (i.e. /sitecore/templates/Project/MyAppName)
    • See the upgrade guide if updating from a technical preview; it is possible to retain the TP-style import paths.
  • JSS now ships with a tracking API that enables JSS apps to push Sitecore analytics events (events, goals, outcomes, campaigns, page views) back to xConnect from the client-side. The JSS React styleguide has an interactive example of using the tracking API.
  • JSS apps support Sitecore's robot detection algorithms, enabling collection of analytics traffic without disabling robot detection. Apps must use a VisitorIdentification component placed on their main route shell to enable this support.
  • The sitecore-jss package no longer depends on axios for making Layout Service requests. This gives consumers flexibility to provide their own HTTP implementations. The migration instructions detail how to handle this for upgraders.
  • JSS Angular now ships with built-in component lazy loading support.
  • GraphQL API now supports paginating item children using the first and after cursor pagination parameters.
  • GraphQL API can filter out non-local template fields on the Item's fields property via the new ownFields parameter.
  • GraphQL now supports HTTP GET for Automated Persisted Queries. This enables some CDN cacheability scenarios.
  • JSS apps' GraphQL endpoints are configured to automatically lock down schema introspection on Content Delivery servers.
  • JavaScript renderings now support pooled Node SSR. See the JS rendering sample /sitecore/config for details.
  • Rendering Parameters Templates will now be created during import when a disconnected manifest defines rendering parameters on a component. This enables editors to have explicit fields to edit each parameter.
  • Layout Service will now return the Sitecore Context JSON data even if a route item is not resolved. This means that apps' 404 routes will have access to LS context data, such as the site name and language, as well as any context extensions that may have been added - such as global navigation data. LS will still return HTTP 404 in these cases; just now with extra context data. Sample apps' 404 routes demonstrate using this pattern. Also applies to disconnected mode.
  • It is now possible to specify icons for routes and content items in disconnected data, for example icon: Network/16x16/home.png at the root of the YAML.
  • Installing the JSS Server Sitecore package now automatically adds the JSS media handler to the web.config file, so this installation step is no longer required.
  • JSS react sample will treat .jsx files as components when generating the component factory, in addition to .js
  • Layout Service can now accept item IDs or short IDs in addition to paths when fetching layout data.
  • The JSS CLI now supports a --proxy option when deploying items or creating new apps. This enables JSS to deploy items in environments that use HTTP proxies. It is also possible to configure the proxy using envionment variables.
  • The path to the Node executable to use in integrated mode can now be set on the View Engine instance config (see Sitecore.JavaScriptServices.ViewEngine.Node.config, NodePath), instead of always using node on the system PATH. This enables different node versions per site.
  • JSS services (LS, GraphQL, tracker, dictionary) can now accept JWT tokens returned by the SSC auth service, instead of only cookie-based authentication. Both bearer tokens and the token header are allowed to pass the JWT payload.
  • Sitecore 9.1 XM-only mode is supported. XM-only installs must use the XM server components package to avoid installing any XP dependencies. Behavioural personalization and tracker APIs are not available in XM mode.
  • The node-headless-ssr-proxy example can now accept common proxy configuration variables from environment variables, in addition to config.js settings. This makes it easier to share proxy code in containers and PaaS hosts where environment variables are commonly used. See the README for details.
  • jss setup can now help setup connections to remote Sitecore installations, not just local Sitecores. In addition, setup will read any existing configuration and use those values as defaults if it is run on an already setup site.
  • jss deploy items (and deploy app) can now accept a --acceptCertificate parameter that whitelists a SSL certificate by thumbprint (certificate pinning). Because Node does not respect Windows trusted root certificates, this enables deploying items to local Sitecore instances that use self-signed certificates without disabling SSL validation entirely.
  • The onError and createViewBag hooks in sitecore-jss-proxy can now return promises, allowing for async processing during headless SSR
  • The disconnected mode layout service now supports a customizeRendering hook in addition to customizeRoute and customizeContext. This hook function allows you to customize the JSON returned for specific components in disconnected mode - enabling advanced data mocking scenarios and the ability to replicate layout service customizations while disconnected.

Important Changes

  • JSS no longer supports using yarn with its sample applications. Yarn will also no longer be used by the JSS CLI if it is installed.
    • Existing yarn users: ok to keep using it. We no longer support it to enable shipping a consistent set of dependency versions with the starter apps, not because it cannot work.
  • GraphQL endpoints must now be individually whitelisted using SSC API keys' Allowed Controllers field. * still whitelists everything, but when specifying allowed controllers you must whitelist the Sitecore.Services.GraphQL.Hosting.Mvc.GraphQLController as well as each GraphQL endpoint using GraphQL:/url/to/endpoint syntax instead of a C# type name. For example: Other.Controller, Other.Assembly;Sitecore.Services.GraphQL.Hosting.Mvc.GraphQLController;GraphQL:/api/jssreactweb
  • The location of SSC API key items has changed in Sitecore 9.1. They now reside in the master database, not the core database. You can transfer existing API keys by using the Transfer option in content editor.
  • Insert options are no longer magically added to route templates during import. Control over route insert options is now given to the manifest author. The migration instructions detail how to handle this.
  • The behaviour of Link-rendering JSS helper components has been changed to match with normal Sitecore link rendering. Previously if no text (or description in Sitecore) was set for an external link, the link would render blank. In JSS 11.0, the link will use the href value like the Sitecore MVC link renderer will (for all supported languages).
  • The configuration scheme of the node-headless-ssr-proxy example has been refactored, and all configuration is now contained within config.js instead of both index.js and config.js. Making this refactor to existing usages of this example is optional.
  • Behavior of the proxy ignore list for sitecore-jss-proxy has been modified. It is no longer required to URL-encode (i.e. %20) ignored paths that contain characters that need encoding in URL strings. This does not affect the default configuration, but would affect custom configurations such as /sitecore%20modules that would now need only be /sitecore modules.

Bug Fixes

  • Importing a JSS application that has no version in the Sitecore default language will work correctly
  • Enabling Node debugging on an integrated mode JSS app with a Node pool size greater than 1 will now reduce the pool size to 1 instead of causing port conflicts
  • JSS apps will support Content Testing via workflow correctly when using the JSS Default Workflow
  • Layout Service will no longer return HTTP 401 in some cases when it should return HTTP 404
  • jss setup --nonInteractive requires fewer arguments to succeed, for CI scenarios that do not need the complete set of JSS CLI capabilities.
  • JSS rendering insert options are now managed by a global insert option rule, which ensures the option is always available for easier Sitecore-first development.
  • Missing insertOptions property has been added to the template definition TypeScript typings.
  • Imported content items will no longer have insert options explicitly set on each item, and will use standard values instead.
  • It is now possible to use Experience Editor on route template standard values by explicitly specifying the JSS app name to render with the sc_jssapp query parameter.
  • GraphQL will return ...
Read more

Technical Preview 4

26 Nov 17:20
0292a05
Compare
Choose a tag to compare
Technical Preview 4 Pre-release
Pre-release
release/tech-preview-4

created support.md file

Tech Preview Update 3

13 Apr 21:52
Compare
Choose a tag to compare
Tech Preview Update 3 Pre-release
Pre-release

See release notes here.

Tech Preview Update 2

02 Mar 16:21
dbc5973
Compare
Choose a tag to compare
Tech Preview Update 2 Pre-release
Pre-release

See release notes here.

Tech Preview Update 1

16 Jan 21:42
f6996ca
Compare
Choose a tag to compare
Tech Preview Update 1 Pre-release
Pre-release

See release notes here.

Tech Preview

12 Jan 02:55
b5c6d7d
Compare
Choose a tag to compare
Tech Preview Pre-release
Pre-release
Merge pull request #11 from Sitecore/helper-basic-app

Use the RichText helper for the basic app