Bun 1.0.7 버전 출시, 다양한 Node.js 호환성 개선 구현

Bun은 패키징 도구, 번역기, 패키지 관리자를 통합하는 자바스크립트 런타임입니다. 버전 1.0.7은 Jarred Sumner에 의해 2023년 10월 20일에 출시되었습니다. 이 업데이트는 Node.js 런타임에 대한 여러 호환성 개선 사항을 구현하고 거의 60개의 버그를 수정합니다.

릴리스 노트에 따르면 이 버전은 "bun install" 명령을 최적화하고 불필요한 종속성 패키지 설치를 방지할 수 있는 선택적 피어Dependency를 지원합니다. 의미 체계 버전 범위를 일치시킬 때 가끔 이전 패키지 버전이 선택되는 극단적인 경우 버그를 수정했습니다. Linux 시스템에서 생성된 bun.lockb 파일의 일관성을 향상시키기 위해 일부 결정론 관련 문제도 수정되었습니다.

Node.js 호환성 측면에서 이번 버전은 child_process의 IPC 통신 신뢰성 문제를 수정하고 Next.js와의 호환성을 향상시킵니다. Net 모듈 소켓이 종료 이벤트를 올바르게 전송하지 않는 버그를 수정했습니다. napi 모듈의 메모리 누수 문제가 해결되었습니다. 스트림 모듈의 충돌 문제를 해결했습니다. Unix Socket에서 http 서버의 address() 메소드 반환 값을 수정했습니다. 작업자 스레드, 버퍼 및 DNS 모듈의 일부 버그가 수정되었습니다.

이 외에도 Bun 런타임 자체의 일부 문제가 수정되었습니다. 예를 들어 잘못된 포트 점유를 발생시키는 Docker 컨테이너의 버그, 잘못된 요청 URL 포트로 인한 극단적인 문제, statusText 속성이 부족한 응답 개체 등이 있습니다. WebSocket 클라이언트 요청 헤더의 호스트 필드에 포트가 누락되는 문제도 해결되었습니다.

전반적으로 Bun 1.0.7은 프로젝트의 Node.js 호환성을 크게 개선하여 Node.js API에 의존하는 더 많은 프로그램을 실행할 수 있게 되었습니다. 동시에 안정성에 영향을 미치는 많은 버그도 수정되었습니다. 이러한 개선을 통해 Bun은 매우 빠른 실행 속도를 유지하면서 범용 JavaScript 런타임에 한 단계 더 가까워졌습니다.

버그 수정 외에도 Bun의 팀은 Windows 버전 빌드를 정기적으로 제공하기 위해 적극적으로 준비하고 있습니다. Cmake 및 Ninja와 같은 최신 빌드 도구를 사용하도록 전환합니다. 그리고 JavaScriptCore의 디버그 버전을 활성화하면 버그를 찾는 데 도움이 됩니다. Bun은 향후 LLVM 16에서 LLVM 17로 업그레이드될 예정입니다.

이 업데이트는 Bun 개발자가 프로젝트를 개선하고 사용하기 쉽고 성능이 뛰어난 JavaScript 플랫폼으로 만들기 위해 계속 노력하고 있음을 보여줍니다. 프로젝트가 계속 성숙해짐에 따라 Bun이 더 많은 사용자를 유치하고 웹 개발자에게 좋은 선택이 될 것이라고 기대할 이유가 있습니다. 물론, 프로젝트에는 아직 개선해야 할 많은 단점이 있으며, 후속 버전에서 더 많은 놀라움을 가져올 것을 기대하고 있습니다.

おすすめ

転載: www.oschina.net/news/262849/bun-1-0-7-released