Skip to content

[SCF-2416] [Part 7] Keep Bootstrap 3 and subclassing, drop their deprecations - #22

Open
Gaurav0 wants to merge 1 commit into
gaurav/chore/SCF-2416-part-6-upgrade-addon-depsfrom
gaurav/chore/SCF-2416-part-7-keep-bootstrap-3-and-subclassing
Open

Gaurav0 wants to merge 1 commit into
gaurav/chore/SCF-2416-part-6-upgrade-addon-depsfrom
gaurav/chore/SCF-2416-part-7-keep-bootstrap-3-and-subclassing

Conversation

@Gaurav0

@Gaurav0 Gaurav0 commented Nov 5, 2026 •

Copy link
Copy Markdown

Summary

This fork will keep Bootstrap 3 support and subclassing of the component classes, so neither should warn that it's going away.

  • Subclassing is a port of upstream Drop component subclassing deprecation ember-bootstrap/ember-bootstrap#2049 (released in upstream 6.2.0).
    • addon/utils/deprecate-subclassing.js, every @deprecateSubclassing and the __ember-bootstrap_subclass escape-hatch fields are removed.
    • Unlike upstream, BsProgress and NavbarContent stay empty classes rather than templateOnly(), so they can still be subclassed.
    • The API docs now say subclassing is supported.
    • The subclassing test checks that a subclass of each of the 15 public components renders with no deprecations.
  • Bootstrap 3: index.js no longer warns at build time that support "will be removed in ember-bootstrap v5". The Glyphicon hint for Bootstrap 4/5 stays.
  • README: the intro says Bootstrap 3, 4 or 5. A new "About this fork" section covers git-tag installs, independent version numbers, and that Bootstrap 3 and subclassing stay supported.

45 files, +39/−151 lines. No dependency or yarn.lock changes.

Stack

Part of the SCF-2416 work (ember-bootstrap 5.0.0), split from scf-2416-rework for easier review. This is part 7 of 9. Stacked on Part 6: its base is gaurav/chore/SCF-2416-part-6-upgrade-addon-deps, so the diff only shows this part. Merge in order.

Part PR Title
1 #16 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 this PR 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 45 files only drop the import and decorator. Look at tests/integration/components/subclassing-test.js, index.js and the README section.

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 535 passed, 9 skipped and 0 failed. −15: the subclassing test now has one test per public component instead of two (assert the deprecation, then silence it). CI covers the ember-try matrix.

🤖 Generated with Claude Code

This fork will not remove Bootstrap 3 support or subclassing of the
component classes, so neither should warn that it is going away.

Subclassing (port of upstream ember-bootstrap#2049, "Drop component subclassing
deprecation", released in upstream 6.2.0):
- addon/utils/deprecate-subclassing.js and every @deprecateSubclassing
  are removed, along with the '__ember-bootstrap_subclass' escape-hatch
  fields on the four internal subclasses that used it.
- Unlike ember-bootstrap#2049, BsProgress and NavbarContent stay empty classes instead
  of becoming templateOnly(), which can't be subclassed.
- The API docs no longer say subclassing "is generally not supported,
  and may break at any time"; they say it is supported.
- The subclassing test now checks that a subclass of each of the 15
  public components renders with no deprecations, replacing the two
  tests per component that asserted and silenced the deprecation.

Bootstrap 3: index.js no longer warns at build time that Bootstrap 3
support "will be removed in ember-bootstrap v5". The Glyphicon warning
for Bootstrap 4/5 stays; it is a configuration hint.

README: the intro says Bootstrap 3, 4 or 5, and a new "About this fork"
section explains git-tag installs, the independent version numbers, and
that Bootstrap 3 and subclassing stay supported.

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