gems spree 6.0.2
v6.0.2

3 hours ago

Spree 6.0.2

This patch release fixes bugs found after 6.0.1 in promotions, payments and the 5.6 → 6.0 upgrade path. It also shows staff sessions in the dashboard, adds Vietnamese translations and makes dashboard installs much smaller.

npx spree upgrade

✨ New features

  • Staff status, activity and sessions. The staff settings page shows whether each member is active, locked or deactivated and when they were last active. A new "View details" sheet lists when they joined, who invited them and their signed-in sessions with browser, IP address and last use. #15040
  • Vietnamese translations for the admin dashboard and the seller panel. #15051 by @buithehien1991
  • Order pages for plugins. @spree/dashboard/orders exports the order page's building blocks (useOrderItemsEditor, the items table, the add-line-item dialog, totals and the order cards) so plugins can build their own order pages. #15067
  • Clearer promotion item-total rules. The comparison is a translated choice instead of an operator token, and legacy values are mapped to the matching choice. #15053 by @laaichiu

🐛 Bug fixes

  • Deleting a promotion that open carts had applied no longer breaks those carts. A new spree:remove_orphan_order_promotions task cleans up rows left by earlier deletes. #15056
  • Applying a coupon to a cart no longer fails when the promotion creates item adjustments and has a usage limit. #15045 by @MatthewKennedy
  • The Admin API orders list no longer returns a 500 for a non-text q[search] value. #15065
  • Void is no longer offered on captured payments the gateway cannot void, such as Stripe. Admin API payments now return can_void and can_capture. #15057
  • Payment webhook URLs are built with a scheme again. #15058
  • Stock reservation no longer crashes when a stock level is deleted during checkout. #15054
  • A buyer can save the same payment source in two stores, or after a payment method was deleted and recreated. #15020 by @KacperMekarski
  • Re-importing a products CSV no longer leaves orphaned option value rows that block later imports. A migration removes existing orphans. #15035
  • Claude Code can connect to the admin MCP server on a production store: http://localhost:<port> redirect URIs are accepted and the Claude preset registers Claude Code's callback. #15043, #15052
  • The admin MCP server's create, update and delete tools now work on installs from the published gems. #15038

⬆️ Upgrading from 5.6

  • Delivery method zones survive the 6.0 upgrade migration, including methods without a store. #15060
  • spree:migrate_shipping_to_delivery renames legacy shipping calculators to Spree::DeliveryMethod. #15059
  • Stores that already upgraded to 6.0.0 or 6.0.1 should re-run spree:migrate_shipping_to_delivery; it is idempotent and warns about delivery methods still without a zone.

🛠 Developer experience

  • spree_core now requires Alba 4. spree upgrade and bundle update spree move it along; apps with their own serializers should check the upgrade guide. #15028
  • spree_core no longer depends on safely_block, benchmark, rexml or highline. Add any of them to your Gemfile if your app used them through Spree. #15021, #15018
  • Dashboard installs are smaller: @spree/dashboard-ui no longer pulls in the shadcn CLI, the command palette runs on Base UI instead of cmdk and Radix, and release notes render GitHub's HTML instead of a markdown parser. The Command component drops the cmdk-only filter, loop, value and onValueChange props. #15026, #15029, #15032, #15022
  • pnpm install on a fresh clone of the monorepo builds the CLI and links the spree command. #15063
  • The Rails app template is up to date for Spree 6, and test apps raise unexpected errors instead of rendering 500 pages. #15018, #15017 by @bhtabor, #15019

📦 Package versions

Package Version
Spree gems 6.0.2
@spree/sdk, @spree/admin-sdk, @spree/seller-sdk, @spree/core 6.0.2
@spree/dashboard, @spree/dashboard-core, @spree/dashboard-ui, @spree/seller-dashboard 6.0.2
@spree/cli 3.6.2
create-spree-app 2.4.2 (unchanged)

Full Changelog: v6.0.1...v6.0.2

Don't miss a new spree release

NewReleases is sending notifications on new releases.