actionmailer 7.1.5 → 7.2.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of actionmailer might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: efce6f96c0ce6573ea2968c7e9c8f8fb002e2427cf66a54aaa1b0a93940e470d
4
- data.tar.gz: 7238d38ff7c4f13cd550db216125a01b4592d6dd5a23df863099d7ef45f2289d
3
+ metadata.gz: 9c7f9dbdd83663bd038b7e812e4b5f7318b20f1946fbace7f07354a3e268d1ed
4
+ data.tar.gz: 77246e426849a478ee05eb9c47b22fbaa14d8a11afbeb153a19c766158484346
5
5
  SHA512:
6
- metadata.gz: c661a023f0c4bf8ed5a8673359b208e5fe51e5ee2a0dcbb72461ff1e9d6cbaa727d05fbc5cb3f1304bdb55d1010f72c4df0945aa56a7e09062f86310d2c2a515
7
- data.tar.gz: 6efbd068a3c292a21cec4bf98054be9495c681e031a85af713def32463a2ee7e1a892a184340989623a818379ff0a86ba1d437b45e9c063b85ebb47ada4dcb87
6
+ metadata.gz: b6c39d2a7f3a9ba30606717cc7f091aab23bf93844b68575ac690657295cfb980c4905758f37ec9f7f083b42548f60dd59031c61904ea4e5f3c5e162419c854a
7
+ data.tar.gz: 2f8f081f7c3528694fb1fecfac16e4bb8a3a61590248ef1b446f74d2b5df03bf049436cfbbed6f4958835327e2865fd4aab5d2111322cbc5a81d8b1b5e75279c
data/CHANGELOG.md CHANGED
@@ -1,204 +1,11 @@
1
- ## Rails 7.1.5 (October 30, 2024) ##
1
+ ## Rails 7.2.0 (August 09, 2024) ##
2
2
 
3
- * No changes.
3
+ * Remove deprecated params via `:args` for `assert_enqueued_email_with`.
4
4
 
5
+ *Rafael Mendonça França*
5
6
 
6
- ## Rails 7.1.4.2 (October 23, 2024) ##
7
+ * Remove deprecated `config.action_mailer.preview_path`.
7
8
 
8
- * Fix NoMethodError in `block_format` helper
9
+ *Rafael Mendonça França*
9
10
 
10
- *Michael Leimstaedtner*
11
-
12
-
13
- ## Rails 7.1.4.1 (October 15, 2024) ##
14
-
15
- * Avoid regex backtracking in `block_format` helper
16
-
17
- [CVE-2024-47889]
18
-
19
- *John Hawthorn*
20
-
21
-
22
- ## Rails 7.1.4 (August 22, 2024) ##
23
-
24
- * No changes.
25
-
26
-
27
- ## Rails 7.1.3.4 (June 04, 2024) ##
28
-
29
- * No changes.
30
-
31
-
32
- ## Rails 7.1.3.3 (May 16, 2024) ##
33
-
34
- * No changes.
35
-
36
-
37
- ## Rails 7.1.3.2 (February 21, 2024) ##
38
-
39
- * No changes.
40
-
41
-
42
- ## Rails 7.1.3.1 (February 21, 2024) ##
43
-
44
- * No changes.
45
-
46
-
47
- ## Rails 7.1.3 (January 16, 2024) ##
48
-
49
- * No changes.
50
-
51
-
52
- ## Rails 7.1.2 (November 10, 2023) ##
53
-
54
- * No changes.
55
-
56
-
57
- ## Rails 7.1.1 (October 11, 2023) ##
58
-
59
- * No changes.
60
-
61
-
62
- ## Rails 7.1.0 (October 05, 2023) ##
63
-
64
- * No changes.
65
-
66
-
67
- ## Rails 7.1.0.rc2 (October 01, 2023) ##
68
-
69
- * No changes.
70
-
71
-
72
- ## Rails 7.1.0.rc1 (September 27, 2023) ##
73
-
74
- * Introduce `ActionMailer::FormBuilder`
75
-
76
- Use the `default_form_builder` method in mailers to set the default form builder
77
- for templates rendered by that mailer. Matches the behaviour in Action Controller.
78
-
79
- *Alex Ghiculescu*
80
-
81
-
82
- ## Rails 7.1.0.beta1 (September 13, 2023) ##
83
-
84
- * Mailers are listed in alphabetical order on the mailer preview page now.
85
-
86
- *Martin Spickermann*
87
-
88
- * Deprecate passing params to `assert_enqueued_email_with` via the `:args`
89
- kwarg. `assert_enqueued_email_with` now supports a `:params` kwarg, so use
90
- that to pass params:
91
-
92
- ```ruby
93
- # BEFORE
94
- assert_enqueued_email_with MyMailer, :my_method, args: { my_param: "value" }
95
-
96
- # AFTER
97
- assert_enqueued_email_with MyMailer, :my_method, params: { my_param: "value" }
98
- ```
99
-
100
- To specify named mailer args as a Hash, wrap the Hash in an array:
101
-
102
- ```ruby
103
- assert_enqueued_email_with MyMailer, :my_method, args: [{ my_arg: "value" }]
104
- # OR
105
- assert_enqueued_email_with MyMailer, :my_method, args: [my_arg: "value"]
106
- ```
107
-
108
- *Jonathan Hefner*
109
-
110
- * Accept procs for args and params in `assert_enqueued_email_with`
111
-
112
- ```ruby
113
- assert_enqueued_email_with DeliveryJob, params: -> p { p[:token] =~ /\w+/ } do
114
- UserMailer.with(token: user.generate_token).email_verification.deliver_later
115
- end
116
- ```
117
-
118
- *Max Chernyak*
119
-
120
- * Added `*_deliver` callbacks to `ActionMailer::Base` that wrap mail message delivery.
121
-
122
- Example:
123
-
124
- ```ruby
125
- class EventsMailer < ApplicationMailer
126
- after_deliver do
127
- User.find_by(email: message.to.first).update(email_provider_id: message.message_id, emailed_at: Time.current)
128
- end
129
- end
130
- ```
131
-
132
- *Ben Sheldon*
133
-
134
- * Added `deliver_enqueued_emails` to `ActionMailer::TestHelper`. This method
135
- delivers all enqueued email jobs.
136
-
137
- Example:
138
-
139
- ```ruby
140
- def test_deliver_enqueued_emails
141
- deliver_enqueued_emails do
142
- ContactMailer.welcome.deliver_later
143
- end
144
- assert_emails 1
145
- end
146
- ```
147
-
148
- *Andrew Novoselac*
149
-
150
- * The `deliver_later_queue_name` used by the default mailer job can now be
151
- configured on a per-mailer basis. Previously this was only configurable
152
- for all mailers via `ActionMailer::Base`.
153
-
154
- Example:
155
-
156
- ```ruby
157
- class EventsMailer < ApplicationMailer
158
- self.deliver_later_queue_name = :throttled_mailer
159
- end
160
- ```
161
-
162
- *Jeffrey Hardy*
163
-
164
- * Email previews now include an expandable section to show all headers.
165
-
166
- Headers like `Message-ID` for threading or email service provider specific
167
- features like analytics tags or account metadata can now be viewed directly
168
- in the mailer preview.
169
-
170
- *Matt Swanson*
171
-
172
- * Default `ActionMailer::Parameterized#params` to an empty `Hash`
173
-
174
- *Sean Doyle*
175
-
176
- * Introduce the `capture_emails` test helper.
177
-
178
- Returns all emails that are sent in a block.
179
-
180
- ```ruby
181
- def test_emails
182
- emails = capture_emails do
183
- ContactMailer.welcome.deliver_now
184
- ContactMailer.welcome.deliver_later
185
- end
186
- assert_email "Hi there", emails.first.subject
187
- end
188
- ```
189
-
190
- *Alex Ghiculescu*
191
-
192
- * Added ability to download `.eml` file for the email preview.
193
-
194
- *Igor Kasyanchuk*
195
-
196
- * Support multiple preview paths for mailers.
197
-
198
- Option `config.action_mailer.preview_path` is deprecated in favor of
199
- `config.action_mailer.preview_paths`. Appending paths to this configuration option
200
- will cause those paths to be used in the search for mailer previews.
201
-
202
- *fatkodima*
203
-
204
- Please check [7-0-stable](https://github.com/rails/rails/blob/7-0-stable/actionmailer/CHANGELOG.md) for previous changes.
11
+ Please check [7-1-stable](https://github.com/rails/rails/blob/7-1-stable/actionmailer/CHANGELOG.md) for previous changes.
@@ -625,17 +625,16 @@ module ActionMailer
625
625
  payload[:perform_deliveries] = mail.perform_deliveries
626
626
  end
627
627
 
628
- def method_missing(method_name, *args)
629
- if action_methods.include?(method_name.to_s)
630
- MessageDelivery.new(self, method_name, *args)
628
+ def method_missing(method_name, ...)
629
+ if action_methods.include?(method_name.name)
630
+ MessageDelivery.new(self, method_name, ...)
631
631
  else
632
632
  super
633
633
  end
634
634
  end
635
- ruby2_keywords(:method_missing)
636
635
 
637
636
  def respond_to_missing?(method, include_all = false)
638
- action_methods.include?(method.to_s) || super
637
+ action_methods.include?(method.name) || super
639
638
  end
640
639
  end
641
640
 
@@ -669,7 +668,7 @@ module ActionMailer
669
668
  true
670
669
  end
671
670
 
672
- def method_missing(*args)
671
+ def method_missing(...)
673
672
  nil
674
673
  end
675
674
  end
@@ -32,8 +32,7 @@ module ActionMailer
32
32
 
33
33
  add_delivery_method :sendmail, Mail::Sendmail,
34
34
  location: "/usr/sbin/sendmail",
35
- # See breaking change in the mail gem - https://github.com/mikel/mail/commit/7e1196bd29815a0901d7290c82a332c0959b163a
36
- arguments: Gem::Version.new(Mail::VERSION.version) >= Gem::Version.new("2.8.0") ? %w[-i] : "-i"
35
+ arguments: %w[-i]
37
36
 
38
37
  add_delivery_method :test, Mail::TestMailer
39
38
  end
@@ -8,8 +8,8 @@ module ActionMailer
8
8
 
9
9
  module VERSION
10
10
  MAJOR = 7
11
- MINOR = 1
12
- TINY = 5
11
+ MINOR = 2
12
+ TINY = 0
13
13
  PRE = nil
14
14
 
15
15
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
@@ -25,18 +25,10 @@ module ActionMailer
25
25
  }.join("\n\n")
26
26
 
27
27
  # Make list points stand on their own line
28
- output = +""
29
- splits = formatted.split(/(\*+|\#+)/)
30
- while line = splits.shift
31
- if line.start_with?("*", "#") && splits.first&.start_with?(" ")
32
- output.chomp!(" ") while output.end_with?(" ")
33
- output << " #{line} #{splits.shift.strip}\n"
34
- else
35
- output << line
36
- end
37
- end
28
+ formatted.gsub!(/[ ]*([*]+) ([^*]*)/) { " #{$1} #{$2.strip}\n" }
29
+ formatted.gsub!(/[ ]*([#]+) ([^#]*)/) { " #{$1} #{$2.strip}\n" }
38
30
 
39
- output
31
+ formatted
40
32
  end
41
33
 
42
34
  # Access the mailer instance.
@@ -114,14 +114,13 @@ module ActionMailer
114
114
  end
115
115
 
116
116
  private
117
- def method_missing(method_name, *args)
118
- if @mailer.action_methods.include?(method_name.to_s)
119
- ActionMailer::Parameterized::MessageDelivery.new(@mailer, method_name, @params, *args)
117
+ def method_missing(method_name, ...)
118
+ if @mailer.action_methods.include?(method_name.name)
119
+ ActionMailer::Parameterized::MessageDelivery.new(@mailer, method_name, @params, ...)
120
120
  else
121
121
  super
122
122
  end
123
123
  end
124
- ruby2_keywords(:method_missing)
125
124
 
126
125
  def respond_to_missing?(method, include_all = false)
127
126
  @mailer.respond_to?(method, include_all)
@@ -129,11 +128,10 @@ module ActionMailer
129
128
  end
130
129
 
131
130
  class MessageDelivery < ActionMailer::MessageDelivery # :nodoc:
132
- def initialize(mailer_class, action, params, *args)
133
- super(mailer_class, action, *args)
131
+ def initialize(mailer_class, action, params, ...)
132
+ super(mailer_class, action, ...)
134
133
  @params = params
135
134
  end
136
- ruby2_keywords(:initialize)
137
135
 
138
136
  private
139
137
  def processed_mailer
@@ -25,31 +25,7 @@ module ActionMailer
25
25
  mattr_accessor :preview_interceptors, instance_writer: false, default: [ActionMailer::InlinePreviewInterceptor]
26
26
  end
27
27
 
28
- def preview_path
29
- ActionMailer.deprecator.warn(<<-MSG.squish)
30
- Using preview_path option is deprecated and will be removed in Rails 7.2.
31
- Please use preview_paths instead.
32
- MSG
33
- self.class.preview_paths.first
34
- end
35
-
36
28
  module ClassMethods
37
- def preview_path=(value)
38
- ActionMailer.deprecator.warn(<<-MSG.squish)
39
- Using preview_path= option is deprecated and will be removed in Rails 7.2.
40
- Please use preview_paths= instead.
41
- MSG
42
- self.preview_paths << value
43
- end
44
-
45
- def preview_path
46
- ActionMailer.deprecator.warn(<<-MSG.squish)
47
- Using preview_path option is deprecated and will be removed in Rails 7.2.
48
- Please use preview_paths instead.
49
- MSG
50
- self.preview_paths.first
51
- end
52
-
53
29
  # Register one or more Interceptors which will be called before mail is previewed.
54
30
  def register_preview_interceptors(*interceptors)
55
31
  interceptors.flatten.compact.each { |interceptor| register_preview_interceptor(interceptor) }
@@ -160,26 +160,6 @@ module ActionMailer
160
160
  mailer = mailer.instance_variable_get(:@mailer)
161
161
  end
162
162
 
163
- if args.is_a?(Hash)
164
- ActionMailer.deprecator.warn <<~MSG
165
- Passing a Hash to the assert_enqueued_email_with :args kwarg causes the
166
- Hash to be treated as params. This behavior is deprecated and will be
167
- removed in Rails 7.2.
168
-
169
- To specify a params Hash, use the :params kwarg:
170
-
171
- assert_enqueued_email_with MyMailer, :my_method, params: { my_param: "value" }
172
-
173
- Or, to specify named mailer args as a Hash, wrap the Hash in an array:
174
-
175
- assert_enqueued_email_with MyMailer, :my_method, args: [{ my_arg: "value" }]
176
- # OR
177
- assert_enqueued_email_with MyMailer, :my_method, args: [my_arg: "value"]
178
- MSG
179
-
180
- params, args = args, nil
181
- end
182
-
183
163
  args = Array(args) unless args.is_a?(Proc)
184
164
  queue ||= mailer.deliver_later_queue_name || ActiveJob::Base.default_queue_name
185
165
 
@@ -1,7 +1,9 @@
1
1
  <% module_namespacing do -%>
2
2
  class <%= class_name %>Mailer < ApplicationMailer
3
- <% actions.each do |action| -%>
3
+ <% actions.each_with_index do |action, index| -%>
4
+ <% if index != 0 -%>
4
5
 
6
+ <% end -%>
5
7
  # Subject can be set in your I18n file at config/locales/en.yml
6
8
  # with the following lookup:
7
9
  #
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: actionmailer
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.1.5
4
+ version: 7.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-10-31 00:00:00.000000000 Z
11
+ date: 2024-08-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -16,118 +16,70 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 7.1.5
19
+ version: 7.2.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 7.1.5
26
+ version: 7.2.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: actionpack
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 7.1.5
33
+ version: 7.2.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 7.1.5
40
+ version: 7.2.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: actionview
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: 7.1.5
47
+ version: 7.2.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - '='
53
53
  - !ruby/object:Gem::Version
54
- version: 7.1.5
54
+ version: 7.2.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: activejob
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - '='
60
60
  - !ruby/object:Gem::Version
61
- version: 7.1.5
61
+ version: 7.2.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - '='
67
67
  - !ruby/object:Gem::Version
68
- version: 7.1.5
68
+ version: 7.2.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: mail
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '2.5'
76
- - - ">="
77
- - !ruby/object:Gem::Version
78
- version: 2.5.4
79
- type: :runtime
80
- prerelease: false
81
- version_requirements: !ruby/object:Gem::Requirement
82
- requirements:
83
- - - "~>"
84
- - !ruby/object:Gem::Version
85
- version: '2.5'
86
- - - ">="
87
- - !ruby/object:Gem::Version
88
- version: 2.5.4
89
- - !ruby/object:Gem::Dependency
90
- name: net-imap
91
- requirement: !ruby/object:Gem::Requirement
92
- requirements:
93
- - - ">="
94
- - !ruby/object:Gem::Version
95
- version: '0'
96
- type: :runtime
97
- prerelease: false
98
- version_requirements: !ruby/object:Gem::Requirement
99
- requirements:
100
- - - ">="
101
- - !ruby/object:Gem::Version
102
- version: '0'
103
- - !ruby/object:Gem::Dependency
104
- name: net-pop
105
- requirement: !ruby/object:Gem::Requirement
106
- requirements:
107
- - - ">="
108
- - !ruby/object:Gem::Version
109
- version: '0'
110
- type: :runtime
111
- prerelease: false
112
- version_requirements: !ruby/object:Gem::Requirement
113
- requirements:
114
- - - ">="
115
- - !ruby/object:Gem::Version
116
- version: '0'
117
- - !ruby/object:Gem::Dependency
118
- name: net-smtp
119
71
  requirement: !ruby/object:Gem::Requirement
120
72
  requirements:
121
73
  - - ">="
122
74
  - !ruby/object:Gem::Version
123
- version: '0'
75
+ version: 2.8.0
124
76
  type: :runtime
125
77
  prerelease: false
126
78
  version_requirements: !ruby/object:Gem::Requirement
127
79
  requirements:
128
80
  - - ">="
129
81
  - !ruby/object:Gem::Version
130
- version: '0'
82
+ version: 2.8.0
131
83
  - !ruby/object:Gem::Dependency
132
84
  name: rails-dom-testing
133
85
  requirement: !ruby/object:Gem::Requirement
@@ -182,12 +134,12 @@ licenses:
182
134
  - MIT
183
135
  metadata:
184
136
  bug_tracker_uri: https://github.com/rails/rails/issues
185
- changelog_uri: https://github.com/rails/rails/blob/v7.1.5/actionmailer/CHANGELOG.md
186
- documentation_uri: https://api.rubyonrails.org/v7.1.5/
137
+ changelog_uri: https://github.com/rails/rails/blob/v7.2.0/actionmailer/CHANGELOG.md
138
+ documentation_uri: https://api.rubyonrails.org/v7.2.0/
187
139
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
188
- source_code_uri: https://github.com/rails/rails/tree/v7.1.5/actionmailer
140
+ source_code_uri: https://github.com/rails/rails/tree/v7.2.0/actionmailer
189
141
  rubygems_mfa_required: 'true'
190
- post_install_message:
142
+ post_install_message:
191
143
  rdoc_options: []
192
144
  require_paths:
193
145
  - lib
@@ -195,7 +147,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
195
147
  requirements:
196
148
  - - ">="
197
149
  - !ruby/object:Gem::Version
198
- version: 2.7.0
150
+ version: 3.1.0
199
151
  required_rubygems_version: !ruby/object:Gem::Requirement
200
152
  requirements:
201
153
  - - ">="
@@ -203,8 +155,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
203
155
  version: '0'
204
156
  requirements:
205
157
  - none
206
- rubygems_version: 3.5.16
207
- signing_key:
158
+ rubygems_version: 3.5.11
159
+ signing_key:
208
160
  specification_version: 4
209
161
  summary: Email composition and delivery framework (part of Rails).
210
162
  test_files: []