2P by GN⁺ 2시간전 | ★ favorite | 댓글과 토론
  • REPL이 Zig로 완전히 재작성되어 즉시 실행과 풍부한 터미널 UI를 제공하며, 클립보드 복사·탭 완성·히스토리 저장 등 다양한 기능을 지원
  • 브라우저 타겟 컴파일 명령으로 모든게 인라인된 단일 HTML 파일을 생성할 수 있어 서버 없이도 실행 가능
  • TC39 표준 ES 데코레이터가 완전 지원되어 accessor, Symbol.metadata, addInitializer 등 최신 문법을 활용 가능
  • Windows ARM64 지원, 배럴 임포트 최적화, 테스트 재시도 옵션, 성능 향상된 JavaScriptCore 엔진 등 다수의 플랫폼 및 성능 개선 포함
  • 전반적으로 Bun의 개발자 경험·성능·호환성이 크게 향상된 릴리스

새로운 REPL

  • REPL이 Zig 기반 네이티브 구현으로 교체되어 외부 npm 패키지 의존 없이 즉시 실행 가능
    • 문법 하이라이팅, Emacs 키바인딩, 탭 완성, 히스토리 저장, 멀티라인 입력 등 지원
    • .copy, .help, .exit, .editor내장 명령어 제공
    • const/let 선언 유지, top-level awaitimport/require 모두 지원

--compile --target=browser

  • bun build --compile --target=browser자바스크립트·CSS·자산이 인라인된 HTML 생성
    • <script src="..."><link rel="stylesheet"> 태그가 각각 인라인 코드로 변환
    • file:// 환경에서도 CORS 제약 없이 실행 가능
    • TypeScript, JSX, React, CSS, ESM, CJS 모두 지원

TC39 표준 ES 데코레이터

  • Stage-3 표준 데코레이터 완전 지원
    • accessor 키워드, Symbol.metadata, ClassMethodDecoratorContext 등 최신 사양 구현
    • 필드·메서드·클래스 데코레이터초기화자(addInitializer) 지원
    • 기존 TypeScript 실험적 데코레이터(experimentalDecorators)도 계속 동작

Windows ARM64 지원

  • Snapdragon 등 ARM64 기반 Windows에서 Bun 실행 및 빌드 가능
    • bun-windows-arm64 타깃으로 크로스 컴파일 지원
    • CLI와 API 양쪽에서 동일하게 사용 가능

배럴 임포트 최적화

  • import { Button } from 'antd'와 같은 배럴 파일 재수출 구조를 자동 감지
    • "sideEffects": false 설정 시 자동 최적화
    • optimizeImports 옵션으로 명시적 지정 가능
    • 필요한 서브모듈만 파싱하여 빌드 속도 최대 2배 향상

번들 출력 최적화

  • ESM/CJS 번들에서 클로저 수와 힙 메모리 사용량 감소
    • 객체 수 11% 감소, 힙 크기 4MB 감소, 함수·환경 객체 수 대폭 축소
    • 코드 변경 없이 자동 적용

bun test --retry

  • 테스트 전체에 기본 재시도 횟수 설정 가능 (--retry N)
    • 개별 테스트의 { retry: N } 옵션이 우선
    • JUnit XML 리포터에서 각 시도별 <testcase>로 기록

Bun.generateHeapSnapshot("v8") 개선

  • "arraybuffer" 옵션으로 힙 스냅샷을 ArrayBuffer 형태로 반환
    • 대형 스냅샷 처리 시 문자열 변환 오버헤드 제거

TLS 및 인증서 업데이트

  • mTLS·커스텀 CA 연결의 keepalive 지원으로 성능 향상
    • 동일 TLS 설정은 전역 레지스트리에서 중복 제거
  • 루트 인증서가 NSS 3.119(Firefox 147.0.3)으로 갱신
    • 4개의 CommScope 루트 인증서 제거

JavaScriptCore 엔진 업그레이드

  • 문자열 슬라이싱 168배, endsWith 10.5배, RegExp 플래그 접근 1.6배, path.parse() 최대 7배 등 다수의 성능 향상
    • structuredClone배열·객체 배열에서 최대 25배 빠름
    • Buffer.slice()subarray() 약 1.8배 향상
    • BigInt·문자열 반복자·정수 연산 등 내부 최적화

주요 버그 수정

  • Python asyncio MCP 서버와의 파이프 호환성 문제 해결 (Bun.spawn)
  • Node.js 호환성: AsyncLocalStorage, fs.watch, http 헤더 처리, GC 관련 충돌 등 다수 수정
  • Bun API: spawn, plugin, sql, build 관련 크래시 및 메모리 누수 해결
  • WebSocket, bun install, CSS 파서, bun shell, Windows 환경 등 전반적 안정성 개선
  • 보안 취약점: HTTP 헤더 인젝션, tarball 경로 탐색, S3 스트림 누수 등 해결