Added PC_shop_site::getDeliveryOptions() and PC_shop_site::getPaymentOptions() methods.
Added PC_shop_products_site::applyAttributes() method.
Added behaviour to the cart handling JavaScript code to automatically add or remove "disabled" class on an element having "next_step_btn" id depending on whether there are any errors or not. It also tries to automatically write errors to "order_errors" element.
Added $order_data and $coupon_data variables that are available within cart widget template scope.
Added an optional "itemIdList" parameter to the products widget. If present "category" parameter will be ignored.

Modified "orders" component behaviour to automatically select first delivery and first payment options when none are selected.
Modified PC_controller_pc_shop::_validate_fast_order() to validate data array passed in the parameter instead of validating $_POST directly.
Modified PC_controller_pc_shop::_order_online_payment_accept() to no longer mark orders as paid since it is insecure and must be done only in PC_controller_pc_shop::_order_online_payment_callback().
Modified PC_controller_pc_shop::_inform_about_order() to send email to client first and only then to admin.
Modified controller behaviour to add "currentProduct" to the site's "registered data" when viewing a product details page.
Modified PC_shop_orders::Preserve_order_data() to merge given array into the one stored in session instead of overwriting it.
Modified PC_shop_cart::Calculate_prices() to try calling a '{delivery_option}.calculateDeliveryPrice' registered callback if a delivery option is selected. Arguments are same as for 'pc_shop/cart/calculate_prices' event.
Modified PC_shop_products_site::Get() to throw \Profis\Db\DbException on errors instead of returning FALSE.
Modified PC_shop_products_site::Parse() to also handle weight, volume, length, width and height.
Modified PC_shop_currency_model allow loading it along with it's related content from "shop_currency_contents" table.
Modified default order widget templates to have form wrapping all it's elements instead of only "form area".
Modified PC_plugin_pc_shop_delivery_form_widget and PC_plugin_pc_shop_sort_products_widget classes to extend PC_plugin_pc_shop_widget instead of PC_widget.

Fixed issue with order getting created even when there are errors in cart (like when price is greater than COD limit).
Fixed PC_template_cart.php line endings.
Fixed PC_shop_products_site::Get() issue with caching result of getting a single non-existing product.
Fixed issue with delivery form widget generating errors when it tried to show a form for a delivery option that doesn't have it.
Fixed validation script in default order widget templates.
Fixed category menu widget to correctly detect active category.
Fixed search products widget to use "like" instead of "full_text_all" since full text search is not supported by earlier versions of InnoDb).
Fixed search products widget issue with incorrectly using it's own filter rules.
Fixed sort products widget to correctly mark default sort order item when no item is selected.

Deprecated shop.cart.js javascript (it no longer has any code). Instead of it shop.js file will be loaded every time any shop widget is used or the currently open page has pc_shop controller assigned.
Deprecated PC_plugin_pc_shop_order_widget::get_delivery_options() and PC_plugin_pc_shop_order_widget::get_payment_options() methods. Use PC_shop_site::getDeliveryOptions() and PC_shop_site::getPaymentOptions() instead.

Removed an $id parameter from PC_hop_payment_method::_get_order_data() since it was not used anyway.