github Sitecore/content-sdk @sitecore-content-sdk/react@2.5.0

5 hours ago

Minor Changes

  • Schema.org & JSON-LD Support (b858df1)

  • minor @sitecore-content-sdk/content dependency update:

    • [angular] Metadata, Open Graph and Schema.org & JSON-LD Support

    • @sitecore-content-sdk/content: resolvePageMetadataFields (with PageMetadataRouteFields / ResolvedPageMetadataFields) moved from @sitecore-content-sdk/nextjs to @sitecore-content-sdk/content/layout, so every framework shares the same field-to-tag rules. @sitecore-content-sdk/nextjs keeps re-exporting PageMetadataRouteFields.

    • @sitecore-content-sdk/angular: added PageMetadataService + <sc-page-meta-tags [route]> (<title>, metadata and Open Graph <meta> tags via Angular's Title/Meta services) and JsonLdSchemaService + <sc-json-ld-schema [page]> (a single <script type="application/ld+json"> in <head>, normal mode only). Re-exported the PageMetadataFields, MetadataFields, OpenGraphFields, OpenGraphImageField(Value) and PageMetadataRouteFields types.

    • Angular template: LayoutComponent renders both components; RouteFields extends PageMetadataFields. (c7801c3)

      • Avoid throwing errors in scClient calls when context ID in browser is missing.
    • Replaces the GraphQL client used by scClient with no-op fallback in browser context, when public content ID is missing, preventing getPage(), getDictionary() and other GraphQL-bound method from throwing.
    • Adds a guard into getHeadLinks() call to return empty results when client context ID is missing, instead of throwing an error.
    • Client Context ID becomes required for rendering head links. (5184ea7)
    • Apply rewriteMediaUrls to SitecoreClient.getData results so custom Experience Edge hostnames are rewritten in component GraphQL data. (5509bcd)
    • Schema.org & JSON-LD Support (b858df1)

Patch Changes

  • Merge the style passed to Image and NextImage over the default empty image placeholder's inline styles, so the 48px minimum size can be overridden. (f70de24)

  • Honor custom modifyComponentProps callbacks in the Next.js Placeholder after injecting component data. Use rendering UIDs for placeholder component and error boundary keys, falling back to the layout component name and index when no UID is available. (643022e)

  • AppPlaceholder no longer serializes every rendering's full layout data into the RSC payload. (8e4055e)

    Each rendering is wrapped in ErrorBoundary, a client component, and was handed the complete
    ComponentRendering object. Anything passed to a client component is serialized into the flight
    payload of every page, so each component's resolved datasource, fields and nested placeholders were
    shipped to the browser even when the component itself was a server component that rendered them to
    HTML. ErrorBoundary only ever displays componentName and uid, so the rendering is now narrowed
    to those two fields before being passed.

    On a Sitecore-driven homepage with a shared header and footer, this removed 67 KB per prerendered
    page (13% of the stored HTML + .rsc artifacts) with byte-identical rendered output.

Don't miss a new content-sdk release

NewReleases is sending notifications on new releases.