-
Notifications
You must be signed in to change notification settings - Fork 203
Closed
Milestone
Description
🧭 Backpack v39 Major dependency Bump PRs Review Summary
| PR | Title | Core Change | Impact Assessment | Key Reasoning | Note | Status |
|---|---|---|---|---|---|---|
| #3994 | Bump react & @types/react | Upgraded React 18.3.1 → 19.2.0 (+ types). | Breaking: React 19 removes defaultProps on FCs, Legacy Context, string refs; requires new JSX transform; useId IDs changed. |
React 19 is still under internal evaluation | Deferred it until we decide to upgrade it to 19.x | Evaluated and deferred it. |
| #3996 | Bump react-dom & @types/react-dom | Upgraded react-dom 18.3.1 → 19.2.0 (+ types). | Breaking: Removed ReactDOM.render/hydrate/unmountComponentAtNode; SSR & Suspense behavior changed; useId ID format changed. |
It should be aligned with React, and React 19 is still under internal evaluation | Deferred it until we upgrade react to 19.x. | Evaluated and deferred it. |
| #3997 | Bump @types/react-window 1.8.8 → 2.0.0 | Type-only upgrade (devDependency) | External: None. Internal: Possible new TS hints in examples. |
Adopting the type upgrade only would cause a type mismatch with the react-window@18.x, while upgrading both requires a code change. Deserved a careful validation. |
Its version should be aligned with the react-window's version. |
Evaluated and deferred it. |
| #3995 | Bump @percy/storybook 6.0.3 → 9.1.0 | Visual regression tooling upgrade | External: None. Internal: CI screenshot config may change. |
CI tooling only; no runtime effect. | 🔹 Downgrade to minor + Re-baseline Percy snapshots. | ✅ |
| #3865 | Bump Storybook 8.6 → 9.0 | Dev/documentation environment upgrade | External: None. Internal: Config migration required. |
Developer docs only; not user-facing. | 🔹 Downgrade to minor + Validate Storybook build and addons. | ✅ |
| #3992 | Bump glob 10.4.5 → 11.0.3 | Drops Node < 20 | External: None (not runtime). Internal: Requires Node 20+. |
Affects build scripts only; Node version compatibility risk. | 🔹 Downgrade to minor + Ensure CI uses Node 20 or pin to ^10. | ✅ |
| #3794 | Bump normalize.css 4.2.0 → 8.0.1 | Major CSS reset evolution (4→8) | External: Potentially breaking if distributed styles include it. Internal: Storybook/Docs may show visual drift. |
normalize.css changed base resets significantly; could affect visual baselines. | 🧪 To be tested |
🧭 Confirmed Major Change PRs for Backpack v39
| PR | Title | Core Change | Impact | How to Use / Migration | Status | Note |
|---|---|---|---|---|---|---|
| #4007 | Deprecate SCSS @import in Backpack Clean up |
Removed legacy SCSS @import usages, removed node-sass dependency, switched all mixins to stable bpk-mixins instead of unstable__bpk-mixins. oai_citation:0‡GitHub |
Breaking for consumers who still use @import or import from unstable__bpk-mixins. Build/config may fail or styles may be missing. |
Consumers must change all @import to @use, and update any import paths from unstable__bpk-mixins → bpk-mixins. oai_citation:1‡GitHub |
approved + tested | Major change: mark as breaking. |
| #3990 | [BpkCardList] use negative margin to remove bottom padding | Adjusted internal padding/margin of BpkCardListCarousel: removed top 0.25 rem padding, removed bottom 1 rem padding when accessory is not rendered; switched to a consistent positive padding + negative margin technique. oai_citation:2‡GitHub |
Breaking layout for consumers relying on the old built-in bottom padding; will alter spacing when accessory not present. | If you used BpkCardList in ROW or RAIL layout without accessory, you may need to add your own 1 rem bottom spacing to maintain previous layout. oai_citation:3‡GitHub |
approved + tested | Major change: layout impact. |
| #3979 | Deprecate SCSS @import in Backpack (Modern Sass API) |
Similar to #4007: removed all @import, switched to @use, consolidated mixins. oai_citation:4‡GitHub |
Breaking for styling consumers using @import or unstable__bpk-mixins. |
Consumers must change import syntax to @use and update paths to bpk-mixins. oai_citation:5‡GitHub |
approved + tested | Major change; schedule for v39. |
| #3965 | [BpkBottomSheet] adding padding types style | Added a prop paddingType (none/base/small/medium/large) to BpkBottomSheet; default “small” equals 1.5 rem (24px) and changed from previous static 16px. oai_citation:6‡GitHub |
Minor breaking: default padding changed from 16px to 24px (“small”). Some consumers may notice increased vertical space. | If you used BpkBottomSheet and relied on old padding, you may now want to explicitly pass a paddingType="none" or adjust CSS to override. |
approved + tested | Non-breaking in API but visual difference. |
Metadata
Metadata
Assignees
Labels
No labels