spree_core 6.0.0.beta4 → 6.0.0.rc2

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 (575) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -5
  3. data/app/helpers/spree/images_helper.rb +0 -57
  4. data/app/jobs/spree/base_job.rb +21 -0
  5. data/app/jobs/spree/carts/reap_expired_job.rb +2 -2
  6. data/app/jobs/spree/collections/regenerate_time_based_job.rb +6 -3
  7. data/app/jobs/spree/orders/finalize_stale_drafts_job.rb +8 -5
  8. data/app/jobs/spree/payments/cancel_unused_sessions_job.rb +61 -0
  9. data/app/jobs/spree/search_provider/index_job.rb +4 -0
  10. data/app/jobs/spree/seller_payouts/sweep_seller_job.rb +2 -0
  11. data/app/jobs/spree/uploads/purge_unattached_job.rb +49 -0
  12. data/app/mailers/spree/admin_user_mailer.rb +4 -19
  13. data/app/mailers/spree/base_mailer.rb +97 -13
  14. data/app/mailers/spree/email_template_mailer.rb +27 -0
  15. data/app/mailers/spree/export_mailer.rb +3 -4
  16. data/app/mailers/spree/import_mailer.rb +3 -4
  17. data/app/mailers/spree/invitation_mailer.rb +24 -7
  18. data/app/mailers/spree/seller_user_mailer.rb +4 -16
  19. data/app/mailers/spree/webhook_mailer.rb +2 -2
  20. data/app/models/concerns/spree/acted_by.rb +1 -1
  21. data/app/models/concerns/spree/admin_user_methods.rb +15 -1
  22. data/app/models/concerns/spree/api_typed.rb +91 -0
  23. data/app/models/concerns/spree/calculated_adjustments.rb +41 -13
  24. data/app/models/concerns/spree/calculator/currency_amounts.rb +1 -1
  25. data/app/models/concerns/spree/calculator/tiers.rb +63 -0
  26. data/app/models/concerns/spree/canonical_decimals.rb +61 -0
  27. data/app/models/concerns/spree/customer_methods.rb +23 -18
  28. data/app/models/concerns/spree/derived_number.rb +11 -13
  29. data/app/models/concerns/spree/email_template_identity.rb +52 -0
  30. data/app/models/concerns/spree/parameterizable_name.rb +2 -0
  31. data/app/models/concerns/spree/payment_session_transitions.rb +8 -2
  32. data/app/models/concerns/spree/post_sale/taxation.rb +54 -0
  33. data/app/models/concerns/spree/post_sale/taxed_line.rb +51 -0
  34. data/app/models/concerns/spree/preference_schema/json_schema.rb +139 -0
  35. data/app/models/concerns/spree/preference_schema.rb +62 -32
  36. data/app/models/concerns/spree/product_scopes.rb +16 -2
  37. data/app/models/concerns/spree/provider_listing.rb +41 -0
  38. data/app/models/concerns/spree/publishable.rb +82 -14
  39. data/app/models/concerns/spree/purchase/addresses.rb +23 -10
  40. data/app/models/concerns/spree/purchase/currency.rb +1 -1
  41. data/app/models/concerns/spree/purchase/deprecated_aliases.rb +87 -0
  42. data/app/models/concerns/spree/purchase/gift_cards.rb +10 -4
  43. data/app/models/concerns/spree/purchase/locale.rb +1 -1
  44. data/app/models/concerns/spree/purchase/payment_processing.rb +8 -4
  45. data/app/models/concerns/spree/purchase/purchase_order.rb +9 -4
  46. data/app/models/concerns/spree/purchase/store_credits.rb +36 -1
  47. data/app/models/concerns/spree/purchase/totals.rb +49 -8
  48. data/app/models/concerns/spree/ransackable_attributes.rb +46 -0
  49. data/app/models/concerns/spree/receivable.rb +1 -1
  50. data/app/models/concerns/spree/searchable.rb +0 -4
  51. data/app/models/concerns/spree/secret_preferences.rb +59 -0
  52. data/app/models/concerns/spree/signed_id_attachments.rb +54 -0
  53. data/app/models/concerns/spree/single_store_resource.rb +1 -1
  54. data/app/models/concerns/spree/stores/email_branding.rb +32 -0
  55. data/app/models/concerns/spree/stores/markets.rb +5 -2
  56. data/app/models/concerns/spree/type_labels.rb +38 -0
  57. data/app/models/concerns/spree/typed_adjustment_line.rb +5 -6
  58. data/app/models/concerns/spree/typed_associations.rb +12 -18
  59. data/app/models/concerns/spree/vat_price_calculation.rb +5 -6
  60. data/app/models/spree/address.rb +12 -2
  61. data/app/models/spree/adjusters/largest_remainder.rb +14 -1
  62. data/app/models/spree/adjusters/promotion.rb +4 -19
  63. data/app/models/spree/allowed_origin.rb +3 -1
  64. data/app/models/spree/api_key.rb +5 -6
  65. data/app/models/spree/authentication/strategies/oidc_strategy.rb +5 -5
  66. data/app/models/spree/base.rb +99 -22
  67. data/app/models/spree/calculator/flat_percent_item_total.rb +2 -4
  68. data/app/models/spree/calculator/flat_rate.rb +3 -5
  69. data/app/models/spree/calculator/flexi_rate.rb +4 -6
  70. data/app/models/spree/calculator/percent_on_line_item.rb +2 -2
  71. data/app/models/spree/calculator/price_sack.rb +5 -7
  72. data/app/models/spree/calculator/shipping/digital_delivery.rb +3 -5
  73. data/app/models/spree/calculator/shipping/flat_percent_item_total.rb +7 -7
  74. data/app/models/spree/calculator/shipping/flat_rate.rb +5 -7
  75. data/app/models/spree/calculator/shipping/flexi_rate.rb +4 -6
  76. data/app/models/spree/calculator/shipping/per_item.rb +3 -5
  77. data/app/models/spree/calculator/shipping/price_sack.rb +5 -7
  78. data/app/models/spree/calculator/tiered_flat_rate.rb +7 -24
  79. data/app/models/spree/calculator/tiered_percent.rb +7 -25
  80. data/app/models/spree/cart.rb +78 -18
  81. data/app/models/spree/catalog.rb +1 -0
  82. data/app/models/spree/catalog_price.rb +0 -7
  83. data/app/models/spree/catalog_price_tier.rb +0 -8
  84. data/app/models/spree/category.rb +3 -1
  85. data/app/models/spree/channel/gating.rb +3 -2
  86. data/app/models/spree/channel.rb +6 -4
  87. data/app/models/spree/claim.rb +22 -1
  88. data/app/models/spree/claim_line_item.rb +41 -6
  89. data/app/models/spree/collection.rb +2 -1
  90. data/app/models/spree/collection_rule.rb +5 -21
  91. data/app/models/spree/commission_line.rb +1 -1
  92. data/app/models/spree/commission_rate.rb +7 -4
  93. data/app/models/spree/commission_rate_value.rb +1 -1
  94. data/app/models/spree/commission_rule.rb +4 -11
  95. data/app/models/spree/commission_rules/category_rule.rb +2 -5
  96. data/app/models/spree/commission_rules/item_total_rule.rb +2 -2
  97. data/app/models/spree/commission_rules/product_rule.rb +1 -1
  98. data/app/models/spree/commission_rules/seller_rule.rb +2 -5
  99. data/app/models/spree/company.rb +1 -0
  100. data/app/models/spree/company_invitation.rb +1 -0
  101. data/app/models/spree/consent_record.rb +0 -1
  102. data/app/models/spree/credit_card.rb +1 -1
  103. data/app/models/spree/current.rb +23 -0
  104. data/app/models/spree/custom_field.rb +2 -2
  105. data/app/models/spree/custom_field_definition.rb +20 -35
  106. data/app/models/spree/custom_fields/boolean.rb +1 -1
  107. data/app/models/spree/custom_fields/json.rb +1 -1
  108. data/app/models/spree/customer_group.rb +1 -0
  109. data/app/models/spree/data_feed/google.rb +0 -2
  110. data/app/models/spree/data_request.rb +2 -1
  111. data/app/models/spree/delivery_method.rb +36 -14
  112. data/app/models/spree/delivery_method_rule.rb +4 -11
  113. data/app/models/spree/delivery_method_rules/channel_rule.rb +2 -5
  114. data/app/models/spree/delivery_method_rules/item_total_rule.rb +2 -2
  115. data/app/models/spree/delivery_profile.rb +1 -0
  116. data/app/models/spree/delivery_rate.rb +7 -8
  117. data/app/models/spree/delivery_rate_provider/base.rb +1 -0
  118. data/app/models/spree/delivery_zone.rb +1 -2
  119. data/app/models/spree/delivery_zone_member.rb +4 -4
  120. data/app/models/spree/digital_asset.rb +7 -0
  121. data/app/models/spree/digital_asset_provider/base.rb +2 -0
  122. data/app/models/spree/digital_link.rb +2 -5
  123. data/app/models/spree/discount.rb +1 -1
  124. data/app/models/spree/email_template.rb +25 -0
  125. data/app/models/spree/email_template_draft.rb +13 -0
  126. data/app/models/spree/email_template_revision.rb +17 -0
  127. data/app/models/spree/email_templates/entry.rb +118 -0
  128. data/app/models/spree/email_templates/sample_record.rb +16 -0
  129. data/app/models/spree/emails/branding.rb +80 -0
  130. data/app/models/spree/exchange.rb +16 -1
  131. data/app/models/spree/exchange_line_item.rb +121 -5
  132. data/app/models/spree/export.rb +0 -1
  133. data/app/models/spree/exports/products.rb +10 -1
  134. data/app/models/spree/exports/report.rb +3 -3
  135. data/app/models/spree/fee.rb +4 -2
  136. data/app/models/spree/file_upload.rb +155 -0
  137. data/app/models/spree/fulfillment.rb +66 -30
  138. data/app/models/spree/fulfillment_changer.rb +2 -2
  139. data/app/models/spree/fulfillment_group.rb +6 -1
  140. data/app/models/spree/fulfillment_item.rb +0 -4
  141. data/app/models/spree/fulfillment_provider/base.rb +1 -0
  142. data/app/models/spree/gateway/bogus.rb +6 -0
  143. data/app/models/spree/gateway/custom_payment_source_method.rb +5 -0
  144. data/app/models/spree/gateway.rb +6 -2
  145. data/app/models/spree/gift_card.rb +18 -8
  146. data/app/models/spree/gift_card_batch.rb +3 -5
  147. data/app/models/spree/import.rb +5 -7
  148. data/app/models/spree/import_mapping.rb +1 -2
  149. data/app/models/spree/import_row.rb +2 -2
  150. data/app/models/spree/import_schemas/products.rb +1 -0
  151. data/app/models/spree/integration.rb +9 -19
  152. data/app/models/spree/invitation.rb +5 -5
  153. data/app/models/spree/line_item.rb +15 -4
  154. data/app/models/spree/locale.rb +11 -8
  155. data/app/models/spree/market.rb +8 -2
  156. data/app/models/spree/media.rb +1 -9
  157. data/app/models/spree/newsletter_subscriber.rb +4 -0
  158. data/app/models/spree/option_type.rb +2 -1
  159. data/app/models/spree/option_value.rb +2 -1
  160. data/app/models/spree/order.rb +60 -142
  161. data/app/models/spree/order_group.rb +18 -4
  162. data/app/models/spree/order_inventory.rb +10 -5
  163. data/app/models/spree/order_promotion.rb +1 -1
  164. data/app/models/spree/order_routing/has_strategy_preference.rb +1 -1
  165. data/app/models/spree/order_routing/strategy/base.rb +4 -2
  166. data/app/models/spree/order_routing/strategy/rules.rb +1 -1
  167. data/app/models/spree/order_routing_rule.rb +6 -22
  168. data/app/models/spree/package_type.rb +2 -2
  169. data/app/models/spree/payment/gateway_options.rb +15 -53
  170. data/app/models/spree/payment/processing.rb +2 -4
  171. data/app/models/spree/payment.rb +21 -13
  172. data/app/models/spree/payment_method/check.rb +2 -0
  173. data/app/models/spree/payment_method/session_instrumentation.rb +1 -0
  174. data/app/models/spree/payment_method/store_credit.rb +15 -13
  175. data/app/models/spree/payment_method.rb +78 -6
  176. data/app/models/spree/payment_session.rb +5 -1
  177. data/app/models/spree/payment_setup_session.rb +1 -0
  178. data/app/models/spree/payout_provider/base.rb +3 -1
  179. data/app/models/spree/pickup_point_provider/base.rb +2 -0
  180. data/app/models/spree/policy.rb +1 -0
  181. data/app/models/spree/price.rb +17 -14
  182. data/app/models/spree/price_adjustment_tier.rb +4 -0
  183. data/app/models/spree/price_list.rb +14 -9
  184. data/app/models/spree/price_rules/channel_rule.rb +3 -6
  185. data/app/models/spree/price_rules/customer_group_rule.rb +3 -6
  186. data/app/models/spree/price_rules/market_rule.rb +2 -5
  187. data/app/models/spree/price_rules/user_rule.rb +1 -3
  188. data/app/models/spree/product/channels.rb +9 -2
  189. data/app/models/spree/product.rb +54 -30
  190. data/app/models/spree/product_submission.rb +0 -12
  191. data/app/models/spree/product_type.rb +1 -1
  192. data/app/models/spree/promotion/actions/create_line_items.rb +28 -18
  193. data/app/models/spree/promotion/rules/category.rb +1 -5
  194. data/app/models/spree/promotion/rules/channel.rb +2 -9
  195. data/app/models/spree/promotion/rules/country.rb +3 -8
  196. data/app/models/spree/promotion/rules/currency.rb +1 -5
  197. data/app/models/spree/promotion/rules/customer_group.rb +2 -9
  198. data/app/models/spree/promotion/rules/first_order.rb +0 -4
  199. data/app/models/spree/promotion/rules/item_total.rb +6 -10
  200. data/app/models/spree/promotion/rules/market.rb +2 -9
  201. data/app/models/spree/promotion/rules/one_use_per_user.rb +0 -4
  202. data/app/models/spree/promotion/rules/option_value.rb +2 -6
  203. data/app/models/spree/promotion/rules/product.rb +1 -5
  204. data/app/models/spree/promotion/rules/user.rb +0 -4
  205. data/app/models/spree/promotion/rules/user_logged_in.rb +0 -4
  206. data/app/models/spree/promotion.rb +36 -6
  207. data/app/models/spree/promotion_action.rb +7 -14
  208. data/app/models/spree/promotion_action_line_item.rb +1 -1
  209. data/app/models/spree/promotion_handler/coupon.rb +59 -27
  210. data/app/models/spree/promotion_rule.rb +7 -14
  211. data/app/models/spree/purchase_order.rb +3 -0
  212. data/app/models/spree/quantity_rule.rb +1 -1
  213. data/app/models/spree/refund.rb +41 -18
  214. data/app/models/spree/return.rb +31 -2
  215. data/app/models/spree/return_line_item.rb +65 -14
  216. data/app/models/spree/role.rb +7 -7
  217. data/app/models/spree/saved_report.rb +2 -1
  218. data/app/models/spree/search_provider/base.rb +4 -0
  219. data/app/models/spree/seller.rb +10 -2
  220. data/app/models/spree/seller_payout.rb +8 -0
  221. data/app/models/spree/seller_requirement.rb +5 -12
  222. data/app/models/spree/seller_requirement_custom_field.rb +1 -2
  223. data/app/models/spree/seller_requirement_submission.rb +3 -2
  224. data/app/models/spree/seller_requirements/accept_terms.rb +2 -3
  225. data/app/models/spree/seller_transfer.rb +6 -0
  226. data/app/models/spree/shipping_label.rb +2 -0
  227. data/app/models/spree/stock/availability_validator.rb +2 -2
  228. data/app/models/spree/stock/estimator.rb +1 -1
  229. data/app/models/spree/stock/inventory_unit_builder.rb +1 -1
  230. data/app/models/spree/stock/packer.rb +2 -2
  231. data/app/models/spree/stock/splitter/weight.rb +1 -1
  232. data/app/models/spree/stock_level/custom_events.rb +6 -0
  233. data/app/models/spree/stock_level.rb +3 -1
  234. data/app/models/spree/stock_location.rb +1 -0
  235. data/app/models/spree/stock_movement.rb +1 -1
  236. data/app/models/spree/stock_receipt_item.rb +1 -1
  237. data/app/models/spree/stock_reservation.rb +2 -2
  238. data/app/models/spree/stock_transfer.rb +6 -2
  239. data/app/models/spree/store.rb +70 -19
  240. data/app/models/spree/store_credit.rb +13 -13
  241. data/app/models/spree/store_credit_event.rb +5 -5
  242. data/app/models/spree/supplier.rb +1 -0
  243. data/app/models/spree/tax_category.rb +1 -0
  244. data/app/models/spree/tax_exemption_certificate.rb +3 -0
  245. data/app/models/spree/tax_identifier.rb +3 -1
  246. data/app/models/spree/tax_line.rb +53 -3
  247. data/app/models/spree/tax_provider/base.rb +71 -14
  248. data/app/models/spree/tax_provider/internal.rb +70 -41
  249. data/app/models/spree/tax_provider/recorded_share.rb +114 -0
  250. data/app/models/spree/tax_rate.rb +30 -8
  251. data/app/models/spree/taxon.rb +1 -1
  252. data/app/models/spree/taxonomy.rb +0 -1
  253. data/app/models/spree/update_status.rb +25 -0
  254. data/app/models/spree/variant.rb +10 -12
  255. data/app/models/spree/variant_media.rb +1 -1
  256. data/app/models/spree/webhook_delivery.rb +1 -0
  257. data/app/models/spree/webhook_endpoint.rb +46 -13
  258. data/app/models/spree/wishlist.rb +1 -6
  259. data/app/models/spree/wishlist_item/custom_events.rb +6 -0
  260. data/app/presenters/spree/csv/customer_presenter.rb +1 -1
  261. data/app/presenters/spree/csv/newsletter_subscriber_presenter.rb +1 -1
  262. data/app/presenters/spree/csv/order_line_item_presenter.rb +10 -6
  263. data/app/presenters/spree/csv/price_list_price_presenter.rb +3 -8
  264. data/app/presenters/spree/csv/product_variant_presenter.rb +59 -20
  265. data/app/presenters/spree/csv/purchase_order_item_presenter.rb +1 -3
  266. data/app/serializers/spree/emails/base_serializer.rb +14 -0
  267. data/app/serializers/spree/emails/export_serializer.rb +13 -0
  268. data/app/serializers/spree/emails/import_serializer.rb +19 -0
  269. data/app/serializers/spree/emails/invitation_serializer.rb +28 -0
  270. data/app/serializers/spree/emails/store_serializer.rb +31 -0
  271. data/app/serializers/spree/emails/user_serializer.rb +12 -0
  272. data/app/serializers/spree/emails/webhook_endpoint_serializer.rb +16 -0
  273. data/app/services/spree/carts/create.rb +8 -2
  274. data/app/services/spree/carts/destroy.rb +2 -2
  275. data/app/services/spree/carts/remove_out_of_stock_items.rb +2 -2
  276. data/app/services/spree/carts/split_by_seller.rb +1 -1
  277. data/app/services/spree/carts/update.rb +22 -8
  278. data/app/services/spree/catalogs/set_product_terms.rb +1 -1
  279. data/app/services/spree/categories/add_products.rb +13 -31
  280. data/app/services/spree/categories/remove_products.rb +12 -51
  281. data/app/services/spree/checkout/advance.rb +1 -4
  282. data/app/services/spree/collections/add_products.rb +10 -23
  283. data/app/services/spree/collections/remove_products.rb +7 -43
  284. data/app/services/spree/coupon_codes/bulk_generate.rb +8 -14
  285. data/app/services/spree/data_requests/create.rb +1 -1
  286. data/app/services/spree/deliveries/destroy.rb +2 -2
  287. data/app/services/spree/email_templates/check.rb +58 -0
  288. data/app/services/spree/email_templates/no_sample_record.rb +7 -0
  289. data/app/services/spree/email_templates/preview.rb +99 -0
  290. data/app/services/spree/emails/file_system.rb +23 -0
  291. data/app/services/spree/emails/filters.rb +84 -0
  292. data/app/services/spree/emails/liquid_context.rb +48 -0
  293. data/app/services/spree/emails/rendered_email.rb +14 -0
  294. data/app/services/spree/emails/renderer.rb +125 -0
  295. data/app/services/spree/emails/template.rb +51 -0
  296. data/app/services/spree/emails/template_data.rb +23 -0
  297. data/app/services/spree/emails/template_resolver.rb +109 -0
  298. data/app/services/spree/emails/text_converter.rb +72 -0
  299. data/app/services/spree/emails/translation_inliner.rb +134 -0
  300. data/app/services/spree/imports/row_processors/price_list_price.rb +10 -10
  301. data/app/services/spree/imports/row_processors/product_variant.rb +77 -34
  302. data/app/services/spree/imports/row_processors/purchase_order.rb +13 -13
  303. data/app/services/spree/locales.rb +43 -10
  304. data/app/services/spree/newsletter/subscribe.rb +8 -12
  305. data/app/services/spree/orders/build_fulfillments.rb +3 -2
  306. data/app/services/spree/orders/create.rb +5 -4
  307. data/app/services/spree/orders/discounts/create.rb +14 -11
  308. data/app/services/spree/orders/discounts/destroy.rb +1 -0
  309. data/app/services/spree/orders/discounts/update.rb +1 -0
  310. data/app/services/spree/orders/fees/create.rb +1 -0
  311. data/app/services/spree/orders/fees/destroy.rb +1 -0
  312. data/app/services/spree/orders/fees/update.rb +1 -0
  313. data/app/services/spree/orders/remove_line_item.rb +13 -3
  314. data/app/services/spree/orders/update.rb +10 -6
  315. data/app/services/spree/orders/update_item.rb +6 -3
  316. data/app/services/spree/orders/update_statuses.rb +3 -1
  317. data/app/services/spree/prices/bulk_upsert.rb +32 -25
  318. data/app/services/spree/product_memberships.rb +61 -0
  319. data/app/services/spree/returns/eligibility_validator.rb +1 -1
  320. data/app/services/spree/search_provider/custom_field_schema.rb +2 -2
  321. data/app/services/spree/seeds/commission_rates.rb +1 -1
  322. data/app/services/spree/seeds/digital_delivery.rb +1 -1
  323. data/app/services/spree/seeds/payment_methods.rb +2 -2
  324. data/app/services/spree/seeds/saved_reports.rb +3 -3
  325. data/app/services/spree/seeds/stores.rb +1 -1
  326. data/app/services/spree/sellers/requirements.rb +1 -2
  327. data/app/services/spree/shipping_labels/confirm_refund.rb +1 -1
  328. data/app/services/spree/shipping_labels/store_file.rb +3 -3
  329. data/app/services/spree/stock_levels/correct.rb +3 -3
  330. data/app/services/spree/stock_reservations/reserve.rb +2 -3
  331. data/app/services/spree/store_credits/apply.rb +15 -13
  332. data/app/services/spree/stores/provision_defaults.rb +23 -25
  333. data/app/services/spree/update_check.rb +160 -0
  334. data/app/services/spree/uploads/assign_stores.rb +92 -0
  335. data/app/subscribers/spree/seller_onboarding_subscriber.rb +1 -1
  336. data/app/validators/spree/attachment_content_type_validator.rb +19 -2
  337. data/app/validators/spree/locale_codes_validator.rb +22 -0
  338. data/app/views/layouts/spree/base_mailer.html.erb +2 -43
  339. data/app/views/layouts/spree/base_mailer.liquid +79 -0
  340. data/app/views/spree/admin_user_mailer/password_reset_email.liquid +14 -0
  341. data/app/views/spree/export_mailer/export_done.liquid +12 -0
  342. data/app/views/spree/import_mailer/import_done.liquid +15 -0
  343. data/app/views/spree/invitation_mailer/invitation_accepted.liquid +9 -0
  344. data/app/views/spree/invitation_mailer/invitation_email.liquid +13 -0
  345. data/app/views/spree/seller_user_mailer/password_reset_email.liquid +14 -0
  346. data/app/views/spree/shared/_mailer_button.html.erb +4 -5
  347. data/app/views/spree/shared/_mailer_hero.html.erb +6 -5
  348. data/app/views/spree/shared/_summary_row.liquid +8 -0
  349. data/app/views/spree/webhook_mailer/endpoint_disabled.liquid +21 -0
  350. data/app/workflows/spree/carts/add_item.rb +4 -4
  351. data/app/workflows/spree/carts/complete.rb +13 -3
  352. data/app/workflows/spree/carts/merge.rb +1 -1
  353. data/app/workflows/spree/carts/recalculate_totals.rb +5 -0
  354. data/app/workflows/spree/carts/upsert_items.rb +18 -9
  355. data/app/workflows/spree/claims/approve.rb +5 -22
  356. data/app/workflows/spree/claims/cancel.rb +5 -21
  357. data/app/workflows/spree/claims/create.rb +15 -0
  358. data/app/workflows/spree/claims/deny.rb +7 -0
  359. data/app/workflows/spree/claims/resolve.rb +34 -31
  360. data/app/workflows/spree/customers/anonymize.rb +3 -4
  361. data/app/workflows/spree/customers/create.rb +1 -1
  362. data/app/workflows/spree/data_requests/fulfill.rb +2 -2
  363. data/app/workflows/spree/deliveries/update_tracking.rb +1 -1
  364. data/app/workflows/spree/email_templates/discard_draft.rb +20 -0
  365. data/app/workflows/spree/email_templates/publish.rb +70 -0
  366. data/app/workflows/spree/email_templates/restore_revision.rb +33 -0
  367. data/app/workflows/spree/email_templates/revert.rb +29 -0
  368. data/app/workflows/spree/email_templates/save_draft.rb +85 -0
  369. data/app/workflows/spree/exchanges/approve.rb +5 -22
  370. data/app/workflows/spree/exchanges/cancel.rb +5 -21
  371. data/app/workflows/spree/exchanges/create.rb +6 -0
  372. data/app/workflows/spree/exchanges/fulfill.rb +75 -51
  373. data/app/workflows/spree/exchanges/receive.rb +6 -65
  374. data/app/workflows/spree/fulfillments/cancel.rb +1 -1
  375. data/app/workflows/spree/fulfillments/create.rb +53 -49
  376. data/app/workflows/spree/fulfillments/fulfill.rb +23 -27
  377. data/app/workflows/spree/fulfillments/mark_delivered.rb +1 -1
  378. data/app/workflows/spree/fulfillments/replacements.rb +59 -0
  379. data/app/workflows/spree/gift_cards/apply.rb +2 -2
  380. data/app/workflows/spree/orders/add_item.rb +5 -1
  381. data/app/workflows/spree/orders/cancel.rb +3 -3
  382. data/app/workflows/spree/orders/complete.rb +16 -8
  383. data/app/workflows/spree/payments/capture.rb +20 -5
  384. data/app/workflows/spree/payments/process.rb +5 -3
  385. data/app/workflows/spree/post_sale/approval.rb +35 -0
  386. data/app/workflows/spree/post_sale/cancellation.rb +44 -0
  387. data/app/workflows/spree/post_sale/receipt.rb +92 -0
  388. data/app/workflows/spree/price_lists/update.rb +4 -4
  389. data/app/workflows/spree/products/nested_attributes.rb +1 -1
  390. data/app/workflows/spree/purchase_orders/cancel.rb +1 -1
  391. data/app/workflows/spree/purchase_orders/close.rb +3 -31
  392. data/app/workflows/spree/purchase_orders/create.rb +3 -1
  393. data/app/workflows/spree/purchase_orders/mark_draft.rb +2 -2
  394. data/app/workflows/spree/purchase_orders/mark_ordered.rb +2 -2
  395. data/app/workflows/spree/purchase_orders/receive.rb +1 -1
  396. data/app/workflows/spree/purchase_orders/update.rb +5 -34
  397. data/app/workflows/spree/receivables/closing_short.rb +46 -0
  398. data/app/workflows/spree/receivables/draft_editing.rb +48 -0
  399. data/app/workflows/spree/refunds/create.rb +5 -2
  400. data/app/workflows/spree/refunds/order_payments.rb +14 -2
  401. data/app/workflows/spree/refunds/tax_credit.rb +67 -0
  402. data/app/workflows/spree/returns/approve.rb +5 -22
  403. data/app/workflows/spree/returns/cancel.rb +5 -22
  404. data/app/workflows/spree/returns/create.rb +8 -0
  405. data/app/workflows/spree/returns/receive.rb +5 -76
  406. data/app/workflows/spree/returns/refund.rb +31 -8
  407. data/app/workflows/spree/seller_requirement_submissions/create.rb +1 -2
  408. data/app/workflows/spree/seller_transfers/reverse.rb +28 -1
  409. data/app/workflows/spree/shipping_labels/purchase.rb +8 -8
  410. data/app/workflows/spree/shipping_labels/record.rb +7 -7
  411. data/app/workflows/spree/shipping_labels/refund.rb +2 -2
  412. data/app/workflows/spree/stock_receipts/recording.rb +4 -4
  413. data/app/workflows/spree/stock_transfers/cancel.rb +2 -2
  414. data/app/workflows/spree/stock_transfers/close.rb +3 -30
  415. data/app/workflows/spree/stock_transfers/create.rb +3 -1
  416. data/app/workflows/spree/stock_transfers/mark_draft.rb +1 -1
  417. data/app/workflows/spree/stock_transfers/mark_in_transit.rb +3 -3
  418. data/app/workflows/spree/stock_transfers/mark_ready.rb +2 -2
  419. data/app/workflows/spree/stock_transfers/receive.rb +1 -1
  420. data/app/workflows/spree/stock_transfers/update.rb +5 -33
  421. data/config/currency_exponents.json +180 -0
  422. data/config/i18n-tasks.yml +32 -18
  423. data/config/initializers/alba.rb +7 -0
  424. data/config/language_names.csv +264 -0
  425. data/config/locales/ar.yml +811 -0
  426. data/config/locales/be.yml +855 -0
  427. data/config/locales/bg.yml +723 -0
  428. data/config/locales/ca.yml +689 -0
  429. data/config/locales/content_locales.rb +9 -0
  430. data/config/locales/cs.yml +855 -0
  431. data/config/locales/da.yml +771 -0
  432. data/config/locales/de-CH.yml +248 -0
  433. data/config/locales/de.yml +835 -0
  434. data/config/locales/el.yml +769 -0
  435. data/config/locales/en.yml +47 -505
  436. data/config/locales/es-CL.yml +301 -0
  437. data/config/locales/es-EC.yml +186 -0
  438. data/config/locales/es-MX.yml +334 -0
  439. data/config/locales/es.yml +831 -0
  440. data/config/locales/et.yml +644 -0
  441. data/config/locales/fa.yml +709 -0
  442. data/config/locales/fi.yml +771 -0
  443. data/config/locales/fr.yml +830 -0
  444. data/config/locales/hu.yml +751 -0
  445. data/config/locales/id.yml +756 -0
  446. data/config/locales/it.yml +833 -0
  447. data/config/locales/ja.yml +726 -0
  448. data/config/locales/km.yml +759 -0
  449. data/config/locales/ko.yml +575 -0
  450. data/config/locales/ku.yml +753 -0
  451. data/config/locales/lt.yml +821 -0
  452. data/config/locales/lv.yml +685 -0
  453. data/config/locales/nb.yml +824 -0
  454. data/config/locales/ne.yml +823 -0
  455. data/config/locales/nl.yml +826 -0
  456. data/config/locales/pl.yml +835 -0
  457. data/config/locales/pt-BR.yml +547 -0
  458. data/config/locales/pt.yml +636 -0
  459. data/config/locales/ro.yml +750 -0
  460. data/config/locales/ru.yml +834 -0
  461. data/config/locales/sk.yml +680 -0
  462. data/config/locales/sl-SI.yml +600 -0
  463. data/config/locales/sv.yml +827 -0
  464. data/config/locales/th.yml +745 -0
  465. data/config/locales/tr.yml +777 -0
  466. data/config/locales/uk.yml +836 -0
  467. data/config/locales/vi.yml +768 -0
  468. data/config/locales/zh-CN.yml +786 -0
  469. data/config/locales/zh-TW.yml +834 -0
  470. data/db/migrate/20260925000001_add_replacement_to_spree_fulfillment_items.rb +5 -0
  471. data/db/migrate/20261001000001_add_post_sale_tax.rb +30 -0
  472. data/db/migrate/20261001000001_convert_preferences_to_json.rb +166 -0
  473. data/db/migrate/20261001000001_create_spree_email_templates.rb +52 -0
  474. data/db/migrate/20261009000001_change_money_columns_to_decimal_19_4.rb +116 -0
  475. data/db/migrate/20261010000001_add_store_id_to_active_storage_blobs.rb +12 -0
  476. data/lib/generators/spree/dummy/dummy_generator.rb +0 -9
  477. data/lib/generators/spree/dummy/templates/rails/test.rb +26 -0
  478. data/lib/spree/checkout/default_requirements.rb +37 -13
  479. data/lib/spree/core/configuration.rb +19 -1
  480. data/lib/spree/core/controller_helpers/store.rb +1 -1
  481. data/lib/spree/core/dependencies.rb +5 -4
  482. data/lib/spree/core/emails/escaped_output.rb +60 -0
  483. data/lib/spree/core/engine.rb +72 -165
  484. data/lib/spree/core/permissions/default_catalog.rb +5 -0
  485. data/lib/spree/core/preferences/invalid_preferences.rb +18 -0
  486. data/lib/spree/core/preferences/json_conversion.rb +186 -0
  487. data/lib/spree/core/preferences/masking.rb +55 -2
  488. data/lib/spree/core/preferences/preferable.rb +343 -103
  489. data/lib/spree/core/preferences/preferable_class_methods.rb +188 -136
  490. data/lib/spree/core/previews/import_preview.rb +10 -0
  491. data/lib/spree/core/ransack_configuration.rb +13 -2
  492. data/lib/spree/core/tax/provider_error.rb +37 -0
  493. data/lib/spree/core/version.rb +1 -1
  494. data/lib/spree/core.rb +91 -373
  495. data/lib/spree/emails/editable_templates.rb +82 -0
  496. data/lib/spree/events/catalog.rb +189 -0
  497. data/lib/spree/events.rb +21 -1
  498. data/lib/spree/hooks.rb +0 -17
  499. data/lib/spree/i18n.rb +32 -15
  500. data/lib/spree/iso_data.rb +7 -0
  501. data/lib/spree/localized_number.rb +6 -0
  502. data/lib/spree/migrations.rb +4 -1
  503. data/lib/spree/money.rb +196 -15
  504. data/lib/spree/reporting/adapters/base.rb +7 -6
  505. data/lib/spree/reporting/adapters/live.rb +6 -6
  506. data/lib/spree/reporting/default_vocabulary.rb +22 -10
  507. data/lib/spree/reporting/hydration.rb +1 -1
  508. data/lib/spree/reporting/query.rb +8 -0
  509. data/lib/spree/reporting/registry.rb +13 -0
  510. data/lib/spree/reporting/schema.rb +10 -10
  511. data/lib/spree/testing_support/editable_email_templates.rb +61 -0
  512. data/lib/spree/testing_support/emails.rb +22 -0
  513. data/lib/spree/testing_support/factories/cart_factory.rb +1 -1
  514. data/lib/spree/testing_support/factories/email_template_factory.rb +28 -0
  515. data/lib/spree/testing_support/factories/order_factory.rb +2 -2
  516. data/lib/spree/testing_support/factories/product_factory.rb +9 -0
  517. data/lib/spree/testing_support/factories/refund_factory.rb +1 -1
  518. data/lib/spree/testing_support/factories/stock_factory.rb +1 -1
  519. data/lib/spree/testing_support/factories/variant_factory.rb +1 -1
  520. data/lib/spree/testing_support/i18n.rb +3 -94
  521. data/lib/spree/testing_support/lifecycle_events.rb +1 -1
  522. data/lib/spree/testing_support/order_walkthrough.rb +1 -1
  523. data/lib/spree/testing_support/preferences.rb +0 -5
  524. data/lib/spree/testing_support/store.rb +9 -1
  525. data/lib/spree/upgrades/5_6_to_6_0/manifest.yml +67 -1
  526. data/lib/spree/uploads.rb +101 -0
  527. data/lib/tasks/categories_and_collections.rake +3 -3
  528. data/lib/tasks/core.rake +6 -4
  529. data/lib/tasks/markets.rake +2 -1
  530. data/lib/tasks/media.rake +3 -3
  531. data/lib/tasks/migrate_users_to_customers.rake +23 -18
  532. data/lib/tasks/money.rake +46 -0
  533. data/lib/tasks/package_types.rake +1 -1
  534. data/lib/tasks/preferences_json.rake +101 -0
  535. data/lib/tasks/seller_sample_data.rake +2 -2
  536. data/lib/tasks/store_settings.rake +13 -6
  537. data/lib/tasks/typed_adjustments_migration.rake +1 -1
  538. data/lib/tasks/uploads.rake +19 -0
  539. data/spec/fixtures/mailer_views/custom_views_probe_mailer/welcome_email.html.erb +4 -0
  540. metadata +219 -46
  541. data/app/jobs/spree/products/touch_categories_job.rb +0 -15
  542. data/app/jobs/spree/products/touch_taxons_job.rb +0 -13
  543. data/app/models/acts_as_taggable_on/tag_decorator.rb +0 -10
  544. data/app/models/concerns/spree/has_image_alt_text.rb +0 -18
  545. data/app/models/spree/base_analytics_event_handler.rb +0 -54
  546. data/app/models/spree/invitations/store.rb +0 -6
  547. data/app/models/spree/preference.rb +0 -14
  548. data/app/models/spree/promotion_handler/page.rb +0 -25
  549. data/app/models/spree/promotion_handler/promotion_duplicator.rb +0 -60
  550. data/app/models/spree/stock/differentiator.rb +0 -45
  551. data/app/presenters/spree/filters/options_presenter.rb +0 -47
  552. data/app/services/spree/carts/empty.rb +0 -42
  553. data/app/services/spree/country_to_timezone.rb +0 -273
  554. data/app/services/spree/payments/create.rb +0 -92
  555. data/app/validators/spree/url_validator.rb +0 -23
  556. data/app/views/active_storage/blobs/_blob.html.erb +0 -14
  557. data/app/views/spree/admin_user_mailer/password_reset_email.html.erb +0 -8
  558. data/app/views/spree/export_mailer/export_done.html.erb +0 -7
  559. data/app/views/spree/import_mailer/import_done.html.erb +0 -12
  560. data/app/views/spree/invitation_mailer/invitation_accepted.html.erb +0 -4
  561. data/app/views/spree/invitation_mailer/invitation_email.html.erb +0 -12
  562. data/app/views/spree/seller_user_mailer/password_reset_email.html.erb +0 -8
  563. data/app/views/spree/shared/_base_mailer_footer.html.erb +0 -19
  564. data/app/views/spree/shared/_base_mailer_header.html.erb +0 -8
  565. data/app/views/spree/shared/_base_mailer_stylesheets.html.erb +0 -399
  566. data/app/views/spree/shared/_mailer_logo.html.erb +0 -41
  567. data/app/views/spree/shared/_purchased_items_styles.html.erb +0 -119
  568. data/app/views/spree/webhook_mailer/endpoint_disabled.html.erb +0 -51
  569. data/app/views/spree/webhook_mailer/endpoint_disabled.text.erb +0 -10
  570. data/app/workflows/spree/fulfillments/purchase_label.rb +0 -40
  571. data/app/workflows/spree/returns/purchase_label.rb +0 -32
  572. data/lib/spree/analytics.rb +0 -11
  573. data/lib/spree/core/preferences/scoped_store.rb +0 -34
  574. data/lib/spree/core/preferences/store.rb +0 -105
  575. data/lib/spree/translation_migrations.rb +0 -52
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.beta4
4
+ version: 6.0.0.rc2
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-09-24 00:00:00.000000000 Z
13
+ date: 2026-10-13 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: i18n-tasks
@@ -60,6 +60,20 @@ dependencies:
60
60
  - - ">="
61
61
  - !ruby/object:Gem::Version
62
62
  version: '0.8'
63
+ - !ruby/object:Gem::Dependency
64
+ name: alba
65
+ requirement: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '3.0'
70
+ type: :runtime
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: '3.0'
63
77
  - !ruby/object:Gem::Dependency
64
78
  name: acts-as-taggable-on
65
79
  requirement: !ruby/object:Gem::Requirement
@@ -204,6 +218,20 @@ dependencies:
204
218
  - - "<"
205
219
  - !ruby/object:Gem::Version
206
220
  version: '3'
221
+ - !ruby/object:Gem::Dependency
222
+ name: json_schemer
223
+ requirement: !ruby/object:Gem::Requirement
224
+ requirements:
225
+ - - "~>"
226
+ - !ruby/object:Gem::Version
227
+ version: '2.4'
228
+ type: :runtime
229
+ prerelease: false
230
+ version_requirements: !ruby/object:Gem::Requirement
231
+ requirements:
232
+ - - "~>"
233
+ - !ruby/object:Gem::Version
234
+ version: '2.4'
207
235
  - !ruby/object:Gem::Dependency
208
236
  name: jwt
209
237
  requirement: !ruby/object:Gem::Requirement
@@ -218,6 +246,20 @@ dependencies:
218
246
  - - "~>"
219
247
  - !ruby/object:Gem::Version
220
248
  version: '3.1'
249
+ - !ruby/object:Gem::Dependency
250
+ name: liquid
251
+ requirement: !ruby/object:Gem::Requirement
252
+ requirements:
253
+ - - "~>"
254
+ - !ruby/object:Gem::Version
255
+ version: '5.14'
256
+ type: :runtime
257
+ prerelease: false
258
+ version_requirements: !ruby/object:Gem::Requirement
259
+ requirements:
260
+ - - "~>"
261
+ - !ruby/object:Gem::Version
262
+ version: '5.14'
221
263
  - !ruby/object:Gem::Dependency
222
264
  name: money
223
265
  requirement: !ruby/object:Gem::Requirement
@@ -232,6 +274,20 @@ dependencies:
232
274
  - - "~>"
233
275
  - !ruby/object:Gem::Version
234
276
  version: '6.13'
277
+ - !ruby/object:Gem::Dependency
278
+ name: mrml
279
+ requirement: !ruby/object:Gem::Requirement
280
+ requirements:
281
+ - - "~>"
282
+ - !ruby/object:Gem::Version
283
+ version: '1.10'
284
+ type: :runtime
285
+ prerelease: false
286
+ version_requirements: !ruby/object:Gem::Requirement
287
+ requirements:
288
+ - - "~>"
289
+ - !ruby/object:Gem::Version
290
+ version: '1.10'
235
291
  - !ruby/object:Gem::Dependency
236
292
  name: monetize
237
293
  requirement: !ruby/object:Gem::Requirement
@@ -275,19 +331,19 @@ dependencies:
275
331
  - !ruby/object:Gem::Version
276
332
  version: '1.18'
277
333
  - !ruby/object:Gem::Dependency
278
- name: ostruct
334
+ name: oj
279
335
  requirement: !ruby/object:Gem::Requirement
280
336
  requirements:
281
- - - ">="
337
+ - - "~>"
282
338
  - !ruby/object:Gem::Version
283
- version: '0'
339
+ version: '3.16'
284
340
  type: :runtime
285
341
  prerelease: false
286
342
  version_requirements: !ruby/object:Gem::Requirement
287
343
  requirements:
288
- - - ">="
344
+ - - "~>"
289
345
  - !ruby/object:Gem::Version
290
- version: '0'
346
+ version: '3.16'
291
347
  - !ruby/object:Gem::Dependency
292
348
  name: paranoia
293
349
  requirement: !ruby/object:Gem::Requirement
@@ -330,6 +386,20 @@ dependencies:
330
386
  - - "~>"
331
387
  - !ruby/object:Gem::Version
332
388
  version: '1.6'
389
+ - !ruby/object:Gem::Dependency
390
+ name: rails-i18n
391
+ requirement: !ruby/object:Gem::Requirement
392
+ requirements:
393
+ - - "~>"
394
+ - !ruby/object:Gem::Version
395
+ version: '8.0'
396
+ type: :runtime
397
+ prerelease: false
398
+ version_requirements: !ruby/object:Gem::Requirement
399
+ requirements:
400
+ - - "~>"
401
+ - !ruby/object:Gem::Version
402
+ version: '8.0'
333
403
  - !ruby/object:Gem::Dependency
334
404
  name: ransack
335
405
  requirement: !ruby/object:Gem::Requirement
@@ -620,14 +690,14 @@ dependencies:
620
690
  requirements:
621
691
  - - ">="
622
692
  - !ruby/object:Gem::Version
623
- version: '43.3'
693
+ version: 43.6.3
624
694
  type: :runtime
625
695
  prerelease: false
626
696
  version_requirements: !ruby/object:Gem::Requirement
627
697
  requirements:
628
698
  - - ">="
629
699
  - !ruby/object:Gem::Version
630
- version: '43.3'
700
+ version: 43.6.3
631
701
  description: Spree Models, Services, Workflows and background jobs
632
702
  email: hello@spreecommerce.org
633
703
  executables: []
@@ -662,14 +732,13 @@ files:
662
732
  - app/jobs/spree/imports/process_job.rb
663
733
  - app/jobs/spree/imports/process_rows_job.rb
664
734
  - app/jobs/spree/orders/finalize_stale_drafts_job.rb
735
+ - app/jobs/spree/payments/cancel_unused_sessions_job.rb
665
736
  - app/jobs/spree/payments/handle_webhook_job.rb
666
737
  - app/jobs/spree/price_lists/sync_currencies_job.rb
667
738
  - app/jobs/spree/product_types/apply_to_products_job.rb
668
739
  - app/jobs/spree/products/auto_match_collections_job.rb
669
740
  - app/jobs/spree/products/auto_match_taxons_job.rb
670
741
  - app/jobs/spree/products/refresh_metrics_job.rb
671
- - app/jobs/spree/products/touch_categories_job.rb
672
- - app/jobs/spree/products/touch_taxons_job.rb
673
742
  - app/jobs/spree/sample_data/load_job.rb
674
743
  - app/jobs/spree/search_provider/index_job.rb
675
744
  - app/jobs/spree/search_provider/remove_job.rb
@@ -682,33 +751,37 @@ files:
682
751
  - app/jobs/spree/stock_locations/stock_levels/create_job.rb
683
752
  - app/jobs/spree/stock_reservations/expire_job.rb
684
753
  - app/jobs/spree/tax_identifiers/validate_job.rb
754
+ - app/jobs/spree/uploads/purge_unattached_job.rb
685
755
  - app/jobs/spree/variants/remove_from_incomplete_orders_job.rb
686
756
  - app/jobs/spree/variants/remove_line_item_job.rb
687
757
  - app/jobs/spree/variants/touch_job.rb
688
758
  - app/mailers/spree/admin_user_mailer.rb
689
759
  - app/mailers/spree/base_mailer.rb
760
+ - app/mailers/spree/email_template_mailer.rb
690
761
  - app/mailers/spree/export_mailer.rb
691
762
  - app/mailers/spree/import_mailer.rb
692
763
  - app/mailers/spree/invitation_mailer.rb
693
764
  - app/mailers/spree/seller_user_mailer.rb
694
765
  - app/mailers/spree/webhook_mailer.rb
695
- - app/models/acts_as_taggable_on/tag_decorator.rb
696
766
  - app/models/concerns/spree/account_lockout.rb
697
767
  - app/models/concerns/spree/acted_by.rb
698
768
  - app/models/concerns/spree/actor.rb
699
769
  - app/models/concerns/spree/admin_user_methods.rb
770
+ - app/models/concerns/spree/api_typed.rb
700
771
  - app/models/concerns/spree/calculated_adjustments.rb
701
772
  - app/models/concerns/spree/calculator/currency_amounts.rb
773
+ - app/models/concerns/spree/calculator/tiers.rb
774
+ - app/models/concerns/spree/canonical_decimals.rb
702
775
  - app/models/concerns/spree/capture_method.rb
703
776
  - app/models/concerns/spree/custom_field_filterable.rb
704
777
  - app/models/concerns/spree/customer_methods.rb
705
778
  - app/models/concerns/spree/deprecated_customer_alias.rb
706
779
  - app/models/concerns/spree/derived_number.rb
707
780
  - app/models/concerns/spree/display_money.rb
781
+ - app/models/concerns/spree/email_template_identity.rb
708
782
  - app/models/concerns/spree/has_address_book.rb
709
783
  - app/models/concerns/spree/has_custom_fields.rb
710
784
  - app/models/concerns/spree/has_external_references.rb
711
- - app/models/concerns/spree/has_image_alt_text.rb
712
785
  - app/models/concerns/spree/has_iso_geography.rb
713
786
  - app/models/concerns/spree/has_library_media.rb
714
787
  - app/models/concerns/spree/has_list_position.rb
@@ -730,17 +803,22 @@ files:
730
803
  - app/models/concerns/spree/payment_session_transitions.rb
731
804
  - app/models/concerns/spree/payment_source_concern.rb
732
805
  - app/models/concerns/spree/personal_data_matching.rb
806
+ - app/models/concerns/spree/post_sale/taxation.rb
807
+ - app/models/concerns/spree/post_sale/taxed_line.rb
733
808
  - app/models/concerns/spree/preference_schema.rb
809
+ - app/models/concerns/spree/preference_schema/json_schema.rb
734
810
  - app/models/concerns/spree/prefixed_id.rb
735
811
  - app/models/concerns/spree/presentation_translatable.rb
736
812
  - app/models/concerns/spree/product_scopes.rb
737
813
  - app/models/concerns/spree/provider_failure_policy.rb
814
+ - app/models/concerns/spree/provider_listing.rb
738
815
  - app/models/concerns/spree/publishable.rb
739
816
  - app/models/concerns/spree/purchase/addresses.rb
740
817
  - app/models/concerns/spree/purchase/channel.rb
741
818
  - app/models/concerns/spree/purchase/checkout_steps.rb
742
819
  - app/models/concerns/spree/purchase/company.rb
743
820
  - app/models/concerns/spree/purchase/currency.rb
821
+ - app/models/concerns/spree/purchase/deprecated_aliases.rb
744
822
  - app/models/concerns/spree/purchase/digital_items.rb
745
823
  - app/models/concerns/spree/purchase/freight.rb
746
824
  - app/models/concerns/spree/purchase/gift_cards.rb
@@ -763,15 +841,19 @@ files:
763
841
  - app/models/concerns/spree/sanitizable_rich_text.rb
764
842
  - app/models/concerns/spree/search_indexable.rb
765
843
  - app/models/concerns/spree/searchable.rb
844
+ - app/models/concerns/spree/secret_preferences.rb
845
+ - app/models/concerns/spree/signed_id_attachments.rb
766
846
  - app/models/concerns/spree/single_store_resource.rb
767
847
  - app/models/concerns/spree/store_data_sources.rb
768
848
  - app/models/concerns/spree/store_preferences.rb
769
849
  - app/models/concerns/spree/stores/channels.rb
850
+ - app/models/concerns/spree/stores/email_branding.rb
770
851
  - app/models/concerns/spree/stores/markets.rb
771
852
  - app/models/concerns/spree/stores/setup.rb
772
853
  - app/models/concerns/spree/translatable_resource.rb
773
854
  - app/models/concerns/spree/translatable_resource_scopes.rb
774
855
  - app/models/concerns/spree/translatable_resource_slug.rb
856
+ - app/models/concerns/spree/type_labels.rb
775
857
  - app/models/concerns/spree/typed_adjustment_line.rb
776
858
  - app/models/concerns/spree/typed_associations.rb
777
859
  - app/models/concerns/spree/user_address.rb
@@ -798,7 +880,6 @@ files:
798
880
  - app/models/spree/authentication/strategies/oidc_strategy.rb
799
881
  - app/models/spree/authentication/strategy_registry.rb
800
882
  - app/models/spree/base.rb
801
- - app/models/spree/base_analytics_event_handler.rb
802
883
  - app/models/spree/calculator.rb
803
884
  - app/models/spree/calculator/flat_percent_item_total.rb
804
885
  - app/models/spree/calculator/flat_rate.rb
@@ -904,6 +985,12 @@ files:
904
985
  - app/models/spree/digital_delivery.rb
905
986
  - app/models/spree/digital_link.rb
906
987
  - app/models/spree/discount.rb
988
+ - app/models/spree/email_template.rb
989
+ - app/models/spree/email_template_draft.rb
990
+ - app/models/spree/email_template_revision.rb
991
+ - app/models/spree/email_templates/entry.rb
992
+ - app/models/spree/email_templates/sample_record.rb
993
+ - app/models/spree/emails/branding.rb
907
994
  - app/models/spree/event.rb
908
995
  - app/models/spree/exchange.rb
909
996
  - app/models/spree/exchange_line_item.rb
@@ -921,6 +1008,7 @@ files:
921
1008
  - app/models/spree/external_reference.rb
922
1009
  - app/models/spree/external_video.rb
923
1010
  - app/models/spree/fee.rb
1011
+ - app/models/spree/file_upload.rb
924
1012
  - app/models/spree/freight_summary.rb
925
1013
  - app/models/spree/freight_summary/line.rb
926
1014
  - app/models/spree/fulfillment.rb
@@ -959,7 +1047,6 @@ files:
959
1047
  - app/models/spree/inventory_provider/internal.rb
960
1048
  - app/models/spree/inventory_unit.rb
961
1049
  - app/models/spree/invitation.rb
962
- - app/models/spree/invitations/store.rb
963
1050
  - app/models/spree/label_purchase.rb
964
1051
  - app/models/spree/line_item.rb
965
1052
  - app/models/spree/locale.rb
@@ -1018,7 +1105,6 @@ files:
1018
1105
  - app/models/spree/pickup_point_option.rb
1019
1106
  - app/models/spree/pickup_point_provider/base.rb
1020
1107
  - app/models/spree/policy.rb
1021
- - app/models/spree/preference.rb
1022
1108
  - app/models/spree/price.rb
1023
1109
  - app/models/spree/price_adjustment_tier.rb
1024
1110
  - app/models/spree/price_history.rb
@@ -1070,8 +1156,6 @@ files:
1070
1156
  - app/models/spree/promotion_handler/cart.rb
1071
1157
  - app/models/spree/promotion_handler/coupon.rb
1072
1158
  - app/models/spree/promotion_handler/free_shipping.rb
1073
- - app/models/spree/promotion_handler/page.rb
1074
- - app/models/spree/promotion_handler/promotion_duplicator.rb
1075
1159
  - app/models/spree/promotion_rule.rb
1076
1160
  - app/models/spree/promotion_rule_category.rb
1077
1161
  - app/models/spree/promotion_rule_taxon.rb
@@ -1130,7 +1214,6 @@ files:
1130
1214
  - app/models/spree/stock/availability_validator.rb
1131
1215
  - app/models/spree/stock/content_item.rb
1132
1216
  - app/models/spree/stock/coordinator.rb
1133
- - app/models/spree/stock/differentiator.rb
1134
1217
  - app/models/spree/stock/estimator.rb
1135
1218
  - app/models/spree/stock/inventory_unit_builder.rb
1136
1219
  - app/models/spree/stock/package.rb
@@ -1176,6 +1259,7 @@ files:
1176
1259
  - app/models/spree/tax_line.rb
1177
1260
  - app/models/spree/tax_provider/base.rb
1178
1261
  - app/models/spree/tax_provider/internal.rb
1262
+ - app/models/spree/tax_provider/recorded_share.rb
1179
1263
  - app/models/spree/tax_rate.rb
1180
1264
  - app/models/spree/taxon.rb
1181
1265
  - app/models/spree/taxon_rule.rb
@@ -1184,6 +1268,7 @@ files:
1184
1268
  - app/models/spree/taxon_rules/tag.rb
1185
1269
  - app/models/spree/taxonomy.rb
1186
1270
  - app/models/spree/translations/batch.rb
1271
+ - app/models/spree/update_status.rb
1187
1272
  - app/models/spree/user_identity.rb
1188
1273
  - app/models/spree/variant.rb
1189
1274
  - app/models/spree/variant_media.rb
@@ -1208,7 +1293,13 @@ files:
1208
1293
  - app/presenters/spree/csv/purchase_order_item_presenter.rb
1209
1294
  - app/presenters/spree/data_feeds/base_presenter.rb
1210
1295
  - app/presenters/spree/data_feeds/google_presenter.rb
1211
- - app/presenters/spree/filters/options_presenter.rb
1296
+ - app/serializers/spree/emails/base_serializer.rb
1297
+ - app/serializers/spree/emails/export_serializer.rb
1298
+ - app/serializers/spree/emails/import_serializer.rb
1299
+ - app/serializers/spree/emails/invitation_serializer.rb
1300
+ - app/serializers/spree/emails/store_serializer.rb
1301
+ - app/serializers/spree/emails/user_serializer.rb
1302
+ - app/serializers/spree/emails/webhook_endpoint_serializer.rb
1212
1303
  - app/services/spree/addresses/create.rb
1213
1304
  - app/services/spree/addresses/helper.rb
1214
1305
  - app/services/spree/addresses/update.rb
@@ -1216,7 +1307,6 @@ files:
1216
1307
  - app/services/spree/carts/check_availability.rb
1217
1308
  - app/services/spree/carts/create.rb
1218
1309
  - app/services/spree/carts/destroy.rb
1219
- - app/services/spree/carts/empty.rb
1220
1310
  - app/services/spree/carts/partition_by_seller.rb
1221
1311
  - app/services/spree/carts/price_items.rb
1222
1312
  - app/services/spree/carts/remove_item.rb
@@ -1245,7 +1335,6 @@ files:
1245
1335
  - app/services/spree/companies/add_member.rb
1246
1336
  - app/services/spree/company_invitations/accept.rb
1247
1337
  - app/services/spree/compare_line_items.rb
1248
- - app/services/spree/country_to_timezone.rb
1249
1338
  - app/services/spree/coupon_codes/bulk_generate.rb
1250
1339
  - app/services/spree/coupon_codes/coupon_codes_handler.rb
1251
1340
  - app/services/spree/customers/data_export.rb
@@ -1253,6 +1342,19 @@ files:
1253
1342
  - app/services/spree/deliveries/create.rb
1254
1343
  - app/services/spree/deliveries/destroy.rb
1255
1344
  - app/services/spree/deliveries/upsert_primary.rb
1345
+ - app/services/spree/email_templates/check.rb
1346
+ - app/services/spree/email_templates/no_sample_record.rb
1347
+ - app/services/spree/email_templates/preview.rb
1348
+ - app/services/spree/emails/file_system.rb
1349
+ - app/services/spree/emails/filters.rb
1350
+ - app/services/spree/emails/liquid_context.rb
1351
+ - app/services/spree/emails/rendered_email.rb
1352
+ - app/services/spree/emails/renderer.rb
1353
+ - app/services/spree/emails/template.rb
1354
+ - app/services/spree/emails/template_data.rb
1355
+ - app/services/spree/emails/template_resolver.rb
1356
+ - app/services/spree/emails/text_converter.rb
1357
+ - app/services/spree/emails/translation_inliner.rb
1256
1358
  - app/services/spree/fulfillments/recalculate_delivery.rb
1257
1359
  - app/services/spree/fulfillments/stand_down_provider.rb
1258
1360
  - app/services/spree/generate_token.rb
@@ -1286,8 +1388,8 @@ files:
1286
1388
  - app/services/spree/orders/update.rb
1287
1389
  - app/services/spree/orders/update_item.rb
1288
1390
  - app/services/spree/orders/update_statuses.rb
1289
- - app/services/spree/payments/create.rb
1290
1391
  - app/services/spree/prices/bulk_upsert.rb
1392
+ - app/services/spree/product_memberships.rb
1291
1393
  - app/services/spree/product_submissions/close.rb
1292
1394
  - app/services/spree/product_types/apply_to_products.rb
1293
1395
  - app/services/spree/products/auto_match_collections.rb
@@ -1344,6 +1446,8 @@ files:
1344
1446
  - app/services/spree/taxons/regenerate_products.rb
1345
1447
  - app/services/spree/taxons/remove_products.rb
1346
1448
  - app/services/spree/tracking_numbers/base_service.rb
1449
+ - app/services/spree/update_check.rb
1450
+ - app/services/spree/uploads/assign_stores.rb
1347
1451
  - app/services/spree/variants/remove_line_items.rb
1348
1452
  - app/services/spree/wallet/create_payment_source.rb
1349
1453
  - app/subscribers/spree/admin_user_email_subscriber.rb
@@ -1364,25 +1468,20 @@ files:
1364
1468
  - app/validators/email_validator.rb
1365
1469
  - app/validators/spree/addresses/phone_validator.rb
1366
1470
  - app/validators/spree/attachment_content_type_validator.rb
1471
+ - app/validators/spree/locale_codes_validator.rb
1367
1472
  - app/validators/spree/password_length_validator.rb
1368
- - app/validators/spree/url_validator.rb
1369
- - app/views/active_storage/blobs/_blob.html.erb
1370
1473
  - app/views/layouts/spree/base_mailer.html.erb
1371
- - app/views/spree/admin_user_mailer/password_reset_email.html.erb
1372
- - app/views/spree/export_mailer/export_done.html.erb
1373
- - app/views/spree/import_mailer/import_done.html.erb
1374
- - app/views/spree/invitation_mailer/invitation_accepted.html.erb
1375
- - app/views/spree/invitation_mailer/invitation_email.html.erb
1376
- - app/views/spree/seller_user_mailer/password_reset_email.html.erb
1377
- - app/views/spree/shared/_base_mailer_footer.html.erb
1378
- - app/views/spree/shared/_base_mailer_header.html.erb
1379
- - app/views/spree/shared/_base_mailer_stylesheets.html.erb
1474
+ - app/views/layouts/spree/base_mailer.liquid
1475
+ - app/views/spree/admin_user_mailer/password_reset_email.liquid
1476
+ - app/views/spree/export_mailer/export_done.liquid
1477
+ - app/views/spree/import_mailer/import_done.liquid
1478
+ - app/views/spree/invitation_mailer/invitation_accepted.liquid
1479
+ - app/views/spree/invitation_mailer/invitation_email.liquid
1480
+ - app/views/spree/seller_user_mailer/password_reset_email.liquid
1380
1481
  - app/views/spree/shared/_mailer_button.html.erb
1381
1482
  - app/views/spree/shared/_mailer_hero.html.erb
1382
- - app/views/spree/shared/_mailer_logo.html.erb
1383
- - app/views/spree/shared/_purchased_items_styles.html.erb
1384
- - app/views/spree/webhook_mailer/endpoint_disabled.html.erb
1385
- - app/views/spree/webhook_mailer/endpoint_disabled.text.erb
1483
+ - app/views/spree/shared/_summary_row.liquid
1484
+ - app/views/spree/webhook_mailer/endpoint_disabled.liquid
1386
1485
  - app/workflows/spree/carts/add_item.rb
1387
1486
  - app/workflows/spree/carts/complete.rb
1388
1487
  - app/workflows/spree/carts/merge.rb
@@ -1403,6 +1502,11 @@ files:
1403
1502
  - app/workflows/spree/customers/create.rb
1404
1503
  - app/workflows/spree/data_requests/fulfill.rb
1405
1504
  - app/workflows/spree/deliveries/update_tracking.rb
1505
+ - app/workflows/spree/email_templates/discard_draft.rb
1506
+ - app/workflows/spree/email_templates/publish.rb
1507
+ - app/workflows/spree/email_templates/restore_revision.rb
1508
+ - app/workflows/spree/email_templates/revert.rb
1509
+ - app/workflows/spree/email_templates/save_draft.rb
1406
1510
  - app/workflows/spree/exchanges/approve.rb
1407
1511
  - app/workflows/spree/exchanges/cancel.rb
1408
1512
  - app/workflows/spree/exchanges/create.rb
@@ -1412,7 +1516,7 @@ files:
1412
1516
  - app/workflows/spree/fulfillments/create.rb
1413
1517
  - app/workflows/spree/fulfillments/fulfill.rb
1414
1518
  - app/workflows/spree/fulfillments/mark_delivered.rb
1415
- - app/workflows/spree/fulfillments/purchase_label.rb
1519
+ - app/workflows/spree/fulfillments/replacements.rb
1416
1520
  - app/workflows/spree/fulfillments/update.rb
1417
1521
  - app/workflows/spree/gift_cards/apply.rb
1418
1522
  - app/workflows/spree/gift_cards/cancel.rb
@@ -1435,6 +1539,9 @@ files:
1435
1539
  - app/workflows/spree/payments/handle_webhook.rb
1436
1540
  - app/workflows/spree/payments/process.rb
1437
1541
  - app/workflows/spree/payments/void.rb
1542
+ - app/workflows/spree/post_sale/approval.rb
1543
+ - app/workflows/spree/post_sale/cancellation.rb
1544
+ - app/workflows/spree/post_sale/receipt.rb
1438
1545
  - app/workflows/spree/price_lists/activate.rb
1439
1546
  - app/workflows/spree/price_lists/create.rb
1440
1547
  - app/workflows/spree/price_lists/deactivate.rb
@@ -1456,13 +1563,15 @@ files:
1456
1563
  - app/workflows/spree/purchase_orders/mark_ordered.rb
1457
1564
  - app/workflows/spree/purchase_orders/receive.rb
1458
1565
  - app/workflows/spree/purchase_orders/update.rb
1566
+ - app/workflows/spree/receivables/closing_short.rb
1567
+ - app/workflows/spree/receivables/draft_editing.rb
1459
1568
  - app/workflows/spree/receivables/incoming_counter.rb
1460
1569
  - app/workflows/spree/refunds/create.rb
1461
1570
  - app/workflows/spree/refunds/order_payments.rb
1571
+ - app/workflows/spree/refunds/tax_credit.rb
1462
1572
  - app/workflows/spree/returns/approve.rb
1463
1573
  - app/workflows/spree/returns/cancel.rb
1464
1574
  - app/workflows/spree/returns/create.rb
1465
- - app/workflows/spree/returns/purchase_label.rb
1466
1575
  - app/workflows/spree/returns/receive.rb
1467
1576
  - app/workflows/spree/returns/refund.rb
1468
1577
  - app/workflows/spree/returns/returnable_quantity.rb
@@ -1500,14 +1609,61 @@ files:
1500
1609
  - app/workflows/spree/variants/nested_attributes.rb
1501
1610
  - app/workflows/spree/variants/update.rb
1502
1611
  - config/brakeman.ignore
1612
+ - config/currency_exponents.json
1503
1613
  - config/i18n-tasks.yml
1504
1614
  - config/initializers/active_storage.rb
1505
1615
  - config/initializers/acts_as_taggable_on.rb
1616
+ - config/initializers/alba.rb
1506
1617
  - config/initializers/friendly_id.rb
1507
1618
  - config/initializers/inflections.rb
1508
1619
  - config/initializers/mobility.rb
1509
1620
  - config/initializers/spree_store_setup_tasks.rb
1621
+ - config/language_names.csv
1622
+ - config/locales/ar.yml
1623
+ - config/locales/be.yml
1624
+ - config/locales/bg.yml
1625
+ - config/locales/ca.yml
1626
+ - config/locales/content_locales.rb
1627
+ - config/locales/cs.yml
1628
+ - config/locales/da.yml
1629
+ - config/locales/de-CH.yml
1630
+ - config/locales/de.yml
1631
+ - config/locales/el.yml
1510
1632
  - config/locales/en.yml
1633
+ - config/locales/es-CL.yml
1634
+ - config/locales/es-EC.yml
1635
+ - config/locales/es-MX.yml
1636
+ - config/locales/es.yml
1637
+ - config/locales/et.yml
1638
+ - config/locales/fa.yml
1639
+ - config/locales/fi.yml
1640
+ - config/locales/fr.yml
1641
+ - config/locales/hu.yml
1642
+ - config/locales/id.yml
1643
+ - config/locales/it.yml
1644
+ - config/locales/ja.yml
1645
+ - config/locales/km.yml
1646
+ - config/locales/ko.yml
1647
+ - config/locales/ku.yml
1648
+ - config/locales/lt.yml
1649
+ - config/locales/lv.yml
1650
+ - config/locales/nb.yml
1651
+ - config/locales/ne.yml
1652
+ - config/locales/nl.yml
1653
+ - config/locales/pl.yml
1654
+ - config/locales/pt-BR.yml
1655
+ - config/locales/pt.yml
1656
+ - config/locales/ro.yml
1657
+ - config/locales/ru.yml
1658
+ - config/locales/sk.yml
1659
+ - config/locales/sl-SI.yml
1660
+ - config/locales/sv.yml
1661
+ - config/locales/th.yml
1662
+ - config/locales/tr.yml
1663
+ - config/locales/uk.yml
1664
+ - config/locales/vi.yml
1665
+ - config/locales/zh-CN.yml
1666
+ - config/locales/zh-TW.yml
1511
1667
  - config/routes.rb
1512
1668
  - db/migrate/20210914000000_spree_four_three.rb
1513
1669
  - db/migrate/20210915064321_add_metadata_to_spree_orders.rb
@@ -1794,6 +1950,12 @@ files:
1794
1950
  - db/migrate/20260916000001_order_operation_actors_polymorphic.rb
1795
1951
  - db/migrate/20260922000001_add_refunded_order_to_spree_store_credits.rb
1796
1952
  - db/migrate/20260923000001_change_spree_user_identities_tokens_to_text.rb
1953
+ - db/migrate/20260925000001_add_replacement_to_spree_fulfillment_items.rb
1954
+ - db/migrate/20261001000001_add_post_sale_tax.rb
1955
+ - db/migrate/20261001000001_convert_preferences_to_json.rb
1956
+ - db/migrate/20261001000001_create_spree_email_templates.rb
1957
+ - db/migrate/20261009000001_change_money_columns_to_decimal_19_4.rb
1958
+ - db/migrate/20261010000001_add_store_id_to_active_storage_blobs.rb
1797
1959
  - db/sample_data/channels.rb
1798
1960
  - db/sample_data/collections.rb
1799
1961
  - db/sample_data/custom_field_definitions.rb
@@ -1846,7 +2008,6 @@ files:
1846
2008
  - lib/generators/spree/subscriber/templates/subscriber.rb.tt
1847
2009
  - lib/generators/spree/subscriber/templates/subscriber_spec.rb.tt
1848
2010
  - lib/mobility/plugins/store_based_fallbacks.rb
1849
- - lib/spree/analytics.rb
1850
2011
  - lib/spree/category_permalink_deduplicator.rb
1851
2012
  - lib/spree/checkout/default_requirements.rb
1852
2013
  - lib/spree/checkout/registry.rb
@@ -1858,6 +2019,7 @@ files:
1858
2019
  - lib/spree/core/controller_helpers/store.rb
1859
2020
  - lib/spree/core/dependencies.rb
1860
2021
  - lib/spree/core/dependencies_helper.rb
2022
+ - lib/spree/core/emails/escaped_output.rb
1861
2023
  - lib/spree/core/engine.rb
1862
2024
  - lib/spree/core/number_generator.rb
1863
2025
  - lib/spree/core/permission_configuration.rb
@@ -1865,14 +2027,15 @@ files:
1865
2027
  - lib/spree/core/permissions/entry.rb
1866
2028
  - lib/spree/core/permissions/scope.rb
1867
2029
  - lib/spree/core/preferences/configuration.rb
2030
+ - lib/spree/core/preferences/invalid_preferences.rb
2031
+ - lib/spree/core/preferences/json_conversion.rb
1868
2032
  - lib/spree/core/preferences/masking.rb
1869
2033
  - lib/spree/core/preferences/preferable.rb
1870
2034
  - lib/spree/core/preferences/preferable_class_methods.rb
1871
2035
  - lib/spree/core/preferences/runtime_configuration.rb
1872
- - lib/spree/core/preferences/scoped_store.rb
1873
- - lib/spree/core/preferences/store.rb
1874
2036
  - lib/spree/core/previews/admin_user_preview.rb
1875
2037
  - lib/spree/core/previews/export_preview.rb
2038
+ - lib/spree/core/previews/import_preview.rb
1876
2039
  - lib/spree/core/previews/invitation_preview.rb
1877
2040
  - lib/spree/core/previews/preview_data.rb
1878
2041
  - lib/spree/core/previews/seller_user_preview.rb
@@ -1882,10 +2045,13 @@ files:
1882
2045
  - lib/spree/core/pricing/resolver.rb
1883
2046
  - lib/spree/core/ransack_configuration.rb
1884
2047
  - lib/spree/core/routes.rb
2048
+ - lib/spree/core/tax/provider_error.rb
1885
2049
  - lib/spree/core/version.rb
2050
+ - lib/spree/emails/editable_templates.rb
1886
2051
  - lib/spree/events.rb
1887
2052
  - lib/spree/events/adapters/active_support_notifications.rb
1888
2053
  - lib/spree/events/adapters/base.rb
2054
+ - lib/spree/events/catalog.rb
1889
2055
  - lib/spree/events/registry.rb
1890
2056
  - lib/spree/hooks.rb
1891
2057
  - lib/spree/i18n.rb
@@ -1912,6 +2078,8 @@ files:
1912
2078
  - lib/spree/testing_support/action_text.rb
1913
2079
  - lib/spree/testing_support/common_rake.rb
1914
2080
  - lib/spree/testing_support/country_pool.rb
2081
+ - lib/spree/testing_support/editable_email_templates.rb
2082
+ - lib/spree/testing_support/emails.rb
1915
2083
  - lib/spree/testing_support/extension_rake.rb
1916
2084
  - lib/spree/testing_support/factories.rb
1917
2085
  - lib/spree/testing_support/factories/address_factory.rb
@@ -1947,6 +2115,7 @@ files:
1947
2115
  - lib/spree/testing_support/factories/digital_asset_factory.rb
1948
2116
  - lib/spree/testing_support/factories/digital_link_factory.rb
1949
2117
  - lib/spree/testing_support/factories/discount_factory.rb
2118
+ - lib/spree/testing_support/factories/email_template_factory.rb
1950
2119
  - lib/spree/testing_support/factories/exchange_factory.rb
1951
2120
  - lib/spree/testing_support/factories/export_factory.rb
1952
2121
  - lib/spree/testing_support/factories/external_reference_factory.rb
@@ -2057,11 +2226,11 @@ files:
2057
2226
  - lib/spree/testing_support/store.rb
2058
2227
  - lib/spree/testing_support/tax_identifier_validators.rb
2059
2228
  - lib/spree/testing_support/url_helpers.rb
2060
- - lib/spree/translation_migrations.rb
2061
2229
  - lib/spree/translations.rb
2062
2230
  - lib/spree/upgrades/5_4_to_5_5/manifest.yml
2063
2231
  - lib/spree/upgrades/5_5_to_5_6/manifest.yml
2064
2232
  - lib/spree/upgrades/5_6_to_6_0/manifest.yml
2233
+ - lib/spree/uploads.rb
2065
2234
  - lib/spree/validators.rb
2066
2235
  - lib/spree/workflow.rb
2067
2236
  - lib/spree_core.rb
@@ -2094,9 +2263,11 @@ files:
2094
2263
  - lib/tasks/migrate_returns.rake
2095
2264
  - lib/tasks/migrate_rich_text_to_columns.rake
2096
2265
  - lib/tasks/migrate_users_to_customers.rake
2266
+ - lib/tasks/money.rake
2097
2267
  - lib/tasks/order_coupon_code_backfill.rake
2098
2268
  - lib/tasks/order_market_backfill.rake
2099
2269
  - lib/tasks/package_types.rake
2270
+ - lib/tasks/preferences_json.rake
2100
2271
  - lib/tasks/price_history.rake
2101
2272
  - lib/tasks/product_tag_tenants.rake
2102
2273
  - lib/tasks/products.rake
@@ -2116,6 +2287,7 @@ files:
2116
2287
  - lib/tasks/typed_adjustments_migration.rake
2117
2288
  - lib/tasks/typed_stock_movements_migration.rake
2118
2289
  - lib/tasks/upgrade.rake
2290
+ - lib/tasks/uploads.rake
2119
2291
  - lib/tasks/variants.rake
2120
2292
  - spec/fixtures/favicon.ico
2121
2293
  - spec/fixtures/files/customers_import.csv
@@ -2128,6 +2300,7 @@ files:
2128
2300
  - spec/fixtures/files/price_list_prices_import.csv
2129
2301
  - spec/fixtures/files/product_translations_import.csv
2130
2302
  - spec/fixtures/files/products_import.csv
2303
+ - spec/fixtures/mailer_views/custom_views_probe_mailer/welcome_email.html.erb
2131
2304
  - spec/fixtures/text-file.txt
2132
2305
  - spec/fixtures/thinking-cat.jpg
2133
2306
  - spec/fixtures/tiny-video.mp4
@@ -2136,9 +2309,9 @@ licenses:
2136
2309
  - BSD-3-Clause
2137
2310
  metadata:
2138
2311
  bug_tracker_uri: https://github.com/spree/spree/issues
2139
- changelog_uri: https://github.com/spree/spree/releases/tag/v6.0.0.beta4
2312
+ changelog_uri: https://github.com/spree/spree/releases/tag/v6.0.0.rc2
2140
2313
  documentation_uri: https://docs.spreecommerce.org/
2141
- source_code_uri: https://github.com/spree/spree/tree/v6.0.0.beta4
2314
+ source_code_uri: https://github.com/spree/spree/tree/v6.0.0.rc2
2142
2315
  post_install_message:
2143
2316
  rdoc_options: []
2144
2317
  require_paths: