Работаю удалённо на московскую компанию, у нас GraphQL API на Rails, Ruby 3.3.4. С 7.1 на 7.2 перешли за три дня, легче, чем ожидал. Что всплыло.
Rails.application.secrets в 7.2 уже удалён, а в одном старом инициализаторе он остался, падало при старте. Хорошо, что поймали на стейдже.
ActiveRecord::Base.connection теперь мягко устаревший, предлагают with_connection или lease_connection. Ничего не падает, но в логах тестов предупреждения пачками, его дёргали в паре сервисов ради сырого SQL.
YJIT после load_defaults 7.2 включается сам, если Ruby 3.3. Мы его раньше включали руками через переменную окружения, теперь убрали. Время ответа почти не изменилось, оно и так было с YJIT. Кто ещё сидит на старом Ruby, имейте в виду, что 7.2 требует минимум 3.1.
С YJIT на 3.3 я мерил на похожем API: p95 со 140 до 115 мс, память на процесс Puma плюс 35-40 МБ. Если вы его уже включали руками, разницы и не должно быть. Проверить, что он правда работает, можно RubyVM::YJIT.enabled? в консоли на проде.
а with_connection чем лучше, если там всё равно один запрос?