spree

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

Downloads
4
Stars
12.9K
Committers
1.1K

Bot releases are visible (Hide)

spree - Version 2.4.3

Published by JDutil over 9 years ago

spree - Version 2.1.12

Published by JDutil almost 10 years ago

spree - Version 2.2.9

Published by JDutil almost 10 years ago

spree - Version 2.1.11

Published by JDutil almost 10 years ago

spree - Version 2.2.8

Published by JDutil almost 10 years ago

spree - Version 2.3.6

Published by JDutil almost 10 years ago

spree - Version 2.4.2

Published by JDutil almost 10 years ago

spree - Version 2.2.3

Published by radar over 10 years ago

For the changes included in this release please refer to the Compare View.

spree - Version 2.3.0

Published by radar over 10 years ago

Spree 2.3.0 is the next major version of Spree. The main features of this release are:

  • Rails 4.1 support
  • Preferences are serialised on records, rather than fetched from another table
  • Better multi-store support by adding a Spree::Store model.
  • Users are tracked using a permanent cookie, allowing for orders made as a guest to be tracked with orders made while signed in.

Core

  • Drop first_name and last_name fields from spree_credit_cards. Add
    first_name & last_name methods for now to keep ActiveMerchant happy.

Jordan Brough

  • Replaced cookies.signed[:order_id] with cookies.signed[:guest_token].

Now we are using a signed cookie to store the guests unique token
in the browser. This allows customers who close their browser to
continue their shopping when they visit again. More importantly
it allows you as a store owner to uniquely identify your guests orders.
Since we set cookies.signed[:guest_token] whenever a vistor comes
you may also use this cookie token on other objects than just orders.
For instance if a guest user wants to favorite a product you can
assign the cookies.signed[:guest_token] value to a token field on your
favorites model. Which will then allow you to analyze the orders and
favorites this user has placed before which is useful for recommendations.

Jeff Dutil

  • Order#token is no longer fetched from another table.

Both Spree::Core::TokeResource and Spree::TokenizedPersmission are deprecated.
Order#token value is now persisted into spree_orders.guest_token. Main motivation
here is save a few extra queries when creating an order. The TokenResource
module was being of no use in spree core.

NOTE: Watch out for the possible expensive migration that come along with this

Washington L Braga Jr

  • Replaced session[:order_id] usage with cookies.signed[:order_id].

Now we are using a signed cookie to store the order id on a guests
browser client. This allows customers who close their browser to
continue their shopping when they visit again.
Fixes #4319

Jeff Dutil

  • Order#process_payments! no longer raises. Gateways must raise on failing authorizations.

Now it's a Gateway or PaymentMethod responsability to raise a custom
exception any time an authorization fails so that it can be rescued
during checkout and proper action taken.

  • Assign request headers env to Payment when creating it via checkout.

This might come in handy for some gateways, e.g. Adyen, actions that require
data such as user agent and accept header to create user profiles. Previously
we had no way to access the request headers from within a gateway class

  • More accurate and simpler Order#payment_state options.

Balance Due. Paid. Credit Owed. Failed. These are the only possible values
for order payment_state now. The previous pending state has been dropped
and order updater logic greatly improved as it now mostly consider total
values rather than doing last payment state checks.

Huge thanks to dan-ding. See https://github.com/spree/spree/issues/4605

  • Config settings related to mail have been removed. This includes
    enable_mail_delivery, mail_bcc, intercept_email,
    override_actionmailer_config, mail_host, mail_domain, mail_port,
    secure_connection_type, mail_auth_type, smtp_username, and
    smtp_password.

These should instead be configured on actionmailer directly.
The existing functionality can also be used by including the spree_mail_settings gem.

John Hawthorn

  • refactor the api to use a general importer in lib/spree/importer/order.rb

Peter Berkenbosch

  • Ensure transition to payment processing state happens outside transaction.

Chris Salzberg

Gonzalo Moreno

  • Preferences on models are now stored in a serialized preferences column instead of the Spree::Preferences table.

Spree::Preferences are still used for configuration (like Spree::Config).
For models with preferences (Calculator, PromotionRule, and
PaymentMethod in spree core) they are now serialized using
ActiveRecord::Base.serialize, storing the preferences as YAML in the
preferences column.

> c = Spree::Calculator.first
=> #<Spree::Calculator::Shipping::FlatRate id: 1, type: "Spree::Calculator::Shipping::FlatRate",
calculable_id: 1, calculable_type: "Spree::ShippingMethod", created_at: "2014-06-29 21:56:59",
updated_at: "2014-06-29 21:57:00", preferences: {:amount=>5, :currency=>"USD"}>
> c.preferred_amount
=> 5
> c.preferred_amount = 10
=> 10
> c
=> #<Spree::Calculator::Shipping::FlatRate id: 1, type: "Spree::Calculator::Shipping::FlatRate",
calculable_id: 1, calculable_type: "Spree::ShippingMethod", created_at: "2014-06-29 21:56:59",
updated_at: "2014-06-29 21:57:00", preferences: {:amount=>10, :currency=>"USD"}>

John Hawthorn

  • Add Spree::Store model for basic multi-store/multi-domain support

This provides a basic framework for multi-store/multi-domain, based on the
spree-multi-domain extension. Some existing configuration has been moved to
this model, so that they can have different values depending on the site
being served:

  • Spree::Config[:site_name] is moved to name
  • Spree::Config[:site_url] is moved to url
  • Spree::Config[:default_meta_description] is moved to meta_description
  • Spree::Config[:default_meta_keywords] is moved to meta_keywords
  • Spree::Config[:default_seo_title] is moved to seo_title

A migration will move existing configuration onto a new default store.

A new ControllerHelpers::Store concern provides a current_store helper
to fetch a helper based on the request's domain.

Jeff Dutil, Clarke Brunsdon, and John Hawthorn

API

  • Support existing credit card feature on checkout.

Checkouts_controller#update now uses the same Order::Checkout#update_from_params
from spree frontend which help us to remove a lot of duplicated logic. As a
result of that payment_source params must be sent now outsite the order key.

Before you'd send a request like this:

```ruby
api_put :update, :id => order.to_param, :order_token => order.guest_token,
  :order => {
    :payments_attributes => [{ :payment_method_id => @payment_method.id.to_s }],
    :payment_source => { @payment_method.id.to_s => { name: "Spree" } }
  }
```

Now it should look like this:

```ruby
api_put :update, :id => order.to_param, :order_token => order.guest_token,
  :order => {
    :payments_attributes => [{ :payment_method_id => @payment_method.id.to_s }]
  },
  :payment_source => {
    @payment_method.id.to_s => { name: "Spree" }
  }
```

Josh Hepworth and Washington

  • api/orders/show now display credit cards as source under payment

Washington Luiz

  • refactor the api to use a general importer in core gem.

Peter Berkenbosch

  • Shipment manifests viewed within the context of an order no longer return variant info. The line items for the order already contains this information. #4498
    • Ryan Bigg

Frontend

  • The api key that was previously placed in the dom for ajax requests has been
    removed since the api now uses the session to authenticate the user.
  • Mostly inspired by Jeff Squires extension spree_reuse_credit card, checkout
    now can remember user credit card info. Make sure your user model responds
    to a payment_sources method and customers will be able to reuse their
    credit card info.

Washington Luiz

  • Use settings from current_store instead of Spree::Config

Jeff Dutil, John Hawthorn, and Washington Luiz

Backend

  • The api key that was previously placed in the dom for ajax requests has been
    removed since the api now uses the session to authenticate the user.
spree - Version 2.1.5

Published by radar over 10 years ago

For the changes included in this release please refer to the Compare View.

spree - Version 2.0.9

Published by radar over 10 years ago

For the changes included in this release please refer to the Compare View.

spree - Version 2.1.4

Published by radar over 10 years ago

Auth

  • Upgraded to Devise 3.2. Should be a fairly smooth upgrade path, just remember to run the migrations:

    bundle exec rake railties:install:migrations
    bundle exec rake db:migrate

Core

  • Introduce Core::UserAddress module. Once included on the store user class the user address can be rememembered on checkout

    Washington Luiz / Peter Berkenbosch

  • Fixed issue where selecting a payment method that required confirmation would fail, then another payment method that did not require confirmation was then chosen, but confirmation step would still appear. #3970

    Washington Luiz

  • Bumped Kaminari version to 0.15.0

    Ryan Bigg

  • Shipments are now "touched" when Inventory Units are updated, and Orders are now "touched" when Payments are updated. Variants are now "touched" when Stock Items are updated. This "touching" will update the record's timestamp.

    Ryan Bigg

  • If a name field now exists on spree_variants, Spree will use that rather than the virtual attribute defined by delegates_belongs_to. #4012

    Washington Luiz

  • Moved Money.extract_cents and Money.parse to Spree::Money, as those methods are being deprecated in the Money gem, but Spree still uses them to a great extent.

    Ryan Bigg

  • Added ability to enable/disable inventory tracking control on the variant-level.

    Michael Tucker

  • Only in_stock inventory units are now restocked once an order is canceled.

    Washington Luiz

  • Backorders for incomplete orders are now no longer fufiled. #4056

    Sean O'Hara

  • Shipment numbers should be 11-characters, not 9. #4063

    Ryan Bigg

  • Only available shipping rates are now sorted in Spree::Stock::Estimator. #4067

    Ryan Bigg

  • Email is now only required once past the address step of the checkout. #4079

    Ryan Bigg

  • Ensure state_changes records are no longer created if the state changes. #4072

    Ryan Bigg

  • allow_ssl_in_* variables are no longer accessed during initialization. #4094

    John Hawthorn

  • Promotion rules are now loaded after initialization so that the user rule is loaded correctly.

    Peter Berkenbosch

  • Fixed issue where common shipping methods were not being returned when calculating packages. #4102

    Dan Kubb

  • Only eligible promotions now count towards credits_count on Spree::Promotion objects. #4120

    Ryan Bigg

  • Order#available_payment_methods will now return payment methods marked as 'Both' #4199

    Francisco Trindade & Ryan Bigg

API

  • Cached products/show template, which can lead to drastically (65x) faster loading times on product requests.

    Ryan Bigg

  • The parts that make up an order's response from /api/orders/:num are cached, which can lead to a 5x improvement of speed for this API endpoint. 00e92054caba9689c0f8ed913240668039b6e8de

    Ryan Bigg

  • Cached variant objects which can lead to slightly faster loading times (4x) for each variant.

    Ryan Bigg

  • Added a route to allow for /api/variants/:id requests

    Ryan Bigg

  • Taxons can now be gathered without their children with the ?without_children=1 query parameter. #4112

    Ryan Bigg

  • Orders on the /api/orders/mine endpoint can now be paginated and searched. #4099

    Richard Nuno

  • Order token can now be passed as a header: X-Spree-Order-Token. #4148

    Lucjan Suski (methyl)

Backend

  • Don't serve JS to non XHR requests. Prevents sentive data leaking. Thanks to
    Egor Homakov for pointing that out in Spree codebase.
    See http://homakov.blogspot.com.br/2013/05/do-not-use-rjs-like-techniques.html
    for details.

  • 'Only show completed orders' checkbox status will now persist when paging through orders.

    darbs + Ryan Bigg

  • Implemented a basic Risk Assessment feature in Spree Backend. Viewing any Order's edit page now shows the following, with a status indicator:

    Payments; link_to new log feature (ie. Number of multiple failed authorization requests)
    AVS response (ie. Billing address not matching credit card)
    CVV response (ie. code not matching)
    

    Ben Radler (aka lordnibbler)

  • Log entries are now displayed in the admin backend for payments.

    Ryan Bigg

  • Orders without shipments will now display their line items properly in the admin backend.

    Ryan Bigg

  • Fix issue where a controller that inherited from Spree::ResourceController may not be able to find its class.

    Ryan Bigg, tomkrus, Michael Tucker

  • Payment amounts are now displayed as "$50.00" Rather than "50.0" on the payments show screen.

    Ryan Bigg

  • Shipment states for items on the order screen can now be translated.

    Tiago Amaro

  • JavaScript destroy action flash messages are shown once again. #4032

    Ryan Bigg

  • The page title for admin screens can now be set with a content_for :title block.

    Ryan Bigg

  • Items' SKUs are now displayed on the shipment manifest list. #4045

    Peter Berkenbosch

  • Spaces inside shipment tracking numbers are now accounted for.

    Daniel Pritchett

Frontend

  • Checkout now may remember user address

    Washington Luiz / Peter Berkenbosch

  • Checkout now no longer redirects back to address state if confirmation step fails. #4117

    Ryan Bigg

  • Orders are only created now when there is a product added to the cart. #4136

    Washington Luiz

  • Added Deface Hook for Payment Method fields so that they can be defaced. #42222

    Dave Kiss

spree - Version 2.0.8

Published by radar over 10 years ago

Core

  • Bumped Rails to 3.2.16

    Ryan Bigg

  • Bumped ActiveMerchant to 1.42.3

    Ryan Bigg

  • Bumped aws-sdk to 1.31.3.

    Ryan Bigg

  • Bumped to ransack 1.1.0.

    Ryan Bigg

  • Bumped Kaminari to 0.15.0.

    Ryan Bigg

  • Add currency_sign_before_symbol setting, allows for either -$10.00 or $-10.00.

    Ryan Bigg

  • Switched from * 100 to money.cents in a couple of places in Payment::Processing, for proper handling of cents in currencies where cents are not 100ths of a dollar.

    Clarke Brunsdon

  • Spree.user_class now accepts a Symbol, as well as a String.

    hbakhtiyor

  • All adjustments are now updated during Order#update!. #3960

    John Hawthorn

  • Can now control whether or not variants have inventory tracking on a per-variant basis. #3974

    Michael Tucker

  • Cancelling an order now sets the payment_state to credit_owed in all cases. #3711

    Ryan Bigg

  • Only on hand inventory units are now restocked.

    Washington Luiz

  • Shipment numbers are now once again 12 characters long (H, followed by 11 numbers). #4063

    Ryan Bigg

  • Inferring a currency for Spree::Money.parse when none is given now works. #4077

    cheef

  • The User promotion rule should now no longer use the Spree.user_class class as its association. 6fd78ec

    Peter Berkenbosch

  • Only eligible promotions are now counted towards Promotion#credits. #4120

    Ryan Bigg

  • Order#available_payment_methods will now return payment methods marked as 'Both' #4199

    Francisco Trindade & Ryan Bigg

API

  • When line items are added after the delivery state, the shipments are now recreated. #3914

    Washington Luiz

  • State names are now persisted on addresses when using ensure_state_from_api, even if the state does not exist as a Spree::State. e976a3bbd603ea981499f440fa69f2e6d0d930d7

    Washington Luiz

  • Times are now returned with millisecond precision. (Note: this patch is not in the 2-1-stable or master branches because Rails 4 does this by default.)

    Washington Luiz

Backend

  • Don't serve JS to non XHR requests. Prevents sentive data leaking. Thanks to
    Egor Homakov for pointing that out in Spree codebase.
    See http://homakov.blogspot.com.br/2013/05/do-not-use-rjs-like-techniques.html
    for details.

  • 'Only show completed orders' checkbox status will now persist when paging through orders.

    darbs + Ryan Bigg

  • Persist search fields acrross requests for sales total report #3906

    Ryan Bigg

  • Flash messages for destructive actions in the admin backend are now visible once again. #4032

    Ryan Bigg

  • Spaces inside shipment tracking numbers are now accounted for.

    Daniel Pritchett

Frontend

  • Country lists where the country names contain acceents are now sorted correctly. #3911

    Jim

  • Flash messages no longer persist for gateway or coupon application errors. #4034

    Scott (sc0ttman)

spree - Version 2.1.3

Published by radar almost 11 years ago

Core

  • A channel column was added to the spree_orders table. Users can set
    it when importing orders from other stores. e.g. amazon

Washington Luiz

  • Highline version has been bumped to allow anything > 1.6.18 and < 1.7.x.

Ryan Bigg

  • Active Merchant version has been bumped to 1.42.0. This should fix Money gem dependency problems.

Ryan Bigg

  • aws-sdk version has been bumped to 1.27.0. This should fix Nokogiri gem dependency problems.

Ryan Bigg

  • Fixed issue where Product#set_property was causing an undefined method when spree_i18n was in use.

Ryan Bigg

  • Taxes can now be classed as "included" or "additional". Taxes which are "included" are those such as VAT/GST, where the price includes the tax already. "Additional" taxes are like Sales Tax in the US where the tax amount is added on after the listed price of the item. This change now means that included taxes are displayed on the checkout.

Ryan Bigg

API

  • ApiHelpers attributes can now be extended without overriding instance
    methods. By using the same approach in PermittedAttributes. e.g.
Spree::Api::ApiHelpers.order_attributes.push :locked_at

Washington Luiz

  • ApiHelpers attributes can now be extended without overriding instance
    methods. By using the same approach in PermittedAttributes. e.g.
Spree::Api::ApiHelpers.order_attributes.push :locked_at

Washington Luiz

  • Admin users can set the order channel when importing orders. By sing the
    channel attribute on Order model

Washington Luiz

  • An order's shipments are now destroyed (to be recreated) when an order is assigned a new line item through the API. #3914

Washington Luiz

Backend

  • Fixed styling issues with select2 boxes. #3854

    Dominik Staskiewicz

  • Fixed issue where taxons could not be reordered. #3891 #3833 #3390

    Lucas Dohmen

Frontend

  • Country lists that include countries with accents in their names are now sorted correctly. #3911

    Jim

Gateway

  • Added support for Stripe.js, which will now be used automatically when a Stripe payment method is selected. If a user has JavaScript disabled, then it will fall back to the old server-to-server communication technique.

    Ryan Bigg

spree - Version 2.0.7

Published by radar almost 11 years ago

For all commits, please see the GitHub compare view.

Core

  • A channel column was added to the spree_orders table. Users can set
    it when importing orders from other stores. e.g. amazon

Washington Luiz

  • Converting timestamps to json now give us miliseconds precision (by monkey
    patching ActiveSupport::TimeWithZone#as_json)

Washington Luiz

  • Deface version has been bumped to 1.0.0.

Ryan Bigg

  • Highline version has been bumped to allow anything > 1.6.18 and < 1.7.x.

Ryan Bigg

  • Active Merchant version has been bumped to 1.42.0. This should fix Money gem dependency problems.

Ryan Bigg

  • aws-sdk version has been bumped to 1.27.0. This should fix Nokogiri gem dependency problems.
  • Fixed issue where Product#set_property was causing an undefined method when spree_i18n was in use.

Ryan Bigg

  • Fixed styling issues of select2 boxes in Admin backend. #3854 #3863

Dominik Staskiewicz

  • Fixed issue where trying to process BogusSimple payments would fail. #3824

James Strong

  • Added an index to spree_users spree_api_key field. #3884

Justin Kronz

  • OrderInventory now acknowledges track_inventory_units setting and will not create backorders when that setting is set to false. b66a98a

Washington Luiz

  • All adjustments are now updated when an order is updated, rather than just shipping + promotion adjustments. #3960

John Hawthorn

API

  • Admin users can set the order channel when importing orders. By sing the
    channel attribute on Order model

Washington Luiz

  • Added missing per_page node to products/index

Ryan Bigg

  • ship_total is now returned on order results.

Washington Luiz

Backend

  • Fixed taxon reordering issues. #3390 #3956

Dan Pritchett

Frontend

  • Added Kaminari call to add pagination data to the head tag on pages. #3903

Richard Hart

spree - Version 2.0.6

Published by radar about 11 years ago

Core

  • Fix admin menu not icons not being centered. #3725

    Ramon Roche

  • Payment identifiers now do not change on each save. #3733

    Ryan Bigg

  • Added migrations to make the migration from Spree 1.3.x to 2.0.x a little easier. #3605 #3660

    Stefan Wrobel

  • Product#stock_items now returns stock items for the master variant as well. #3737

    Ryan Bigg

  • Add inventory_units association back to the Order model. #3744

    Ryan Bigg

  • Bump Activemerchant to 1.39.2.

    Ryan Bigg

  • Fix issue where cart.png was not being dealt with correctly during precompilation.

    Ryan Bigg

  • StockItem#process_backorders now processes backorders when the stock is adjusted postively. #3755

    Ryan Bigg

  • Fixed issue where shipping rates would lose the current selected rate when refreshing rates. #3766

    dan-ding

  • Fixed issue where force_non_ssl_redirect redirect location was like /orders/populate?controller=home., rather than just /. #3799

    John Hawthorn

  • Fixed sample data loading issues with shipping methods. #3776

    Washington Luiz

  • Removed unused credit card fields, start_month, start_year and issue_number. #3802

    John Hawthorn

  • Fixed issue where a product could be linked to a taxon more than once. #3494

    Ryan Bigg

  • Included jquery.validate locale messages when the locale is not "en" #3794

    Ryan Bigg

  • Fixed issue where stock items could not be created if a deleted stock item for that variant existed already. #3834

    Washington Luiz

  • Removed force_ssl_redirect, as Rails 3.2.14 and Rails 4 both have this available.

    Washington Luiz

  • Fixed redirect loop with redirect_https_to_http. #3813

    John Hawthorn

  • Use sRGB colorspace in Image model. Using the RGB colorspace on more recent versions of ImageMagick cause the image to be uploaded darker. Caveat: Using sRGB on older versions of ImageMagick may also cause this bug. If you're seeing images being uploaded darker after this change, please upgrade your ImageMagick version.

    Ryan Bigg

  • Fixed issue where not including frontend component may have caused the preference_rescue.rb that a migration depends on to go missing. #3860

API

  • Normal users can no longer read stock item, stock location or stock movements API endpoints.

    Ryan Bigg

Backend

  • Use default datepicker format is used if none is specified in the locale file. #3602

    Peter Goldstein

  • Added the ability to change a payment's amount through the backend. #3765

    Dan Kubb

  • Fixed issue where promotion rules select box was not being reloaded correctly. #3572 #3816

    Washington Luiz

  • Prices are now displayed in the local format on products/new.

    laurens

  • Change authorize_admin to use the controller's name, rather than Object when model_class does not return anything. #3622

    Ryan Bigg

  • Fixed issue where cancelling a line item delete didn't actually cancel it. #3862

    Ryan Bigg

  • Fixed slow loading of "Add Stock Movement" screen if there were a lot of variants in the system.

    Ryan Bigg

Frontend

No changes.

spree - Version 2.1.2

Published by radar about 11 years ago

Core

  • Payment identifiers are no longer recalculated when they are saved. #3733

    Ryan Bigg

  • Product#stock_items now returns stock items for the master variant as well. #3737

    Ryan Bigg

  • Added a default format for datepicker_field_value, in case one is not available in locale file. #3602

    Peter Goldstein

  • Bumped activemerchant to 1.39.2. #3745

    Piotr Usewicz

  • Sandbox now references correct branch for spree_auth_devise when it is generated. #3770

    Wes Ketchum

  • Better accessibility support (for more information, see #3414.)

    Cameron Cundiff and Trevor John

  • StockItem#process_backorders will now process stock when it is adjusted postively (i.e. -3 => -2).

    Ryan Bigg

  • Fixed shipping rates losing current rate when refreshing rates. #3766

    dan-ding

  • Allow any version of the Money gem above 5.1.1. Related to #2737.

    Ryan Bigg

  • Fixed issue where a stock item for a variant could not be created if one of the same variant had already been created. #3834

    Washington Luiz

  • Added custom routing code to work around issues described in rails/rails#12367.

    Ryan Bigg

  • Added Spree::Config[:send_core_emails] preference setting.

This setting allows developers to use standard rails mail configuration (in config
files) by setting :override_actionmailer_config to false without sending
spree core emails (e.g. order confirmation). This is useful e.g. in the
case where devs have opted to use an external mail API such as Mandrill
for store-related emails but still want to use ActionMailer in other
parts of their app. #3812

*Sean O'Hara*
  • Fixed issue where preferences_rescue was living in Frontend, but was necessary in Core. If you had migrations from older versions of Spree, they may have depended on this file. If you did not include the Frontend component, then this file would be unavailable. #3860

    ayraju

API

  • States and countries endpoints now do not require authentication, even if it is forced with the requires_authentication setting. This is so the frontend's checkout address page can still work.

    Ryan Bigg

  • You can now assign a location to a shipment when creating it through the orders API. f3ef2e1d46bc972442acbbcaae928e6ef2dc0eb5

    Washington Luiz

  • Stock Items, Stock Movements and Stock Locations are now invisible to non-admin users.

    Ryan Bigg

  • Fixed issue where X-Spree-Token header was being ignored. #3798

    Washington Luiz

Backend

  • Added ability to edit payment amount on the payments listing. #3765

Dan Kubb

  • Added ability to create and delete countries via the backend.

Washington Luiz

  • Fixed issue where rules select box was not being reloaded after a rule was selected.

Washington Luiz

  • Fixed issue where API calls to stock locations endpoint were not passing through a token. #3828

Alain Pilon

  • Fixed admin top menu spacing. #3839

Ramon Roche

  • The name of the controller is now used rather than Object in authorize_admin. #3622

Ryan Bigg

Frontend

  • References to cart.png will now reference the precompiled asset.

    Dan Kubb

  • Special instructions are no longer ignored when specified in the checkout.

    Dan Kubb

  • Use display_price more consistently. #3822

  • When a payment fails, it will now include the message from the gateway as a validation error. This potentially provides additional information to the user, which may guide them to correcting the data they're inputting, allowing the payment to go through successfully. #3851

    Ryan Bigg

spree - Version 2.1.0

Published by radar about 11 years ago

API

  • The Products API endpoint now returns an additional key called shipping_category_id, and also requires shipping_category_id on create.

    Jeff Dutil

  • The Products API endpoint now returns an additional key called display_price, which is the proper rendering of the price of a product.

    Ryan Bigg

  • The Images API's attachment_url key has been removed in favour of keys that reflect the current image styles available in the application, such as mini_url and product_url. Use these now to references images.

    Ryan Bigg

  • Fix issue where calling OrdersController#update with line item parameters would always create new line items, rather than updating existing ones.

    Ryan Bigg

  • The Orders API endpoint now returns an additional key called display_item_total, which is the proper rendering of the total line item price of an order.

    Ryan Bigg

  • Include a per_page key in Products API end response so that libraries like jQuery.simplePagination can use this to display a pagination element on the page.

    Ryan Bigg

  • Line item responses now contain single_display_amount and display_amount for "pretty" versions of the single and total amount for a line item, as well as a total node which is an "ugly" version of the total amount of a line item.

    Ryan Bigg

  • /api/orders endpoints now accept a ?order_token parameter which should be the order's token. This can be used to authorize actions on an order without having to pass in an API key.

    Ryan Bigg

  • Requests to POST /api/line_items will now update existing line items. For example if you have a line item with a variant ID=2 and quantity=10 and you attempt to create a new line item for the same variant with a quantity of 5, the existing line item's quantity will be updated to 15. Previously, a new line item would erroneously be created.

    Ryan Bigg

  • /api/countries now will a 304 response if no country has been changed since the last request.

    Ryan Bigg

  • The Shipments API no longer returns inventory units. Instead, it will return manifest objects. This is necessary due to the split shipments changes brought in by Spree 2.

    Ryan Bigg

  • Checkouts API's update action will now correctly process line item attributes (either line_items or line_item_attributes)

    Ryan Bigg

  • The structure of shipments data in the API has changed. Shipments can now have many shipping methods, shipping rates (which in turn have many zones and shipping categories), as well as a new key called "manifest" which returns the list of items contained within just this shipment for the order.

    Ryan Bigg

  • Address responses now contain a full_name attribute.

    Ryan Bigg

  • Shipments responses now contain a selected_shipping_rate key, so that you don't have to sort through the list of shipping_rates to get the selected one.

    Ryan Bigg

  • Checkouts API now correctly processes incoming payment data during the payment step.

    Ryan Bigg

  • Fix issue where set_current_order before filter would be called when CheckoutsController actions were run, causing the order object to be deleted. #3306

    Ryan Bigg

  • An order can no longer transition past the "cart" state without first having a line item. #3312

    Ryan Bigg

  • Attributes other than "quantity" and "variant_id" will be added to a line item when creating along with an order. #3404

    Alex Marles & Ryan Bigg

  • Requests to POST /api/line_items will now update existing line items. For example if you have a line item with a variant ID=2 and quantity=10 and you attempt to create a new line item for the same variant with a quantity of 5, the existing line item's quantity will be updated to 15. Previously, a new line item would erroneously be created.

    • Ryan Bigg
  • Checkouts API's update action will now correctly process line item attributes (either line_items or line_item_attributes)

    • Ryan Bigg
  • Taxon attributes from /api/taxons are now returned within taxons subkey. Before:

[{ name: 'Ruby' ... }]

Now:

{ taxons: [{ name: 'Ruby' }]}
* Ryan Bigg

Backend

  • layouts/admin.html.erb was broken into partials for each section. e.g.
    header, menu, submenu, sidebar. Extensions should update their deface
    overrides accordingly

Washington Luiz

  • No longer requires all jquery ui modules. Extensions should include the
    ones they need on their own manifest file. #3237

Washington Luiz

  • Symbolize attachment style keys on ImageSettingController otherwise users
    would get undefined method `processors' for "48x48>":String> since
    paperclip can't handle key strings. #3069 #3080

Washington Luiz

  • Split line items across shipments. Use this to move line items between
    existing shipments or to create a new shipment on an order from existing
    line items.

John Dyer

  • Fixed display of "Total" price for a line item on a shipment. #3135

John Dyer

  • Fixed issue where selecting an existing user in the customer details step would not associate them with an order.

Ryan Bigg and dan-ding

  • We now use jQuery.payment (from Stripe) to provide slightly better formatting on credit card number, expiry and CVV fields.

Ryan Bigg

  • "Infinite scrolling" now implemented for products taxon search to prevent loading all taxons at once. Only 50 taxons are loaded at a time now.

Ryan Bigg

Cmd

No changes.

Core

  • Product requires shipping_category_id on create #3188.

    Jeff Dutil

  • No longer set ActiveRecord::Base.include_root_in_json = true during install.
    Originally set to false back in 2011 according to convention. After
    https://groups.google.com/forum/#!topic/spree-user/D9dZQayC4z, it
    was changed. Applications should now decide their own setting for this value.

Weston Platter

  • Change order.promotion_credit_exists? api. Now it receives an adjustment
    originator (PromotionAction instance) instead of a promotion. Allowing
    multiple adjustments being created for the same promotion as the current
    PromotionAction / Promotion api suggests #3262
  • Remove after_save callback for stock items backorders processing and
    fixes count on hand updates when there are backordered units #3066

Washington Luiz

  • InventoryUnit#backordered_for_stock_item no longer returns readonly objects
    neither return an ActiveRecored::Association. It returns only an array of
    writable backordered units for a given stock item #3066

Washington Luiz

  • Scope shipping rates as per shipping method display_on #3119
    e.g. Shipping methods set to back_end only should not be displayed on frontend too

Washington Luiz

  • Add propagate_all_variants attribute to StockLocation. It controls
    whether a stock items should be created fot the stock location every time
    a variant or a stock location is created

Washington Luiz

  • Add backorderable_default attribute to StockLocation. It sets the
    backorderable attribute of each new stock item

Washington Luiz

  • Removed t() override in Spree::BaseHelper. #3083

Washington Luiz

  • Improve performance of Order#payment_required? by not updating the totals every time. #3040 #3086

Washington Luiz

  • Fixed the FlexiRate Calculator for cases when max_items is set. #3159

Dana Jones

  • Translation for admin tabs are now located under the spree.admin.tab key. Previously, they were on the top-level, which lead to conflicts when users wanted to override view translations, like this:
en:
  spree:
    orders:
      show:
        thank_you: "Thanks, buddy!"

See #3133 for more information.

* Ryan Bigg*
  • CreditCard model now validates that the card is not expired.

    Ryan Bigg

  • Payment model will now no longer provide a vague error message for when the source is invalid. Instead, it will provide error messages like "Credit Card Number can't be blank"

    Ryan Bigg

  • Calling #destroy on any PaymentMethod, Product, TaxCategory, TaxRate or Variant object will now no longer delete that object. Instead, the deleted_at attribute on that object will be set to the current time. Attempting to find that object again using something such as Spree::Product.find(1) will fail because there is now a default scope to only find non-deleted records on these models. To remove this scope, use Spree::Product.unscoped.find(1). #3321

    Ryan Bigg

  • Removed variants_including_master_and_deleted, in favour of using the Paranoia gem. This scope would now be achieved using variants_including_master.with_deleted.

    Ryan Bigg

  • You can now find the total amount on hand of a variant by calling Variant#total_on_hand. #3427

    Ruben Ascencio

  • Tax categories are now stored on line items. This should make tax calculations slightly faster. #3481

    Ryan Bigg

  • update_attribute(s)_without_callbacks have gone away, in favour of update_column(s)

    Ryan Bigg

Frontend

  • Fix issue where "Use Billing Address" checkbox was unticked when certain
    browsers autocompleted the checkout form. #3068 #3085

Washington Luiz

  • Switch to new Google Analytics analytics.js SDK from ga.js SDK for custom dimensions & metrics.

Jeff Dutil

  • We now use jQuery.payment (from Stripe) to provide slightly better formatting on credit card number, expiry and CVV fields.

Ryan Bigg

spree - Version 2.0.4

Published by radar about 11 years ago

Core

  • Sandbox generator and installer now use the correct 2-0-stable branch of spree_auth_devise
    3179a7ac85d4cfcb76622509fc739a0e17668d5a & 759fa3475f5230da3794aed86503913978dde22d.

  • Product requires shipping_category_id on create #3188.

    Jeff Dutil

  • No longer set ActiveRecord::Base.include_root_in_json = true during install.
    Originally set to false back in 2011 according to convention. After
    https://groups.google.com/forum/#!topic/spree-user/D9dZQayC4z, it
    was changed. Applications should now decide their own setting for this value.

John Dyer and Sean Schofield

  • Revert bump of Rubygems required version which made Spree 2.0.0 unusable on Heroku. 77103dc4f4c93c195ae20f47944f68ef31a7bbe9

    @Actven

  • Improve performance of Order#payment_required? by not updating the totals every time. #3040 #3086

    Washington Luiz

  • Remove after_save callback for stock items backorders processing and
    fixes count on hand updates when there are backordered units #3066

    Washington Luiz

  • InventoryUnit#backordered_for_stock_item no longer returns readonly objects
    neither return an ActiveRecored::Association. It returns only an array of
    writable backordered units for a given stock item #3066

    Washington Luiz

  • Scope shipping rates as per shipping method display_on #3119
    e.g. Shipping methods set to back_end only should not be displayed on frontend too

    Washington Luiz

  • Translation for admin tabs are now located under the spree.admin.tab key. Previously, they were on the top-level, which lead to conflicts when users wanted to override view translations, like this:

en:
  spree:
    orders:
      show:
        thank_you: "Thanks, buddy!"

See #3133 for more information.

  • Change order.promotion_credit_exists? api. Now it receives an adjustment
    originator (PromotionAction instance) instead of a promotion. Allowing
    multiple adjustments being created for the same promotion as the current
    PromotionAction / Promotion api suggests #3262

  • Washington Luiz *

  • CreditCard model now validates that the card is not expired.

    Ryan Bigg

  • Payment model will now no longer provide a vague error message for when the source is invalid. Instead, it will provide error messages like "Credit Card Number can't be blank"

    Ryan Bigg

  • Calling #destroy on any PaymentMethod, Product, TaxCategory, TaxRate or Variant object will now no longer delete that object. Instead, the deleted_at attribute on that object will be set to the current time. Attempting to find that object again using something such as Spree::Product.find(1) will fail because there is now a default scope to only find non-deleted records on these models. To remove this scope, use Spree::Product.unscoped.find(1). #3321

    Ryan Bigg

  • Removed variants_including_master_and_deleted, in favour of using the Paranoia gem. This scope would now be achieved using variants_including_master.with_deleted.

    Ryan Bigg

  • You can now find the total amount on hand of a variant by calling Variant#total_on_hand. #3427

    Ruben Ascencio

  • Tax categories are now stored on line items. This should make tax calculations slightly faster. #3481

    Ryan Bigg

API

  • PUT requests to Checkouts API endpoints now require authorization to alter an order.

    Ryan Bigg

  • The Products API endpoint now returns an additional key called shipping_category_id, and also requires shipping_category_id on create.

    Jeff Dutil

  • Checkouts API's update action will now correctly process line item attributes (either line_items or line_item_attributes)

    • Ryan Bigg*
  • Checkouts API now correctly processes incoming payment data during the payment step.

    Ryan Bigg

  • Fix issue where set_current_order before filter would be called when CheckoutsController actions were run, causing the order object to be deleted. #3306

    Ryan Bigg

  • An order can no longer transition past the "cart" state without first having a line item. #3312

    Ryan Bigg

  • Attributes other than "quantity" and "variant_id" will be added to a line item when creating along with an order. #3404

    Alex Marles & Ryan Bigg

Backend

  • Symbolize attachment style keys on ImageSettingController otherwise users
    would get undefined method `processors' for "48x48>":String> since
    paperclip can't handle key strings.

Washington Luiz

  • Fix bug where taxonomy URL was incorrect when Spree was mounted at a non-root path 50ac165c13f6d9123db704b72e9feae86971af70.

    Washington Luiz

  • Fixed issue where selecting an existing user in the customer details step would not associate them with an order.

    Ryan Bigg and dan-ding

Frontend

  • Fix issue where "Use Billing Address" checkbox was unticked when certain
    browsers autocompleted the checkout form. #3068 #3085

Washington Luiz

Package Rankings
Top 0.96% on Rubygems.org
Top 3.46% on Proxy.golang.org
Top 17.05% on Npmjs.org