← Back to all sparks
S

Spree Commerce

E-COMM
Velocity5.0

Open-source Rails-based ecommerce platform

Spree's centre of gravity has moved to the TypeScript SDK and a React admin.

headless-commercetypescript-sdkreact-dashboardgated-pricingdocker-deployopen-source-ecommerce
Current state
Spree's release feed is now dominated by @spree/sdk, which went stable in April and has shipped three minors since, each pinned to a matching backend version. The 5.6 candidates carry the server-side counterpart: a React Dashboard developer preview shipping as the spree_dashboard host gem alongside the existing Rails gems, and single-node Docker as the default deployment path. The Ruby monolith is still the backend, but the surfaces developers touch are increasingly npm packages.
Where it's heading
Two arcs run in parallel. The SDK is absorbing flows that used to require custom backend work — provider-dispatched login against a server-side strategy registry, double opt-in newsletter subscription and token-based unsubscribe, payment sessions across gateways. Meanwhile the API is being made safe for gated commerce: money fields are now typed string or null everywhere, because a prices_hidden channel returns null for every monetary amount including nested records. That is the SDK contract for the wholesale and gated-storefront work landing in 5.6.
Prediction
Expect 5.6.0 to go stable with the React dashboard still labelled developer preview, and the SDK to keep its lockstep versioning — each minor stating the exact backend release it requires.

Recent moves

  1. 22d ago

    Spree SDK 1.2.1: wishlist product data, sort labels

    A patch requiring Spree 5.6.1: wishlist items expose product_id and Product, custom-field sort options gain human-readable labels, and Invitation type fields return API shorthand instead of Ruby class names. Small consistency work, but it continues the pattern of the SDK being versioned against an exact backend release.

    View source ↗
  2. 23d ago

    Spree SDK 1.2.0: unsubscribe endpoints, nullable money fields

    The 5.6.0 companion SDK adds token-based newsletter unsubscribe endpoints that never reveal whether an email exists, and retypes every money field as string or null. The null typing is the client-side consequence of gated channels hiding prices from guests — the SDK is being reshaped to make 5.6's wholesale mode representable.

    View source ↗
  3. 1mo ago

    Spree 5.6.0.rc3: single-node Docker deploy by default

    Single-node Docker deployment becomes the default with root-context builds. It lowers the floor for self-hosting Spree, which matters for an open-source platform whose adoption starts with someone standing up a test store.

    View source ↗
  4. 1mo ago

    Spree 5.6.0.rc1: React Dashboard developer preview

    The first 5.6 candidate ships the React Dashboard developer preview as a spree_dashboard host gem alongside the existing gems, keeping the backend in lockstep with the @spree/dashboard npm packages. It is a preview, but it marks the admin UI moving out of Rails views and into the same JavaScript surface as the storefront SDK.

    View source ↗
  5. 2mo ago

    Spree SDK 1.1.0: provider login and newsletter opt-in

    Login accepts third-party identity-provider payloads as a discriminated union alongside email and password, pairing with a server-side authentication strategy registry, and newsletter subscription plus double opt-in verification arrive for headless storefronts. Both move logic that headless builders previously wrote themselves into the supported client.

    View source ↗
  6. 4mo ago

    Spree SDK 1.0.1: extensibility hooks and missing totals

    A patch adding SDK extensibility hooks, missing totals for DeliveryRate and Fulfillment, and expanded documentation and tutorial material. Cleanup days after the 1.0.0 stable cut.

    View source ↗