Skip to content

[SCF-2416] [Part 1] Drop Ember 3.28 and 4.4, bump to 5.0.0 - #16

Open
Gaurav0 wants to merge 4 commits into
scf_masterfrom
gaurav/chore/SCF-2416-part-1-drop-ember-3-28-and-4-4
Open

Gaurav0 wants to merge 4 commits into
scf_masterfrom
gaurav/chore/SCF-2416-part-1-drop-ember-3-28-and-4-4

Conversation

@Gaurav0

@Gaurav0 Gaurav0 commented Nov 5, 2026 •

Copy link
Copy Markdown

Summary

Starts the 5.0.0 major: the new minimum is Ember 4.8, as in upstream ember-bootstrap 6.0.0. Most later parts in this stack need this, because the releases that stop pulling in ember-cli-babel 7 (and with it @babel/runtime 7.12.18 and tmp 0.0.x) require Ember >= 4.8.

  • Version 5.0.0.
  • Drop Ember 3.28 and 4.4. Sets the ember-source >=4.8.0 peer and versionCompatibility, and develops against ~4.8.0 by default. Removes the ember-lts-3.28, ember-lts-4.4, ember-default-with-jquery and ember-classic scenarios from ember-try and CI, plus the always-true gte('3.4.0') test branches.
  • New peer dependencies: @glimmer/component (^1.0.4 || ^2.0.0), @glimmer/tracking (^1.0.4) and ember-modifier (^3.2.7 || ^4.0.0), with the same ranges as upstream.
  • Blueprint fix: ember install ember-bootstrap no longer crashes on ember-cli 5+, which removed project.bowerDependencies().

+24/−91 lines, not counting yarn.lock.

Breaking changes (5.0.0 release notes)

  • Requires Ember 4.8 or newer.
  • Apps must list @glimmer/component, @glimmer/tracking and ember-modifier in their own package.json. The default app blueprint already has @glimmer/*. ember-modifier may need adding.

Stack

Part of the SCF-2416 work (ember-bootstrap 5.0.0), split from scf-2416-rework for easier review. This is part 1 of 9. Based on scf_master, so the diff only shows this part. Merge in order.

Part PR Title
1 this PR Drop Ember 3.28 and 4.4, bump to 5.0.0
2 #17 Upgrade test and lint tooling (ESLint 8, Prettier 3, ember-try 3, stylelint)
3 #18 Upgrade build dependencies and drop polyfills
4 #19 Require Node 20 and switch @embroider/util to a fork
5 #20 Replace ember-on-helper and ember-ref-bucket
6 #21 Upgrade addon dependencies off ember-cli-babel 7
7 #22 Keep Bootstrap 3 and subclassing, drop their deprecations
8 #23 ember-cli-update to the 5.4 addon blueprint
9 #24 Force and refresh remaining vulnerable dependencies

Review notes

Most of the diff is removed compatibility code. The package.json peer ranges and the ember-try/CI scenario list are what matter.

Testing

Run on this branch with Node 20.19.6: yarn install --frozen-lockfile passes, yarn lint reports 0 errors (the same 150 warnings as scf_master), and ember test (Ember 4.8, the default) has 532 passed, 9 skipped and 0 failed. Same counts as scf_master, which ran them on Ember 3.28. CI covers the ember-try matrix.

🤖 Generated with Claude Code

Gaurav0 and others added 4 commits November 5, 2026 09:02
5.0.0 drops support for Ember 3.28 and 4.4 and moves @glimmer/component,
@glimmer/tracking and ember-modifier to peer dependencies.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The new minimum is Ember 4.8, as in upstream ember-bootstrap 6.0.0
(ember-bootstrap#1996, ember-bootstrap#2008). This lets ember-bootstrap depend on releases that no
longer pull in ember-cli-babel 7 (and with it @babel/runtime 7.12.18
and tmp 0.0.x), several of which require Ember >= 4.8.

- package.json: ember-source >=4.8.0 peerDependency, and
  ember-addon.versionCompatibility raised to >=4.8.0.
- Develop and test against ember-source ~4.8.0 by default. The dummy
  app uses locationType 'history'; 'auto' is deprecated in Ember 4.
- Remove the ember-lts-3.28, ember-lts-4.4, ember-default-with-jquery
  (jQuery integration was removed in Ember 4) and ember-classic
  (pinned to Ember 3.28) scenarios from ember-try and the CI matrix.
- Remove the always-true gte('3.4.0') test branches and the
  ember-compatibility-helpers devDependency.
- README: Ember.js and Ember CLI 4.8 or above, node.js 18+.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…er peer dependencies

The host app provides these, as in upstream ember-bootstrap (ember-bootstrap#1870 for
@glimmer/component and @glimmer/tracking in 6.0.0, ember-modifier in
6.3.1). This makes the expectation explicit and keeps ember-bootstrap
from bringing its own copies, so the app's versions are used.

The peer ranges match upstream: @glimmer/component ^1.0.4 || ^2.0.0,
@glimmer/tracking ^1.0.4 and ember-modifier ^3.2.7 || ^4.0.0. The
current versions stay in devDependencies for the dummy app.

Breaking: apps must list @glimmer/component, @glimmer/tracking and
ember-modifier in their own package.json. The default Ember app
blueprint already includes @glimmer/*; ember-modifier may need adding.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ember-cli 5 removed bower support, including project.bowerDependencies(),
so `ember install ember-bootstrap` crashed in the blueprint's afterInstall
on ember-cli 5+. Skip the bower cleanup when the method is missing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant