2024년은 Rails Foundation의 활동과 Rails 8 출시로 주목할 만한 변화가 있었습니다. Rails 8은 PWA(Progressive Web Application) 매니페스트 및 서비스 워커 파일을 기본 포함하여 PWA 개발을 지원하며, allow_browser
기능을 통해 브라우저 접근 버전을 쉽게 제어할 수 있게 되었습니다.
성능 및 안정성 강화를 위해 Action Controller에 내장 속도 제한 기능이 추가되었고, 개발 환경 개선을 위해 .devcontainer
폴더가 기본 생성되며, Rails 콘솔 프롬프트가 현재 환경을 시각적으로 표시합니다. 배포는 Rails 8부터 Kamal이 기본 도구로 통합되었고, 자산 파이프라인은 Sprockets에서 효율적인 Propshaft로 변경되었습니다. 인증 시스템 구축을 위한 새로운 세션/인증 생성기도 도입되었습니다.
Rails 유지보수 정책이 업데이트되어 버그 수정 1년, 보안 수정 2년의 고정된 지원 기간을 제공하며, 보안 문제 분류가 간소화되었습니다. Rails 8의 주요 변화는 새로운 기본 백엔드 스택 도입입니다. Thruster는 Dockerfile에 기본 구성되어 배포 성능을 향상시키고, Solid Cache는 새로운 기본 캐싱 백엔드로, Solid Queue는 기본 Active Job 백엔드로, Solid Cable은 Redis 의존성을 줄인 Action Cable 어댑터로 각각 도입되었습니다. 이는 Rails 앱의 인프라 의존성을 줄이고 배포를 간편하게 합니다.
데이터베이스 지원 면에서는 SQLite3의 전체 텍스트 검색 및 가상 테이블 지원이 강화되었고, create_virtual_table
을 통해 안전하게 추가할 수 있습니다. 보안 및 로그 관리를 위해 Parameters#expect
가 추가되어 파라미터 처리가 더욱 안전해졌으며, 헬스체크 요청(/up
)을 로그에서 자동 제외하여 프로덕션 로그의 가독성을 높였습니다. 사용자 경험 및 개발 효율성 증대를 위해 Rails 내장 에러 페이지가 업데이트되었고, SQLite3 확장 로딩 지원 및 ActiveSupport::Testing::NotificationAssertions
와 같은 새로운 테스트 헬퍼 모듈이 추가되었습니다.