actionmailer 7.1.3 → 7.2.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 284891e2f4adce1c3ec311a3348cca632838e1357882c8846d84cb7a9b533a0a
4
- data.tar.gz: 3f080027773bce76dd67359fa725c38046305eaddc00269e0a11db034af81ec5
3
+ metadata.gz: dead7aa73f10df3907e7314902d2bb322b089bc0d4e22d01e916e9cf7ecd4c18
4
+ data.tar.gz: e8477ce5f9c8795700aeb5ab20b7f8d3581df9aeaefcdb5bac3d9587770f0600
5
5
  SHA512:
6
- metadata.gz: 5bd29e9434c2489d3fbfc596fc3c4245a51d87ac967c8b3da109a9cb7058f4d664cda9b4d68a284dd9412f7295d3bdaf791350d1e3d6218ff6b17804d2c22ba2
7
- data.tar.gz: b70825c2051ca3a3c49f71cdeabbd403d48b20472cc5b7cdb36082033761f909b0faa5912d18a47a80e1357b296b96003587e198a03ee24bc589b3ef8d73f05f
6
+ metadata.gz: b73dae035cf3b87e7f4e67a32c7f968edfd29bd2b692887175d9087151fac4e4ec13cff35b6c32659fd3511f770ddbd2c668a55d39b38fbffb1f4cbd4e705c28
7
+ data.tar.gz: af0abdca9964dbcf323908273817327ffc89fd4e4da37643ba55c230a6536a6ede26e3599c82b2ae4ae3176ba98c6f3dd3fa383f63f6c8f031390b73c68dcd39
data/CHANGELOG.md CHANGED
@@ -1,158 +1,22 @@
1
- ## Rails 7.1.3 (January 16, 2024) ##
1
+ ## Rails 7.2.1.1 (October 15, 2024) ##
2
2
 
3
- * No changes.
4
-
5
-
6
- ## Rails 7.1.2 (November 10, 2023) ##
7
-
8
- * No changes.
9
-
10
-
11
- ## Rails 7.1.1 (October 11, 2023) ##
12
-
13
- * No changes.
14
-
15
-
16
- ## Rails 7.1.0 (October 05, 2023) ##
17
-
18
- * No changes.
3
+ * Avoid regex backtracking in `block_format` helper
19
4
 
5
+ [CVE-2024-47889]
20
6
 
21
- ## Rails 7.1.0.rc2 (October 01, 2023) ##
7
+ ## Rails 7.2.1 (August 22, 2024) ##
22
8
 
23
9
  * No changes.
24
10
 
25
11
 
26
- ## Rails 7.1.0.rc1 (September 27, 2023) ##
27
-
28
- * Introduce `ActionMailer::FormBuilder`
29
-
30
- Use the `default_form_builder` method in mailers to set the default form builder
31
- for templates rendered by that mailer. Matches the behaviour in Action Controller.
32
-
33
- *Alex Ghiculescu*
34
-
35
-
36
- ## Rails 7.1.0.beta1 (September 13, 2023) ##
37
-
38
- * Mailers are listed in alphabetical order on the mailer preview page now.
39
-
40
- *Martin Spickermann*
41
-
42
- * Deprecate passing params to `assert_enqueued_email_with` via the `:args`
43
- kwarg. `assert_enqueued_email_with` now supports a `:params` kwarg, so use
44
- that to pass params:
45
-
46
- ```ruby
47
- # BEFORE
48
- assert_enqueued_email_with MyMailer, :my_method, args: { my_param: "value" }
49
-
50
- # AFTER
51
- assert_enqueued_email_with MyMailer, :my_method, params: { my_param: "value" }
52
- ```
53
-
54
- To specify named mailer args as a Hash, wrap the Hash in an array:
55
-
56
- ```ruby
57
- assert_enqueued_email_with MyMailer, :my_method, args: [{ my_arg: "value" }]
58
- # OR
59
- assert_enqueued_email_with MyMailer, :my_method, args: [my_arg: "value"]
60
- ```
61
-
62
- *Jonathan Hefner*
63
-
64
- * Accept procs for args and params in `assert_enqueued_email_with`
65
-
66
- ```ruby
67
- assert_enqueued_email_with DeliveryJob, params: -> p { p[:token] =~ /\w+/ } do
68
- UserMailer.with(token: user.generate_token).email_verification.deliver_later
69
- end
70
- ```
71
-
72
- *Max Chernyak*
73
-
74
- * Added `*_deliver` callbacks to `ActionMailer::Base` that wrap mail message delivery.
75
-
76
- Example:
77
-
78
- ```ruby
79
- class EventsMailer < ApplicationMailer
80
- after_deliver do
81
- User.find_by(email: message.to.first).update(email_provider_id: message.message_id, emailed_at: Time.current)
82
- end
83
- end
84
- ```
85
-
86
- *Ben Sheldon*
87
-
88
- * Added `deliver_enqueued_emails` to `ActionMailer::TestHelper`. This method
89
- delivers all enqueued email jobs.
90
-
91
- Example:
92
-
93
- ```ruby
94
- def test_deliver_enqueued_emails
95
- deliver_enqueued_emails do
96
- ContactMailer.welcome.deliver_later
97
- end
98
- assert_emails 1
99
- end
100
- ```
101
-
102
- *Andrew Novoselac*
103
-
104
- * The `deliver_later_queue_name` used by the default mailer job can now be
105
- configured on a per-mailer basis. Previously this was only configurable
106
- for all mailers via `ActionMailer::Base`.
107
-
108
- Example:
109
-
110
- ```ruby
111
- class EventsMailer < ApplicationMailer
112
- self.deliver_later_queue_name = :throttled_mailer
113
- end
114
- ```
115
-
116
- *Jeffrey Hardy*
117
-
118
- * Email previews now include an expandable section to show all headers.
119
-
120
- Headers like `Message-ID` for threading or email service provider specific
121
- features like analytics tags or account metadata can now be viewed directly
122
- in the mailer preview.
123
-
124
- *Matt Swanson*
125
-
126
- * Default `ActionMailer::Parameterized#params` to an empty `Hash`
127
-
128
- *Sean Doyle*
129
-
130
- * Introduce the `capture_emails` test helper.
131
-
132
- Returns all emails that are sent in a block.
133
-
134
- ```ruby
135
- def test_emails
136
- emails = capture_emails do
137
- ContactMailer.welcome.deliver_now
138
- ContactMailer.welcome.deliver_later
139
- end
140
- assert_email "Hi there", emails.first.subject
141
- end
142
- ```
143
-
144
- *Alex Ghiculescu*
145
-
146
- * Added ability to download `.eml` file for the email preview.
12
+ ## Rails 7.2.0 (August 09, 2024) ##
147
13
 
148
- *Igor Kasyanchuk*
14
+ * Remove deprecated params via `:args` for `assert_enqueued_email_with`.
149
15
 
150
- * Support multiple preview paths for mailers.
16
+ *Rafael Mendonça França*
151
17
 
152
- Option `config.action_mailer.preview_path` is deprecated in favor of
153
- `config.action_mailer.preview_paths`. Appending paths to this configuration option
154
- will cause those paths to be used in the search for mailer previews.
18
+ * Remove deprecated `config.action_mailer.preview_path`.
155
19
 
156
- *fatkodima*
20
+ *Rafael Mendonça França*
157
21
 
158
- Please check [7-0-stable](https://github.com/rails/rails/blob/7-0-stable/actionmailer/CHANGELOG.md) for previous changes.
22
+ 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,9 +8,9 @@ module ActionMailer
8
8
 
9
9
  module VERSION
10
10
  MAJOR = 7
11
- MINOR = 1
12
- TINY = 3
13
- PRE = nil
11
+ MINOR = 2
12
+ TINY = 1
13
+ PRE = "1"
14
14
 
15
15
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
16
16
  end
@@ -25,10 +25,18 @@ module ActionMailer
25
25
  }.join("\n\n")
26
26
 
27
27
  # Make list points stand on their own line
28
- formatted.gsub!(/[ ]*([*]+) ([^*]*)/) { " #{$1} #{$2.strip}\n" }
29
- formatted.gsub!(/[ ]*([#]+) ([^#]*)/) { " #{$1} #{$2.strip}\n" }
28
+ output = +""
29
+ splits = formatted.split(/(\*+|\#+)/)
30
+ while line = splits.shift
31
+ if line.start_with?("*", "#") && splits[0].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
30
38
 
31
- formatted
39
+ output
32
40
  end
33
41
 
34
42
  # 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
 
data/lib/action_mailer.rb CHANGED
@@ -35,7 +35,7 @@ require "active_support/core_ext/module/attr_internal"
35
35
  require "active_support/core_ext/string/inflections"
36
36
  require "active_support/lazy_load_hooks"
37
37
 
38
- # :include: actionmailer/README.rdoc
38
+ # :include: ../README.rdoc
39
39
  module ActionMailer
40
40
  extend ::ActiveSupport::Autoload
41
41
 
@@ -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.3
4
+ version: 7.2.1.1
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-01-16 00:00:00.000000000 Z
11
+ date: 2024-10-15 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.3
19
+ version: 7.2.1.1
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.3
26
+ version: 7.2.1.1
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.3
33
+ version: 7.2.1.1
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.3
40
+ version: 7.2.1.1
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.3
47
+ version: 7.2.1.1
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.3
54
+ version: 7.2.1.1
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.3
61
+ version: 7.2.1.1
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.3
68
+ version: 7.2.1.1
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.3/actionmailer/CHANGELOG.md
186
- documentation_uri: https://api.rubyonrails.org/v7.1.3/
137
+ changelog_uri: https://github.com/rails/rails/blob/v7.2.1.1/actionmailer/CHANGELOG.md
138
+ documentation_uri: https://api.rubyonrails.org/v7.2.1.1/
187
139
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
188
- source_code_uri: https://github.com/rails/rails/tree/v7.1.3/actionmailer
140
+ source_code_uri: https://github.com/rails/rails/tree/v7.2.1.1/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.4.18
207
- signing_key:
158
+ rubygems_version: 3.5.16
159
+ signing_key:
208
160
  specification_version: 4
209
161
  summary: Email composition and delivery framework (part of Rails).
210
162
  test_files: []