---
title: "Breaking: #101820 - Remove bootstrap jQuery interface and window.jQuery"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:breaking-101820"
source: "Changelog/13.0/Breaking-101820-RemoveBootstrapJQueryInterfaceAndWindowJQuery.rst"
typo3-version: "13.0"
typo3-major: 13
type: "breaking"
issue: 101820
forge: "https://forge.typo3.org/issues/101820"
tags: ["Backend", "JavaScript", "NotScanned", "ext:core"]
rendered: "2026-09-28T19:48:07+00:00"
---

# Breaking: #101820 - Remove bootstrap jQuery interface and window.jQuery {#breaking-101820}

See [forge#101820](https://forge.typo3.org/issues/101820)

## Description {#description}

The bootstrap jQuery interfaces required a global `window.jQuery` variable
to be set. The jquery drop-in is dropped in order to remove this non-optional
jQuery dependency.

As a side effect the `window.jQuery` global is removed as well.
Note that global jQuery usage has already been deprecated in [forge#86438](https://forge.typo3.org/issues/86438) and
removed in [forge#97243](https://forge.typo3.org/issues/97243) with the suggestion to use JavaScript modules instead.
`window.jQuery` was basically left in place for bootstrap to operate and
therefore only `window.$` was removed back then.

## Impact {#impact}

Loading the ES6 'bootstrap' module no longer has side effects, as the global
scope `window` is no longer polluted by writing to the property `jQuery`.
This also means jQuery will no longer be loaded when it is not actually needed.

## Affected Installations {#affected-installations}

All installations that use bootstrap's jQuery interface or applications that
use `window.jQuery` to invoke jQuery.

Following method calls are affected:

-   `$(…).alert()`
-   `$(…).button()`
-   `$(…).carousel()`
-   `$(…).collapse()`
-   `$(…).dropdown()`
-   `$(…).tab()`
-   `$(…).modal()`
-   `$(…).offcanvas()`
-   `$(…).popover()`
-   `$(…).scrollspy()`
-   `$(…).toast()`
-   `$(…).tooltip()`

## Migration {#migration}

Use bootstrap's ES6 exports `import { Carousel } from 'bootstrap';` instead.
