# jQuery 4 공식 릴리즈

> Clean Markdown view of GeekNews topic #25940. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=25940](https://news.hada.io/topic?id=25940)
- GeekNews Markdown: [https://news.hada.io/topic/25940.md](https://news.hada.io/topic/25940.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2026-01-19T09:41:41+09:00
- Updated: 2026-01-19T09:41:41+09:00
- Original source: [blog.jquery.com](https://blog.jquery.com/2026/01/17/jquery-4-0-0/)
- Points: 14
- Comments: 3

## Summary

약 10년 만에 공개된 **jQuery 4.0.0**은 레거시 코드를 정리하고 **ES 모듈 기반 구조**로 전환하며 현대적 웹 표준에 맞게 재정비되었습니다. 이제 IE 10 이하 지원을 종료하고, Trusted Types 및 CSP 호환성을 강화해 보안 정책과의 충돌을 최소화했습니다. 대부분의 기존 프로젝트는 코드 수정 없이 업그레이드할 수 있으며, 경량화된 slim 빌드로 유지보수성과 성능이 한층 개선되었습니다.  
  
요즘 AI 에이전트들한테 코딩을 시키면 jQuery는 거의 쓰지 않기 때문에, 점점 더 설 자리를 잃게 되지 않을까 싶네요.

## Topic Body

- 약 10년 만의 **메이저 버전 업데이트**로, jQuery 4.0.0이 정식 공개됨  
- **IE 10 이하 및 구형 브라우저 지원 중단**, 코드 경량화와 현대적 표준 준수 강화, 대부분의 사용자는 코드 변경 없이 업그레이드 가능   
- **ES 모듈 기반 구조 전환**으로 Rollup 빌드 도입, 최신 개발 환경과 호환성 확보  
- **Trusted Types 및 CSP 지원** 추가로 보안 정책과의 충돌 최소화  
- **Deprecated API 제거 및 slim 빌드 축소**로 성능 향상과 유지보수성 개선  
  
---  
  
### jQuery 4.0.0 주요 개요  
- jQuery 4.0.0은 약 10년 만의 **대규모 메이저 릴리스**로, 오랜 개발 주기와 여러 프리릴리스를 거쳐 완성됨  
  - 대부분의 사용자는 코드 변경 없이 업그레이드 가능  
  - 이전 버전에서 누적된 **레거시 코드와 비공개 파라미터** 제거  
- **업그레이드 가이드**와 **jQuery Migrate 플러그인**이 함께 제공되어 이전 버전에서의 전환을 지원  
- 배포는 **공식 CDN 및 npm**을 통해 가능하며, 타 CDN은 순차적으로 업데이트 예정  
  
### 브라우저 지원 변경  
- **IE 10 이하 지원 중단**, IE 11은 jQuery 5.0에서 단계적으로 제거 예정  
- **Edge Legacy, iOS 구버전(최근 3버전 이전), Firefox 구버전(최근 2버전 이전), Android Browser** 지원 중단  
- 구형 브라우저를 지원해야 하는 경우 **jQuery 3.x 유지 권장**  
  
### Trusted Types 및 CSP 호환성  
- **TrustedHTML 객체**를 안전하게 처리하도록 Trusted Types 지원 추가  
- 대부분의 비동기 스크립트 요청을 **`` 태그 기반으로 전환**, CSP 오류 방지  
  - `"headers"` 옵션 사용 시에는 여전히 XHR 사용 가능하나, `scriptAttrs` 사용 권장  
  
### ES 모듈 전환  
- jQuery 소스가 **AMD에서 ES 모듈로 완전 이전**  
  - 기존 RequireJS 대신 **Rollup**을 빌드 도구로 채택  
  - ES 모듈 기반으로 테스트를 별도 수행  
- ``을 통한 **현대 브라우저 및 빌드 툴 호환성 확보**  
  
### Deprecated API 제거  
- 오랫동안 비권장 상태였던 API 완전 제거  
  - 제거된 함수: `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`  
  - 대체: `Array.isArray()`, `JSON.parse()`, `String.prototype.trim()`, `Date.now()` 등 네이티브 메서드 사용  
- **IE 관련 코드 제거와 함께 gzip 기준 약 3KB 크기 감소**  
  
### 내부 전용 메서드 제거  
- jQuery 프로토타입에서 내부용으로만 사용되던 **push, sort, splice** 메서드 삭제  
  - `$elems.push(elem)` 대신 `[].push.call($elems, elem)` 형태로 대체 가능  
  
### 포커스 이벤트 순서 변경  
- **W3C 명세에 따른 포커스/블러 이벤트 순서**로 통일  
  - 새 순서: blur → focusout → focus → focusin  
  - 이전 jQuery 순서와 달라 **호환성 주의 필요**  
  - IE를 제외한 모든 브라우저가 동일한 순서로 동작  
  
### Slim 빌드 개선  
- **Deferreds 및 Callbacks 제거**로 파일 크기 약 19.5KB(gzip)로 축소  
  - 대부분의 브라우저가 **네이티브 Promise 지원**하므로 대체 가능  
  - IE11 지원 필요 시 메인 빌드 또는 Promise 폴리필 사용 권장  
- Slim 빌드는 Ajax 및 애니메이션 관련 모듈을 제외해 **약 8KB 더 작음**  
  
### 다운로드 및 배포  
- 공식 CDN 및 npm에서 다운로드 가능  
  - 정식 버전:  
    - https://code.jquery.com/jquery-4.0.0.js  
    - https://code.jquery.com/jquery-4.0.0.min.js  
  - Slim 버전:  
    - https://code.jquery.com/jquery-4.0.0.slim.js  
    - https://code.jquery.com/jquery-4.0.0.slim.min.js  
- npm 설치 명령: `npm install jquery@4.0.0`  
  
### 기여자 및 20주년 기념  
- 다수의 **오픈소스 기여자**가 패치, 버그 리포트, 테스트에 참여  
- jQuery 20주년을 맞아 **Dallas에서 팀 재회**, 창립자 John Resig도 Zoom으로 참여  
  
### 주요 코드 변경 요약 (Changelog)  
- **Ajax**: 바이너리 데이터 처리 개선, CSP 오류 방지, JSONP 오류 처리 강화  
- **CSS**: `` 요소 크기 계산 수정, CSS 변수 공백 처리 개선, `opacity` 훅 제거  
- **Core**: `AMD → ES 모듈` 전환, `DOMParser` 사용, 구형 브라우저 대응 코드 삭제  
- **Event**: focus/blur 이벤트 네이티브 처리, `event.which` shim 제거  
- **Selector**: Sizzle 통합, `:has` 및 `:even/:odd` 개선, `uniqueSort` 체이닝 추가  
- **Docs**: HTTPS 링크 업데이트, README 및 CONTRIBUTING 문서 정비  
- **Release**: 빌드 및 배포 프로세스 자동화, `release-it` 기반으로 이전  
  
### 요약  
- jQuery 4.0.0은 **현대 웹 표준과 보안 정책에 맞춘 구조적 개편 버전**  
- **레거시 코드 제거, ES 모듈화, 보안 강화, 경량화**를 통해 장기 유지보수 기반 강화  
- jQuery 생태계의 **20주년을 기념하는 상징적 릴리스**로 평가됨

## Comments



### Comment 49582

- Author: tsboard
- Created: 2026-01-21T09:56:32+09:00
- Points: 1

감동적인 20주년입니다. 이제는 쓸 일이 거의 없어지긴 했습니다만, 여전히 현장에서 유용한 도구로 계속 사랑받으면 좋겠습니다.

### Comment 49466

- Author: shakespeares
- Created: 2026-01-19T12:16:48+09:00
- Points: 1

엄청 질기네요.. ㅎㅎ

### Comment 49443

- Author: neo
- Created: 2026-01-19T09:41:41+09:00
- Points: 1

###### [Hacker News 의견들](https://news.ycombinator.com/item?id=46664755) 
- 관련 글로, **레거시 코드베이스**에서 최신 프레임워크를 쓸 수 없을 때 jQuery를 반응형으로 사용하는 방법을 잘 정리한 글이 있음  
  [Reactive jQuery for Spaghetti-fied Legacy Codebases](https://css-tricks.com/reactive-jquery-for-spaghetti-fied-legacy-codebases-or-when-you-cant-have-nice-things/)  
  - 예전에는 이런 용도로 **BackboneJS**를 많이 썼음. 지금도 여전히 유지보수되고 있음  
    jQuery를 레거시 이유로 써야 한다면, Backbone이 현대 프레임워크로 넘어가기 전의 좋은 중간 단계가 될 수 있음  
    [BackboneJS 공식 사이트](https://backbonejs.org/), [GitHub 태그 목록](https://github.com/jashkenas/backbone/tags)  
  - 이 글을 보니 예전의 **jQuery 스파게티 코드** 시절이 떠오름  
    사실 과도하게 설계된 React 코드가 잘 정리된 jQuery 코드보다 나쁠 때도 있었음  
    React가 품질 기준을 높인 건 맞지만, 때로는 익숙한 도구를 적절히 쓰는 게 더 효율적임  
  - 나도 이 접근법을 써봤는데, 2010년대식 jQuery 난장판보다 훨씬 나았음  
    특히 **Userscript**처럼 문제 범위가 작고 빌드 스텝이 귀찮을 때 잘 맞음  
    사실 jQuery 없이도 `querySelector`, `addEventListener`, `innerHTML`만으로 충분히 구현 가능함  
  - 마지막으로 만든 큰 jQuery 앱도 이런 **반응형 패턴**을 썼음  
    Joomla CMS 안에서 커스텀 검색 프론트엔드를 억지로 끼워 넣어야 했는데, 꽤 잘 작동했음  
  - 정말 좋은 패턴임. 여기에 **signals**를 추가하면 업데이트 함수가 자동으로 호출됨  
    우리가 [Reactive Mastro](https://mastrojs.github.io/reactive/)에서 하는 방식이 바로 이것임  

- 여전히 내가 가장 좋아하는 라이브러리 중 하나가 **jQuery**임  
  내 커리어를 만들어준 도구라서 늘 애정이 큼  
  - 요즘 애들은 새 프레임워크만 쫓지만, jQuery와 .NET Framework 덕분에 나는 늘 일거리가 있었음  
  - 15년째 jQuery를 써오고 있음. 여전히 내 **기본 선택지**임  
  - 누군가 jQuery에 **Virtual DOM**을 붙이면 좋겠음  
    jQuery + jQuery UI + 플러그인 + AI 조합이면 엄청난 잠재력이 있을 것 같음  

- HTMX 얘기가 나올 때마다 “그거 그냥 jQuery로 세 줄이면 되는 거 아닌가?”라는 생각이 듦  
  어쨌든 jQuery는 항상 문제를 해결해줬고, 그게 중요함  
  - 맞음. **HTMX**는 원래 jQuery의 `.load()` 메서드에서 영감을 받은 intercooler.js에서 발전한 것임  
    [jQuery.load() 문서](https://api.jquery.com/load/) 참고  
    퍼포먼스 작업 중에 발견했는데, 정말 jQuery에 대한 존경심이 큼  
  - jQuery의 문제는 **명령형 코드**라서 여러 상태를 다루기 시작하면 복잡해진다는 점임  
  - 요즘은 네이티브 JS를 쓰지만, `$()` 셀렉터 인터페이스의 **우아함**은 여전히 최고였음  
    성능 차이는 미리 계산으로 보완할 수도 있을 듯함  
  - Django를 쓸 때는 HTMX와 **vanilla JS** 조합으로 대부분의 문제를 해결함  
    단순하면서도 SPA 같은 느낌을 줄 수 있음  

- **Good ol’ jQuery**, 정말 고마운 존재였음  

- jQuery가 여전히 유지되고 업데이트되는 걸 보니 반가움  
  하지만 이 말은 **React도 2060년까지 살아있을지도 모른다**는 뜻이라 약간 슬픔  
  - React 덕분에 앱 개발이 훨씬 나아졌음  
    예전의 **콜백 지옥**을 생각하면 지금은 꿈같음  
  - 2060년쯤이면 React Native가 v0.93쯤 됐을지도 모르겠음  
  - 이미 사실상 두 개의 React가 존재함. 2060년엔 다섯 개쯤 될 듯함  

- 2000~2010년대 SPA 프레임워크가 흔하지 않던 시절, 나도 jQuery로 웹 개발을 배웠음  
  그때 만든 것들 중 상당수가 아직도 돌아가고 있을 것 같음  
  jQuery 팀에게 **감사의 인사**를 전함  

- **jQuery 4.0 릴리스**에 참여한 모든 사람들에게 축하를 보냄  
  좀 더 구조적인 접근을 원한다면 [JsViews](https://jsviews.com)라는 **반응형 템플릿 시스템**이 있음  
  오래되고 안정적이지만, 최신 프레임워크만큼은 주목받지 못했음  
  - JsViews는 처음 들어봤지만 흥미로움  
    나는 개인적으로 **cheerio**와 **alpine.js** 같은 현대식 jQuery 스타일을 좋아함  
    [cheerio.js.org](https://cheerio.js.org/), [alpinejs.dev](https://alpinejs.dev/)  
  - 나도 jQuery를 당장 쓸 일은 없지만, JsViews 소스는 공부해볼 만함  
    다만 사이트 디자인이 너무 구식이라 채택률이 낮은 듯함  
    그래도 빠르게 로드되고, **경량성**이 인상적임  
    jsrender.min.js는 12.82kB밖에 안 됨  

- 믿기 어렵지만 jQuery 4.0은 여전히 **IE11을 지원**함  
  이는 jQuery 5.0에서 드디어 제거될 예정임  
  - 4.0 출시를 늦추지 않기 위해 IE11 지원을 남겨둔 듯함  
    [관련 PR](https://github.com/jquery/jquery/pull/5077), [이슈](https://github.com/jquery/jquery/issues/4299) 참고  
    3.0이 10년 전에 나왔다는 걸 생각하면 꽤 놀라움  
  - **하위 호환성**을 위해서임. 아직도 IE11을 써야 하는 환경이 존재함  
    그런 사용자와 제품을 지원해주는 게 고마움  
  - Microsoft는 Windows 10 LTSC와 Windows 11의 Edge IE 모드에서 **2032년까지 IE11을 지원**할 예정임  
  - 세상 모든 사람이 최신 하드웨어와 소프트웨어를 쓸 수 있는 건 아님  
    여전히 오래된 시스템을 쓰는 **학교 컴퓨터실**도 많음  

- jQuery의 **업그레이드 도구**에 들어간 노력은 정말 감탄스러움  

- jQuery의 **체이닝 문법**을 여전히 사랑함  
  15년 전 프랑스어로 jQuery 튜토리얼을 썼는데, 많은 조회수를 얻었음  
  jQuery 확산에 조금이나마 기여했기를 바람
