Skip to content

v5.0.0

Choose a tag to compare

@ourpeter ourpeter released this 29 May 10:38
· 6 commits to master since this release
ef94401

5.0.0

⚠️ Read before upgrading

This release has only been smoke-tested locally in the example app. The full surface of every dependency major (React 19, Apollo 4, styled-components 6, i18next 26, react-router 7) has not been validated against real consumer integrations. Expect rough edges and please report regressions — patch releases will follow as issues surface.

Consider waiting for v6. A v6 line is planned that will switch to a new search engine and restructured GraphQL endpoints — a significant architectural change. If your project can stay on @wayke-se/components-react@4.x for now, that is the lower-risk path until v6 lands.

When v5 makes sense: if you're blocked by outdated transitive dependencies on the 4.x line (React 17-era audit advisories, old Apollo cache types, etc.) and can't wait for v6, this release is the bridge that gets you onto modern React 19 / Apollo 4 / styled-components 6 today.

Major release. First feature/runtime overhaul since 4.x — every framework dependency bumped, the dead sphere library replaced, and the build pipeline modernized.

Breaking changes

Consumers must take action.

  • React 16 and 17 support dropped. peerDependencies now require react ^18 || ^19 and react-dom ^18 || ^19. If you are still on React 17, stay on @wayke-se/components-react@4.x.
  • styled-components peerDependency moved to ^6. v5 is no longer compatible — v6's CSS prop, theming, and transient-prop conventions ($prefix) all apply.

Major dependency bumps

Runtime (ships in the bundle):

Package From To
react, react-dom 18.3 19.x
@apollo/client 3.x 4.x
styled-components 5.x 6.x
i18next 23 26
react-i18next 14 17
react-router-dom 6 7
date-fns 3 4
marked 12 18
@wayke-se/ecom-web 1.7.5 2.0.1
react-slick 0.30 0.31

Build-time only (no consumer impact):

  • TypeScript 5.3 → 6
  • ESLint 8 → 9 (flat config)
  • esbuild 0.20 → 0.28
  • @graphql-codegen/cli 5 → 7, @graphql-codegen/typescript 4 → 6
  • dotenv 16 → 17, lint-staged 15 → 17, rimraf 5 → 6, @types/node added

Internal changes

  • Sphere viewer modernized. The unmaintained @wayke-se/pannellum-react was replaced with @photo-sphere-viewer/core. The in-gallery and lightbox 360° experiences were reworked to match wayke.se — panorama renders live in 3:2 inside the gallery and is fully interactive in the lightbox with zoom and fullscreen controls. No consumer API change: the composite Search/Item components handle this internally.

Pipeline & infrastructure

  • OIDC Trusted Publishing. npm publishes now authenticate via GitHub OIDC — no long-lived NPM_TOKEN secret in the workflow.
  • Sigstore provenance. Every release tarbal attestation linking it back to the buildingGitHub Actions run.
  • Node 24 + npm 11 on CI, actions/* pinned to v4.
  • Workflows consolidated: release-to-production.yaml + release-to-test.yaml → single release.yaml that branches on master (latest) vs. test (next).

Bundle

  • dist/index.js 950 KB → 878 KB (-72 KB), mostly from a leaner @wayke-se/ecom-web 2.x.
  • dist/index.mjs 940 KB → 868 KB.

Security

  • 8 of the 25 audit advisories present in 4.6.6 resolved by the dep bumps.
  • Remaining advisories are confined to dev-toolmpvianpm-dts`, esbuild's dev-server) and do
    not reach the consumer bundle.

Upgrade guide

  1. Verify your React version is 18 or 19. Upgrade if older.
  2. Verify your styled-components is 6. Upgrad
  3. Run `npm install @wayke-se/components-react@