Заметки о релизе Ruby on Rails 7.1

Ключевые новинки в Rails 7.1:


1. Апгрейд до Rails 7.1

Прежде чем апгрейднуть существующее приложение, было бы хорошо иметь перед этим покрытие тестами. Также, до попытки обновиться до Rails 7.1, необходимо сначала произвести апгрейд до Rails 7.0 и убедиться, что приложение все еще выполняется так, как нужно. Список вещей, которые нужно выполнить для апгрейда доступен в руководстве Апгрейд Ruby on Rails.

2. Основные особенности

3. Railties

За подробностями обратитесь к Changelog.

3.1. Удалено

3.2. Устарело

3.3. Значимые изменения

4. Action Cable

За подробностями обратитесь к Changelog.

4.1. Удалено

4.2. Устарело

4.3. Значимые изменения

5. Action Pack

За подробностями обратитесь к Changelog.

5.1. Удалено

  • Удалено устаревшее поведение у Request#content_type

  • Удалена устаревшая возможность присвоения одиночного значения config.action_dispatch.trusted_proxies.

  • Удалена регистрация устаревших драйверов poltergeist и webkit (capybara-webkit) для системного тестирования.

5.2. Устарело

  • Устарел config.action_dispatch.return_only_request_media_type_on_content_type.

  • Устарел AbstractController::Helpers::MissingHelperError

  • Устарел ActionDispatch::IllegalStateError.

5.3. Значимые изменения

6. Action View

За подробностями обратитесь к Changelog.

6.1. Удалено

  • Удалена устаревшая константа ActionView::Path.

  • Удалена устаревшая поддержка передачи переменных экземпляра как локальных в партиалы.

6.2. Устарело

6.3. Значимые изменения

7. Action Mailer

За подробностями обратитесь к Changelog.

7.1. Удалено

7.2. Устарело

7.3. Значимые изменения

8. Active Record

За подробностями обратитесь к Changelog.

8.1. Удалено

  • Удалена поддержка ActiveRecord.legacy_connection_handling.

  • Удалены устаревшие методы доступа конфигурации ActiveRecord::Base

  • Удалена поддержка :include_replicas у configs_for. Вместо него используйте :include_hidden.

  • Удален устаревший config.active_record.partial_writes.

  • Удален устаревший Tasks::DatabaseTasks.schema_file_type.

8.2. Устарело

8.3. Значимые изменения

9. Active Storage

За подробностями обратитесь к Changelog.

9.1. Удалено

  • Удалены устаревшие неправильные типы содержимого в конфигурациях Active Storage.

  • Удалены устаревшие методы ActiveStorage::Current#host и ActiveStorage::Current#host=.

  • Удалено устаревшие поведение при присвоении коллекции вложений. Вместо добавления к коллекции, сейчас коллекция заменяется.

  • Удалены устаревшие методы purge и purge_later из связи с вложениями.

9.2. Устарело

9.3. Значимые изменения

10. Active Model

За подробностями обратитесь к Changelog.

10.1. Удалено

10.2. Устарело

10.3. Значимые изменения

11. Active Support

За подробностями обратитесь к Changelog.

11.1. Удалено

  • Удалено устаревшее переопределение Enumerable#sum.

  • Удален устаревший ActiveSupport::PerThreadRegistry.

  • Удалены устаревшие опции для передачи формата в #to_s в Array, Range, Date, DateTime, Time, BigDecimal, Float и Integer.

  • Удалено устаревшее переопределение ActiveSupport::TimeWithZone.name.

  • Удален устаревший файл active_support/core_ext/uri.

  • Удален устаревший файл active_support/core_ext/range/include_time_with_zone.

  • Удалено неявное преобразование объектов в String в ActiveSupport::SafeBuffer.

  • Удалена устаревшая поддержка генерации несоответствующих RFC 4122 UUID при предоставлении ID пространства имен, не являющегося одной из констант, определенных в Digest::UUID.

11.2. Устарело

  • Устарел config.active_support.disable_to_s_conversion.

  • Устарел config.active_support.remove_deprecated_time_with_zone_name.

  • Устарел config.active_support.use_rfc4122_namespaced_uuids.

11.3. Значимые изменения

12. Active Job

За подробностями обратитесь к Changelog.

12.1. Удалено

12.2. Устарело

12.3. Значимые изменения

13. Action Text

За подробностями обратитесь к Changelog.

13.1. Удалено

13.2. Устарело

13.3. Значимые изменения

14. Action Mailbox

За подробностями обратитесь к Changelog.

14.1. Удалено

14.2. Устарело

14.3. Значимые изменения

15. Ruby on Rails Guides

За подробностями обратитесь к Changelog.

15.1. Значимые изменения

16. Благодарности

Взгляните на полный список контрибьюторов Rails, на людей, которые потратили много часов, сделав Rails стабильнее и надёжнее. Спасибо им всем.