가장 주목할 만한 개선 사항 중 하나는 Router#find_routes
의 마이크로 최적화입니다. 이 변경으로 인해 라우트 조회 과정의 오버헤드가 제거되어, Rails 8.0 대비 2배에서 2.5배 더 빠른 라우트 조회 성능을 제공합니다. 이는 대규모 Rails 애플리케이션에서 라우트 매칭 속도를 크게 향상시켜 전반적인 응답 시간을 단축하는 데 기여합니다.
또한, Rails.error.handle
의 예외 처리 기능이 수정되었습니다. 이전에는 특정 상황에서 예외를 제대로 처리하지 못했지만, 이제는 예외를 올바르게 처리하도록 개선되어 애플리케이션의 안정성이 강화되었습니다. 이는 개발자가 예측하지 못한 오류에 대해 더 견고한 애플리케이션을 구축할 수 있도록 돕습니다.
ActiveModel의 중요한 변화로는 값 타입이 기본적으로 변경 가능(mutable)하도록 설정된 점입니다. 이로 인해 사용자 정의 타입 값이 수정될 때 적절하게 복제되는 것이 보장됩니다. 이는 데이터 무결성을 유지하고, ActiveModel을 사용하는 개발자가 값의 변경 동작을 더 예측 가능하게 관리할 수 있도록 합니다.
마지막으로, PostgreSQL 어댑터의 테이블 정의 메서드에 키워드 인자(...
를 사용하여)를 전달할 수 있게 되었습니다. 이 변경은 향후 validate_constraint
및 validate_check_constraint
와 같은 기능들이 키워드 인자를 받을 수 있도록 하는 필수적인 기반을 마련합니다. 이는 PostgreSQL 데이터베이스를 활용하는 Rails 애플리케이션에서 더 유연하고 강력한 스키마 정의 및 유효성 검사 기능을 사용할 수 있게 될 것임을 시사합니다.