Active Model、Action Mailer、Action Mailbox(全項目リンク付き)|TechRacho by BPS株式会社

参考: Release 8.1.0.beta1 · rails/rails
参考: コミットリスト: Comparing v8.0.2.1…v8.1.0.beta1 · rails/rails

🔗 Add except_on: option for validation callbacks by bensheldon · Pull Request #54665 · rails/rails

バリデーションコールバックにexcept_on:オプションを追加。

Ben Sheldon
同Changelogより

🔗 Migrate ActiveRecord::Normalization to Active Model by seanpdoyle · Pull Request #53955 · rails/rails

ActiveRecord::NormalizationActiveModel::Attributes::Normalizationにバックポートした。

class User
  include ActiveModel::Attributes
  include ActiveModel::Attributes::Normalization

  attribute :email, :string

  normalizes :email, with: -> email { email.strip.downcase }
end

user = User.new
user.email =    " CRUISE-CONTROL@EXAMPLE.COM\n"
user.email # => "cruise-control@example.com"

Sean Doyle
同Changelogより

ActiveRecord::Normalizationに依存する実装がある場合は、影響を受ける可能性があります。

🔗 Add deliver_all_later to enqueue multiple emails at once by fatkodima · Pull Request #55448 · rails/rails

複数のメールを一度にエンキューするdeliver_all_laterを追加。

user_emails = User.all.map { |user| Notifier.welcome(user) }
ActionMailer.deliver_all_later(user_emails)

# カスタムキューを使う場合
ActionMailer.deliver_all_later(user_emails, queue: :my_queue)

これにより、キューデータストアへのラウンドトリップ回数を大幅に削減できる。
キューアダプタがenqueue_allを実装していない場合は、個別のメールジョブをエンキューする方法にフォールバックする。

fatkodima
同Changelogより

これはActive Jobのperform_all_laterのメール版です。

参考: Add perform_all_later to enqueue multiple jobs at once by Mangara · Pull Request #46603 · rails/rails

🔗 actionmailbox: Add reply_to_address Mail extension by Mr0grog · Pull Request #53513 · rails/rails

Mail::Messageメール拡張にこれまでなかったreply_to_addressを追加。

Mr0grog
同Changelogより

関連記事

速報: Rails World 2025のDHHキーノートとRails 8.1beta1リリース

Rails 8.0 Changelog(全項目リンク付き)

Rails 7.2.0 Active Storage CHANGELOG(全項目リンク付き)


元の記事を確認する

関連記事