spree/spree · error
Spree.api.#{legacy}= is deprecated and will be removed in Sp
Error message
Spree.api.#{legacy}= is deprecated and will be removed in Spree 6.1. Use #{current}= instead. What it means
Error "Spree.api.#{legacy}= is deprecated and will be removed in Spree 6.1. Use #{current}= instead." thrown in spree/spree.
Source
Thrown at spree/api/lib/spree/api/dependencies.rb:220
admin_price_rule_serializer: 'Spree::Api::V3::Admin::PriceRuleSerializer',
admin_resource_translations_serializer: 'Spree::Api::V3::Admin::ResourceTranslationsSerializer',
}
include Spree::DependenciesHelper
# Pre-6.0 names for the StockItem → StockLevel serializers. Unlike the
# legacy workflow keys in core, these forward instead of stashing: a
# serializer renders the same model under a new class name, so an
# override written against the old key is still the class the host app
# wants used. Removed in 6.1.
LEGACY_SERIALIZER_KEYS = {
stock_item_serializer: :stock_level_serializer,
admin_stock_item_serializer: :admin_stock_level_serializer
}.freeze
LEGACY_SERIALIZER_KEYS.each do |legacy, current|
define_method("#{legacy}=") do |value|
Spree::Deprecation.warn("Spree.api.#{legacy}= is deprecated and will be removed in Spree 6.1. Use #{current}= instead.")
send("#{current}=", value)
end
define_method(legacy) do
Spree::Deprecation.warn("Spree.api.#{legacy} is deprecated and will be removed in Spree 6.1. Use #{current} instead.")
send(current)
end
define_method("#{legacy}_class") do
Spree::Deprecation.warn("Spree.api.#{legacy}_class is deprecated and will be removed in Spree 6.1. Use #{current}_class instead.")
send("#{current}_class")
end
end
end
end
end
View on GitHub (pinned to 06bf66a868)
When it happens
Trigger: Thrown at spree/api/lib/spree/api/dependencies.rb:220 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of spree/spree@06bf66a868 (2026-08-21).
Data as JSON: /api/errors/e4d2689259d79412.
Report an issue: GitHub.