14 poin oleh GN⁺ 2026-01-19 | 3 komentar | Bagikan ke WhatsApp
  • Sebagai pembaruan versi mayor pertama dalam sekitar 10 tahun, jQuery 4.0.0 kini resmi dirilis
  • Dukungan untuk IE 10 ke bawah dan browser lama dihentikan, kode dibuat lebih ringan dan kepatuhan pada standar modern diperkuat; sebagian besar pengguna dapat melakukan upgrade tanpa perubahan kode
  • Dengan transisi ke struktur berbasis modul ES, build kini menggunakan Rollup untuk memastikan kompatibilitas dengan lingkungan pengembangan modern
  • Dukungan Trusted Types dan CSP ditambahkan untuk meminimalkan konflik dengan kebijakan keamanan
  • Penghapusan API deprecated dan penyederhanaan slim build meningkatkan performa dan kemudahan pemeliharaan

Ikhtisar utama jQuery 4.0.0

  • jQuery 4.0.0 adalah rilis mayor berskala besar pertama dalam sekitar 10 tahun, diselesaikan setelah siklus pengembangan panjang dan beberapa prarilis
    • Sebagian besar pengguna dapat melakukan upgrade tanpa perubahan kode
    • Kode legacy dan parameter privat yang menumpuk dari versi sebelumnya telah dihapus
  • Panduan upgrade dan plugin jQuery Migrate juga disediakan untuk membantu transisi dari versi sebelumnya
  • Distribusi tersedia melalui CDN resmi dan npm, sementara CDN lain akan diperbarui secara bertahap

Perubahan dukungan browser

  • Dukungan untuk IE 10 ke bawah dihentikan, dan IE 11 dijadwalkan dihapus bertahap pada jQuery 5.0
  • Edge Legacy, iOS versi lama (lebih lama dari 3 versi terbaru), Firefox versi lama (lebih lama dari 2 versi terbaru), Android Browser tidak lagi didukung
  • Jika masih harus mendukung browser lama, disarankan tetap menggunakan jQuery 3.x

Kompatibilitas Trusted Types dan CSP

  • Dukungan Trusted Types ditambahkan agar objek TrustedHTML dapat diproses dengan aman
  • Sebagian besar permintaan skrip asinkron dialihkan ke basis tag ``, untuk mencegah error CSP
    • Saat menggunakan opsi "headers", XHR masih dapat digunakan, tetapi penggunaan scriptAttrs direkomendasikan

Transisi ke modul ES

  • Source jQuery sepenuhnya dipindahkan dari AMD ke modul ES
    • Rollup diadopsi sebagai alat build menggantikan RequireJS
    • Pengujian juga dijalankan secara terpisah berdasarkan modul ES
  • `` digunakan untuk memastikan kompatibilitas dengan browser modern dan build tool

Penghapusan API deprecated

  • API yang telah lama berstatus deprecated kini dihapus sepenuhnya
    • Fungsi yang dihapus: 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
    • Pengganti: gunakan metode native seperti Array.isArray(), JSON.parse(), String.prototype.trim(), Date.now()
  • Dengan penghapusan kode terkait IE, ukuran berkurang sekitar 3KB dalam gzip

Penghapusan metode internal

  • Metode push, sort, splice yang sebelumnya hanya digunakan secara internal di prototipe jQuery telah dihapus
    • Sebagai pengganti, $elems.push(elem) dapat diubah menjadi [].push.call($elems, elem)

Perubahan urutan event fokus

  • Diseragamkan ke urutan event focus/blur sesuai spesifikasi W3C
    • Urutan baru: blur → focusout → focus → focusin
    • Karena berbeda dari urutan jQuery sebelumnya, perlu perhatian soal kompatibilitas
    • Semua browser selain IE berperilaku dengan urutan yang sama

Peningkatan Slim build

  • Deferreds dan Callbacks dihapus, sehingga ukuran file menyusut menjadi sekitar 19.5KB (gzip)
    • Sebagian besar browser sudah mendukung Promise native, sehingga dapat digunakan sebagai pengganti
    • Jika masih membutuhkan dukungan IE11, disarankan memakai build utama atau polyfill Promise
  • Slim build mengecualikan modul Ajax dan animasi sehingga sekitar 8KB lebih kecil

Unduhan dan distribusi

Kontributor dan peringatan 20 tahun

  • Banyak kontributor open source berpartisipasi dalam patch, laporan bug, dan pengujian
  • Menandai 20 tahun jQuery, tim berkumpul kembali di Dallas, dan pendiri John Resig juga ikut melalui Zoom

Ringkasan perubahan kode utama (Changelog)

  • Ajax: peningkatan pemrosesan data biner, pencegahan error CSP, penanganan error JSONP diperkuat
  • CSS: perbaikan perhitungan ukuran elemen ``, peningkatan penanganan spasi pada variabel CSS, hook opacity dihapus
  • Core: transisi AMD → modul ES, penggunaan DOMParser, penghapusan kode kompatibilitas browser lama
  • Event: penanganan native untuk event focus/blur, shim event.which dihapus
  • Selector: integrasi Sizzle, peningkatan :has dan :even/:odd, penambahan chaining uniqueSort
  • Docs: pembaruan tautan HTTPS, perapian dokumen README dan CONTRIBUTING
  • Release: otomatisasi proses build dan distribusi, migrasi berbasis release-it

Ringkasan

  • jQuery 4.0.0 adalah versi perombakan struktural yang disesuaikan dengan standar web modern dan kebijakan keamanan
  • Penghapusan kode legacy, modularisasi ES, penguatan keamanan, dan peringanan ukuran memperkuat fondasi pemeliharaan jangka panjang
  • Dinilai sebagai rilis simbolis yang menandai 20 tahun ekosistem jQuery

3 komentar

 
tsboard 2026-01-21

Ini adalah ulang tahun ke-20 yang mengharukan. Sekarang memang sudah hampir tidak ada kesempatan untuk menggunakannya, tetapi saya tetap berharap ini terus dicintai sebagai alat yang berguna di lapangan.

 
shakespeares 2026-01-19

Benar-benar tangguh ya.. hehe

 
GN⁺ 2026-01-19
Komentar Hacker News
  • Sebagai bacaan terkait, ada artikel yang merangkum dengan baik cara menggunakan jQuery secara reaktif ketika codebase lawas tidak bisa memakai framework modern
    Reactive jQuery for Spaghetti-fied Legacy Codebases

    • Dulu BackboneJS banyak dipakai untuk tujuan seperti ini. Sampai sekarang pun masih terus dipelihara
      Jika harus memakai jQuery karena alasan legacy, Backbone bisa menjadi tahap peralihan yang baik sebelum pindah ke framework modern
      Situs resmi BackboneJS, daftar tag GitHub
    • Artikel ini mengingatkanku pada masa-masa kode spaghetti jQuery dulu
      Sebenarnya pernah juga ada kasus ketika kode React yang terlalu over-engineered lebih buruk daripada kode jQuery yang rapi
      Memang React menaikkan standar kualitas, tetapi kadang lebih efisien memakai alat yang sudah kita kenal dengan tepat
    • Aku juga pernah memakai pendekatan ini, dan hasilnya jauh lebih baik daripada kekacauan jQuery ala 2010-an
      Ini sangat cocok terutama untuk masalah dengan cakupan kecil seperti Userscript, ketika build step terasa merepotkan
      Sebenarnya tanpa jQuery pun bisa cukup dengan querySelector, addEventListener, dan innerHTML
    • Aplikasi besar terakhir yang kubuat dengan jQuery juga memakai pola reaktif seperti ini
      Waktu itu harus memaksa memasukkan frontend pencarian kustom ke dalam Joomla CMS, dan ternyata berjalan cukup baik
    • Ini pola yang sangat bagus. Jika ditambah signals, fungsi update bisa dipanggil otomatis
      Itulah persis cara yang kami lakukan di Reactive Mastro
  • jQuery masih menjadi salah satu library favoritku
    Ini alat yang membangun karierku, jadi aku selalu punya rasa sayang padanya

    • Anak-anak zaman sekarang cuma mengejar framework baru, tapi berkat jQuery dan .NET Framework aku selalu punya pekerjaan
    • Sudah 15 tahun aku memakai jQuery. Sampai sekarang masih jadi pilihan default-ku
    • Akan bagus kalau ada yang menambahkan Virtual DOM ke jQuery
      Kombinasi jQuery + jQuery UI + plugin + AI rasanya punya potensi luar biasa
  • Setiap kali ada pembahasan HTMX, aku selalu berpikir, “bukankah itu bisa diselesaikan dengan tiga baris jQuery?”
    Bagaimanapun, jQuery selalu menyelesaikan masalah, dan itu yang penting

    • Betul. HTMX berkembang dari intercooler.js, yang awalnya terinspirasi oleh metode .load() milik jQuery
      Lihat dokumentasi jQuery.load()
      Aku menemukannya saat mengerjakan optimasi performa, dan itu benar-benar membuatku makin menghormati jQuery
    • Masalah jQuery adalah karena ia berupa kode imperatif, jadi ketika mulai menangani banyak state, kompleksitasnya meningkat
    • Sekarang aku memakai native JS, tetapi keanggunan antarmuka selector $() tetap yang terbaik
      Mungkin perbedaan performa juga bisa diimbangi dengan pra-perhitungan
    • Saat memakai Django, aku menyelesaikan sebagian besar masalah dengan kombinasi HTMX dan vanilla JS
      Sederhana, tetapi tetap bisa memberi nuansa seperti SPA
  • Good ol’ jQuery, benar-benar sosok yang layak disyukuri

  • Senang melihat jQuery masih terus dipelihara dan diperbarui
    Tapi ini juga berarti React mungkin masih akan hidup sampai 2060, dan itu agak menyedihkan

    • Berkat React, pengembangan aplikasi jadi jauh lebih baik
      Kalau mengingat callback hell zaman dulu, kondisi sekarang terasa seperti mimpi
    • Pada sekitar 2060, mungkin React Native baru sampai v0.93
    • Sebenarnya sekarang saja sudah ada dua React. Pada 2060 mungkin jadi sekitar lima
  • Aku juga belajar pengembangan web dengan jQuery pada masa 2000~2010-an, ketika framework SPA belum umum
    Sepertinya banyak hal yang kubuat saat itu masih berjalan sampai sekarang
    Salam terima kasih untuk tim jQuery

  • Selamat kepada semua yang terlibat dalam rilis jQuery 4.0
    Jika menginginkan pendekatan yang lebih terstruktur, ada sistem template reaktif bernama JsViews
    Sudah lama dan stabil, tetapi tidak mendapat perhatian sebesar framework modern

    • Aku baru pertama kali mendengar JsViews, tapi menarik
      Secara pribadi aku suka gaya jQuery modern seperti cheerio dan alpine.js
      cheerio.js.org, alpinejs.dev
    • Aku juga tidak akan langsung memakai jQuery sekarang, tetapi source JsViews layak dipelajari
      Hanya saja desain situsnya terlalu jadul, jadi tingkat adopsinya tampak rendah
      Meski begitu, muatnya cepat, dan ringannya sangat mengesankan
      jsrender.min.js hanya 12.82kB
  • Sulit dipercaya, tapi jQuery 4.0 masih mendukung IE11
    Dukungan ini akhirnya dijadwalkan dihapus pada jQuery 5.0

    • Sepertinya dukungan IE11 dipertahankan agar perilisan 4.0 tidak tertunda
      Lihat PR terkait, isu
      Mengingat 3.0 dirilis 10 tahun lalu, ini cukup mengejutkan
    • Ini demi kompatibilitas mundur. Masih ada lingkungan yang harus memakai IE11
      Aku berterima kasih karena mereka tetap mendukung pengguna dan produk seperti itu
    • Microsoft berencana tetap mendukung IE11 hingga 2032 di Windows 10 LTSC dan mode IE Edge pada Windows 11
    • Tidak semua orang di dunia bisa memakai hardware dan software terbaru
      Masih banyak juga lab komputer sekolah yang memakai sistem lama
  • Upaya yang dicurahkan ke alat upgrade jQuery benar-benar mengagumkan

  • Aku masih mencintai sintaks chaining jQuery
    15 tahun lalu aku menulis tutorial jQuery dalam bahasa Prancis, dan mendapat banyak view
    Semoga aku ikut berkontribusi sedikit pada penyebaran jQuery