Ruby 3.5.0 preview1 릴리스

Ruby 3.5.0 preview1 Released

3줄 요약

  • Ruby 3.5.0의 첫 번째 미리보기 버전인 3.5.0-preview1이 2025년 4월 18일에 공개되었습니다.
  • 주요 변경 사항으로는 유니코드 15.1.0 업데이트, `*nil` 동작 변화, `Binding` 및 `IO.select` 개선 등이 포함됩니다.
  • 이번 릴리스는 차기 안정 버전 출시 전 새로운 기능 테스트 및 호환성 확인을 위한 중요한 단계입니다.

2025년 4월 18일, Ruby 개발팀은 Ruby 3.5의 개발 과정에서 첫 번째 미리보기 버전인 **Ruby 3.5.0-preview1**의 릴리스를 공식 발표했습니다. 이 미리보기 버전은 다가올 Ruby 3.5의 주요 기능과 개선 사항을 미리 경험하고, 개발자들이 변경 사항을 테스트하며 피드백을 제공할 수 있도록 마련되었습니다. 이번 릴리스는 특히 유니코드 업데이트 및 언어와 코어 클래스의 다양한 변화를 포함하고 있어, 향후 Ruby 버전의 방향성을 엿볼 수 있게 합니다.

가장 주목할 만한 업데이트 중 하나는 유니코드가 15.1.0 버전으로 업데이트되었다는 점입니다. 이는 StringRegexp와 관련된 문자열 처리 및 패턴 매칭 기능에 영향을 미치며, 최신 문자와 기호를 지원하게 됩니다. 또한, 이모지 버전도 15.1로 업데이트되었습니다.

언어적인 측면에서는 *nil의 동작이 변경되었습니다. 기존에는 nil.to_a를 호출했지만, Ruby 3.5.0-preview1부터는 **nilnil.to_hash를 호출하지 않는 것과 유사하게 더 이상 nil.to_a를 호출하지 않도록 변경되었습니다. 이는 언어의 일관성을 높이는 개선입니다.

코어 클래스에서도 여러 중요한 개선이 이루어졌습니다. Binding 클래스의 경우, Binding#local_variables 메서드는 더 이상 번호 매개변수를 결과에 포함하지 않습니다. 더 나아가 Binding#local_variable_getBinding#local_variable_set 메서드 역시 번호 매개변수 처리를 거부하도록 변경되어 로컬 변수 관리의 명확성이 향상되었습니다. 또한, IO 클래스의 IO.select 메서드는 타임아웃 인자로 Float::INFINITY 값을 허용하게 되어, 무한 대기 상황을 더욱 명시적으로 표현할 수 있게 되었습니다.

표준 라이브러리 또한 여러 업데이트가 포함되었습니다. ostruct 0.6.1, pstore 0.2.0, benchmark 0.4.0, logger 1.7.0, rdoc 6.13.1, win32ole 1.9.2, irb 1.15.2, reline 0.6.1, readline 0.0.4, fiddle 1.1.6 등의 라이브러리가 새로운 버전으로 업데이트되어 최신 기능과 버그 수정이 반영되었습니다.

종합적으로, 이번 릴리스는 Ruby 3.4.0 이후로 2065개의 파일이 변경되었고, 36581개의 삽입203037개의 삭제가 이루어지는 등 상당한 규모의 변화를 포함하고 있습니다.

Ruby 3.5.0-preview1은 차기 안정 버전 출시를 위한 중요한 첫 걸음이며, 개발자들에게 새로운 기능과 변경 사항을 미리 경험하고 테스트할 기회를 제공합니다. 특히 **유니코드 15.1.0 지원 및 언어/코어 클래스의 개선**은 주목할 만합니다. 개발자들은 이 미리보기 버전을 통해 애플리케이션과의 호환성을 확인하고 잠재적인 문제를 파악하여 안정 버전 출시에 기여할 수 있습니다. 더 자세한 변경 내용은 NEWS 파일이나 커밋 로그를 통해 확인할 수 있으며, 공식 웹사이트에서 제공되는 링크를 통해 미리보기 버전을 다운로드할 수 있습니다. 적극적인 테스트와 피드백은 Ruby 3.5의 완성도를 높이는 데 크게 기여할 것입니다.