{"id":169,"date":"2026-01-19T00:00:00","date_gmt":"2026-01-18T23:00:00","guid":{"rendered":"https:\/\/helloblog.io\/da\/jquery-4-0-0-er-landet-20-ar-senere-og-endelig-en-ny-major\/"},"modified":"2026-01-19T00:00:00","modified_gmt":"2026-01-18T23:00:00","slug":"jquery-4-0-0-er-landet-20-ar-senere-og-endelig-en-ny-major","status":"publish","type":"post","link":"https:\/\/helloblog.io\/da\/jquery-4-0-0-er-landet-20-ar-senere-og-endelig-en-ny-major\/","title":{"rendered":"jQuery 4.0.0 er landet: 20 \u00e5r senere, og endelig en ny major"},"content":{"rendered":"\n<p>Den 14. januar 2006 pr\u00e6senterede John Resig jQuery p\u00e5 BarCamp i New York. 20 \u00e5r senere har jQuery-teamet nu frigivet den endelige version af <strong>jQuery 4.0.0<\/strong> \u2013 efter en lang udviklingsperiode med flere pre-releases. Det er f\u00f8rste major release i n\u00e6sten 10 \u00e5r, og den indeholder (som forventet) en h\u00e5ndfuld breaking changes. Den gode nyhed er, at teamet forventer, at de fleste kan opgradere med minimale \u00e6ndringer.<\/p>\n\n\n\n<p>Mange af bruddene er pr\u00e6cis den slags \u00e6ndringer, man ikke har kunnet snige ind i en patch eller minor: der er sk\u00e5ret h\u00e5rdt i legacy-kode, fjernet tidligere deprecations, ryddet op i interne parametre som aldrig var dokumenteret, og droppet en del &#8220;magiske&#8221; adf\u00e6rde som gjorde koden un\u00f8digt kompleks.<\/p>\n\n\n\n<p>Hvis du planl\u00e6gger en opgradering, s\u00e5 brug de officielle hj\u00e6lpemidler: <strong>upgrade guiden<\/strong> p\u00e5 <https:\/\/jquery.com\/upgrade-guide\/4.0\/> og den opdaterede <strong>jQuery Migrate plugin release<\/strong> p\u00e5 <https:\/\/github.com\/jquery\/jquery-migrate\/>. Finder du problemer, beder teamet om issues p\u00e5 <https:\/\/github.com\/jquery\/jquery\/issues>.<\/p>\n\n\n\n<p>jQuery 4.0.0 kan hentes via jQuery\u2019s egen CDN og via npm. Tredjeparts-CDN\u2019er f\u00e5r typisk filerne kort efter, men jQuery-teamet styrer ikke deres releaseplaner.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Highlights i jQuery 4.0.0 (det, der reelt betyder noget ved opgradering)<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">IE<11 er droppet (men IE11 lever lidt endnu)<\/h3>\n\n\n\n<p>Den mest synlige \u00e6ndring er, at <strong>jQuery 4.0 dropper support for IE 10 og \u00e6ldre<\/strong>. Mange sp\u00f8rger naturligt: hvorfor ikke ogs\u00e5 IE11? Planen er at udfase i etaper, og n\u00e6ste skridt er planlagt til <strong>jQuery 5.0<\/strong> (se PR\u2019en: <https:\/\/github.com\/jquery\/jquery\/pull\/5077>). I 4.0 starter de med at fjerne kode, der specifikt underst\u00f8tter IE-versioner f\u00f8r 11.<\/p>\n\n\n\n<p>Samtidig er der ogs\u00e5 ryddet op i underst\u00f8ttelsen af andre meget gamle browsere: <strong>Edge Legacy<\/strong>, <strong>iOS-versioner tidligere end de sidste 3<\/strong>, <strong>Firefox-versioner tidligere end de sidste 2<\/strong> (med undtagelse af Firefox ESR) samt <strong>Android Browser<\/strong>. If\u00f8lge release-noten b\u00f8r du ikke skulle \u00e6ndre noget i din kode af den grund \u2013 men hvis du <em>skal<\/em> underst\u00f8tte de n\u00e6vnte browsere, er anbefalingen at blive p\u00e5 <strong>jQuery 3.x<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Trusted Types og CSP: f\u00e6rre konflikter med moderne sikkerhedspolitikker<\/h3>\n\n\n\n<p>jQuery 4.0 tilf\u00f8jer support for <strong>Trusted Types<\/strong> (et browser-sikkerhedskoncept til at begr\u00e6nse DOM XSS), s\u00e5 HTML indpakket i <strong>TrustedHTML<\/strong> kan bruges som input til jQuery-manipulationsmetoder uden at bryde Content Security Policy-direktivet <code>require-trusted-types-for<\/code>. Baggrund og reference: <https:\/\/twitter.com\/kkotowicz\/status\/1445713282128515074> og MDN om TrustedHTML: <https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/TrustedHTML>.<\/p>\n\n\n\n<p>P\u00e5 AJAX-siden er der ogs\u00e5 lavet en vigtig CSP-relateret justering: hvor nogle request-typer allerede brugte <code>&lt;script&gt;<\/code>-tags for at bevare attributter som <code>crossdomain<\/code>, er teamet nu g\u00e5et videre og har <strong>skiftet de fleste asynkrone script requests til at bruge <code>&lt;script&gt;<\/code>-tags<\/strong> for at undg\u00e5 CSP-fejl, der kan opst\u00e5 ved inline scripts. \u00c6ndringen er dokumenteret her: <https:\/\/github.com\/jquery\/jquery\/pull\/4763>.<\/p>\n\n\n\n<p>Der er dog stadig enkelte situationer, hvor XHR bruges til asynkrone script requests \u2013 fx hvis du bruger optionen <code>&quot;headers&quot;<\/code> (bem\u00e6rk release-notens anbefaling: brug <code>scriptAttrs<\/code> i stedet). Men n\u00e5r det er muligt, fors\u00f8ger jQuery 4.0 nu at bruge et <code>&lt;script&gt;<\/code>-tag.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">jQuery-kilden er migreret til ES modules (farvel AMD\/RequireJS i core)<\/h3>\n\n\n\n<p>En af de mest langsigtede moderniseringer er, at jQuery\u2019s kildekode p\u00e5 <code>main<\/code> er migreret fra <strong>AMD<\/strong> (Asynchronous Module Definition \u2013 typisk brugt via RequireJS) til <strong>ES modules<\/strong>. AMD-baggrund: <https:\/\/requirejs.org\/docs\/whyamd.html>. ES modules-arbejdet: <https:\/\/github.com\/jquery\/jquery\/pull\/4541>.<\/p>\n\n\n\n<p>Det lyder m\u00e5ske som intern oprydning, men det har praktisk betydning: jQuery\u2019s source har l\u00e6nge v\u00e6ret publiceret med releases p\u00e5 npm og GitHub, men kunne ikke importeres direkte som moduler uden RequireJS, som ogs\u00e5 var jQuery\u2019s foretrukne build tool. Nu er pakken bygget med <strong>Rollup<\/strong> (<https:\/\/rollupjs.org\/introduction\/>) og jQuery-teamet k\u00f8rer tests p\u00e5 ES modules separat. Resultatet er bedre kompatibilitet med moderne build tools og workflows \u2013 og mulighed for at bruge jQuery via <code>&lt;script type=module&gt;<\/code> i browsere, hvor det giver mening.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Fjernede deprecated APIs: mindre overflade, mere native JavaScript<\/h3>\n\n\n\n<p>jQuery 4.0 fjerner en r\u00e6kke API\u2019er, der har v\u00e6ret deprecated i flere versioner. Enten var de t\u00e6nkt som interne fra starten, eller ogs\u00e5 findes der nu native alternativer i alle browsere, som jQuery 4.0 underst\u00f8tter.<\/p>\n\n\n\n<p>De fjernede funktioner er:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><code>jQuery.isArray<\/code><\/li>\n\n\n<li><code>jQuery.parseJSON<\/code><\/li>\n\n\n<li><code>jQuery.trim<\/code><\/li>\n\n\n<li><code>jQuery.type<\/code><\/li>\n\n\n<li><code>jQuery.now<\/code><\/li>\n\n\n<li><code>jQuery.isNumeric<\/code><\/li>\n\n\n<li><code>jQuery.isFunction<\/code><\/li>\n\n\n<li><code>jQuery.isWindow<\/code><\/li>\n\n\n<li><code>jQuery.camelCase<\/code><\/li>\n\n\n<li><code>jQuery.nodeName<\/code><\/li>\n\n\n<li><code>jQuery.cssNumber<\/code><\/li>\n\n\n<li><code>jQuery.cssProps<\/code><\/li>\n\n\n<li><code>jQuery.fx.interval<\/code><\/li>\n\n<\/ul>\n\n\n\n<p>I praksis er det tid til at g\u00e5 all-in p\u00e5 native: <code>Array.isArray()<\/code>, <code>JSON.parse()<\/code>, <code>String.prototype.trim()<\/code> og <code>Date.now()<\/code> er n\u00e6vnt direkte som eksempler.<\/p>\n\n\n\n<p>Kombinationen af at fjerne deprecated API\u2019er og droppe gammel IE-support har givet en st\u00f8rrelsesreduktion p\u00e5 <strong>over 3k bytes gzippet<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Interne Array-metoder er v\u00e6k fra jQuery prototype<\/h3>\n\n\n\n<p>jQuery\u2019s prototype har l\u00e6nge haft Array-metoder, der aldrig opf\u00f8rte sig som \u00f8vrige jQuery-metoder og altid var tilt\u00e6nkt intern brug: <code>push<\/code>, <code>sort<\/code> og <code>splice<\/code>. I 4.0 er de <strong>fjernet fra jQuery-prototypen<\/strong>.<\/p>\n\n\n\n<p>Hvis du (bevidst eller ubevidst) har brugt dem, peger release-noten p\u00e5 en konkret erstatning: <code>$elems.push( elem )<\/code> kan skiftes til <code>[].push.call( $elems, elem )<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Focus\/blur-eventr\u00e6kkef\u00f8lge f\u00f8lger nu W3C-spec (breaking change)<\/h3>\n\n\n\n<p>Historisk har browsere v\u00e6ret uenige om r\u00e6kkef\u00f8lgen af focus- og blur-events: <code>focusin<\/code>, <code>focusout<\/code>, <code>focus<\/code> og <code>blur<\/code>. Nu er de nyeste versioner af alle browsere, som jQuery 4.0 underst\u00f8tter, endelig konvergeret om samme r\u00e6kkef\u00f8lge \u2013 men den er ikke den r\u00e6kkef\u00f8lge, jQuery valgte for mange \u00e5r siden. Derfor er det en breaking change.<\/p>\n\n\n\n<p>Fra og med jQuery 4.0 <strong>overrider jQuery ikke l\u00e6ngere browsernes native adf\u00e6rd<\/strong>. Det betyder, at alle browsere undtagen IE f\u00f8lger den nuv\u00e6rende W3C-specifikation:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n\n<li>blur<\/li>\n\n\n<li>focusout<\/li>\n\n\n<li>focus<\/li>\n\n\n<li>focusin<\/li>\n\n<\/ol>\n\n\n\n<p>jQuery\u2019s r\u00e6kkef\u00f8lge i tidligere versioner var: <code>focusout<\/code>, <code>blur<\/code>, <code>focusin<\/code>, <code>focus<\/code>. Som en ironisk detalje n\u00e6vner teamet, at den eneste browser, der fulgte den gamle W3C-spec (f\u00f8r opdateringen i 2023), var Internet Explorer.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Slim build er opdateret og endnu mindre<\/h3>\n\n\n\n<p>Slim build bliver endnu mindre i jQuery 4.0.0, bl.a. ved at fjerne <strong>Deferreds<\/strong> og <strong>Callbacks<\/strong>. Den ligger nu omkring <strong>19.5k bytes gzippet<\/strong>.<\/p>\n\n\n\n<p>Deferreds har l\u00e6nge underst\u00f8ttet <strong>Promises\/A+<\/strong> (<https:\/\/promisesaplus.com\/>), s\u00e5 i de fleste tilf\u00e6lde kan du skifte til native <code>Promise<\/code>. Native Promises findes i alle browsere, jQuery underst\u00f8tter \u2013 <strong>undtagen IE11<\/strong>. Deferreds har dog nogle ekstra features, som native Promises ikke har, men meget kan flyttes over p\u00e5 almindelige Promise-metoder.<\/p>\n\n\n\n<p>Hvis du skal underst\u00f8tte IE11, anbefaler release-noten enten at bruge main build, eller at tilf\u00f8je en polyfill for native Promises.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Download og installation<\/h2>\n\n\n\n<p>Du kan hente jQuery 4.0.0 fra jQuery CDN eller linke direkte:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><https:\/\/code.jquery.com\/jquery-4.0.0.js><\/li>\n\n\n<li><https:\/\/code.jquery.com\/jquery-4.0.0.min.js><\/li>\n\n<\/ul>\n\n\n\n<p>Via npm installerer du s\u00e5dan her:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>npm install jquery@4.0.0\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#B392F0\">npm<\/span><span style=\"color:#9ECBFF\"> install<\/span><span style=\"color:#9ECBFF\"> jquery@4.0.0<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Slim build (n\u00e5r du ikke har brug for det hele)<\/h3>\n\n\n\n<p>Slim-varianten er relevant, hvis du fx ikke har brug for ajax (eller hellere vil bruge et dedikeret ajax-bibliotek), og hvis dine animationer i praksis kan klares med CSS plus class-manipulation. Da alle underst\u00f8ttede browsere (igen: <strong>undtagen IE11<\/strong>) har native Promises, er Deferreds og Callbacks typisk overfl\u00f8dige for mange setups.<\/p>\n\n\n\n<p>Selvom jQuery sj\u00e6ldent er en reel performance-flaskehals i 2026, er slim build if\u00f8lge release-noten ca. <strong>8k gzippede bytes<\/strong> mindre end den normale build. Filerne findes ogs\u00e5 p\u00e5 CDN og i npm-pakken:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><https:\/\/code.jquery.com\/jquery-4.0.0.slim.js><\/li>\n\n\n<li><https:\/\/code.jquery.com\/jquery-4.0.0.slim.min.js><\/li>\n\n<\/ul>\n\n\n\n<p>Release-noten n\u00e6vner ogs\u00e5, at disse opdateringer allerede er tilg\u00e6ngelige som current versions p\u00e5 npm og Bower, og at alle m\u00e5der at hente jQuery p\u00e5 er samlet her: <https:\/\/jquery.com\/download\/>. Offentlige CDNs modtager deres kopier i dag, men det kan tage et par dage, f\u00f8r filerne er publiceret.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Changelog: de vigtigste tekniske \u00e6ndringer (fuld liste)<\/h2>\n\n\n\n<p>Den komplette changelog kan l\u00e6ses som et diff fra 3.7.1 til 4.0.0 her: <https:\/\/github.com\/jquery\/jquery\/compare\/3.7.1...4.0.0>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Ajax<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Don&#8217;t treat array data as binary (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/992a1911d0b6195012edc25fd5a48810d4be64b5\">992a1911<\/a>)<\/li>\n\n\n<li>Allow <code>processData: true<\/code> even for binary data (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/ce264e0789116e37fe371503537a217c038dfae8\">ce264e07<\/a>)<\/li>\n\n\n<li>Support binary data (including FormData) (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/a7ed9a7b6364273b1b964fd2cf9691dec2cbec6b\">a7ed9a7b<\/a>)<\/li>\n\n\n<li>Support <code>headers<\/code> for script transport even when cross-domain (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/5142\">#5142<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/6d1364431b63b0d3bbe1c5fd604131f9db453396\">6d136443<\/a>)<\/li>\n\n\n<li>Support <code>null<\/code> as success functions in <code>jQuery.get<\/code> (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4989\">#4989<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/74978b7e892537559850cda7332bdab8106e6354\">74978b7e<\/a>)<\/li>\n\n\n<li>Don&#8217;t auto-execute scripts unless dataType provided (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4822\">#4822<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/025da4dd343e6734f3d3c1b4785b1548498115d8\">025da4dd<\/a>)<\/li>\n\n\n<li>Make responseJSON work for erroneous same-domain JSONP requests (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/68b4ec59c8f290d680e9db4bc980655660817dd1\">68b4ec59<\/a>)<\/li>\n\n\n<li>Execute JSONP error script responses (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4771\">#4771<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/a1e619b03a557b47c3e26a5e74af12b63a0d5e73\">a1e619b0<\/a>)<\/li>\n\n\n<li>Avoid CSP errors in the script transport for async requests (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/3969\">#3969<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/07a8e4a177550025c1a08d7ac754839733943f55\">07a8e4a1<\/a>)<\/li>\n\n\n<li>Drop the json to jsonp auto-promotion logic (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/1799\">#1799<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/3376\">#3376<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/e7b3bc488d01d584262e12a7c5c25f935d0d034b\">e7b3bc48<\/a>)<\/li>\n\n\n<li>Overwrite s.contentType with content-type header value, if any (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4119\">#4119<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/7fb90a6beaeffe16699800f73746748f6a5cc2de\">7fb90a6b<\/a>)<\/li>\n\n\n<li>Deprecate AJAX event aliases, inline event\/alias into deprecated (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/23d53928f383b0e7440bf4b08b7524e6af232fad\">23d53928<\/a>)<\/li>\n\n\n<li>Do not execute scripts for unsuccessful HTTP responses (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4250\">#4250<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/50871a5a85cc802421b40cc67e2830601968affe\">50871a5a<\/a>)<\/li>\n\n\n<li>Simplify jQuery.ajaxSettings.xhr (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/1967\">#1967<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/abdc89ac2e581392b800c0364e0f5f2b6a82cdc6\">abdc89ac<\/a>)<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Attributes<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Make <code>.attr( name, false )<\/code> remove for all non-ARIA attrs (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/5388\">#5388<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/063831b6378d518f9870ec5c4f1e7d5d16e04f36\">063831b6<\/a>)<\/li>\n\n\n<li>Shave off a couple of bytes (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/b40a4807b604efbde51faf075d11e25441af1990\">b40a4807<\/a>)<\/li>\n\n\n<li>Don&#8217;t stringify attributes in the setter (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4948\">#4948<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/4250b628783d7bfa92ec6c5550c6e4b22fab6034\">4250b628<\/a>)<\/li>\n\n\n<li>Drop the <code>toggleClass(boolean|undefined)<\/code> signature (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/3388\">#3388<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/a4421101fd6d9d7b0550210f8e8690641733dd9a\">a4421101<\/a>)<\/li>\n\n\n<li>Refactor val(): don&#8217;t strip carriage return, isolate IE workarounds (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/ff2819911da6cbbed5ee42c35d695240f06e65e3\">ff281991<\/a>)<\/li>\n\n\n<li>Don&#8217;t set the type attr hook at all outside of IE (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/9e66fe9acf0ef27681f5a21149fc61678f791641\">9e66fe9a<\/a>)<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">CSS<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Fix dimensions of table <code>&lt;col&gt;<\/code> elements (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/5628\">#5628<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/eca2a56457e1c40c071aeb3ac87efeb8bbb8013e\">eca2a564<\/a>)<\/li>\n\n\n<li>Drop the cache in finalPropName (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/640d5825df5ff223560c5690f1a268681c32f9fa\">640d5825<\/a>)<\/li>\n\n\n<li>Tests: Fix tests &#038; support tests under CSS Zoom (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/5489\">#5489<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/071f6dba6bd1d8db3f36ce4694aab5ff437b9e36\">071f6dba<\/a>)<\/li>\n\n\n<li>Fix reliableTrDimensions support test for initially hidden iframes (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/b1e66a5faaf46ffcbcc27c79a9a224aaf851a987\">b1e66a5f<\/a>)<\/li>\n\n\n<li>Selector: Align with 3.x, remove the outer <code>selector.js<\/code> wrapper (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/53cf7244da2a2040333335c36e435b1c12efdff9\">53cf7244<\/a>)<\/li>\n\n\n<li>Make the reliableTrDimensions support test work with Bootstrap CSS (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/5270\">#5270<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/65b85031fb5688361c077bc04e641e4b502671e1\">65b85031<\/a>)<\/li>\n\n\n<li>Make <code>offsetHeight( true )<\/code>, etc. include negative margins (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/3982\">#3982<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/bce13b72c1753e16cc0db53ebf0f0456bdcf6b48\">bce13b72<\/a>)<\/li>\n\n\n<li>Return <code>undefined<\/code> for whitespace-only CSS variable values (#5120) (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/7eb0019640a5856c42b451551eb7f995d913eba9\">7eb00196<\/a>)<\/li>\n\n\n<li>Don&#8217;t trim whitespace of undefined custom property (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/5105\">#5105<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/ed306c0261ab63746040e5d58bb4477c3069a427\">ed306c02<\/a>)<\/li>\n\n\n<li>Skip falsy values in <code>addClass( array )<\/code>, compress code (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4998\">#4998<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/a338b407f2479f82df40635055effc163835183f\">a338b407<\/a>)<\/li>\n\n\n<li>Justify use of rtrim on CSS property values (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/655c0ed5e204b1f6427e09d615a49586a7bc84eb\">655c0ed5<\/a>)<\/li>\n\n\n<li>Trim whitespace surrounding CSS Custom Properties values (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4926\">#4926<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/efadfe991a5c287af561a9326bf1427d726c91c1\">efadfe99<\/a>)<\/li>\n\n\n<li>Include <code>show<\/code>, <code>hide<\/code> &#038; <code>toggle<\/code> methods in the jQuery slim build (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/297d18dd13f7b810ea5a4afeefa4cb15d9e16e16\">297d18dd<\/a>)<\/li>\n\n\n<li>Remove the opacity CSS hook (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/865469f5e60f55feb28469bb0a7526dd22f04b4e\">865469f5<\/a>)<\/li>\n\n\n<li>Workaround buggy getComputedStyle on table rows in IE\/Edge (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4490\">#4490<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/26415e081b318dbe1d46d2b7c30e05f14c339b75\">26415e08<\/a>)<\/li>\n\n\n<li>Don&#8217;t automatically add &#8220;px&#8221; to properties with a few exceptions (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/2795\">#2795<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/00a9c2e5f4c855382435cec6b3908eb9bd5a53b7\">00a9c2e5<\/a>)<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Core<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Remove obsolete workarounds, update support comments (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/e2fe97b7f15cf5ee2e44566b381f7bf214e491b1\">e2fe97b7<\/a>)<\/li>\n\n\n<li>Switch <code>$.parseHTML<\/code> from <code>document.implementation<\/code> to <code>DOMParser<\/code> (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/0e123509d529456ddf130abb97e6266b53f62c50\">0e123509<\/a>)<\/li>\n\n\n<li>Fix the exports setup to make bundlers work with ESM &#038; CommonJS (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/5416\">#5416<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/60f11b58bfeece6b6d0189d7d19b61a4e1e61139\">60f11b58<\/a>)<\/li>\n\n\n<li>Add more info about named exports (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/5f869590924b7dea6a16d176b18700939f4b5290\">5f869590<\/a>)<\/li>\n\n\n<li>Simplify code post browser support reduction (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/93ca49e6d1ac23fee33b3bc3b7f4d93dd1a25cb7\">93ca49e6<\/a>)<\/li>\n\n\n<li>Move the factory to separate exports (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/46f6e3da796ee9d28c7c1428793b72d66bcbb0b7\">46f6e3da<\/a>)<\/li>\n\n\n<li>Use named exports in <code>src\/<\/code> (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/5262\">#5262<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/f75daab09102a4dd5107deadb55d4a169f86254a\">f75daab0<\/a>)<\/li>\n\n\n<li>Fix regression in jQuery.text() on HTMLDocument objects (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/5264\">#5264<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/a75d6b52fad212820358e8ada3154f2f634e699b\">a75d6b52<\/a>)<\/li>\n\n\n<li>Selector: Move jQuery.contains from the selector to the core module (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/024d87195ac46690023e2b0b308d4406a8a5a27e\">024d8719<\/a>)<\/li>\n\n\n<li>Drop the root parameter of jQuery.fn.init (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/d2436df36a4b2ef556907e734a90771f0dbdbcaf\">d2436df3<\/a>)<\/li>\n\n\n<li>Don&#8217;t rely on splice being present on input (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/9c6f64c7b51d50e334ef1183e2937ad77c0a68b0\">9c6f64c7<\/a>)<\/li>\n\n\n<li>Manipulation: Add basic TrustedHTML support (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4409\">#4409<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/de5398a6ad088dc006b46c6a870a2a053f4cd663\">de5398a6<\/a>)<\/li>\n\n\n<li>Report browser errors in parseXML (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4784\">#4784<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/8969732518470a7f8e654d5bc5be0b0076cb0b87\">89697325<\/a>)<\/li>\n\n\n<li>Make jQuery.isXMLDoc accept falsy input (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4782\">#4782<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/fd421097c56696e4c1c4a99c1aae44c59a722be4\">fd421097<\/a>)<\/li>\n\n\n<li>Drop support for Edge Legacy (i.e. non-Chromium Microsoft Edge) (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4568\">#4568<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/e35fb62db4fb46f031056bb53e393982c03972a1\">e35fb62d<\/a>)<\/li>\n\n\n<li>Fire iframe script in its context, add doc param in globalEval (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4518\">#4518<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/4592595b478be979141ce35c693dbc6b65647173\">4592595b<\/a>)<\/li>\n\n\n<li>Exclude callbacks &#038; deferred modules in the slim build as well (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/fbc44f52fe76e1b601da76a1d7f8ef27884c06da\">fbc44f52<\/a>)<\/li>\n\n\n<li>Migrate from AMD to ES modules \ud83c\udf89 (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/d0ce00cdfa680f1f0c38460bc51ea14079ae8b07\">d0ce00cd<\/a>)<\/li>\n\n\n<li>Use Array.prototype.flat where supported (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4320\">#4320<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/9df4f1de12728b44a4b0f91748f12421008d9079\">9df4f1de<\/a>)<\/li>\n\n\n<li>Remove private copies of push, sort &#038; splice from the jQuery prototype (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/b59107f5d7451ac16a7c8755128719be6ec8bf12\">b59107f5<\/a>)<\/li>\n\n\n<li>Implement .even() &#038; .odd() to replace POS :even &#038; :odd (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/78420d427cf3734d9264405fcbe08b76be182a95\">78420d42<\/a>)<\/li>\n\n\n<li>Deprecate jQuery.trim (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4363\">#4363<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/5ea5946094784f68437ef26d463dfcfbbbaff1f6\">5ea59460<\/a>)<\/li>\n\n\n<li>Remove IE-specific support tests, rely on document.documentMode (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4386\">#4386<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/3527a3840585e6a359cd712591c9c57398357b9b\">3527a384<\/a>)<\/li>\n\n\n<li>Drop support for IE <11, iOS <11, Firefox <65, Android Browser &#038; PhantomJS (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/3950\">#3950<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4299\">#4299<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/cf84696fd1d7fe314a11492606529b5a658ee9e3\">cf84696f<\/a>)<\/li>\n\n\n<li>Remove deprecated jQuery APIs (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4056\">#4056<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/58f0c00bed695f934bb205c6115e5fe99dd5c27b\">58f0c00b<\/a>)<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Data<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Refactor to reduce size (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/805cdb43fd02c3a5783c06b5ec2c9519be0682ab\">805cdb43<\/a>)<\/li>\n\n\n<li>Event:Manipulation: Prevent collisions with Object.prototype (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/3256\">#3256<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/9d76c0b163675505d1a901e5fe5249a2c55609bc\">9d76c0b1<\/a>)<\/li>\n\n\n<li>Separate data &#038; css\/effects camelCase implementations (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/3355\">#3355<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/8fae21200e80647fec4389995c4879948d11ad66\">8fae2120<\/a>)<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Deferred<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Rename <code>getStackHook<\/code> to <code>getErrorHook<\/code> (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/5201\">#5201<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/258ca1ec6a373f85f7849308c967b7e6a993e6e7\">258ca1ec<\/a>)<\/li>\n\n\n<li>Respect source maps in jQuery.Deferred.exceptionHook (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/3179\">#3179<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/0b9c5037f707a0b8e0dbb11776b690ae7dde7123\">0b9c5037<\/a>)<\/li>\n\n\n<li>Rename master to primary (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/a32cf6324f8f2190e66a687e94be9687ebf840b7\">a32cf632<\/a>)<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Deprecated<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Define <code>.hover()<\/code> using non-deprecated methods (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/fd6ffc5eb2c12562f2656d2f33865448420252be\">fd6ffc5e<\/a>)<\/li>\n\n\n<li>Remove jQuery.trim (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/0b676ae12d20721e2df6f6f32f37f7302f8805bf\">0b676ae1<\/a>)<\/li>\n\n\n<li>Fix AMD parameter order (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/f810080e8e92278bb5288cba7cc0169481471780\">f810080e<\/a>)<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Dimensions<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Add offset prop fallback to FF for unreliable TR dimensions (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4529\">#4529<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/3bbbc11111840d6fd5160db13f2c1a9acb05c4c4\">3bbbc111<\/a>)<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Docs<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Fix some minor issues in comments (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/e4d4dd81bfb0c27c9a557746035738319253a30c\">e4d4dd81<\/a>)<\/li>\n\n\n<li>update herodevs link in README (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/5695\">#5695<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/093e63f92a5843c2d73fd953454cc6307fe8025c\">093e63f9<\/a>)<\/li>\n\n\n<li>Align CONTRIBUTING.md with <code>3.x-stable<\/code> (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/d92810614b53270a8f014db14022887ee3383fd5\">d9281061<\/a>)<\/li>\n\n\n<li>Update CONTRIBUTING.md (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/4ef25b0de4a847f14ba2f88e309eaf759e035d78\">4ef25b0d<\/a>)<\/li>\n\n\n<li>add version support section to README (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/cbc2bc1fd37bb6af5d2c60cf666265c4d438200f\">cbc2bc1f<\/a>)<\/li>\n\n\n<li>Update remaining HTTP URLs to HTTPS (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/7cdd8374234b77a3c70dd511a1b06066afb146bb\">7cdd8374<\/a>)<\/li>\n\n\n<li>Fix module links in the package README (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/ace646f6e83e653f666ba715c200739f1cbdba52\">ace646f6<\/a>)<\/li>\n\n\n<li>update watch task in CONTRIBUTING.md (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/77d6ad7172db3ae11573df7b322d410b161eb43e\">77d6ad71<\/a>)<\/li>\n\n\n<li>Fix typos found by codespell (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/620870a1af5287d29c77ec6d5f973116b23793a7\">620870a1<\/a>)<\/li>\n\n\n<li>remove stale gitter badge from readme (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/67cb1af7740a956e150e8d93266c4e601f55e8a4\">67cb1af7<\/a>)<\/li>\n\n\n<li>Remove the &#8220;Grunt build&#8221; section from the PR template (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/988a56847de301ce18a653f84b07c5af432a269f\">988a5684<\/a>)<\/li>\n\n\n<li>Remove stale badge from README (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/bcd9c2bc3ddaa04f89f550681ca9c1ec5efc4328\">bcd9c2bc<\/a>)<\/li>\n\n\n<li>Update the README of the published package (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/edccabf10d37b57cbd4eeebc44f3acb67cb2739c\">edccabf1<\/a>)<\/li>\n\n\n<li>Remove git.io from a GitHub Actions comment (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/016872ffe03ab9107b1bc62fae674a4809c3b23f\">016872ff<\/a>)<\/li>\n\n\n<li>Update webpack website in README (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/01819bc3bcc44282e5bb9301c3478d837d1e5152\">01819bc3<\/a>)<\/li>\n\n\n<li>add link to patchwelcome and help wanted issues (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/924b7ce825962bfe4c16e02eb411c7f66ee75a55\">924b7ce8<\/a>)<\/li>\n\n\n<li>add link to preview the new CLAs (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/683ceb8ff067ac53a7cb464ba1ec3f88e353e3f5\">683ceb8f<\/a>)<\/li>\n\n\n<li>Fix incorrect <code>trac-NUMBER<\/code> references (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/eb9ceb2facbeff1c66a41824bd0ac0c56d0d5c62\">eb9ceb2f<\/a>)<\/li>\n\n\n<li>remove expired links from old jquery source (#4997) (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/ed066ac70270b4bb20b5717501d2d268ef144bd3\">ed066ac7<\/a>)<\/li>\n\n\n<li>Remove links to Web Archive from source (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4981\">#4981<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/e24f2dcf3f6bda1a672502e0233c732065cbbe89\">e24f2dcf<\/a>)<\/li>\n\n\n<li>Replace <code>#NUMBER<\/code> Trac issue references with <code>trac-NUMBER<\/code> (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/5d5ea015114092c157311c4948f7cc3d8c8e7f8a\">5d5ea015<\/a>)<\/li>\n\n\n<li>Update the URL to the latest jQuery build in CONTRIBUTING.md (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/9bdb16cd19097da67950a707baac3980bda873f3\">9bdb16cd<\/a>)<\/li>\n\n\n<li>Remove the CLA checkbox in the pull request template (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/e124893132d7a979d7987f978e968a1f889348b6\">e1248931<\/a>)<\/li>\n\n\n<li>update irc to Libera and fix LAMP dead link (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/175db73ec7938e774d9e93d3afdfb35a24466b47\">175db73e<\/a>)<\/li>\n\n\n<li>Update Frequently Reported Issues in the GitHub issue template (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/7a6fae6a7e51ae30a9f3177e8639fbf523ed0915\">7a6fae6a<\/a>)<\/li>\n\n\n<li>Change JS Foundation mentions to OpenJS Foundation (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/11611967adf2bd9ff4304132f917629ec1134049\">11611967<\/a>)<\/li>\n\n\n<li>add SECURITY.md, show security email address (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/2ffe54ca53b4ba2de2012f83c3faf262c1003af9\">2ffe54ca<\/a>)<\/li>\n\n\n<li>Fix typos (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/1a7332ce83cdee7d6cd9d45c2a4b83067f53f14b\">1a7332ce<\/a>)<\/li>\n\n\n<li>Update the link to the jsdom repository (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/a62309e01b3c76d2b73560ca666c454b7bbfcb77\">a62309e0<\/a>)<\/li>\n\n\n<li>Use https for hyperlinks in README (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/73415da25d964ee31ec1804d55f5af0199a1378e\">73415da2<\/a>)<\/li>\n\n\n<li>Remove a mention of the event\/alias.js module from README (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/3edfa1bcdc50bca41ac58b2642b12f3feee03a3b\">3edfa1bc<\/a>)<\/li>\n\n\n<li>Update links to EdgeHTML issues to go through Web Archive (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/1dad1185e0b2ca2a13bf411558eda75fb2d4da88\">1dad1185<\/a>)<\/li>\n\n\n<li>direct users to GitHub docs for cloning the repo (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/f1c16de29689d2cfaf629f00d682148e99753509\">f1c16de2<\/a>)<\/li>\n\n\n<li>Change OS X to macOS in README (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/5a3e0664d261422f11a78faaf101d70c73b3a5a8\">5a3e0664<\/a>)<\/li>\n\n\n<li>Update most URLs to HTTPS (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/f09d92100ffff6208211b200ed0cdc39bfd17fc3\">f09d9210<\/a>)<\/li>\n\n\n<li>Convert link to Homebrew from HTTP to HTTPS (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/e0022f23144fd1dc6db86a5d8c18af47bc14f0f3\">e0022f23<\/a>)<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Effect<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Fix a unnecessary conditional statement in .stop() (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4374\">#4374<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/110802c7f22b677ef658963aa95ebdf5cb9c5573\">110802c7<\/a>)<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Effects<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Remove jQuery.fx.interval (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/6c2c7362fb18d3df7c2a7b13715c2763645acfcb\">6c2c7362<\/a>)<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Event<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Use <code>.preventDefault()<\/code> in beforeunload (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/7c123dec4b96e7c3ce5f5a78e828c8aa335bea98\">7c123dec<\/a>)<\/li>\n\n\n<li>Increase robustness of an inner native event in leverageNative (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/5459\">#5459<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/527fb3dcf0dcde69302a741dfc61cbfa58e99eb0\">527fb3dc<\/a>)<\/li>\n\n\n<li>Avoid collisions between jQuery.event.special &#038; Object.prototype (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/bcaeb000b777c018ad5d18e01be5060caa8cb158\">bcaeb000<\/a>)<\/li>\n\n\n<li>Simplify the check for saved data in leverageNative (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/dfe212d5a1eed6b4a67d1cbd04ece09bbac33699\">dfe212d5<\/a>)<\/li>\n\n\n<li>Make trigger(focus\/blur\/click) work with native handlers (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/5015\">#5015<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/6ad3651dbfea9e9bb56e608f72b4ef2f97bd4e70\">6ad3651d<\/a>)<\/li>\n\n\n<li>Simulate focus\/blur in IE via focusin\/focusout (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4856\">#4856<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4859\">#4859<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4950\">#4950<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/ce60d31893deab7d3da592b5173e90b5d50e7732\">ce60d318<\/a>)<\/li>\n\n\n<li>Don&#8217;t break focus triggering after <code>.on(focus).off(focus)<\/code> (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4867\">#4867<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/e539bac79e666bba95bba86d690b4e609dca2286\">e539bac7<\/a>)<\/li>\n\n\n<li>Make focus re-triggering not focus the original element back (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4382\">#4382<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/dbcffb396c2db61ff96edc4162602e850797d61f\">dbcffb39<\/a>)<\/li>\n\n\n<li>Don&#8217;t crash if an element is removed on blur (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4417\">#4417<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/5c2d08704e289dd2745bcb0557b35a9c0e6af4a4\">5c2d0870<\/a>)<\/li>\n\n\n<li>Remove the event.which shim (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/3235\">#3235<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/1a5fff4c169dbaa2df72c656868bcf60ed4413d0\">1a5fff4c<\/a>)<\/li>\n\n\n<li>remove jQuery.event.global (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/18db87172cffbe48b92e30b70249e304863a70f9\">18db8717<\/a>)<\/li>\n\n\n<li>Only attach events to objects that accept data &#8212; for real (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4397\">#4397<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/d5c505e35d8c74ce8e9d99731a1a7eab0e0d911c\">d5c505e3<\/a>)<\/li>\n\n\n<li>Stop shimming focusin &#038; focusout events (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4300\">#4300<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/8a741376937dfacf9f82b2b88f93b239fe267435\">8a741376<\/a>)<\/li>\n\n\n<li>Prevent leverageNative from registering duplicate dummy handlers (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/eb6c0a7c97b1b3cf00144de12d945c9c569f935c\">eb6c0a7c<\/a>)<\/li>\n\n\n<li>Fix handling of multiple async focus events (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4350\">#4350<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/ddfa83766478268391bc9da96683fc0d4973fcfe\">ddfa8376<\/a>)<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Manipulation<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Make jQuery.cleanData not skip elements during cleanup (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/5214\">#5214<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/3cad5c435aa2333c39baa55a8bceb2b6bf1e2721\">3cad5c43<\/a>)<\/li>\n\n\n<li>Generalize a test to support IE (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/88690ebfc8b5ef8b1e444326c664b590ecc0b888\">88690ebf<\/a>)<\/li>\n\n\n<li>Support $el.html(selfRemovingScript) (#5378) (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/5377\">#5377<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/937923d9ee8dfd19008447b5059cbd13ee5a23ac\">937923d9<\/a>)<\/li>\n\n\n<li>Extract domManip to a separate file (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/ee6e874075ba1fcd8f9e62cd1ee5c04f6518b6d6\">ee6e8740<\/a>)<\/li>\n\n\n<li>Don&#8217;t remove HTML comments from scripts (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4904\">#4904<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/2f8f39e457c32c454c50545b0fdaa1d7a4a2f8bd\">2f8f39e4<\/a>)<\/li>\n\n\n<li>Respect script crossorigin attribute in DOM manipulation (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4542\">#4542<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/15ae361485056b236a9484a185238f992806e1ff\">15ae3614<\/a>)<\/li>\n\n\n<li>Avoid concatenating strings in buildFragment (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/9c98e4e86eda857ee063bc48adbc1a11bb5506ee\">9c98e4e8<\/a>)<\/li>\n\n\n<li>Make jQuery.htmlPrefilter an identity function (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/90fed4b453a5becdb7f173d9e3c1492390a1441f\">90fed4b4<\/a>)<\/li>\n\n\n<li>Selector: Use the nodeName util where possible to save size (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/4504fc3d722dd029d861cb47aa65a5edc651c4d3\">4504fc3d<\/a>)<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Offset<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Increase search depth when finding the &#8216;real&#8217; offset parent (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/556eaf4a193287c306d163635cbb5f5c95a22a84\">556eaf4a<\/a>)<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Release<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>4.0.0 (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/4f2fae08f23b54ce09322e62e73cce6161b8d3cb\">4f2fae08<\/a>)<\/li>\n\n\n<li>remove dist files from main branch (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/c838cfb5bb0c6cd17cfaa1dd83aca8d20589de99\">c838cfb5<\/a>)<\/li>\n\n\n<li>4.0.0-rc.2 (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/97525193735ed32c332f0dbaf2f782df8b1b949b\">97525193<\/a>)<\/li>\n\n\n<li>Update AUTHORS.txt (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/c128d5d8a8fd9e9b3dcd3efa493e71f6a1649bd8\">c128d5d8<\/a>)<\/li>\n\n\n<li>Fix release issues uncovered during the 4.0.0-rc.1 release (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/a5b0c4318df748e5a0fe27d23820c60029d26b90\">a5b0c431<\/a>)<\/li>\n\n\n<li>remove dist files from main branch (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/9d06c6dd6f84bb0ae49e7c7445282ebb93b7b226\">9d06c6dd<\/a>)<\/li>\n\n\n<li>4.0.0-rc.1 (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/586182f35e818c318046dac1cbaa31ee7a07ee21\">586182f3<\/a>)<\/li>\n\n\n<li>Run <code>npm publish<\/code> in the post-release phase (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/ff1f0eaafd0dbcd4c063c3c557d9cee0a461f89d\">ff1f0eaa<\/a>)<\/li>\n\n\n<li>Only run browserless tests during the release (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/fb5ab0f546e0e25ccb5feb3d51ca2ea743b06efc\">fb5ab0f5<\/a>)<\/li>\n\n\n<li>Temporarily disable running tests on release (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/3f79644b72e928c529febc1aaee081a6c4b96be3\">3f79644b<\/a>)<\/li>\n\n\n<li>publish tmp\/release\/dist folder when releasing (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/5658\">#5658<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/a865212dea22d44bf2bea3e2c618c4a25c63c6a6\">a865212d<\/a>)<\/li>\n\n\n<li>correct build date in verification; other improvements (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/53ad94f319930a5bf8cb9bd935ebd4e028741903\">53ad94f3<\/a>)<\/li>\n\n\n<li>remove dist files from main branch (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/be048a027d0581746f71df7c8eb3ce1d9bd10a40\">be048a02<\/a>)<\/li>\n\n\n<li>4.0.0-beta.2 (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/51fffe9f7395f86fb24c59115c9b98855c39fc07\">51fffe9f<\/a>)<\/li>\n\n\n<li>ensure builds have the proper version (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/3e612aeeb3821c657989e67b43c9b715f5cd32e2\">3e612aee<\/a>)<\/li>\n\n\n<li>set preReleaseBase in config file (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/1fa8df5dbd5d84cf55882a38eb6e571abd0aa938\">1fa8df5d<\/a>)<\/li>\n\n\n<li>fix running pre\/post release scripts in windows (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/5518b2da1816b379b573abc55ba92f02776a3486\">5518b2da<\/a>)<\/li>\n\n\n<li>update AUTHORS.txt (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/862e7a1882f3f737db7dde1b5ecda9766d61694a\">862e7a18<\/a>)<\/li>\n\n\n<li>migrate release process to release-it (<a href=\"https:\/\/github.com\/jquery\/jquery-release\/issues\/114\">jquery\/jquery-release#114<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/2646a8b07fcc2cf7cf384724f622eb0c27f9166c\">2646a8b0<\/a>)<\/li>\n\n\n<li>add factory files to release distribution (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/5411\">#5411<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/1a324b0792ba8d032b89dd8bf78bbf5caa535367\">1a324b07<\/a>)<\/li>\n\n\n<li>use buildDefaultFiles directly and pass version (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/b507c8648f701acd1c48b3c38054ad38d76fd1ca\">b507c864<\/a>)<\/li>\n\n\n<li>copy dist-module folder as well (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/63767650b5b171b4671304fd2bb2f2890431929f\">63767650<\/a>)<\/li>\n\n\n<li>only published versioned files to cdn (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/3a0ca684eb21d64a13d7591ce1891b1990e0339c\">3a0ca684<\/a>)<\/li>\n\n\n<li>remove scripts and dev deps from dist package.json (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/7eac932da7177104546abef595adf4429eb829b3\">7eac932d<\/a>)<\/li>\n\n\n<li>update build command in Release.generateArtifacts (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/3b963a21662061e0f39ad90f146e73e2223c2b86\">3b963a21<\/a>)<\/li>\n\n\n<li>add support for md5 sums in windows (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/f088c36631df3d5dc98408debd147ea5d3618557\">f088c366<\/a>)<\/li>\n\n\n<li>remove the need to install grunt globally (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/b2bbaa36d4d37bd48f954ed3cdbd50d3461a523d\">b2bbaa36<\/a>)<\/li>\n\n\n<li>upgrade release dependencies (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/967af73203378db0cc3637adee85c442e246e05a\">967af732<\/a>)<\/li>\n\n\n<li>Remove an unused chalk dependency (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/bfb6897c558dfdccff7ac5fc377b08e806525be3\">bfb6897c<\/a>)<\/li>\n\n\n<li>Use an in-repository dist README fixture (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/358b769a00c3a09a8ec621b8dcb2d5e31b7da69a\">358b769a<\/a>)<\/li>\n\n\n<li>Update AUTHORS.txt (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/1b74660f730d34bf728094c33080ff406427f41e\">1b74660f<\/a>)<\/li>\n\n\n<li>update AUTHORS.txt (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/cf9fe0f6a104a0f527c7c3f441485c19e2b19c69\">cf9fe0f6<\/a>)<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Selector<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Remove the workaround for <code>:has<\/code>; test both on iPhone &#038; iPad (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/65e35450c9954173dc1ddd3576242a913d8efb88\">65e35450<\/a>)<\/li>\n\n\n<li>Properly deprecate <code>jQuery.expr[ &quot;:&quot; ]<\/code>\/<code>jQuery.expr.filters<\/code> (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/329661fd538a07993a2fcfa2a75fdd7f5667f86c\">329661fd<\/a>)<\/li>\n\n\n<li>Make <code>selector.js<\/code> module depend on <code>attributes\/attr.js<\/code> (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/5379\">#5379<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/e06ff08849057cd099365bf43598c8952fe9956d\">e06ff088<\/a>)<\/li>\n\n\n<li>Eliminate <code>selector.js<\/code> depenencies from various modules (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/e8b7db4b0f1e1b8e08578641b30a92b955ccc4ec\">e8b7db4b<\/a>)<\/li>\n\n\n<li>Re-expose jQuery.find.{tokenize,select,compile,setDocument} (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/5259\">#5259<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/338de3599039a3ba906214e656bcbe637430c37d\">338de359<\/a>)<\/li>\n\n\n<li>Stop relying on CSS.supports( &#8220;selector(&#8230;)&#8221; ) (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/5194\">#5194<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/68aa2ef7571e2d9f91fad1aa9e5f956c04dc9ee9\">68aa2ef7<\/a>)<\/li>\n\n\n<li>Backport jQuery selection context logic to selector-native (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/5185\">#5185<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/2e644e845051703775b35b358eec5d3608a9465f\">2e644e84<\/a>)<\/li>\n\n\n<li>Make selector lists work with <code>qSA<\/code> again (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/5177\">#5177<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/09d988b774e7ff4acfb69c0cde2dab373559aaca\">09d988b7<\/a>)<\/li>\n\n\n<li>Implement the <code>uniqueSort<\/code> chainable method (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/5166\">#5166<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/5266f23cf49c9329bddce4d4af6cb5fbbd1e0383\">5266f23c<\/a>)<\/li>\n\n\n<li>Re-introduce selector-native.js (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/4c1171f2ed62584211250df0af8302d34c04621a\">4c1171f2<\/a>)<\/li>\n\n\n<li>Manipulation: Fix DOM manip within template contents (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/5147\">#5147<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/3299236c898136dc1aa57dc5148811203e931895\">3299236c<\/a>)<\/li>\n\n\n<li>Drop support for legacy pseudos, test custom pseudos (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/8c7da22caeae8c2c3f7e9869d5f47414669f106c\">8c7da22c<\/a>)<\/li>\n\n\n<li>Use jQuery <code>:has<\/code> if <code>CSS.supports(selector(...))<\/code> non-compliant (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/5098\">#5098<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/d153c375e67f2c2dba82c2fb079c36b8d795e66a\">d153c375<\/a>)<\/li>\n\n\n<li>Remove the &#8220;a:enabled&#8221; workaround for Chrome <=77 (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/c1ee33aded44051b8f1288b59d2efdc68d0413cc\">c1ee33ad<\/a>)<\/li>\n\n\n<li>Make empty attribute selectors work in IE again (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4435\">#4435<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/05184cc448f4ed7715ddd6a5d724e167882415f1\">05184cc4<\/a>)<\/li>\n\n\n<li>Use shallow document comparisons in uniqueSort (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4441\">#4441<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/15750b0af270da07917b70457cf09bda97d3d935\">15750b0a<\/a>)<\/li>\n\n\n<li>Add a test for throwing on post-comma invalid selectors (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/6eee5f7f181f9ebf5aa428e96356667e3cf7ddbd\">6eee5f7f<\/a>)<\/li>\n\n\n<li>Make selectors with leading combinators use qSA again (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/ed66d5a22b37425abf5b63c361f91340de89c994\">ed66d5a2<\/a>)<\/li>\n\n\n<li>Use shallow document comparisons to avoid IE\/Edge crashes (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4441\">#4441<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/aa6344baf87145ffc807a527d9c1fb03c96b1948\">aa6344ba<\/a>)<\/li>\n\n\n<li>reduce size, simplify setDocument (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/29a9544a4fb743491a42f827a6cf8627b7b99e0f\">29a9544a<\/a>)<\/li>\n\n\n<li>Leverage the :scope pseudo-class where possible (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4453\">#4453<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/df6a7f7f0f615149266b1a51064293b748b29900\">df6a7f7f<\/a>)<\/li>\n\n\n<li>Bring back querySelectorAll shortcut usage (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/cef4b73179b8d2a38cfd5e0730111cc80518311a\">cef4b731<\/a>)<\/li>\n\n\n<li>Inline Sizzle into the selector module (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/47835965bd100a3661d8299d8b769ceeb8b6ce48\">47835965<\/a>)<\/li>\n\n\n<li>Port Sizzle tests to jQuery (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/79b74e043a4ee737d44a95094ff1184e40bd5b16\">79b74e04<\/a>)<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Support<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>ensure display is set to block for the support div (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4832\">#4832<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/09f254361f1fe8a563b8a90fe6a4d269f4b11514\">09f25436<\/a>)<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Traversing<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Fix <code>contents()<\/code> on <code>&lt;object&gt;<\/code>s with children in IE (<a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/ccbd6b93424cbdbf86f07a86c2e55cbab497d7a3\">ccbd6b93<\/a>)<\/li>\n\n\n<li>Fix <code>contents()<\/code> on <code>&lt;object&gt;<\/code>s with children (<a href=\"https:\/\/github.com\/jquery\/jquery\/issues\/4384\">#4384<\/a>, <a href=\"https:\/\/github.com\/jquery\/jquery\/commit\/4d865d96aa5aae91823c50020b5c19da79566811\">4d865d96<\/a>)<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">20-\u00e5rs jubil\u00e6um og tak til bidragydere<\/h2>\n\n\n\n<p>Release-noten sender en tak til alle, der har bidraget med patches, bug reports og test. Der n\u00e6vnes bl.a. Alex, Ahmed S. El-Afifi, fecore1, Dallas Fraser, Richard Gibson, Micha\u0142 Go\u0142\u0119biowski-Owczarek, Pierre Grimaud, Gabriela Gutierrez, Jonathan, Necmettin Karakaya, Anders Kaseorg, Wonseop Kim, Simon Legner, Shashanka Nataraj, Pat O&#8217;Callaghan, Christian Oliff, Dimitri Papadopoulos Orfanos, Wonhyoung Park, Bruno PIERRE, Baoshuo Ren, Beatriz Rezener, Sean Robinson, Ed Sanders, Timo Tijhof, Tom, Christian Wenz, ygj6 \u2013 og hele jQuery-teamet.<\/p>\n\n\n\n<p>Teamet markerede ogs\u00e5 jQuery\u2019s 20-\u00e5rs f\u00f8dselsdag med et reunion i Dallas, hvor John Resig deltog via Zoom. Indl\u00e6gget blev publiceret, mens de var samlet.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1804\" height=\"1359\" src=\"https:\/\/helloblog.io\/app\/uploads\/sites\/14\/2026\/01\/jquery-reunion-group-edited.jpeg\" alt=\"Gruppefoto fra jQuery-reunion i Dallas i forbindelse med jQuery 4.0.0 og 20-\u00e5rs jubil\u00e6et\" class=\"wp-image-168\" srcset=\"https:\/\/helloblog.io\/app\/uploads\/sites\/14\/2026\/01\/jquery-reunion-group-edited.jpeg 1804w, https:\/\/helloblog.io\/app\/uploads\/sites\/14\/2026\/01\/jquery-reunion-group-edited-300x226.jpeg 300w, https:\/\/helloblog.io\/app\/uploads\/sites\/14\/2026\/01\/jquery-reunion-group-edited-1024x771.jpeg 1024w, https:\/\/helloblog.io\/app\/uploads\/sites\/14\/2026\/01\/jquery-reunion-group-edited-768x579.jpeg 768w, https:\/\/helloblog.io\/app\/uploads\/sites\/14\/2026\/01\/jquery-reunion-group-edited-1536x1157.jpeg 1536w, https:\/\/helloblog.io\/app\/uploads\/sites\/14\/2026\/01\/jquery-reunion-group-edited-400x301.jpeg 400w\" sizes=\"auto, (max-width: 1804px) 100vw, 1804px\" \/><figcaption class=\"wp-element-caption\"><em>Forr\u00e1s: blog.jquery.com \/ The jQuery Foundation<\/em><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Opsummering: hvad du b\u00f8r tjekke f\u00f8r du g\u00e5r p\u00e5 4.0<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Hvis du stadig har brugere p\u00e5 IE10 eller \u00e6ldre: bliv p\u00e5 jQuery 3.x.<\/li>\n\n\n<li>Planl\u00e6g for at IE11 underst\u00f8ttes nu, men er p\u00e5 vej ud i en senere major (planlagt til jQuery 5.0).<\/li>\n\n\n<li>Scan kodebasen for fjernede deprecated APIs (fx <code>jQuery.trim<\/code>, <code>jQuery.parseJSON<\/code>, <code>jQuery.isArray<\/code>).<\/li>\n\n\n<li>Tjek om du (utilsigtet) bruger <code>$elems.push\/sort\/splice<\/code> p\u00e5 jQuery-collections.<\/li>\n\n\n<li>Hvis du har kompleks fokus-\/blur-logik eller plugins der afh\u00e6nger af eventr\u00e6kkef\u00f8lge: test fokusflowet grundigt pga. W3C-\u00e6ndringen.<\/li>\n\n\n<li>Hvis du k\u00f8rer stram CSP og\/eller <code>require-trusted-types-for<\/code>: jQuery 4.0\u2019s Trusted Types- og script-transport\u00e6ndringer er relevante.<\/li>\n\n\n<li>Overvej slim build, men husk at Deferreds\/Callbacks ikke er med \u2013 og at IE11 mangler native Promises uden polyfill.<\/li>\n\n<\/ul>\n\n\n<div class=\"references-section\">\n                <h2>Referencer \/ Kilder<\/h2>\n                <ul class=\"references-list\"><li><a href=\"https:\/\/blog.jquery.com\/2026\/01\/17\/jquery-4-0-0\/\" target=\"_blank\" rel=\"noopener noreferrer\">jQuery 4.0.0<\/a><\/li><li><a href=\"https:\/\/jquery.com\/upgrade-guide\/4.0\/\" target=\"_blank\" rel=\"noopener noreferrer\">jQuery Upgrade Guide 4.0<\/a><\/li><li><a href=\"https:\/\/github.com\/jquery\/jquery-migrate\/\" target=\"_blank\" rel=\"noopener noreferrer\">jquery\/jquery-migrate<\/a><\/li><li><a href=\"https:\/\/github.com\/jquery\/jquery\/issues\" target=\"_blank\" rel=\"noopener noreferrer\">jQuery issues<\/a><\/li><li><a href=\"https:\/\/github.com\/jquery\/jquery\/compare\/3.7.1...4.0.0\" target=\"_blank\" rel=\"noopener noreferrer\">Full changelog: 4.0.0<\/a><\/li><li><a href=\"https:\/\/github.com\/jquery\/jquery\/pull\/5077\" target=\"_blank\" rel=\"noopener noreferrer\">Remove IE11 support in jQuery 5.0 (PR)<\/a><\/li><li><a href=\"https:\/\/github.com\/jquery\/jquery\/pull\/4763\" target=\"_blank\" rel=\"noopener noreferrer\">Switch most async script requests to use &lt;script&gt; tags (PR)<\/a><\/li><li><a href=\"https:\/\/github.com\/jquery\/jquery\/pull\/4541\" target=\"_blank\" rel=\"noopener noreferrer\">Migrate jQuery source from AMD to ES modules (PR)<\/a><\/li><li><a href=\"https:\/\/requirejs.org\/docs\/whyamd.html\" target=\"_blank\" rel=\"noopener noreferrer\">AMD \u2013 Why AMD?<\/a><\/li><li><a href=\"https:\/\/rollupjs.org\/introduction\/\" target=\"_blank\" rel=\"noopener noreferrer\">Rollup introduction<\/a><\/li><li><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/TrustedHTML\" target=\"_blank\" rel=\"noopener noreferrer\">TrustedHTML (MDN)<\/a><\/li><li><a href=\"https:\/\/twitter.com\/kkotowicz\/status\/1445713282128515074\" target=\"_blank\" rel=\"noopener noreferrer\">Trusted Types reference tweet<\/a><\/li><li><a href=\"https:\/\/promisesaplus.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Promises\/A+<\/a><\/li><li><a href=\"https:\/\/jquery.com\/download\/\" target=\"_blank\" rel=\"noopener noreferrer\">Download jQuery<\/a><\/li><\/ul>\n            <\/div>","protected":false},"excerpt":{"rendered":"<p>jQuery 4.0.0 er den f\u00f8rste major release i n\u00e6sten et \u00e5rti \u2013 med oprydning i legacy, bedre CSP\/Trusted Types-h\u00e5ndtering og et farvel til IE<11. Her er alt det vigtige, du skal vide, f\u00f8r du opgraderer.\n<\/p>\n","protected":false},"author":64,"featured_media":167,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[87],"tags":[91,89,90,50,88],"class_list":["post-169","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-javascript","tag-browser-support","tag-csp","tag-es-modules","tag-javascript","tag-jquery"],"_links":{"self":[{"href":"https:\/\/helloblog.io\/da\/wp-json\/wp\/v2\/posts\/169","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/helloblog.io\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/helloblog.io\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/helloblog.io\/da\/wp-json\/wp\/v2\/users\/64"}],"replies":[{"embeddable":true,"href":"https:\/\/helloblog.io\/da\/wp-json\/wp\/v2\/comments?post=169"}],"version-history":[{"count":0,"href":"https:\/\/helloblog.io\/da\/wp-json\/wp\/v2\/posts\/169\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/helloblog.io\/da\/wp-json\/wp\/v2\/media\/167"}],"wp:attachment":[{"href":"https:\/\/helloblog.io\/da\/wp-json\/wp\/v2\/media?parent=169"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/helloblog.io\/da\/wp-json\/wp\/v2\/categories?post=169"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/helloblog.io\/da\/wp-json\/wp\/v2\/tags?post=169"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}