Peaaegu 10 aastat pärast versiooni 3.0 avaldamist ja 20 aastat pärast projekti loomist ilmus JavaScript'i raamatukogu jQuery 4.0, mida kasutatakse W3Techsi andmetel 70,9% -l 10 miljonist kõige rohkem külastatavast veebisaidist. jQuery kood on litsentseeritud MIT litsentsi alusel.
jQuery 4.0 väljaanne sisaldab tagasiühilduvust rikkuvaid muudatusi, kuid arendajate sõnul saavad enamus kasutajatest uuele versioonile sujuvalt üle minna minimaalsed muudatused oma koodis. Migratsiooni lihtsustamiseks saab kasutada spetsiaalset pistikprogramm. Tagasiühilduvuse rikkumised on seotud vananenud koodi eemaldamise, mõningate sisemiste dokumenteerimata parameetrite eemaldamise, liialdatud käitumise toe lõpetamise ja varem vananenud API-de toe lõpetamisega. Vananenud API-de ja brauserite eemaldamine aitas vähendada gzip-aruande suurust 3 KB võrra (slim-versioon võtab nüüd 19,5 KB ja täisversioon 27,5 KB).
Muudatuste hulgas:
- IE 10 ja vanemate versioonide brauseri tugi on lõpetatud (IE 11 tugi jääb alles, kuid eemaldatakse Query 5.0-ga) ning samuti teiste vanade brauserite nagu Edge Legacy, Android Browser ja Firefox kuni versioonini 115.
- Sisseehitatud tugi API Trusted Types jaoks, mis on välja töötatud DOM-i manipuleerimise vastu kaitsmiseks, mis võib viia XSS-rünnakuteni (DOM XSS), näiteks juhul, kui kasutaja andmeid ei töödelda korralikult eval() blokis või .innerHTML sisestustes, mis võivad põhjustada JavaScript-koodi käivitamist kindlas lehes. jQuery meetoditesse saab nüüd edastada HTML-koodi TrustedHTML objekti kujul.
- jQuery kood on muudetud ESM (ECMAScript Module) JavaScript-moodulite kasutamiseks ning seda saab tarnida ja importida kui moodulit.
- Eemaldatud funktsioonid, mis olid varem märgitud vananenutena: jQuery.isArray, jQuery.parseJSON, jQuery.trim, jQuery.type, jQuery.now, jQuery.isNumeric, jQuery.isFunction, jQuery.isWindow, jQuery.camelCase, jQuery.nodeName, jQuery.cssNumber, jQuery.cssProps ja jQuery.fx.interval. Nende funktsioonide asemel on soovitatav kasutada Standardsed JavaScripti funktsioonid Array.isArray(), JSON.parse(), String.prototype.trim() ja Date.now().
- Eemaldatud dokumenteerimata sisemised meetodid Array objektis — push, sort ja splice.
- Fookuse muutmise sündmuste töötlemise kord on viidud vastavusse W3C spetsifikatsiooniga — blur, focusout, focus ja focusin.
- Kärbitud versiooni (slim), mis ei sisalda ajax ja effects mooduleid, suurus on vähendatud kuni 19,5 k, lõpetades Deferred objektide pakkumise (soovitame kasutada tavapäraseid Promises ja Callbacks).
Allikas: opennet.ru
