spree_core 6.0.0.rc4 → 6.0.0.rc6

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 (113) hide show
  1. checksums.yaml +4 -4
  2. data/app/jobs/spree/images/save_from_url_job.rb +24 -5
  3. data/app/models/concerns/spree/account_deactivation.rb +54 -0
  4. data/app/models/concerns/spree/calculator/currency_amounts.rb +19 -6
  5. data/app/models/concerns/spree/derived_number.rb +1 -1
  6. data/app/models/concerns/spree/has_external_references.rb +24 -16
  7. data/app/models/concerns/spree/prefixed_id.rb +15 -5
  8. data/app/models/concerns/spree/publishable.rb +47 -1
  9. data/app/models/concerns/spree/purchase/addresses.rb +114 -36
  10. data/app/models/concerns/spree/purchase/digital_items.rb +17 -3
  11. data/app/models/concerns/spree/purchase/freight.rb +2 -1
  12. data/app/models/concerns/spree/purchase/payment_processing.rb +7 -1
  13. data/app/models/concerns/spree/purchase/quantity_rules.rb +2 -0
  14. data/app/models/concerns/spree/stores/channels.rb +3 -1
  15. data/app/models/concerns/spree/translatable_resource.rb +6 -1
  16. data/app/models/concerns/spree/webhook_payload_redaction.rb +1 -0
  17. data/app/models/spree/ability.rb +8 -0
  18. data/app/models/spree/address.rb +6 -0
  19. data/app/models/spree/admin_user.rb +1 -0
  20. data/app/models/spree/base.rb +33 -1
  21. data/app/models/spree/calculator/shipping/digital_delivery.rb +3 -1
  22. data/app/models/spree/calculator/shipping/flat_rate.rb +3 -1
  23. data/app/models/spree/calculator/shipping/per_item.rb +3 -1
  24. data/app/models/spree/cart.rb +7 -7
  25. data/app/models/spree/category.rb +76 -5
  26. data/app/models/spree/channel.rb +79 -40
  27. data/app/models/spree/company.rb +46 -3
  28. data/app/models/spree/customer.rb +1 -1
  29. data/app/models/spree/customer_group.rb +59 -41
  30. data/app/models/spree/data_request.rb +34 -1
  31. data/app/models/spree/delivery_method.rb +18 -8
  32. data/app/models/spree/delivery_profile.rb +18 -0
  33. data/app/models/spree/digital_asset.rb +14 -0
  34. data/app/models/spree/event.rb +20 -5
  35. data/app/models/spree/fulfillment.rb +8 -1
  36. data/app/models/spree/fulfillment_changer.rb +3 -1
  37. data/app/models/spree/fulfillment_item.rb +11 -0
  38. data/app/models/spree/import.rb +20 -2
  39. data/app/models/spree/order.rb +1 -1
  40. data/app/models/spree/order_routing/strategy/rules.rb +4 -1
  41. data/app/models/spree/price_list.rb +15 -0
  42. data/app/models/spree/product/channels.rb +16 -8
  43. data/app/models/spree/product.rb +7 -2
  44. data/app/models/spree/return.rb +8 -1
  45. data/app/models/spree/sales_context.rb +162 -0
  46. data/app/models/spree/search_provider/base.rb +8 -3
  47. data/app/models/spree/search_provider/database.rb +2 -10
  48. data/app/models/spree/seller.rb +35 -5
  49. data/app/models/spree/seller_balance.rb +28 -0
  50. data/app/models/spree/seller_requirements/delivery_method.rb +20 -2
  51. data/app/models/spree/stock/coordinator.rb +7 -4
  52. data/app/models/spree/stock/estimator.rb +6 -0
  53. data/app/models/spree/stock/inventory_unit_builder.rb +14 -2
  54. data/app/models/spree/stock/packer.rb +39 -5
  55. data/app/models/spree/stock/quantifier.rb +16 -0
  56. data/app/models/spree/stock_location.rb +15 -8
  57. data/app/models/spree/store.rb +31 -2
  58. data/app/models/spree/store_credit.rb +4 -4
  59. data/app/models/spree/tax_line.rb +5 -4
  60. data/app/models/spree/variant.rb +23 -6
  61. data/app/models/spree/webhook_endpoint.rb +45 -11
  62. data/app/services/spree/carts/destroy.rb +7 -2
  63. data/app/services/spree/carts/price_items.rb +3 -0
  64. data/app/services/spree/carts/split_by_seller.rb +3 -1
  65. data/app/services/spree/carts/update.rb +1 -4
  66. data/app/services/spree/catalogs/set_product_terms.rb +8 -3
  67. data/app/services/spree/collections/add_products.rb +1 -1
  68. data/app/services/spree/collections/regenerate_products.rb +1 -3
  69. data/app/services/spree/collections/remove_products.rb +1 -1
  70. data/app/services/spree/data_requests/confirm.rb +37 -0
  71. data/app/services/spree/data_requests/create.rb +61 -13
  72. data/app/services/spree/newsletter/subscribe.rb +9 -1
  73. data/app/services/spree/order_groups/allocate_payments.rb +7 -5
  74. data/app/services/spree/orders/update.rb +19 -0
  75. data/app/services/spree/product_memberships.rb +16 -6
  76. data/app/services/spree/products/duplicator.rb +12 -4
  77. data/app/services/spree/search_provider/custom_field_schema.rb +10 -2
  78. data/app/services/spree/stock_levels/correct.rb +11 -4
  79. data/app/services/spree/stock_reservations/reserve.rb +1 -1
  80. data/app/services/spree/stores/provision_defaults.rb +11 -7
  81. data/app/services/spree/tags/bulk_add.rb +16 -6
  82. data/app/workflows/spree/carts/complete.rb +25 -9
  83. data/app/workflows/spree/carts/upsert_items.rb +31 -4
  84. data/app/workflows/spree/customers/anonymize.rb +40 -19
  85. data/app/workflows/spree/data_requests/fulfill.rb +20 -6
  86. data/app/workflows/spree/digital_assets/create.rb +56 -0
  87. data/app/workflows/spree/digital_assets/update.rb +44 -0
  88. data/app/workflows/spree/digital_assets/writing.rb +108 -0
  89. data/app/workflows/spree/imports/start_mapping.rb +3 -1
  90. data/app/workflows/spree/orders/complete.rb +12 -5
  91. data/app/workflows/spree/orders/create.rb +41 -17
  92. data/app/workflows/spree/payments/capture.rb +12 -0
  93. data/app/workflows/spree/products/nested_attributes.rb +12 -28
  94. data/app/workflows/spree/products/propose.rb +9 -4
  95. data/app/workflows/spree/stock_levels/bulk_upsert.rb +28 -13
  96. data/app/workflows/spree/variants/nested_attributes.rb +35 -10
  97. data/config/locales/en.yml +14 -0
  98. data/db/migrate/20261022000001_store_credit_actor_polymorphic.rb +13 -0
  99. data/db/migrate/20261023100001_add_deactivated_at_to_spree_admin_users.rb +7 -0
  100. data/lib/generators/spree/dummy/templates/rails/test.rb +87 -0
  101. data/lib/spree/checkout/default_requirements.rb +12 -2
  102. data/lib/spree/core/dependencies.rb +5 -0
  103. data/lib/spree/core/engine.rb +2 -0
  104. data/lib/spree/core/permissions/default_catalog.rb +7 -2
  105. data/lib/spree/core/version.rb +1 -1
  106. data/lib/spree/reporting/default_vocabulary.rb +1 -1
  107. data/lib/spree/testing_support/factories/data_request_factory.rb +4 -0
  108. data/lib/spree/testing_support/factories/product_factory.rb +10 -4
  109. data/lib/spree/testing_support/factories/store_factory.rb +4 -1
  110. data/lib/spree/upgrades/5_6_to_6_0/manifest.yml +10 -0
  111. data/lib/tasks/backfill_tagging_tenants.rake +35 -0
  112. data/lib/tasks/seller_sample_data.rake +114 -112
  113. metadata +15 -6
@@ -10,132 +10,134 @@ namespace :spree do
10
10
  abort "spree:sellers:sample_data is for development and test only (RAILS_ENV=#{Rails.env})."
11
11
  end
12
12
 
13
- store = Spree::Store.default || Spree::Store.first
14
- abort 'No store found — run db:seed first.' if store.nil?
15
-
16
- email = ENV.fetch('SELLER_EMAIL', 'seller@example.com')
17
- password = ENV.fetch('SELLER_PASSWORD', 'spree123')
18
-
19
- seller_name = ENV.fetch('SELLER_NAME', 'Bright Sparks')
20
- seller = Spree::Seller.find_by(name: seller_name, store: store)
21
-
22
- # Through the workflow, so the sample seller gets the stock location a
23
- # real one does — without it their returns have nowhere to go and the
24
- # checklist can never be finished.
25
- if seller.nil?
26
- result = Spree.seller_create_workflow.call(
27
- store: store, attributes: { name: seller_name, status: 'approved' }
28
- )
29
- abort "Could not create the sample seller: #{result.value.errors.full_messages.to_sentence}" unless result.success?
13
+ Spree::Events.disable do
14
+ store = Spree::Store.default || Spree::Store.first
15
+ abort 'No store found — run db:seed first.' if store.nil?
16
+
17
+ email = ENV.fetch('SELLER_EMAIL', 'seller@example.com')
18
+ password = ENV.fetch('SELLER_PASSWORD', 'spree123')
19
+
20
+ seller_name = ENV.fetch('SELLER_NAME', 'Bright Sparks')
21
+ seller = Spree::Seller.find_by(name: seller_name, store: store)
22
+
23
+ # Through the workflow, so the sample seller gets the stock location a
24
+ # real one does — without it their returns have nowhere to go and the
25
+ # checklist can never be finished.
26
+ if seller.nil?
27
+ result = Spree.seller_create_workflow.call(
28
+ store: store, attributes: { name: seller_name, status: 'approved' }
29
+ )
30
+ abort "Could not create the sample seller: #{result.value.errors.full_messages.to_sentence}" unless result.success?
30
31
 
31
- seller = result.value
32
- end
32
+ seller = result.value
33
+ end
33
34
 
34
- owner = Spree.admin_user_class.find_by(email: email)
35
-
36
- # An existing account keeps its own password. Re-running the task then
37
- # tells you to use the credentials you already have, rather than silently
38
- # changing them underneath you.
39
- if owner
40
- puts "Reusing existing user #{email} — password unchanged."
41
- else
42
- owner = Spree.admin_user_class.create!(
43
- email: email, password: password, first_name: 'Ada', last_name: 'Lovelace'
44
- )
45
- end
35
+ owner = Spree.admin_user_class.find_by(email: email)
46
36
 
47
- seller.add_user(owner)
37
+ # An existing account keeps its own password. Re-running the task then
38
+ # tells you to use the credentials you already have, rather than silently
39
+ # changing them underneath you.
40
+ if owner
41
+ puts "Reusing existing user #{email} — password unchanged."
42
+ else
43
+ owner = Spree.admin_user_class.create!(
44
+ email: email, password: password, first_name: 'Ada', last_name: 'Lovelace'
45
+ )
46
+ end
48
47
 
49
- # One outstanding offer, so the panel's pending-invitations card has
50
- # something to show without having to send an email first.
51
- invitee = ENV.fetch('SELLER_INVITEE', 'pending@example.com')
52
- unless seller.invitations.pending.exists?(email: invitee)
53
- seller.invitations.create!(email: invitee, role: seller.default_user_role, inviter: owner)
54
- end
48
+ seller.add_user(owner)
55
49
 
56
- # A checklist to work through, so the panel's onboarding page and its
57
- # nav counter have something to show. Skipped when the marketplace
58
- # already defines its own.
59
- if store.seller_requirements.none?
60
- Spree::SellerRequirements::AcceptTerms.create!(store: store, position: 1, active: true, required: true)
61
- Spree::SellerRequirements::BillingAddress.create!(store: store, position: 2, active: true, required: true)
62
- Spree::SellerRequirements::ReturnsAddress.create!(store: store, position: 3, active: true, required: true)
63
- Spree::SellerRequirements::Attestation.create!(
64
- store: store, position: 4, active: true, required: true,
65
- name: 'Confirm you can ship within two working days'
66
- )
67
- Spree::SellerRequirements::OperatorReview.create!(
68
- store: store, position: 5, active: true, required: false,
69
- name: 'Marketplace background check'
70
- )
71
- end
50
+ # One outstanding offer, so the panel's pending-invitations card has
51
+ # something to show without having to send an email first.
52
+ invitee = ENV.fetch('SELLER_INVITEE', 'pending@example.com')
53
+ unless seller.invitations.pending.exists?(email: invitee)
54
+ seller.invitations.create!(email: invitee, role: seller.default_user_role, inviter: owner)
55
+ end
72
56
 
73
- # A fund ledger to read: a settled payout with the sales it covered, one
74
- # still owed, and a sale not yet swept into either. Written directly
75
- # rather than through fulfilment and the payout sweep — reaching those
76
- # would mean placing and shipping real orders, which is a different
77
- # task's job, and the screens under test read these rows either way.
78
- provider = Spree::PayoutProvider::System.provider_key
79
- currency = store.default_currency
80
-
81
- if seller.seller_transfers.none?
82
- # Each earning hangs off an order, because that is what a seller
83
- # clicks through to from their ledger.
84
- sample_orders = 5.times.map do |index|
85
- Spree::Order.create!(
86
- store: store, seller: seller, currency: currency,
87
- email: "sample-buyer-#{index + 1}@example.com",
88
- status: 'placed', completed_at: (index + 1).weeks.ago,
89
- total: 100 + (index * 25), item_total: 100 + (index * 25)
57
+ # A checklist to work through, so the panel's onboarding page and its
58
+ # nav counter have something to show. Skipped when the marketplace
59
+ # already defines its own.
60
+ if store.seller_requirements.none?
61
+ Spree::SellerRequirements::AcceptTerms.create!(store: store, position: 1, active: true, required: true)
62
+ Spree::SellerRequirements::BillingAddress.create!(store: store, position: 2, active: true, required: true)
63
+ Spree::SellerRequirements::ReturnsAddress.create!(store: store, position: 3, active: true, required: true)
64
+ Spree::SellerRequirements::Attestation.create!(
65
+ store: store, position: 4, active: true, required: true,
66
+ name: 'Confirm you can ship within two working days'
67
+ )
68
+ Spree::SellerRequirements::OperatorReview.create!(
69
+ store: store, position: 5, active: true, required: false,
70
+ name: 'Marketplace background check'
90
71
  )
91
72
  end
92
73
 
93
- settled = seller.seller_payouts.create!(
94
- store: store, amount: 0, currency: currency, provider: provider, status: 'completed',
95
- reference: 'BACS-SAMPLE-001',
96
- period_start: 6.weeks.ago, period_end: 4.weeks.ago
97
- )
98
- owed = seller.seller_payouts.create!(
99
- store: store, amount: 0, currency: currency, provider: provider, status: 'pending',
100
- period_start: 3.weeks.ago, period_end: 1.week.ago
101
- )
102
-
103
- # Two settled, two owed, one still unswept — so the balance is a real
104
- # subtraction rather than a single number, and the payouts queue has
105
- # both a completed row and one to mark paid.
106
- [[settled, 0], [settled, 1], [owed, 2], [owed, 3], [nil, 4]].each do |payout, index|
107
- order = sample_orders[index]
74
+ # A fund ledger to read: a settled payout with the sales it covered, one
75
+ # still owed, and a sale not yet swept into either. Written directly
76
+ # rather than through fulfilment and the payout sweep — reaching those
77
+ # would mean placing and shipping real orders, which is a different
78
+ # task's job, and the screens under test read these rows either way.
79
+ provider = Spree::PayoutProvider::System.provider_key
80
+ currency = store.default_currency
81
+
82
+ if seller.seller_transfers.none?
83
+ # Each earning hangs off an order, because that is what a seller
84
+ # clicks through to from their ledger.
85
+ sample_orders = 5.times.map do |index|
86
+ Spree::Order.create!(
87
+ store: store, seller: seller, currency: currency,
88
+ email: "sample-buyer-#{index + 1}@example.com",
89
+ status: 'placed', completed_at: (index + 1).weeks.ago,
90
+ total: 100 + (index * 25), item_total: 100 + (index * 25)
91
+ )
92
+ end
93
+
94
+ settled = seller.seller_payouts.create!(
95
+ store: store, amount: 0, currency: currency, provider: provider, status: 'completed',
96
+ reference: 'BACS-SAMPLE-001',
97
+ period_start: 6.weeks.ago, period_end: 4.weeks.ago
98
+ )
99
+ owed = seller.seller_payouts.create!(
100
+ store: store, amount: 0, currency: currency, provider: provider, status: 'pending',
101
+ period_start: 3.weeks.ago, period_end: 1.week.ago
102
+ )
103
+
104
+ # Two settled, two owed, one still unswept — so the balance is a real
105
+ # subtraction rather than a single number, and the payouts queue has
106
+ # both a completed row and one to mark paid.
107
+ [[settled, 0], [settled, 1], [owed, 2], [owed, 3], [nil, 4]].each do |payout, index|
108
+ order = sample_orders[index]
109
+ seller.seller_transfers.create!(
110
+ store: store, order: order, payout: payout,
111
+ amount: Spree::Money::Rounding.to_currency(order.total * BigDecimal('0.85'), currency), currency: currency,
112
+ kind: 'earning', provider: provider, status: 'completed',
113
+ created_at: order.completed_at
114
+ )
115
+ end
116
+
117
+ # A refund on the newest settled sale, so the reversal row and the
118
+ # negative amount both appear on the earnings screens.
119
+ original = seller.seller_transfers.earnings.order(:created_at).last
108
120
  seller.seller_transfers.create!(
109
- store: store, order: order, payout: payout,
110
- amount: Spree::Money::Rounding.to_currency(order.total * BigDecimal('0.85'), currency), currency: currency,
111
- kind: 'earning', provider: provider, status: 'completed',
112
- created_at: order.completed_at
121
+ store: store, order: original.order, reversed_from: original,
122
+ amount: -Spree::Money::Rounding.to_currency(original.amount / 2, currency), currency: currency,
123
+ kind: 'refund_reversal', provider: provider, status: 'completed'
113
124
  )
114
- end
115
125
 
116
- # A refund on the newest settled sale, so the reversal row and the
117
- # negative amount both appear on the earnings screens.
118
- original = seller.seller_transfers.earnings.order(:created_at).last
119
- seller.seller_transfers.create!(
120
- store: store, order: original.order, reversed_from: original,
121
- amount: -Spree::Money::Rounding.to_currency(original.amount / 2, currency), currency: currency,
122
- kind: 'refund_reversal', provider: provider, status: 'completed'
123
- )
124
-
125
- # Each settlement is worth exactly what it claimed.
126
- [settled, owed].each { |payout| payout.update!(amount: payout.transfers.sum(:amount)) }
127
- end
126
+ # Each settlement is worth exactly what it claimed.
127
+ [settled, owed].each { |payout| payout.update!(amount: payout.transfers.sum(:amount)) }
128
+ end
128
129
 
129
- progress = Spree::Sellers::Requirements.new(seller.reload).progress
130
- balances = seller.balances
130
+ progress = Spree::Sellers::Requirements.new(seller.reload).progress
131
+ balances = seller.balances
131
132
 
132
- puts "Seller: #{seller.name} (#{seller.prefixed_id}, #{seller.status})"
133
- puts "Checklist: #{progress[:done]}/#{progress[:total]} done"
134
- puts "Sign in: #{email}"
135
- puts "Pending: #{seller.invitations.pending.pluck(:email).join(', ')}"
136
- puts "Ledger: #{seller.seller_transfers.count} earning(s), #{seller.seller_payouts.count} payout(s)"
137
- balances.each do |balance|
138
- puts "Balance: #{balance.display_balance} owed (#{balance.display_earned} earned, #{balance.display_paid} paid)"
133
+ puts "Seller: #{seller.name} (#{seller.prefixed_id}, #{seller.status})"
134
+ puts "Checklist: #{progress[:done]}/#{progress[:total]} done"
135
+ puts "Sign in: #{email}"
136
+ puts "Pending: #{seller.invitations.pending.pluck(:email).join(', ')}"
137
+ puts "Ledger: #{seller.seller_transfers.count} earning(s), #{seller.seller_payouts.count} payout(s)"
138
+ balances.each do |balance|
139
+ puts "Balance: #{balance.display_balance} owed (#{balance.display_earned} earned, #{balance.display_paid} paid)"
140
+ end
139
141
  end
140
142
  end
141
143
  end
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: 6.0.0.rc4
4
+ version: 6.0.0.rc6
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-10-19 00:00:00.000000000 Z
13
+ date: 2026-10-26 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: i18n-tasks
@@ -648,14 +648,14 @@ dependencies:
648
648
  requirements:
649
649
  - - "~>"
650
650
  - !ruby/object:Gem::Version
651
- version: '2.0'
651
+ version: '2.1'
652
652
  type: :runtime
653
653
  prerelease: false
654
654
  version_requirements: !ruby/object:Gem::Requirement
655
655
  requirements:
656
656
  - - "~>"
657
657
  - !ruby/object:Gem::Version
658
- version: '2.0'
658
+ version: '2.1'
659
659
  - !ruby/object:Gem::Dependency
660
660
  name: bcrypt
661
661
  requirement: !ruby/object:Gem::Requirement
@@ -777,6 +777,7 @@ files:
777
777
  - app/mailers/spree/invitation_mailer.rb
778
778
  - app/mailers/spree/seller_user_mailer.rb
779
779
  - app/mailers/spree/webhook_mailer.rb
780
+ - app/models/concerns/spree/account_deactivation.rb
780
781
  - app/models/concerns/spree/account_lockout.rb
781
782
  - app/models/concerns/spree/acted_by.rb
782
783
  - app/models/concerns/spree/actor.rb
@@ -1193,6 +1194,7 @@ files:
1193
1194
  - app/models/spree/rich_text_sanitizer.rb
1194
1195
  - app/models/spree/role.rb
1195
1196
  - app/models/spree/role_user.rb
1197
+ - app/models/spree/sales_context.rb
1196
1198
  - app/models/spree/saved_report.rb
1197
1199
  - app/models/spree/search_provider.rb
1198
1200
  - app/models/spree/search_provider/base.rb
@@ -1358,6 +1360,7 @@ files:
1358
1360
  - app/services/spree/coupon_codes/bulk_generate.rb
1359
1361
  - app/services/spree/coupon_codes/coupon_codes_handler.rb
1360
1362
  - app/services/spree/customers/data_export.rb
1363
+ - app/services/spree/data_requests/confirm.rb
1361
1364
  - app/services/spree/data_requests/create.rb
1362
1365
  - app/services/spree/deliveries/create.rb
1363
1366
  - app/services/spree/deliveries/destroy.rb
@@ -1540,6 +1543,9 @@ files:
1540
1543
  - app/workflows/spree/customers/create.rb
1541
1544
  - app/workflows/spree/data_requests/fulfill.rb
1542
1545
  - app/workflows/spree/deliveries/update_tracking.rb
1546
+ - app/workflows/spree/digital_assets/create.rb
1547
+ - app/workflows/spree/digital_assets/update.rb
1548
+ - app/workflows/spree/digital_assets/writing.rb
1543
1549
  - app/workflows/spree/email_templates/discard_draft.rb
1544
1550
  - app/workflows/spree/email_templates/publish.rb
1545
1551
  - app/workflows/spree/email_templates/restore_revision.rb
@@ -2001,6 +2007,8 @@ files:
2001
2007
  - db/migrate/20261016000001_remove_default_from_spree_tax_rates_included_in_price.rb
2002
2008
  - db/migrate/20261016100001_create_spree_tax_exemption_reasons.rb
2003
2009
  - db/migrate/20261017100001_add_tax_exemption_reason_to_spree_tax_exemption_certificates.rb
2010
+ - db/migrate/20261022000001_store_credit_actor_polymorphic.rb
2011
+ - db/migrate/20261023100001_add_deactivated_at_to_spree_admin_users.rb
2004
2012
  - db/sample_data/channels.rb
2005
2013
  - db/sample_data/collections.rb
2006
2014
  - db/sample_data/custom_field_definitions.rb
@@ -2299,6 +2307,7 @@ files:
2299
2307
  - lib/tasks/backfill_library_media_placements.rake
2300
2308
  - lib/tasks/backfill_media_store_ids.rake
2301
2309
  - lib/tasks/backfill_reason_store_ids.rake
2310
+ - lib/tasks/backfill_tagging_tenants.rake
2302
2311
  - lib/tasks/capture_methods_migration.rake
2303
2312
  - lib/tasks/carts_migration.rake
2304
2313
  - lib/tasks/categories_and_collections.rake
@@ -2369,9 +2378,9 @@ licenses:
2369
2378
  - BSD-3-Clause
2370
2379
  metadata:
2371
2380
  bug_tracker_uri: https://github.com/spree/spree/issues
2372
- changelog_uri: https://github.com/spree/spree/releases/tag/v6.0.0.rc4
2381
+ changelog_uri: https://github.com/spree/spree/releases/tag/v6.0.0.rc6
2373
2382
  documentation_uri: https://docs.spreecommerce.org/
2374
- source_code_uri: https://github.com/spree/spree/tree/v6.0.0.rc4
2383
+ source_code_uri: https://github.com/spree/spree/tree/v6.0.0.rc6
2375
2384
  post_install_message:
2376
2385
  rdoc_options: []
2377
2386
  require_paths: