spree/spree · warning
Spree.queues.taxons is deprecated and will be removed in Spr
Error message
Spree.queues.taxons is deprecated and will be removed in Spree 6.1. Use Spree.queues.categories instead.
What it means
Spree 6.0 renamed Taxon to Category, and the Solid Queue config registry Spree.queues renamed its :taxons queue to :categories. The old reader survives for one release as a singleton method on the queues object: it warns, then returns the categories queue. It is removed in Spree 6.1.
Source
Thrown at spree/core/lib/spree/core.rb:130
reports: :default,
variants: :default,
categories: :default,
collections: :default,
stock_location_stock_levels: :default,
coupon_codes: :default,
themes: :default,
addresses: :default,
gift_cards: :default,
webhooks: :default,
payment_webhooks: :default,
api_keys: :default,
search: :default,
stock_reservations: :default,
tax_identifiers: :default
).tap do |queues|
# @deprecated The taxons queue was renamed to categories in 6.0; removed in 6.1.
queues.define_singleton_method(:taxons) do
Spree::Deprecation.warn('Spree.queues.taxons is deprecated and will be removed in Spree 6.1. Use Spree.queues.categories instead.') if defined?(Spree::Deprecation)
categories
end
# @deprecated Renamed with the stock level rename in 6.0; removed in 6.1.
#
# The writer matters as much as the reader here: this is an OpenStruct, so
# an existing initializer assigning the old name would quietly define a
# field nobody reads and its jobs would fall back to the default queue.
queues.define_singleton_method(:stock_location_stock_items) do
Spree::Deprecation.warn('Spree.queues.stock_location_stock_items is deprecated and will be removed in Spree 6.1. Use Spree.queues.stock_location_stock_levels instead.') if defined?(Spree::Deprecation)
stock_location_stock_levels
end
queues.define_singleton_method(:stock_location_stock_items=) do |value|
Spree::Deprecation.warn('Spree.queues.stock_location_stock_items= is deprecated and will be removed in Spree 6.1. Use Spree.queues.stock_location_stock_levels= instead.') if defined?(Spree::Deprecation)
self.stock_location_stock_levels = value
end
endView on GitHub (pinned to 06bf66a868)
Solutions
- Use Spree.queues.categories for both reading and writing
- Sweep: grep -rn 'queues.taxons' config lib app
- Align Solid Queue config (config/queue.rb, queue namespaces) with the new queue name so jobs land in the intended queue
- Run the suite with deprecations raised so stale reads surface as failures
Example fix
# before Spree.queues.taxons = 'spree_catalog' # after Spree.queues.categories = 'spree_catalog'
Defensive patterns
Strategy: validation
Validate before calling
grep -rn 'queues\.taxons' config lib app && echo 'PORT NEEDED' || echo 'clean'
Prevention
- After renaming a queue, verify jobs actually land on it in Solid Queue's dashboard before shipping
- Keep all Spree.queues assignments in one initializer block for a single-port audit
- Raise deprecations in test
When it happens
Trigger: Reading Spree.queues.taxons - typically in an initializer configuring queue names (Spree.queues.taxons = 'custom') or in code that derives Solid Queue queue names for category-related jobs. The read warns every time.
Common situations: Host apps with 5.x-era queue configuration initializers; ops tooling or dashboards that enumerate Spree.queues; extensions registering category jobs under the old queue name.
Related errors
- Spree::Taxons::RemoveProducts is deprecated and will be remo
- Spree.queues.stock_location_stock_items is deprecated and wi
- Spree.queues.stock_location_stock_items= is deprecated and w
- Spree::Category#classifications is deprecated and will be re
- Spree::Classification is deprecated and will be removed in S
AI-assisted analysis of spree/spree@06bf66a868 (2026-08-21).
Data as JSON: /api/errors/cbcfb2b346198da3.
Report an issue: GitHub.