Skip to content

Releases: spree/spree

Version 4.7.1

09 Jan 13:14
bcbf8f2
Compare
Choose a tag to compare

What's Changed

Full Changelog: v4.7.0...v4.7.1

Version 4.6.4

09 Jan 13:10
8201bb7
Compare
Choose a tag to compare

What's Changed

Full Changelog: v4.6.3...v4.6.4

Version 4.7.0

09 Nov 18:33
aae3f79
Compare
Choose a tag to compare

Spree 4.7 is a technology upgrade, that's focused on bringing Rails 7.1 support and various internal improvements. As a step in moving away from our dependency on deface, Spree Backend now makes it possible to customize its main elements without using deface.

Major Changes

Spree Core

Spree Backend

  • Added an interface for customizing main menu, tabs and action buttons without using deface by @tomdonarski
  • Added compatibility with Rails 7.1 by @rafalcymerys
  • Removed unnecessary references to Spree Globalize by @rafalcymerys
  • Removed unnecessary Rails 5 version checks by @rafalcymerys
  • Upgrade JS dependencies by @rafalcymerys

Spree Frontend (Spree Rails Frontend)

New Contributors

Version 4.6.3

09 Nov 13:57
404bacd
Compare
Choose a tag to compare

What's Changed

Full Changelog: v4.6.2...v4.6.3

Version 4.6.2

04 Sep 18:57
bc718d7
Compare
Choose a tag to compare

What's Changed

Full Changelog: v4.6.1...v4.6.2

Version 4.6.1

24 Jul 14:33
ef0a514
Compare
Choose a tag to compare

What's Changed

  • Set fallback locale for Mobility based on current store for [Spree 4.6] by @rafalcymerys in #11908

Full Changelog: v4.6.0...v4.6.1

Version 4.6.0

31 May 10:18
af13aaa
Compare
Choose a tag to compare

Spree 4 6

Major changes

  • Built-in support for content translations, which allows Spree-based stores to have product, taxon, and store information in multiple languages. We’re making translations a first-class citizen, so that you don’t have to worry about extensions like spree-globalize not being compatible with other spree extensions. The translations are available via both Spree API and Spree Rails Frontend. On the database level, they’re compatible with spree_globalize, so that you don’t have to worry about compatibility when upgrading old applications.
  • Added Data Feeds, that allow you to create RSS feeds for Google Merchant Center and Meta Ad Manager. It’s also possible to create custom types of feeds when needed.

Spree Core

  • Spree::User has now an optional selected_locale field, that can be used to store their locale preferences
  • The following entities are now translatable:
    • Spree::Product - name, description, slug, meta_title, meta_description, meta_keywords
    • Spree::Taxon - name, description, permalink
    • Spree::Taxonomy – name
    • Spree::Property – name, presentation, filter_param
    • Spree::ProductProperty – value, filter_param
    • Spree::OptionType – name, presentation
    • Spree::OptionValue – name, presentation
    • Spree::Store – name, description, meta_description, meta_keywords, seo_title, facebook, twitter, Instagram, customer_support_email, contact_phone, new_order_notification_email
  • Each of the entities above gets a separate translations table that can store these fields in multiple locales. The fields in the original table will be set to NULL. See the following blog post for more details on how this works: https://dejimata.com/2017/3/3/translating-with-mobility#strategy-2
  • Spree 4.6 comes with migrations that will help you move translatable data to the new columns
  • New class Spree::TranslationMigrations has been added to make it easy to create migrations copying data from the model table to a related translations table. This comes in handy when making your custom models translatable.
  • New Concern: Spree::TranslatableResourceScopes, that adds the join_translation_table(translatable_class, join_on_table_alias = nil)method. Helpful when creating complex database queries that involve translatable fields.
  • Webhook calls now contain a signature, so that external systems can verify they’re coming from a trusted Spree instance.
  • New field in Spree::Webhook::Subscriber : secret_key, that’s used to generate a signature for the webhook calls

Spree API

  • You can now pull translated models via the Storefront and Platform APIs – just add a ?locale=XX parameter when making a GET call to the API
  • You can now update translations for translatable models via the Platform API – just ad a ?locale=XX when making a PUT call to the API
  • /api/v2/storefront/products and /api/v2/storefront/taxons come with a new field: localized_slugs. This field contains a list of slugs for given entity, in all the locales supported by the store. This allows a headless frontend to determine the redirect URL when switching locale
  • New endpoint - /api/v2/data_feeds/google/:unique_url – for fetching the RSS feed for Google Merchant Center, Meta Ads Manager etc.
  • New endpoint - /api/v2/platform/data_feeds – for configuring a data feed via the platform API

Spree Backend

  • Backend now comes with UI for managing translations
  • New section “Data Feeds”, allows you to configure RSS feeds for your app
  • Webhook Subscribers now allow you to configure a secret key for signing requests

Spree Frontend (Rails Frontend)

  • The frontend now persists users’ locale for future sessions and asynchronous communication
  • The frontend supports the new translatable attributes in entities

Spree JS SDK

  • The SDKs are now updated to include new API endpoints
  • Resolved issues with type definitions not being available in some cases

Vue Storefront

  • Upgraded @vuestorefront/core dependency to the latest available version (2.5.7)
  • Upgraded @storefrontui/vue dependency to the latest available version
  • Added support for pulling translated data from Spree API
  • Added support for redirecting to a translated slug upon changing locale

Version 4.5.3

14 May 12:54
190543b
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v4.5.2...v4.5.3

Version 4.5.2

21 Apr 07:43
Compare
Choose a tag to compare

What's Changed

  • Fix metadata namespace usage in Spree 4.5 by @lkol in #11878

Full Changelog: v4.5.1...v4.5.2

Version 4.5.1

18 Jan 12:45
Compare
Choose a tag to compare

Add compatibility for Ruby 3.1 and 3.2