Ruby 4.0.0-preview2는 다음과 같은 주요 개선 사항들을 포함합니다.
💎 Nil 객체 동작 개선
nil.to_a,nil.to_hash등nil메서드 호출이 명확해져 코드 예측 가능성이 향상되었습니다.
🔗 바인딩 정교화
- `Binding
local_variables`에서 번호 매개변수가 제거되어, 바인딩 컨텍스트가 엄격해지고 유지보수가 용이해졌습니다.
📜 유니코드 및 이모지 업그레이드
- 유니코드 17.0.0 및 이모지 17.0을 지원하며, 정규 표현식에서도 활용 가능하여 전역 앱 개발 폭이 넓어졌습니다.
⏱ IO 및 코어 라이브러리 개선
-
IO.select가Float::INFINITY를 허용하여 무한 대기 시간을 설정할 수 있습니다. -
ostruct,pstore,benchmark,logger,irb등 표준 라이브러리가 업데이트되었습니다.
⚡ JIT 및 성능 최적화
-
YJIT: 메모리 및 호출 임계값 옵션이 추가되어 성능 튜닝 유연성이 증대되었습니다.
-
ZJIT: 메서드 기반의 실험적인 JIT 컴파일러가 도입되었습니다.
-
RJIT: 코어에서 분리되어 독립 저장소로 이전되었습니다.
📊 흥미로운 사실
- Ruby 3.4.0 이후 3607개 파일 변경, 197k 삽입, 285k 삭제 등 대규모 내부 재정비가 이루어졌습니다.