This changelog references changes done in Shopware 5.4 patch versions.
View all changes from v5.4.5...v5.4.6
- Added new mail template for Double-Opt-In used by blog article evaluations:
sOPTINBLOGCOMMENT - Added
sitemap.batchsizeconfig option to configure the amount of collected products per process in the SitemapXMLRepository - Added
logger.levelconfig option, to define log level. Default in production is levelERROR - Added new option in backend to seperate Double-Opt-In for quick orderers from the normal registration, this includes:
- New snippet
RegisterInfoSuccessOptinAccountless - New mail template
sOPTINREGISTERACCOUNTLESS
- New snippet
- Added Cookie Modes
technicaland astricttechnicalallows by default only technically required cookies, other cookies will be set after permissionstrictdoes not allow to set cookies, until permissions are given
- Added new method
hasCookiesAllowedto the StateManager, to check that cookie permissions are given - Added new method
removeCookietoEnlight_Controller_Response_ResponseHttpto remove specific cookie. Will be added to the interfaceEnlight_Controller_Response_Responsein 5.5
- Changed error behaviour of blog article evaluations when the Double-Opt-In confirmation link is invalid
- Changed behaviour of the notification plugin, so that it will only notify the customer if the stock is at least as high as the minimal purchase amount
- Changed
SitemapXMLRepositoryto collect 10.000 products in batch, because of elastic search limitations - Changed
VariantFilterto work with MariaDB - Changed error in language handling of mail templates
- Changed listing filters to work on mobile devices
- Changed listing controller to load custom templates on pages containing an emotion component
- Changed Notification plugin behaviour to also be displayed if the minimal purchase is higher than stock
- Changed "My orders" in account to also show when ESD is disabled
- Changed EnlightMailHandler to only handle errors
- Changed
Shopware\Components\HttpCache\CacheWarmerto log 404 as notice - Changed Zend locales to match their names
- Changed the english
sOPTINREGISTERmail template - Changed range slider to fix rounding problems
- Changed variant search to toggle join prices with
hideNoInStockconfiguration - Changed Double-Opt-In setting for comments/ratings on products and blog articles to be off by default
- Changed field
remoteaddrin tables_statistics_poolto contain a hash instead of the real IP of a visitor
View all changes from v5.4.4...v5.4.5
- Added anonymization of IP addresses, activated by default
- Added new Smarty blocks to
themes/Frontend/Bare/frontend/account/sidebar.tpl:frontend_account_menu_logout_onetimeaccountfrontend_account_menu_logout_onetimeaccount_linkfrontend_account_menu_logout_onetimeaccount_link_textfrontend_account_menu_link_addresses_inHeaderfrontend_account_menu_link_addresses_notInHeaderfrontend_account_menu_link_overview_SltCookiefrontend_account_menu_link_overview_link
- Added check to smarty block
frontend_index_footer_column_newsletter_privacyto avoid double confirmation of privacy settings - Added Double-Opt-In for customer registration
- Added new notify event, which will be thrown when awaiting Double-Opt-In confirmation:
Shopware_Modules_Admin_SaveRegister_Successful - Added two new filter events:
Shopware_Controllers_Frontend_RegisterService_DoubleOptIn_ConfirmationMailwill be thrown before the confirmation Mail will be sentShopware_Controllers_Frontend_Register_DoubleOptIn_ResendMailwill be thrown before an new confirmation Mail will be sent
- Added Cronjob, which deletes every registered but not verified user after a configurable amount of days
- Added two new Smarty-Blocks in
frontend/register/index.tpl:frontend_register_index_form_optin_success&frontend_register_index_form_optin_invalid_hash
- Added new notify event, which will be thrown when awaiting Double-Opt-In confirmation:
- Added new Cronjob
OptinCleanup, which uses the interval-setting from Double-Opt-In register to cleanup every shopware opt-in from thes_core_optintable except Double-Opt-In register
- Changed xml files in
engine/Library/Zend/Locale/Datato be more up-to-date - Changed behaviour of account controller for onetime accounts, which now redirects to checkout
- Changed account-sidebar window to only display a
close guest sessionoption
- Changed account-sidebar window to only display a
- Changed error handling of missing blog articles or CMS pages, the configured setting in the backend is now respected
- Changed the translation logic for config elements of types
comboandselectto consider translations other than for the non-standardenlocale, but to instead try the user's locale,en_GBandenas fallbacks before resorting to the first defined (by array index) translation. - Changed behaviour of the Zend/Mail/Protocol classes according to the Zend upstream repository
- the TLS protocol version used when sending E-Mails is not determined solely by the
STREAM_CRYPTO_METHOD_TLS_CLIENTconstant anymore. IfSTREAM_CRYPTO_METHOD_TLSv1_2_CLIENTis available, TLSv1.1 and TLSv1.2 are added to the usable protocol versions.
- the TLS protocol version used when sending E-Mails is not determined solely by the
- Changed some texts to fix its typos
- Changed opt-in types: Every Shopware opt-in now saves a specific name into
s_core_optinwith the prefixsw - Changed Tinymce to fix a problem with image replacements
View all changes from v5.4.3...v5.4.4
- Added newsletter registration check
- Added Double-Opt-In information for newsletter registrations
- Added database column
double_optin_confirmedins_campaigns_mailaddressesands_campaigns_maildata - Added
Opt-In confirmedcolumn in backend recipients overview
- Added database column
- Added debug logs to deprecated methods which will be removed in 5.5. The using of deprecated methods will create debug logs, if Shopware is not running in production mode.
- Added possibility to config elements to override
queryModeoption - Added workaround for disabled localStorage in browser
- Added the following arguments to
notifyeventShopware_CronJob_RefreshSeoIndex_CreateRewriteTable:shopContext– The context of the shop being processedcachedTime–\DateTimeinstance used for the new entries
- Added Smarty block
frontend_register_back_to_shop_buttontothemes/Frontend/Bare/frontend/register/index.tpl - Added Smarty blocks to
themes/Frontend/Bare/frontend/listing/actions/action-filter-facets.tpl:frontend_listing_actionsfrontend_listing_actions_facet
- Added filter event
TemplateMail_CreateMail_Available_Theme_Configto allow extension of theme variables made available to the mail templates - Added new configuration to set shopware store timeout and connection_timeout
- Added JS, less and theme template files to md5 filecheck
- Added OpenSans woff2-Files to responsive fonts
- Added button to the customer backend module to unlock a locked customer
- Changed Tinymce editor to resolve placeholder images on initialization
- Changed product notification to match the documented feature
- Changed AJAX search to respect the basic setting for direct number searches and show the same results as the normal search
- Changed information of backend recipients overview
Double-Opt-In dateis nowRegister date, which doesn't display the Double-Opt-In confirmation date anymore
- Changed TemplateMail to work without shop context or shops without templates
- Changed Symfony version to v2.8.41
- Changed ReflectionHelper to work with Windows
- Changed
Unknown pathSmarty error to work with Windows - Changed
Shopware\Recovery\UpdateFilePermissionChangerto make it PHP 7 compatible - Changed
manufacturerNumberfield type in elasticsearch to improve search for manufacturer numbers - Changed default sorting of the customer list to the order of creation
- Changed behaviour of closeout condition to work with product streams
- Changed Font-Face settings to fix rendering if
OpenSansis locally available - Changed following classes to use interface instead class as typehint
Shopware\Bundle\SearchBundleDBAL\ConditionHandler\HeightConditionHandlerShopware\Bundle\SearchBundleDBAL\ConditionHandler\ImmediateDeliveryConditionHandlerShopware\Bundle\SearchBundleDBAL\ConditionHandler\LengthConditionHandlerShopware\Bundle\SearchBundleDBAL\ConditionHandler\WeightConditionHandlerShopware\Bundle\SearchBundleDBAL\FacetHandler\CategoryFacetHandlerShopware\Bundle\SearchBundleDBAL\FacetHandler\ImmediateDeliveryFacetHandlerShopware\Bundle\SearchBundleDBAL\FacetHandler\ProductDimensionsFacetHandlerShopware\Bundle\SearchBundleDBAL\ListingPriceSwitcher
- Changed
Mediaresource to fix a problem with file names set via API - Changed behaviour of unchecked ToS-checkbox in checkout to hint the missing input, especially on iOS
- Changed privacy policy checkbox setting to automatically activate privacy policy text being displayed
- Changed PluginManager rangeDownloadAction and extractAction to no longer use the provided URL parameters
View all changes from v5.4.2...v5.4.3
- Added new events to
Shopware_Controllers_Widgets_Listing::listingCountActionto modify view variables before the template is fetchedShopware_Controllers_Widgets_Listing_fetchListing_preFetchShopware_Controllers_Widgets_Listing_fetchPagination_preFetch
- Added a new category for the basic setting containing privacy options
- Added possibility to enable/disable data protection information texts
- Added theme data to the mail context
- Added cron job for deleting canceled orders
- Added cron job for deleting accountless users
- Changed input validation to fix possible authenticated SQLi vulnerability in the backend
- Changed .htaccess file to prohibit download of .env files
- Changed behaviour of media/temp files, which now will be deleted if they are uploaded
- Changed "Send E-Mails" checkbox in batch processing window of order to be enabled by default again
- Changed behaviour of inactive forms to act like any other missing page
- Changed API behaviour on update, when the lastStock parameter is set for a product its applied to its mainDetail aswell (like on creation)
- Changed newsletter recipient count to work correctly with customer streams
- Changed position of several privacy options to a new basic setting category "Privacy"
- Changed search indexer to make the keyword batch size configurable using the key
search.indexer.batchsizein theconfig.php
- Removed now empty "Cookie hint" basic setting category in backend
View all changes from v5.4.1...v5.4.2
- Added possibility to enable/disable forms without having to delete them
- Added pagination to the attribute filter of the product stream configurator
- Added
jsonattribute for snippets inEnlight_Components_Snippet_Resource- You may now set the attribute
json='true'on smarty snippets, the content of the snippet will then be encoded viajson_encode()- Example:
{s json='true' name='foo'}é"'#-_*+`{/s}will render as"\u00e9\"'#-_*+`" - Safely constructing a JS object:
{ "someProp": {s json='true' name='your/snippet'}{/s} }
- Example:
- You may now set the attribute
- Changed password verification process for password protected actions in backend
- Changed behaviour of search indexer to allow product attribute search
- Changed hashing algorithm for product variant search join table aliases to prevent errors on 32bit systems
- Changed SMTP password input type in base config from plaintext to password
- Changed detail page behaviour with preselection variants which onsale-flag is active
- Changed note counting to fix an error which displays 0 notes when adding the first note
- Changed construction of ProductSearchResult-object to fix error in stream listing count
View all changes from v5.4.0...v5.4.1
- Added new optional parameter
$filterGroupIdstoPropertyGatewayInterface.phpfor proper property sorting in a listing - Added variant filtering to selection product streams
- Added
queryModeoption to select- and comboboxes inengine/Shopware/Controllers/Backend/Config.php - Added theme configuration information to newsletter templates
- Added Smarty blocks to
newsletter/index/index.tpl:newsletter_index_startnewsletter_index_doctypenewsletter_index_html_attributesnewsletter_index_index_headnewsletter_index_body_attributesnewsletter_index_tablenewsletter_index_table_innernewsletter_index_table_inner_headernewsletter_index_table_inner_contentnewsletter_index_table_inner_footernewsletter_index_log
- Added Smarty blocks to
newsletter/index/footer.tpl:newsletter_footer_table_uppernewsletter_footer_table_navigationnewsletter_footer_table_tax_noticenewsletter_footer_table_lowernewsletter_footer_table_lower_links
- Added Smarty blocks to
newsletter/index/header.tpl:newsletter_headernewsletter_header_contentnewsletter_header_content_logonewsletter_header_content_title
- Added view variable
sCategoryContentto thelistingCountActionof the controllerShopware_Controllers_Widgets_Listing
- Changed Smarty to improve error message when a template extends a parent template and said parent does not exist
- Changed cloning of
Enlight_Template_Managerobject to preserve reference of the security policy to the instance - Changed newsletter logo from a static file to the active themes logo
- Changed condition in
sBasket::sGetAmountRestrictedArticles, it now also checks for an empty$articlesarray - Changed
ImmediateDeliveryConditionHandler(DBAL and ES) and product indexing to improve variant filtering
- Removed deprecated blocks
frontend_detail_data_liveshoppingandfrontend_detail_data_price_infofromfrontend/detail/data.tpl
View all changes from v5.3.7...v5.4.0
-
Added database field
s_articles_details.laststockto be able to define per variant if said variant is available when the stock is lower or equal to 0 -
Added
lastStockfield to\Shopware\Models\Article\Detail -
Added database field
garbage_collectable TINYINT(1) DEFAULT 1to tables_media_albumto define if an album is to be considered by thesw:media:cleanupcommand. The flag can be toggled in the album settings. -
Added product box layout selection support for manufacturer listings
-
Added destroy method to
swJumpToTabjQuery plugin -
Added option to discard Less/Javascript files of extended themes. More information
-
Added multi-select feature when assigning variant configurations to product images
-
Added variant configuration information in the image information panel
-
Added DIC parameters:
shopware.release.versionThe version of the Shopware installation (e.g. '5.4.0')shopware.release.version_textThe version_text of the Shopware installation (e.g. 'RC1')shopware.release.revisionThe revision of the Shopware installation (e.g. '20180081547')
-
Added new service in the DIC containing all parameters above
shopware.releaseA new struct of type\Shopware\Components\ShopwareReleaseStructcontaining all parameters above
-
Added several paths to the DIC:
shopware.plugin_directories.projectpluginsPath to project specific plugins, see Composer projectshopware.template.templatedirPath to the themes foldershopware.app.rootDirPath to the root of your projectshopware.app.downloadsdirPath to the downloads foldershopware.app.documentsdirPath to the generated documents foldershopware.web.webdirPath to the web foldershopware.web.cachedirPath to the web-cache folder
These paths are configurable in the
config.php, seeengine/Shopware/Configs/Default.phpfor defaults -
Added all additional article columns to product import/export
-
Added backend config option
logMailLevelto choose the minimum log level for sending e-mail notifications -
Added snippet
frontend/detail/data/DetailDataPriceInfoin ajax cart template -
Added snippet
frontend/detail/DetailCommentAnonymousNamefor anonymous product ratings -
Added block
frontend_checkout_ajax_cart_prices_infoinfrontend/checkout/ajax_cart.tpl -
Added config
preLoadStoredEntrytoShopware.form.field.PagingComboBoxto be compatible with saving and loading entries from e.g. the second page. -
Added order attributes to return values of
OrderRepository::getDetails -
Added option for batch updating plugins to plugin update command
-
Added defaults for
ignored_url_parameterssetting of HTTP cache inconfig.php. See Ignore some HTTP parameters for more information. -
Added optional
idparameter togetTemplatesActioninengine/Shopware/Controllers/Backend/Emotion.phpto allow fetching of a single template -
Added new filter event
Shopware_Controllers_Backend_Emotion_Detail_Filter_ValuestoShopware/Controllers/Backend/Emotion.phpto allow manipulation of elements
- Changed the event selectors to make them configurable in the
swJumpToTabjQuery plugin \Shopware\Bundle\SearchBundle\ProductSearchResult::__constructrequires now the used Criteria and ShopContext object- Changed route to POST to be more HTTP compliant
- Changed all writing actions to POST to be more HTTP compliant.
- Checkout actions:
finish
- Basket actions
addArticleaddAccessoriesaddPremiumchangeQuantitydeleteArticlesetAddressajaxAddArticleajaxAddArticleCartajaxDeleteArticleajaxDeleteArticleCart
- Checkout actions:
- Changed JSONP requests to JSON in the following Frontend controllers:
- Controller List
- Frontend/AjaxSearch.php
- Frontend/Checkout.php
- Frontend/Compare.php
- Frontend/Note.php
- Widgets/Listing.php
- Controller List
- Changed the paging in a listing so that using it while using the live filter reloading will now scroll to the top paging bar
- Changed name field in product ratings to be optional
- Changed loading of the themes/_private folder to be always executed
- Changed the
checkOrderStatusmethod inShopware_Controllers_Backend_Orderto only send e-mails when necessary - Changed
themes/Backend/ExtJs/backend/order/controller/batch.jsto inform the user about configuration errors - Changed
themes/Backend/ExtJs/backend/order/view/batch/form.jsto allow for more precise form validation and better feedback to the user - Changed rounding of prices to two decimal digits in
engine/Shopware/Bundle/StoreFrontBundle/Service/Core/PriceCalculator.phpandengine/Shopware/Core/sArticles.php - Changed Mpdf version to 6.1.4 and added it to the autoloader, so a
require()isn't necessary anymore - Changed Symfony version to 2.8.34
- Removed config option for maximum number of category pages
- Removed "Force http canonical url" setting in basic settings as it is obsolete
- Removed config option
template_security['enabled']for toggling smarty security - Removed config option
blogcategoryandbloglimit - Removed the "Show more products" button beneath an emotion when the category itself has no products to be shown
- Removed support for separate SSL host and SSL path. Also the
Use SSLandAlways SSLoptions were merged.-
Removed database fields
s_core_shops.secure_hosts_core_shops.secure_base_paths_core_shops.always_secure
-
Removed methods
\Shopware\Bundle\StoreFrontBundle\Struct\Shop::setSecureHost\Shopware\Bundle\StoreFrontBundle\Struct\Shop::getSecureHost\Shopware\Bundle\StoreFrontBundle\Struct\Shop::setSecurePath\Shopware\Bundle\StoreFrontBundle\Struct\Shop::getSecurePath\Shopware\Components\Routing\Context::getSecureHost\Shopware\Components\Routing\Context::setSecureHost\Shopware\Components\Routing\Context::getSecureBaseUrl\Shopware\Components\Routing\Context::setSecureBaseUrl\Shopware\Components\Routing\Context::isAlwaysSecure\Shopware\Components\Routing\Context::setAlwaysSecure\Shopware\Models\Shop\Shop::getSecureHost\Shopware\Models\Shop\Shop::setSecureHost\Shopware\Models\Shop\Shop::getSecureBasePath\Shopware\Models\Shop\Shop::setSecureBasePath\Shopware\Models\Shop\Shop::getSecureBaseUrl\Shopware\Models\Shop\Shop::setSecureBaseUrl\Shopware\Models\Shop\Shop::getAlwaysSecure\Shopware\Models\Shop\Shop::setAlwaysSecure
-
Changed methods
\Shopware\Components\Theme\PathResolver::formatPathToUrlThe method signature no longer contains theisSecureRequestparameter
-
- Deprecated
forceSecureandsUseSSLsmarty flags. They are now without function. - Deprecated constants
Shopware::VERSION,Shopware::VERSION_TEXTandShopware::REVISION, they will be removed in Shopware v5.6. This information can now be retrieved from the DIC.- New, alternative DIC parameters:
shopware.release.versionThe version of the Shopware installation (e.g. '5.4.0')shopware.release.version_textThe version_text of the Shopware installation (e.g. 'RC1')shopware.release.revisionThe revision of the Shopware installation (e.g. '20180081547')
- New, alternative DIC service:
shopware.releaseA new struct of type\Shopware\Components\ShopwareReleaseStructcontaining all parameters above
- New, alternative DIC parameters:
- Deprecated
lastStockfield in\Shopware\Models\Article\Articleas the field has been moved to the variants. It will be removed in 6.0. - Deprecated
laststockcolumn ins_articlessince this field has been moved to the variants. It will be removed in 6.0 - Deprecated
articleIdcolumn ins_articles_attributestable, it will be removed in Shopware version 5.5 as it isn't used anymore since version 5.2 - Deprecated SEO support for the following AJAX routes, see
themes/Frontend/Bare/frontend/index/index.tpl:/checkout/ajaxCart/register/index/checkout/addArticle/widgets/Listing/ajaxListing/checkout/ajaxAmount/address/ajaxSelection/address/ajaxEditor
- Deprecated
\Shopware\Models\Order\Document\Type, use\Shopware\Models\Document\Documentinstead. The old document type will be removed with 5.5.