첫 번째 주요 업데이트는 Active Record에서 연관 관계를 deprecated
로 표시할 수 있는 기능입니다. 개발자는 has_many :posts, deprecated: true
와 같이 선언하여 특정 연관 관계가 더 이상 권장되지 않음을 명시할 수 있습니다. 이 기능은 :warn
(기본값), :raise
, :notify
의 세 가지 보고 모드를 지원하며, 필요에 따라 백트레이스 포함 여부(기본값 비활성화)를 설정할 수 있습니다. 이는 레거시 코드 관리 및 점진적인 코드 리팩토링에 큰 도움이 될 것입니다.
두 번째 개선 사항은 새로운 Rails 애플리케이션 생성 시의 기본 설정과 관련이 있습니다. 기존에는 새로운 Rails 애플리케이션을 생성할 때 모든 경우에 구형 브라우저를 차단하는 동작이 기본으로 추가되었습니다. 그러나 importmap-rails
를 사용하는 경우에는 이 동작이 합리적이지만, jsbundling-rails
와 같은 다른 자바스크립트 번들링 방식을 사용하는 경우에는 불필요할 수 있습니다. 이번 업데이트를 통해 이 브라우저 차단 기능은 importmap-rails
를 사용하는 경우에만 조건부로 추가되도록 변경되어, 개발자가 자신의 프로젝트 설정에 더욱 적합한 기본값을 가질 수 있게 되었습니다.
마지막으로, ActiveSupport::BacktraceCleaner
에 clean_locations
라는 새로운 메서드가 추가되었습니다. 이 메서드는 Thread::Backtrace::Location
객체의 배열을 정리할 수 있도록 합니다. 기존의 필터와 사일런서는 여전히 문자열 표현을 받지만, 반환되는 배열은 Location
객체가 불변(immutable)이므로 원본 path
속성을 유지합니다. 이 기능은 복잡한 백트레이스를 분석하고 이해하는 과정을 간소화하여 디버깅 효율성을 크게 높일 수 있습니다.