Releases: Sitecore/jss
Releases · Sitecore/jss
Sitecore JSS 11.0.1
There are no changes to the JSS server for this release, only the npm packages. There are no breaking changes in this release and there are no migration instructions.
Sitecore JSS 11.1 for Sitecore 9.1.1
Upgrading
No special upgrade steps needed, it's safe to promote to newer version.
New Features & Improvements
- JSS now integrates with SXA. When SXA is installed, it's possible to create JSS tenants and sites that make it easier to scale JSS apps. Additional benefits:
- SXA site management for JSS apps.
- Cross-site presentation sharing using page designs and partial designs.
- Cross-site content sharing.
- Cross-site reusability of renderings.
- Cross-site linking.
- More info available on the SXA documentation site
- Angular projects can now take advantage of the new
*scRouterLink
component which creates a link that uses Angular routing from a Sitecore link field, instead of refreshing the page. - Angular placeholders now expose a
loaded
event that can be hooked for apps that need to know when a placeholder is done loading, i.e.<sc-placeholder [...] (loaded)="onPlaceholderLoaded($event)"></sc-placeholder>
- PR #214 Pass through component props types when using
withSitecoreContext
- PR #213 Add angular directive for general links that can be both internal and external.
This allows Content Editors to not be limited to one type of predefined linkfield while maintaining angular routerlinks - The documentation site now has an initial draft of a new "guided learning" area for the JSS Developer Trial: https://jss.sitecore.com/connected-demo
- PR #105 Move all sample apps to use minor version dependency ranges
Reliability improvement; existing apps need no changes - PR #95 Modify SSR handling in React and Vue
Updated sample apps serialize SSR state 3x faster and are more compatible with CSP. - PR #94 Make disconnected appRoot mean appRoot not scriptsRoot
Clarity improvement. Backwards compatible. - PR #92 Alter typing to enable strong typed placeholder names
Nonbreaking TypeScript typing change - PR #89 Add angular change detection to placeholder component
Change detection now passes through the placeholder component properly - PR #88 Pass query string params from configuration to LayoutService
Allows headless SSR proxy to pass custom query string params to Layout Service - PR #83 Register multiple component in JssModule.forChild method
Bundle together multiple Angular components when using lazy loading
Bug Fixes
- PR #211 Fix the case when working on a mac or linux with git config for autocrlf all the line endings in the repo are set to lf which fails eslint
- Bug #194 Implement
acceptCertificate
parameter injss deploy component/template
- Bug #174 Resolve inherited templates/fields when building media output for the manifest
- PR #170 Changed proptypes of missingComponentComponent and errorComponent to PropTypes.func in
packages/sitecore-jss-react/src/components/PlaceholderCommon.tsx to prevent console warning "Warning: Failed prop type: Invalid propmissingComponentComponent
of typefunction
supplied toPlaceholderComponent
, expectedobject
." - PR #151 Re-add
!noDebug
tojss-proxy
console logging to allow disabling of logging. - Various fixes to docs (Thank you, community!!)
Sitecore JSS 11.0.0
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' templates now reside in
- 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 onaxios
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
andafter
cursor pagination parameters. - GraphQL API can filter out non-local template fields on the
Item
'sfields
property via the newownFields
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 usingnode
on the systemPATH
. 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 toconfig.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
(anddeploy 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
andcreateViewBag
hooks insitecore-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 tocustomizeRoute
andcustomizeContext
. 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.
- Existing
- 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 theSitecore.Services.GraphQL.Hosting.Mvc.GraphQLController
as well as each GraphQL endpoint usingGraphQL:/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 thecore
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 notext
(ordescription
in Sitecore) was set for an external link, the link would render blank. In JSS 11.0, the link will use thehref
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 withinconfig.js
instead of bothindex.js
andconfig.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 ...
Technical Preview 4
release/tech-preview-4 created support.md file
Tech Preview Update 3
See release notes here.
Tech Preview Update 2
See release notes here.
Tech Preview Update 1
See release notes here.
Tech Preview
Merge pull request #11 from Sitecore/helper-basic-app Use the RichText helper for the basic app