diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index f191bd9aaba67..9d66ee40d6f59 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -35,4 +35,4 @@
- [ ] Pull request has a meaningful description of its purpose
- [ ] All commits are accompanied by meaningful commit messages
- [ ] All new or changed code is covered with unit/integration tests (if applicable)
- - [ ] All automated tests passed successfully (all builds on Travis CI are green)
+ - [ ] All automated tests passed successfully (all builds are green)
diff --git a/.gitignore b/.gitignore
index 75e5f11d8a8e7..a79b7990a7576 100644
--- a/.gitignore
+++ b/.gitignore
@@ -49,6 +49,8 @@ atlassian*
/pub/media/import/*
!/pub/media/import/.htaccess
/pub/media/logo/*
+/pub/media/custom_options/*
+!/pub/media/custom_options/.htaccess
/pub/media/theme/*
/pub/media/theme_customization/*
!/pub/media/theme_customization/.htaccess
diff --git a/.htaccess b/.htaccess
index 4298b10d9ca7a..cc59be5480798 100644
--- a/.htaccess
+++ b/.htaccess
@@ -29,6 +29,8 @@
############################################
## default index file
+## Specifies option, to use methods arguments in backtrace or not
+ SetEnv MAGE_DEBUG_SHOW_ARGS 1
DirectoryIndex index.php
@@ -364,6 +366,15 @@
Require all denied
+
+
+ order allow,deny
+ deny from all
+
+ = 2.4>
+ Require all denied
+
+
# For 404s and 403s that aren't handled by the application, show plain 404 response
ErrorDocument 404 /pub/errors/404.php
diff --git a/.htaccess.sample b/.htaccess.sample
index a521a347232f5..b405fd3a22b75 100644
--- a/.htaccess.sample
+++ b/.htaccess.sample
@@ -341,6 +341,15 @@
Require all denied
+
+
+ order allow,deny
+ deny from all
+
+ = 2.4>
+ Require all denied
+
+
# For 404s and 403s that aren't handled by the application, show plain 404 response
ErrorDocument 404 /pub/errors/404.php
diff --git a/.travis.yml b/.travis.yml.sample
similarity index 100%
rename from .travis.yml
rename to .travis.yml.sample
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 95772083f3a76..4fb34dd58c46d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,623 @@
+2.2.8
+=============
+* GitHub issues:
+ * [#15196](https://github.com/magento/magento2/issues/15196) -- 2.2.4 : Magento 2 integration tests enables all modules (fixed in [magento/magento2#16361](https://github.com/magento/magento2/pull/16361))
+ * [#13720](https://github.com/magento/magento2/issues/13720) -- Only 2 related products are showing in backend . (fixed in [magento/magento2#17885](https://github.com/magento/magento2/pull/17885))
+ * [#14050](https://github.com/magento/magento2/issues/14050) -- Import related products issue (fixed in [magento/magento2#17885](https://github.com/magento/magento2/pull/17885))
+ * [#17890](https://github.com/magento/magento2/issues/17890) -- Magento 2.2.5 Product swatches does not shows correct value for related store view (fixed in [magento/magento2#17891](https://github.com/magento/magento2/pull/17891))
+ * [#17567](https://github.com/magento/magento2/issues/17567) -- Currency symbol cannot be changed back to default value from admin panel in Single-store mode (fixed in [magento/magento2#17966](https://github.com/magento/magento2/pull/17966))
+ * [#5402](https://github.com/magento/magento2/issues/5402) -- Menu does not work when you change from Mobile to Desktop mode (fixed in [magento/magento2#17990](https://github.com/magento/magento2/pull/17990))
+ * [#13405](https://github.com/magento/magento2/issues/13405) -- No such entity error when saving product in single-store mode if website_id <> 1 (fixed in [magento/magento2#18001](https://github.com/magento/magento2/pull/18001))
+ * [#5797](https://github.com/magento/magento2/issues/5797) -- [2.1.0] module:uninstall can remove code it uses itself (fixed in [magento/magento2#18002](https://github.com/magento/magento2/pull/18002))
+ * [#17780](https://github.com/magento/magento2/issues/17780) -- Module uninstall does not work with composer (fixed in [magento/magento2#18002](https://github.com/magento/magento2/pull/18002))
+ * [#7557](https://github.com/magento/magento2/issues/7557) -- Backend Security key broken for controllers with frontname not equal to route ID (fixed in [magento/magento2#18018](https://github.com/magento/magento2/pull/18018))
+ * [#12095](https://github.com/magento/magento2/issues/12095) -- Update 2.2.1: One or more integrations have been reset because of a change to their xml configs. (fixed in [magento/magento2#14065](https://github.com/magento/magento2/pull/14065))
+ * [#17582](https://github.com/magento/magento2/issues/17582) -- ./bin/magento config:show fails with a fatal error (fixed in [magento/magento2#17993](https://github.com/magento/magento2/pull/17993))
+ * [#17999](https://github.com/magento/magento2/issues/17999) -- Sitemap grid display incorrect base URL in the grid if using multiple stores (fixed in [magento/magento2#18000](https://github.com/magento/magento2/pull/18000))
+ * [#9830](https://github.com/magento/magento2/issues/9830) -- Null order in Magento\Sales\Block\Order\PrintShipment.php (fixed in [magento/magento2#17998](https://github.com/magento/magento2/pull/17998))
+ * [#10530](https://github.com/magento/magento2/issues/10530) -- Print order error on magento 2.1.8 (fixed in [magento/magento2#17998](https://github.com/magento/magento2/pull/17998))
+ * [#10440](https://github.com/magento/magento2/issues/10440) -- Missing $debugHintsPath when sending email via command (fixed in [magento/magento2#17984](https://github.com/magento/magento2/pull/17984))
+ * [#18079](https://github.com/magento/magento2/issues/18079) -- Inconsistent return type for getStoreId() (fixed in [magento/magento2#18086](https://github.com/magento/magento2/pull/18086))
+ * [#18138](https://github.com/magento/magento2/issues/18138) -- WYSIWYG editor fails to parse directives of files with special characters in URL (so random files) (fixed in [magento/magento2#18215](https://github.com/magento/magento2/pull/18215))
+ * [#18101](https://github.com/magento/magento2/issues/18101) -- Wrong sort order for customer groups in customer grid filter (fixed in [magento/magento2#18280](https://github.com/magento/magento2/pull/18280))
+ * [#17977](https://github.com/magento/magento2/issues/17977) -- Show Method if Not Applicable for Free Shipping doesn't work. (fixed in [magento/magento2#17982](https://github.com/magento/magento2/pull/17982))
+ * [#17023](https://github.com/magento/magento2/issues/17023) -- CSV Import of `sku,attribute` empties `url_key` value (fixed in [magento/magento2#17882](https://github.com/magento/magento2/pull/17882))
+ * [#18330](https://github.com/magento/magento2/issues/18330) -- Checkout - Infinite loading indicator when server returned error (fixed in [magento/magento2#18369](https://github.com/magento/magento2/pull/18369))
+ * [#16497](https://github.com/magento/magento2/issues/16497) -- Magento 2.2.5: Google Analytics not added to head correctly (fixed in [magento/magento2#18375](https://github.com/magento/magento2/pull/18375))
+ * [#17152](https://github.com/magento/magento2/issues/17152) -- Failure of "Send Order Email Copy" spams customers, every minute, forever. (fixed in [magento/magento2#18376](https://github.com/magento/magento2/pull/18376))
+ * [#18162](https://github.com/magento/magento2/issues/18162) -- Cannot edit customer using inline edit if password is expired (fixed in [magento/magento2#18414](https://github.com/magento/magento2/pull/18414))
+ * [#3283](https://github.com/magento/magento2/issues/3283) -- «Yes/No» attributes should be allowed in the Layered Navigation (fixed in [magento/magento2#17823](https://github.com/magento/magento2/pull/17823))
+ * [#17493](https://github.com/magento/magento2/issues/17493) -- Catalog Rule & Selected Categories with level > 3 (fixed in [magento/magento2#18175](https://github.com/magento/magento2/pull/18175))
+ * [#17770](https://github.com/magento/magento2/issues/17770) -- Table rate fail when using ZIP+4 shipping address (fixed in [magento/magento2#18166](https://github.com/magento/magento2/pull/18166))
+ * [#13156](https://github.com/magento/magento2/issues/13156) -- Updating attribute option data through API will set unwanted source_model on the attribute (fixed in [magento/magento2#18390](https://github.com/magento/magento2/pull/18390))
+ * [#17190](https://github.com/magento/magento2/issues/17190) -- system.log rapidly increasing after Magento CE 2.2.5 update (cron logs) (fixed in [magento/magento2#18389](https://github.com/magento/magento2/pull/18389))
+ * [#15085](https://github.com/magento/magento2/issues/15085) -- StockRegistryInterface :: getLowStockItems() returns StockStatusCollection instead of StockItemCollection (fixed in [magento/magento2#18427](https://github.com/magento/magento2/pull/18427))
+ * [#15652](https://github.com/magento/magento2/issues/15652) -- REST API create order POST /V1/orders (fixed in [magento/magento2#15683](https://github.com/magento/magento2/pull/15683))
+ * [#4942](https://github.com/magento/magento2/issues/4942) -- On editing a Bundle product from shopping cart the user defined quantities of the options are overwritten (fixed in [magento/magento2#15905](https://github.com/magento/magento2/pull/15905))
+ * [#17514](https://github.com/magento/magento2/issues/17514) -- Add Australian regions (fixed in [magento/magento2#17516](https://github.com/magento/magento2/pull/17516))
+ * [#12479](https://github.com/magento/magento2/issues/12479) -- Saving Customer Model directly causes loss of data (fixed in [magento/magento2#17968](https://github.com/magento/magento2/pull/17968))
+ * [#9219](https://github.com/magento/magento2/issues/9219) -- Custom Product Attribute changes 'backend_type' when 'is_user_defined = 1' and get updated/saved in Admin Backend (fixed in [magento/magento2#18196](https://github.com/magento/magento2/pull/18196))
+ * [#18164](https://github.com/magento/magento2/issues/18164) -- Checkout - Cannot read property 'code' of undefined (fixed in [magento/magento2#18495](https://github.com/magento/magento2/pull/18495))
+ * [#14555](https://github.com/magento/magento2/issues/14555) -- Communication's component validator does not propagate exceptions, obscuring the cause of the error (fixed in [magento/magento2#18554](https://github.com/magento/magento2/pull/18554))
+ * [#18477](https://github.com/magento/magento2/issues/18477) -- Set maximum Qty Allowed in Shopping Cart is 0 still allow adding to cart (fixed in [magento/magento2#18552](https://github.com/magento/magento2/pull/18552))
+ * [#12070](https://github.com/magento/magento2/issues/12070) -- M2.2.0 Admin Grid column ordering/positioning not working when single store mode set On (fixed in [magento/magento2#18561](https://github.com/magento/magento2/pull/18561))
+ * [#18581](https://github.com/magento/magento2/issues/18581) -- Calendar Icon aligement Issue (fixed in [magento/magento2#18593](https://github.com/magento/magento2/pull/18593))
+ * [#18585](https://github.com/magento/magento2/issues/18585) -- Navigation arrows zoomed fotorama disappear (fixed in [magento/magento2#18595](https://github.com/magento/magento2/pull/18595))
+ * [#12969](https://github.com/magento/magento2/issues/12969) -- processor.php getHostUrl() does not detect the server port correctly (fixed in [magento/magento2#18659](https://github.com/magento/magento2/pull/18659))
+ * [#14510](https://github.com/magento/magento2/issues/14510) -- Creating custom customer attribute with default value 0 will cause not saving value for customer entity (fixed in [magento/magento2#16915](https://github.com/magento/magento2/pull/16915))
+ * [#18234](https://github.com/magento/magento2/issues/18234) -- Product Import -> Upsert Category: Url Rewrites are just created for default website (fixed in [magento/magento2#18563](https://github.com/magento/magento2/pull/18563))
+ * [#5929](https://github.com/magento/magento2/issues/5929) -- Saving Product does not update URL rewrite in Magento 2.1.0 (fixed in [magento/magento2#18566](https://github.com/magento/magento2/pull/18566))
+ * [#18532](https://github.com/magento/magento2/issues/18532) -- Module Catalog: product "Save and Duplicate" causes getting infinite loop (fixed in [magento/magento2#18566](https://github.com/magento/magento2/pull/18566))
+ * [#18131](https://github.com/magento/magento2/issues/18131) -- Entity Type ID at Join (fixed in [magento/magento2#18658](https://github.com/magento/magento2/pull/18658))
+ * [#15259](https://github.com/magento/magento2/issues/15259) -- Advanced Reporting > Unable to disable without providing Industry value (fixed in [magento/magento2#15366](https://github.com/magento/magento2/pull/15366))
+ * [#18094](https://github.com/magento/magento2/issues/18094) -- Should getQty() return int/float or string? (fixed in [magento/magento2#18424](https://github.com/magento/magento2/pull/18424))
+ * [#18534](https://github.com/magento/magento2/issues/18534) -- Bug when 2 wysiwyg editors are on category edit page or product edit page (fixed in [magento/magento2#18535](https://github.com/magento/magento2/pull/18535))
+ * [#18589](https://github.com/magento/magento2/issues/18589) -- Empty cart button does not work (fixed in [magento/magento2#18597](https://github.com/magento/magento2/pull/18597))
+ * [#18268](https://github.com/magento/magento2/issues/18268) -- M2.2.6 : Special price of 0.0000 is not shown on frontend, but is calculated in cart (fixed in [magento/magento2#18604](https://github.com/magento/magento2/pull/18604))
+ * [#17954](https://github.com/magento/magento2/issues/17954) -- Customer get unsubscribe to newsletter on password reset email request with Newsletter Need to Confirm Set to Yes on admin settings (fixed in [magento/magento2#18643](https://github.com/magento/magento2/pull/18643))
+ * [#16939](https://github.com/magento/magento2/issues/16939) -- Incorrect configuration scope is occasionally returned when attempting to resolve a null scope id (fixed in [magento/magento2#16940](https://github.com/magento/magento2/pull/16940))
+ * [#18264](https://github.com/magento/magento2/issues/18264) -- M2.2.6 : "Order by price" not working in product listing (fixed in [magento/magento2#18737](https://github.com/magento/magento2/pull/18737))
+ * [#17638](https://github.com/magento/magento2/issues/17638) -- Bundle Special Prices not correctly rounded (fixed in [magento/magento2#17971](https://github.com/magento/magento2/pull/17971))
+ * [#17865](https://github.com/magento/magento2/issues/17865) -- import new products via csv: products are created with empty value when strings are too long (fixed in [magento/magento2#18591](https://github.com/magento/magento2/pull/18591))
+ * [#12300](https://github.com/magento/magento2/issues/12300) -- SKU values are not trimmed with the space. (fixed in [magento/magento2#18862](https://github.com/magento/magento2/pull/18862))
+ * [#16572](https://github.com/magento/magento2/issues/16572) -- Trim whitespace on SKU when saving product (fixed in [magento/magento2#18862](https://github.com/magento/magento2/pull/18862))
+ * [#18458](https://github.com/magento/magento2/issues/18458) -- Magento version 2.2.6 Alert widget gets close when click anywhere on screen (fixed in [magento/magento2#18865](https://github.com/magento/magento2/pull/18865))
+ * [#18779](https://github.com/magento/magento2/issues/18779) -- Translation issue send-friend in sendphtml (fixed in [magento/magento2#18886](https://github.com/magento/magento2/pull/18886))
+ * [#18913](https://github.com/magento/magento2/issues/18913) -- Global-search icon misaligned (fixed in [magento/magento2#18917](https://github.com/magento/magento2/pull/18917))
+ * [#17488](https://github.com/magento/magento2/issues/17488) -- Authenticating a customer via REST API does not update the last logged in data (fixed in [magento/magento2#17978](https://github.com/magento/magento2/pull/17978))
+ * [#4468](https://github.com/magento/magento2/issues/4468) -- Unable to insert multiple catalog product list widgets in CMS page (fixed in [magento/magento2#18874](https://github.com/magento/magento2/pull/18874))
+ * [#18355](https://github.com/magento/magento2/issues/18355) -- Typo in dispatched event name (fixed in [magento/magento2#18372](https://github.com/magento/magento2/pull/18372))
+ * [#17744](https://github.com/magento/magento2/issues/17744) -- Virtual-only quotes use default shipping address for estimation instead of default billing address (fixed in [magento/magento2#18863](https://github.com/magento/magento2/pull/18863))
+ * [#5021](https://github.com/magento/magento2/issues/5021) -- "Please specify a shipping method" Exception (fixed in [magento/magento2#18870](https://github.com/magento/magento2/pull/18870))
+ * [#17485](https://github.com/magento/magento2/issues/17485) -- Adding billing information via mine API expects costumer id (fixed in [magento/magento2#18872](https://github.com/magento/magento2/pull/18872))
+ * [#13083](https://github.com/magento/magento2/issues/13083) -- OptionManagement.validateOption throws NoSuchEntityException for "0" option label (fixed in [magento/magento2#18873](https://github.com/magento/magento2/pull/18873))
+ * [#18729](https://github.com/magento/magento2/issues/18729) -- Bug in "_sections.less" mixins: missing rules and incorrect default variables (fixed in [magento/magento2#18875](https://github.com/magento/magento2/pull/18875))
+ * [#18555](https://github.com/magento/magento2/issues/18555) -- Magento 2.2.6 Default values are not rendering on Wishlist product edit page. (fixed in [magento/magento2#18967](https://github.com/magento/magento2/pull/18967))
+ * [#18907](https://github.com/magento/magento2/issues/18907) -- Unable to select payment method according to country of the address at checkout time (fixed in [magento/magento2#18908](https://github.com/magento/magento2/pull/18908))
+ * [#16684](https://github.com/magento/magento2/issues/16684) -- Default tax region/state appears in customer & order data (fixed in [magento/magento2#18857](https://github.com/magento/magento2/pull/18857))
+ * [#8348](https://github.com/magento/magento2/issues/8348) -- 1 exception(s): Exception #0 (Exception): Warning: Invalid argument supplied for foreach() in NotProtectedExtension.php on line 89 (fixed in [magento/magento2#19012](https://github.com/magento/magento2/pull/19012))
+ * [#18323](https://github.com/magento/magento2/issues/18323) -- Order confirmation email for guest checkout does not include download links (fixed in [magento/magento2#19036](https://github.com/magento/magento2/pull/19036))
+ * [#19003](https://github.com/magento/magento2/issues/19003) -- salesInvoiceOrder REST API does not make downloadable products available (fixed in [magento/magento2#19036](https://github.com/magento/magento2/pull/19036))
+ * [#19034](https://github.com/magento/magento2/issues/19034) -- sales_order_item_save_commit_after and sales_order_save_commit_after events will never fire for guest checkout (fixed in [magento/magento2#19036](https://github.com/magento/magento2/pull/19036))
+ * [#2618](https://github.com/magento/magento2/issues/2618) -- Class \Magento\Framework\Data\Form\Element\Fieldset breaks specification of the parent class \Magento\Framework\Data\Form\Element\AbstractElement by not calling the method getBeforeElementHtml (getAfterElementHtml is called) (fixed in [magento/magento2#18985](https://github.com/magento/magento2/pull/18985))
+ * [#14007](https://github.com/magento/magento2/issues/14007) -- "Use in Layered Navigation: Filterable (no results)" not working for Price attribute. (fixed in [magento/magento2#19044](https://github.com/magento/magento2/pull/19044))
+ * [#12399](https://github.com/magento/magento2/issues/12399) -- Exception Error in Catalog Price Rule while Backend language is not English (fixed in [magento/magento2#19074](https://github.com/magento/magento2/pull/19074))
+ * [#18082](https://github.com/magento/magento2/issues/18082) -- Fatal Error when save configurable product in Magento 2.2.5 (fixed in [magento/magento2#18461](https://github.com/magento/magento2/pull/18461))
+ * [#18617](https://github.com/magento/magento2/issues/18617) -- Missing Fixed Product Tax total on PDF (fixed in [magento/magento2#18649](https://github.com/magento/magento2/pull/18649))
+ * [#18150](https://github.com/magento/magento2/issues/18150) -- Backups error from User Roles Permission 2.2.6 (fixed in [magento/magento2#18815](https://github.com/magento/magento2/pull/18815))
+ * [#18901](https://github.com/magento/magento2/issues/18901) -- Forgot password form should not available while customer is logged in. (fixed in [magento/magento2#19089](https://github.com/magento/magento2/pull/19089))
+ * [#18840](https://github.com/magento/magento2/issues/18840) -- Invalid Unit Test Annotations (fixed in [magento/magento2#19105](https://github.com/magento/magento2/pull/19105))
+ * [#19060](https://github.com/magento/magento2/issues/19060) -- User created by admin cannot login (fixed in [magento/magento2#19110](https://github.com/magento/magento2/pull/19110))
+ * [#14849](https://github.com/magento/magento2/issues/14849) -- In Sales Emails no translation using order.getStatusLabel() (fixed in [magento/magento2#14914](https://github.com/magento/magento2/pull/14914))
+ * [#17625](https://github.com/magento/magento2/issues/17625) -- Translations done within a theme that's enabled through a category Design change aren't used (fixed in [magento/magento2#17854](https://github.com/magento/magento2/pull/17854))
+ * [#17635](https://github.com/magento/magento2/issues/17635) -- addExpressionFieldToSelect has to be called after all addFieldToSelect (fixed in [magento/magento2#17915](https://github.com/magento/magento2/pull/17915))
+ * [#18652](https://github.com/magento/magento2/issues/18652) -- Tierprice discount not calculated correctly if has specialprice. (fixed in [magento/magento2#18743](https://github.com/magento/magento2/pull/18743))
+ * [#18939](https://github.com/magento/magento2/issues/18939) -- "Not yet calculated" for the tax in the summary section in the checkout is not translatable (fixed in [magento/magento2#18959](https://github.com/magento/magento2/pull/18959))
+ * [#16434](https://github.com/magento/magento2/issues/16434) -- Bundle Product Options not showing in Customer Account - Items Ordered (fixed in [magento/magento2#17889](https://github.com/magento/magento2/pull/17889))
+ * [#14020](https://github.com/magento/magento2/issues/14020) -- Cart Sales Rule with negated condition over special_price does not work for configurable products (fixed in [magento/magento2#16342](https://github.com/magento/magento2/pull/16342))
+ * [#18685](https://github.com/magento/magento2/issues/18685) -- Quote Item Prices are NULL in cart related events. (fixed in [magento/magento2#18808](https://github.com/magento/magento2/pull/18808))
+ * [#18956](https://github.com/magento/magento2/issues/18956) -- Import of RootCategoryId should be possbile (Magento/Store/Model/Config/Importer/Processor/Create.php) (fixed in [magento/magento2#19237](https://github.com/magento/magento2/pull/19237))
+ * [#19205](https://github.com/magento/magento2/issues/19205) -- Bundle Product Option with input type is checkbox and add to cart with 3 values only 2 values added to cart (fixed in [magento/magento2#19260](https://github.com/magento/magento2/pull/19260))
+ * [#6803](https://github.com/magento/magento2/issues/6803) -- Product::addImageToMediaGallery throws Exception (fixed in [magento/magento2#18951](https://github.com/magento/magento2/pull/18951))
+ * [#18949](https://github.com/magento/magento2/issues/18949) -- dev/tools/grunt/configs/themes.js gets replaced after update magento (fixed in [magento/magento2#18960](https://github.com/magento/magento2/pull/18960))
+ * [#19054](https://github.com/magento/magento2/issues/19054) -- Using Media Image custom attribute type could not display on frontend. (fixed in [magento/magento2#19068](https://github.com/magento/magento2/pull/19068))
+ * [#19082](https://github.com/magento/magento2/issues/19082) -- Fatal error: Uncaught Error: Cannot call abstract method Magento\Framework\App\ActionInterface::execute() (fixed in [magento/magento2#19337](https://github.com/magento/magento2/pull/19337))
+ * [#19263](https://github.com/magento/magento2/issues/19263) -- Broken backend popup view (fixed in [magento/magento2#19340](https://github.com/magento/magento2/pull/19340))
+ * [#4136](https://github.com/magento/magento2/issues/4136) -- Widget condition with unexpected character not preventing from saving (fixed in [magento/magento2#14485](https://github.com/magento/magento2/pull/14485))
+ * [#18615](https://github.com/magento/magento2/issues/18615) -- Field restriction incompatibilities between klarna_core_order and sales_order_payment last_trans_id (fixed in [magento/magento2#18621](https://github.com/magento/magento2/pull/18621))
+ * [#18904](https://github.com/magento/magento2/issues/18904) -- Missing asterisk for admin required fields (fixed in [magento/magento2#18905](https://github.com/magento/magento2/pull/18905))
+ * [#19286](https://github.com/magento/magento2/issues/19286) -- Wrong pager style (fixed in [magento/magento2#19296](https://github.com/magento/magento2/pull/19296))
+ * [#13157](https://github.com/magento/magento2/issues/13157) -- Last Ordered Items block - bad js code (fixed in [magento/magento2#19357](https://github.com/magento/magento2/pull/19357))
+ * [#17833](https://github.com/magento/magento2/issues/17833) -- Child theme does not inherit translations from parent theme (fixed in [magento/magento2#19023](https://github.com/magento/magento2/pull/19023))
+ * [#18839](https://github.com/magento/magento2/issues/18839) -- can't import external http to https redirecting images by default csv import (fixed in [magento/magento2#18899](https://github.com/magento/magento2/pull/18899))
+ * [#18887](https://github.com/magento/magento2/issues/18887) -- Magento backend Notifications counter round icon small cut from right side (fixed in [magento/magento2#19356](https://github.com/magento/magento2/pull/19356))
+ * [#17813](https://github.com/magento/magento2/issues/17813) -- Huge "product_data_storage" in localStorage hangs the shop (fixed in [magento/magento2#19014](https://github.com/magento/magento2/pull/19014))
+ * [#15505](https://github.com/magento/magento2/issues/15505) -- Interceptor class methods do not support nullable return types (fixed in [magento/magento2#19398](https://github.com/magento/magento2/pull/19398))
+ * [#19172](https://github.com/magento/magento2/issues/19172) -- Newsletter subscription does not set the correct store_id if already subscribed. Not Fixed in 2.3-dev (fixed in [magento/magento2#19426](https://github.com/magento/magento2/pull/19426))
+ * [#18918](https://github.com/magento/magento2/issues/18918) -- Asterisk sign display twice (fixed in [magento/magento2#18922](https://github.com/magento/magento2/pull/18922))
+ * [#19127](https://github.com/magento/magento2/issues/19127) -- Cannot connect to Magento 2 market place (fixed in [magento/magento2#19239](https://github.com/magento/magento2/pull/19239))
+ * [#19344](https://github.com/magento/magento2/issues/19344) -- Sample Link Issue in Downloadable product. (fixed in [magento/magento2#19431](https://github.com/magento/magento2/pull/19431))
+ * [#15931](https://github.com/magento/magento2/issues/15931) -- events.xml cant have no childrens, others can [Magento 2.2.4] (fixed in [magento/magento2#19145](https://github.com/magento/magento2/pull/19145))
+ * [#19418](https://github.com/magento/magento2/issues/19418) -- Cannot add additional field to Newsletter system configuration at desired position (fixed in [magento/magento2#19568](https://github.com/magento/magento2/pull/19568))
+ * [#19424](https://github.com/magento/magento2/issues/19424) -- \Magento\Checkout\Observer\SalesQuoteSaveAfterObserver fails to update the checkout session quote id when applicable (fixed in [magento/magento2#19678](https://github.com/magento/magento2/pull/19678))
+ * [#19796](https://github.com/magento/magento2/issues/19796) -- Sales Order invoice Update Qty's Button is misaligned (fixed in [magento/magento2#19804](https://github.com/magento/magento2/pull/19804))
+ * [#19917](https://github.com/magento/magento2/issues/19917) -- allowDrug? ;-) (fixed in [magento/magento2#19949](https://github.com/magento/magento2/pull/19949))
+ * [#19721](https://github.com/magento/magento2/issues/19721) -- Typo in SalesRule/Model/ResourceModel/Coupon/Usage.php (fixed in [magento/magento2#19968](https://github.com/magento/magento2/pull/19968))
+ * [#8952](https://github.com/magento/magento2/issues/8952) -- You can't subscribe to newsletter if you already have an account (fixed in [magento/magento2#18912](https://github.com/magento/magento2/pull/18912))
+ * [#19142](https://github.com/magento/magento2/issues/19142) -- Home page store loge should be clickable to reload page (fixed in [magento/magento2#19199](https://github.com/magento/magento2/pull/19199))
+ * [#18374](https://github.com/magento/magento2/issues/18374) -- Unable to get product attribute value for store-view scope type in product collection loaded for a specific store. (fixed in [magento/magento2#19911](https://github.com/magento/magento2/pull/19911))
+ * [#18941](https://github.com/magento/magento2/issues/18941) -- Calling getCurrentUrl on Store will wrongly add "___store" parameter (fixed in [magento/magento2#19945](https://github.com/magento/magento2/pull/19945))
+ * [#19052](https://github.com/magento/magento2/issues/19052) -- Position order showing before the text box (fixed in [magento/magento2#19056](https://github.com/magento/magento2/pull/19056))
+ * [#19285](https://github.com/magento/magento2/issues/19285) -- On Notification page Select All and Select Visible both works same (fixed in [magento/magento2#19910](https://github.com/magento/magento2/pull/19910))
+ * [#19507](https://github.com/magento/magento2/issues/19507) -- Frontend Minicart dropdown alignment issue (fixed in [magento/magento2#19889](https://github.com/magento/magento2/pull/19889))
+ * [#19605](https://github.com/magento/magento2/issues/19605) -- Don't static compile disabled modules (fixed in [magento/magento2#19989](https://github.com/magento/magento2/pull/19989))
+ * [#19346](https://github.com/magento/magento2/issues/19346) -- Import data 2.2.6 Value for 'product_type' attribute contains incorrect value (fixed in [magento/magento2#20081](https://github.com/magento/magento2/pull/20081))
+ * [#19780](https://github.com/magento/magento2/issues/19780) -- Incorrect class name on Orders and returns page. (fixed in [magento/magento2#20080](https://github.com/magento/magento2/pull/20080))
+ * [#19230](https://github.com/magento/magento2/issues/19230) -- Can't Cancel Order (fixed in [magento/magento2#19423](https://github.com/magento/magento2/pull/19423))
+ * [#19099](https://github.com/magento/magento2/issues/19099) -- New Link is not correctly shown as Current if contains default parts (fixed in [magento/magento2#19927](https://github.com/magento/magento2/pull/19927))
+ * [#19940](https://github.com/magento/magento2/issues/19940) -- Exception undefined variable itemsOrderItemId while creating shipment through MSI (fixed in [magento/magento2#20082](https://github.com/magento/magento2/pull/20082))
+ * [#19101](https://github.com/magento/magento2/issues/19101) -- API REST and Reserved Order Id (fixed in [magento/magento2#20208](https://github.com/magento/magento2/pull/20208))
+ * [#20210](https://github.com/magento/magento2/issues/20210) -- Hamburger Icon was available on a page where menu was not present. Issue in responsive view (fixed in [magento/magento2#20219](https://github.com/magento/magento2/pull/20219))
+ * [#16198](https://github.com/magento/magento2/issues/16198) -- Category image remain after deleted (fixed in [magento/magento2#20178](https://github.com/magento/magento2/pull/20178))
+ * [#18192](https://github.com/magento/magento2/issues/18192) -- Backend issue : "ratings isn't available" website wise (fixed in [magento/magento2#20183](https://github.com/magento/magento2/pull/20183))
+ * [#14937](https://github.com/magento/magento2/issues/14937) -- Javascript error thrown from uiComponent 'notification_area' if messages are malformed (fixed in [magento/magento2#20271](https://github.com/magento/magento2/pull/20271))
+ * [#17819](https://github.com/magento/magento2/issues/17819) -- Wrong product url from getProductUrl when current category has not product object (fixed in [magento/magento2#20286](https://github.com/magento/magento2/pull/20286))
+ * [#20296](https://github.com/magento/magento2/issues/20296) -- "@magentoDataIsolation" is used instead of "@magentoDbIsolation" in some integration tests. (fixed in [magento/magento2#20298](https://github.com/magento/magento2/pull/20298))
+ * [#20158](https://github.com/magento/magento2/issues/20158) -- Store switcher not aligned proper in tab view (fixed in [magento/magento2#20325](https://github.com/magento/magento2/pull/20325))
+ * [#20232](https://github.com/magento/magento2/issues/20232) -- Backend order credit card detail check box misaligned (fixed in [magento/magento2#20328](https://github.com/magento/magento2/pull/20328))
+ * [#20098](https://github.com/magento/magento2/issues/20098) -- Product image failure when importing through CSV (fixed in [magento/magento2#20329](https://github.com/magento/magento2/pull/20329))
+ * [#20352](https://github.com/magento/magento2/issues/20352) -- File type option value shows html content in admin order view. (fixed in [magento/magento2#20353](https://github.com/magento/magento2/pull/20353))
+ * [#18170](https://github.com/magento/magento2/issues/18170) -- Unable to reset password if customer has address from not allowed country (fixed in [magento/magento2#19964](https://github.com/magento/magento2/pull/19964))
+ * [#19982](https://github.com/magento/magento2/issues/19982) -- Catalogsearch Reindex (fixed in [magento/magento2#19984](https://github.com/magento/magento2/pull/19984))
+ * [#9130](https://github.com/magento/magento2/issues/9130) -- If stock is bellow OutOfStock Threshold, a negative qty is displayed in Product List Page (fixed in [magento/magento2#20206](https://github.com/magento/magento2/pull/20206))
+ * [#19609](https://github.com/magento/magento2/issues/19609) -- config:set --lock-config does not act on other scopes (fixed in [magento/magento2#20322](https://github.com/magento/magento2/pull/20322))
+ * [#19399](https://github.com/magento/magento2/issues/19399) -- Add product customization option collapsible design issue (fixed in [magento/magento2#19400](https://github.com/magento/magento2/pull/19400))
+ * [#20120](https://github.com/magento/magento2/issues/20120) -- Review Details Detailed Rating misaligned (fixed in [magento/magento2#20272](https://github.com/magento/magento2/pull/20272))
+ * [#20172](https://github.com/magento/magento2/issues/20172) -- On customer login page input field are short width on tablet view (fixed in [magento/magento2#20369](https://github.com/magento/magento2/pull/20369))
+ * [#19085](https://github.com/magento/magento2/issues/19085) -- Translation in tier_price.phtml not working (fixed in [magento/magento2#19377](https://github.com/magento/magento2/pull/19377))
+ * [#18361](https://github.com/magento/magento2/issues/18361) -- Customer last name is encoded twice in the XML interface (fixed in [magento/magento2#18362](https://github.com/magento/magento2/pull/18362))
+ * [#19887](https://github.com/magento/magento2/issues/19887) -- creating new shipment: gettting all trackers. after this commit 2307e16 (fixed in [magento/magento2#20184](https://github.com/magento/magento2/pull/20184))
+ * [#19985](https://github.com/magento/magento2/issues/19985) -- Send email confirmation popup close button area overlapping to content (fixed in [magento/magento2#20541](https://github.com/magento/magento2/pull/20541))
+ * [#17759](https://github.com/magento/magento2/issues/17759) -- M2.2.5 : CustomerRepository::getList() does not load custom attribute if the name is "company" (fixed in [magento/magento2#20284](https://github.com/magento/magento2/pull/20284))
+ * [#19800](https://github.com/magento/magento2/issues/19800) -- Contact us : design improvement (fixed in [magento/magento2#20455](https://github.com/magento/magento2/pull/20455))
+ * [#19645](https://github.com/magento/magento2/issues/19645) -- Area Frontend: Account information page checkbox alignment issue. (fixed in [magento/magento2#20457](https://github.com/magento/magento2/pull/20457))
+ * [#19791](https://github.com/magento/magento2/issues/19791) -- Logo vertical misalignment. (fixed in [magento/magento2#20456](https://github.com/magento/magento2/pull/20456))
+ * [#15950](https://github.com/magento/magento2/issues/15950) -- Magento2 CSV product import qty and is_in_stock not working correct (fixed in [magento/magento2#20177](https://github.com/magento/magento2/pull/20177))
+ * [#19899](https://github.com/magento/magento2/issues/19899) -- Credit memo for $0 order without refunded shipping produces negative credit memo (fixed in [magento/magento2#20508](https://github.com/magento/magento2/pull/20508))
+ * [#20121](https://github.com/magento/magento2/issues/20121) -- Cancel order increases stock although "Set Items' Status to be In Stock When Order is Cancelled" is set to No (fixed in [magento/magento2#20547](https://github.com/magento/magento2/pull/20547))
+ * [#18027](https://github.com/magento/magento2/issues/18027) -- Cart Total is NaN in some circumstances (fixed in [magento/magento2#20638](https://github.com/magento/magento2/pull/20638))
+ * [#20376](https://github.com/magento/magento2/issues/20376) -- Image gets uploaded if field is disable in Category (fixed in [magento/magento2#20636](https://github.com/magento/magento2/pull/20636))
+ * [#20169](https://github.com/magento/magento2/issues/20169) -- Admin user with restricted "order create" access can "view", "cancel", etc via API (fixed in [magento/magento2#20542](https://github.com/magento/magento2/pull/20542))
+ * [#20399](https://github.com/magento/magento2/issues/20399) -- On wish list page edit, remove item misalign in 640 X 767 resolution (fixed in [magento/magento2#20544](https://github.com/magento/magento2/pull/20544))
+ * [#20373](https://github.com/magento/magento2/issues/20373) -- Order view invoices template not display proper on ipad (fixed in [magento/magento2#20546](https://github.com/magento/magento2/pull/20546))
+ * [#18387](https://github.com/magento/magento2/issues/18387) -- catalog:images:resize fails to process all images -> Possible underlying Magento/Framework/DB/Query/Generator issue (fixed in [magento/magento2#18809](https://github.com/magento/magento2/pull/18809))
+ * [#18931](https://github.com/magento/magento2/issues/18931) -- Product added to shopping cart / comparison list message not translated by default (fixed in [magento/magento2#19461](https://github.com/magento/magento2/pull/19461))
+ * [#14712](https://github.com/magento/magento2/issues/14712) -- Shipping issue on PayPal Express (fixed in [magento/magento2#19655](https://github.com/magento/magento2/pull/19655))
+ * [#20113](https://github.com/magento/magento2/issues/20113) -- Widget option labels are misalinged (fixed in [magento/magento2#20270](https://github.com/magento/magento2/pull/20270))
+ * [#20304](https://github.com/magento/magento2/issues/20304) -- No space between step title and saved address in checkout (fixed in [magento/magento2#20418](https://github.com/magento/magento2/pull/20418))
+ * [#20609](https://github.com/magento/magento2/issues/20609) -- Currency rate value not align proper in order information tab when we create creditmemo from admin (fixed in [magento/magento2#20613](https://github.com/magento/magento2/pull/20613))
+ * [#20500](https://github.com/magento/magento2/issues/20500) -- Recent Order Product Title Misaligned in Sidebar (fixed in [magento/magento2#20744](https://github.com/magento/magento2/pull/20744))
+ * [#20563](https://github.com/magento/magento2/issues/20563) -- Go to shipping information, Update qty & Addresses and Enter a new address button Not aligned from left and right in 767px screen size (fixed in [magento/magento2#20739](https://github.com/magento/magento2/pull/20739))
+ * [#19436](https://github.com/magento/magento2/issues/19436) -- Attribute Option with zero at the bigining does not work if there is already option with the same number without the zero (REST API)) (fixed in [magento/magento2#19612](https://github.com/magento/magento2/pull/19612))
+ * [#20604](https://github.com/magento/magento2/issues/20604) -- Gift option message overlap edit and remove button (fixed in [magento/magento2#20784](https://github.com/magento/magento2/pull/20784))
+ * [#20137](https://github.com/magento/magento2/issues/20137) -- On checkout page apply discount button is not align with input box (fixed in [magento/magento2#20837](https://github.com/magento/magento2/pull/20837))
+ * [#20624](https://github.com/magento/magento2/issues/20624) -- `\Magento\ImportExport\Block\Adminhtml\Export\Filter::_getSelectHtmlWithValue()` method overwrites self $value argument (fixed in [magento/magento2#20863](https://github.com/magento/magento2/pull/20863))
+ * [#20409](https://github.com/magento/magento2/issues/20409) -- Magento\Catalog\Api\ProductRenderListInterface returns products regardless of visibility (fixed in [magento/magento2#20886](https://github.com/magento/magento2/pull/20886))
+ * [#20259](https://github.com/magento/magento2/issues/20259) -- Store switcher not sliding up and down, only dropdown arrow working (fixed in [magento/magento2#20540](https://github.com/magento/magento2/pull/20540))
+* GitHub pull requests:
+ * [magento/magento2#16361](https://github.com/magento/magento2/pull/16361) -- Allow usage of config-global.php when running Integration Tests (by @jissereitsma)
+ * [magento/magento2#16422](https://github.com/magento/magento2/pull/16422) -- Replace intval() function by using direct type casting to (int) where no default value is needed (by @mhauri)
+ * [magento/magento2#17708](https://github.com/magento/magento2/pull/17708) -- Prevent rendering of "Ship here" button if it is not needed (by @marvinhuebner)
+ * [magento/magento2#17783](https://github.com/magento/magento2/pull/17783) -- Current password autocomplete for admin login (by @flancer64)
+ * [magento/magento2#17885](https://github.com/magento/magento2/pull/17885) -- Make sure all linked products (related, upsells, crosssells) show up (by @hostep)
+ * [magento/magento2#17891](https://github.com/magento/magento2/pull/17891) -- #17890: show correct text swatch values per store view (by @magicaner)
+ * [magento/magento2#17919](https://github.com/magento/magento2/pull/17919) -- [remove] rich snippet declaration on grouped product (by @AurelienLavorel)
+ * [magento/magento2#17945](https://github.com/magento/magento2/pull/17945) -- [2.2] return $this from setters in Analytics/ReportXml/DB/SelectBuilder.php (by @TBlindaruk)
+ * [magento/magento2#17966](https://github.com/magento/magento2/pull/17966) -- Fix currency symbol setting back to default #17567 (by @magently)
+ * [magento/magento2#17970](https://github.com/magento/magento2/pull/17970) -- Integration test for swatches types in attribute configuration added (by @rogyar)
+ * [magento/magento2#17990](https://github.com/magento/magento2/pull/17990) -- Menu does not work when you change from Mobile to Desktop mode #5402 (by @emanuelarcos)
+ * [magento/magento2#18001](https://github.com/magento/magento2/pull/18001) -- Fixes saving product in single-store mode if website_id <> 1 (by @eduard13)
+ * [magento/magento2#18002](https://github.com/magento/magento2/pull/18002) -- Fix module uninstall shell command and composer removal w/out regression (by @Thundar)
+ * [magento/magento2#18004](https://github.com/magento/magento2/pull/18004) -- [CatalogUrlRewrite] Covering the CategoryProcessUrlRewriteMovingObserver by Unit Test (by @eduard13)
+ * [magento/magento2#18018](https://github.com/magento/magento2/pull/18018) -- [Backport] Use route ID when creating secret keys in backend menus instead of route name #17650 (by @lfolco)
+ * [magento/magento2#18034](https://github.com/magento/magento2/pull/18034) -- [Backport] fix notice undefined shipment: revert locale inside loop (by @dmytro-ch)
+ * [magento/magento2#18127](https://github.com/magento/magento2/pull/18127) -- [Backport] typofix: ImportCollection -> ItemCollection (by @dmytro-ch)
+ * [magento/magento2#18137](https://github.com/magento/magento2/pull/18137) -- [2.2] Update labels section in README.md (by @sidolov)
+ * [magento/magento2#14065](https://github.com/magento/magento2/pull/14065) -- Correctly convert config integration api resources (by @therool)
+ * [magento/magento2#17679](https://github.com/magento/magento2/pull/17679) -- Update shipment collection to unserialize packages attribute after load (by @dnsv)
+ * [magento/magento2#17993](https://github.com/magento/magento2/pull/17993) -- fix #17582 ./bin/magento config:show fails with a fatal error (by @keyurshah070)
+ * [magento/magento2#18000](https://github.com/magento/magento2/pull/18000) -- Fix sitemap grid render incorrect base urls for multiple stores (by @nntoan)
+ * [magento/magento2#18055](https://github.com/magento/magento2/pull/18055) -- fix: reset search mini-form when we have no data / an empty response (by @DanielRuf)
+ * [magento/magento2#18097](https://github.com/magento/magento2/pull/18097) -- [Backport] Fix import grouped products #12853 (by @insanityinside)
+ * [magento/magento2#18113](https://github.com/magento/magento2/pull/18113) -- [Backport] Fixes from #15947 (by @ihor-sviziev)
+ * [magento/magento2#18098](https://github.com/magento/magento2/pull/18098) -- Fix shipping discount failed to apply during place order (by @torreytsui)
+ * [magento/magento2#18126](https://github.com/magento/magento2/pull/18126) -- [Backport] [2.2] Changed intval($val) to (int) $val, since it is faster: (by @dmytro-ch)
+ * [magento/magento2#17511](https://github.com/magento/magento2/pull/17511) -- Use cast types instead of xyzval() (by @sreichel)
+ * [magento/magento2#17998](https://github.com/magento/magento2/pull/17998) -- 9830 - Null order in Magento\Sales\Block\Order\PrintShipment.php (by @MateuszChrapek)
+ * [magento/magento2#17984](https://github.com/magento/magento2/pull/17984) -- Implemeted MAGETWO-81170: Missing $debugHintsPath when sending email (by @passtet)
+ * [magento/magento2#18225](https://github.com/magento/magento2/pull/18225) -- Module Catalog: fix issue with custom option price conversion for different base currency on website level (by @oleksii-lisovyi)
+ * [magento/magento2#16885](https://github.com/magento/magento2/pull/16885) -- [Fix] Do not modify current list of countries with require states during setup upgrade (by @jalogut)
+ * [magento/magento2#18086](https://github.com/magento/magento2/pull/18086) -- Cast products "getStoreId()" to int, closes #18079 (by @sreichel)
+ * [magento/magento2#18215](https://github.com/magento/magento2/pull/18215) -- fix wysiwyg editor not decoding base64 filenames special chars (by @adammada)
+ * [magento/magento2#18280](https://github.com/magento/magento2/pull/18280) -- [Backport] Change sort order for customer group options (by @dmytro-ch)
+ * [magento/magento2#18168](https://github.com/magento/magento2/pull/18168) -- Fixed issue with lib-line-height mixin failing when value of 'normal' (by @CNanninga)
+ * [magento/magento2#18310](https://github.com/magento/magento2/pull/18310) -- [Backport] Sales: add missing unit tests for model classes (by @dmytro-ch)
+ * [magento/magento2#18311](https://github.com/magento/magento2/pull/18311) -- [Backport] Added integration test for gift message quote merge (by @dmytro-ch)
+ * [magento/magento2#17695](https://github.com/magento/magento2/pull/17695) -- ConfigurableProduct show prices in select options (by @alexeya-ven)
+ * [magento/magento2#17982](https://github.com/magento/magento2/pull/17982) -- add error message in else condition (by @vaibhavahalpara)
+ * [magento/magento2#18354](https://github.com/magento/magento2/pull/18354) -- Fix for parsing attribute options labels, when & used. (by @bartoszkubicki)
+ * [magento/magento2#17882](https://github.com/magento/magento2/pull/17882) -- Do not overwrite URL Key with blank value (by @josephmcdermott)
+ * [magento/magento2#17986](https://github.com/magento/magento2/pull/17986) -- Implemented 17964: Backend Order creation Authorizenet: If invalid cr (by @passtet)
+ * [magento/magento2#18283](https://github.com/magento/magento2/pull/18283) -- [Backport] Fix for removing the dirs while creating a TAR archive (by @haroldclaus)
+ * [magento/magento2#18369](https://github.com/magento/magento2/pull/18369) -- [Backport] Fix throwing error by checkout error processor model (by @ihor-sviziev)
+ * [magento/magento2#18375](https://github.com/magento/magento2/pull/18375) -- Backport 2.2 - Fix wrong reference in google analytics module layout xml (by @sambolek)
+ * [magento/magento2#18377](https://github.com/magento/magento2/pull/18377) -- [Backport 2.2-develop] Refactor Mass Order Cancel code to use Interface (by @JeroenVanLeusden)
+ * [magento/magento2#18376](https://github.com/magento/magento2/pull/18376) -- Backport 2.2 - Fix issue 17152 - prevent email being marked as not se (by @sambolek)
+ * [magento/magento2#18391](https://github.com/magento/magento2/pull/18391) -- Backport 2.2 - Allow keyboard navigation in browser on product detail (by @hostep)
+ * [magento/magento2#18400](https://github.com/magento/magento2/pull/18400) -- Admin Login Form > Aliging Label (by @rafaelstz)
+ * [magento/magento2#18414](https://github.com/magento/magento2/pull/18414) -- [Backport] Fix the issue with customer inline edit when password is expired (by @dmytro-ch)
+ * [magento/magento2#18415](https://github.com/magento/magento2/pull/18415) -- [Backport] Added unit test for CRON converter plugin (by @dmytro-ch)
+ * [magento/magento2#18426](https://github.com/magento/magento2/pull/18426) -- [Backport] Removed unnecessary characters from comments (by @lewisvoncken)
+ * [magento/magento2#18428](https://github.com/magento/magento2/pull/18428) -- [Backport] small misspelling fixed (by @lewisvoncken)
+ * [magento/magento2#18429](https://github.com/magento/magento2/pull/18429) -- [Backport] Fix documentation grammar errors and typos in actions.js (by @lewisvoncken)
+ * [magento/magento2#18430](https://github.com/magento/magento2/pull/18430) -- [Backport] Fix documentation typos in registry.js (by @lewisvoncken)
+ * [magento/magento2#18433](https://github.com/magento/magento2/pull/18433) -- [Backport] Improve code quality subscriber new action (by @lewisvoncken)
+ * [magento/magento2#18432](https://github.com/magento/magento2/pull/18432) -- [Backport] Removed commented code (by @lewisvoncken)
+ * [magento/magento2#17823](https://github.com/magento/magento2/pull/17823) -- [FEATURE] [issue-3283] Added Filter Support for Yes/No (boolean) attr (by @lewisvoncken)
+ * [magento/magento2#18175](https://github.com/magento/magento2/pull/18175) -- Fix category tree in cart price rule #17493 (by @magently)
+ * [magento/magento2#18166](https://github.com/magento/magento2/pull/18166) -- Fix table rate failing for zip+4 address #17770 (by @magently)
+ * [magento/magento2#18389](https://github.com/magento/magento2/pull/18389) -- Backport 2.2 - Introducing a dedicated cron.log file for logging cron (by @hostep)
+ * [magento/magento2#18390](https://github.com/magento/magento2/pull/18390) -- Backport 2.2 - Don't set a source model on the attribute when it's no (by @hostep)
+ * [magento/magento2#18422](https://github.com/magento/magento2/pull/18422) -- [BACKPORT] Replace sort callbacks to spaceship operator (by @lewisvoncken)
+ * [magento/magento2#18403](https://github.com/magento/magento2/pull/18403) -- Fix setup wizard page logo (by @rafaelstz)
+ * [magento/magento2#18425](https://github.com/magento/magento2/pull/18425) -- [Backport] Fixing Snake Case To Camel Case (by @lewisvoncken)
+ * [magento/magento2#18427](https://github.com/magento/magento2/pull/18427) -- [Backport] Fix wrong return type in StockRegistryInterface API (by @lewisvoncken)
+ * [magento/magento2#15683](https://github.com/magento/magento2/pull/15683) -- Added checks to see if the payment is available (by @michielgerritsen)
+ * [magento/magento2#15905](https://github.com/magento/magento2/pull/15905) -- #4942 and bundle checkbox bug (by @JosephMaxwell)
+ * [magento/magento2#16115](https://github.com/magento/magento2/pull/16115) -- Fix type hint of customer-data updateSectionId parameters (by @Vinai)
+ * [magento/magento2#17516](https://github.com/magento/magento2/pull/17516) -- Feature australian regions (by @maximbaibakov)
+ * [magento/magento2#18155](https://github.com/magento/magento2/pull/18155) -- Fix type hint of @message declaration as the "setWidgetParameters" method allows arrays too (by @avstudnitz)
+ * [magento/magento2#18401](https://github.com/magento/magento2/pull/18401) -- Admin > Footer > Aligning Proportionally (by @rafaelstz)
+ * [magento/magento2#17968](https://github.com/magento/magento2/pull/17968) -- Fix Customer custom attributes lost after save (by @Thundar)
+ * [magento/magento2#18196](https://github.com/magento/magento2/pull/18196) -- Fix for custom product attribute changing 'backend_type' when 'is_user_defined = 1' and get updated/saved in Admin Backend (by @bartoszkubicki)
+ * [magento/magento2#18495](https://github.com/magento/magento2/pull/18495) -- [Backport] Checkout - Fix "Cannot read property 'code' on undefined" issue (by @ihor-sviziev)
+ * [magento/magento2#18552](https://github.com/magento/magento2/pull/18552) -- [Backport] Added validation on maximum quantity allowed in shopping cart (by @gelanivishal)
+ * [magento/magento2#18554](https://github.com/magento/magento2/pull/18554) -- [Backport] throw exception InvalidArgumentException during validate scheme (by @gelanivishal)
+ * [magento/magento2#18556](https://github.com/magento/magento2/pull/18556) -- [Backport] Fixed typo from filed to field (by @gelanivishal)
+ * [magento/magento2#18559](https://github.com/magento/magento2/pull/18559) -- [Backport] Covering the AssignOrderToCustomerObserver by Unit Test (by @gelanivishal)
+ * [magento/magento2#18564](https://github.com/magento/magento2/pull/18564) -- [Backport] Empty option Label should always be blank even if attribute is required (by @gelanivishal)
+ * [magento/magento2#18561](https://github.com/magento/magento2/pull/18561) -- [2.2] added component status based filtering (by @gelanivishal)
+ * [magento/magento2#18569](https://github.com/magento/magento2/pull/18569) -- [Backport] Make it possible to disable report bugs link (by @gelanivishal)
+ * [magento/magento2#18587](https://github.com/magento/magento2/pull/18587) -- [Backport] Prevent XSS on checkout (by @dmytro-ch)
+ * [magento/magento2#18586](https://github.com/magento/magento2/pull/18586) -- [Backport] Added missing throw tag for exception to docblock of construct (by @dmytro-ch)
+ * [magento/magento2#18593](https://github.com/magento/magento2/pull/18593) -- Calendar icon in advance pricing alignment solved (by @speedy008)
+ * [magento/magento2#18595](https://github.com/magento/magento2/pull/18595) -- [Backport] Fix disappearing navigation arrows in fotorama zoom (by @luukschakenraad)
+ * [magento/magento2#18599](https://github.com/magento/magento2/pull/18599) -- [Backport] Do not use new Phrase in Link Current class (by @dmytro-ch)
+ * [magento/magento2#18619](https://github.com/magento/magento2/pull/18619) -- [Backport] Add required fields to templates (by @miguelbalparda)
+ * [magento/magento2#18656](https://github.com/magento/magento2/pull/18656) -- [Backport] Fix product details causing Validation error (by @gelanivishal)
+ * [magento/magento2#18657](https://github.com/magento/magento2/pull/18657) -- [Backport] Create empty modelData array to avoid undefined var error (by @gelanivishal)
+ * [magento/magento2#18659](https://github.com/magento/magento2/pull/18659) -- [Backport] Fix for #12969 - server port detection for errors (by @gelanivishal)
+ * [magento/magento2#18662](https://github.com/magento/magento2/pull/18662) -- [Backport] move hardcoded MIME types from class private to DI configuration (by @gelanivishal)
+ * [magento/magento2#16915](https://github.com/magento/magento2/pull/16915) -- magento/magento2#14510: Creating custom customer attribute with default value 0 will cause not saving value for customer entity. (by @swnsma)
+ * [magento/magento2#18563](https://github.com/magento/magento2/pull/18563) -- [Backport] Update CategoryProcessor.php (by @gelanivishal)
+ * [magento/magento2#18566](https://github.com/magento/magento2/pull/18566) -- Module Catalog URL Rewrite: fix issue with product URL Rewrites re-generation after changing product URL Key for product with existing url_path attribute value (by @oleksii-lisovyi)
+ * [magento/magento2#18670](https://github.com/magento/magento2/pull/18670) -- Remove unnecessary class import, see #18280 (by @sreichel)
+ * [magento/magento2#18658](https://github.com/magento/magento2/pull/18658) -- [Backport] MAGENTO-18131: Fixed EAV attributes values query (by @gelanivishal)
+ * [magento/magento2#15366](https://github.com/magento/magento2/pull/15366) -- 15259 : Unable to disable without providing Industry value (by @sunilit42)
+ * [magento/magento2#18424](https://github.com/magento/magento2/pull/18424) -- [BACKPORT] type casted $qty to float in \Magento\Catalog\Model\Produc (by @lewisvoncken)
+ * [magento/magento2#18660](https://github.com/magento/magento2/pull/18660) -- [Backport] Fix of saving "clone_field" fields (by @gelanivishal)
+ * [magento/magento2#18758](https://github.com/magento/magento2/pull/18758) -- [Backport] Fix the typo in PHPDoc comment (by @dmytro-ch)
+ * [magento/magento2#18535](https://github.com/magento/magento2/pull/18535) -- Fixed issues-18534: 2 wysiwyg on catalog category edit page (by @k1las)
+ * [magento/magento2#18597](https://github.com/magento/magento2/pull/18597) -- [Backport] Fix empty cart button (by @luukschakenraad)
+ * [magento/magento2#18604](https://github.com/magento/magento2/pull/18604) -- Fixed Issue: Special price of 0.0000 is not shown on frontend, but is calculated in cart (by @maheshWebkul721)
+ * [magento/magento2#18643](https://github.com/magento/magento2/pull/18643) -- Fix customer unsubscribed issue (by @janakbhimani)
+ * [magento/magento2#18759](https://github.com/magento/magento2/pull/18759) -- [Backport] Backend: add missing unit test for ModuleService class (by @dmytro-ch)
+ * [magento/magento2#16940](https://github.com/magento/magento2/pull/16940) -- Resolve incorrect scope code selection when the requested scopeCode is null (by @matthew-muscat)
+ * [magento/magento2#18737](https://github.com/magento/magento2/pull/18737) -- [BUGFIX] GITHUB-18264 Backport of #17799 for the 2.2 branch (by @kanduvisla)
+ * [magento/magento2#17971](https://github.com/magento/magento2/pull/17971) -- Don't format Special Price value for Bundle Product (by @magently)
+ * [magento/magento2#18681](https://github.com/magento/magento2/pull/18681) -- [Backport] Set fallback values for email and _website columns to avoid 'undefined index' error in CustomerComposite.php (by @TomashKhamlai)
+ * [magento/magento2#18833](https://github.com/magento/magento2/pull/18833) -- [Backport] Cover \Magento\GiftMessage\Observer\SalesEventQuoteMerge with Unit test (by @vasilii-b)
+ * [magento/magento2#18834](https://github.com/magento/magento2/pull/18834) -- [Backport] Cover \Magento\Email\Model\Template\SenderResolver class with Unit test (by @vasilii-b)
+ * [magento/magento2#18835](https://github.com/magento/magento2/pull/18835) -- [Backport] Added Unit Test for WindowsSmtpConfig Plugin (by @vasilii-b)
+ * [magento/magento2#18876](https://github.com/magento/magento2/pull/18876) -- [Backport] Fix Useless use of Cat (by @gelanivishal)
+ * [magento/magento2#18591](https://github.com/magento/magento2/pull/18591) -- [Backport] Fix SKU limit in import new products (by @ravi-chandra3197)
+ * [magento/magento2#18862](https://github.com/magento/magento2/pull/18862) -- [Backport] Adding trimming sku value function to sku backend model. (by @gelanivishal)
+ * [magento/magento2#18865](https://github.com/magento/magento2/pull/18865) -- fixed issue #18458 : Alert widget gets close when click anywhere on screen #18576 (by @Shubham-Webkul)
+ * [magento/magento2#18886](https://github.com/magento/magento2/pull/18886) -- [Backport] fixed Translation issue send-friend in send.phtml (by @rahulwebkul)
+ * [magento/magento2#18917](https://github.com/magento/magento2/pull/18917) -- Fixed-Global-search icon misaligned (by @speedy008)
+ * [magento/magento2#17978](https://github.com/magento/magento2/pull/17978) -- #17488 Fix Authenticating a customer via REST API does not update the last logged in data (by @prakashpatel07)
+ * [magento/magento2#18287](https://github.com/magento/magento2/pull/18287) -- Ensure integer values are not quoted as strings (by @udovicic)
+ * [magento/magento2#18874](https://github.com/magento/magento2/pull/18874) -- [Backport] Fixed issue #4468 "Unable to insert multiple catalog product list wid (by @gelanivishal)
+ * [magento/magento2#18372](https://github.com/magento/magento2/pull/18372) -- Resolve typo despatch event (by @neeta-wagento)
+ * [magento/magento2#18863](https://github.com/magento/magento2/pull/18863) -- [Backport] #17744 Adding logic to get default billing address used on Cart and Checkout (by @gelanivishal)
+ * [magento/magento2#18872](https://github.com/magento/magento2/pull/18872) -- [Backport] Allow set billing information via API with existing address (by @gelanivishal)
+ * [magento/magento2#18870](https://github.com/magento/magento2/pull/18870) -- [Backport] ISSUE-5021 - fixed place order for custom shipping methods with under (by @gelanivishal)
+ * [magento/magento2#18875](https://github.com/magento/magento2/pull/18875) -- [Backport] Sections LESS mixins: fix the issue with missing rules and incorrect default variables (by @gelanivishal)
+ * [magento/magento2#18873](https://github.com/magento/magento2/pull/18873) -- [Backport] Prevent exception when option text converts to false (by @gelanivishal)
+ * [magento/magento2#18967](https://github.com/magento/magento2/pull/18967) -- fixed - Magento 2.2.6 Default values are not rendering on Wishlist product edit page (by @webkul-ratnesh)
+ * [magento/magento2#18908](https://github.com/magento/magento2/pull/18908) -- [Backport] fixed - Unable to select payment method according to country of the address at checkout time (by @rahulwebkul)
+ * [magento/magento2#18984](https://github.com/magento/magento2/pull/18984) -- [Backport] Reload cart totals when cart data changes (by @tdgroot)
+ * [magento/magento2#16887](https://github.com/magento/magento2/pull/16887) -- Fix blocked a frame with origin (by @iGerchak)
+ * [magento/magento2#18857](https://github.com/magento/magento2/pull/18857) -- Fixed - Default tax region/state appears in customer & order data #16684 (by @ssp58bleuciel)
+ * [magento/magento2#18964](https://github.com/magento/magento2/pull/18964) -- Backport [PR 18772] Remove unnecesary "header" block redeclaration (by @samuel27m)
+ * [magento/magento2#19012](https://github.com/magento/magento2/pull/19012) -- #18348 - In admin, last swatch option set to default upon save (by @RostislavS)
+ * [magento/magento2#19036](https://github.com/magento/magento2/pull/19036) -- magento/magento2#18323: Order confirmation email for guest checkout d (by @swnsma)
+ * [magento/magento2#18985](https://github.com/magento/magento2/pull/18985) -- [Backport] Added form fieldset before html data to \Magento\Framework\Data\Form\Element\Fieldset in getElementHtml() method (by @vasilii-b)
+ * [magento/magento2#19002](https://github.com/magento/magento2/pull/19002) -- [Backport] Remove duplicated CSS selector (by @dmytro-ch)
+ * [magento/magento2#19044](https://github.com/magento/magento2/pull/19044) -- [2.2-develop] magento/magento2#14007: "Use in Layered Navigation: Filterable (no results)" property confuse for Price filter (by @vpodorozh)
+ * [magento/magento2#19074](https://github.com/magento/magento2/pull/19074) -- [Backport] Fix for #12399: Exception Error in Catalog Price Rule while Backend language is not English (by @Mardl)
+ * [magento/magento2#18461](https://github.com/magento/magento2/pull/18461) -- fix Fatal Error when save configurable product in Magento 2.2.5 #18082 (by @thiagolima-bm)
+ * [magento/magento2#18649](https://github.com/magento/magento2/pull/18649) -- [Backport] Issue Fixed: Missing Fixed Product Tax total on PDF (by @maheshWebkul721)
+ * [magento/magento2#18815](https://github.com/magento/magento2/pull/18815) -- [Backoport] Issue Fixed: Backups error from User Roles Permission 2.2.6 (by @maheshWebkul721)
+ * [magento/magento2#19073](https://github.com/magento/magento2/pull/19073) -- magento/magento2#19071: Password strength indicator shows No Password (by @dimasalamatov)
+ * [magento/magento2#19089](https://github.com/magento/magento2/pull/19089) -- magento/magento#18901: Forgot password form should not available while customer is logged in. (by @swnsma)
+ * [magento/magento2#19105](https://github.com/magento/magento2/pull/19105) -- magento/magento2#18840: Invalid Unit Test Annotations. (by @swnsma)
+ * [magento/magento2#19110](https://github.com/magento/magento2/pull/19110) -- [Backport] Add additional check if password hash is empty in auth process (by @agorbulin)
+ * [magento/magento2#14914](https://github.com/magento/magento2/pull/14914) -- FIX for issue #14849 - In Sales Emails no translation using order.getStatusLabel() (by @phoenix128)
+ * [magento/magento2#17854](https://github.com/magento/magento2/pull/17854) -- Fix translations of category design theme not being applied (by @cezary-zeglen)
+ * [magento/magento2#17915](https://github.com/magento/magento2/pull/17915) -- Fix/add expresion (by @magently)
+ * [magento/magento2#18743](https://github.com/magento/magento2/pull/18743) -- Fixed tierprice discount not calculated correctly if has specialprice (by @gelanivishal)
+ * [magento/magento2#18959](https://github.com/magento/magento2/pull/18959) -- fixed js translation (by @torhoehn)
+ * [magento/magento2#19118](https://github.com/magento/magento2/pull/19118) -- [Backport] Add/update newsletter messages in translation file (by @arnoudhgz)
+ * [magento/magento2#17889](https://github.com/magento/magento2/pull/17889) -- Fixed child items showing on My Account order view (by @rogyar)
+ * [magento/magento2#19113](https://github.com/magento/magento2/pull/19113) -- [2.2 backport] fix cipherMethod detection for openssl 1.1.1 (by @BlackIkeEagle)
+ * [magento/magento2#16342](https://github.com/magento/magento2/pull/16342) -- #14020-Cart-Sales-Rule-with-negated-condition-over-special-price-does (by @novikor)
+ * [magento/magento2#18808](https://github.com/magento/magento2/pull/18808) -- fixed Quote Item Prices are NULL in cart related events. #18685 (by @ashutoshwebkul)
+ * [magento/magento2#19216](https://github.com/magento/magento2/pull/19216) -- [Backport] Covering the \Magento\Weee observers by Unit Tests (by @eduard13)
+ * [magento/magento2#19217](https://github.com/magento/magento2/pull/19217) -- [Backport] Covering the CheckUserLoginBackendObserver by Unit Test (by @eduard13)
+ * [magento/magento2#19237](https://github.com/magento/magento2/pull/19237) -- [Backport] #18956 Fixes for set root_category_id (by @gelanivishal)
+ * [magento/magento2#19240](https://github.com/magento/magento2/pull/19240) -- [Backport] Add missing unit test for WishlistSettings plugin (by @gelanivishal)
+ * [magento/magento2#19260](https://github.com/magento/magento2/pull/19260) -- Issue #19205 Fixed: Bundle Product Option with input type is checkbox and add to cart with 3 values only 2 values added to cart. (by @maheshWebkul721)
+ * [magento/magento2#18642](https://github.com/magento/magento2/pull/18642) -- [Backport] Fix issue with unexpected changing of subscription status after customer saving (by @alexeya-ven)
+ * [magento/magento2#18951](https://github.com/magento/magento2/pull/18951) -- Magento 2.2 Fix Product::addImageToMediaGallery throws Exception (by @progreg)
+ * [magento/magento2#18960](https://github.com/magento/magento2/pull/18960) -- local themes should be added to git repo (by @torhoehn)
+ * [magento/magento2#19068](https://github.com/magento/magento2/pull/19068) -- Using Media Image custom attribute type could not display on frontend. #19054 (by @Nazar65)
+ * [magento/magento2#19337](https://github.com/magento/magento2/pull/19337) -- [Backport] 19082-Fatal-error-Uncaught-Error-Cannot-call-abstract-method-Magento- (by @agorbulin)
+ * [magento/magento2#19336](https://github.com/magento/magento2/pull/19336) -- [Backport] small performance improvement on product listing (by @gelanivishal)
+ * [magento/magento2#19338](https://github.com/magento/magento2/pull/19338) -- [Backport] missing use statement in layout generator (by @gelanivishal)
+ * [magento/magento2#19340](https://github.com/magento/magento2/pull/19340) -- [Backport] Fix the issue: Content overlaps the close button #19263 (by @gelanivishal)
+ * [magento/magento2#14485](https://github.com/magento/magento2/pull/14485) -- Fix for Issue #4136, MAGETWO-53440 (by @vasilii-b)
+ * [magento/magento2#18621](https://github.com/magento/magento2/pull/18621) -- 18615 updates structure for last_trans_id to be varchar 255 which is (by @iancassidyweb)
+ * [magento/magento2#18905](https://github.com/magento/magento2/pull/18905) -- Fix the issue with missing asterisk for admin required fields (by @dmytro-ch)
+ * [magento/magento2#19296](https://github.com/magento/magento2/pull/19296) -- Fix issue 19286 - Wrong pager style (by @speedy008)
+ * [magento/magento2#19355](https://github.com/magento/magento2/pull/19355) -- [Backport] Changed get product way in blocks with related products (by @gelanivishal)
+ * [magento/magento2#19357](https://github.com/magento/magento2/pull/19357) -- [Backport] #13157 - Last Ordered Items block - bad js code (by @gelanivishal)
+ * [magento/magento2#19023](https://github.com/magento/magento2/pull/19023) -- [2.2 develop] [backport #19018] [issue #17833] child theme does not inherit translations from parent theme (by @vpodorozh)
+ * [magento/magento2#19358](https://github.com/magento/magento2/pull/19358) -- [Backport] Fix the issue with repetitive "tbody" tag for order items table (by @gelanivishal)
+ * [magento/magento2#19365](https://github.com/magento/magento2/pull/19365) -- Fixing a test for Magento Newsletter. (by @tiagosampaio)
+ * [magento/magento2#18899](https://github.com/magento/magento2/pull/18899) -- [Backport] fixed - can't import external http to https redirecting images by default csv import (by @rahulwebkul)
+ * [magento/magento2#19356](https://github.com/magento/magento2/pull/19356) -- [Backport] Magento backend Notifications counter round icon small cut from right side (by @gelanivishal)
+ * [magento/magento2#19364](https://github.com/magento/magento2/pull/19364) -- [Backport] fix: remove old code in tabs, always set tabindex to 0 when tabs are (by @DanielRuf)
+ * [magento/magento2#19374](https://github.com/magento/magento2/pull/19374) -- back-port-pull-19024 (by @agorbulin)
+ * [magento/magento2#19014](https://github.com/magento/magento2/pull/19014) -- [Backport] #17813 - Huge "product_data_storage" in localStorage hangs the shop (by @omiroshnichenko)
+ * [magento/magento2#19398](https://github.com/magento/magento2/pull/19398) -- [Backport-2.2] Code generation improvement for php 7.1 (by @swnsma)
+ * [magento/magento2#19422](https://github.com/magento/magento2/pull/19422) -- Fix for incorrectly escapeHtml'd JSON in commit b8f78cc6 (by @insanityinside)
+ * [magento/magento2#19426](https://github.com/magento/magento2/pull/19426) -- [Backport] Fixing the customer subscribing from different stores (by @eduard13)
+ * [magento/magento2#19427](https://github.com/magento/magento2/pull/19427) -- [Backport] Adding integration tests for wrong captcha (by @eduard13)
+ * [magento/magento2#18922](https://github.com/magento/magento2/pull/18922) -- Fixed 18918 Asterisk sign display twice (by @suryakant-krish)
+ * [magento/magento2#19239](https://github.com/magento/magento2/pull/19239) -- [Backport] Allow to read HTTP/2 response header. (by @gelanivishal)
+ * [magento/magento2#19430](https://github.com/magento/magento2/pull/19430) -- Fixed issue with Base Currency for website is CND when PayPal Payflow Pro is charging in USD (by @Rykh)
+ * [magento/magento2#19431](https://github.com/magento/magento2/pull/19431) -- [Backport] Sample Link Issue in Downloadable product in magento-2.2.6 #19344 (by @ansari-krish)
+ * [magento/magento2#19447](https://github.com/magento/magento2/pull/19447) -- [Backport] chore: remove unused code in admin view of catalog (by @DanielRuf)
+ * [magento/magento2#19145](https://github.com/magento/magento2/pull/19145) -- Add availability to leave empty config for events.xml (by @lisovyievhenii)
+ * [magento/magento2#19568](https://github.com/magento/magento2/pull/19568) -- [Backport] [Newsletter] #19418 Cannot add additional field to system configuration at desired position (by @vasilii-b)
+ * [magento/magento2#19678](https://github.com/magento/magento2/pull/19678) -- [Backport] Fix: SalesQuoteSaveAfterObserver fails to update the checkout session quote id when applicable (by @dmytro-ch)
+ * [magento/magento2#19668](https://github.com/magento/magento2/pull/19668) -- [Backport] style: change b to strong (a11y) (by @DanielRuf)
+ * [magento/magento2#19669](https://github.com/magento/magento2/pull/19669) -- [Backport] fix: remove unused params in categorySubmit invocation (by @DanielRuf)
+ * [magento/magento2#19804](https://github.com/magento/magento2/pull/19804) -- [Backport]Fix issue 19796 - Sales Order invoice Update Qty's Button is misaligned (by @speedy008)
+ * [magento/magento2#19949](https://github.com/magento/magento2/pull/19949) -- [Backport] Fixed Issue #19917 Changed allowDrug to allowDrag (by @maheshWebkul721)
+ * [magento/magento2#19967](https://github.com/magento/magento2/pull/19967) -- [Backport] Minor typos corrected. (by @milindsingh)
+ * [magento/magento2#19970](https://github.com/magento/magento2/pull/19970) -- [Backport] Typo taax -> tax (by @milindsingh)
+ * [magento/magento2#19968](https://github.com/magento/magento2/pull/19968) -- [Backport] Typo "customet_id" to "customer_id" fixed. (by @milindsingh)
+ * [magento/magento2#19972](https://github.com/magento/magento2/pull/19972) -- [Backport] Update bootstrap.js (by @milindsingh)
+ * [magento/magento2#19971](https://github.com/magento/magento2/pull/19971) -- [Backport] Typo corrected Update bound-nodes.js (by @milindsingh)
+ * [magento/magento2#18912](https://github.com/magento/magento2/pull/18912) -- [Backport] Fixed subscribe to newsletter if you already have an account issue (by @ravi-chandra3197)
+ * [magento/magento2#19199](https://github.com/magento/magento2/pull/19199) -- [Backport][2.2] Made logo clickable on home page (by @gwharton)
+ * [magento/magento2#19280](https://github.com/magento/magento2/pull/19280) -- [BackPort] resolve typos and correct variable names (by @viral-wagento)
+ * [magento/magento2#19690](https://github.com/magento/magento2/pull/19690) -- [Backport] Additional Cache Management title (by @thomas-blackbird)
+ * [magento/magento2#19693](https://github.com/magento/magento2/pull/19693) -- [Backport] Cancel expired orders using OrderManagementInterface (by @JeroenVanLeusden)
+ * [magento/magento2#19911](https://github.com/magento/magento2/pull/19911) -- [Backport] fixed store wise product filter issue (by @shikhamis11)
+ * [magento/magento2#19945](https://github.com/magento/magento2/pull/19945) -- [Backport] issue 18941 (by @Nazar65)
+ * [magento/magento2#19056](https://github.com/magento/magento2/pull/19056) -- Fix issue 19052- Position order showing before the text box (by @speedy008)
+ * [magento/magento2#19910](https://github.com/magento/magento2/pull/19910) -- [Backport] fixed Notification page Select Visible items issue (by @shikhamis11)
+ * [magento/magento2#19889](https://github.com/magento/magento2/pull/19889) -- [Backport]Fix issue 19507 - Frontend Minicart dropdown alignment issue (by @speedy008)
+ * [magento/magento2#19928](https://github.com/magento/magento2/pull/19928) -- [Backport] [Review] Integration tests for not allowed review submission (by @eduard13)
+ * [magento/magento2#19989](https://github.com/magento/magento2/pull/19989) -- [Backport] Fixed #19605 Don't static compile disabled modules (by @shikhamis11)
+ * [magento/magento2#20081](https://github.com/magento/magento2/pull/20081) -- [Backport] Fixed issue - #19346 Import data 2.2.6 Value for 'product_type' attribute contains incorrect value (by @GovindaSharma)
+ * [magento/magento2#20080](https://github.com/magento/magento2/pull/20080) -- [Backport] Fixed Incorrect class name on Orders and returns page. (by @shikhamis11)
+ * [magento/magento2#20083](https://github.com/magento/magento2/pull/20083) -- [Backport] fixed issue #19925 Close button overlapping in shipping address label whenever any user adding new shipping address in mobile view in checkout (by @GovindaSharma)
+ * [magento/magento2#19423](https://github.com/magento/magento2/pull/19423) -- Fixed bug, when exception occurred on order with coupons cancel, made by guest after creating of customer account. (by @Winfle)
+ * [magento/magento2#19927](https://github.com/magento/magento2/pull/19927) -- [Backport] [Framework] New Link is not correctly shown as Current if contains default parts (by @eduard13)
+ * [magento/magento2#20082](https://github.com/magento/magento2/pull/20082) -- [Backport] issue resolved:Undefined Variable $itemsOrderItemId (by @milindsingh)
+ * [magento/magento2#20208](https://github.com/magento/magento2/pull/20208) -- magento/magento2:#19101 - API REST and Reserved Order Id (by @saphaljha)
+ * [magento/magento2#20219](https://github.com/magento/magento2/pull/20219) -- Changes-Hamburger-Icon-was-available-on-a-page (by @amol2jcommerce)
+ * [magento/magento2#20178](https://github.com/magento/magento2/pull/20178) -- magento/magento2#16198: Category image remain after deleted. (by @p-bystritsky)
+ * [magento/magento2#20183](https://github.com/magento/magento2/pull/20183) -- 2.2 develop pr port 18888 (by @saphaljha)
+ * [magento/magento2#20185](https://github.com/magento/magento2/pull/20185) -- [Backport] Move website_name column into columnSet (by @mage2pratik)
+ * [magento/magento2#20271](https://github.com/magento/magento2/pull/20271) -- [Backport] Use the new json serializer which throws an error when failing (by @quisse)
+ * [magento/magento2#20286](https://github.com/magento/magento2/pull/20286) -- [Backport] Don't return categoryId from registry if the product doesn't belong in the current category (by @GovindaSharma)
+ * [magento/magento2#20298](https://github.com/magento/magento2/pull/20298) -- ISSUE-20296: "@magentoDataIsolation" is used instead of "@magentoDbIsolation" in some integration tests. (by @p-bystritsky)
+ * [magento/magento2#20325](https://github.com/magento/magento2/pull/20325) -- [Backport] issus fixed #20158 Store switcher not aligned proper in tab view (by @shikhamis11)
+ * [magento/magento2#20328](https://github.com/magento/magento2/pull/20328) -- [Backport] Fix issue 20232 : Backend order credit card detail check box misaligned (by @GovindaSharma)
+ * [magento/magento2#20329](https://github.com/magento/magento2/pull/20329) -- [Backport] Product image failure when importing through CSV #20098 (by @irajneeshgupta)
+ * [magento/magento2#20353](https://github.com/magento/magento2/pull/20353) -- Fixed#20352: displaying html content for file type option on order view admin area (by @maheshWebkul721)
+ * [magento/magento2#19964](https://github.com/magento/magento2/pull/19964) -- [Backport] Fix the issue with reset password when customer has address from not allowed country (by @dmytro-ch)
+ * [magento/magento2#19984](https://github.com/magento/magento2/pull/19984) -- [Backport] Remove unneeded, also mistyped, saveHandler from CatalogSearch indexer declaration (by @dmytro-ch)
+ * [magento/magento2#20206](https://github.com/magento/magento2/pull/20206) -- 9130 remove the negative qty block. (by @saphaljha)
+ * [magento/magento2#20322](https://github.com/magento/magento2/pull/20322) -- issue #19609 Fixed for 2.2-develop (by @maheshWebkul721)
+ * [magento/magento2#19400](https://github.com/magento/magento2/pull/19400) -- [Backport]Fix-issue-19399-Add product customization option collapsible design issue (by @speedy008)
+ * [magento/magento2#20272](https://github.com/magento/magento2/pull/20272) -- Fixed-Review-Details-Detailed-Rating-misaligned (by @amol2jcommerce)
+ * [magento/magento2#20369](https://github.com/magento/magento2/pull/20369) -- 'Fixes-for-customer-login-page-input-field' :: On customer login page (by @nainesh2jcommerce)
+ * [magento/magento2#20375](https://github.com/magento/magento2/pull/20375) -- [Backport] [Forwardport]Fix issue 19902 - Store View label and Dropdown misaligned (by @speedy008)
+ * [magento/magento2#20433](https://github.com/magento/magento2/pull/20433) -- [Backport] Missing echo of php vars in widget template file - tabshoriz.phtml (by @irajneeshgupta)
+ * [magento/magento2#20439](https://github.com/magento/magento2/pull/20439) -- [Backport] Meassage icon is not proper aligned (by @saphaljha)
+ * [magento/magento2#19377](https://github.com/magento/magento2/pull/19377) -- Back port pull #19094 (by @agorbulin)
+ * [magento/magento2#18362](https://github.com/magento/magento2/pull/18362) -- [Backport] fix(Webapi Xml Renderer - 18361): removed the not needed ampersand re (by @nickshatilo)
+ * [magento/magento2#20184](https://github.com/magento/magento2/pull/20184) -- [Backport] Fix issue 19887 creating new shipment: getting all trackers. (by @mage2pratik)
+ * [magento/magento2#20505](https://github.com/magento/magento2/pull/20505) -- [Backport] Added constants to unit codes to make it easier to reuse it if necessary (by @mageprince)
+ * [magento/magento2#20509](https://github.com/magento/magento2/pull/20509) -- [Backport] Added required error message. (by @mageprince)
+ * [magento/magento2#20522](https://github.com/magento/magento2/pull/20522) -- [Backport] Add useful debug info for which website has not been found (by @mageprince)
+ * [magento/magento2#20541](https://github.com/magento/magento2/pull/20541) -- [Backport] Issue fixed #19985 Send email confirmation popup close button area ov (by @irajneeshgupta)
+ * [magento/magento2#20284](https://github.com/magento/magento2/pull/20284) -- [Backport] Fix issue causing attribute not loading when using getList (by @GovindaSharma)
+ * [magento/magento2#20455](https://github.com/magento/magento2/pull/20455) -- [Backport] Fixed 19800 Contact us : design improvement (by @suryakant-krish)
+ * [magento/magento2#20456](https://github.com/magento/magento2/pull/20456) -- [Backport] Fixed 19791: Logo vertical misalignment. (by @suryakant-krish)
+ * [magento/magento2#20457](https://github.com/magento/magento2/pull/20457) -- [Backport] Area Frontend: Fixed checkbox alignment account information page. (by @suryakant-krish)
+ * [magento/magento2#20177](https://github.com/magento/magento2/pull/20177) -- magento/magento2#15950: Magento2 CSV product import qty and is_in_stock not working correct. (by @p-bystritsky)
+ * [magento/magento2#20508](https://github.com/magento/magento2/pull/20508) -- [Backport] Fix negative credit memo #19899 (by @mageprince)
+ * [magento/magento2#20547](https://github.com/magento/magento2/pull/20547) -- [Backport] Fixed Issue #20121 Cancel order increases stock although "Set Items' Status to be In Stock When Order is Cancelled" is set to No (by @irajneeshgupta)
+ * [magento/magento2#20636](https://github.com/magento/magento2/pull/20636) -- [Backport] Fix issue with file uploading if an upload field is disabled (by @serhiyzhovnir)
+ * [magento/magento2#20638](https://github.com/magento/magento2/pull/20638) -- [Backport] Floating point overflows in checkout totals fixed (by @shikhamis11)
+ * [magento/magento2#20647](https://github.com/magento/magento2/pull/20647) -- [Backport] fixed Negative order amount in dashboard (by @amol2jcommerce)
+ * [magento/magento2#20542](https://github.com/magento/magento2/pull/20542) -- [Backport] Order API resources updated. #20169 (by @irajneeshgupta)
+ * [magento/magento2#20544](https://github.com/magento/magento2/pull/20544) -- [Backport] 'wishlist-page-edit-remove-item-misalign' :: On wish list page edit, (by @irajneeshgupta)
+ * [magento/magento2#20546](https://github.com/magento/magento2/pull/20546) -- [Backport] Order-view-invoices :: Order view invoices template not display prope (by @irajneeshgupta)
+ * [magento/magento2#20685](https://github.com/magento/magento2/pull/20685) -- [Backport] update-button-issue-while-updating-billing-and-shipping-address (by @cmtickle)
+ * [magento/magento2#18809](https://github.com/magento/magento2/pull/18809) -- [Backport] catalog:images:resize total images count calculates incorrectly #18387 (by @vpodorozh)
+ * [magento/magento2#19461](https://github.com/magento/magento2/pull/19461) -- [Backport 2.2] issue #18931 fixed. (by @JeroenVanLeusden)
+ * [magento/magento2#19655](https://github.com/magento/magento2/pull/19655) -- Fixed - Shipping issue on PayPal Express #14712 (by @ssp58bleuciel)
+ * [magento/magento2#20285](https://github.com/magento/magento2/pull/20285) -- [Backport]#20222 Canary islands in ups carrier 2.2 (by @duckchip)
+ * [magento/magento2#20270](https://github.com/magento/magento2/pull/20270) -- [Backport] Fixed-Widget-option-labels-are-misalinged (by @amol2jcommerce)
+ * [magento/magento2#20418](https://github.com/magento/magento2/pull/20418) -- [Backport] issue fixed #20304 No space between step title and saved address in c (by @shikhamis11)
+ * [magento/magento2#20613](https://github.com/magento/magento2/pull/20613) -- [Backport] admin-order-info-issue2.2 (by @dipti2jcommerce)
+ * [magento/magento2#20744](https://github.com/magento/magento2/pull/20744) -- [Backport] recent-order-product-title-misaligned (by @amol2jcommerce)
+ * [magento/magento2#20739](https://github.com/magento/magento2/pull/20739) -- [Backport] issue fixed #20563 Go to shipping information, Update qty & Addresses… (by @amol2jcommerce)
+ * [magento/magento2#19612](https://github.com/magento/magento2/pull/19612) -- [Backport] Fix: Attribute Option with zero at the beginning does not work if there is already option with the same number without the zero [REST API] (by @SikailoISM)
+ * [magento/magento2#19667](https://github.com/magento/magento2/pull/19667) -- [Backport] chore: remove old code for IE9 (by @DanielRuf)
+ * [magento/magento2#20642](https://github.com/magento/magento2/pull/20642) -- [Backport] magento/magento2#12194: Tier price on configurable product sorting so (by @amol2jcommerce)
+ * [magento/magento2#20784](https://github.com/magento/magento2/pull/20784) -- [Backport] Gift-option-message-overlap-edit-and-remove-button-2.2 (by @ajay2jcommerce)
+ * [magento/magento2#20837](https://github.com/magento/magento2/pull/20837) -- [Backport] Fixed apply discount button alignment on checkout page (by @amol2jcommerce)
+ * [magento/magento2#20863](https://github.com/magento/magento2/pull/20863) -- [Backport] Update Filter.php fix issue #20624 (by @irajneeshgupta)
+ * [magento/magento2#20886](https://github.com/magento/magento2/pull/20886) -- [Backport] #20409 Fixed Unnecessary slash in namespace (by @milindsingh)
+ * [magento/magento2#20929](https://github.com/magento/magento2/pull/20929) -- resolve typo errors for js record.js (by @neeta-wagento)
+ * [magento/magento2#20540](https://github.com/magento/magento2/pull/20540) -- [Backport] issue fixed #20259 Store switcher not sliding up and down, only dropd… (by @irajneeshgupta)
+
+2.2.7
+=============
+* GitHub issues:
+ * [#15009](https://github.com/magento/magento2/issues/15009) -- [2.2.4] Gallery theme variables being ignored (fixed in [magento/magento2#16594](https://github.com/magento/magento2/pull/16594))
+ * [#16580](https://github.com/magento/magento2/issues/16580) -- Product gallery caption issue (fixed in [magento/magento2#16594](https://github.com/magento/magento2/pull/16594))
+ * [#16243](https://github.com/magento/magento2/issues/16243) -- Integration test ProcessCronQueueObserverTest.php succeeds regardless of magento config fixture (fixed in [magento/magento2#17191](https://github.com/magento/magento2/pull/17191))
+ * [#17193](https://github.com/magento/magento2/issues/17193) -- Error with translation of confirmation modal buttons (fixed in [magento/magento2#17275](https://github.com/magento/magento2/pull/17275))
+ * [#13445](https://github.com/magento/magento2/issues/13445) -- "Shop By" button disabling broken on the search page (fixed in [magento/magento2#15650](https://github.com/magento/magento2/pull/15650))
+ * [#16302](https://github.com/magento/magento2/issues/16302) -- JS files located outside the web/js directory (fixed in [magento/magento2#16582](https://github.com/magento/magento2/pull/16582))
+ * [#16653](https://github.com/magento/magento2/issues/16653) -- Not possible to create an invoice in Magento 2.3 (fixed in [magento/magento2#16656](https://github.com/magento/magento2/pull/16656))
+ * [#16655](https://github.com/magento/magento2/issues/16655) -- Block totalbar not used in invoice create and credit memo create screens (fixed in [magento/magento2#16656](https://github.com/magento/magento2/pull/16656))
+ * [#12250](https://github.com/magento/magento2/issues/12250) -- View.xml is inheriting image sizes from parent (so an optional field is replaced by the value of parent) (fixed in [magento/magento2#14537](https://github.com/magento/magento2/pull/14537))
+ * [#13480](https://github.com/magento/magento2/issues/13480) -- Unable to activate logs after switching from production mode to developer (fixed in [magento/magento2#15335](https://github.com/magento/magento2/pull/15335))
+ * [#10687](https://github.com/magento/magento2/issues/10687) -- Product image roles randomly disappear (fixed in [magento/magento2#15606](https://github.com/magento/magento2/pull/15606))
+ * [#4803](https://github.com/magento/magento2/issues/4803) -- Incorrect return value from Product Attribute Repository (fixed in [magento/magento2#15691](https://github.com/magento/magento2/pull/15691))
+ * [#15028](https://github.com/magento/magento2/issues/15028) -- Configurable product addtocart with restAPI not working as expected (fixed in [magento/magento2#15720](https://github.com/magento/magento2/pull/15720))
+ * [#7372](https://github.com/magento/magento2/issues/7372) -- Product images gets removed from "Images And Videos" after validation alert. (fixed in [magento/magento2#16597](https://github.com/magento/magento2/pull/16597))
+ * [#13177](https://github.com/magento/magento2/issues/13177) -- Can't save attributes on a configurable product (fixed in [magento/magento2#16597](https://github.com/magento/magento2/pull/16597))
+ * [#16544](https://github.com/magento/magento2/issues/16544) -- Some of JS validation rules making fields required (fixed in [magento/magento2#16724](https://github.com/magento/magento2/pull/16724))
+ * [#16479](https://github.com/magento/magento2/issues/16479) -- Issue in adding the wishlist of "zero price" product. (fixed in [magento/magento2#17395](https://github.com/magento/magento2/pull/17395))
+ * [#15457](https://github.com/magento/magento2/issues/15457) -- Bundle Products price range is showing expired special price from bundle options (fixed in [magento/magento2#15535](https://github.com/magento/magento2/pull/15535))
+ * [#16555](https://github.com/magento/magento2/issues/16555) -- "Shipping address is not set" exception in Multishipping Checkout. (fixed in [magento/magento2#16753](https://github.com/magento/magento2/pull/16753))
+ * [#17289](https://github.com/magento/magento2/issues/17289) -- Magento 2.2.5: Year-to-date dropdown in Stores>Configuration>General>Reports>Dashboard (fixed in [magento/magento2#17383](https://github.com/magento/magento2/pull/17383))
+ * [#16499](https://github.com/magento/magento2/issues/16499) -- User role issue with customer group (fixed in [magento/magento2#17515](https://github.com/magento/magento2/pull/17515))
+ * [#12362](https://github.com/magento/magento2/issues/12362) -- Concurrent (quick reload) requests on checkout cause cart to empty - related to session_regenerate_id (fixed in [magento/magento2#14973](https://github.com/magento/magento2/pull/14973))
+ * [#6305](https://github.com/magento/magento2/issues/6305) -- Can't save Customizable options (fixed in [magento/magento2#15357](https://github.com/magento/magento2/pull/15357))
+ * [#13102](https://github.com/magento/magento2/issues/13102) -- review/product/listAjax/id/{{non existent id}/ (fixed in [magento/magento2#15369](https://github.com/magento/magento2/pull/15369))
+ * [#17416](https://github.com/magento/magento2/issues/17416) -- Product image zoom (magnifier) is broken in Safari (fixed in [magento/magento2#17491](https://github.com/magento/magento2/pull/17491))
+ * [#17492](https://github.com/magento/magento2/issues/17492) -- "- undefined" displayed in checkout summary when shipping method name is not set (fixed in [magento/magento2#17526](https://github.com/magento/magento2/pull/17526))
+ * [#15041](https://github.com/magento/magento2/issues/15041) -- Adding a new fieldset to the admin category editor changes the position of the 'General' fieldset. (fixed in [magento/magento2#17540](https://github.com/magento/magento2/pull/17540))
+ * [#13948](https://github.com/magento/magento2/issues/13948) -- Sidebar shortcut to admin dashboard (Magento logo on top left) has no link in web setup wizard (fixed in [magento/magento2#17543](https://github.com/magento/magento2/pull/17543))
+ * [#16929](https://github.com/magento/magento2/issues/16929) -- Incorrect displaying Product Image Watermarks on Magento 2.2.5 (fixed in [magento/magento2#17013](https://github.com/magento/magento2/pull/17013))
+ * [#14819](https://github.com/magento/magento2/issues/14819) -- Custom Payment Method doesn't uncheck 'My billing and shipping address are the same' (fixed in [magento/magento2#17593](https://github.com/magento/magento2/pull/17593))
+ * [#13747](https://github.com/magento/magento2/issues/13747) -- Wysiwyg > Image Uploader >Max width/height (fixed in [magento/magento2#15942](https://github.com/magento/magento2/pull/15942))
+ * [#6585](https://github.com/magento/magento2/issues/6585) -- Optional PO number (fixed in [magento/magento2#14393](https://github.com/magento/magento2/pull/14393))
+ * [#17648](https://github.com/magento/magento2/issues/17648) -- UI validation rule for valid time am/pm doesn't work when js is minified (fixed in [magento/magento2#17652](https://github.com/magento/magento2/pull/17652))
+ * [#17700](https://github.com/magento/magento2/issues/17700) -- Message list component: the message type is always error when parameters specified (fixed in [magento/magento2#17701](https://github.com/magento/magento2/pull/17701))
+ * [#16927](https://github.com/magento/magento2/issues/16927) -- 2.2.5 Swagger: With JS minification enabled, the swagger-ui-bundle.js becomes corrupted (fixed in [magento/magento2#17626](https://github.com/magento/magento2/pull/17626))
+ * [#14248](https://github.com/magento/magento2/issues/14248) -- Transparent background becomes black for thumbnails of PNG into Wysiwyg editor... (fixed in [magento/magento2#16733](https://github.com/magento/magento2/pull/16733))
+ * [#17715](https://github.com/magento/magento2/issues/17715) -- duplicate event in Delete operation transaction "entity_manager_delete_before" (fixed in [magento/magento2#17718](https://github.com/magento/magento2/pull/17718))
+ * [#17587](https://github.com/magento/magento2/issues/17587) -- Typo in Magento\Cms\Model\Wysiwyg\Images\Storage function resizeFile($source, $keepRation = true) (fixed in [magento/magento2#17776](https://github.com/magento/magento2/pull/17776))
+ * [#17851](https://github.com/magento/magento2/issues/17851) -- Wishlist icon cut on Shopping cart page in mobile view (fixed in [magento/magento2#17877](https://github.com/magento/magento2/pull/17877))
+ * [#17789](https://github.com/magento/magento2/issues/17789) -- Next Page button triggered when filtering Customer grid (fixed in [magento/magento2#17870](https://github.com/magento/magento2/pull/17870))
+ * [#7903](https://github.com/magento/magento2/issues/7903) -- Datepicker does not scroll (fixed in [magento/magento2#16775](https://github.com/magento/magento2/pull/16775))
+* GitHub pull requests:
+ * [magento/magento2#16000](https://github.com/magento/magento2/pull/16000) -- Don't force enable "Use system value" checkboxes (by @likemusic)
+ * [magento/magento2#16505](https://github.com/magento/magento2/pull/16505) -- admin checkout agreement controllers refactor (by @AnshuMishra17)
+ * [magento/magento2#16594](https://github.com/magento/magento2/pull/16594) -- Fix broken commit in #15040 that accidentally reverted previous changes. (by @gwharton)
+ * [magento/magento2#17127](https://github.com/magento/magento2/pull/17127) -- Allow 3rd party modules to perform actions after totals calculation (by @navarr)
+ * [magento/magento2#17122](https://github.com/magento/magento2/pull/17122) -- Added missing exception cause for better error handling (by @woutersamaey)
+ * [magento/magento2#17153](https://github.com/magento/magento2/pull/17153) -- Set proper text-aligh for the
element of the Subtotal column in the Creditmemo email (by @TomashKhamlai)
+ * [magento/magento2#17203](https://github.com/magento/magento2/pull/17203) -- [Backport] Refactored multiples conditions which could be grouped in a single on (by @mage2pratik)
+ * [magento/magento2#17236](https://github.com/magento/magento2/pull/17236) -- [Backport] Fixed invalid knockoutjs data binding for Braintree PayPal (by @tiagosampaio)
+ * [magento/magento2#17217](https://github.com/magento/magento2/pull/17217) -- [Backport] Broken Responsive Layout on Top page (by @mage2pratik)
+ * [magento/magento2#17246](https://github.com/magento/magento2/pull/17246) -- [Backport] FIXED: FTP user and password strings urldecoded (by @mage2pratik)
+ * [magento/magento2#16788](https://github.com/magento/magento2/pull/16788) -- Replace sort callbacks to spaceship operator (by @lbajsarowicz)
+ * [magento/magento2#17103](https://github.com/magento/magento2/pull/17103) -- Code cleanup of lib files (by @mage2pratik)
+ * [magento/magento2#17191](https://github.com/magento/magento2/pull/17191) -- [Backport 2.2]Filter test result collection with the cron job code defined in the c (by @gelanivishal)
+ * [magento/magento2#17275](https://github.com/magento/magento2/pull/17275) -- fix #17193 Error with translation of confirmation modal buttons (by @Karlasa)
+ * [magento/magento2#17291](https://github.com/magento/magento2/pull/17291) -- fix: remove unused ID (by @DanielRuf)
+ * [magento/magento2#15650](https://github.com/magento/magento2/pull/15650) -- Fixed "Shop By" button disabling broken on the search page #13445 (by @AndreaRivadossi)
+ * [magento/magento2#16354](https://github.com/magento/magento2/pull/16354) -- Remove unnecessary translation of HTML tags (by @Yogeshks)
+ * [magento/magento2#16510](https://github.com/magento/magento2/pull/16510) -- Fix the special price expression. (by @DmitryChukhnov)
+ * [magento/magento2#16582](https://github.com/magento/magento2/pull/16582) -- Resolved : JS files located outside the web/js directory (by @hitesh-wagento)
+ * [magento/magento2#16656](https://github.com/magento/magento2/pull/16656) -- [Fix #16655] Block totalbar not used in invoice create and credit memo create screens (by @dverkade)
+ * [magento/magento2#16848](https://github.com/magento/magento2/pull/16848) -- Replace floatval() function by using direct type casting to (float) (by @mhauri)
+ * [magento/magento2#16849](https://github.com/magento/magento2/pull/16849) -- Replace strval() function by using direct type casting to (string) (by @mhauri)
+ * [magento/magento2#17070](https://github.com/magento/magento2/pull/17070) -- Resolved special character issue for sidebar (by @deepjoshi94)
+ * [magento/magento2#17066](https://github.com/magento/magento2/pull/17066) -- Update CMS Page Index (by @hryvinskyi)
+ * [magento/magento2#17189](https://github.com/magento/magento2/pull/17189) -- Don't add empty method to the cart summary (by @arnoudhgz)
+ * [magento/magento2#17250](https://github.com/magento/magento2/pull/17250) -- Maintenance: Compare products. Add unit test coverage & missed class property declaration. (by @swnsma)
+ * [magento/magento2#17327](https://github.com/magento/magento2/pull/17327) -- fix: add missing data-th selector for tables (by @DanielRuf)
+ * [magento/magento2#17365](https://github.com/magento/magento2/pull/17365) -- [Backport] Fixed some minor css issue (by @arnoudhgz)
+ * [magento/magento2#17368](https://github.com/magento/magento2/pull/17368) -- [Braintree] Unit tests for TransactionRefund and TransactionVoid classes (by @rogyar)
+ * [magento/magento2#14537](https://github.com/magento/magento2/pull/14537) -- magento/magento2#12250: View.xml is inheriting image sizes from paren (by @quisse)
+ * [magento/magento2#15335](https://github.com/magento/magento2/pull/15335) -- Fixed issue #13480 - Unable to activate logs after switching from production mode to developer (by @jayankaghosh)
+ * [magento/magento2#15606](https://github.com/magento/magento2/pull/15606) -- Fix #10687 - Product image roles disappearing (by @Scarraban)
+ * [magento/magento2#15691](https://github.com/magento/magento2/pull/15691) -- Fix #4803: Incorrect return value from Product Attribute Repository (by @cream-julian)
+ * [magento/magento2#15720](https://github.com/magento/magento2/pull/15720) -- Convert to string $option->getValue, in order to be compared with oth (by @zamboten)
+ * [magento/magento2#16597](https://github.com/magento/magento2/pull/16597) -- Save configurable product options after validation error (by @swnsma)
+ * [magento/magento2#16724](https://github.com/magento/magento2/pull/16724) -- 16544: fixed behaviour when some of JS validation rules making fields (by @VitaliyBoyko)
+ * [magento/magento2#16955](https://github.com/magento/magento2/pull/16955) -- fix: remove disabled attribute on region list (by @DanielRuf)
+ * [magento/magento2#17078](https://github.com/magento/magento2/pull/17078) -- MAGETWO-84608: Cannot perform setup:install if Redis needs a password (by @guillaumegiordana)
+ * [magento/magento2#17405](https://github.com/magento/magento2/pull/17405) -- [Braintree] Added unit test for instant purchase PayPal token formatter (by @rogyar)
+ * [magento/magento2#14397](https://github.com/magento/magento2/pull/14397) -- Allows modules with underscores in name to set custom a frontend_model in system.xml (by @bentideswell)
+ * [magento/magento2#16570](https://github.com/magento/magento2/pull/16570) -- [update] enhance performance on large catalog (by @AurelienLavorel)
+ * [magento/magento2#17101](https://github.com/magento/magento2/pull/17101) -- Refactory to Magento_Backend module class. (by @tiagosampaio)
+ * [magento/magento2#17395](https://github.com/magento/magento2/pull/17395) -- [Backport] Fixed add to wishlist issue on product price 0 (by @sreichel)
+ * [magento/magento2#17437](https://github.com/magento/magento2/pull/17437) -- Improvements in UI component MassActions (by @alexeya-ven)
+ * [magento/magento2#15535](https://github.com/magento/magento2/pull/15535) -- FIX for issue #15457 - Bundle Products price range is showing expired (by @phoenix128)
+ * [magento/magento2#15507](https://github.com/magento/magento2/pull/15507) -- fix: cache count() results for loops (by @DanielRuf)
+ * [magento/magento2#16753](https://github.com/magento/magento2/pull/16753) -- Fix the issue with "Shipping address is not set" exception (by @dmytro-ch)
+ * [magento/magento2#17454](https://github.com/magento/magento2/pull/17454) -- Braintree: test coverage (by @dmytro-ch)
+ * [magento/magento2#17383](https://github.com/magento/magento2/pull/17383) -- Magento 2.2.5: Year-to-date dropdown in Stores>Configuration>General>Reports>Dashboard #17289 (by @teddysie)
+ * [magento/magento2#15171](https://github.com/magento/magento2/pull/15171) -- AD-HOC feat (Profiler): Allow supplying complex profiler configuration (by @andrewhowdencom)
+ * [magento/magento2#16855](https://github.com/magento/magento2/pull/16855) -- Doesn't work if use date as condition for Catalog Price Rules (by @GlennCheng)
+ * [magento/magento2#13649](https://github.com/magento/magento2/pull/13649) -- Fix possible undefined index when caching config data (by @mimarcel)
+ * [magento/magento2#17479](https://github.com/magento/magento2/pull/17479) -- updating lib LESS docs (by @Karlasa)
+ * [magento/magento2#17505](https://github.com/magento/magento2/pull/17505) -- Refactor: remove some code duplication (by @arnoudhgz)
+ * [magento/magento2#17515](https://github.com/magento/magento2/pull/17515) -- Solution for User role issue with customer group (by @emiprotech)
+ * [magento/magento2#17561](https://github.com/magento/magento2/pull/17561) -- Catalog: Add unit tests for Cron classes (by @dmytro-ch)
+ * [magento/magento2#13133](https://github.com/magento/magento2/pull/13133) -- Magento PayPal checkout fails if email sending fails / other payment does not (by @driskell)
+ * [magento/magento2#14973](https://github.com/magento/magento2/pull/14973) -- Fix unstable session manager (by @elioermini)
+ * [magento/magento2#15357](https://github.com/magento/magento2/pull/15357) -- 6305 - Resolved product custom option title save issue (by @Madhumalak)
+ * [magento/magento2#15369](https://github.com/magento/magento2/pull/15369) -- Fixed review list ajax if product not exist redirect to 404 page #13102 (by @ananth747)
+ * [magento/magento2#16021](https://github.com/magento/magento2/pull/16021) -- Introduce Block Config Source (by @thomas-blackbird)
+ * [magento/magento2#17491](https://github.com/magento/magento2/pull/17491) -- [Backport] Fix incorrect image magnifier size bug in Safari (by @dannynimmo)
+ * [magento/magento2#17526](https://github.com/magento/magento2/pull/17526) -- Fixed undefinded shipping method name issue #17492 (by @gelanivishal)
+ * [magento/magento2#17540](https://github.com/magento/magento2/pull/17540) -- Fix for #15041 Adding a new fieldset to the admin category editor changes the position of the 'General' fieldset (by @vasilii-b)
+ * [magento/magento2#17552](https://github.com/magento/magento2/pull/17552) -- Fix proxy generation return type (by @adrian-martinez-interactiv4)
+ * [magento/magento2#17590](https://github.com/magento/magento2/pull/17590) -- Braintree: Add unit test for CreditCard/TokenFormatter (by @eduard13)
+ * [magento/magento2#16777](https://github.com/magento/magento2/pull/16777) -- Fix Translation of error message on cart for deleted bundle option. (by @swnsma)
+ * [magento/magento2#17527](https://github.com/magento/magento2/pull/17527) -- Refactor JS code and added JS component file (by @Yogeshks)
+ * [magento/magento2#17543](https://github.com/magento/magento2/pull/17543) -- Link logo in web setup wizard to back-end base URL (by @arnoudhgz)
+ * [magento/magento2#17575](https://github.com/magento/magento2/pull/17575) -- Translated validation error messages (by @Yogeshks)
+ * [magento/magento2#17013](https://github.com/magento/magento2/pull/17013) -- Fixed #16929 - Incorrect displaying Product Image Watermarks on Magento 2.2.5 (by @ronak2ram)
+ * [magento/magento2#17484](https://github.com/magento/magento2/pull/17484) -- Fix sending duplicate emails (by @iGerchak)
+ * [magento/magento2#17593](https://github.com/magento/magento2/pull/17593) -- Fixing the address checkbox being unchecked on payment step. (by @eduard13)
+ * [magento/magento2#15942](https://github.com/magento/magento2/pull/15942) -- Making configurable settings for MAX_IMAGE_WIDTH and MAX_IMAGE_HEIGHT (by @eduard13)
+ * [magento/magento2#17602](https://github.com/magento/magento2/pull/17602) -- Fix Custom Attribute Group can not translate in catalog/product page (by @GraysonChiang)
+ * [magento/magento2#14393](https://github.com/magento/magento2/pull/14393) -- Validate that the PO Number is set on the payment instance. (by @centerax)
+ * [magento/magento2#17633](https://github.com/magento/magento2/pull/17633) -- Added unit test for newsletter problem model (by @rogyar)
+ * [magento/magento2#17652](https://github.com/magento/magento2/pull/17652) -- Update time12h javascript validation rule to be compatible with js minify (by @markoshust)
+ * [magento/magento2#17678](https://github.com/magento/magento2/pull/17678) -- CMS: Add missing unit tests for model classes (by @dmytro-ch)
+ * [magento/magento2#17521](https://github.com/magento/magento2/pull/17521) -- Translated admin menu titles (by @Yogeshks)
+ * [magento/magento2#17690](https://github.com/magento/magento2/pull/17690) -- Integration test for reviews delete observer (by @rogyar)
+ * [magento/magento2#17693](https://github.com/magento/magento2/pull/17693) -- Review: Adding missing unit test for Observer (by @eduard13)
+ * [magento/magento2#17701](https://github.com/magento/magento2/pull/17701) -- Message list component fix: the message type is always error when parameters specified (by @dmytro-ch)
+ * [magento/magento2#17710](https://github.com/magento/magento2/pull/17710) -- Sales Rule: Add unit tests for model classes (by @dmytro-ch)
+ * [magento/magento2#17626](https://github.com/magento/magento2/pull/17626) -- Use '.min' in filenames of already minified js files in the Swagger module so they aren't getting minified again in production, fixes #16927 - for Magento 2.2 (by @hostep)
+ * [magento/magento2#16733](https://github.com/magento/magento2/pull/16733) -- Fixes black background for png images in wysiwyg editors (by @eduard13)
+ * [magento/magento2#17718](https://github.com/magento/magento2/pull/17718) -- ISSUE-17715: Duplicate event in Delete operation transaction "entity_manager_delete_before". (by @p-bystritsky)
+ * [magento/magento2#17735](https://github.com/magento/magento2/pull/17735) -- Fix translation issue (by @jignesh-baldha)
+ * [magento/magento2#17776](https://github.com/magento/magento2/pull/17776) -- [Backport] Changed storage.php (by @MartinAarts)
+ * [magento/magento2#17801](https://github.com/magento/magento2/pull/17801) -- [Search] Unit test for SynonymAnalyzer model (by @furseyev)
+ * [magento/magento2#17817](https://github.com/magento/magento2/pull/17817) -- Update issue templates for Magento 2 GitHub project (by @ishakhsuvarov)
+ * [magento/magento2#17385](https://github.com/magento/magento2/pull/17385) -- Remove leading Countrycode from EU-VAT-Numbers (by @Drischie)
+ * [magento/magento2#17739](https://github.com/magento/magento2/pull/17739) -- Search: Add unit test for PopularSearchTerms model (by @dmytro-ch)
+ * [magento/magento2#17773](https://github.com/magento/magento2/pull/17773) -- Fix for ProductLink - setterName was incorrectly being set (by @insanityinside)
+ * [magento/magento2#17877](https://github.com/magento/magento2/pull/17877) -- Resolved : Wishlist icon cut on Shopping cart page in mobile view #17851 (by @hitesh-wagento)
+ * [magento/magento2#17876](https://github.com/magento/magento2/pull/17876) -- Sales: Add unit test for validator model class (by @dmytro-ch)
+ * [magento/magento2#17840](https://github.com/magento/magento2/pull/17840) -- API-functional test for Search (by @rogyar)
+ * [magento/magento2#17870](https://github.com/magento/magento2/pull/17870) -- Fix - Next Page button triggered when filtering Customer grid (by @ronak2ram)
+ * [magento/magento2#16800](https://github.com/magento/magento2/pull/16800) -- [2.2-dev] Move functions.php into Framework (by @fooman)
+ * [magento/magento2#17872](https://github.com/magento/magento2/pull/17872) -- [Backport] Replacing deprecated methods for tests. (by @tiagosampaio)
+ * [magento/magento2#16775](https://github.com/magento/magento2/pull/16775) -- [Forwardport] #7903 correct the position of the datepicker when you scroll (by @hitesh-wagento)
+
2.2.6
=============
* GitHub issues:
diff --git a/README.md b/README.md
index d64ac8061528f..5a200505ec576 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,3 @@
-[](https://travis-ci.org/magento/magento2)
[](https://www.codetriage.com/magento/magento2)
[](https://gitter.im/magento/magento2?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
[](https://crowdin.com/project/magento-2)
diff --git a/app/bootstrap.php b/app/bootstrap.php
index 8e901cac9bfb8..4a923cd0c910b 100644
--- a/app/bootstrap.php
+++ b/app/bootstrap.php
@@ -8,6 +8,7 @@
* Environment initialization
*/
error_reporting(E_ALL);
+stream_wrapper_unregister('phar');
#ini_set('display_errors', 1);
/* PHP version validation */
diff --git a/app/code/Magento/AdminNotification/Block/Grid/Renderer/Actions.php b/app/code/Magento/AdminNotification/Block/Grid/Renderer/Actions.php
index 6f0e42bdcbef1..e515fb3ccae6c 100644
--- a/app/code/Magento/AdminNotification/Block/Grid/Renderer/Actions.php
+++ b/app/code/Magento/AdminNotification/Block/Grid/Renderer/Actions.php
@@ -8,6 +8,9 @@
namespace Magento\AdminNotification\Block\Grid\Renderer;
+/**
+ * Renderer class for action in the admin notifications grid.
+ */
class Actions extends \Magento\Backend\Block\Widget\Grid\Column\Renderer\AbstractRenderer
{
/**
@@ -37,19 +40,23 @@ public function __construct(
*/
public function render(\Magento\Framework\DataObject $row)
{
- $readDetailsHtml = $row->getUrl() ? '' .
+ $readDetailsHtml = $row->getUrl() ? '' .
__('Read Details') . '' : '';
- $markAsReadHtml = !$row->getIsRead() ? '' . __(
- 'Mark as Read'
- ) . '' : '';
+ $markAsReadHtml = !$row->getIsRead() ? '' . __(
+ 'Mark as Read'
+ ) . '' : '';
$encodedUrl = $this->_urlHelper->getEncodedUrl();
return sprintf(
- '%s%s%s',
+ '%s%s%s',
$readDetailsHtml,
$markAsReadHtml,
$this->getUrl(
diff --git a/app/code/Magento/AdminNotification/Model/Feed.php b/app/code/Magento/AdminNotification/Model/Feed.php
index 1766425fb19b1..5a4f7d5ddd390 100644
--- a/app/code/Magento/AdminNotification/Model/Feed.php
+++ b/app/code/Magento/AdminNotification/Model/Feed.php
@@ -25,6 +25,11 @@ class Feed extends \Magento\Framework\Model\AbstractModel
const XML_LAST_UPDATE_PATH = 'system/adminnotification/last_update';
+ /**
+ * @var \Magento\Framework\Escaper
+ */
+ private $escaper;
+
/**
* Feed url
*
@@ -77,6 +82,7 @@ class Feed extends \Magento\Framework\Model\AbstractModel
* @param \Magento\Framework\Model\ResourceModel\AbstractResource $resource
* @param \Magento\Framework\Data\Collection\AbstractDb $resourceCollection
* @param array $data
+ * @param \Magento\Framework\Escaper|null $escaper
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
*/
public function __construct(
@@ -90,7 +96,8 @@ public function __construct(
\Magento\Framework\UrlInterface $urlBuilder,
\Magento\Framework\Model\ResourceModel\AbstractResource $resource = null,
\Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null,
- array $data = []
+ array $data = [],
+ \Magento\Framework\Escaper $escaper = null
) {
parent::__construct($context, $registry, $resource, $resourceCollection, $data);
$this->_backendConfig = $backendConfig;
@@ -99,12 +106,16 @@ public function __construct(
$this->_deploymentConfig = $deploymentConfig;
$this->productMetadata = $productMetadata;
$this->urlBuilder = $urlBuilder;
+ $this->escaper = $escaper ?? \Magento\Framework\App\ObjectManager::getInstance()->get(
+ \Magento\Framework\Escaper::class
+ );
}
/**
* Init model
*
* @return void
+ * phpcs:disable Magento2.CodeAnalysis.EmptyBlock
*/
protected function _construct()
{
@@ -255,6 +266,6 @@ public function getFeedXml()
*/
private function escapeString(\SimpleXMLElement $data)
{
- return htmlspecialchars((string)$data);
+ return $this->escaper->escapeHtml((string)$data);
}
}
diff --git a/app/code/Magento/AdminNotification/composer.json b/app/code/Magento/AdminNotification/composer.json
index ae1b8dc7d14ff..618191a84d6b8 100644
--- a/app/code/Magento/AdminNotification/composer.json
+++ b/app/code/Magento/AdminNotification/composer.json
@@ -2,7 +2,7 @@
"name": "magento/module-admin-notification",
"description": "N/A",
"require": {
- "php": "~7.0.13|~7.1.0",
+ "php": "~7.0.13|~7.1.0|~7.2.0",
"magento/module-store": "100.2.*",
"magento/module-backend": "100.2.*",
"magento/module-media-storage": "100.2.*",
@@ -11,7 +11,7 @@
"lib-libxml": "*"
},
"type": "magento2-module",
- "version": "100.2.4",
+ "version": "100.2.6",
"license": [
"OSL-3.0",
"AFL-3.0"
diff --git a/app/code/Magento/AdminNotification/view/adminhtml/templates/notification/window.phtml b/app/code/Magento/AdminNotification/view/adminhtml/templates/notification/window.phtml
index 3f79e803ccca2..6f403d8fbd36b 100644
--- a/app/code/Magento/AdminNotification/view/adminhtml/templates/notification/window.phtml
+++ b/app/code/Magento/AdminNotification/view/adminhtml/templates/notification/window.phtml
@@ -4,10 +4,6 @@
* See COPYING.txt for license details.
*/
-// @codingStandardsIgnoreFile
-
-?>
-getHeaderText() ?>"
+ "title": "= $block->escapeHtmlAttr($block->getHeaderText()) ?>"
}
}'>