2025년 4월 18일, Ruby 개발팀은 Ruby 3.5의 개발 과정에서 첫 번째 미리보기 버전인 **Ruby 3.5.0-preview1**의 릴리스를 공식 발표했습니다. 이 미리보기 버전은 다가올 Ruby 3.5의 주요 기능과 개선 사항을 미리 경험하고, 개발자들이 변경 사항을 테스트하며 피드백을 제공할 수 있도록 마련되었습니다. 이번 릴리스는 특히 유니코드 업데이트 및 언어와 코어 클래스의 다양한 변화를 포함하고 있어, 향후 Ruby 버전의 방향성을 엿볼 수 있게 합니다.
가장 주목할 만한 업데이트 중 하나는 유니코드가 15.1.0 버전으로 업데이트되었다는 점입니다. 이는 String
및 Regexp
와 관련된 문자열 처리 및 패턴 매칭 기능에 영향을 미치며, 최신 문자와 기호를 지원하게 됩니다. 또한, 이모지 버전도 15.1로 업데이트되었습니다.
언어적인 측면에서는 *nil
의 동작이 변경되었습니다. 기존에는 nil.to_a
를 호출했지만, Ruby 3.5.0-preview1부터는 **nil
이 nil.to_hash
를 호출하지 않는 것과 유사하게 더 이상 nil.to_a
를 호출하지 않도록 변경되었습니다. 이는 언어의 일관성을 높이는 개선입니다.
코어 클래스에서도 여러 중요한 개선이 이루어졌습니다. Binding
클래스의 경우, Binding#local_variables
메서드는 더 이상 번호 매개변수를 결과에 포함하지 않습니다. 더 나아가 Binding#local_variable_get
및 Binding#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의 완성도를 높이는 데 크게 기여할 것입니다.