이번 주 Rails 업데이트는 시스템의 견고함과 효율성을 높이는 데 중점을 둡니다. 보안 측면에서는 비밀번호 픽스처가 정적 해시를 사용하도록 변경되어 테스트 일관성을 높였고, has_secure_password
는 공백 비밀번호에도 유효성 검사를 수행하여 일관성을 강화했습니다.
호환성 개선도 중요합니다. JRuby 환경에서 Bundler 플랫폼 추가를 방지하여 젬 설치 문제를 해결했으며, PostgreSQL 18+와 pg
젬 1.6.0 미만 버전 사용 시 호환성 경고를 추가했습니다. Action Cable은 redis-rb
5.4.1과의 호환성 문제를 해결하여 안정적인 실시간 통신을 지원합니다.
성능 및 개발 편의성 향상도 두드러집니다. ActiveSupport::Gzip.compress
는 일관된 출력을 위해 gzip 타임스탬프를 0으로 설정하여 불안정한 테스트를 제거했습니다. HashWithIndifferentAccess#transform_keys!
는 키 충돌로 인한 손실 버그를 수정했습니다. GCP 메타데이터 서버 불필요한 호출 제거로 지연 시간과 서버 부하를 줄였으며, 초기화 시 참조되는 Active Model 자동 로드 상수에 대한 로드 훅이 추가되어 개발 편의성이 향상되었습니다.
테스트 환경의 신뢰성도 개선되었습니다. 스키마 로드 시 테스트 데이터베이스 초기화를 방지하여 테스트 스위트의 신뢰성을 높였고, config/credentials
내의 모든 키 파일을 .gitignore
에 추가하여 중요한 파일이 실수로 커밋되는 것을 방지합니다.
API 및 프런트엔드 관련 업데이트도 있습니다. Rails 헬스 컨트롤러가 JSON 응답을 지원하여 API 전용 애플리케이션에 유용하며, ActiveRecord::Tasks::AbstractTasks
도입으로 데이터베이스 어댑터별 태스크 동작 사용자 정의가 가능해졌습니다. nonce: false
설정 시 javascript_tag
등에서 nonce 속성이 제거됩니다. ActionDispatch::Http::URL
에서 커스텀 도메인 추출 클래스 사용이 허용되어 유연성이 증가했습니다. Action Text
픽스처는 config.action_text.attachment_tag_name
설정 시 올바른 태그 이름을 사용하도록 업데이트되었고, Action View의 태그 헬퍼 공개 API가 정리되어 유지보수성과 명확성이 향상되었습니다.