Bun 1.3 출시

7 hours ago 1

  • Bun 1.3은 프런트엔드와 백엔드 개발을 모두 지원하는 풀스택 JavaScript 런타임으로 진화한 대규모 릴리스
  • React와 CSS 번들을 포함한 내장 프런트엔드 개발 서버, MySQL·PostgreSQL·SQLite·Redis 클라이언트 등 주요 기능이 통합됨
  • bun build를 통한 단일 실행 파일 컴파일코드 서명 및 크로스 컴파일 지원으로 배포 편의성 향상
  • 패키지 관리자는 격리 설치(isolated installs), 보안 스캐너 API, 의존성 카탈로그(catalog) 등 대형 모노레포 친화 기능을 도입함
  • 테스트 러너, Web API, 보안, Node.js 호환성, 성능 등 거의 모든 영역에서 대대적인 개선이 이루어져 ‘완전한 런타임 플랫폼’으로 도약했음

풀스택 런타임 통합

  • Bun 1.3은 HTML 실행, 라우팅, 핫 리로드, WebSocket 등 풀스택 개발 기능을 Bun.serve()에 통합함
    • React Fast Refresh와 네이티브 HMR 지원
    • 백엔드와 프런트엔드 서버를 단일 프로세스로 통합해 CORS 문제를 근본적으로 해소
  • bun build --compile로 프런트엔드와 백엔드를 단일 실행 파일로 번들링 가능

데이터베이스 및 Redis 지원

  • Bun.SQL이 MySQL·MariaDB·PostgreSQL·SQLite를 단일 API로 통합 지원
    • sql.array 헬퍼를 통해 PostgreSQL 배열 타입을 간편하게 처리
    • Unix 도메인 소켓 연결, 단순 쿼리 프로토콜, null 처리 등 세밀한 향상
  • 내장 Redis 클라이언트 추가, ioredis 대비 최대 7.9배 성능 향상, Pub/Sub 완전 지원

번들러 및 빌드 기능

  • Bun.build() API로 코드 내에서 실행 파일 생성 가능
  • 코드 서명(macOS·Windows), 크로스 컴파일(Linux/macOS/Windows), 메타데이터 설정 지원
  • 더 똑똑한 미니파이어로 사용되지 않는 코드 제거, JSX 구성 옵션, Glob 패턴 지원

패키지 관리 기능 확장

  • Isolated installs 기본 적용, 각 워크스페이스가 자신만의 의존성만 접근
  • Catalog 기능으로 모노레포 내 의존성 버전을 중앙 관리
  • 보안 스캐너 APIminimumReleaseAge 도입으로 공급망 공격 방어 강화
  • bun why, bun update --interactive, bun info, bun audit 등 npm·pnpm 수준의 관리 도구 완비

테스트 및 디버깅 개선

  • bun test에 VS Code Test Explorer 연동, 병렬 테스트(test.concurrent), 랜덤 실행, type 테스트(expectTypeOf) 추가
  • .failing, .serial, .each 체인 지원 및 스냅샷 자동 들여쓰기 보존
  • CI 환경에서 test.only 차단, 테스트 순서 일관성 강화

Web API 및 런타임 표준 강화

  • YAML 파싱/직렬화 내장, .yaml 파일 직접 import 가능
  • request.cookies API로 쿠키 자동 관리 지원
  • ReadableStream .text()/.json() 등 스트림 헬퍼, Zstandard 압축, WebAssembly 스트리밍 로딩 지원
  • DisposableStack/AsyncDisposableStack 구현으로 리소스 정리 단순화

보안 및 시스템 기능

  • Bun.secrets로 운영체제의 보안 저장소(Keychain 등) 활용 가능
  • Bun.CSRF로 CSRF 토큰 생성·검증 API 제공
  • crypto 모듈 400배 성능 개선, Diffie-Hellman, HKDF, Prime 연산 강화

Node.js 호환성 향상

  • Node.js 테스트 800개 이상 추가 통과, node:test, node:vm, worker_threads, fs, http2 등 대폭 확장
  • require.extensions, process.binding(), native addon 제어, perf_hooks, tls, cluster 등 대부분의 코어 모듈 완전 지원
  • N-API 호환율 98% 이상, Node.js 24.3.0 버전과 동일 수준의 런타임 식별

개발자 경험 개선

  • 기본 TypeScript 설정 변경("module": "Preserve")
  • BUN_OPTIONS 환경변수, --console-depth, --user-agent 등 런타임 제어 강화
  • Preload 스크립트(BUN_INSPECT_PRELOAD) 및 SQL Preconnect 지원
  • bunx 개선으로 패키지-바이너리 이름 불일치도 실행 가능

성능 및 안정성

  • CPU 유휴 사용량 감소, GC 효율화, 메모리 10~30% 절감, 빌드 속도 60% 향상
  • postMessage 최대 500배, bun install 2.5배, Array.includes 2.8배 빠름
  • WebKit·Zig 레벨 최적화로 런타임 전반 속도 향상
  • 수백 건의 버그 수정메모리 누수 해결로 안정성 대폭 개선

주요 변경 사항

  • Bun.serve() 타입 구조 변경 및 static → routes로 명칭 수정
  • SQL 클라이언트 호출 방식이 함수형 → 태그드 템플릿으로 변경
  • Linux GC 시그널이 SIGPWR로 교체
  • Node.js 버전 표시를 22.x → 24.3.0으로 변경

Bun 1.3은 단순한 런타임을 넘어 “Node·Deno·Vite·pnpm을 아우르는 통합 플랫폼” 으로 자리매김하는 전환점

Read Entire Article