Skip to content
Merged
Show file tree
Hide file tree
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
4 changes: 2 additions & 2 deletions Gruntfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -316,8 +316,8 @@ grunt.initConfig( {
"jquery-3.7.1/jquery.js": "jquery-3.7.1/dist/jquery.js",
"jquery-3.7.1/LICENSE.txt": "jquery-3.7.1/LICENSE.txt",

"jquery-4.0.0-rc.1/jquery.js": "jquery-4.0.0-rc.1/dist/jquery.js",
"jquery-4.0.0-rc.1/LICENSE.txt": "jquery-4.0.0-rc.1/LICENSE.txt",
"jquery-4.0.0/jquery.js": "jquery-4.0.0/dist/jquery.js",
"jquery-4.0.0/LICENSE.txt": "jquery-4.0.0/LICENSE.txt",

"jquery-migrate-1.x/jquery-migrate.js":
"jquery-migrate-1.x/dist/jquery-migrate.js",
Expand Down
4 changes: 2 additions & 2 deletions bower.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,9 @@
"jquery-3.6.4": "jquery#3.6.4",
"jquery-3.7.0": "jquery#3.7.0",
"jquery-3.7.1": "jquery#3.7.1",
"jquery-4.0.0-rc.1": "jquery#4.0.0-rc.1",
"jquery-4.0.0": "jquery#4.0.0",
"jquery-migrate-1.x": "https://registry.npmjs.org/jquery-migrate/-/jquery-migrate-1.4.1.tgz",
"jquery-migrate-3.x": "https://registry.npmjs.org/jquery-migrate/-/jquery-migrate-3.6.0.tgz",
"jquery-migrate-4.x": "https://registry.npmjs.org/jquery-migrate/-/jquery-migrate-4.0.0-beta.1.tgz"
"jquery-migrate-4.x": "https://registry.npmjs.org/jquery-migrate/-/jquery-migrate-4.0.1.tgz"
}
}
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
/*!
* jQuery JavaScript Library v4.0.0-rc.1
* jQuery JavaScript Library v4.0.0
* https://jquery.com/
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license
* https://jquery.com/license/
*
* Date: 2025-08-11T16:40Z
* Date: 2026-01-18T00:20Z
*/
( function( global, factory ) {

Expand Down Expand Up @@ -116,7 +116,7 @@ function DOMEval( code, node, doc ) {
}
}

var version = "4.0.0-rc.1",
var version = "4.0.0",

rhtmlSuffix = /HTML$/i,

Expand Down Expand Up @@ -530,54 +530,20 @@ var whitespace = "[\\x20\\t\\r\\n\\f]";

var isIE = document$1.documentMode;

// Support: Chrome 105 - 111 only, Safari 15.4 - 16.3 only
// Make sure the `:has()` argument is parsed unforgivingly.
// We include `*` in the test to detect buggy implementations that are
// _selectively_ forgiving (specifically when the list includes at least
// one valid selector).
// Note that we treat complete lack of support for `:has()` as if it were
// spec-compliant support, which is fine because use of `:has()` in such
// environments will fail in the qSA path and fall back to jQuery traversal
// anyway.
try {
document$1.querySelector( ":has(*,:jqfake)" );
support.cssHas = false;
} catch ( e ) {
support.cssHas = true;
}

// Build QSA regex.
// Regex strategy adopted from Diego Perini.
var rbuggyQSA = [];

if ( isIE ) {
rbuggyQSA.push(

// Support: IE 9 - 11+
// IE's :disabled selector does not pick up the children of disabled fieldsets
":enabled",
":disabled",

// Support: IE 11+
// IE 11 doesn't find elements on a `[name='']` query in some cases.
// Adding a temporary attribute to the document before the selection works
// around the issue.
"\\[" + whitespace + "*name" + whitespace + "*=" +
whitespace + "*(?:''|\"\")"
);
}
var rbuggyQSA = isIE && new RegExp(

if ( !support.cssHas ) {
// Support: IE 9 - 11+
// IE's :disabled selector does not pick up the children of disabled fieldsets
":enabled|:disabled|" +

// Our regular `try-catch` mechanism fails to detect natively-unsupported
// pseudo-classes inside `:has()` (such as `:has(:contains("Foo"))`)
// in browsers that parse the `:has()` argument as a forgiving selector list.
// https://drafts.csswg.org/selectors/#relational now requires the argument
// to be parsed unforgivingly, but browsers have not yet fully adjusted.
rbuggyQSA.push( ":has" );
}
// Support: IE 11+
// IE 11 doesn't find elements on a `[name='']` query in some cases.
// Adding a temporary attribute to the document before the selection works
// around the issue.
"\\[" + whitespace + "*name" + whitespace + "*=" +
whitespace + "*(?:''|\"\")"

rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) );
);

var rtrimCSS = new RegExp(
"^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$",
Expand Down
32 changes: 28 additions & 4 deletions external/jquery-migrate-4.x/jquery-migrate.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*!
* jQuery Migrate - v4.0.0-beta.1 - 2025-08-11T21:16Z
* jQuery Migrate - v4.0.1 - 2026-01-18T00:35Z
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license
* https://jquery.com/license/
Expand All @@ -26,7 +26,7 @@
} )( function( jQuery, window ) {
"use strict";

jQuery.migrateVersion = "4.0.0-beta.1";
jQuery.migrateVersion = "4.0.1";

// Returns 0 if v1 == v2, -1 if v1 < v2, 1 if v1 > v2
function compareVersions( v1, v2 ) {
Expand Down Expand Up @@ -55,7 +55,7 @@ function jQueryVersionSince( version ) {
var disabledPatches = Object.create( null );

// Don't apply patches for specified codes. Helpful for code bases
// where some Migrate warnings have been addressed and it's desirable
// where some Migrate warnings have been addressed, and it's desirable
// to avoid needless patches or false positives.
jQuery.migrateDisablePatches = function() {
var i;
Expand Down Expand Up @@ -260,6 +260,10 @@ var arr = [],
splice = arr.splice,
class2type = {},

// Matches dashed string for camelizing
rmsPrefix = /^-ms-/,
rdashAlpha = /-([a-z])/g,

// Require that the "whitespace run" starts from a non-whitespace
// to avoid O(N^2) behavior when the engine would try matching "\s+$" at each space position.
rtrim = /^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;
Expand Down Expand Up @@ -338,6 +342,26 @@ migratePatchAndWarnFunc( jQuery, "isWindow",
"jQuery.isWindow() is removed"
);

migratePatchAndWarnFunc( jQuery, "now", Date.now, "now",
"jQuery.now() is removed; use Date.now()"
);

// Used by camelCase as callback to replace()
function fcamelCase( _all, letter ) {
return letter.toUpperCase();
}

migratePatchAndWarnFunc( jQuery, "camelCase",
function( string ) {

// Convert dashed to camelCase; used by the css and data modules
// Support: IE <=9 - 11, Edge 12 - 15
// Microsoft forgot to hump their vendor prefix (trac-9572)
return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
}, "camelCase",
"jQuery.camelCase() is removed"
);

// Bind a function to a context, optionally partially applying any
// arguments.
// jQuery.proxy is deprecated to promote standards (specifically Function#bind)
Expand Down Expand Up @@ -652,7 +676,7 @@ migratePatchFunc( jQuery.fn, "toggleClass", function( state ) {

// If the element has a class name or if we're passed `false`,
// then remove the whole classname (if there was one, the above saved it).
// Otherwise bring back whatever was previously saved (if anything),
// Otherwise, bring back whatever was previously saved (if anything),
// falling back to the empty string if nothing was stored.
if ( this.setAttribute ) {
this.setAttribute( "class",
Expand Down
2 changes: 1 addition & 1 deletion jtr-stable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ test-urls:

runs:
jquery:
- 4.0.0-rc.1
- 4.0.0
- 3.7.1
- 3.6.4
- 2.2.4
Expand Down
2 changes: 1 addition & 1 deletion tests/lib/qunit.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ QUnit.config.urlConfig.push( {
"3.5.0", "3.5.1",
"3.6.0", "3.6.1", "3.6.2", "3.6.3", "3.6.4",
"3.7.0", "3.7.1",
"4.0.0-rc.1",
"4.0.0",
"3.x-git", "git", "custom"
],
tooltip: "Which jQuery Core version to test against"
Expand Down
2 changes: 1 addition & 1 deletion tests/unit/subsuite.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ var versions = [
"3.5.0", "3.5.1",
"3.6.0", "3.6.1", "3.6.2", "3.6.3", "3.6.4",
"3.7.0", "3.7.1",
"4.0.0-rc.1",
"4.0.0",
"3.x-git", "git", "custom"
],
additionalTests = {
Expand Down