Skip to content

Latest commit

 

History

History
1492 lines (1093 loc) · 129 KB

CHANGELOG.md

File metadata and controls

1492 lines (1093 loc) · 129 KB

Changelog

All notable changes to this project will be documented in this file. The format (starting with 18.0.0) is based on Keep a Changelog.

This project does NOT strictly adhere to Semantic Versioning. Major versions of this project may include breaking changes in core packages but also denote compatibility with Sitecore Platform versions. Refer to the "Headless Services" section in the Sitecore modules compatibility table (Sitecore XP 7.5 - 9.3, Sitecore XP 10.0 and later) or the Headless Rendering download page for details. Minor versions may also include breaking changes in framework packages.

Our versioning strategy is as follows:

  • Patch: no breaking changes (e.g. bug fixes, minor improvements)
  • Minor: may include breaking changes in framework packages (e.g. framework upgrades, new features, improvements)
  • Major: may include breaking changes in core packages (e.g. major architectural changes, major features)

Unreleased

🐛 Bug Fixes

  • [templates/nextjs] [templates/react] [templates/vue] [templates/angular] Changed formatting in temp/config to prevent parse issues in Unix systems (#1787 #1791)

🎉 New Features & Improvements

  • [sitecore-jss-react]Introduce ErrorBoundary component. All rendered components are wrapped with it and it will catch client or server side errors from any of its children, display appropriate message and prevent the rest of the application from failing. It accepts and can display custom error component and loading message if it is passed as a prop to parent Placeholder. (#1786 #1790 #1793 #1794 #1799)

  • [sitecore-jss-nextjs] Enforce CORS policy that matches Sitecore Pages domains for editing middleware API endpoints (#1798#1801)

🛠 Breaking Change

  • Editing Integration Support: (#1776)(#1792)(#1773)(#1797)(#1800)
  • [sitecore-jss-react] Introduces PlaceholderMetadata component which supports the hydration of chromes on Pages by rendering the components and placeholders with required metadata.
  • [sitecore-jss] Chromes are hydrated based on the basis of new editMode property derived from LayoutData, which is defined as an enum consisting of metadata and chromes.
  • ComponentConsumerProps is removed. You might need to reuse WithSitecoreContextProps type.
  • [sitecore-jss-react] [sitecore-jss-nextjs] Introduce FieldMetadata component and functionality to render it when metadata field property is provided in the field's layout data. In such case the field component is wrapped with metadata markup to enable chromes hydration when editing in pages. Ability to render metadata has been added to the field rendering components for react and nextjs.
  • [sitecore-jss-react] Introduced EditingScripts component to render clientScripts / clientData in editing.

22.0.0

🛠 Breaking Changes

  • [sitecore-jss] Switch to edge site query for XP and gets config sites + sxa sites (ignoring website) (#1772)

    • Previously introduced Boolean useSiteQuery switch for XMCloud users has been removed.
    • Search query usage has been removed.
    • If you have any non-nextjs sites they should filter them out in multisite config plugin
  • [sitecore-jss-nextjs] [templates/nextjs-xmcloud] CloudSDK dependencies are updated to version ^0.3.0 (#1779)

    • Please ensure @sitecore-cloudsdk/events dependency is updated
  • [sitecore-jss-nextjs] Deprecated exports have been removed (#1780):

    • sitecore-jss-nextjs no longer exports isEditorActive, resetEditorChormes, resolveUrl, handleEditorFastRefresh, getPublicUrl functions. Use sitecore-jss-nextjs/utils instead.
    • getFEAASLibraryStylesheetLinks function has been removed in favor of getComponentLibraryStylesheetLinks
  • [sitecore-jss-react] [templates/react] Deprecated media prop is removed from Image component. Use field prop instead (#1780)(#1785).

  • [templates/react] [templates/angular] [templates/vue] [templates/node-headless-ssr-experience-edge] [sitecore-jss-react] [sitecore-jss-nextjs] (#1783):

    • GraphQL-based services can now only be initialized with clientFactory parameter. Previously deprecated option of providing endpoint and apiKey has been removed
    • Removed deprecated defaultProps react component property
  • [templates/nextjs] GraphQL-based services can now only be initialized with clientFactory parameter. Previously deprecated option of providing endpoint and apiKey has been removed (#1780).

  • [templates/nextjs] [templates/react] [templates/vue] [templates/angular] Deprecated JSS_APP_NAME environment variable has been removed (#1780).

🧹 Chores

  • Security vulnerabilities audit (1778)

21.7.1

🐛 Bug Fixes

  • [sitecore-jss-nextjs] [templates/nextjs-xmcloud] Updated @sitecore-cloudsdk/* dependencies to ^0.2.4

21.7.0

🎉 New Features & Improvements

  • [sitecore-jss-angular] Enhance Placeholder component error handling (#1744)
    • Placeholder component supports failed event that is triggered when the component fails to render.
    • Handle error in the Placeholder component more gracefully by using an appropriate error JssCanActivateRedirectError type for redirects handling.
    • JssModule.forChild now accepts component or component map type as a parameter.
    • Fixed missing guard this context when calling canActivate guard
  • [sitecore-jss] [templates/nextjs-xmcloud] Load the content styles for the RichText component (#1670)(#1683) (#1684) (#1693)
  • [templates/react] [sitecore-jss-react] Replace package 'deep-equal' with 'fast-deep-equal'. No functionality change only performance improvement (#1719) (#1665)
  • [templates/nextjs-xmcloud] [sitecore-jss] [sitecore-jss-nextjs] [sitecore-jss-react] Add support for loading appropriate stylesheets whenever a theme is applied to BYOC and SXA components by introducing new function getComponentLibraryStylesheetLinks, which replaces getFEAASLibraryStylesheetLinks (which has been marked as deprecated) (#1722)
  • [templates/nextjs-xmcloud] [sitecore-jss-nextjs] Add protected endpoint which provides configuration information (the sitecore packages used by the app and all registered components) to be used to determine feature compatibility on Pages side. (#1724 #1734)
  • [sitecore-jss-nextjs] [templates/nextjs] [BYOC] Component Builder integration endpoint (#1729)
  • [sitecore-jss] [templates/nextjs-xmcloud] Enable site GraphQL query for mutlisite in XMCloud instead of default search one. Site query should take "Valid for environment" SXA site setting into account when returning site list. (#1739)
    • To enable this on your existing app, modify the \scripts\config\plugins\multisite.ts file and add "useSiteQuery: true" to GraphQLSiteInfoService constructor call
  • [sitecore-jss-nextjs] Set secure, httpOnly, sameSite attributes to the sc_site cookie by default: (#1746)
  • [sitecore-jss] GraphQL Client Retry Improvements:
    • Handle additional string error codes like ECONNRESET, ETIMEDOUT, EPROTO. Can configure more using DefaultRetryStrategy.
    • Retries has now been enabled by default with a default value of 3. It can be disabled by configuring it to 0.
    • [Retry-After] header now falls back to the default delay time when it comes out to be empty. (#1755) (#1759) (#1763)
  • [sitecore-jss-nextjs] [templates/nextjs-xmcloud] Updated @sitecore-cloudsdk/* dependencies to ^0.2.3
  • [templates/nextjs-xmcloud] Updated @sitecore/components to ^1.1.10

🐛 Bug Fixes

  • [templates/nextjs] [templates/nextjs-styleguide] Modify all GraphQLRequestClient import statements so that it gets imported from the /graphql submodule (#1728)
  • [templates/node-headless-ssr-proxy] [node-headless-ssr-proxy] Add sc_site qs parameter to Layout Service requests by default (#1660)
  • [templates/nextjs-sxa] Fix Image component when there is using Banner variant which set property background-image when image is empty. (#1689) (#1692)
  • [templates/nextjs-sxa] Fix feature show Grid column in Experience Editor. (#1704)
  • [sitecore-jss-nextjs] [templates/nextjs-xmcloud] SDK initialization rejections are now correctly handled. Errors should no longer occur after getSDK() promises resolve when they shouldn't (for example, getting Events SDK in development environment) (#1712 #1715 #1716)
  • [sitecore-jss-nextjs] Fix redirects middleware for working with absolute url where is using site language context (#1727) (#1737)
  • [templates/nextjs-sxa] Fix base styles of SXA components. Remove conflicted styles of BasicSite template. (#1757)

🛠 Breaking Changes

  • [sitecore-jss-nextjs] [templates/nextjs] Upgrade to Next 14 (#1720)(#1723)
    • Due to changes in peer dependencies, please ensure your app uses Next version 14

🧹 Chores

  • Upgrade to Node.js 20.x (#1679)(#1681)
  • [nextjs/template] Upgrade graphql-codegen packages to latest (#1711)

21.6.4

🎉 New Features & Improvements

  • [templates/nextjs] Add support for .env.* files during bootstrap process, matching what Next.js supports OOTB for build/runtime. (#1741)
  • [sitecore-jss] Export ClientError. (#1738)
  • [sitecore-jss] Enable the Layout, dictionary and ErrorPages service to use custom retryStrategy. (#1749) (#1751)

🐛 Bug Fixes

  • [templates/nextjs] Exclude ComponentProps functions from the client bundle (#1753)
  • [sitecore-jss] Any unused personalized component variants are deleted before sending layout data to the client, thus are completely hidden from the customer. (#1752)

21.6.3

🐛 Bug Fixes

  • [sitecore-jss-angular] Missing ngModuleRef in lazy loaded components (#1743)
  • [sitecore-jss-react] Fix the pattern of detecting dynamic placeholder when user tried to add a new dynamic placeholder with double digit. (#1745)
  • [sitecore-jss] Retry policy to handle transient network errors. Users can pass retryStrategy to configure custom retry config to the services. They can customize the error codes and the number of retries. It consist of two functions shouldRetry and getDelay. (#1731) (#1733)

21.6.2

🐛 Bug Fixes

  • [templates/nextjs] Whitelist additional hostname for feaas component images to use with Next.js Image Optimization API (#1735)

21.6.1

🐛 Bug Fixes

  • [sitecore-jss-nextjs] Internal link in RichText is broken when nested tags are added (#1718)
  • [sitecore-jss-nextjs] Remove custom loader function i.e. sitecoreLoader to enable NextImage to use built-in image optimization from vercel. Also add default image remotePatterns in next.config.js for whitelisting remote image hostnames (#1726) (#1732)

21.6.0

🎉 New Features & Improvements

  • [templates/react] [templates/angular] [templates/vue] [templates/node-headless-ssr-proxy] [templates/node-headless-ssr-experience-edge] (#1647) (#1672) Switch from using JSS_APP_NAME to SITECORE_SITE_NAME - environment and config variables in React, Vue, Angular templates as well as ssr node proxy apps templates have been renamed.
  • [templates/nextjs] [sitecore-jss-nextjs] [sitecore-jss] (#1640) (#1662)(#1661) (#1672) (#1675) (#1710) Sitecore Edge Platform and Context support:
    • Introducing the clientFactory property. This property can be utilized by GraphQL-based services, the previously used endpoint and apiKey properties are deprecated. The clientFactory serves as the central hub for executing GraphQL requests within the application.
    • New SITECORE_EDGE_CONTEXT_ID environment variable has been added.
    • The JSS_APP_NAME environment variable has been updated and is now referred to as SITECORE_SITE_NAME.
  • [templates/nextjs] Enable client-only BYOC component imports. Client-only components can be imported through src/byoc/index.client.ts. Hybrid (server render with client hydration) components can be imported through src/byoc/index.hybrid.ts. BYOC scaffold logic is also moved from nextjs-sxa addon into base template (#1628#1636)
  • [templates/nextjs] Import SitecoreForm component into sample nextjs app (#1628)
  • [sitecore-jss-nextjs] (Vercel/Sitecore) Deployment Protection Bypass support for editing integration. (#1634)
  • [sitecore-jss] Support for both 'published' and 'staged' revisions of FEAAS stylesheets/themes based on Sitecore Edge Platform and Context (#1644) (#1645) (#1666)
  • [sitecore-jss-nextjs] The GraphQLRequestClient import from @sitecore-jss/sitecore-jss-nextjs is deprecated, use import from @sitecore-jss/sitecore-jss-nextjs/graphql submodule instead (#1650 #1648)
  • [create-sitecore-jss] Introduced nextjs-xmcloud initializer template. This will include all base XM Cloud features, including Personalize, FEaaS, BYOC, Sitecore Edge Platform and Context support. (#1653) (#1657) (#1658)
  • [sitecore-jss-nextjs] [templates/nextjs-xmcloud] Page state (preview, edit, normal) is available through shared context. This allows access to the state for integrations such as CloudSDK and FEAAS. (#1703)

🐛 Bug Fixes

  • [templates/nextjs] [sitecore-jss-nextjs] Fix making a fetch to a nextjs api route in an editing environment, by adding additional variable publicUrl in runtime config (#1656)
  • [templates/nextjs-multisite] Fix site info fetch errors (now skipped) on XM Cloud rendering/editing host builds. (#1649) (#1653)
  • [templates/nextjs-xmcloud] Fix double registration of BYOC components (#1707) (#1709)

🛠 Breaking Changes

  • [create-sitecore-jss] The nextjs-personalize initializer add-on template has been removed and is replaced by the nextjs-xmcloud initializer template. You can use the interactive prompts or the --xmcloud argument to include this template. (#1653)
  • [templates/nextjs] [sitecore-jss-nextjs] CloudSDK Integration (#1652) (#1659):
    • Removed the following properties from PersonalizeMiddleware: getPointOfSale, clientKey, endpoint. You now need to provide sitecoreEdgeContextId as a replacement.
    • PersonalizeMiddleware has transitioned to utilizing the CloudSDK package, replacing the previous dependency on Engage.
    • Introduced Context class, that is used to initialize the application Context and shared Software Development Kits (SDKs). Accessible within the @sitecore-jss/sitecore-jss-nextjs/context submodule.
    • Point of Sale resolution is fully removed, now it's handled by Sitecore Edge Proxy
  • [templates/nextjs] [sitecore-jss-nextjs] The behavior of getPublicUrl() function has been changed - empty string is now considered valid value for PUBLIC_URL environment variable and, if defined, PUBLIC_URL will take precedence over the Vercel/Netlify env variables; the values of these variables should be adjusted as needed; PUBLIC_URL is commented out by default in .env; (#1656);
  • [templates/angular] [sitecore-jss-angular] Update Angular to version 16 (#1690) (#1697):
    • Updated Angular to ~16.2.10
    • Updated Typescript to ~4.9.5
    • @angular-eslint/ng-cli-compat eslint rules are deprecated. Use @angular-eslint/recommended rules instead.
    • outputPath is not needed in angular.json for the build target since we provide it via CLI.
    • Added more properties to server buld angular.json:
      • deleteOutputPath: false,
      • outputHashing: none To don't provide them via CLI.
    • Replaced deprecated --deploy-url with --base-href ng build option.
    • Output server build to dist instead of dist/server, in order to don't move artifacts to the root folder (JSS convention requires to keep all the server artifacts in the dist folder and have server.bundle.js file as an entrypoint)
    • TransferState, makeStateKey now imported from @angular/core instead of @angular/platform-browser.
    • BrowserModule.withServerTransition is deprecated, APP_ID is used instead.
    • Removed deprecated lib entryComponents property.
    • Exported ImageFieldValue and LinkFieldValue interfaces.
    • See more information about the upgrade in the Angular 16 Migration Guide

🧹 Chores

  • Security vulnerability audit (#1685)
  • Removed "npm" field from "engines" property (#1698)
  • Removed "engines" field for templates (#1701)

21.5.3

🐛 Bug Fixes

  • [sitecore-jss-nextjs] Fix loop error in redirect middleware when the pattern of redirect has default locale. (#1696)
  • [templates/nextjs-sxa] Fix shown horizontal scrollbar in EE mode. (#1625), (#1626)

21.5.2

🎉 New Features & Improvements

  • [sitecore-jss] [templates/nextjs] Load the content styles for the RichText component #1678

🐛 Bug Fixes

  • [sitecore-jss-react] [templates/nextjs-xmcloud] Static (rendering params and datasource) and dynamic (fetched) props are now both passed into BYOC components. Previously dynamic fetched props would completely override data from Sitecore items (#1667)(#1682)(#1688)
  • [sitecore-jss-react] [templates/nextjs-xmcloud] Ensure FEAAS and BYOC components can correctly use item datasources (#1694)

21.5.1

🐛 Bug Fixes

  • [sitecore-jss-react] Fix PlaceholderCommon with using two and more dynamic placeholders. (#1641)
  • [templates/nextjs] Fix custom headers. Now in cors-header plugin extends custom headers from next.config.js file. (#1637)
  • [sitecore-jss-nextjs] Fix redirect middleware to match pattern when uses param trailingSlash in next.config.js (#1676)

21.5.0

🐛 Bug Fixes

  • [templates/nextjs-personalize] Fix cookie domain for localhost (#1609)

🛠 Breaking Changes

  • [templates/nextjs] [sitecore-jss-nextjs] Upgrade of @sitecore/engage to 1.4.0, now this dependency has been added as a peer dependency to @sitecore-jss-nextjs package in order to replace the existing CDP service in the @sitecore-jss/sitecore-jss with the new functions/features introduced in the engage SDK. (#1609) (#1633)

21.4.0

🎉 New Features & Improvements

  • [templates/nextjs-sxa] [sitecore-jss-react] [sitecore-jss-nextjs] "Bring Your Own Code" (BYOC) feature is introduced. This allows developers and editors more flexibility when developing and working with new components, i.e.:

    • Avoid the jss deploy process for components, and use FEAAS registration instead
    • Put components anywhere in the project,
    • Use any prop type, without dependence on Layout Service data

    Check the BYOC documentation for more info. (#1568) (#1603)(#1605)

  • [templates/nextjs-sxa] Scaffolding components for BYOC is added. Use '--byoc' flag at the end of jss scaffold command to create a boilerplate component for BYOC (#1572)

  • [sitecore-jss-nextjs] Stylesheet loading via page head links for FEAAS and BYOC is implemented. This allows stylesheets to be loaded during SSR and avoid extra calls on client. (#1587)

  • [templates/nextjs] Scaffold new components outside of 'src/components' folder by specifying a path with src in it, i.e. jss scaffold src/new-folder/NewComponent (#1572)

  • [sitecore-jss] [sitecore-jss-nextjs] [templates/nextjs] Introduce performance metrics for debug logging (#1555)

  • [templates/nextjs] [templates/react] [templates/vue] [templates/angular] Introduce layout service REST configuration name environment variable (#1543)

  • [templates/nextjs] [sitecore-jss-nextjs] Support for out-of-process editing data caches was added. Vercel KV or a custom Redis cache can be used to improve editing in Pages and Experience Editor when using Vercel deployment as editing/rendering host (#1530)

  • [sitecore-jss-react] Built-in MissingComponent component can now accept "errorOverride" text in props - to be displayed in the yellow frame as a custom error message. (#1568)

  • [templates/nextjs] [sitecore-jss-nextjs] Better error handling for component-level data fetching (#1586)

  • [sitecore-jss-react] Fetch Data for FEaaS Components as part of Component SSR/SSG (#1586)

  • [sitecore-jss-dev-tools] [templates/nextjs] [templates/react] Introduce "components" configuration for ComponentBuilder (#1598)

  • [sitecore-jss-react] [sitecore-jss-nextjs] Component level data fetching(SSR/SSG) for BYOC (#1610) (#1621)

  • [sitecore-jss-nextjs] Reduce the amount of Edge API calls during fetch getStaticPaths (#1612)

  • [sitecore-jss] [templates/nextjs] [templates/nextjs-sxa] GraphQL Layout and Dictionary services in base remplate, and ErrorPages service in nextjs-sxa can handle endpoint rate limits through retryer functionality in GraphQLClient. To prevent SSG builds from failing and enable multiple retries, set retry amount in lib/dictionary-service-factory and lib/layout-service-factory (#1618 #1619)

  • [templates/nextjs] [sitecore-jss-nextjs] Upgrade Nextjs to 13.4.16(#1616)

🧹 Chores

  • Automatically create a Jira Issue once a github issue/doc request/PR is created (#1573)
  • Use exact canary version instead of range (#1553)

🐛 Bug Fixes

  • [tempaltes/nextjs] [templates/nextjs-sxa] [sitecore-jss-nexjts] Redirects don't work when file extensions present in a route (#1566)
  • [templates/vue] "lint" command is failing due to bug introduced by eslint-plugin-prettier (#1563)
  • [sitecore-jss-react] [FEaaS] Prevent extra components client-side requests for SSR (1541)
  • [sitecore-jss-react] Remove use of reactDom/server from React Image (1544)
  • [sitecore-jss-nextjs] Referrer is not captured by Personalize middleware (#1542)
  • [sitecore.jss-react] Fix double placeholder in Experience Editor in production mode (#1557)
  • [sitecore-jss-nextjs] Fix of redirects middleware. Add possible to use tokens like $1, $2, $3, etc. (#1547) (#1559) (#1561) (#1562)
  • [templates/nextjs-sxa] Change Content-Type of robots.txt response (text/html;charset=utf-8text/plain).
  • [templates/nextjs-sxa] Fix styles of Image component for Banner variant when we try to edit image in EE for Basic Site (#1588) (#1596)
  • [templates/nextjs-sxa] Fix style for main layout(horizontal scrollbar). (#1589)
  • [templates/nextjs-sxa] Don't let Image component wrap with tag when TargetUrl is not configured. (#1593)
  • [templates/nextjs] Next config header plugin for CORS. (#1597)
  • [templates/nextjs] Ensure dictionary data is only fetched when layout data is present for a route (#1608)
  • [sitecore-jss-react-forms] Form should be blocked while submit is in progress to avoid submit spam (#1611)
  • [templates/nextjs] Fix linting errors, fix type error by upgrading @react/types to v18.2.22 (#1613)

21.3.1

🐛 Bug Fixes

  • [create-sitecore-jss] This is a maintenance release to fix package versioning in JSS templates.

21.3.0

🎉 New Features & Improvements

  • [sitecore-jss-nextjs] Support for public URL resolution in Netlify (#1585)

🛠 Breaking Changes

21.2.4

🎉 New Features & Improvements

  • [templates] Add JSS_APP_NAME to .env files (#1571)

🐛 Bug Fixes

  • [sitecore-jss] GraphQLSiteInfoService does not fetch more than 10 sites (#1569)
  • [sitecore-jss-vue] Link component renders link description even when children are provided (#1570)
  • [sitecore-jss-dev-tools] Fix line endings for component builder (#1580)
  • [templates/nextjs-sxa] Fix font awesome - added CDN instead of using node_modules(problem with CORS) (#1536 (#1545)
  • [templates/nextjs-sxa] Fix menu component of third-level menu. (#1540) (#1546)

21.2.3

🐛 Bug Fixes

  • [tempaltes/nextjs] [templates/nextjs-sxa] [sitecore-jss-nexjts] Redirects don't work when file extensions present in a route (#1566)

21.2.2

🐛 Bug Fixes

  • [sitecore-jss-nextjs] Fix of redirects middleware. Add possible to use tokens like $1, $2, $3, etc. (#1547) (#1559) (#1561) (#1562)

21.2.1

🧹 Chores

  • Update outdated documentation links (#1539)

21.2.0

🎉 New Features & Improvements

  • [templates/nexts] [sitecore-jss-dev-tools] [sitecore-jss-nextjs] Move template related script to the base package (#1520):
    • [sitecore-jss-nextjs]:
      • Introduced ComponentBuilder class for generating component factories and module factories.
      • ComponentPropsService componentModule property renamed to moduleFactory.
      • Adjusted ComponentModule definition:
        • renamed to ModuleFactory.
        • Module type besides the initial limited set of props now can also include any React component. React.Component is replaced by React.ComponentType.
    • [sitecore-jss-dev-tools]:
      • Introduced nextjs submodule, which contains component builder generation functionality.
    • [templates/nextjs]:
      • Introduced plugins architecture for component builder and scaffold component generation processes.
      • Reused new utils added to sitecore-jss-dev-tools.
  • [templates/react] [sitecore-jss-dev-tools] Refactoring for react template (#1506)(#1515):
    • [templates/react]:
      • Introduced plugins architecture for boostrap, config and component builder generation process
      • Updated components tree to represent the structure: fields, styleguide, graphql folders.
    • [sitecore-jss-react] Introduced ComponentBuilder class for generating component factories
    • [sitecore-jss-dev-tools]:
      • Introduced react submodule, which contains component builder generation functionality
      • Added common utils for plugins, file generation
  • [templates/nextjs-personalize] Disable page view tracking event in development (#1414)
  • [templates/nextjs-sxa] Add custom template for jss scaffold (#1420)
  • [sitecore-jss-react] [sitecore-jss-nextjs] FEaaS component will render 'staged' variant for editing and preview and 'published' variant for live site by default, unless variant is overriden via rendering parameters. (#1433)
  • [templates/nextjs] [templates/angular] [templates/react] [templates/vue] Pre-push hook for lint check (#1427) (#1442) (#1444) (#1468) (#1472)
  • `[sitecore-jss-nextjs] Add a new handling for token $siteLang(context site language) in middleware redirect (#1454)
  • [sitecore-jss] [templates/nextjs-sxa] Rewrite logic of handling custom error pages. The error pages rewrite page with error(it's saving status code) instead of redirected (#1469) (#1476)
  • [templates/nextjs] Remove .babelrc to (re)enable SWC compilation by default (#1483)
  • [sitecore-jss] Handle null items in graphql layout service. (#1492)
  • [templates/nextjs-personalize] [sitecore-jss] Update the default personalize middleware, personalize/cdp service timeout values to 400 (#1507)
  • [templates/react] [templates/angular] [templates/vue] Remove persisted query link since APQ(Automatic Persisted Queries) is not supported on Sitecore Experience Edge Delivery (#1420)
  • [sitecore-jss] [templates/nextjs-personalize] Introduced optional personalize scope identifier to isolate embedded personalization data among XM Cloud Environments that are sharing a Personalize tenant (#1494)
  • [sitecore-jss-nextjs] Add prefetchLinks paramter to the RichText component to allow prefetching of links to be enabled/disabled (#1517)

🧹 Chores

  • Automated API doc generation and added packages/samples filter (#1470)(#1474)
  • Revisit and update github ISSUE_TEMPLATE (#1445)
  • Configure the recommended VSCode extensions for the starters (#1437)
  • [templates/nextjs] [templates/nextjs-styleguide-tracking] Move remaining Styleguide-Tracking artifacts from the base template (#1422)
  • Fix API Doc generation (#1464)
  • Update Sitecore logos (#1467)
  • Fix security vulnerabilities (#1381)
  • [templates/nextjs-sxa] Move some dependencies to devDependencies (#1489)
  • [templates/nextjs-sxa] Clarify rootItemId usage for Dictionary Service in SXA sites (#1409)

🐛 Bug Fixes

  • [templates/angular] [templates/vue] Link component does not add anchor to the internal links (#1511)
  • [templates/react] [React] Cannot find package '@babel/plugin-proposal-export-namespace-from' (#1510)
  • [templates/angular] [templates/vue] Sitecore service endpoint is not proxied in Connected mode (#1465)
  • [templates/nextjs] Healthz shows page not found for multisite setup (#1443)
  • [sitecore-jss-react] Hydration error when render Link in Edit mode (#1432)
  • [sitecore-jss-nextjs] Fix for Link component which throws error if field is undefined (#1425)
  • [templates/react] Fix compilation error when developing react template in monorepo (#1428) (#1451)
  • [sitecore-jss-nextjs] Fix regex for middleware redirects (#1431)
  • [sitecore-jss-angular] Fix memory leak in image and link components (#1435)
  • [templates/nextjs-multisite] Fix skipped site info fetch (#1434)
  • [angular] Fix app build errors. Webpack version is locked at 5.78 due to webpack/webpack#16981 (#1448)
  • [sitecore-jss-nextjs] Fix middleware redirect when the target use regexp with querystring (#1449) (#1460)
  • [templates/nextjs] Fix incorrectly named .gitignore file \scripts\temp\.npmignore (#1463)
  • [angular] Avoid sending two dictionary service calls when switching language and refreshing the page (#1473)
  • Fix installed sitecore-jss-* dependency version (#1478)
  • [node-headless-ssr-experience-edge] Add helper comment for rootItemId (#1491)
  • [templates/nextjs-sxa] Add condition DISABLE_SSG_FETCH for 404/500 pages to enable full ISR (Incremental Static Regeneration) flow (#1496)
  • [templates/nextjs-sxa] Fix class .indent for component which have column size 12 (#1505)
  • [templates/nextjs-sxa] Fix type(from Text to RichText) of editing text in value Text2 for Promo Component in WithText variant (#1504).
  • [sitecore-jss-nextjs] Fix RichText component to re-initialize links when content changes (#1503)
  • [angular] [react] [vue] [nextjs] Prevent personalized component rendering errors when default variant is hidden (#1383)
  • [vue] Fix disconnected mode not starting in monorepo setup (#1418)
  • [sitecore-jss-proxy] The rewriteRequestPath function ignores query string parameters added in a middleware(#1373) (#1379)
  • [templates/react] [React] Fix build error (#1505)
  • [templates/vue] [Vue] Fix integrated mode error (#1505)

🛠 Breaking Changes

  • [templates/nexts] [sitecore-jss-dev-tools] [sitecore-jss-nextjs] Move template related script to the base package (#1520):
    • [sitecore-jss-nextjs]:
      • ComponentPropsService fetchServerSideComponentProps, fetchStaticComponentProps methods accept params.moduleFactory instead of params.componentModule.
      • Exports ModuleFactory instead of ComponentModule.
  • [sitecore-jss-react] [sitecore-jss-nextjs] FEaaS component is now server rendered. Prop type used FEaaSWrapper has been modified alongside with FEaaSWrapper implementation. Make sure you use the updated type and the updated wrapper. (#1413) (#1513)
  • [sitecore-jss-rendering-host] startDevServer is retired. startRenderingHostServer is the only way to start the rendering host from now on. (#1426)
  • [sitecore-jss-nextjs] Some imports have been moved to avoid accidentally importing nextjs server logic inside client componenents(#1430):
    • SiteInfo and SiteResolver imports have been moved from '@sitecore-jss/sitecore-jss-nextjs/middleware' module to '@sitecore-jss/sitecore-jss-nextjs/site'
    • tryParseEnvValue import has been moved from '@sitecore-jss/sitecore-jss-nextjs/middleware' module to '@sitecore-jss/sitecore-jss-nextjs/utils'
    • exports for isEditorActive, resetEditorChromes, resolveUrl, tryParseEnvValue, handleEditorFastRefresh, getPublicUrl from '@sitecore-jss/sitecore-jss-nextjs' are depreceated. '@sitecore-jss/sitecore-jss-nextjs/utils' module should be used for them instead.

21.1.7

🐛 Bug Fixes

  • [React] Cannot find package '@babel/plugin-proposal-export-namespace-from' (#1510)

21.1.6

🐛 Bug Fixes

  • [templates/nextjs-sxa] Add condition DISABLE_SSG_FETCH for 404/500 pages to enable full ISR (Incremental Static Regeneration) flow (#1496)

21.1.5

🐛 Bug Fixes

  • [create-sitecore-jss] Change ^ to ~ for versioning in templates and use exact versions for sitecore-jss monorepo dependencies.

21.1.4

🐛 Bug Fixes

  • [create-sitecore-jss] Change ^ to ~ for versioning in templates.

21.1.3

🐛 Bug Fixes

  • Fix installed sitecore-jss-* dependency version. Change ^ to ~ (#1481)

21.1.2

🎉 New Features & Improvements

  • [sitecore-jss] [templates/nextjs-sxa] Rewrite logic of handling custom error pages. The error pages rewrite page with error(it's saving status code) instead of redirected (#1469) (#1476)

🐛 Bug Fixes

21.1.1

🐛 Bug Fixes

  • [sitecore-jss-nextjs] [SXA] fixed middleware redirects (#1431)

21.1.0

🎉 New Features & Improvements

  • [create-sitecore-jss] [sitecore-jss-nextjs] [templates/nextjs] [templates/nextjs-multisite] New nextjs-multisite initializer add-on. Allows a single JSS Next.js app to serve multiple Sitecore sites. (#1248) (#1288) (#1264) (#1271) (#1275) (#1277) (#1279) (#1281) (#1283) (#1284) (#1286) (#1306) (#1290) (#1294) (#1302) (#1339) (#1360) (#1365) (#1303) (#1304) (#1299) (#1322) (#1361) (#1296)
  • [templates/nextjs] [sitecore-jss-nextjs] Upgrade Next.js to version 13 (#1324)
  • [templates/angular] [sitecore-jss-angular] Upgrade Angular to version 14 (#1285) (#1300) (#1300) (#1307)
  • [templates/nextjs] Finalize @sitecore/engage version upgrade (#1317)
  • [templates/nextjs] Add healthz check (#1207)
  • [sitecore-jss] [sitecore-jss-nextjs] Performance improvements for personalize service and middleware (#1218)
  • [sitecore-jss] [sitecore-jss-nextjs] Update models: Add url and id property to item type (#1219)
  • [sitecore-jss-nextjs] Add async to editing data cache (#1223)
  • [templates/nextjs] [sitecore-jss] [sitecore-jss-nextjs] Performance improvement for site redirects service (#1225)
  • [sitecore-jss-angular] Add canActivate and resolve functionality (#1246)
  • [templates/react] [templates/nextjs] [templates/vue] [sitecore-jss-nextjs] [sitecore-jss-react] [sitecore-jss-vue] Upgrade 3rd party dependencies (#1250) (#1301) (#1305) (#1321) (#1352) (#1362) (#1327) (#1313) (#1329) (#1338)
  • [templates/angular] Upgrade bootstrap in sample app (#1308)
  • [templates/angular] [templates/react] [templates/vue] [templates/nextjs-styleguide] [sitecore-jss-nextjs] [sitecore-jss-react] [sitecore-jss-angular] [sitecore-jss-vue] Edit frame component implementation (#1342)
  • [sitecore-jss-react] Export DateFieldProps (#1216)

🧹 Chores

  • [sitecore-jss-vue] Suppress unit test warnings (#1335)
  • Add test-packages npm command (#1233)
  • [create-sitecore-jss] [sitecore-jss-nextjs] [sitecore-jss-react] [sitecore-jss-cli] [sitecore-jss] [sitecore-jss-dev-tools] Increase unit test coverage (#1258) (#1259) (#1260) (#1262) (#1263) (#1265) (#1256)
  • Improve unit test coverage reporting (#1202)
  • Update CHANGELOG with updated version strategy (#1330)
  • PR template refresh (#1351)

🐛 Bug Fixes

  • [templates/nextjs] Additional middleware default exclusions (#1230)
  • [sitecore-jss] rootItemId not resolvable for different language versions (#1196)
  • [sitecore-jss-forms] File upload validation error (#1213)
  • [sitecore-jss-react] [sitecore-jss-nextjs] Link component does not add anchor to the internal links (#1226) (#1375)
  • [sitecore-jss-proxy] Disable websocket processing by default in proxy (#1311)
  • [create-sitecore-jss] Incompatibility message when installing sxa and styleguide (#1315)
  • [templates/angular] The data "This page does not exist" is displayed during loading the page of angular app in EE (#1331)
  • [sitecore-jss-dev-tools] After upgrade deploy throws 'Cannot calculate proper length in synchronous way.' (#1332)
  • [templates/nextjs] Sample in Docker env references linked packages using lowercase path (#1334)
  • [templates/nextjs] [sitecore-jss-nextjs] In Image component exclude width/height when fill prop is provided (#1336)
  • [sitecore-jss-rendering-host] Fix react rendering host ESM error (#1337)
  • [templates/nextjs] Nextjs Upgrade bug fixes (#1340) (#1341) (#1346)
  • [templates/nextjs] Add rewrite for Sitecore's default 404 prefix (#1345)
  • [sitecore-jss-react] Fix rendering issue in components using withPlaceholder (#1349)
  • [sitecore-jss-react-forms] The language of the form is changed after clicking the submit button (#1261)
  • [templates/nextjs-sxa] Cumulative SXA bug fixes (#1319) (#1292) (#1165) (#1245) (#1268) (#1269) (#1272) (#1278) (#1333) (#1185) (#1172) (#1255)
  • [templates/nextjs-personalize] [sitecore-jss-nextjs] Add support for fallback point of sale (#1367) (#1380)
  • [templates/vue] Fix local dev server launch error (#1368)
  • [sitecore-jss-nextjs] Implemented MiddlewareBase abstraction. Skip Redirects middleware during editing (#1370)
  • [sitecore-jss-nextjs] Redirects middleware should debug log start/end (#1372)

🛠 Breaking Changes

  • [sitecore-jss-nextjs] [templates/nextjs] [templates/nextjs-personalize] [templates/nextjs-sxa] Middleware configuration for multiple sites (#1288) (#1350) (#1367)

    • SiteResolver implementation must be passed into redirects middleware
    • SiteResolver implementation must be passed into personalize middleware
    • getPointOfSale function passed into personalize middleware now accepts two parameters: site and language. Personalize middleware will use base PosResolver if no function is passed.
  • [sitecore-jss-angular][templates/angular] jss-angular package and sample has been updated to version 14. (#1285) (#1300)

    • JSS Angular sample is now using Ivy
    • IE11 no longer supported by JSS Angular
    • sitecore-jss-angular package does not output UMD package anymore - only ESM. We created a '@sitecore-jss/sitecore-jss-angular/cjs' sub-module to have CJS imports still available i.e. in angular sample app's scripts. Right now the submodule re-exports '@sitecore-jss/sitecore-jss' modules.
    • componentFactory is no longer present in ComponentFactoryResult interface, due to createComponent changes and deprecations introduced in Angular 13.
    • More details on changes in Angular can be found in the below links: https://blog.angular.io/angular-v13-is-now-available-cce66f7bc296 https://angular.io/guide/deprecations https://update.angular.io/?l=3&v=11.0-14.0
  • [sitecore-jss-angular] Due to the Angular version upgrade and the change in sitecore-jss-angular package output format sitecore-jss exports are not available in angular app scripts (src/scripts) via '@sitecore-jss/sitecore-jss-angular'. Please use '@sitecore-jss/sitecore-jss-angular/cjs' import instead. Check bootstrap.ts scripts as for a usage example.

21.0.10

🐛 Bug Fixes

  • Change ^ to ~ in sitecore-jss templates

21.0.9

🐛 Bug Fixes

  • Fix installed sitecore-jss-* dependency version. Change ^ to ~ (#1481)

21.0.8

🐛 Bug Fixes

[React] [Nextjs] [FEaaSComponent] Avoid FEAAS Stylesheets parsing multiple times (#1320)

21.0.7

🎉 New Features & Improvements

[sitecore-jss-react] [sitecore-jss-nextjs] Added exports for FEaaSComponent (#1316)

21.0.6

🎉 New Features & Improvements

  • [sitecore-jss-react] FEaaS Component implementation (#1297)
  • [templates/nextjs-sxa] FEaaSWrapper Component implementation (#1318)

21.0.5

🐛 Bug Fixes

  • [templates/nextjs-sxa] Fixed rendering dynamic placeholders filter. (#1292)

21.0.4

🐛 Bug Fixes

  • [templates/nextjs-sxa] Fixed rendering dynamic placeholders for splitter components. (#1292)

21.0.3

🐛 Bug Fixes

  • [templates/nextjs-sxa] Fixed rendering dynamic placeholders for splitter components. Added pattern and checking for rendering Dynamic placeholders. (#1278)(#1292)

21.0.2