Bun 1.4.2란?: 2026년 9월 Elysia 빌드와 메모리 누수 전 해설
Bun이 9월 5일 v1.4.2가 v1.4.1 회귀를 고쳤다고 썼다. Elysia bun build 충돌과 AsyncLocalStorage 누수를 적었다. 같은 페이지에 WebKit 약 350건.
2026년 9월 5일 Bun 공식 블로그가 v1.4.2를 냈다. 첫 문장은 v1.4.1에서 온 회귀 두 가지를 적는다. Elysia를 깨뜨린 bun build 이름 충돌과 AsyncLocalStorage 누수. 같은 페이지는 @discordjs/ws 멈춤, Bun.Image의 CMYK JPEG 디코드, 드문 JIT 충돌, musl의 GC 충돌도 적는다.
검색어는 이 패치 번호다. 공식은 bun upgrade로 올리라고 쓴다. 이 글은 그 블로그만 대조한다. 설치 안내가 아니고, 8월 Zig에서 Rust로 바꾼 1.4.0 이야기도 아니다.
공개문이 적은 것
| 항목 | 공개 서술 | 경계 |
|---|---|---|
| 빌드 | bun build가 중첩 var를 같은 블록 let과 같은 이름으로 바꿈 | Elysia를 import한 빌드가 로드되지 않음 |
| 메모리 | exit / 중첩 run 안의 타이머가 바깥 store를 붙잡음 | getStore()는 맞고 메모리만 늘어남 |
| Worker | online이 먼저가 아니어서 @discordjs/ws가 첫 메시지를 놓침 | 순서는 이제 Node.js와 같음 |
| 엔진 | 업스트림 WebKit 약 350건 | 새 런타임 제품이 아님 |
이 릴리스를 읽는 법
- 1
1.4.1 패치다
공식은 첫 문장에 회귀 두 가지를 둔다. 1.4.0 Zig→Rust 재출시도, 새 프레임워크도 아니다.
- 2
빌드 실패에는 인쇄된 오류가 있다
블로그는 깨진 출력을 인쇄한다. var exports2 = exports2. 오류는 SyntaxError: Cannot declare a var variable that shadows a let/const/class variable. 같은 결함은 let에 매개변수 이름이나 catch 바인딩을 주어 잘못된 값을 계산할 수 있다.
- 3
누수는 getStore()를 바꾸지 않는다
store.exit()나 중첩 store.run() 안에서 만든 timer, immediate, 미해결 Promise는 그 핸들이 살아있는 동안 바깥 store를 붙잡았다. 공식은 반환값은 맞고 메모리만 붙잡혔다고 쓴다.
- 4
이미지와 엔진은 같은 페이지
Bun.Image는 이제 4채널 CMYK와 YCCK JPEG를 디코드해 RGB로 바꾼다. 이전에는 Image: decode failed. 같은 페이지는 WebKit 약 350건을 적는다. Intl, TypedArray, Proxy 충돌, 더 싼 Date.
같은 페이지의 나머지
JSON 오류가 JSON.parse와 맞다
Response, Blob, Bun.file(), proc.stdout의 .json()은 잘못된 JSON을 Failed to parse JSON만으로 거절하지 않는다. JSON.parse가 주는 SyntaxError 문구를 낸다.
설치와 Alpine
bun.lockb나 캐시된 매니페스트의 패키지 이름 해시가 이름과 다르면 bun install / bun add가 panic할 수 있다. musl(Alpine)에서 객체 배열에 splice, shift, length 축소는 GC 스레드에서 죽거나 마킹 중 멈출 수 있다.
Linux 파일 디스크립터
Bun.file().writer() FileSink를 epoll에 등록하지 못하면(예: fs.epoll.max_user_watches 소진) 디스크립터가 두 번 닫힐 수 있다.
경계
공식은 이 글에 1.4.3 날짜를 쓰지 않는다. 다음은 bun.com/blog/bun-v1.4.2다. 계정 벽 없는 짧은 회의만 필요하면 wbstorm 방 번호면 된다. 방 만들기와 참가와 화이트보드 기초도 보라.
# Sources
# bun.com/blog/bun-v1.4.2
# 2026-09-05Zig를 Rust로 다시 쓴 그 버전인가?
아니다. 이 글은 v1.4.2 패치다. 1.4.0 재작성 이야기는 8월이며 이 페이지 날짜가 아니다.
Elysia 자체가 고장 났나?
공식은 v1.4.1 bun build가 중첩 var를 같은 블록 let과 같은 이름으로 바꿨다고 쓴다. Elysia를 import한 빌드는 그다음 로드되지 않았다. Elysia 릴리스 노트가 아니다.
제품 사용 설명서인가?
아니다. 이 글은 9월 5일 Bun 블로그만 대조하며 bun upgrade 안내서가 아니다.