Skip to content

Releases: Sitecore/jss

22.12.1

07 Apr 12:54

Choose a tag to compare

🎉 New Features & Improvements

  • [sitecore-jss] Add Unified UI origin to allowed origins (#2192)

22.12.0

30 Mar 20:27

Choose a tag to compare

22.12.0

🎉 New Features & Improvements

  • Migrate ESLint to v9 and flat config (#2186)(#2187)
  • Add AGENTS.md and CLAUDE.md for AI coding assistant guidance (#2183)

🐛 Bug Fixes

  • [sitecore-jss-nextjs] Fix server transfer redirects (#2173)
  • [sitecore-jss-nextjs] Preserve basePath when doing redirects in redirects-middleware (#2178) (#2181)

🛠 Breaking Changes

  • [Next.js] Upgrade to Next.js 16 (#2177)(#2179)
  • Upgrade to Node.js 24 (#2176)
  • [sitecore-jss-react] Placeholder suspense causes longer JavaScript Scripting execution time (#2185)
    • The default value of disableSuspense property is set to true to avoid forcing Suspense usage across all components which could negatively impact performance metrics. Suspense can now be enabled explicitly when needed.

22.11.0

24 Feb 12:27

Choose a tag to compare

🎉 New Features & Improvements

  • [Angular] [Proxy] Support Preview mode using Metadata (#2184)

22.10.0

24 Nov 18:41

Choose a tag to compare

This release brings some smaller QoL changes for Next JS users (with little maintenance), and some larger QoL changes for Angular users (with, admittedly, hefty but necessary maintenance). Check the full details below.

🎉 New Features & Improvements

  • [Next.js] Support component-level data fetching in 404/500 pages (#2140)

🐛 Bug Fixes

  • [sitecore-jss-nextjs] Preserve default locale in external absolute urls (#2142)
  • [React] Custom properties are not applied to empty field in editing metadata mode (#2141)
  • [sitecore-jss-nextjs] Add regex variable substitution for absolute and external URL redirects. (#2159)
  • [sitecore-jss-react] Disable React Suspense in the Placeholder component for Editing. (#2161)

🛠 Breaking Changes

  • [angular] [sitecore-jss-angular] Upgrade to Angular v20 (#2157) (#2160):
    • Components adjusted to be standalone
    • Update apollo-angular to version 11 to be compatible with Angular v20 compatibility
    • Replace the deprecated ngIf, ngFor directive usage with @if and @for
    • Update the inject logic for DI

21.11.0

24 Nov 18:44

Choose a tag to compare

🛠 Breaking Changes

  • [angular] [sitecore-jss-angular] Upgrade to Angular v20 (#2162) (#2169):
    • Components adjusted to be standalone
    • Update apollo-angular to version 11 to be compatible with Angular v20 compatibility
    • Replace the deprecated ngIf, ngFor directive usage with @if and @for
    • Update the inject logic for DI
    • NodeJS version must be updated to v20
    • Typescript version updated to v 5.8.0

21.10.1

11 Nov 14:56

Choose a tag to compare

21.10.1

🐛 Bug Fixes

[sitecore-jss-nextjs] Prevent infinite redirect loops and prioritize locale-specific rules in the redirects middleware (#2158):

  • Enhanced RedirectsMiddleware extensibility by introducing the new getRedirects method.
  • Included multiple improvements and refactoring carried over from JSS 22

22.9.1

25 Sep 12:13

Choose a tag to compare

22.9.1

🎉 New Features & Improvements

  • [Next.js] Support component-level data fetching in 404/500 pages (#2140)
    • Check the updated 404/505 pages implementation in 22.9.1 sample app in order to utilize this feature.

🐛 Bug Fixes

  • [React] Custom properties are not applied to empty field in editing metadata mode (#2141)
  • [Next.js] [Redirects] Preserve default locale in external absolute urls (#2142)

22.9.0

21 Aug 00:01

Choose a tag to compare

22.9.0

🐛 Bug Fixes

  • [Angular] Application fails with "TypeError: Cannot read properties of undefined (reading 'tap')" (#2134)
  • [sitecore-jss-nextjs] Ensure Redirect Middleware handles case-insensitive path matching to prevent missed redirects due to casing differences (#2114)
  • [sitecore-jss-nextjs] Fix redirect regex processing to prevent over-escaping of question marks in regex patterns (#2119)

🎉 New Features & Improvements

  • [sitecore-jss-nextjs] Ensure displayName paths are properly UTF-8 encoded. (#2121)
  • [sitecore-jss-react] Enhanced the cache buster format to hh-dd-mm-yyyy (#2135)

🛠 Breaking Changes

22.8.0

07 Jul 09:39

Choose a tag to compare

22.8.0

🎉 New Features & Improvements

  • [sitecore-jss-nextjs] Improved RedirectsMiddleware extensibility with new getRedirects method (#2099)
  • [sitecore-jss-nextjs] Improved PersonalizeMiddleware for better extensibility (#2098):
    • Added processPersonalizationRequest method to be able to extend the personalize handler logic
    • Added getPersonalizeInfo method to be able to control and extend personalizeService.getPersonalizeInfo behavior
  • [nextjs] [sitecore-jss-nextjs] Support for Component Library in XM Cloud (#1987)(#2000)(#2002)(#2005)(#2024)(#2053)(#2059)(#2064)(#2068)(#2087)(#2091)(#2101)

🐛 Bug Fixes

  • [sitecore-jss] Fix forwarding of Set-Cookie headers to prevent form submissions from failing due to missing verification token(__RequestVerificationToken) (#2112)

Chores

  • [sitecore-jss-react] [nextjs-xmcloud] FEAAS dependencies updated (#2113)

22.7.0

17 Jun 17:02

Choose a tag to compare

22.7.0

🎉 New Features & Improvements

  • [templates/NextJs] [templates/NextJs-Styleguide] [templates/NextJs-Styleguide-Tracking] Remove graphql-let and graphql code generation functionality from NextJs starter applications. One of the major reasons for the decision is graphql-let is not maintained anymore and was introducing severeal critical security vulnerabilities. (#2100)

🐛 Bug Fixes

  • [sitecore-jss-react] Add an optional disableSuspense flag to the Placeholder component to prevent error boundaries from rendering Suspense which helps contain errors for components. This can help avoid hydration issues in connected mode. (#2081)(#2085)
  • [templates/NextJs-Styleguide] [templates/NextJs-Styleguide-Tracking] Bug fixes in Styleguide-Layout-Tabs-Tab, Styleguide-Layout-Tabs, Styleguide-Tracking components (#2100)
  • [sitecore-jss-proxy] Fix build failure of XMCloud Proxy application when using PNPM (#2106)
  • [sitecore-jss-nextjs] Prevent false prefetch detection for mobile navigation in middlewares. (#2102)
  • [sitecore-jss-nextjs] Add Cache-Control: no-store, no-cache, must-revalidate to personalize middleware to ensure personalized responses are not served from prefetch cache and proper personalization was applied during client side navigation. (#2105)
  • [sitecore-jss-nextjs] Improve device detection and prevent false prefetch handling in Personalize middleware. (#2102) (#2107)

🛠 Breaking Changes

  • [Next.js] [React]: [sitecore-jss] [sitecore-jss-react] [sitecore-jss-nextjs] [sitecore-jss-react-forms] [create-sitecore-jss] Upgrade React to version 19 and Nextjs to version 15 (#2078)(#2084)(#2090) (#2093) (#2096):
    • upgrade React and Nextjs dependencies for the new major versions
    • with React 19, JSX is in the 'react' namespace and therefore 'react' needs to be imported befoore using JSX. All OOTB react and nextjs components have been updated
    • react-test-renderer has been deprecated in react 19. additionaly enzyme is not supported anymore so all unit tests have been migrated to use @testing-library/react`
    • propTypes have been deprecated by react and have been removed from the solution
    • in NextJs 15 the geo and ip properties on NextRequest have been removed. To account for this @sitecore-cloudsdk dependencies have been upgraded to 0.5.1, which does not include breaking changes, however you will have to upgrade your cloudsdk dependencies to meet peer dependencies requirements
    • remove 'react' dependency from nextconfig webpack externals in monorepo next config plugin as it is not needed anymore.
    • PersonalizeMiddleware handler now accepts PersonalizeOptions, that can be used to provide geolocation data from application level
    • upgrade eslint-plugin-react to latest
  • [Angular]: [sitecore-jss-proxy] [sitecore-jss-angular] @sitecore-cloudsdk dependencies have been upgraded to 0.5.1 (#2060)(#2078)
    • This upgrade doesn't introduce any breaking changes, however you will have to upgrade your cloudsdk dependencies to meet peer dependencies requirements