This changelog references changes done in Shopware 5.2 patch versions.
View all changes from v5.2.26...v5.2.27
- Added config check to disable the
Tell a friendpage if it is disabled via config. - Fixed id collision in
themes/Backend/ExtJs/backend/base/component/Shopware.ModuleManager.js - Added guetzli media optimizer
- Added new event
Shopware_Plugins_HttpCache_ContextCookieValueto modify HttpCache Context-Cookie. - Added support for uploading media with ftps in Rest-API
- Added
{$smarty.block.parent}tothemes/Frontend/Bare/frontend/checkout/confirm_item.tpl. - Added new block
frontend_checkout_cart_item_details_essential_featurestothemes/Frontend/Bare/frontend/checkout/confirm_item.tpl. - Added new block
frontend_checkout_confirm_product_table_contentaround table inthemes/Frontend/Bare/frontend/checkout/confirm.tpl. - Individual voucher codes are now searchable in voucher overview
View all changes from v5.2.25...v5.2.26
View all changes from v5.2.24...v5.2.25
- Added notify event
Shopware_Modules_Basket_AddArticle_Addedinengine/Shopware/Core/sBasket.php - The event
Shopware_Modules_Export_ExportResult_Filter_Fixedwas added and now filters the processed export result. Previously withShopware_Modules_Export_ExportResult_Filter, an instance ofZend_Db_Statement_Pdowas supplied, which could not be used to filter the actual result. - Removed duplicate block and added more precise ones in
themes/Frontend/Bare/frontend/checkout/ajax_cart.tpl
View all changes from v5.2.23...v5.2.24
- Fixed custom datefield format for articles
- Fixed styling of image slider on tablet landscape view
View all changes from v5.2.22...v5.2.23
- Added conditional statement in
themes/Frontend/Responsive/frontend/_public/src/js/jquery.product-slider.jsto prevent the jquery plugin from sending ajax requests indefinitely - Added
limitparameter tocreateQueryandcreateOptionQueryinengine/Shopware/Bundle/ESIndexingBundle/Property/PropertyQueryFactory - Added default
limitof 100 inengine/Shopware/Bundle/ESIndexingBundle/Property/PropertyIndexer::populate - Added a base store for
Shopware.apps.Base.model.DocType
View all changes from v5.2.21...v5.2.22
- Fixed the picture implementation of the
box-emotion.tplto load the correct image sizes - Added new event
plugin/swAutoSubmit/onChangeSelectioninthemes/Frontend/Responsive/frontend/_public/src/js/jquery.auto-submit.js - Added ExtJS override
engine/Library/ExtJs/overrides/Ext.view.Table.jsto fix display of row selection in grid panel when updating the row after row editing - Added optional parameter
appendCSRFTokenfor JSONP-Requests. The CSRF token will only be sent if the parameter is true. - Added
srcattribute as a fallback forsrcsetto the main<img />tag inthemes/Frontend/Bare/frontend/detail/image.tplandthemes/Frontend/Bare/frontend/blog/images.tpl
View all changes from v5.2.20...v5.2.21
- Updated Symfony to version 2.8.17
- Added paymentID as event property in
Shopware_Modules_Admin_Execute_Risk_Rule_RuleName - Added support for creating new orders using the
OrderAPI resource - Added option
allowHtmlfor ExtJS grid columns and display form fields in order to allow unescaped html output. Default value is:false - Added optional
Guzzleclient config parameter toShopware\Components\HttpClient\GuzzleFactory::createClientmethod - Added events
sendRequestSuccessandsendRequestFailureto_sendRequestinthemes/Backend/ExtJs/backend/category/controller/article_mapping.js - Deprecated duplicate block
frontend_blog_detail_commentsinfrontend/blog/detail.tpl, usefrontend_blog_detail_comments_countandfrontend_blog_detail_comments_listinstead. - Changed CSRF validation method in
engine/Shopware/Components/CSRFTokenValidatorfrom session validation to cookie validation. - Removed
invalidateTokenfromengine/Shopware/Components/CSRFTokenValidator - Added opt-in for CSRF GET protection. Implement
engine/Shopware/Components/CSRFTGetProtectionAwareand return the controller actons which should be protected viagetCSRFProtectedActions. - Added CSRF specific error message.
- Changed behaviour of plugin installer to show the correct translated label and description in plugin manager and basic settings (new 5.2 plugin system only, see DevDocs)
View all changes from v5.2.19...v5.2.20
- Reverted shopware/shopware#821 which added left joins for basket attributes in
sAdmin::sGetDispatchBasket()andsExport::sGetDispatchBasket()
View all changes from v5.2.18...v5.2.19
- Changed the loading of backend widgets to disable widgets of deactivated plugins
- Added new Event
Shopware_Modules_Admin_regenerateSessionId_Startin sAdmin::regenerateSessionId - Changed
convertCategorymethod inengine/Shopware/Core/sCategories.phpfrom private to public - Added left join of
s_order_basket_attributesinsAdmin::sGetDispatchBasket()andsExport::sGetDispatchBasket() - Added event
blog-save-successfullytoonSaveBlogArticle()method inthemes/Backend/ExtJs/backend/blog/controller/blog.js - Added event
customer-address-save-successfullytoonSaveCustomer()method inthemes/Backend/ExtJs/backend/customer/controller/detail.js - Added event
customer-save-successfullytoonSaveCustomer()method inthemes/Backend/ExtJs/backend/customer/controller/detail.js - Added event
site-save-successfullytoonSaveSite()method inthemes/Backend/ExtJs/backend/site/controller/form.js - Added event
supplier-save-successfullytoonSupplierSave()method inthemes/Backend/ExtJs/backend/supplier/controller/main.js - Added the possibility to add a Theme info tab. Add a folder with the name "info" to your theme folder. Add a html file to the folder with the required language iso like "en_EN.html". The HTML content of the file is the content of the tab.
- Changed internal loop variable name
positionsinthemes/Frontend/Bare/documents/index.tplto fix typo - Added configuration option
ShopwarePluginstoplugin_directoriesin theengine/Shopware/Configs/Default.phpto make the path of the plugin system directory configurable - Support for custom CSS files in themes added to Grunt tasks
- Added command option
shopIdforsw:theme:cache:generate
View all changes from v5.2.17...v5.2.18
- Fixed invalid permissions after running media optimizer on some hosting systems
- Fixed session error in exports
View all changes from v5.2.16...v5.2.17
- Deprecated Smarty modifier
rewrite. Modifier will be removed in 5.3.0. - Changed default
session.gc_divisorto200. To decrease session garbage collection probability. - Added console command
sw:session:cleanupto cleanup expired sessions. - Changed database field
s_core_sessions.expiryto contain the timestamp when the session should expire, not the session lifetime. - Changed database field
s_core_sessions_backend.expiryto contain the timestamp when the session should expire, not the session lifetime. - Added
$sAmountNumericand$sAmountNetNumericto sOrder mail - Added command
sw:media:optimizeto optimize media files without quality loss. - Added new Smarty blocks to
documents/index.tpldocument_index_addressdocument_index_address_senderdocument_index_address_base
- Added
s_article_configurator_options_attributesands_article_configurator_groups_attributes - Added new plugin config element type
button - Changed
\Enlight_Controller_Plugins_ViewRenderer_Bootstrap::setNoRenderresets now the view template to preventPostDispatchSecureevents - Changed
\Shopware\Bundle\StoreFrontBundle\Service\Core\ManufacturerService::getListfetch now the seo urls for each manufacturer - Removed duplicated initialisation of
\Shopware\Bundle\StoreFrontBundle\Struct\ShopContextInterface. - Added
_seoparameter for smarty url plugin which allows to prevent s_core_rewrite_url query for none seo urls - Removed unnecessary
/widget/index/menucall inthemes/Frontend/Bare/frontend/index/topbar-navigation.tplandthemes/Frontend/Bare/frontend/index/footer_minimal.tpl. Thewidgets/index/menu.tpltemplate is now included directly. - Added
\Shopware\Components\Theme\PathResolver::getDirectoryByArrayfunction which allows to load theme inheritances without doctrine models - Added api resources to dependency injection container
The service shopware_media.optimizer_service optimizes files using external tools. Further external tools can be implemented using the interface Shopware\Bundle\MediaBundle\Optimizer\OptimizerInterface and the dependency injection tag shopware_media.optimizer.
The api resources are now available in the dependency injection container using the namespace shopware.api. It is now possible to add your own resources as services or decorate others in your plugins services.xml.
/** Register new resource as service */
<service id="shopware.api.example" class="SwagExampleApi\Components\Api\Resource\Example" />
/** Replace existing resource service */
<service
id="swag_example_plugin.article_api"
class="SwagExampleApi\Components\Api\Resource\Article"
decorates="shopware.api.article"
public="false"
shared="false">
</service>View all changes from v5.2.15...v5.2.16
- Improved form input filtering
View all changes from v5.2.14...v5.2.15
- Fixed article api resource when creating a new article with new configurator options and an image mapping for this new options
- Added cronjob registration via
Resources/cronjob.xmlfile - Removed call to
strip_tagsin inputfilter on all request parameters.- Please make sure untrusted input is escaped in plugins
View all changes from v5.2.13...v5.2.14
- The shopping world element "Media field" supports now to change the value field. All possible properties you can find in the file:
themes/Backend/ExtJs/backend/media_manager/model/media.js
Example:
$emotionElement->createMediaField([
'name' => 'preview_image',
'fieldLabel' => 'The preview image',
'valueField' => 'virtualPath'
]);View all changes from v5.2.12...v5.2.13
- Changed duplicate smarty block from
frontend_checkout_confirm_information_addresses_equal_panel_shipping_select_addresstofrontend_checkout_confirm_information_addresses_equal_panel_shipping_add_addressinfrontend/checkout/confirm.tpl - Added interface
\Shopware\Bundle\ESIndexingBundle\TextMappingInterfacewhich handles text field mappings for different elastic search versions - Added the missing requirement of the php function
parse_ini_fileto the system info and the installer - Added
Shopware\Components\Plugin\PaymentInstallerclass to install payment methods in plugins - Changed theme path for plugins of new plugin system from
/resourcesto/Resources - Changed parsing of JSON
POSTed to the REST API to not remove top-levelNULLvalues - Changed frontendsession to a locking session handler
- Added new configuration parameter
session.lockingwhich istrueby default - The session handler can be overwritten by replacing the
session.save_handler-Service. A instance of\SessionHandlerInterfacehas to be returned.
- Added new configuration parameter
- Changed return value of
sArticles::sGetArticleById()to provide an additional text if none is given and display the cover image by default when using the selection configurator - Changed url parameter in last seen articles to deeplink to an article variant instead of the article
- Added console command
sw:rebuild:seo:indexto rebuild the SEO index on demand
Plugin resources inside of the PluginName/Resources/frontend directory are now loaded automatically on theme compilation when using the new plugin system.
Example:
custom/plugins/SwagResourceTest/Resources/frontend/css/**.csscustom/plugins/SwagResourceTest/Resources/frontend/js/**.jscustom/plugins/SwagResourceTest/Resources/frontend/less/all.less
View all changes from v5.2.11...v5.2.12
View all changes from v5.2.10...v5.2.11
- Added new Smarty block
frontend_robots_txt_allowstofrontend/robots_txt/index.tpl - Added new Smarty block
frontend_account_order_item_availabilitytofrontend/account/order_item_details.tpl - Added new rule for
/widgets/emotionto robots.txt infrontend/robots_txt/index.tpl - Added new blocks in
themes/Frontend/Bare/frontend/account/index.tpl - If shipping address equals billing address show notice instead of same address twice in account index
- Added container tag
shopware_media.adapterto register new media adapters - Added interface
Shopware\Bundle\MediaBundle\Adapters\AdapterFactoryInterfaceto create new adapter factories - Removed method
Shopware\Bundle\MediaBundle\Subscriber\ServiceSubscriber::createLocalAdapter() - Removed method
Shopware\Bundle\MediaBundle\Subscriber\ServiceSubscriber::createFtpAdapter() - Deprecated collect event
Shopware_Collect_MediaAdapter_*, use container tagshopware_media.adapterinstead. The event will be removed in 5.4.
It is now possible to define custom config stores directly inside your plugin's config.xml when using the new plugin system.
A custom config store is defined like this:
<store>
<option>
<value>1</value>
<label lang="de">Deutscher Anzeigewert</label>
<label lang="en">English display value</label>
</option>
<option>
<value>two</value>
<label lang="de">Deutscher Anzeigewert</label>
<label>English display value (locale en via fallback)</label>
</option>
<option>
<value>3</value>
<label>Single display value (locale en via fallback)</label>
</option>
</store>There are two unique constraints:
- Inside a store, a value tag's value must only occur once
- Inside an option tag, a label tag's lang attribute value must only occur once
Additionally, the order is fixed. The value tag must be defined before the label tag(s).
There must be at least one option tag and inside each option tag where must be at least one value and one option tag.
View all changes from v5.2.9...v5.2.10
- Added optional
filteroption toShopware.apps.Base.view.element.Select - Set
remoteFiltertotruein several base stores:Shopware.apps.Base.store.CountryShopware.apps.Base.store.CountryAreaShopware.apps.Base.store.CountryStateShopware.apps.Base.store.CurrencyShopware.apps.Base.store.CustomerGroupShopware.apps.Base.store.DispatchShopware.apps.Base.store.LocaleShopware.apps.Base.store.OrderStatusShopware.apps.Base.store.PaymentShopware.apps.Base.store.PaymentStatusShopware.apps.Base.store.PositionStatusShopware.apps.Base.store.Tax
- Replaced the default filter on
dispatches.activeadded inShopware_Controllers_Backend_Base::getDispatchesAction()by a default filter onactiveadded inShopware.apps.Base.store.Dispatch - Refactored jQuery product slider plugin for sliding infinitely
- Added
initOnEventoption to cross selling tabs on detail page for the combination of tabs with product sliders - Added
Shopware\Components\Emotion\ComponentInstallerclass to install emotion components in plugins. - Added
\Shopware\Components\Emotion\EmotionComponentViewSubscriberto register emotion widget templates - Added
plugin_dirandplugin_namecontainer parameter for each plugin. Parameters are prefixed by\Shopware\Components\Plugin::getContainerPrefix - Deprecated parameter
$checkProxyfromEnlight_Controller_Request_Request::getClientIp()
View all changes from v5.2.8...v5.2.9
filtergroupIDcolumn will be set tonullin thes_articlestable when deleting a property set
View all changes from v5.2.7...v5.2.8
- Fixed a PHP 7 fatal error in the SVG rendering of mPDF
- Added missing update of the order details' order number, when converting a cancelled order to a normal order in
Shopware_Controllers_Backend_CanceledOrder::convertOrderAction() - Added creation of
Shopware\Models\Attribute\OrderDetailupon adding a new order position in the backend - Added missing creation of
Shopware\Models\Attribute\OrderandShopware\Models\Attribute\OrderDetailinstances insOrder::sCreateTemporaryOrder()
View all changes from v5.2.6...v5.2.7
- Add support for third party post messages in the backend
- getOne function of customer api resource contains now the country and state data for billing and shipping address
- Changed
jquery.search::onKeyboardNavigation()method to provide more extension possibilities. - Deprecated the execution shopware.php via CLI. Please use the command line tool in
bin/consoleinstead.
View all changes from v5.2.5...v5.2.6
- Changed visibility of sAdmin::loginUser to protected
- Added filter events to all convert functions in
LegacyStructConverter - Removed unused shipping free configuration in backend country form
- Added new smarty blocks in
engine/Shopware/Plugins/Default/Frontend/AdvancedMenu/Views/frontend/advanced_menu/index.tpl - Add order attribute select to \Shopware\Components\Api\Resource\Order::getList query
- \Shopware\Bundle\StoreFrontBundle\Struct\ListProduct::isPriceGroupActive proofs additionally if a price group exists
- Use user ID of the API key owner for media files if none is provided
- Fixed image configurator html ids for radio boxes
- Added notifyUntil event
Shopware_Modules_Basket_BeforeAddMinimumOrderSurchargetosBasket::sInsertSurchargecontaining the surcharge. - Added notifyUntil event
Shopware_Modules_Basket_BeforeAddOrderSurchargePercenttosBasket::sInsertSurchargePercentcontaining the surcharge. - Added notifyUntil event
Shopware_Modules_Basket_BeforeAddOrderDiscounttosBasket::sInsertDiscountcontaining the discount. - Replaced
grunt-contrib-watchwithgrunt-chokidarfor the grunt watch task. - Deprecated "{$sShopname}" variable in Forms.php, please use "{sShopname}" in your mail form templates instead.
- Added
\Shopware\Bundle\SearchBundle\SearchTermPreProcessorInterfaceinterface which pre filters provided search terms - Added
ShopPageto Storefront Bundle - Attributes of
formsandshop pagesare not translatable anymore - Added new Smarty blocks to
frontend/detail/image.tplfrontend_detail_image_default_image_slider_itemfrontend_detail_images_image_slider_item
- Updated
ongr/elasticsearch-dslto version 2.0.2 - Updated
phpunit/phpunitto version 5.5 - Removed unused smarty block
frontend_checkout_cart_item_small_quantites_tax_priceinthemes/Frontend/Bare/frontend/checkout/confirm_item.tpl - Added method
Enlight_Controller_Response_ResponseTestCase::sendCookiesso it's consistent withEnlight_Controller_Response_ResponseHttp - Added
\Shopware\Components\DependencyInjection\Compiler\TagReplaceTraitclass which centralized service constructor replacements with prioritized tagged services
View all changes from v5.2.4...v5.2.5
- Fixed SEO URL generation for URLs containing dots and forward slashes
View all changes from v5.2.3...v5.2.4
- Introduced new interface
Shopware\Components\Slug\SlugInterfaceto generate URL safe versions of a string- Service id
shopware.slug - The default implementation delegates to
cocur/slugify - SEO url generation now uses this new service to rewrite urls
- Service id
- Added new media file type for 3D model files. Supporting following files in the media manager: .dae, .obj, .fbx, .spx, .3ds, .3mf, .blend, .awd, .ply, .pcd, .stl, .skp
\Shopware\Bundle\AttributeBundle\CrudService::unifiedToSql()now returns SQL type mapped tostringif a given type is not mapped- Changed http response code to
400for CSRF exceptions - Added
is--activeclass to wishlist entry in the account sidebar - Added interface
Shopware\Bundle\ESIndexingBundle\Product\ProductQueryFactoryInterfaceand implemented it in its implementations - Removed class
Shopware_Components_Check_System. UseShopware\Components\Check\Requirementsinstead (Service Id:shopware.requirements) - Added mixin
.clear-form-button()to remove the default browser styling of form buttons - Changed action links which modify data to use forms with HTTP
POST. This affects the following templates and plugins:themes/Frontend/Bare/frontend/checkout/items/premium-product.tplthemes/Frontend/Bare/frontend/checkout/items/product.tplthemes/Frontend/Bare/frontend/checkout/items/voucher.tplthemes/Frontend/Bare/frontend/checkout/ajax_cart_item.tplthemes/Frontend/Bare/frontend/compare/index.tplthemes/Frontend/Bare/frontend/detail/actions.tplthemes/Frontend/Bare/frontend/listing/product-box/product-actions.tplthemes/Frontend/Bare/frontend/note/item.tplthemes/Frontend/Responsive/frontend/_public/src/js/jquery.collapse-cart.jsthemes/Frontend/Responsive/frontend/_public/src/js/jquery.product-compare-add.jsthemes/Frontend/Responsive/frontend/_public/src/js/jquery.product-compare-menu.js
- Added event
Shopware_SearchBundle_Create_Base_CriteriainShopware\Bundle\SearchBundle\StoreFrontCriteriaFactory::createBaseCriteria() - Changed visiblility of service
snippet_resourceto public in DI Container - Added JS and LESS directory path of new plugin system to gruntfile
- Deprecated css class
icon--brogress-1, useicon--progress-1instead - Updated CodeMirror to version 5.17.0
- Improved mode support for CodeMirror element
- Allow uploading file when creating
mediausing the REST API - Increased max length of
s_emarketing_banners.imgands_articles_supplier.imgto 255 - Added filter events for editing the collection of LESS and JS files before compiling
Theme_Compiler_Collect_Less_Definitions_FilterResultTheme_Compiler_Collect_Javascript_Files_FilterResult
- Removed synchronizing of plugin information column
changes - Allow root menu elements for plugins. Added attribute
isRootMenuinmenu.xmlExample:<entry isRootMenu="true"> - Normalized the return value of
Album\SettingsgetThumbnailSize to return a empty array instead of a array with an empty string when no size is active
View all changes from v5.2.2...v5.2.3
- Updated
guzzlehttp/guzzleto version 5.3.1 to mitigate httproxy vulnerability - Set timeouts from install/update/(secure) uninstall operations in plugin manager to 300 seconds
- Fix countries rest api response data and header
- Added exception to Shopware updater if
php-curlis missing - Add support for integer and array values to the
sw:plugin:config:setcli command - Deprecated the
$strongoptional parameter from the following methods, as the component ensures a cryptographically secure pseudo-random number generator is always used since Shopware 5.2.0Shopware\Components\Random::getBytes()Shopware\Components\Random::getBoolean()Shopware\Components\Random::getInteger()Shopware\Components\Random::getFloat()Shopware\Components\Random::getString()Shopware\Components\Random::getAlphanumericString()
View all changes from v5.2.0...v5.2.2
- Add support for Symfony
console.commandservice tag to register commands directly inside service container
View all changes from v5.1.6...v5.2.0
- Increased minimum required PHP version to PHP >= 5.6.4.
- Added CSRF protection to frontend and backend which is enabled by default.
- OptOut by implementing
Shopware\Components\CSRFWhitelistAwareinterface - Added
X-CSRF-Tokento every ajax request - Added
__csrf_tokento every html form in frontend - Added
__csrf_tokenparam to every ExtJS form submit via override inExtJs/overrides/Ext.form.Base.js - Added
csrfProtectionconfig options to disable CSRF protection - Special thanks to: ltepner
- See: https://developers.shopware.com/developers-guide/csrf-protection/
- OptOut by implementing
- Updated Symfony Components to version 2.8 LTS
- Replaced polyfill provided by
indigophp/hash-compatwithsymfony/polyfill-php56 - Added polyfill for
random_bytes()andrandom_int()viaparagonie/random_compat - Removed
client_checkandreferer_checkfrom the config in favor of the CSRF protection. - Removed session variables
__SW_REFERERand__SW_CLIENT - Added AdvancedMenu feature to configure menu opening delay on mouse hover
- Added the ability to add custom CSS classes to emotion elements in the backend.
- Multiple classnames can be added by separating them with whitespaces.
- Added new
css_classcolumn to thes_emotion_elementstable.
- Removed deprecated columns
s_filter_values.value_numericands_filter_options.default - Updated
monolog/monologto version 1.17.2 - Added HTML code widget for the shopping worlds which lets the user enter actual Smarty & JavaScript code which will be included like it is
- The Smarty code has access to all globally available Smarty variables
- Added the following fields to status emails:
billing_additional_address_line1billing_additional_address_line2shipping_additional_address_line1shipping_additional_address_line2
- Replaced
bowerwithnpmto manage the frontend dependencies- The dependencies can now be installed using the command:
npm install && npm run build - Removed the file
vendors/less/open-sans-fontface/open-sans.less. It's now located underpublic/src/less/_components/fonts.less
- The dependencies can now be installed using the command:
- Deprecated
Shopware_BootstrapandEnlight_Bootstrapcommonly accesed byShopware()->Bootstrap(). - Removed deprecated methods and variables:
sArticle.sVoteAverangein product listingssNote.sVoteAverangein note listingblog.media.path- Removed methods Shopware\Models\Menu\Repository::addItem() and Shopware\Models\Menu\Repository::save()
fileproperty of banner mappings- Removed method sOrder::sManageEsdOrder()
sBanner.imgvariable- emotion category teaser
imageproperty
- Removed the following events:
sArticles::sGetCheapestPrice::replacesArticles::sGetCheapestPrice::aftersArticles::sCalculatingPrice::replacesArticles::sCalculatingPrice::replacesArticles::getArticleListingCover::replacesArticles::getArticleListingCover::aftersArticles::calculateCheapestBasePriceData::replacesArticles::calculateCheapestBasePriceData::aftersArticles::sGetArticleProperties::replacesArticles::sGetArticleProperties::aftersArticles::sGetArticlePictures::replacesArticles::sGetArticlePictures::aftersArticles::sGetPricegroupDiscount::replacesArticles::sGetPricegroupDiscount::aftersArticles::sGetUnit::replacesArticles::sGetUnit::aftersArticles::sGetArticlesAverangeVote::replacesArticles::sGetArticlesAverangeVote::aftersArticles::sGetArticlesVotes::replacesArticles::sGetArticlesVotes::afterShopware_Modules_Articles_GetPromotionById_FilterResultShopware_Modules_Articles_GetArticleById_FilterArticle
- The following article arrays are now indexed by their order number
- top seller
- emotion slider data
- recommendation data (also bought and also viewed)
- similar and related articles
- Removed deprecated table
s_user_debit\Shopware\Models\Customer\Customer::$debit\Shopware\Models\Customer\Customer::getDebit()\Shopware\Models\Customer\Customer::setDebit()
- Added new configuration field to the emotion banner widget for link target.
- Added composer dependency for Symfony Form and implemented FormBundle
- Changed constructor of
\Shopware\Components\Theme\PathResolver - Changed constructor of
\Shopware_Components_Snippet_Manager - Changed constructor of
\Shopware\Bundle\PluginInstallerBundle\Service\DownloadService - Changed signature of
Shopware\Bundle\SearchBundleDBAL\PriceHelperInterface::getSelection, now expectsProductContextInterfaceinstead ofShopContextInterface - Changed signature of
Shopware\Bundle\SearchBundleDBAL\PriceHelper::getSelectionto match changed interface, now expectsProductContextInterfaceinstead ofShopContextInterface - Changed signature of
Shopware\Bundle\StoreFrontBundle\Service\CheapestPriceServiceInterface::getList, now expectsProductContextInterfaceinstead ofShopContextInterface - Changed signature of
Shopware\Bundle\StoreFrontBundle\Service\CheapestPriceServiceInterface::get, now expectsProductContextInterfaceinstead ofShopContextInterfaceandListProductinstead ofBaseProduct - Changed signature of
Shopware\Bundle\StoreFrontBundle\Service\Core\CheapestPriceService::getListto match changed interface, now expectsProductContextInterfaceinstead ofShopContextInterface - Changed signature of
Shopware\Bundle\StoreFrontBundle\Service\Core\CheapestPriceService::getto match changed interface, now expectsProductContextInterfaceinstead ofShopContextInterfaceandListProductinstead ofBaseProduct - Deprecated methods now use
trigger_errorof typeE_USER_DEPRECATED - Changed default error_reporting to
E_ALL & ~E_USER_DEPRECATED - Deprecated Class
Enlight_Application - Deprecated
Enlight_Application::Instance()andEnlight(), useShopware()instead - Deprecated
Shopware\Kernel::getShopware() - Deprecated
Shopware::App()/Shopware()->App() - Deprecated
Shopware::Environment()/Shopware()->Environment() - Deprecated
Shopware::OldPath()/Shopware()->OldPath() - Deprecated
Shopware::setEventManager()/Shopware()->setEventManager() - Deprecated
Enlight_Application::CorePath()/Shopware()->CorePath() - Deprecated
Enlight_Application::Path()/Shopware()->Path() - Deprecated
Enlight_Application::ComponentsPath()/Shopware()->ComponentsPath() - Deprecated
Enlight_Application::DS() - Removed
Enlight_Application::setOptions() - Removed
Enlight_Application::getOptions() - Removed
Enlight_Application::getOption() - Removed
Enlight_Application::setPhpSettings() - Removed
Enlight_Application::setIncludePaths() - Removed
Enlight_Application::__callStatic() - Removed the following models
Shopware.apps.Customer.view.detail.BillingShopware.apps.Customer.view.detail.Shipping
- Removed fax field form billing addresses
- Updated
ongr/elasticsearch-dslto v2.0.0, see https://github.com/ongr-io/ElasticsearchDSL/blob/master/CHANGELOG.md#v200-2016-03-03 for BC breaks. - Renamed block 'frontend_blog_bookmarks_deliciosus' to 'frontend_blog_bookmarks_delicious'
- Deprecated
\Shopware\Models\Article\Element - Removed the following templates including their snippets and blocks
frontend/account/billing.tplfrontend/account/billing_checkout.tplfrontend/account/content_right.tplfrontend/account/select_address.tplfrontend/account/select_billing.tplfrontend/account/select_billing_checkout.tplfrontend/account/select_shipping.tplfrontend/account/select_shipping_checkout.tplfrontend/account/shipping.tplfrontend/account/shipping_checkout.tplfrontend/checkout/cart_left.tplfrontend/checkout/confirm_left.tpl
- Removed
sAdmin::sGetPreviousAddresses() - Removed
sAdmin::sUpdateBilling() - Removed
sAdmin::sUpdateShipping() - Removed
sAdmin::sValidateStep1() - Removed
sAdmin::sValidateStep2() - Removed
sAdmin::sValidateStep2ShippingAddress() - Removed
billingAction()inControllers/Frontend/Account.php - Removed
shippingAction()inControllers/Frontend/Account.php - Removed
saveBillingAction()inControllers/Frontend/Account.php - Removed
saveShippingAction()inControllers/Frontend/Account.php - Removed
selectBillingAction()inControllers/Frontend/Account.php - Removed
selectShippingAction()inControllers/Frontend/Account.php - Moved block
frontend_checkout_confirm_left_billing_addressoutside panel body - Moved block
frontend_checkout_confirm_left_shipping_addressoutside panel body - Removed block
frontend_checkout_finish_info, usefrontend_checkout_finish_information_wrapperinstead - Removed the following backend models including their smarty blocks
Shopware.apps.Supplier.model.AttributeShopware.apps.Customer.model.BillingAttributesShopware.apps.Customer.model.ShippingAttributesShopware.apps.Customer.model.AttributeShopware.apps.Blog.model.AttributeShopware.apps.Form.model.AttributeShopware.apps.MediaManager.model.AttributeShopware.apps.Property.model.AttributeShopware.apps.Config.model.form.AttributeShopware.apps.Voucher.model.AttributeShopware.apps.Emotion.model.AttributeShopware.apps.Banner.model.AttributeShopware.apps.Order.model.AttributeShopware.apps.Order.model.BillingAttributeShopware.apps.Order.model.PositionAttributeShopware.apps.Order.model.ReceiptAttributeShopware.apps.Order.model.ShippingAttributeShopware.apps.Category.model.AttributeShopware.apps.Mail.model.AttributeShopware.apps.Payment.model.AttributeShopware.apps.Shipping.model.AttributeShopware.apps.Site.model.AttributeShopware.apps.UserManager.model.Attribute
- The following repository methods no longer select attributes or have been removed entirely
\Shopware\Models\Article\Repository::getSupplierQueryBuilder()\Shopware\Models\Customer\Repository::getCustomerDetailQueryBuilder()\Shopware\Models\Customer\Repository::getShippingAttributesQuery()\Shopware\Models\Customer\Repository::getShippingAttributesQueryBuilder()\Shopware\Models\Customer\Repository::getBillingAttributesQuery()\Shopware\Models\Customer\Repository::getBillingAttributesQueryBuilder()\Shopware\Models\Customer\Repository::getAttributesQuery()\Shopware\Models\Customer\Repository::getAttributesQueryBuilder()\Shopware\Models\Blog\Repository::getBackedDetailQueryBuilder()\Shopware\Models\Emotion\Repository::getEmotionDetailQueryBuilder()\Shopware\Models\ProductFeed\Repository::getDetailQueryBuilder()\Shopware\Models\Banner\Repository::getBannerMainQuery()\Shopware\Models\Order\Repository::getBackendOrdersQueryBuilder()\Shopware\Models\Order\Repository::getBackendAdditionalOrderDataQuery()
- Removed attribute associations from the following backend models
Shopware.apps.Supplier.model.SupplierShopware.apps.Customer.model.CustomerShopware.apps.Blog.model.DetailShopware.apps.Form.model.FormShopware.apps.Property.model.SetShopware.apps.MediaManager.model.MediaShopware.apps.Emotion.model.EmotionShopware.apps.Config.model.form.CountryShopware.apps.Banner.model.BannerDetailShopware.apps.Voucher.model.DetailShopware.apps.Order.model.ReceiptShopware.apps.Order.model.PositionShopware.apps.Order.model.OrderShopware.apps.Category.model.DetailShopware.apps.Customer.model.CustomerShopware.apps.Payment.model.PaymentShopware.apps.Shipping.model.DispatchShopware.apps.Site.model.NodesShopware.apps.UserManager.model.UserShopware.apps.UserManager.model.UserDetail
- Removed the following backend files:
themes/Backend/ExtJs/backend/blog/view/blog/detail/sidebar/attributes.jsthemes/Backend/ExtJs/backend/config/store/form/attribute.jsthemes/Backend/ExtJs/backend/config/view/form/attribute.jsthemes/Backend/ExtJs/backend/config/model/form/attribute.js
- Changed position of
Shopware.apps.Customer.view.detail.Billingfields - Changed position of
Shopware.apps.Customer.view.detail.Shippingfields - Fixed Shopware.form.plugin.Translation, the plugin can now be used in multiple forms at the same time.
- Removed
clear,onOpenTranslationWindow,getFieldValuesandonGetTranslatableFieldsfunction
- Removed
\Shopware\Bundle\StoreFrontBundle\Gateway\GraduatedPricesGatewayInterfacerequires now a providedShopContextInterface- Categories of
Shopware\Components\Api\Resource\Article::getArticleCategories($articleId)are no longer indexed by category id - Moved
<form>element in checkout confirm outside the agreement box to wrap around address and payment boxes - Removed smarty variable
sCategoryInfoin listing and blog controllers. UsesCategoryContentinstead. - Added creation of custom
__construct()method toShopware\Components\Model\Generator, which initializes any default values of properties when generating attribute models - Removed
sAdmin::sUpdateAccount() - Removed
saveAccount()inControllers/Frontend/Account.php - Moved field
birthdayfrom billing address to customer - Added validation of order number to
Shopware\Components\Api\Resource\Variant::prepareData()to respond with meaningful error message for duplicate order numbers - Added service
shopware.number_range_managerfor safely retrieving the next number of a number range (s_order_number) - Changed the following methods to use the
shopware.number_range_managerservice for retrieving the next number of a range:sAdmin::assignCustomerNumber()sOrder::sGetOrderNumber()Shopware_Components_Document::saveDocument()
- HttpCache: Added possibility to add multiple, comma separated proxy URLs
- API cache endpoint: Changed batchDelete in a way, that multiple cache types can be invalidated
- Removed
landingPageTeaserandlandingPageBlockfields from emotion shopping worlds. - Removed unnecessary method
getCampaignByCategoryQuery()fromModels/Emotion/Repository.php. - Removed template blocks for campaign boxes corresponding to the removed emotion fields.
frontend_index_left_campaigns_topfrontend_index_left_campaigns_middlefrontend_index_left_campaigns_bottomfrontend_blog_index_campaign_topfrontend_blog_index_campaign_middlefrontend_blog_index_campaign_bottom
- Removed unnecessary template file for campaign boxes
frontend/campaign/box.tpl. - Removed third party jQuery plugin dependency
masonry. - Deprecated
initMasonryGridmethod andplugin/swEmotion/onInitMasonryGridevent injquery.emotion.js - Removed shopping world mode
masonry. The fallback is the new modefluid. - Replaced old LESS mixin
createColumnSizesfor new grid mixinscreateGridandcreateColumnsin_components/emotion.less. - Added new blocks to
widgets/emotion/index.tplfor better overriding of the configuration.widgets/emotion/index/configwidgets/emotion/index/attributeswidgets/emotion/index/element/config
- Changed markup and styling on checkout confirm and finish page
- Support arbitrary namespaces for doctrine entities instead of the
Shopware\CustomModelsnamespace. - Deprecated
Shopware()->Models()->__call() - Removed unused database fields
s_core_config_elements.filters,s_core_config_elements.validators,s_core_config_forms.scope - Removed deprecated
\Shopware\Models\Menu\Repository::save()and\Shopware\Models\Menu\Repository::addItem() - Removed event
Shopware_Modules_Order_SaveOrderAttributes_FilterSQL - Removed event
Shopware_Modules_Order_SaveOrderAttributes_FilterDetailsSQL - Removed event
Shopware_Modules_Order_SaveBillingAttributes_FilterSQL - Removed event
Shopware_Modules_Order_SaveBillingAttributes_FilterArray - Removed event
Shopware_Modules_Admin_SaveRegisterShippingAttributes_FilterSql - Removed event
Shopware_Modules_Admin_SaveRegisterShippingAttributes_Return - Removed event
Shopware_Modules_Admin_SaveRegisterBillingAttributes_FilterSql - Removed event
Shopware_Modules_Admin_SaveRegisterBillingAttributes_Return - Removed event
Shopware_Modules_Admin_SaveRegisterMainDataAttributes_FilterSql - Removed event
Shopware_Modules_Admin_SaveRegisterMainDataAttributes_Return - The filter event
Shopware_Modules_Order_SaveBilling_FilterArraynow contains an associative array instead of one with numeric keys. - The filter event
Shopware_Modules_Order_SaveBilling_FilterSQLnow uses named parameters in the query instead of question marks. - The filter event
Shopware_Modules_Order_SaveShipping_FilterArraynow contains an associative array instead of one with numeric keys. - The filter event
Shopware_Modules_Order_SaveShipping_FilterSQLnow uses named parameters in the query instead of question marks. - Moved
s_articles_prices.basepricetos_articles_details.purchaseprice- Added new database field
s_articles_details.purchaseprice. - Added property
purchasePricetoShopware\Models\Article\Detail. - Removed property
basePriceofShopware\Models\Article\Price. - Removed methods
Shopware\Models\Article\Price::getBasePrice()andShopware\Models\Article\Price::setBasePrice(). - Deprecated database field
s_articles_prices.baseprice. All data is left intact but this field is not used in shopware anymore and will be dropped in a future version. - Removed property
basePriceofShopware\Models\Article\Configurator\Template\Price. - Removed database field
s_article_configurator_template_prices.baseprice.
- Added new database field
- Removed unused class
Shopware_Components_Menu_ItemandShopware_Components_Menu_SaveHandler_DbTable - Removed database fields
s_core_menu.hyperlinks_core_menu.styles_core_menu.resourceID
- Removed method
Shopware\Models\Menu\Menu::setStyle()andShopware\Models\Menu\Menu::getStyle() - Removed class
Shopware_Models_Payment - Removed class
Shopware_Models_PaymentManager - Removed
Shopware_Plugins_Frontend_Payment_Bootstrap, Service:Shopware()->Payments() - Removed following methods:
- \Shopware_Controllers_Frontend_Register::saveRegister
- \Shopware_Controllers_Frontend_Register::personalAction
- \Shopware_Controllers_Frontend_Register::savePersonalAction
- \Shopware_Controllers_Frontend_Register::billingAction
- \Shopware_Controllers_Frontend_Register::saveBillingAction
- \Shopware_Controllers_Frontend_Register::shippingAction
- \Shopware_Controllers_Frontend_Register::saveShippingAction
- \Shopware_Controllers_Frontend_Register::paymentAction
- \Shopware_Controllers_Frontend_Register::savePaymentAction
- \Shopware_Controllers_Frontend_Register::validatePersonal
- \Shopware_Controllers_Frontend_Register::setRegisterData
- \Shopware_Controllers_Frontend_Register::validateBilling
- \Shopware_Controllers_Frontend_Register::validateShipping
- \Shopware_Controllers_Frontend_Register::validatePayment
- \sAdmin::sSaveRegisterMainData
- \sAdmin::sSaveRegisterNewsletter
- \sAdmin::sSaveRegisterBilling
- \sAdmin::sSaveRegisterShipping
- \sAdmin::sSaveRegister
- \sAdmin::validateRegistrationFields
- \sAdmin::assignCustomerNumber
- \sAdmin::logRegistrationMailException
- Removed the following events:
- Shopware_Modules_Admin_SaveRegisterMainData_FilterSql
- Shopware_Modules_Admin_SaveRegisterMainData_Return
- Shopware_Modules_Admin_SaveRegisterMainData_Return
- Shopware_Modules_Admin_SaveRegisterBilling_FilterSql
- Shopware_Modules_Admin_SaveRegisterBilling_Return
- Shopware_Modules_Admin_SaveRegisterShipping_FilterSql
- Shopware_Modules_Admin_SaveRegisterShipping_Return
- Shopware_Modules_Admin_SaveRegister_Start
- Shopware_Modules_Admin_SaveRegister_GetCustomerNumber
- Shopware_Modules_Admin_SaveRegister_FilterNeededFields
- Shopware_Modules_Admin_SaveRegister_FilterErrors
- Shopware_Modules_Admin_SaveRegister_Successful contains no more subject
- Changed following registration templates
- frontend/register/index.tpl
- frontend/register/shipping_fieldset.tpl
- frontend/register/personal_fieldset.tpl
- frontend/register/error_messages.tpl
- frontend/register/billing_fieldset.tpl
- Moved s_user_billingaddress.customernumber to s_user table
- Removed \Shopware\Models\Customer\Billing::number property
- Removed method
Shopware\Bundle\PluginInstallerBundle\Service\InstallerService::getPluginBootstrap() - Changed Shopware\Components\Model\ModelManager::addAttribute() to allow using empty string and boolean as default value when adding attribute fields
- Removed s_categories.noviewselect
- Removed \Shopware\Models\Category\Category::$noViewSelect
- Removed \Shopware\Bundle\StoreFrontBundle\Struct\Category::$allowViewSelect
- Include the departments, salutations, cities and countries in the address comparison of the backend order details
- Display the departments in the backend order details overview
- Added new API resource 'Country' and respective REST API controller 'countries'
- Renamed input fields in
themes/Frontend/Bare/frontend/account/reset_password.tplwith surroundingpassword[] - Removed method
\Shopware_Controllers_Frontend_Account::validatePasswordResetForm() - Removed method
\Shopware_Controllers_Frontend_Account::resetPassword() - Added new shopping world type
rowswhich is based on single rows. - Changed structure of
billingandshippingto\Shopware\Models\Customer\Addressin\Shopware\Components\Api\Resource\Customer - Replaced
buttonswith a toolbar indockedItemsinShopware.apps.Order.view.detail.Detail - Removed method
createButtons()inShopware.apps.Order.view.detail.Detail - Fixed \Shopware\Bundle\SearchBundleES\ConditionHandler\VoteAverageConditionHandler vote average value
- Fixed \Shopware\Bundle\SearchBundleES\SortingHandler\ReleaseDateSortingHandler field usage
- Fixed \Shopware\Bundle\SearchBundleES\ConditionHandler\ProductAttributeConditionHandler null value handling, not null handling and string operations.
- Added attributes.core mapping in \Shopware\Bundle\ESIndexingBundle\Product\ProductMapping
- Fixed attribute assignment in \Shopware\Bundle\SearchBundleDBAL\ProductNumberSearch
- Added all source values as attributes of each product in \Shopware\Bundle\SearchBundleES\ProductNumberSearch
- Added unified product slider template
- Created template files
themes/Frontend/Bare/frontend/_includes/product_slider.tplthemes/Frontend/Bare/frontend/_includes/product_slider_item.tplthemes/Frontend/Bare/frontend/_includes/product_slider_items.tpl
- Created template blocks
frontend_common_product_slider_configfrontend_common_product_slider_componentfrontend_common_product_slider_containerfrontend_common_product_slider_itemsfrontend_common_product_slider_item_configfrontend_common_product_slider_item
- Removed template blocks
checkout_ajax_add_cross_slider_itemfrontend_detail_index_streams_slider_containerfrontend_detail_index_similar_slider_itemwidget_emotion_component_product_sliderwidgets_listing_top_seller_slider_containerwidgets_listing_top_seller_slider_container_innerwidgets_listing_top_seller_slider_container_includefrontend_detail_index_also_bought_slider_innerfrontend_detail_index_similar_viewed_slider_innerfrontend_widgets_slide_articles_item
- Removed template files
themes/Frontend/Bare/widgets/emotion/slide_articles.tpl
- Created template files
- Removed customer options in import export module which results in the removal of
- Properties
\Shopware_Controllers_Backend_ImportExport::$customerRepository
- Methods
\Shopware_Controllers_Backend_ImportExport::getCustomerRepository()\Shopware_Controllers_Backend_ImportExport::exportCustomersAction()\Shopware_Controllers_Backend_ImportExport::importCustomers()\Shopware_Controllers_Backend_ImportExport::saveCustomer()\Shopware_Controllers_Backend_ImportExport::prepareCustomerData()
- Properties
- Removed unused controller endpoints
ajax_loginandajax_logoutinthemes/Frontend/Bare/frontend/index/index.tpl - \Shopware\Bundle\SearchBundleES\ConditionHandler\ProductAttributeConditionHandler requires now the \Shopware\Bundle\AttributeBundle\Service\CrudService as constructor dependency
- Merged \Shopware\Bundle\AttributeBundle\Service\CrudService create and update function
- Removed
$basketfromsAdmin::sManageRisks($paymentID, $basket, $user) - Added new
\Shopware\Bundle\StoreFrontBundle\Service\VariantCoverServiceInterfacewhich allows to load variant covers without consideringforceMainImageInListingparameter - Removed wrong parameter usage of
Shopware\Models\Menu\Repository::findOneBy, which allows to provide two strings as criteria instead of array. - Updated composer dependency elasticsearch/elasticsearch to version 2.2.0
- Changed default labelWidth for emotion component fields in
Shopware.apps.Emotion.view.components.Baseto 170 pixels - IonCube Loader version requirement bumped to 5.0 or higher
- PHP setting
display_errorsdefaults tooffnow inengine/Shopware/Configs/Default.php - Removed
\Shopware\Bundle\StoreFrontBundle\Struct\Contextclass - Deprecated following classes and functions:
\Shopware\Bundle\StoreFrontBundle\Service\ContextServiceInterface::getContext\Shopware\Bundle\StoreFrontBundle\Service\ContextServiceInterface::getProductContext\Shopware\Bundle\StoreFrontBundle\Service\ContextServiceInterface::getLocationContext\Shopware\Bundle\StoreFrontBundle\Service\ContextServiceInterface::initializeContext\Shopware\Bundle\StoreFrontBundle\Service\ContextServiceInterface::initializeLocationContext\Shopware\Bundle\StoreFrontBundle\Service\ContextServiceInterface::initializeProductContext\Shopware\Bundle\StoreFrontBundle\Struct\LocationContext\Shopware\Bundle\StoreFrontBundle\Struct\ProductContext\Shopware\Bundle\StoreFrontBundle\Struct\LocationContextInterface\Shopware\Bundle\StoreFrontBundle\Struct\ProductContextInterface
- Added support for loading a new store instance by ID in the config combo box
Shopware.apps.Config.view.element.Select - Added attributes to interface
Enlight_Controller_Request_Request. New methods:Enlight_Controller_Request_Request::getAttributes()Enlight_Controller_Request_Request::getAttribute()Enlight_Controller_Request_Request::setAttribute()Enlight_Controller_Request_Request::unsetAttribute()
- Fixed tax free for company configuration. If the delivery country contains the flag
taxfree_ustid, the vat id of the shipping address is checked.