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 JDutil over 9 years ago
Published by JDutil almost 10 years ago
Published by JDutil almost 10 years ago
Published by JDutil almost 10 years ago
Published by JDutil almost 10 years ago
Published by JDutil almost 10 years ago
Published by JDutil almost 10 years ago
Published by radar over 10 years ago
For the changes included in this release please refer to the Compare View.
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:
Spree::Store
model.Jordan Brough
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
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
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
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.
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
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
enable_mail_delivery
, mail_bcc
, intercept_email
,override_actionmailer_config
, mail_host
, mail_domain
, mail_port
,secure_connection_type
, mail_auth_type
, smtp_username
, andsmtp_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
lib/spree/importer/order.rb
Peter Berkenbosch
Chris Salzberg
Gonzalo Moreno
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
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
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
Washington Luiz
Peter Berkenbosch
payment_sources
method and customers will be able to reuse theirWashington Luiz
Jeff Dutil, John Hawthorn, and Washington Luiz
Published by radar over 10 years ago
For the changes included in this release please refer to the Compare View.
Published by radar over 10 years ago
For the changes included in this release please refer to the Compare View.
Published by radar over 10 years ago
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
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
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)
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
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
Published by radar over 10 years ago
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
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
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
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)
Published by radar almost 11 years ago
Washington Luiz
Ryan Bigg
Ryan Bigg
Ryan Bigg
Ryan Bigg
Ryan Bigg
Spree::Api::ApiHelpers.order_attributes.push :locked_at
Washington Luiz
Spree::Api::ApiHelpers.order_attributes.push :locked_at
Washington Luiz
Washington Luiz
Washington Luiz
Fixed styling issues with select2 boxes. #3854
Dominik Staskiewicz
Fixed issue where taxons could not be reordered. #3891 #3833 #3390
Lucas Dohmen
Country lists that include countries with accents in their names are now sorted correctly. #3911
Jim
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
Published by radar almost 11 years ago
For all commits, please see the GitHub compare view.
Washington Luiz
Washington Luiz
Ryan Bigg
Ryan Bigg
Ryan Bigg
Ryan Bigg
Dominik Staskiewicz
James Strong
Justin Kronz
track_inventory_units
setting and will not create backorders when that setting is set to false
. b66a98aWashington Luiz
John Hawthorn
Washington Luiz
Ryan Bigg
ship_total
is now returned on order results.Washington Luiz
Dan Pritchett
head
tag on pages. #3903Richard Hart
Published by radar about 11 years ago
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
Normal users can no longer read stock item, stock location or stock movements API endpoints.
Ryan Bigg
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
No changes.
Published by radar about 11 years ago
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
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
Dan Kubb
Washington Luiz
Washington Luiz
Alain Pilon
Ramon Roche
Object
in authorize_admin. #3622Ryan Bigg
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
Published by radar about 11 years ago
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.
Checkouts API's update action will now correctly process line item attributes (either line_items
or line_item_attributes
)
Taxon attributes from /api/taxons
are now returned within taxons
subkey. Before:
[{ name: 'Ruby' ... }]
Now:
{ taxons: [{ name: 'Ruby' }]}
* Ryan Bigg
Washington Luiz
Washington Luiz
Washington Luiz
John Dyer
John Dyer
Ryan Bigg and dan-ding
Ryan Bigg
Ryan Bigg
No changes.
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
order.promotion_credit_exists?
api. Now it receives an adjustmentWashington Luiz
Washington Luiz
Washington Luiz
propagate_all_variants
attribute to StockLocation. It controlsWashington Luiz
backorderable_default
attribute to StockLocation. It sets theWashington Luiz
t()
override in Spree::BaseHelper
. #3083Washington Luiz
Order#payment_required?
by not updating the totals every time. #3040 #3086Washington Luiz
Dana Jones
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
Washington Luiz
Jeff Dutil
Ryan Bigg
Published by radar about 11 years ago
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
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
)
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
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
Washington Luiz