An open source eCommerce platform giving you full control and customizability. Modular and API-first. Build any eCommerce solution that your business requires. Developed by @vendo-dev
OTHER License
Bot releases are visible (Hide)
Published by damianlegawiec over 7 years ago
Spree 3.2
is now compatible with Rails 5
compared to 3.1
which used to run on Rails 4.2
.
Thanks to that you can start using all of the new great features available in Rails 5
Cintributed by Spark Solutions & Vinsol & John Hawthorn
You can now tag Products additionally to just using Taxons. Tagging module uses acts-as-taggable-on
gem. You can easily fetch a list of Products associated to any given tag(s) which should be very helpful for creating new dynamic products listings.
Contributed by Vishal Zambre
Discount code applier was brought back to the Cart view in customer frontend. Now enhanced, more user friendly and using API V1.
Contributed by Vinsol
Spree now passes more meaningful information into Google Analytics when adding Products to Cart like:
Contributed by Spark Solutions
We've changed logo for default customer frontend and Admin Panel to differentiate
Spree Open Source project from Spree Commerce (company).
Contributed by Spark Solutions
We've removed a lot of unused, deprecated, outdated code and assets from the Admin Panel,
overall reducing the codebase by a lot. We've also fixed a huge amount of UX issues
like missing validation, bad navigation or lack of thereof and so on.
Contributed by Spark Solutions
We're changing how extensions dependencies work. Previously you had to match
extension branch to Spree branch. Starting from now master
branch of all
generated extensions will work with Spree >= 3.1
and < 4.0
. Thanks to
that we're dropping versioning of extensions same as Spree and using
standard Semantic versioning.
Contributed by Spark Solutions
Extension template used by the generator includes now Travis CI config with
settings to test extension against Spree 3.1, 3.2 & 3.3 (edge), PostgreSQL,
MySQL, Ruby 2.2 & 2.3 thanks to Appraisals gem
by thoughtbot.
Contributed by Spark Solutions
Please follow the
official Rails guide
to upgrade your store.
gem 'spree', '~> 3.2.0'
gem 'spree_auth_devise', '~> 3.2.0.beta'
gem 'spree_gateway', '~> 3.2.0.beta'
We're changing how extensions dependencies work. Previously you had to match
extension branch to Spree branch. Starting from now master
branch of all
spree-contrib
extensions should work with Spree >= 3.1
and < 4.0
. Please change
your extensions in Gemfile eg.:
from:
gem 'spree_braintree_vzero', github: 'spree-contrib/spree_braintree_vzero', branch: '3-1-stable'
to:
gem 'spree_braintree_vzero', github: 'spree-contrib/spree_braintree_vzero'
bundle update
rails spree:install:migrations
rails spree_auth:install:migrations
rails spree_gateway:install:migrations
rails db:migrate
As Rails 5 is now a dependency it requires at least Ruby 2.2.2 to run. Ruby 2.3
is also supported.
Also please review each of the noteworthy changes, and ensure your customizations
or extensions are not effected. If you are affected by a change, and have any
of your own tips please submit a PR to help the next person!
You can view the full changes using Github Compare.
Removed previously deprecated Spree CMD installer
Removed unused Spree::StoreController#apply_coupon_code
action
Removed Admin::SearchController
and pointed Admin Panel search actions to API endpoints
Removed previously deprecated Spree::ProductsHelper::line_item_description
Removed unused method Spree::Admin::BaseHelper#attribute_name_for
Removed unused Spree::Admin::InventorySettingsHelper
Removed unused Spree::Admin::TablesHelper
Removed unused Spree::Admin::ProductsHelper
Removed unused method Spree::Admin::NavigationHelper#collapse_sidebar_link
Removed unused method Spree::Admin::NavigationHelper#configurations_menu_item
Moved Spree::PromotionRulesHelper
to Spree::Admin::PromotionRulesHelper
Fixed permissions for Product associations management in Admin Panel
ActiveMerchant updated to ~> 1.59
Added created_at
to Variant model
Additional Admin Panel usability fixes
[Nimish Gupta](https://github.com/spree/spree/pull/7551, https://github.com/spree/spree/pull/7552. https://github.com/spree/spree/pull/7553)
Allow order to transit from resumed state to returned state
Changed state
translation key in Admin Panel to status
Fixed API pagination per_page
and current_page
values (now always returned as integer)
Display Spree version in Admin Panel
By default, it's displayed only for Admin users who can manage the current Store, but can be disabled altogether by changing preferences:
Spree::Config[:admin_show_version] = false
in config/initializers/spree.rb
New preferences for Admin Panel per_page
settings, default value for all of them is now
Kaminari.config.default_per_page
(by default 25
)
orders_per_page
renamed to admin_orders_per_page
properties_per_page
renamed to properties_per_page
promotions_per_page
renamed to admin_promotions_per_page
customer_returns_per_page
renamed to admin_customer_returns_per_page
admin_users_per_page
Removed unused Spree::Admin::UsersController#json_data
method
Added validation errors and other UX fixes for return process in Admin Panel
Added GitGub issue template
Added revert and deactivate methods to allow actions to take place when a
Promotion is removed from the Cart
Use Spree::Money
to display values in Sales Total report
Fixed filtering out Products by discontinue_on
in Admin Panel products index
Allow title separator to be customized
Additional fixes for Spree mounted in other then default /
mountpoint
Search for current Order in Frontend using guest token only
Deprecated Spree::Calculator::FreeShipping
Added promotion rule for shipping country
Published by damianlegawiec over 7 years ago
This release contains numerous bug fixes backported from master. We'd like to thank all the contributors who made this happen π
As an admin I cannot edit guest user addresses in admin/orders
(https://github.com/spree/spree/pull/7834)products/_form.html.erb
to prevent incorrectly parsed decimal values (https://github.com/spree/spree/pull/7714)Published by damianlegawiec over 7 years ago
For changes please refer https://github.com/spree/spree/blob/master/guides/content/release_notes/3_2_0.md
Published by damianlegawiec almost 8 years ago
For changes please refer https://github.com/spree/spree/blob/master/guides/content/release_notes/3_2_0.md
Published by damianlegawiec almost 8 years ago
For changes please refer https://github.com/spree/spree/blob/master/guides/content/release_notes/3_2_0.md
Published by damianlegawiec almost 8 years ago
This release contains numerous bug fixes backported from master. We'd like to thank all the contributors who made this happen π
Spree::Money
to display values in Sales Total Report (01a61b4e7a2baaf86b6970b6e459caf9a4129c7c)Published by damianlegawiec almost 8 years ago
This release contains numerous bug fixes backported from master. We'd like to thank all the contributors who made this happen π
~> 1.59
(https://github.com/spree/spree/commit/643552659b150b453fd65dc624a609a789a77cde)Published by damianlegawiec about 8 years ago
This release contains one bug and security fix backported from Spree 3.1
. We'd like to thank all the contributors who made this happen π
If you're running Spree 3.0
it is highly recommended to upgrade.
Published by damianlegawiec about 8 years ago
This release contains numerous bug and security fixes backported from master. We'd like to thank all the contributors who made this happen π
If you're running Spree 3.1
it is highly recommended to upgrade.
rails
dependency bumped to 4.2.7.1
for security reasons (https://github.com/spree/spree/pull/7529)restart_checkout_flow
clearing any checkout errors (https://github.com/spree/spree/pull/7454)Published by damianlegawiec over 8 years ago
Adds Store Credit payment method. Store credit can be granted in Admin Panel by store owners and is frozen after first usage. Store credit behaves like a Credit Card in that once an amount is authorized, it cannot be used elsewhere.
Store Credit can be used by customers on the checkout to pay for the order completely or be combined with other payment methods. In the near future we will work on official Spree Gift Cards extension which will use Store Credit as it's framework.
Contributed by Jeff Dutil, Peter Berkenbosch, Michael Lippold, Marc Leglise & Spark Solutions
While we've had the ability to version our API we weren't making use of it. Now that we're beginning to write a new API we've added a v1 namespace, and default routing /api
requests to use /api/v1
. The /api/v2
will be opt-in until we feel it is complete, and have deprecated /api/v1 (likely for Spree 4).
Conitrbuted by Ben A. Morgan
The European Union has come up with new legislation requiring digital products to be taxed using the customer's shipping address. In turn, this means that prices have to be shown depending on the current order's tax zone.
Your order will always use the price for the current tax zone. After the address step in the checkout process, the order will fetch the prices from the Variant again in order to make sure they're correct.
For more information, see the taxation guide.
Conitrbuted by Martin Meyerhoff
Soft deleting means that the records are left in the database but behave as if they are really deleted. Because associations from other objects (like line itmes to variant) won't normally see the deleted, core code is forced (unnaturally) to use scopes like .with_deleted
We are fixing this by adding new feilds 'Discontinue On' to products & variants (discontinue_on)
This fixes a design flaw in that in most stores these objects really should not be considered "deleted." The approach proposed solves the underlying flaw and all the related bugs caused by this flaw in the following ways:
Contributed by Jason Fleetwood-Boldt & Spark Solutions
Notification emails such as Order Confirmation email or Shipment Confirmation email are now displayed properly on any screen size (mobile, tablet, dektop). User experience of those emails were also improved with clickable products, store logo and so on.
Contributed by Spark Solutions
The returns index screens provide a listing of returns authorizations and customer returns. So you can browse them more easy instead of accessing them trough an order. You can easily search and filter both Return Authorizations and Customer Returns.
Conitrbuted by Rein Aris & VinSol
We've put a lot of work to make the Admin Panel more user-friendly, this includes among other things:
breadcrumbs
navigation #7319
form validations
#7306 #7314 #7315
Stock Movement
form moved to the new modern look & feel #7209
per_page
, pagination
& filtering
fixes for records listings #6971
Contributed by Spark Solutions & Vinsol
If your rabl templates reference others with extend you'll need to add the v1 namespace.
For example:
extends 'spree/api/zones/show'
Becomes:
extends 'spree/api/v1/zones/show'
If you were disabling the alert checks you'll now want to remove this preference as it's no longer used.
Also please review each of the noteworthy changes, and ensure your customizations or extensions are not effected. If you are affected by a change, and have any of your own tips please submit a PR to help the next person!
You can view the full changes using Github Compare.
API v1 namespace to begin transition to v2.
Remove all HABTM associations in favour of HMT associations.
This removes the Spree::ShippingMethod::HABTM
error message;
Allows users to extend the joins tables since they are now models;
And use the Apartment gem to their hearts content.
Removed Spree::Alert
Remove automatic payment creation with default credit card
Allow checkout errors to be displayed when updating customer details
Add default Refund Reason to seeds.rb
Creating a Refund will fail if there's no refund reason record in the database. That
reason has to have the name set to "Return processing" and the mutable flag set to false
.
See https://github.com/spree/spree/blob/master/core/app/models/spree/refund_reason.rb#L5-L10
Add a current_price_options
helper to guide price calculation in the shop
When you use dynamic prices (as detailed above), those prices will depend on something (like the tax zon of the current order, or whether your customer is a business customer). These option are set using the new current_price_options
helper. If your prices depend on something else, overwrite this method and add more key/value pairs to the Hash it returns.
Be careful though to also patch the following parts of Spree accordingly:
Spree::VatPriceCalculation#gross_amount
Spree::LineItem#update_price
Spree::Stock::Estimator#taxation_options_for
Subclass the DefaultTax
calculator
Added Spree.admin_path
option for a dynamic admin path; making automated 'script' attacks on the backend more difficult.
You can simply configure the option by assigning the path in your Spree initializer:
Spree.admin_path = "/my-secret-backend"
NOTE: Plugins are not converted and still use the default /admin path. But these plugins can be
changed easily by adding the path: Spree.admin_path
option in the routes.
Changed to Use Time.current instead of Time.now
Rails uses config.time_zone to set time zone for the application, but Time.now uses server time zone instead
of using set config.time_zone. So, in order to use application time zone we need to use Time.current/Time.zone.now.
Removed Order#has_available_shipment
, which was unnecessary since it always returned nil
(OOS) Out of Stock Product page: better handling of cart form user experience
Spree Command Installer won't lock you to a specific Spree patch version, we'll produce eg. gem 'spree', '~> 3.1.0'
for easier updating
Spree Auth Devise & Spree Gateway available from RubyGems
Added /forbidden
path
Changed before_filter
to before_action
Additional database indexes for better performance
Removed Order#shipping_method_id
column
Added OrderContents#remove_line_item
method
Ensure that Order#guest_token is unique
Added missing views for image, option_type, option_value API controllers
Renamed Order#update!
to update_with_updater!
as it conflicts with rails update!
method, also deprecate current update! method
Removed Calculator#register
method
Added HTML5 Product Microdata information
Moved user class extensions to a module
Added caching for default store and current tracker
Added destroy
functionality to refund_reason
and return_authorization_reason
Deprecated Spree::Validations::DbMaximumLengthValidator
, added DbMaximumLengthValidator
instead
Deprecated Spree CMD installer in favour of standard gem-like installation process
Published by damianlegawiec over 8 years ago
Published by damianlegawiec over 8 years ago
This release contains numerous fixes backported from master. We'd like to thank all the contributors who made this happen.
Published by damianlegawiec over 8 years ago
Published by damianlegawiec over 8 years ago
For changes please refer https://github.com/spree/spree/blob/master/guides/content/release_notes/3_1_0.md and https://github.com/spree/spree/pull/7324
Published by damianlegawiec over 8 years ago
For changes please refer https://github.com/spree/spree/blob/master/guides/content/release_notes/3_1_0.md
Published by damianlegawiec over 8 years ago
This release contains numerous fixes backported from master. We'd like to thank all the contributors who made this happen.
sprockets-rails
3.x https://github.com/spree/spree/commit/5546b0b19043d393f04b7eb6820978ced5bba1a5
SPREE_VERSION
removed https://github.com/spree/spree/commit/762a2e157a30c673a54c7c9b730251833c234e0b
rspec-rails
upgraded to 3.4.2 https://github.com/spree/spree/commit/f53a0046710588419879d01f6b808023a86430a0
state-machines
warning removed https://github.com/spree/spree/commit/7cca4c0e50f2521e44ae17771ddcfc5fe3a204bc
Published by damianlegawiec over 8 years ago
Security fix release - for changes refer https://github.com/spree/spree/pull/7107
Published by damianlegawiec over 8 years ago
This release fixes installer problems caused by 3.0.6
Published by damianlegawiec over 8 years ago
This release contains numerous fixes backported from master. We'd like to thank all the contributors who made this happen.
~> 3.0.6
Published by damianlegawiec over 8 years ago
Thanks to all contributors! Spree is back :)