Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ lazy val www = project
"org.projectlombok" % "lombok" % "1.18.42" % Provided,
"org.webjars" %% "webjars-play" % "3.0.0",
"org.webjars" % "bootstrap" % "3.4.1" % Runtime,
"org.webjars" % "jquery" % "3.7.1" % Runtime,
"org.webjars" % "jquery" % "4.0.0" % Runtime,
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🌐 Web query:

jQuery 4.0.0 release notes breaking changes

💡 Result:

jQuery 4.0.0 was released January 17, 2026. (blog.jquery.com)

Breaking changes (highlights)

  • Dropped legacy browser support: IE 10 and older (plus other very old browsers like Edge Legacy, old iOS/Firefox/Android Browser). If you need them, stay on jQuery 3.x. (blog.jquery.com)
  • Deprecated APIs removed (use native equivalents instead), including: jQuery.isArray, jQuery.parseJSON, jQuery.trim, jQuery.type, jQuery.now, jQuery.isNumeric, jQuery.isFunction, jQuery.isWindow, jQuery.camelCase, jQuery.nodeName, jQuery.cssNumber, jQuery.cssProps, jQuery.fx.interval. (blog.jquery.com)
  • Removed internal-only jQuery object “Array-like” methods from jQuery.fn: push, sort, splice. (blog.jquery.com)
  • Focus/blur event order change: jQuery now follows the W3C spec order (no longer overriding native behavior), which can affect code depending on the old order. (blog.jquery.com)
  • Slim build got smaller: in jQuery 4, the slim build removes Deferreds and Callbacks (and the upgrade guide also calls out removals including queue in slim). (blog.jquery.com)

Other breaking changes called out in the official upgrade guide

  • Ajax
    • JSON→JSONP auto-promotion removed.
    • Scripts are no longer auto-executed unless dataType: "script".
    • Script tags now used for all async requests. (jquery.com)
  • Attributes: removed toggleClass( Boolean | undefined ) signature. (jquery.com)
  • Core: removed undocumented root parameter of jQuery.fn.init(). (jquery.com)
  • CSS: px no longer auto-added to most unitless values; opacity CSS hook removed. (jquery.com)
  • Deferred: removed jQuery.Deferred.getStackHook. (jquery.com)
  • Events: stop shimming focusin/focusout; jQuery.event.special no longer inherits from Object.prototype. (jquery.com)
  • Selector: dropped support for legacy custom pseudos. (jquery.com)

Citations:


🌐 Web query:

Bootstrap 3.4.1 jQuery 4.0.0 compatibility support

💡 Result:

Bootstrap 3.4.1 is not compatible/supported with jQuery 4.0.0. Bootstrap 3.4.1 declares a jQuery dependency of >= 1.9.1 and < 4.0.0, so installing jQuery 4.x is outside its supported range. [1]

If you need jQuery 4.0.0, you’ll generally need to upgrade off Bootstrap 3 (e.g., to Bootstrap 5 which drops jQuery entirely) or be prepared to patch Bootstrap 3/plugins for jQuery 4 breaking changes (and potentially use guidance like the jQuery 4 upgrade guide / Migrate during transition). [2][3]

Practical options:

  • Keep Bootstrap 3.4.1 → use jQuery 3.x (latest 3.x).
  • Move to jQuery 4.0.0 → upgrade Bootstrap (preferably Bootstrap 5).

Sources:
[1] Bootstrap 3.4.1 NuGet dependency listing (jQuery >=1.9.1 && <4.0.0) — https://www.nuget.org/packages/bootstrap/3.4.1
[2] jQuery 4.0 upgrade guide — https://jquery.com/upgrade-guide/4.0/
[3] jQuery 4.0.0 release announcement (breaking changes) — https://blog.jquery.com/2026/01/17/jquery-4-0-0/


🏁 Script executed:

#!/bin/bash
# Find jQuery usage patterns in the codebase
echo "=== Searching for frontend JavaScript files ==="
fd -e js -e coffee -e scala.html --max-results 50

echo -e "\n=== Looking for jQuery usage ==="
rg -l '\$\(' --type=js --type=coffee -g '!node_modules' -g '!dist' --max-count=20

echo -e "\n=== Checking for potentially deprecated jQuery patterns ==="
rg '\$\(.*\)\.live\(|\.andSelf\(|\.size\(\)|jQuery\.browser' --type=js --type=coffee -g '!node_modules' -C2

echo -e "\n=== Bootstrap version ==="
cat -n build.sbt | grep -i bootstrap

Repository: flowcommerce/dependency

Length of output: 2343


Revert jQuery update to 3.x or upgrade Bootstrap—jQuery 4.0.0 is incompatible with Bootstrap 3.4.1.

Bootstrap 3.4.1 explicitly declares jQuery dependency as >= 1.9.1 and < 4.0.0, making jQuery 4.0.0 unsupported and breaking at runtime. jQuery 4.0.0 (released January 17, 2026) includes significant breaking changes:

  • Removed deprecated APIs (jQuery.isArray, jQuery.parseJSON, jQuery.trim, jQuery.type, jQuery.now, etc.)
  • Ajax changes: JSON→JSONP auto-promotion removed; scripts no longer auto-executed
  • CSS changes: px no longer auto-added to unitless values
  • Event order changes: focus/blur now follow W3C spec

Either revert to jQuery 3.7.1 or upgrade Bootstrap to 5.x (which drops jQuery as a dependency).

🤖 Prompt for AI Agents
In `@build.sbt` at line 98, The jQuery webjar was bumped to 4.0.0 which is
incompatible with Bootstrap 3.4.1; revert the jQuery change by replacing the
dependency string "org.webjars" % "jquery" % "4.0.0" % Runtime with a 3.x
release (e.g. 3.7.1) so it satisfies Bootstrap 3.4.1's "< 4.0.0" requirement, or
alternatively upgrade your Bootstrap webjar to a 5.x artifact and remove/replace
jQuery usage; update any code relying on removed jQuery APIs if you choose the
Bootstrap upgrade path.

"org.webjars" % "bootstrap-social" % "5.0.0" % Runtime,
"io.flow" %% "lib-play-play29" % "0.8.79",
"io.flow" %% "lib-test-utils-play29" % "0.3.6" % Test,
Expand Down