<commit_before># Shopware Upgrade Information
In this document you will find a changelog of the important changes related to the code base of Shopware.

## 5.2.0 DEV
* Increased minimum required PHP version to PHP >= 5.6.4.
* Added CSRF protection to the backend which is enabled by default.
    * OptOut by implementing `CSRFWhitelistAware` interface
    * Added `X-CSRF-Token` to every ajax request
    * Added `__csrf_token` param to every ExtJS form submit via override in `ExtJs/overrides/Ext.form.Base.js`
    * See: https://developers.shopware.com/developers-guide/csrf-protection/
* Update Symfony Components to version 2.8 LTS
* Replace polyfill provided by `indigophp/hash-compat` with `symfony/polyfill-php56`
* Added polyfill for `random_bytes()` and `random_int()` via `paragonie/random_compat`
* Removed `client_check` and `referer_check` from the config in favor of the CSRF protection.
* Removed session variables `__SW_REFERER` and `__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_class` column to the `s_emotion_elements` table.
* Removed deprecated columns `s_filter_values.value_numeric` and `s_filter_options.default`
* Updated `monolog/monolog` to version 1.17.2
* Add CSRF protection to frontend and backend which is enabled by default.
    * OptOut by implementing `CSRFWhitelistAware` interface
    * Add `X-CSRF-Token` to every ajax request
    * Add `__csrf_token` to every html form in frontend
    * Add `csrfProtection` config options to disable CSRF protection
    * See: https://developers.shopware.com/developers-guide/csrf-protection/
    * Special thanks to: [ltepner](https://github.com/ltepner)
* Add 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
* Add the following fields to status emails:
    * `billing_additional_address_line1`
    * `billing_additional_address_line2`
    * `shipping_additional_address_line1`
    * `shipping_additional_address_line2`
* Replaced `bower` with `npm` to 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 under `public/src/less/_components/fonts.less`
* Deprecated `Shopware_Bootstrap` and `Enlight_Bootstrap` commonly accesed by `Shopware()->Bootstrap()`.
* Removed deprecated methods and variables:
    * `sArticle.sVoteAverange` in product listings
    * `sNote.sVoteAverange` in note listing
    * `blog.media.path`<commit_msg>SW-14849 - Create upgrade guide<commit_after># Shopware Upgrade Information
In this document you will find a changelog of the important changes related to the code base of Shopware.

## 5.2.0 DEV
* 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\CSRFWhitelistAware` interface
    * Added `X-CSRF-Token` to every ajax request
    * Added `__csrf_token` to every html form in frontend
    * Added `__csrf_token` param to every ExtJS form submit via override in `ExtJs/overrides/Ext.form.Base.js`
    * Added `csrfProtection` config options to disable CSRF protection
    * See: https://developers.shopware.com/developers-guide/csrf-protection/
* Updated Symfony Components to version 2.8 LTS
* Replaced polyfill provided by `indigophp/hash-compat` with `symfony/polyfill-php56`
* Added polyfill for `random_bytes()` and `random_int()` via `paragonie/random_compat`
* Removed `client_check` and `referer_check` from the config in favor of the CSRF protection.
* Removed session variables `__SW_REFERER` and `__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_class` column to the `s_emotion_elements` table.
* Removed deprecated columns `s_filter_values.value_numeric` and `s_filter_options.default`
* Updated `monolog/monolog` to 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_line1`
    * `billing_additional_address_line2`
    * `shipping_additional_address_line1`
    * `shipping_additional_address_line2`
* Replaced `bower` with `npm` to 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 under `public/src/less/_components/fonts.less`
* Deprecated `Shopware_Bootstrap` and `Enlight_Bootstrap` commonly accesed by `Shopware()->Bootstrap()`.
* Removed deprecated methods and variables:
    * `sArticle.sVoteAverange` in product listings
    * `sNote.sVoteAverange` in note listing
    * `blog.media.path`
{'fraction_non_alphanumeric': 0.07550982913834282, 'fraction_numerical': 0.00753261069263274, 'mean_word_length': 4.612371134020618, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 7, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6554330', 'n_tokens_mistral': 1644, 'n_tokens_neox': 1562, 'n_words': 592}