spree_core 5.4.0.beta → 5.4.0.beta2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. checksums.yaml +4 -4
  2. data/app/finders/spree/products/find.rb +1 -28
  3. data/app/helpers/spree/base_helper.rb +1 -54
  4. data/app/mailers/spree/base_mailer.rb +4 -3
  5. data/app/models/concerns/spree/adjustment_source.rb +0 -8
  6. data/app/models/concerns/spree/admin_user_methods.rb +0 -2
  7. data/app/models/concerns/spree/image_methods.rb +4 -0
  8. data/app/models/concerns/spree/metadata.rb +10 -0
  9. data/app/models/concerns/spree/product_scopes.rb +2 -47
  10. data/app/models/concerns/spree/stores/markets.rb +7 -7
  11. data/app/models/concerns/spree/vat_price_calculation.rb +2 -2
  12. data/app/models/spree/ability.rb +5 -5
  13. data/app/models/spree/address.rb +3 -2
  14. data/app/models/spree/adjustable/promotion_accumulator.rb +1 -1
  15. data/app/models/spree/adjustment.rb +1 -20
  16. data/app/models/spree/api_key.rb +57 -2
  17. data/app/models/spree/country.rb +7 -3
  18. data/app/models/spree/credit_card.rb +0 -27
  19. data/app/models/spree/current.rb +38 -2
  20. data/app/models/spree/exports/products.rb +0 -6
  21. data/app/models/spree/gateway/bogus.rb +9 -9
  22. data/app/models/spree/gateway.rb +0 -3
  23. data/app/models/spree/gift_card_batch.rb +4 -0
  24. data/app/models/spree/image/configuration/active_storage.rb +0 -2
  25. data/app/models/spree/image.rb +7 -31
  26. data/app/models/spree/log_entry.rb +8 -5
  27. data/app/models/spree/order/checkout.rb +0 -18
  28. data/app/models/spree/order.rb +20 -11
  29. data/app/models/spree/payment/gateway_options.rb +2 -2
  30. data/app/models/spree/payment/processing.rb +5 -5
  31. data/app/models/spree/payment.rb +1 -1
  32. data/app/models/spree/payment_connection_error.rb +3 -0
  33. data/app/models/spree/payment_method/check.rb +1 -1
  34. data/app/models/spree/payment_method/store_credit.rb +5 -5
  35. data/app/models/spree/payment_response.rb +70 -0
  36. data/app/models/spree/permission_sets/default_customer.rb +0 -5
  37. data/app/models/spree/permission_sets/product_display.rb +0 -2
  38. data/app/models/spree/permission_sets/product_management.rb +0 -2
  39. data/app/models/spree/product.rb +4 -72
  40. data/app/models/spree/promotion.rb +2 -14
  41. data/app/models/spree/promotion_handler/coupon.rb +3 -3
  42. data/app/models/spree/prototype.rb +0 -3
  43. data/app/models/spree/refund.rb +6 -2
  44. data/app/models/spree/shipment/emails.rb +1 -0
  45. data/app/models/spree/shipping_category.rb +3 -3
  46. data/app/models/spree/store.rb +10 -49
  47. data/app/models/spree/store_credit.rb +4 -0
  48. data/app/models/spree/tax_category.rb +1 -11
  49. data/app/models/spree/taxon.rb +0 -16
  50. data/app/models/spree/variant.rb +2 -40
  51. data/app/models/spree/zone.rb +1 -4
  52. data/app/services/spree/cart/add_item.rb +8 -4
  53. data/app/services/spree/cart/create.rb +13 -2
  54. data/app/services/spree/products/duplicator.rb +0 -12
  55. data/app/services/spree/products/prepare_nested_attributes.rb +0 -12
  56. data/config/locales/en.yml +3 -20
  57. data/db/migrate/20210914000000_spree_four_three.rb +0 -38
  58. data/db/migrate/20210915064329_add_metadata_to_spree_multiple_tables.rb +0 -1
  59. data/db/migrate/20260226000000_add_locale_to_spree_orders.rb +5 -0
  60. data/db/migrate/20260226100000_add_token_digest_to_spree_api_keys.rb +21 -0
  61. data/lib/generators/spree/cursor_rules/templates/spree_rules.mdc +1 -3
  62. data/lib/spree/core/configuration.rb +0 -3
  63. data/lib/spree/core/controller_helpers/strong_parameters.rb +1 -2
  64. data/lib/spree/core/dependencies.rb +2 -10
  65. data/lib/spree/core/engine.rb +0 -13
  66. data/lib/spree/core/pricing/resolver.rb +1 -9
  67. data/lib/spree/core/version.rb +1 -1
  68. data/lib/spree/core.rb +10 -25
  69. data/lib/spree/permitted_attributes.rb +2 -14
  70. data/lib/spree/testing_support/factories/order_factory.rb +1 -0
  71. data/lib/spree/testing_support/factories/payment_method_factory.rb +1 -6
  72. data/lib/spree/testing_support/factories/product_factory.rb +0 -7
  73. data/lib/spree/testing_support/factories/prototype_factory.rb +0 -2
  74. data/lib/tasks/core.rake +0 -265
  75. metadata +8 -101
  76. data/app/finders/spree/posts/find.rb +0 -137
  77. data/app/finders/spree/product_properties/find_available.rb +0 -20
  78. data/app/helpers/spree/mail_helper.rb +0 -27
  79. data/app/jobs/spree/api_key_touch_job.rb +0 -9
  80. data/app/mailers/spree/test_mailer.rb +0 -8
  81. data/app/models/action_text/video_embed.rb +0 -13
  82. data/app/models/concerns/spree/has_one_link.rb +0 -42
  83. data/app/models/concerns/spree/linkable.rb +0 -9
  84. data/app/models/concerns/spree/previewable.rb +0 -17
  85. data/app/models/spree/data_feed/google.rb +0 -15
  86. data/app/models/spree/data_feed.rb +0 -42
  87. data/app/models/spree/gateway/bogus_simple.rb +0 -24
  88. data/app/models/spree/post.rb +0 -108
  89. data/app/models/spree/post_category.rb +0 -46
  90. data/app/models/spree/product_property.rb +0 -51
  91. data/app/models/spree/property.rb +0 -86
  92. data/app/models/spree/property_prototype.rb +0 -9
  93. data/app/models/spree/store_favicon_image.rb +0 -20
  94. data/app/models/spree/store_logo.rb +0 -4
  95. data/app/models/spree/store_mailer_logo.rb +0 -7
  96. data/app/models/spree/taxon_image/configuration/active_storage.rb +0 -26
  97. data/app/models/spree/taxon_image.rb +0 -28
  98. data/app/presenters/spree/filters/properties_presenter.rb +0 -23
  99. data/app/presenters/spree/filters/property_presenter.rb +0 -42
  100. data/app/services/spree/data_feeds/google/optional_attributes.rb +0 -23
  101. data/app/services/spree/data_feeds/google/optional_sub_attributes.rb +0 -21
  102. data/app/services/spree/data_feeds/google/products_list.rb +0 -14
  103. data/app/services/spree/data_feeds/google/required_attributes.rb +0 -68
  104. data/app/services/spree/data_feeds/google/rss.rb +0 -109
  105. data/app/sorters/spree/posts/sort.rb +0 -40
  106. data/app/views/action_text/video_embeds/_thumbnail.html.erb +0 -1
  107. data/app/views/action_text/video_embeds/_video_embed.html.erb +0 -3
  108. data/app/views/layouts/action_text/contents/_content.html.erb +0 -3
  109. data/app/views/spree/test_mailer/test_email.html.erb +0 -40
  110. data/app/views/spree/test_mailer/test_email.text.erb +0 -4
  111. data/config/initializers/oembed.rb +0 -1
  112. data/db/migrate/20221229132350_create_spree_data_feed_settings.rb +0 -14
  113. data/db/migrate/20230109084253_create_product_property_translations.rb +0 -24
  114. data/db/migrate/20230109105943_create_property_translations.rb +0 -24
  115. data/db/migrate/20230415155958_rename_data_feed_settings_table.rb +0 -5
  116. data/db/migrate/20230415160828_rename_data_feed_table_columns.rb +0 -7
  117. data/db/migrate/20230415161226_add_indexes_to_data_feeds_table.rb +0 -5
  118. data/db/migrate/20230512094803_rename_data_feeds_column_provider_to_type.rb +0 -5
  119. data/db/migrate/20240914153106_add_display_on_to_spree_properties.rb +0 -5
  120. data/db/migrate/20240915144935_add_position_to_spree_properties.rb +0 -6
  121. data/db/migrate/20250121160028_create_spree_posts_and_spree_post_categories.rb +0 -33
  122. data/db/migrate/20250127083740_add_kind_to_spree_properties.rb +0 -5
  123. data/db/migrate/20250217171018_create_action_text_video_embeds.rb +0 -11
  124. data/db/migrate/20250305121657_remove_spree_posts_indices.rb +0 -7
  125. data/db/migrate/20250730154601_add_unique_index_on_spree_properties_name.rb +0 -24
  126. data/db/sample_data/posts.rb +0 -7
  127. data/lib/spree/core/controller_helpers/search.rb +0 -17
  128. data/lib/spree/core/product_filters.rb +0 -218
  129. data/lib/spree/core/query_filters/comparable.rb +0 -50
  130. data/lib/spree/core/query_filters/date.rb +0 -8
  131. data/lib/spree/core/query_filters/number.rb +0 -8
  132. data/lib/spree/core/query_filters/text.rb +0 -36
  133. data/lib/spree/core/query_filters.rb +0 -11
  134. data/lib/spree/core/search/base.rb +0 -144
  135. data/lib/spree/testing_support/factories/favicon_image_factory.rb +0 -9
  136. data/lib/spree/testing_support/factories/google_data_feed_factory.rb +0 -7
  137. data/lib/spree/testing_support/factories/post_category_factory.rb +0 -7
  138. data/lib/spree/testing_support/factories/post_factory.rb +0 -22
  139. data/lib/spree/testing_support/factories/product_property_factory.rb +0 -7
  140. data/lib/spree/testing_support/factories/property_factory.rb +0 -28
  141. data/lib/spree/testing_support/factories/taxon_image_factory.rb +0 -9
  142. data/lib/spree/testing_support/flash.rb +0 -25
  143. data/lib/spree/testing_support/flatpickr_capybara.rb +0 -124
  144. data/lib/tasks/exchanges.rake +0 -66
data/lib/tasks/core.rake CHANGED
@@ -1,190 +1,6 @@
1
1
  require 'active_record'
2
2
 
3
3
  namespace :db do
4
- desc %q{Loads a specified fixture file:
5
- use rake db:load_file[/absolute/path/to/sample/filename.rb]}
6
-
7
- task :load_file, [:file, :dir] => :environment do |_t, args|
8
- file = Pathname.new(args.file)
9
-
10
- puts "loading ruby #{file}"
11
- load file
12
- end
13
-
14
- desc 'Loads fixtures from the the dir you specify using rake db:load_dir[loadfrom]'
15
- task :load_dir, [:dir] => :environment do |_t, args|
16
- dir = args.dir
17
- dir = File.join(Rails.root, 'db', dir) if Pathname.new(dir).relative?
18
-
19
- ruby_files = {}
20
- Dir.glob(File.join(dir, '**/*.{rb}')).each do |fixture_file|
21
- ext = File.extname fixture_file
22
- ruby_files[File.basename(fixture_file, '.*')] = fixture_file
23
- end
24
- ruby_files.sort.each do |fixture, ruby_file|
25
- # If file exists within application it takes precedence.
26
- if File.exist?(File.join(Rails.root, 'db/default/spree', "#{fixture}.rb"))
27
- ruby_file = File.expand_path(File.join(Rails.root, 'db/default/spree', "#{fixture}.rb"))
28
- end
29
- # an invoke will only execute the task once
30
- Rake::Task['db:load_file'].execute(Rake::TaskArguments.new([:file], [ruby_file]))
31
- end
32
- end
33
-
34
- desc 'Migrate schema to version 0 and back up again. WARNING: Destroys all data in tables!!'
35
- task remigrate: :environment do
36
- require 'highline/import'
37
-
38
- if ENV['SKIP_NAG'] || ENV['OVERWRITE'].to_s.casecmp('true').zero? || agree("This task will destroy any data in the database. Are you sure you want to \ncontinue? [y/n] ")
39
-
40
- # Drop all tables
41
- ActiveRecord::Base.connection.tables.each { |t| ActiveRecord::Base.connection.drop_table t }
42
-
43
- # Migrate upward
44
- Rake::Task['db:migrate'].invoke
45
-
46
- # Dump the schema
47
- Rake::Task['db:schema:dump'].invoke
48
- else
49
- say 'Task cancelled.'
50
- exit
51
- end
52
- end
53
-
54
- desc 'Bootstrap is: migrating, loading defaults, sample data and seeding (for all extensions) and load_products tasks'
55
- task :bootstrap do
56
- require 'highline/import'
57
-
58
- # remigrate unless production mode (as safety check)
59
- if %w[demo development test].include? Rails.env
60
- if ENV['AUTO_ACCEPT'] || agree("This task will destroy any data in the database. Are you sure you want to \ncontinue? [y/n] ")
61
- ENV['SKIP_NAG'] = 'yes'
62
- Rake::Task['db:create'].invoke
63
- Rake::Task['db:remigrate'].invoke
64
- else
65
- say 'Task cancelled, exiting.'
66
- exit
67
- end
68
- else
69
- say 'NOTE: Bootstrap in production mode will not drop database before migration'
70
- Rake::Task['db:migrate'].invoke
71
- end
72
-
73
- ActiveRecord::Base.send(:subclasses).each(&:reset_column_information)
74
-
75
- load_defaults = Spree::Country.count == 0
76
- load_defaults ||= agree('Countries present, load sample data anyways? [y/n]: ')
77
- Rake::Task['db:seed'].invoke if load_defaults
78
-
79
- if Rails.env.production? && Spree::Product.count > 0
80
- load_sample = agree('WARNING: In Production and products exist in database, load sample data anyways? [y/n]:')
81
- else
82
- load_sample = true if ENV['AUTO_ACCEPT']
83
- load_sample ||= agree('Load Sample Data? [y/n]: ')
84
- end
85
-
86
- if load_sample
87
- # Reload models' attributes in case they were loaded in old migrations with wrong attributes
88
- ActiveRecord::Base.descendants.each(&:reset_column_information)
89
- Rake::Task['spree_sample:load'].invoke
90
- end
91
-
92
- puts "Bootstrap Complete.\n\n"
93
- end
94
-
95
- desc 'Fix orphan line items after upgrading to Spree 3.1: only needed if you have line items attached to deleted records with Slug (product) and SKU (variant) duplicates of non-deleted records.'
96
- task fix_orphan_line_items: :environment do |_t, _args|
97
- def get_input
98
- STDOUT.flush
99
- input = STDIN.gets.chomp
100
- case input.upcase
101
- when 'Y'
102
- return true
103
-
104
- when 'N'
105
- puts 'aborting .....'
106
- return false
107
- else
108
- return true
109
- end
110
- end
111
-
112
- puts 'WARNING: This task will re-associate any line_items associated with deleted variants to non-deleted variants with matching SKUs. Because other attributes and product associations may switch during the re-association, this may have unintended side-effects. If this task finishes successfully, line items for old order should no longer be orphaned from their variants. You should run this task after you have already run the db migratoin AddDiscontinuedToProductsAndVariants. If the db migration did not warn you that it was leaving deleted records in place because of duplicate SKUs, then you do not need to run this rake task.'
113
- puts 'Are you sure you want to continue? (Y/n):'
114
-
115
- if get_input
116
- puts 'looping through all your deleted variants ...'
117
-
118
- # first verify that I can really fix all of your line items
119
-
120
- no_live_variants_found = []
121
- variants_to_fix = []
122
-
123
- Spree::Variant.deleted.each do |variant|
124
- # check if this variant has any line items at all
125
- next if variant.line_items.none?
126
-
127
- variants_to_fix << variant
128
- dup_variant = Spree::Variant.find_by(sku: variant.sku)
129
- if dup_variant
130
- # this variant is OK
131
- else
132
- no_live_variants_found << variant
133
- end
134
- end
135
-
136
- if variants_to_fix.none?
137
- abort('ABORT: You have no deleted variants that are associated to line items. You do not need to run this raks task.')
138
- end
139
-
140
- if no_live_variants_found.any?
141
- puts "ABORT: Unfortunately, I found some deleted variants in your database that do not have matching non-deleted variants to replace them with. This script can only be used to cleanup deleted variants that have SKUs that match non-deleted variants. To continue, you must either (1) un-delete these variants (hint: mark them 'discontinued' instead) or (2) create new variants with a matching SKU for each variant in the list below."
142
- no_live_variants_found.each do |deleted_variant|
143
- puts "variant id #{deleted_variant.id} (sku is '#{deleted_variant.sku}') ... no match found"
144
- end
145
- abort
146
- end
147
-
148
- puts 'Ready to fix...'
149
- variants_to_fix.each do |variant|
150
- dup_variant = Spree::Variant.find_by(sku: variant.sku)
151
- puts "Changing all line items for #{variant.sku} variant id #{variant.id} (deleted) to variant id #{dup_variant.id} (not deleted) ..."
152
- Spree::LineItem.unscoped.where(variant_id: variant.id).update_all(variant_id: dup_variant.id)
153
- end
154
-
155
- puts 'DONE ! Your database should no longer have line items that are associated with deleted variants.'
156
- end
157
- end
158
-
159
- desc 'Migrates taxon icons to spree assets after upgrading to Spree 3.4: only needed if you used taxons icons.'
160
- task migrate_taxon_icons: :environment do |_t, _args|
161
- Spree::Taxon.where.not(icon_file_name: nil).find_each do |taxon|
162
- taxon.create_icon(attachment_file_name: taxon.icon_file_name,
163
- attachment_content_type: taxon.icon_content_type,
164
- attachment_file_size: taxon.icon_file_size,
165
- attachment_updated_at: taxon.icon_updated_at)
166
- end
167
- end
168
-
169
- desc 'Migrates taxon icons to taxon images after upgrading to Spree 3.7: only needed if you used taxons icons.'
170
- task migrate_taxon_icons_to_images: :environment do |_t, _args|
171
- Spree::Asset.where(type: 'Spree::TaxonIcon').update_all(type: 'Spree::TaxonImage')
172
- end
173
-
174
- desc 'Ensure all Order associated with Store after upgrading to Spree 3.7'
175
- task associate_orders_with_store: :environment do |_t, _args|
176
- Spree::Order.where(store_id: nil).update_all(store_id: Spree::Store.default.id)
177
- end
178
-
179
- desc 'Ensure all Order has currency present after upgrading to Spree 3.7'
180
- task ensure_order_currency_presence: :environment do |_t, _args|
181
- Spree::Order.where(currency: nil).find_in_batches do |orders|
182
- orders.each do |order|
183
- order.update!(currency: order.store.default_currency)
184
- end
185
- end
186
- end
187
-
188
4
  task migrate_admin_users_to_role_users: :environment do |_t, _args|
189
5
  default_store = Spree::Store.default
190
6
  Spree::RoleUser.where(resource: nil).each do |role_user|
@@ -218,89 +34,8 @@ use rake db:load_file[/absolute/path/to/sample/filename.rb]}
218
34
  puts "Migrated #{policy_slug} to store #{store.id}"
219
35
  end
220
36
  end
221
-
222
- Spree::PageLink.where(linkable_type: 'ActionText::RichText').each do |page_link|
223
- # Check if this page link is attached to ActionText content
224
- # Find the ActionText record
225
- action_text = ActionText::RichText.find_by(id: page_link.linkable_id)
226
- next unless action_text
227
-
228
- # Check if the ActionText belongs to a store policy
229
- if action_text.record_type == 'Spree::Store' && action_text.name.to_s.include?('policy')
230
- # Find the corresponding policy in the new policies system
231
- store = action_text.record
232
- policy_name = derive_policy_name.call(action_text.name)
233
-
234
- policy = store.policies.find_by(name: Spree.t(policy_name))
235
-
236
- if policy
237
- # Update the page link to point to the policy instead
238
- page_link.update!(
239
- linked_resource_type: 'Spree::Policy',
240
- linked_resource_id: policy.id
241
- )
242
-
243
- puts "Migrated #{policy_name} to store #{store.id}"
244
- end
245
- end
246
- end
247
37
  end
248
38
 
249
- desc 'Migrate product properties to metafields'
250
- task migrate_product_properties_to_metafields: :environment do |_t, _args|
251
- Spree::Property.find_each do |property|
252
- metafield_definition = Spree::MetafieldDefinition.find_or_initialize_by(
253
- namespace: 'properties',
254
- key: property.name,
255
- resource_type: 'Spree::Product'
256
- )
257
- metafield_definition.assign_attributes(
258
- metafield_type: property.kind_to_metafield_type,
259
- display_on: property.display_on
260
- )
261
- metafield_definition.save!
262
-
263
- property.product_properties.includes(:product).find_each do |product_property|
264
- product_property.product.set_metafield("properties.#{property.name}", product_property.value)
265
- puts "Migrated #{property.name} to product #{product_property.product.id}"
266
- end
267
- end
268
- end
269
-
270
- desc 'Migrate product details sections to PDP 2.0 with blocks and metafields'
271
- task migrate_product_details_pages: :environment do |_t, _args|
272
- Spree::PageSections::ProductDetails.find_each do |section|
273
- next if section.blocks.any?
274
-
275
- if defined?(SpreeMultiTenant)
276
- SpreeMultiTenant.with_tenant(section.tenant) do
277
- section.send(:create_blocks)
278
- end
279
- else
280
- section.send(:create_blocks)
281
- end
282
- end
283
-
284
- Spree::Pages::ProductDetails.find_each do |page|
285
- next if page.sections.exists?(type: 'Spree::PageSections::Breadcrumbs')
286
-
287
- block = proc do
288
- breadcrumbs = page.sections.create!(type: 'Spree::PageSections::Breadcrumbs')
289
- breadcrumbs.move_to_top
290
-
291
- page_details = page.sections.find_by(type: 'Spree::PageSections::ProductDetails')
292
- if page_details.present?
293
- page_details.update!(preferred_top_padding: 0, preferred_top_border_width: 0)
294
- end
295
- end
296
-
297
- if defined?(SpreeMultiTenant)
298
- SpreeMultiTenant.with_tenant(page.tenant, &block)
299
- else
300
- block.call
301
- end
302
- end
303
- end
304
39
  end
305
40
 
306
41
  namespace :core do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.4.0.beta
4
+ version: 5.4.0.beta2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Schofield
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2026-02-25 00:00:00.000000000 Z
13
+ date: 2026-02-28 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: i18n-tasks
@@ -46,20 +46,6 @@ dependencies:
46
46
  - - "<"
47
47
  - !ruby/object:Gem::Version
48
48
  version: '8.2'
49
- - !ruby/object:Gem::Dependency
50
- name: activemerchant
51
- requirement: !ruby/object:Gem::Requirement
52
- requirements:
53
- - - "~>"
54
- - !ruby/object:Gem::Version
55
- version: '1.67'
56
- type: :runtime
57
- prerelease: false
58
- version_requirements: !ruby/object:Gem::Requirement
59
- requirements:
60
- - - "~>"
61
- - !ruby/object:Gem::Version
62
- version: '1.67'
63
49
  - !ruby/object:Gem::Dependency
64
50
  name: acts_as_list
65
51
  requirement: !ruby/object:Gem::Requirement
@@ -330,20 +316,6 @@ dependencies:
330
316
  - - ">="
331
317
  - !ruby/object:Gem::Version
332
318
  version: '0'
333
- - !ruby/object:Gem::Dependency
334
- name: ruby-oembed
335
- requirement: !ruby/object:Gem::Requirement
336
- requirements:
337
- - - "~>"
338
- - !ruby/object:Gem::Version
339
- version: '0.18'
340
- type: :runtime
341
- prerelease: false
342
- version_requirements: !ruby/object:Gem::Requirement
343
- requirements:
344
- - - "~>"
345
- - !ruby/object:Gem::Version
346
- version: '0.18'
347
319
  - !ruby/object:Gem::Dependency
348
320
  name: state_machines-activerecord
349
321
  requirement: !ruby/object:Gem::Requirement
@@ -838,8 +810,6 @@ files:
838
810
  - app/finders/spree/orders/find_complete.rb
839
811
  - app/finders/spree/orders/find_current.rb
840
812
  - app/finders/spree/orders/finder_helper.rb
841
- - app/finders/spree/posts/find.rb
842
- - app/finders/spree/product_properties/find_available.rb
843
813
  - app/finders/spree/products/find.rb
844
814
  - app/finders/spree/stores/find_default.rb
845
815
  - app/finders/spree/taxons/find.rb
@@ -852,7 +822,6 @@ files:
852
822
  - app/helpers/spree/images_helper.rb
853
823
  - app/helpers/spree/integrations_helper.rb
854
824
  - app/helpers/spree/locale_helper.rb
855
- - app/helpers/spree/mail_helper.rb
856
825
  - app/helpers/spree/products_helper.rb
857
826
  - app/helpers/spree/shipment_helper.rb
858
827
  - app/javascript/spree/core/controllers/address_autocomplete_controller.js
@@ -863,7 +832,6 @@ files:
863
832
  - app/javascript/spree/core/helpers/debounce.js
864
833
  - app/javascript/spree/core/helpers/scroll_lock.js
865
834
  - app/jobs/spree/addresses/geocode_address_job.rb
866
- - app/jobs/spree/api_key_touch_job.rb
867
835
  - app/jobs/spree/base_job.rb
868
836
  - app/jobs/spree/coupon_codes/bulk_generate_job.rb
869
837
  - app/jobs/spree/events/subscriber_job.rb
@@ -884,8 +852,6 @@ files:
884
852
  - app/mailers/spree/export_mailer.rb
885
853
  - app/mailers/spree/invitation_mailer.rb
886
854
  - app/mailers/spree/report_mailer.rb
887
- - app/mailers/spree/test_mailer.rb
888
- - app/models/action_text/video_embed.rb
889
855
  - app/models/acts_as_taggable_on/tag_decorator.rb
890
856
  - app/models/concerns/spree/adjustment_source.rb
891
857
  - app/models/concerns/spree/admin_user_methods.rb
@@ -895,10 +861,8 @@ files:
895
861
  - app/models/concerns/spree/display_on.rb
896
862
  - app/models/concerns/spree/filter_param.rb
897
863
  - app/models/concerns/spree/has_image_alt_text.rb
898
- - app/models/concerns/spree/has_one_link.rb
899
864
  - app/models/concerns/spree/image_methods.rb
900
865
  - app/models/concerns/spree/integrations_concern.rb
901
- - app/models/concerns/spree/linkable.rb
902
866
  - app/models/concerns/spree/memoized_data.rb
903
867
  - app/models/concerns/spree/metadata.rb
904
868
  - app/models/concerns/spree/metafields.rb
@@ -909,7 +873,6 @@ files:
909
873
  - app/models/concerns/spree/parameterizable_name.rb
910
874
  - app/models/concerns/spree/payment_source_concern.rb
911
875
  - app/models/concerns/spree/prefixed_id.rb
912
- - app/models/concerns/spree/previewable.rb
913
876
  - app/models/concerns/spree/product_scopes.rb
914
877
  - app/models/concerns/spree/publishable.rb
915
878
  - app/models/concerns/spree/ransackable_attributes.rb
@@ -968,8 +931,6 @@ files:
968
931
  - app/models/spree/customer_group.rb
969
932
  - app/models/spree/customer_group_user.rb
970
933
  - app/models/spree/customer_return.rb
971
- - app/models/spree/data_feed.rb
972
- - app/models/spree/data_feed/google.rb
973
934
  - app/models/spree/digital.rb
974
935
  - app/models/spree/digital_link.rb
975
936
  - app/models/spree/event.rb
@@ -983,7 +944,6 @@ files:
983
944
  - app/models/spree/fulfilment_changer.rb
984
945
  - app/models/spree/gateway.rb
985
946
  - app/models/spree/gateway/bogus.rb
986
- - app/models/spree/gateway/bogus_simple.rb
987
947
  - app/models/spree/gateway/custom_payment_source_method.rb
988
948
  - app/models/spree/gateway_customer.rb
989
949
  - app/models/spree/gift_card.rb
@@ -1043,9 +1003,11 @@ files:
1043
1003
  - app/models/spree/payment/processing.rb
1044
1004
  - app/models/spree/payment/webhooks.rb
1045
1005
  - app/models/spree/payment_capture_event.rb
1006
+ - app/models/spree/payment_connection_error.rb
1046
1007
  - app/models/spree/payment_method.rb
1047
1008
  - app/models/spree/payment_method/check.rb
1048
1009
  - app/models/spree/payment_method/store_credit.rb
1010
+ - app/models/spree/payment_response.rb
1049
1011
  - app/models/spree/payment_session.rb
1050
1012
  - app/models/spree/payment_sessions/bogus.rb
1051
1013
  - app/models/spree/payment_setup_session.rb
@@ -1066,8 +1028,6 @@ files:
1066
1028
  - app/models/spree/permission_sets/user_display.rb
1067
1029
  - app/models/spree/permission_sets/user_management.rb
1068
1030
  - app/models/spree/policy.rb
1069
- - app/models/spree/post.rb
1070
- - app/models/spree/post_category.rb
1071
1031
  - app/models/spree/preference.rb
1072
1032
  - app/models/spree/price.rb
1073
1033
  - app/models/spree/price_list.rb
@@ -1082,7 +1042,6 @@ files:
1082
1042
  - app/models/spree/product/webhooks.rb
1083
1043
  - app/models/spree/product_option_type.rb
1084
1044
  - app/models/spree/product_promotion_rule.rb
1085
- - app/models/spree/product_property.rb
1086
1045
  - app/models/spree/promotion.rb
1087
1046
  - app/models/spree/promotion/actions/create_adjustment.rb
1088
1047
  - app/models/spree/promotion/actions/create_item_adjustments.rb
@@ -1110,8 +1069,6 @@ files:
1110
1069
  - app/models/spree/promotion_rule.rb
1111
1070
  - app/models/spree/promotion_rule_taxon.rb
1112
1071
  - app/models/spree/promotion_rule_user.rb
1113
- - app/models/spree/property.rb
1114
- - app/models/spree/property_prototype.rb
1115
1072
  - app/models/spree/prototype.rb
1116
1073
  - app/models/spree/prototype_taxon.rb
1117
1074
  - app/models/spree/refund.rb
@@ -1191,9 +1148,6 @@ files:
1191
1148
  - app/models/spree/store_credit_category.rb
1192
1149
  - app/models/spree/store_credit_event.rb
1193
1150
  - app/models/spree/store_credit_type.rb
1194
- - app/models/spree/store_favicon_image.rb
1195
- - app/models/spree/store_logo.rb
1196
- - app/models/spree/store_mailer_logo.rb
1197
1151
  - app/models/spree/store_payment_method.rb
1198
1152
  - app/models/spree/store_product.rb
1199
1153
  - app/models/spree/store_promotion.rb
@@ -1201,8 +1155,6 @@ files:
1201
1155
  - app/models/spree/tax_category.rb
1202
1156
  - app/models/spree/tax_rate.rb
1203
1157
  - app/models/spree/taxon.rb
1204
- - app/models/spree/taxon_image.rb
1205
- - app/models/spree/taxon_image/configuration/active_storage.rb
1206
1158
  - app/models/spree/taxon_rule.rb
1207
1159
  - app/models/spree/taxon_rules/available_on.rb
1208
1160
  - app/models/spree/taxon_rules/sale.rb
@@ -1227,8 +1179,6 @@ files:
1227
1179
  - app/presenters/spree/filters/options_presenter.rb
1228
1180
  - app/presenters/spree/filters/price_presenter.rb
1229
1181
  - app/presenters/spree/filters/price_range_presenter.rb
1230
- - app/presenters/spree/filters/properties_presenter.rb
1231
- - app/presenters/spree/filters/property_presenter.rb
1232
1182
  - app/presenters/spree/filters/quantified_price_range_presenter.rb
1233
1183
  - app/presenters/spree/product_summary_presenter.rb
1234
1184
  - app/presenters/spree/variant_presenter.rb
@@ -1268,11 +1218,6 @@ files:
1268
1218
  - app/services/spree/coupon_codes/bulk_generate.rb
1269
1219
  - app/services/spree/coupon_codes/coupon_codes_handler.rb
1270
1220
  - app/services/spree/credit_cards/destroy.rb
1271
- - app/services/spree/data_feeds/google/optional_attributes.rb
1272
- - app/services/spree/data_feeds/google/optional_sub_attributes.rb
1273
- - app/services/spree/data_feeds/google/products_list.rb
1274
- - app/services/spree/data_feeds/google/required_attributes.rb
1275
- - app/services/spree/data_feeds/google/rss.rb
1276
1221
  - app/services/spree/generate_token.rb
1277
1222
  - app/services/spree/gift_cards/apply.rb
1278
1223
  - app/services/spree/gift_cards/redeem.rb
@@ -1333,7 +1278,6 @@ files:
1333
1278
  - app/sorters/spree/base_sorter.rb
1334
1279
  - app/sorters/spree/classifications/sort.rb
1335
1280
  - app/sorters/spree/orders/sort.rb
1336
- - app/sorters/spree/posts/sort.rb
1337
1281
  - app/sorters/spree/products/sort.rb
1338
1282
  - app/subscribers/spree/event_log_subscriber.rb
1339
1283
  - app/subscribers/spree/export_subscriber.rb
@@ -1343,10 +1287,7 @@ files:
1343
1287
  - app/validators/email_validator.rb
1344
1288
  - app/validators/spree/addresses/phone_validator.rb
1345
1289
  - app/validators/spree/url_validator.rb
1346
- - app/views/action_text/video_embeds/_thumbnail.html.erb
1347
- - app/views/action_text/video_embeds/_video_embed.html.erb
1348
1290
  - app/views/active_storage/blobs/_blob.html.erb
1349
- - app/views/layouts/action_text/contents/_content.html.erb
1350
1291
  - app/views/layouts/spree/base_mailer.html.erb
1351
1292
  - app/views/spree/addresses/_form.html.erb
1352
1293
  - app/views/spree/addresses/_suggestions_box.erb
@@ -1361,8 +1302,6 @@ files:
1361
1302
  - app/views/spree/shared/_mailer_line_item.html.erb
1362
1303
  - app/views/spree/shared/_mailer_logo.html.erb
1363
1304
  - app/views/spree/shared/_payment.html.erb
1364
- - app/views/spree/test_mailer/test_email.html.erb
1365
- - app/views/spree/test_mailer/test_email.text.erb
1366
1305
  - config/brakeman.ignore
1367
1306
  - config/i18n-tasks.yml
1368
1307
  - config/importmap.rb
@@ -1371,7 +1310,6 @@ files:
1371
1310
  - config/initializers/friendly_id.rb
1372
1311
  - config/initializers/inflections.rb
1373
1312
  - config/initializers/mobility.rb
1374
- - config/initializers/oembed.rb
1375
1313
  - config/initializers/rails61_fixes.rb
1376
1314
  - config/locales/en.yml
1377
1315
  - config/routes.rb
@@ -1414,28 +1352,19 @@ files:
1414
1352
  - db/migrate/20221215151408_add_selected_locale_to_spree_users.rb
1415
1353
  - db/migrate/20221219123957_add_deleted_at_to_product_translations.rb
1416
1354
  - db/migrate/20221220133432_add_uniqueness_constraint_to_product_translations.rb
1417
- - db/migrate/20221229132350_create_spree_data_feed_settings.rb
1418
1355
  - db/migrate/20230103144439_create_option_type_translations.rb
1419
1356
  - db/migrate/20230103151034_create_option_value_translations.rb
1420
- - db/migrate/20230109084253_create_product_property_translations.rb
1421
- - db/migrate/20230109105943_create_property_translations.rb
1422
1357
  - db/migrate/20230110142344_backfill_friendly_id_slug_locale.rb
1423
1358
  - db/migrate/20230111121534_add_additional_taxon_translation_fields.rb
1424
1359
  - db/migrate/20230117115531_create_taxonomy_translations.rb
1425
1360
  - db/migrate/20230210142732_create_store_translations.rb
1426
1361
  - db/migrate/20230210230434_add_deleted_at_to_store_translations.rb
1427
- - db/migrate/20230415155958_rename_data_feed_settings_table.rb
1428
- - db/migrate/20230415160828_rename_data_feed_table_columns.rb
1429
- - db/migrate/20230415161226_add_indexes_to_data_feeds_table.rb
1430
- - db/migrate/20230512094803_rename_data_feeds_column_provider_to_type.rb
1431
1362
  - db/migrate/20240303174340_fix_spree_stock_item_unique_index.rb
1432
1363
  - db/migrate/20240514105216_add_weight_and_dimension_units_to_spree_variants.rb
1433
1364
  - db/migrate/20240623172111_add_deleted_at_to_spree_stock_locations.rb
1434
1365
  - db/migrate/20240725124530_add_refunder_to_spree_refunds.rb
1435
1366
  - db/migrate/20240822163534_add_pretty_name_to_spree_taxons.rb
1436
1367
  - db/migrate/20240913143518_change_default_value_of_spree_option_types_filterable.rb
1437
- - db/migrate/20240914153106_add_display_on_to_spree_properties.rb
1438
- - db/migrate/20240915144935_add_position_to_spree_properties.rb
1439
1368
  - db/migrate/20241004181911_create_spree_coupon_codes.rb
1440
1369
  - db/migrate/20241005093437_add_multi_code_to_spree_promotions.rb
1441
1370
  - db/migrate/20241014140140_translate_rich_texts.rb
@@ -1452,17 +1381,13 @@ files:
1452
1381
  - db/migrate/20250114193857_add_metadata_to_spree_stores.rb
1453
1382
  - db/migrate/20250119165904_create_spree_custom_domains.rb
1454
1383
  - db/migrate/20250120152208_add_default_locale_to_action_text_rich_texts.rb
1455
- - db/migrate/20250121160028_create_spree_posts_and_spree_post_categories.rb
1456
1384
  - db/migrate/20250122113708_add_first_and_last_name_to_spree_admin_class.rb
1457
1385
  - db/migrate/20250123135358_add_custom_code_fields_to_spree_store.rb
1458
- - db/migrate/20250127083740_add_kind_to_spree_properties.rb
1459
1386
  - db/migrate/20250127112758_add_latitude_and_longitude_to_spree_addresses.rb
1460
1387
  - db/migrate/20250127151258_add_phone_to_spree_users.rb
1461
1388
  - db/migrate/20250204162453_create_spree_reports.rb
1462
1389
  - db/migrate/20250207084000_add_accepts_email_marketing_field_to_spree_users_table.rb
1463
- - db/migrate/20250217171018_create_action_text_video_embeds.rb
1464
1390
  - db/migrate/20250304115943_add_performed_by_to_spree_reimbursements.rb
1465
- - db/migrate/20250305121657_remove_spree_posts_indices.rb
1466
1391
  - db/migrate/20250311105934_create_spree_gateway_customers.rb
1467
1392
  - db/migrate/20250312202705_add_unique_index_on_promotion_rules_associations.rb
1468
1393
  - db/migrate/20250313104226_add_user_type_to_spree_role_users.rb
@@ -1479,7 +1404,6 @@ files:
1479
1404
  - db/migrate/20250605131334_add_missing_fields_to_users.rb
1480
1405
  - db/migrate/20250728095629_create_spree_metafields.rb
1481
1406
  - db/migrate/20250730102644_add_missing_unique_indexes_to_spree_option_types_and_values.rb
1482
- - db/migrate/20250730154601_add_unique_index_on_spree_properties_name.rb
1483
1407
  - db/migrate/20250811112056_create_spree_policies.rb
1484
1408
  - db/migrate/20250821211705_fix_unique_index_on_spree_order_promotions.rb
1485
1409
  - db/migrate/20250826093602_create_spree_newsletter_subscribers.rb
@@ -1510,11 +1434,12 @@ files:
1510
1434
  - db/migrate/20260213000000_create_spree_payment_sessions.rb
1511
1435
  - db/migrate/20260218000000_create_spree_payment_setup_sessions.rb
1512
1436
  - db/migrate/20260220000000_create_spree_markets.rb
1437
+ - db/migrate/20260226000000_add_locale_to_spree_orders.rb
1438
+ - db/migrate/20260226100000_add_token_digest_to_spree_api_keys.rb
1513
1439
  - db/sample_data/customers.csv
1514
1440
  - db/sample_data/metafield_definitions.rb
1515
1441
  - db/sample_data/orders.rb
1516
1442
  - db/sample_data/payment_methods.rb
1517
- - db/sample_data/posts.rb
1518
1443
  - db/sample_data/products.csv
1519
1444
  - db/sample_data/promotions.rb
1520
1445
  - db/sample_data/shipping_methods.rb
@@ -1555,7 +1480,6 @@ files:
1555
1480
  - lib/spree/core/controller_helpers/currency.rb
1556
1481
  - lib/spree/core/controller_helpers/locale.rb
1557
1482
  - lib/spree/core/controller_helpers/order.rb
1558
- - lib/spree/core/controller_helpers/search.rb
1559
1483
  - lib/spree/core/controller_helpers/store.rb
1560
1484
  - lib/spree/core/controller_helpers/strong_parameters.rb
1561
1485
  - lib/spree/core/controller_helpers/turbo.rb
@@ -1576,15 +1500,8 @@ files:
1576
1500
  - lib/spree/core/preferences/store.rb
1577
1501
  - lib/spree/core/pricing/context.rb
1578
1502
  - lib/spree/core/pricing/resolver.rb
1579
- - lib/spree/core/product_filters.rb
1580
- - lib/spree/core/query_filters.rb
1581
- - lib/spree/core/query_filters/comparable.rb
1582
- - lib/spree/core/query_filters/date.rb
1583
- - lib/spree/core/query_filters/number.rb
1584
- - lib/spree/core/query_filters/text.rb
1585
1503
  - lib/spree/core/ransack_configuration.rb
1586
1504
  - lib/spree/core/routes.rb
1587
- - lib/spree/core/search/base.rb
1588
1505
  - lib/spree/core/token_generator.rb
1589
1506
  - lib/spree/core/version.rb
1590
1507
  - lib/spree/database_type_utilities.rb
@@ -1624,11 +1541,9 @@ files:
1624
1541
  - lib/spree/testing_support/factories/digital_factory.rb
1625
1542
  - lib/spree/testing_support/factories/digital_link_factory.rb
1626
1543
  - lib/spree/testing_support/factories/export_factory.rb
1627
- - lib/spree/testing_support/factories/favicon_image_factory.rb
1628
1544
  - lib/spree/testing_support/factories/gateway_customer_factory.rb
1629
1545
  - lib/spree/testing_support/factories/gift_card_batch_factory.rb
1630
1546
  - lib/spree/testing_support/factories/gift_card_factory.rb
1631
- - lib/spree/testing_support/factories/google_data_feed_factory.rb
1632
1547
  - lib/spree/testing_support/factories/image_factory.rb
1633
1548
  - lib/spree/testing_support/factories/import_factory.rb
1634
1549
  - lib/spree/testing_support/factories/import_mapping_factory.rb
@@ -1652,20 +1567,16 @@ files:
1652
1567
  - lib/spree/testing_support/factories/payment_setup_session_factory.rb
1653
1568
  - lib/spree/testing_support/factories/payment_source_factory.rb
1654
1569
  - lib/spree/testing_support/factories/policy_factory.rb
1655
- - lib/spree/testing_support/factories/post_category_factory.rb
1656
- - lib/spree/testing_support/factories/post_factory.rb
1657
1570
  - lib/spree/testing_support/factories/price_factory.rb
1658
1571
  - lib/spree/testing_support/factories/price_list_factory.rb
1659
1572
  - lib/spree/testing_support/factories/price_rule_factory.rb
1660
1573
  - lib/spree/testing_support/factories/product_factory.rb
1661
1574
  - lib/spree/testing_support/factories/product_option_type_factory.rb
1662
- - lib/spree/testing_support/factories/product_property_factory.rb
1663
1575
  - lib/spree/testing_support/factories/product_translation_factory.rb
1664
1576
  - lib/spree/testing_support/factories/promotion_action_factory.rb
1665
1577
  - lib/spree/testing_support/factories/promotion_category_factory.rb
1666
1578
  - lib/spree/testing_support/factories/promotion_factory.rb
1667
1579
  - lib/spree/testing_support/factories/promotion_rule_factory.rb
1668
- - lib/spree/testing_support/factories/property_factory.rb
1669
1580
  - lib/spree/testing_support/factories/prototype_factory.rb
1670
1581
  - lib/spree/testing_support/factories/refund_factory.rb
1671
1582
  - lib/spree/testing_support/factories/reimbursement_credit_factory.rb
@@ -1696,7 +1607,6 @@ files:
1696
1607
  - lib/spree/testing_support/factories/tax_category_factory.rb
1697
1608
  - lib/spree/testing_support/factories/tax_rate_factory.rb
1698
1609
  - lib/spree/testing_support/factories/taxon_factory.rb
1699
- - lib/spree/testing_support/factories/taxon_image_factory.rb
1700
1610
  - lib/spree/testing_support/factories/taxon_rule_factory.rb
1701
1611
  - lib/spree/testing_support/factories/taxonomy_factory.rb
1702
1612
  - lib/spree/testing_support/factories/user_factory.rb
@@ -1708,8 +1618,6 @@ files:
1708
1618
  - lib/spree/testing_support/factories/wishlist_factory.rb
1709
1619
  - lib/spree/testing_support/factories/zone_factory.rb
1710
1620
  - lib/spree/testing_support/factories/zone_member_factory.rb
1711
- - lib/spree/testing_support/flash.rb
1712
- - lib/spree/testing_support/flatpickr_capybara.rb
1713
1621
  - lib/spree/testing_support/i18n.rb
1714
1622
  - lib/spree/testing_support/image_helpers.rb
1715
1623
  - lib/spree/testing_support/jobs.rb
@@ -1728,7 +1636,6 @@ files:
1728
1636
  - lib/spree_core.rb
1729
1637
  - lib/tasks/core.rake
1730
1638
  - lib/tasks/dependencies.rake
1731
- - lib/tasks/exchanges.rake
1732
1639
  - lib/tasks/images.rake
1733
1640
  - lib/tasks/markets.rake
1734
1641
  - lib/tasks/products.rake
@@ -1755,9 +1662,9 @@ licenses:
1755
1662
  - BSD-3-Clause
1756
1663
  metadata:
1757
1664
  bug_tracker_uri: https://github.com/spree/spree/issues
1758
- changelog_uri: https://github.com/spree/spree/releases/tag/v5.4.0.beta
1665
+ changelog_uri: https://github.com/spree/spree/releases/tag/v5.4.0.beta2
1759
1666
  documentation_uri: https://docs.spreecommerce.org/
1760
- source_code_uri: https://github.com/spree/spree/tree/v5.4.0.beta
1667
+ source_code_uri: https://github.com/spree/spree/tree/v5.4.0.beta2
1761
1668
  post_install_message:
1762
1669
  rdoc_options: []
1763
1670
  require_paths: