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.