io.js 주간 뉴스 2015년 4월 17일

io.js 1.7 릴리스, 커뮤니티 업데이트와 이벤트 등

io.js 1.7 릴리스

이번 주에 io.js v1.7.0v1.7.1을 릴리스했습니다. 전체 변경사항은 GitHub에서 볼 수 있습니다.

주요 변경 사항

  • 빌드: 1.7.0을 출시할 수 없게 만든 Makefile의 문법 에러를 수정했습니다. (Rod Vagg) #1421.
  • C++ API: Fedor Indutny가 io.js에 포함된 V8에 있던 기능을 V8로 포팅했습니다. SealHandleScope를 사용하면 C++ 애드온 제작자가 HandleScope봉인(seal) 하여 애드온에서 발생하는 일어날 수 있는 의도하지 않은 할당을 방지할 수 있습니다. 현재는 io.js의 디버그 빌드에서만 사용가능합니다. 이 기능을 사용하면 #1075의 메모리 누수를 탐지할 수 있으며 현재는 io.js의 루트 HandleScope에서 활성화되어 있습니다. (Fedor Indutny) #1395.
  • ARM: 이번 릴리스에는 빌드와 테스트에 있어 ARM에 대한 지원이 대폭 개선되었습니다. io.js CI 클러스터의 ARMv6, ARMv7, ARMv8 빌드 서버가 (거의) 모든 빌드와 테스트를 통과했다고 보고하고 있습니다.
  • ARMv8 64비트 (AARCH64)를 이제 제대로 지원합니다. libuv에서 epoll_wait()의 존재 여부를 오판하던 문제에 대한 수정사항도 포함되었습니다. (Ben Noordhuis) #1365. ARMv6: #1376(라스베리 파이 포함)에서 Math.exp()를 사용할 때 문제가 발생한다는 보고가 있습니다. V8의 “fast math” 기능을 사용할 때 ARMv6의 잘못된 코드 생성기가 범인이었습니다.  이 문제를 피하기 위해 ARMv6에서는 —nofast_math를 기본값으로 사용하도록 했습니다. —fast_math를 사용하면 fast math 기능을 사용할 수 있습니다. (Ben Noordhuis) #1398. 테스트: ARMv6, ARMv7과 같은 느린 플랫폼에서 타임아웃 시간을 조정했습니다. (Roman Reiss) #1366.
  • npm: npm을 2.7.6으로 업그레이드 했습니다. 자세한 사항은 릴리스 노트를 참고하세요.

알려진 이슈

  • beforeExit 실행 중에 참조되지 않은 타이머가 실행되는 문제점이 있습니다. #1264 참고.
  • 대화형 셸에서 서러게이트 페어(Surrogate pair)가 터미널을 정지시킬 수 있습니다. #690
  • process.send()는 문서에서 설명된 바와는 다르게 동기적이지 않습니다. 이 버그는 1.0.2에서 나타났었습니다. 문제에 대해서는 #760에서 확인 가능하며 #774에서 수정하고 있습니다.
  • DNS 쿼리 중에 dns.setServers()를 호출하면 실패한 단언문 때문에 프로세스가 중단될 수 있습니다. #894.
  • readline: 분할 이스케이프가 올바르게 처리되지 않습니다. #1403.

커뮤니티 업데이트

  • io.js와 노드 재단의 차이점 iojs/io.js#1416.
  • NPM에 비공개 모듈이 공개되었으며 npm 주식회사는 추가 투자를 받았습니다.
  • Medium에 Node.js 재단에 대한 생각이라는 글이 게시되었습니다.
  • io.js 위키에 io.js v1.8.0의 crypto 성능에 대한 글을 게시했습니다.
  • 오라클 블로그에 io.js가 언급되었습니다.
  • 2015년 4월의 io.js 빌드 현황입니다.

다가오는 이벤트

  • JSConf Uruguay 입장권을 판매하고 있습니다. 4월 24일과 25일, 우르과이 몬테비데오에서 열립니다.