Rails 코드베이스에는 여러 중요한 개선 사항이 반영되었습니다. 첫째, PostgreSQL 환경에서 스키마 캐시 파일이 구성된 경우, 부팅 시 속성 메서드를 정의할 때 데이터베이스 연결을 열어 타입 맵을 로드할 필요가 없어지면서 시스템의 견고성이 향상되었습니다. 이는 쿼리 로딩을 제거하여 효율성을 높인 결과입니다. 둘째, ActiveSupport::Testing::TimeHelpers#freeze_time
테스트 헬퍼가 날짜 또는 시간 인자를 받을 수 있도록 확장되어, 테스트 시 시간 제어가 더욱 유연해졌습니다. 셋째, index_exists?
메서드에서 컬럼 이름이 선택 사항으로 변경되어 remove_index
시그니처와의 일관성을 확보하고 인덱스 관리의 편의성을 높였습니다.
개발 환경 측면에서는 VSCode 없이 개발 컨테이너 정보를 활용할 수 있는 스크립트가 추가되었습니다. 이 스크립트는 devcontainer
JSON 파일을 읽어 해당 정보에 기반한 Docker 명령을 실행함으로써, 특정 IDE에 종속되지 않고 개발 환경을 설정할 수 있도록 지원합니다. 또한, 프로그레시브 웹 앱(PWA) 지원을 강화하기 위해 애플리케이션 레이아웃에 application-name
메타 태그가 추가되었습니다.
데이터 처리와 관련하여, ActiveRecord::Coder::JSON
인스턴스화 시 옵션을 전달할 수 있게 되어 JSON 직렬화된 속성에서 심볼화된 키를 반환할 수 있게 되었습니다. 이는 데이터 처리의 유연성을 증대시킵니다. 마지막으로, 연관 관계에 있는 비영구(unpersisted) 레코드와 함께 insert_all
또는 upsert_all
메서드를 사용하는 것에 대한 경고가 도입되었습니다. 비영구 레코드가 작업 후 손실될 수 있음을 알리는 이 경고는 Rails 8.2부터는 오류로 처리될 예정이므로, 개발자들은 이에 대한 주의가 필요합니다. 지난 한 주 동안 34명의 기여자가 Rails 코드베이스에 참여하며 활발한 개발이 이루어졌습니다.