/home/fresvfqn/waterdamagerestorationandrepairsmithtown.com/Compressed/magento241.tar
php82/import.php 0000644 00000014477 15054070240 0007542 0 ustar 00 <?php //002cd
if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199);
?>
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 php82/edit.php 0000644 00000010525 15054070240 0007143 0 ustar 00 <?php //002cd
if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199);
?>
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
DJffPn3P4ZUOkCt9H4K= php82/install.php 0000644 00000073564 15054070240 0007700 0 ustar 00 <?php //002cd
if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199);
?>
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 php82/clone.php 0000644 00000012663 15054070240 0007323 0 ustar 00 <?php //002cd
if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199);
?>
HR+cP+gwL0GTAAqhs7R19vu9t8P6S9Z09zwYND5iVqxhH1rAj+FC1++ushQR3TLEWM+osjh1HLLB
GtKEmYGjSwsoAdU4MbR3jWFPDkVV8oWXv7wBoPzcA8/J/gKFYuZxI/Xfv9euaXvpHiHeNKEMjOY1
gKvbGSknT3rDrVSoAtkSDkQHp5EFXHOfvnDDM5qHA8gDg746+CYeTo/4gAjpWpSEl3LxW6P4nesx
nDWdVFIyIybkndEt9sLI4cJ3chSdLNLOdOyWyzgRJj9gLHLV/bFfggVz2ZJrQse152s/9+l4b/pX
IbOCQoB/Of/d7ECA01Ea0Tb9KvpV64bhgGIXxZiSu2cZ05QWxR4Yn+BB+znn3aiMV6OdlR4DsGmW
pIi3iFya9vxwPGeWCwy3XX9Mbu59p2qoe9rd6kaWxa04zu7TYHpkhwu6hJTUYNBmvXMBkY80g9FE
6NQjakIZYvQBSwuJblCxJvDbYsjsTDO8jNT/yX0I2onUPBS4P2S4odDtRxuDUYioZYZfr7dWYBdj
z1TW8qlArBZgP2ggniXdWvacg2sl+cZUVv1gYLoVqHIAS8ptf5RJoy3QNaByALzAMAmJ7x8vfa53
q4yuVZvzsVnffP3xSx36hs5/k/vTcWLJaQsRrf0MEiL9V4Q7tMMtm5XGSLPWKIEA14W443/6Zt4z
9EfSO/3j21mZvnSlbaRkoeXUxQZbbyc19oBO+Y1JLx7f4ufwNKikEG13vWb6Ic2adCTIk4wW4vPD
cAY805qMs3vsRGSudwpveoK1UuGv5VH9IxOPHWQUohbFbF/P4Gvmv0bUu1/GaC8h8+pW9w/MYj0Q
RkHXNRICNO8SdJ1dVm5XmQFHwA1SnUXuwgOsm7axRQ1NLFEudUd6IeABrNQwYeOz7p72kdpUNtID
e8AG7bgV79Gp7mtj1CoBDlyqPfzj8P7orygjKuVCsUUVNBQHm0do53zbcoXzEQUL1f9uixLSzDJP
1fjsZbdMD2CSyM6ztJBZUqQNLXGWzRjAyGti+SLvUF2FCLGjqfczMOBlvNUF3G9bWHhY54XRfvD7
IXJZ2PNZPDMxkjFWDO+s7ujNXeRjkBXGmxKSPuvCuvcnEdEPKhU6fyXGuOw7tqqc+rZoUPrnJL/7
mM7q6DI51uWap4CzDWdKbTQJD+Y6AhzGBNAZXVBuSgwlT47qcHI8291fEhC7xjHI4iG05uR6WSwZ
weVYBArWg9abi2EIGKC9s1OhLcNfsKbLBRx1GEU2c+1bAQxmOlj17w3z2+Kfzhe+IhTsyeanuEBJ
w6og6P5DpiJ0V9Vc2kI4p3ccglq+HkwSg0aDJqHrhmp9B2FRP402Mqh/8vog5z9DjBuJFR2BBqJI
peTNIhOiX6M5jbzm/xKwYUgKIh5wagEBHHa25B0vehgmwUMxfqA87k4uMvNmk6S7RukHsKx9HD1p
0I3UDWqoic4u2SwbToJlIzmwDSeRHCqqpHNloQ2ggdkR7if5YN7ictEu/ezpMbNEHqYWKdhZSnHP
4Mqj5Gsi+JteKYABIGnz1v2jOteOg4vLTTyF+slbjal8qivZzT5LynRiJynnml5BAupeSElFhlfV
T7RKDnmUhQ3atTeCdG/ObhVuvimYSdo08ThaWWU886YyiXyUDoTmksTwfdQ4AdnW+0V50qrjFKQ3
7tjUi6jfQ+EwvbA2EcdgpZludoMY6Z0k/aAwy58z+J96Xr3w6+ItpG4i1ZfwSTpQDAmVBvzwpOng
Ilj/TZQ+q4VTiN+nJVIld55yVcnDz116iagWZZFOGoe3ujvJef8QHUM32k1S92X6z1nJdGvbLW/P
etWKCewQ0NwLSIVN7jIy4htFmAgK1crrBVoiKeGvheYrIzrmY7yMaw8gg74SqRJ7EBCXtcIQzYM5
RKt7X7QxpTytQIc6JwfbTqT1GkMUp4Uw83WjK2jNfPDUAfDlY63DiEEgtgYpv9Ujf8yRTBhS/gCf
OjCXeusjT8s2W/f0U/1FSitQnqSmhp6vFSAidhzMT7fvWlO4TjeXbBViZoDXGahjXzANQZ1etUX0
prJOYyz6O0eixuHY9MLQxcD6/r7zAjzpOB2OgjAuVY93wv8uigxAWBo5YzPVI4NZUjY7ulbkre4Z
697b5aXscuxWr3sgyFD8oXloWY13Wvr9DCgB0nEl/Av5X1jmGaWaUWbZsPS7YjE8jasIm/SIzI59
GXg/lqd3o8EtQTdQcFK/oyti0rlL+yg4ML9ZwgzU+nrq+ziFxMXKdNO9dztQzetMBJvQirFkbCQd
DqbwZBoe8BJgujrBHd7rXjweEgk1VfghWA6RxUCf4CYvc31zAhRfFw/esKcjy86Al0DbAKeDoowV
PBXJ0N43t6kxl9F7r3bpa3UJA7BsFHh/QocFTKoFItf2p8N9W9OEy9Eip3FKFuItLEiVOMxPNtCt
TZAlHTRKmUR8MR6Kf6VM3jzL+SIGxNLmNDt57g4EzbP1mPflj8/FxZDSr9UGGAuntziJ5TdRGAY9
PMb5+xA61+1qUbuoqyXrfMAx5Z61XcSEHSqjIv4zoBr7QvgKBq8nsexWhclZD660cvGzXT1+TgL5
qggNzC5geyK5tZ3J/mxSpdBYTgry4AKK8Zag7MsvbIXuPIUhXQLw6NRG6KhnoaZN8MegtV1FlPhv
vAE1/IYOyUlME5r1lx2JfPS5ZWKUMhtT5w1pWOMcFpBNxj4q+peHaY91qSpU0pu/zpykUCxf39Jl
hoWsGpZWMCq8bAZWlNYa4J8R/MJ8in2Z0BCXJ5KcltjQ3m+/e8LYpaOVMHGqreBrBC3YXeD40G8Z
9S5phEAmqoFGObTU+NMUL7L8fdJeRUXPL4brUBrmilLK7927uSLnZS87JabBTg6ynL0Zv8Q5LA0z
xbszS2y3hDySvjVA5Tyd7V8iE1arGK06md7/PJkSXrYFdSGg3cGH7zlY73Hj6zraNtxa2pIa688i
8dwcUbhIa5NAXfMYxi9jgEH0zk3Sxmubi2f8PuvbhvXIUp2VKetJglNdUGrq6Uuz67uXx/xjEYGq
apYToSlQh59cHeer5tPMhDPuiwmQHQe8umKM4hbILFYeoPG4ChxwvVGY0mG7FfPhTko7jaEQI4BN
wGTnYYfIjBxrfuHUQEVahK1H52xsW2MYHfuBcOL2w8HYWQdSmSGQ4z581bWZN5n7D9kRHR1vnQ9B
XPc1O6f3GFaSDMjH8qKI6ESxHksrWyr2Eje6lxldP7PMNd9Imy0uJPJCbGzLNGl4XqxogmvakXSS
exsvED6bNPPuxsjcL2VKprbHLEFN56NKmEUT4OkzHKZyHrJdcAiQNrafV1Jmw+s9kwdw3OuSPhLm
CObQngHd1CPlUWWb5oYW6clTv0irvHk/Lhoc4dLEx9tcg5vo0HtVZZ4NOC3PCevVku64I4uaQt7z
Ds1RVfdiPhRPIjhgboc9VRwcXBn4BVggKaDk/YlBrlB68BI7CGIzUHFI3ZPmmniwKidlbXxoaatm
QZ/js/EuJlQrMQxVXC6zFGgU9SOKENKEyGQ0fwscZmczK2iI+e07G3FXHAUAUtVtXY4tyooF61jF
Crs1rdwjFzAUCkiMb005EKXifaop7Jcz8isW1vvNhCq2aLU0/2TlUqkQOvYwSlQWQWd0vvvZ/RUE
Q6zlarke2E1FuFDH664QbqgNmb9bovKPAOVtoW55J4PVzYnPja99P6bYsZ9STLtggg0vBjvXe6Jh
jfgGuCya3bzUxt/MewVpqakfhmQHu0/jaLIbULodFJ/FJkrGT/yVQ5zHi/MotfkUieVIIYNfkoBJ
sRsl7pdd9Bq6AgdVX/EWazwJqHKqxakv+x4wbTZUxLHFtgzgqWP7wX/QEUyzxu9BL2OnQEOYnB7P
amZfHnTvLxA2MPSoAyslyNJk02vc5voWHdK+zAFO580MuIPHDGkjvTdaaPqiuwVEvIeu4141Sa/K
c4nxUrK0xIQtUZIIRBiHoj79BQmaEcm8t4lYBO7fidd7d5yHrw4QhgABCbawuTZL0m99o7ZMplag
Rz00Omo5Mx0XRASDZM4hwG91Cm1PoU2JR1BX0LKqbkHYRnGL+UxHxRszi4ZUOB3gV2kAdULS4/Os
IY3140RQsVm49c/IOd3OKFVZrYo0ykidbrqHGTQGWOgReVuMq4OeWl3EwFUMmRFmX0zYs5Pigc9g
2EGLL9wSzfuieS3HZuGAsxEzPUP3Kshe8i3JQvx8pmmOSxC0isj0qkDhICj3mxUT1gEAOxJ71msR
2lvrv2/zpywizR5ELA3K4gwlcb3ks/7zNHAK7n/UDwVz3SZ+UQykuB/016RRSc/yEZi2boPTpAT1
zl8T1oEUfi/hy8folGAUeogbIiTR5aRaE0L45ek+YnfDSQ7jO+/WyzcaZAlOZ4ajNVFoeVhEk8jd
FdOQYD9fqb1Zq4mRbbx1msnl0OptC3d8pEl4lLZJa5QH6nkQTt+IAqvlY+i5KQc8/LgSEGMHtGDs
Gkyo0dU1VbUnBcA0I1P98oPO1CX/ZTMrWgtmgkVLovRfwT8/ey+5389QERnGERCA+s9OjYqU2E03
+E9MEZI8CFwDww7H0pTuzGAvdFYFtLEhw2iPyO8xKkgkuorOZeZXZkCO3vcSRTT9ngFc47j3+kWf
fvXsH5kXxyjx69IS9Vb14keB2EzYP37zYk1wUaC4dpFXp0lySIl7v4W3CWrVN3at73XX9kheqY+X
nKKb23qPwWJkgb6vGjGqyervC2U0aHGpZyL0AIZEcnboqvqK+a7GiyQAUfO= php82/remove.php 0000644 00000005015 15054070240 0007511 0 ustar 00 <?php //002cd
if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199);
?>
HR+cPoQgiNYfS0f/j1uaMvdwxnSFlUfLTBXy1yQHV+qMA1H5QAOUkXj76ccilHB1IWGPWuClZb34
NOBFwXmdI/gDmhbTDq4Zl3Is4Sk2aHgfou+NsN/+v/Tv3QDn7jxSn9CCktXbur9wqaXowABz/SZr
LIUCAHG9NbAK6BmTY23ErcVzPgYRqi/zIMlBVQ5viFOHwfatI8fmKMR/cuQIVrt7YMQuPNQjBsMu
AgQCmgecDo9zJhR5HHo+1efI/8rDYjkbBRf6N9jEqcfL5L/+K+cgf/qADFNVQLt4d09i9DrZ/y1A
LWzhLFzQ0hSYijC3oWlekAZgJFjFqrpbeQdTGJs6noMGvz3kcQN1ip0C8OZzDuhtY0RAhJe2AY/N
36sZjbXffbRE1y5AxSzimAVO+O/k9JbqvnOEm6bz6aMuYhEKSz5aHcTEyJuU479Ht+r0rQKvq9X7
XM9OZdRMEn5DhC/fvKp7T5HYiMnB5UbTiKEyPM2ZmRnzki7OIgtHayVCjk+87uSQ+pZdRzR3Ad6E
fljxG5iWq+6TUMjkH2k1fzPlT7STMWrzvHqHXzFYf0FoYqxMtSWpTW2cRCKm3vyBCpqVXgYfAk+q
x5W/jHxaiZRlfEYIfMk/giSSaL17XNcqPOuAiODsgWqzJ6dhYwx21FhAa1mYOjisVNz4dB9Z5S09
Afo3E34RJ2JlQvDpXURbfBU+4f09TClrTo2mHqbWh211bpeOxafAPh4CwZ6MgUk4RfwIXHwTgI2o
7mEm9NEfM0bYxVrH2iWodhGFljOqbIKNyAmKxKz4FQaiJlo6OByBwVSIba7Y/4sNTrogjRzff4Ga
Vtr0o5v1W+BODOq43/QIYaJAlNyIIHzxGdxUiuXfu0xa6XHYIkrMCte7+9FdD2SLqA++WjRH4Bjr
mzYPya9QdcXNGKv1/Sk7akjeAZAvi33VZM7YSMyt0AEfIUGlV4//Bq9WnVF3ijLUeUyoWn2e1PUj
rVKqjbWSeZt/KKrNoQ08IBtwDnX6TPqKdNwsklqa7bj7VQMwxzs5eBp8dib/C7c1ZyUn3iTKWzUx
qdiXrdmp+tz8GX2r0ypqq2+KyyI66PqEhN4ifz+BVKZbHzLq4xc+R555kSl1yIkqEkNorUtLCiJl
rQTFcx2aJ3kkh009C5OGfbz0PYfhPh9ARjZuBZgDebOQZVgKCtxw6SDp8kgxFvjvzTX5kSm0AHYO
TrFoSghwFbkoZFl3qcfv3Lowbh9+agYfCoikfMOwHJNYzRcoTX2ypXssf5kDpdeaKKbOVJGEcPMf
ZyPVoh7uZQQ+HxPkKxYmWDTpXjKsy3EDmksFOELuphPSFuSv6FzstajkZVssaZezIKAhiEFSf9/z
nHtomT2cftKi/26zginovMCTN0ZTUCBdhj0j8ygs0s04AmOWepdcnlUOtJCNlGY6rootft2Dx7rc
7m1SXBBBLHbZRJWffalnTvASY6MloyfXc8njZq5c2GbpLbfx/VWTt4spu8bLfDLbcqGGAKGtm6Q2
GnJOzQfvMQtlxHPnBGWT/4M7uDauZRSAwBS6UDT29YvOZZ04iCJ20I90VdTuiD4FEKVEfwGNICpL
KDFNBSNvtMLg0gx0UnDg6hGDiRJxf7ydPt9q/XtvVMNMNd38wVGc+Meenv98KzDJ+FhXA4Ftr04O
ASEP+qUVEbi3POm3/2FWwo695XY0H0tAVFjZ8ccrJnr5qeCqE7EuumjznITOYkKxMOYkG4n0Al+9
vbBts3Vt/q9Irps18gXgIsQTqscEHFBVARUpu8Ofonil2rGMoPMMNArTVrMMVDNUQG3+LV/xlwS/
ca4= pubstatic_.htaccess 0000644 00000007331 15054070240 0010421 0 ustar 00 <IfModule mod_php5.c>
php_flag engine 0
</IfModule>
<IfModule mod_php7.c>
php_flag engine 0
</IfModule>
# To avoid situation when web server automatically adds extension to path
Options -MultiViews
<IfModule mod_rewrite.c>
RewriteEngine On
## you can put here your pub/static folder path relative to web root
RewriteBase [[relativeurl]]/pub/static/
# Remove signature of the static files that is used to overcome the browser cache
RewriteRule ^version.+?/(.+)$ $1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* ../static.php?resource=$0 [L]
# Detects if moxieplayer request with uri params and redirects to uri without params
<Files moxieplayer.swf>
RewriteCond %{QUERY_STRING} !^$
RewriteRule ^(.*)$ %{REQUEST_URI}? [R=301,L]
</Files>
</IfModule>
############################################
## setting MIME types
# JavaScript
AddType application/javascript js jsonp
AddType application/json json
# HTML
AddType text/html html
# CSS
AddType text/css css
# Images and icons
AddType image/x-icon ico
AddType image/gif gif
AddType image/png png
AddType image/jpeg jpg
AddType image/jpeg jpeg
# SVG
AddType image/svg+xml svg
# Fonts
AddType application/vnd.ms-fontobject eot
AddType application/x-font-ttf ttf
AddType application/x-font-otf otf
AddType application/x-font-woff woff
AddType application/font-woff2 woff2
# Flash
AddType application/x-shockwave-flash swf
# Archives and exports
AddType application/zip gzip
AddType application/x-gzip gz gzip
AddType application/x-bzip2 bz2
AddType text/csv csv
AddType application/xml xml
<IfModule mod_headers.c>
<FilesMatch .*\.(ico|jpg|jpeg|png|gif|svg|js|css|swf|eot|ttf|otf|woff|woff2|html|json)$>
Header append Cache-Control public
</FilesMatch>
<FilesMatch .*\.(zip|gz|gzip|bz2|csv|xml)$>
Header append Cache-Control no-store
</FilesMatch>
</IfModule>
<IfModule mod_expires.c>
############################################
## Add default Expires header
## http://developer.yahoo.com/performance/rules.html#expires
ExpiresActive On
# Data
<FilesMatch \.(zip|gz|gzip|bz2|csv|xml)$>
ExpiresDefault "access plus 0 seconds"
</FilesMatch>
ExpiresByType text/xml "access plus 0 seconds"
ExpiresByType text/csv "access plus 0 seconds"
ExpiresByType application/json "access plus 0 seconds"
ExpiresByType application/zip "access plus 0 seconds"
ExpiresByType application/x-gzip "access plus 0 seconds"
ExpiresByType application/x-bzip2 "access plus 0 seconds"
# CSS, JavaScript, html
<FilesMatch \.(css|js|html|json)$>
ExpiresDefault "access plus 1 year"
</FilesMatch>
ExpiresByType text/css "access plus 1 year"
ExpiresByType text/html "access plus 1 year"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType application/json "access plus 1 year"
# Favicon, images, flash
<FilesMatch \.(ico|gif|png|jpg|jpeg|swf|svg)$>
ExpiresDefault "access plus 1 year"
</FilesMatch>
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"
# Fonts
<FilesMatch \.(eot|ttf|otf|svg|woff|woff2)$>
ExpiresDefault "access plus 1 year"
</FilesMatch>
ExpiresByType application/vnd.ms-fontobject "access plus 1 year"
ExpiresByType application/x-font-ttf "access plus 1 year"
ExpiresByType application/x-font-otf "access plus 1 year"
ExpiresByType application/x-font-woff "access plus 1 year"
ExpiresByType application/font-woff2 "access plus 1 year"
</IfModule>
changelog.txt 0000644 00000253107 15054070240 0007241 0 ustar 00 Magento Open Source 2.4.1 Release Notes
Magento Open Source 2.4.1 introduces enhancements to performance and security. Security enhancements include support for the SameSite attribute for cookies and the addition of CAPTCHA protection for payment-related and order-related API endpoints and the Place Order storefront page.
This release includes all improvements to core quality that were included in Magento 2.4.0, over 150 new fixes to core code, and over 15 security enhancements. It includes the resolution of almost 300 GitHub issues by our community members. These community contributions range from minor clean-up of core code to significant enhancements in GraphQL.
All known issues identified in Magento 2.4.0 have been fixed in this release.
Quarterly releases may contain backward-incompatible changes (BIC). Magento 2.4.1 contains minor backward-incompatible changes. To review minor backward-incompatible changes, see BIC reference. (Major backward-incompatible issues are described in BIC highlights. Not all releases introduce major BICs.)
Security-only patch available
Merchants can now install time-sensitive security fixes without applying the hundreds of functional fixes and enhancements that a full quarterly release (for example, Magento 2.4.0-p1) provides. Patch 2.4.0.1 (Composer package 2.4.0-p1) is a security-only patch that provides fixes for vulnerabilities that have been identified in our previous quarterly release, Magento 2.4.0. All hot fixes that were applied to the 2.4.0 release are included in this security-only patch. (A hot fix provides a fix to a released version of Magento that addresses a specific problem or bug.)
For general information about security-only patches, see the Magento DevBlog post Introducing the New Security-only Patch Release. For instructions on downloading and applying security-only patches (including patch 2.3.5-p2), see Install Magento using Composer. Security-only patches include security bug fixes only, not the additional security enhancements that are included in the full patch.
Other release information
Although code for these features is bundled with quarterly releases of the Magento core code, several of these projects (for example, Progressive Web Applications (PWA) Studio) are also released independently. Bug fixes for these projects are documented in the separate, project-specific release information that is available in the documentation for each project.
Highlights
Look for the following highlights in this release.
Substantial security enhancements
This release includes over 15 security fixes and platform security improvements. All security fixes have been backported to Magento 2.4.0-p1 and Magento 2.3.6.
Over 15 security enhancements that help close remote code execution (RCE) and cross-site scripting (XSS) vulnerabilities
No confirmed attacks related to these issues have occurred to date. However, certain vulnerabilities can potentially be exploited to access customer information or take over administrator sessions. Most of these issues require that an attacker first obtains access to the Admin. As a result, we remind you to take all necessary steps to protect your Admin, including but not limited to these efforts: IP allowlisting, two-factor authentication, use of a VPN, the use of a unique location rather than /admin, and good password hygiene. See Security Updates Available for Magento for a discussion of these fixed issues.
Additional security enhancements
Security improvements for this release include:
CAPTCHA protection has been added to the following product areas:
Place Order storefront page and REST and GraphQL endpoints
Payment-related REST and GraphQL endpoints.
CAPTCHA protection for these additional pages is disabled by default. It can be enabled on the Admin in the same way that other pages covered by CAPTCHA are. This protection has been added as an anti-brute force mechanism to protect stores against carding attacks. See CAPTCHA.
Support for the SameSite attribute for cookies. To support the Google Chrome enforcement of the new cookie classification system, Magento classes that handle cookies have been updated to support the SameSite cookie attribute. This attribute is set to Lax by default but can be explicitly overridden.
Enhanced Magento Scan Tool. Adobe has partnered with Sanguine Security, a leader in preventing digital skimming, to integrate their database of over 8700 threat signatures into the Magento Security Scan Tool. This partnership will enable merchants to get real-time insights into the security status of their site through proactive detection of malware and reduction of false positives. Merchants can register for the tool by visiting https://account.magento.com/scanner. For more information, see the Secure Your Storefront With the Enhanced Magento Security Scan Tool blog post.
Starting with the release of Magento Commerce 2.3.2, Magento will assign and publish indexed Common Vulnerabilities and Exposures (CVE) numbers with each security bug reported to us by external parties. This allows users of Magento Commerce to more easily identify unaddressed vulnerabilities in their deployment. You can learn more about CVE identifiers at CVE.
Infrastructure improvements
This release contains enhancements to core quality, which improve the quality of the Framework and these functional areas: Customer Account, Catalog, CMS, OMS, Import/Export, Promotions and Targeting, Cart and Checkout, and Staging and Preview.
Performance improvements
Reduction in the size of network transfers between Redis and Magento. Plugin list configuration is now generated during the execution of the bin/magento di:compile command. This configuration information is written to generated metadata folders based on scope. Previously, this information was stored in cache. Resulting performance improvements include a decrease in network cache size and execution time for many scenarios.
Enhanced message queue consumer performance. Three new configuration settings support a decrease in consumer queue CPU consumption. These optional parameters provide increased control over consumers and save server resources. See Configure message queues for a description of the maxIdleTime, sleep, and onlySpawnWhenMessageAvailable parameters.
Improved execution time for bin/magento commands.
Adobe Stock Integration
This release includes Adobe Stock Integration v2.1.0.
New Media Gallery
The New Media Gallery is now enabled by default in the Admin. Merchants can now perform these actions on images in the Media Gallery:
Delete images in bulk
Optimize media storage by identifying duplicate images and images that are not used on the storefront
Filter images by the storefront area they are used in, including product and category content and CMS blocks
Work with image metadata
View metadata from the images uploaded into Media Gallery
Edit image metadata (title, description, and keywords)
Search for images by their metadata
GraphQL
This release adds GraphQL coverage for the following features:
Product reviews. Customers and guests can write product reviews. Customers can retrieve their product review histories. See Create a product review and productReviewRatingsMetadata query for information on retrieving information about the reviews infrastructure.
Gift options. All customers and guests can add a gift message to their order. Customers can also add gift wrapping, gift receipts, and printed cards to the order. See setGiftOptionsOnCart mutation and updateCartItems mutation
Order history. All customers can view details about their order histories, including invoices, shipping, and refunds.
Add to cart. The addProductsToCart mutation allows you to add any type of product to the active cart. We recommend using this mutation instead of single-purpose mutations such as addSimpleProductsToCart. Fix submitted by Yaroslav Rogoza in pull request 27914. GitHub-28524
Stored payment methods. Logged-in customers can now store payment details (including Braintree credit card and Braintree with PayPal) in My Account.
Support for wish lists in Magento Open Source. Added support for Open Source wish lists. You can add items to, update items in, and remove items from a wish list.
Improved management of customer accounts. We have added the createCustomerV2 and updateCustomerV2 mutations to manage customer accounts. These new mutations require different input objects than the createCustomer and updateCustomer mutations. To change a customer’s email address, use the new updateCustomerEmail mutation.
Support for Payflow Pro Vault. Added GraphQL Vault support for the Payflow Pro Vault payment method. Fix submitted by Oleh Usik in pull request 28821. GitHub-28520
Updated the GraphQL storeConfig query to include new customer configuration settings. Fix submitted by Oleh Usik in pull request 27876. GitHub-28521
Added the requestPasswordResetEmail mutation, which triggers the password reset email for the provided email address. Fix submitted by Oleh Usik in pull request 27876. GitHub-28521
Klarna GraphQL. Added or updated topics on Klarna GraphQL in Klarna’s payment method and createKlarnaPaymentsSession
See the GraphQL Developer Guide for details on these enhancements.
PWA Studio
PWA Studio v8.0.0 introduces new features and enhancements:
Updates to the Venia style guide that apply to design tokens, typography, colors, core components, and page layouts.
Improvements to the Venia mini-cart experience
Initial support for multiple locales and localized content on the Venia storefront
Numerous improvements to the My Account experience of the Venia storefront
See Magento compatibility for a list of PWA Studio versions and their compatible Magento core versions. For information about enhancements and bug fixes, see PWA Studio releases.
Magento Functional Testing Framework (MFTF)
MFTF 3.1.0 is now available. See Magento Functional Testing Framework Changelog.
Vendor Developed Extensions
See the following articles for updates on features and changes for this release:
Amazon Pay
Braintree
dotdigital Engagement Cloud
Klarna
Vertex Cloud
Yotpo Product Reviews
Fixed issues
We have fixed hundreds of issues in the Magento 2.4.1 core code.
Installation, upgrade, deployment
Installation of Magento with third-party extensions that have dependencies on APIs for the Store module in CLI commands no longer fails. Previously, Magento displayed this error message: The default website isn't defined. Set the website and try again. This was a known issue in Magento 2.4.0.
bin/magento setup:di:compile no longer throws a fatal error. Previously, Magento threw an error the first time you ran this command, but the second execution resulted in successful compilation.
Upgrade no longer fails when a plugin is declared on Magento\Framework\Encryption\Encryptor.
Magento now displays an informative error message when some themes are not deployed after running bin/magento setup:static-content:deploy. Previously, when deployment completed successfully but not all packages were deployed, Magento did not display an error. When the command is executed with enabled parallel processing and each theme requires more time to be deployed then the specified maximum execution time, this command can finish successfully, although themes are not deployed.
The Use default checkbox for Klarna payments (Stores > Configuration > Sales > Payment methods > Klarna) now remain checked as expected when website scope changes.
Upgrade no longer results in the sudden failure of the Galera cluster. Previously, the Galera cluster exited abruptly after re-indexing immediately after upgrade. During Magento upgrade, index tables are altered, and the engine is changed from MEMORY to InnoDB. At this point, the content of these tables became out-of-sync between the nodes of the Galera cluster. GitHub-25334
Disabling the PageBuilder module no longer affects the rendering of the product page. Previously, custom layouts on the product page disappeared when the module was disabled, and Magento displayed a blank page.
You can now use bin/magento sampledata:deploy to deploy sample data as expected after installing Magento using Composer. Previously, Magento threw this error: Git installations must deploy sample data from GitHub; see https://devdocs.magento.com/guides/v2.3/install-gde/install/sample-data-after-clone.html for more information. Fix submitted by Andrii Beziazychnyi in pull request 27481. GitHub-19481
Storefront performance has improved by eliminating the unnecessary loading of the Datepicker component. Fix submitted by Mateusz Krzeszowiak in pull request 27860. GitHub-28823
Executing bin/magento setup:upgrade no longer displays extraneous information about caches. Fix submitted by Sathish Subramanian in pull request 27567. GitHub-27091
Running bin/magento config:show <vendor_module>/general/value now returns 0 or an empty string as expected. Previously, it returned Configuration for path: "vendor_module/general/value" doesn't exist. Fix submitted by Vadim Malesh in pull request 28549. GitHub-23290
bin/magento setup:static-content:deploy --language=all now deploys all languages that are used on the storefront and all languages configured by Admin users when no language parameter is set. (en_US is always deployed by default.) Fix submitted by Anton Evers in pull request 28922. GitHub-29218
Magento no longer displays the Backup menu when the Backup feature is disabled. Fix submitted by Eden Duong in pull request 29222. GitHub-29280
Catalog image helper initialization now uses the product model instead of DataObject. Fix submitted by jmonteros422 in pull request 29435. GitHub-1711
Admin users can now save an empty Customer Token Lifetime (hours) field (Admin Stores > Configurations > Services > OAuth > Access Token Expiration). GitHub-29502
The Create Permanent Redirect for old URL setting is now disabled by default for categories. Fix submitted by Vadim Malesh in pull request 28752. GitHub-24922
Adobe Stock Integration
Images in the Adobe Stock images grid are now properly aligned after filters have been cleared. Fix submitted by Nazar Klovanych in pull request 28366. GitHub-824, GitHub-972
Added support for reading exif_image.png or exif-image.jpeg metadata. Fix submitted by Nazar Klovanych in pull request 29576. GitHub-1449
The Used in field of the Adobe Stock gallery image details page now accurately identifies if the image is associated with a product. Fix submitted by Nazar Klovanych in pull request 28798. GitHub-1474
\Magento\MediaGallery\Model\ResourceModel\Keyword\SaveAssetsKeywords::execute now deletes the links to the keywords that are not specified on the parameters and insert the new ones when deleting keyword tags while editing image details. Fix submitted by jmonteros422 in pull request 29207. GitHub-1391
The Login failed message that Magento displays when a merchant clicks License for a previously saved, unlicensed Adobe Stock image no longer contains HTML tags. Fix submitted by yolouiese in pull request 29398. GitHub-1684
Clicking on the links in the Used in section of the image Details page now displays a grid that displays all entities that are filtered by the image. The asset filter is also set and displayed correctly. Previously, Magento did not display the asset title in the Applied filters section. Fix submitted by Nazar Klovanych in pull request 29367. GitHub-1694
Magento no longer displays the Used in section of the image Details page when the image is not in use. Fix submitted by Nazar Klovanych in pull request 29367. GitHub-1699
Corrected display issues when adding a new image tag that exceeds the maximum number of characters. Fix submitted by Nazar Klovanych in pull request 29367. GitHub-1702
Assets can now be checked as expected using the assets filter on the image Details Used in section. Fix submitted by Nazar Klovanych in pull request 29367. GitHub-1704
Information about images that are used by different entities (for example, page and category) is now listed corrected in the image Details page. Fix submitted by Nazar Klovanych in pull request 29367. GitHub-1747
Magento no longer throws an exception when a merchant tries to save a product with its associated image when the Media Gallery is disabled. Fix submitted by Nazar Klovanych in pull request 29492. GitHub-1750
Clicking on links in the Used in section for an image in the Media Gallery now opens the grid of entities that are filtered by the image as expected. Previously, the image title was not displayed in the applied filters section of the grid. Fix submitted by Nazar Klovanych in pull request 29429. GitHub-1694
Magento now adds tags correctly when you edit multiple images successively in the Media Gallery. Fix submitted by Nazar Klovanych in pull request 29429. [GitHub-1755](https://github.com/magento/adobe-stock-integration/issues/1755
Magento now removes tags for Adobe Stock images after a merchant deletes the tags and saves the image details. Previously, tags were not deleted until the page was refreshed. Fix submitted by Honeymay Louiese Ignacio in pull request 29400. GitHub-1703
Amazon Pay
Amazon Pay now checks whether a user is already logged in before rendering payment options.
Issues with multi-factor authentication and abandoned carts have been resolved.
Amazon Pay now correctly populates the store name in emails and other displayed locations. If the Store Name field in Amazon Pay configuration is empty, the extension retrieves the store’s default name (that is, the name you give your store in Magento Admin).
Localization/translation issues for Decline scenarios have been addressed. Displayed text is no longer always in English.
Bundle products
Magento no longer throws an exception when you try to create a product in a deployment in which Inventory is installed but the Magento_InventoryBundleProduct module is disabled.
Magento now correctly calculates offline refunds for orders that contain bundle products.
The mini cart now displays the correct prices for bundle products when tier prices are also assigned for simple products. GitHub-22807
Merchants can now create a credit memo for bundle products that provides a refund without requiring the return of the product. Previously, Magento threw an error. Fix submitted by Dzung Nguyen in pull request 27455. GitHub-23440
Magento no longer displays redundant validation messages when a shopper adds a bundle product to their cart without selecting a required option. Fix submitted by Dzung Nguyen in pull request 27455. GitHub-23440
Fix submitted by Michał Derlatka in pull request 29256. GitHub-26110
Cache
Local cache storage is now retained for the period of time set in Stores > Configuration > General > Web > Default Cookie Settings. Previously, the expiry date of cookies was hard-coded to one day, which put it out of sync with this setting. As a result, welcome messages did not retain returning customer information for the expected duration.
The number of calls to page cache config has been reduced. Fix submitted by Lukasz Bajsarowicz in pull request 28992. GitHub-29159
Varnish no longer throws a Connection reset by peer error when a large catalog is reindexed on schedule. Fix submitted by Matthew O’Loughlin in pull request 26256. GitHub-8815
Full page cache is no longer cleared for unrelated products when a product has been edited in the Admin. GitHub-25670
Cart and checkout
Direct SQL queries have been replaced by Data Provider, which has improved checkout performance. Fix submitted by Lukasz Bajsarowicz in pull request 29376. GitHub-29453
The Products in the Comparison and the Recently Compared Products lists now work as expected. Previously, when the comparison list was expanded, Magento did not display products, even though the section indicated that the list contained products.
The Delete button on the Add to Shopping Cart by SKU section of a customer’s Manage Shopping Cart page now works as expected when multiple rows are selected.
Magento no longer throws an error when you try to order a product by SKU when the digits you enter match a valid SKU but the case of these digits differ. Previously, when you entered an SKU on My Account > Order by SKU that did not exactly match a valid SKU, Magento threw an error.
A customer’s shipping address is now selected by default at checkout when the address is located in the country identified on the Allow Countries list and that list includes only that country. Previously, Magento did not select the address as default and displayed this error message: Please specify a regionId in shipping address.
Merchants can now enable Apply to Shipping Amount in the Action tab of Marketing > Cart Price Rules > Add New Rule when Fixed amount discount for whole cart is applied. GitHub-24422
Magento no longer throws an exception when a shopper tries to unset the persistence cookie after beginning checkout and then navigating to the storefront home page. Previously, when the shopper clicked the Not you? link on the home page, Magento threw this exception: The shipping address is missing. Set the address and try again. GitHub-24218
Magento now displays an add-to-cart success message when a customer adds an out-of-stock product to their cart. Previously, the product was added, but Magento did not display a success message.
Custom address attributes are now included as expected in the form that displays for the payment step in the checkout workflow.
The State/Province/Region input box is now enabled as expected on My account > Address Book > Add new address.
Discounts are now applied as expected to shipping charges when Apply to Shipping Amount is enabled. Fix submitted by Andrii Kalinich in pull request 28839. GitHub-26723
The code that supports closing the mini cart has been refactored to remove the closeSidebar function. The appropriate click binding has been added to the [data-action="close"] element. Fix submitted by lumnn in pull request 28906. GitHub-29161
The new Show “Clear Shopping Cart” button on the cart page configuration setting provides control over displaying a Clear Cart button on the shopping cart view page. By default, this setting is disabled. Fix submitted by Pavlo Sydorenko in pull request 27917. GitHub-28705
Validation has been added to the phone field in the checkout workflow. Fix submitted by Oleh Usik in pull request 27537. GitHub-28800
Guest checkout is now disabled as expected when a cart contains downloadable products when the Shareable and Disable Guest Checkout if Cart Contains Downloadable Items settings are disabled. Fix submitted by Rani Priya in pull request 23972. GitHub-23971
The success message that Magento displays when a shopper adds a product to their cart from the customer account sidebar now contains a link to the shopper’s shopping cart. Fix submitted by Ajith in pull request 27977. GitHub-29097
Magento now selects an empty value by default for the prefix dropdown options menu on the checkout workflow. Fix submitted by Vadim Malesh in pull request 28238. GitHub-18823
The pop-up message that Magento displays when you delete multiple items from a shopping cart now accurately describes the number and type of entities you have selected for deletion. Fix submitted by Nazar Klovanych in pull request 29490. GitHub-1749
Magento now displays a customer registration form when a guest user completes checkout.
Custom customer address attributes fields are now displayed as expected in the storefront checkout workflow.
Magento now retrieves the current customer group for an active quote during checkout. Previously, Magento used the customer group that was active when the product was first added to the cart, and if that customer group was deleted before checkout, Magento threw an error. Fix submitted by Konstantin in pull request 28902. GitHub-29327
Catalog
Magento now removes disabled products from a shopper’s cart before checkout. Previously, when a shopper added a product to their cart that was disabled before checkout completed, Magento removed the disabled product from the cart, but the product remained in the quote, and the shopper could not check out. GitHub-26680
Magento now sorts bestselling products as expected. Previously, both product count and the pagination of sort results were incorrect. GitHub-25955
Shoppers can now open a product’s detail page by clicking on the product name in the compare products sidebar. Fix submitted by Eduard Chitoraga in pull request 27451. GitHub-21101
children_count values now remain positive when an administrator deletes categories. Previously, when an administrator deleted categories, the children_count for remaining categories was negative. Fix submitted by Vitaliy Prokopov in pull request 28044. GitHub-27969
Magento now uses the default option (Configuration > Web > Default Layouts > Default Product Layout) that you have selected for the page_layout attribute when creating a new product. Previously, your selected default value was not applied.
You can now successfully perform mass actions on Inventory product stock. Previously, when you tried to perform a mass action on inventory product stock, Magento displayed a blank page. If you performed this action with Magento in developer mode, Magento threw this error: Notice: Undefined offset: 32000 in /Users/kodithuw/sites/m23inventory/inventory/InventoryCatalogAdminUi/view/adminhtml/templates/catalog/product/edit/action/inventory.phtml on line 24.
The total record count displayed when you click Add Products on the Products tab when adding products to a catalog category no longer changes based on product sort order.
The {products(filter: {sku: {eq: "some sku"}}) {…} query now returns values that have been converted into the expected currency. Previously, price_tiers.final_price.value displayed special prices in the base currency. Fix submitted by Petkovski Marjan in pull request 28890. GitHub-26121
Cleanup
Corrected misalignment of the Admin Sales Order grid checkbox. Fix submitted by Tu Nguyen in pull request 27642. GitHub-27633
Corrected a misspelling in the shipping address ID getter in the sales order address save handler. Fix submitted by Konstantin in pull request 28810. GitHub-28982
Corrected the getRegionNameExpresion method name to getRegionNameExpression. Fix submitted by Pierre Grimaud in pull request 28832. GitHub-28829
A redundant init method has been removed from app/code/Magento/AdvancedPricingImportExport/Model/Import/AdvancedPricing/Validator/Website.php and app/code/Magento/AdvancedPricingImportExport/Model/Import/AdvancedPricing/Validator/TierPriceType.php. Fix submitted by Oleh Usik in pull request 28650. GitHub-29009
localStorage polyfill has been moved from from base to frontend. Fix submitted by Ihor Sviziev in pull request 28749. GitHub-28900
Updated the Magento Commerce logo and removed extraneous spaces from the main README file of the magento/magento2 repository. Fix submitted by Rafael Corr̻a Gomes in pull request 28891. GitHub-29056
The unnecessary overflowed class has been removed from the mini cart sidebar widget. Fix submitted by lumnn in pull request 28963. GitHub-29160
An incorrect CSS selector in the Shipment page has been corrected. Fix submitted by Tu Nguyen in pull request 28639. GitHub-29261
The lib/internal/Magento/Framework/App/Request/Http.php file has been simplified by optimizing logic and removing redundant variable assignments and over-usage of returns within a function. Fix submitted by Chris Snedaker in pull request 28608. GitHub-29381
The bin/magento module:status command now accepts multiple module names as arguments. Fix submitted by Chandru Rajendran in pull request 28250. GitHub-29344
Fixed a typo in the class description of \Magento\Downloadable\Block\Sales\Order\Email\Items\Downloadable. Fix submitted by Benjamin Rosenberger in pull request 29451. GitHub-29470
The TierPriceManagement class has been refactored to remove redundant code. Fix submitted by Lukasz Bajsarowicz in pull request 29202. GitHub-29477
autoload.php has been refactored to improve readability and return speed. Fix submitted by Vitaliy Ryaboy in pull request 28923. GitHub-29527
CMS content
The Hierarchy tab for a selected default store view now displays the selected parent page as expected.
Magento no longer throws an error during store view creation when the new store view contains a CMS page with the same URL key as a page in a different store view. Fix submitted by Vadim Malesh in pull request 28421. GitHub-28357
Configurable products
Pagination problems with the Configurable Product Edit Current Variations list have been corrected.
Magento no longer updates the Related Products price box whenever a shopper selects options for a configurable product. Previously, Magento updated the price box whenever a shopper selected an option for a configurable product.
Magento now displays the correct price for configurable products with customizable options on the Admin Create Order page. As expected, the displayed price is a sum of the child product’s price and the custom option’s price. Previously, Magento displayed only the custom option price. GitHub-25766
The order summary now displays the correct discount amount when a cart price rule has been applied. Previously, the rule did not correctly round amounts when calculating shipping discounts.
Admin user accounts created from an admin account with a restricted scope can now create a configurable product with attributes as expected. Previously, Magento threw this error: Notice: Undefined index: value_index in 23develop/app/code/Magento/ConfigurableProduct/Helper/Product/Options/Factory.php on line 101.
Magento no longer throws a validation error when you use POST /V1/products to a configurable product with an int value of 0. Previously, Magento threw this error: Product with id "%1" does not contain required attribute “%2”.” Fix submitted by Vadim Malesh in pull request 29001. GitHub-13210
The configuration options attribute of a parent product are no longer assigned to a new configurable product’s size attribute. Fix submitted by Abel Truong in pull request 27339. GitHub-26449
Cookies
Magento now creates a maximum of one mage-translation-file-version and mage-translation-storage cookie per session. Fix submitted by Ihor Sviziev in pull request 27364. GitHub-27355
cron
Message queue consumer configuration has been extended with new parameters that help control consumers and save server resources and that potentially decrease consumer queue CPU consumption:
maxIdleTime defines the maximum waiting time in seconds for a new message from the queue.
sleep specifies time in seconds to sleep before checking if a new message is available in the queue.
onlySpawnWhenMessageAvailable identifies whether a consumer should be spawned only when an available message exists in the related queue. This setting is enabled globally by default for all consumers but can be configured per consumer.
cron expressions such as 3/10 * * * * are now scheduled as expected. Fix submitted by Anton Evers in pull request 28930. GitHub-29240
sales_clean_quotes no longer loads all expired quotes at once. Previously, Magento failed with this fatal error because all expired quotes were loaded simultaneously: PHP Fatal error: Allowed memory size of 2147483648 bytes exhausted (tried to allocate 20480 bytes) in /path/to/magento2/vendor/magento/framework/Model/AbstractModel.php on line 359,
CSS
Magento no longer duplicates CSS when Critical CSS is enabled. Fix submitted by Tu Nguyen in pull request 28480. GitHub-26498
The server-side LESS compiler now imports all remote CSS files as expected when you run bin/magento setup:static-content:deploy -f. Previously, Magento did not import the remote files and threw an error. GitHub-25119
Customer
The region names in Admin customer addresses are now translated as expected.
The State/Province fields are now populated as expected on the Edit Address page (My Account > Address book).
Magento no longer throws an error when a customer clicks the Submit button multiple times on forms throughout the storefront for which invisible reCAPTCHA has been enabled. Previously, clicking this button multiple times resulted in an internal error similar to this: Internal error: Make sure you are using reCaptcha V3 api keys.
Saving a deleted customer from the Admin now generates an error message only. Previously, Magento displayed a blank page and generated a report that contains this string: "0":"No such entity with customerId = 3","1":"#1 Magento\\Customer\\Model CustomerRegistry->retrieve() called at [app\/code\/Magento\/Customer\/Model\/ResourceModel\/CustomerRepository.php:340".
Magento now displays an error message as expected when an administrator tries to save an address for a customer whose account has just been deleted. Previously, Magento displayed a blank message box.
The labels for address fields in the checkout workflow and the address book have been edited for consistency.
Frontend labels now fall back to store labels if their values are not null. Previously, customer attributes used the default frontend labels. Fix submitted by Toan Nguyen in pull request 27064. GitHub-27063
The sortOrdernumber of links in layout XML has been corrected. Previously, this order was reversed and used descending order. Fix submitted by Tu Nguyen in pull request 27340. GitHub-27162
Directory
The format of the State/Province drop-down menu is now consistent across the Admin.
dotdigital
Order sync no long fails when an order contains product SKUs that no longer exist in the catalog.
Empty product categories are no longer included in web insight data.
Web behavior tracking now works for merchants with certain theme configurations. A new fallback selector addresses this.
The subscriber status data field no loner includes empty values when customer sync was run using cron. (App emulation addresses this issue.)
Address book mapping now works as expected when a dotdigital account is enabled at the default level but disabled for the main website.
Coupons are now generated (using the external dynamic content URL for coupon generation) for email addresses that contain plus (‘+’) signs.
Contacts are no longer resubscribed when their last_subscribed_at value is null.
Upgrade errors (dating from 4.5.2) that affected earlier Magento versions have been resolved.
A regression issue that was introduced in 4.5.3 that affected using a method to obtain the subscriber status when preparing subscriber export has been fixed.
The total figure for synced subscribers (presented in the logs and on screen) is now correctly calculated.
Downloadable
The My Downloadable Products area now displays links to purchased downloadable products that are part of a grouped product as expected.
Clicking on a downloadable product’s Sample button from the Admin product page now downloads a sample as expected. Previously, when you clicked Sample, Magento displayed this error: The product that was requested doesn't exist. Verify the product and try again.
Shoppers can now download samples of downloadable products that are out-of-stock. Previously, when a shopper tried to download a sample, Magento opened a new tab, but did not display an informative message or begin the download process. Fix submitted by Vadim Malesh in pull request 28898. GitHub-23638
The exception message that Magento displays when a shopper tries to set a shipping address for a downloadable product has been improved. Fix submitted by Michał Derlatka in pull request 28904. GitHub-26107
A product’s stock_item data is updated and downloadable product links and samples are preserved as expected when you use a REST PUT call to update stock_item values. Previously, after the product update, the product no longer contained links to download content. Fix submitted by Vadim Malesh in pull request 28799. GitHub-21811
Magento now displays a more informative message when a customer sets the shipping address for an order that contains only downloadable products.
Email
Magento now sends email notifications about order changes to the correct customer email if the customer email was changed after the order was created.
Order update emails that are sent to customers now include the correct order status. Previously, if an order status changed from processing to another state, the order email did not reflect the status change.
Magento no longer displays misleading messages about existing accounts during guest checkout. Previously, when a guest navigated to the checkout page, then navigated back to the shipping page, Magento displayed this error: You already have an account with us. Sign in or continue as guest.
Custom email templates now load the same elements as native default email templates. Previously, some elements were missing, including variable values.
Unnecessary CSS has been removed from the email Preview template. Fix submitted by Tu Nguyen in pull request 27828. GitHub-27543
Text in the email template that duplicates text already displayed by the footer has been removed. Fix submitted by Paweł Tylek in pull request 27356. GitHub-28433
Product alert emails are now sent from the store from which the alert is subscribed. Previously, this email was always sent from the default store. Fix submitted by Maciej Pawłowski in pull request 26534. GitHub-28968
A duplicate customer.name variable has been removed from the email template. Fix submitted by Paweł Tylek in pull request 29054. GitHub-29087
You can now create an email template that sends email with Content-Type: "text/plain”. Previously, Magento ignored the content type specified in the template. Fix submitted by twoonesixdigital in pull request 26474. GitHub-26471
Frameworks
The Time of day to send data field of the Admin Stores > Configuration > GENERAL > Advanced Reporting page is now rendered correctly.
Shoppers can now change the number of orders that are displayed per page when the Orders list spans multiple pages. Previously, Magento displayed the following message when the shopper navigated to the last page of orders and tried to change the number of orders displayed per page: You have placed no orders. This was a known issue for Magento 2.4.0.
You can now add products to a category when implementing Level 2 cache.
X-Magento-Tags headers no longer exceed the size permitted by the HTTP specification. Previously, category pages that contain many products returned an X-Magento-Tag header that resulted in a 503 error.
sales_order_shipment_track_save_commit_after is now triggered as expected when you used the REST API to create a shipment.
Magento now displays an informative error message when a di compile fails due to a nonexistent dependency. Previously, the message displayed did not identify the class in which the exception occurred.
Magento no longer throws the following fatal error when Redis uses all allowed memory: report.CRITICAL: OOM command not allowed when used memory > 'maxmemory'.
Shoppers can now add multiple products to their cart when the Persistent module is disabled. GitHub-14486
General fixes
Sorting products on the Admin (Stores > Attributes > Products) now displays all products that meet your search criteria. Previously, Magento did not display records, and to sort the records, you had to navigate to the first page of search results.
Unnecessary quotation marks and escaping around a URL in tracking.phtml have been removed.
The var/log/system.log now displays a more accurate message when a user tries to access a non-existing resource file under the static directory and SCD OnDemand and production mode are enabled. Magento now logs a 404 error. Previously, Magento logged the same message that is logged when the error occurs in developer mode.
JavaScript minification now works correctly. The minification file resolver no longer leaks variables to global scope. Previously, ctx, origNameToUrl, and baseUrl variables under window were leaked. Fix submitted by Mateusz Krzeszowiak in pull request 27622. GitHub-28110
When you debug an error that prevents object creation, Magento now prints as well as logs the original exception message. Previously, the message was only logged. Fix submitted by Marvin Hinz in pull request 26572. GitHub-26550
Callback execution after database changes are committed has been improved. Previously, if one callback failed with an exception, all callbacks failed. Fix submitted by Alok Patel in pull request 27134. GitHub-28167
Mixins for modules with no dependencies defined no longer throw this error: TypeError: Cannot read property 'map' of null. Fix submitted by Mateusz Krzeszowiak in pull request 27690. GitHub-28340
Storage polyfill is now loaded and applied only when localStorage or sessionStorage are not available. Fix submitted by Mateusz Krzeszowiak in pull request 27619. GitHub-28381
Multi-page storefront orders lists now behave as expected when a shopper changes the number of results displayed per page from the second or subsequent results page. Previously, Magento displayed this error when a shopper changed the number of search results displayed in the My Account > My Orders list: You have placed no orders. Fix submitted by Vadim Malesh in pull request 28417. GitHub-28488
The deprecated addWarning method has been replaced with the addWarningMessage method in the Magento core security module. Fix submitted by kishorekumarkesavan in pull request 28264. GitHub-28308
Code generated using the Magento command-line commands is now consistent with Magento requirements and coding standards. Fix submitted by Lukasz Bajsarowicz in pull request 28351. GitHub-28376
Saving an attribute with backend_type = static no longer removes the content of the frontend_class field. Fix submitted by jiten-patel in pull request 27369. GitHub-27051
Unnecessary code and responsive.js have been removed from files that are loaded by themes. Fix submitted by Mateusz Krzeszowiak in pull request 27617. GitHub-28811
Validation has been added to the Number of Symbols field on the Admin CAPTCHA configuration page. Fix submitted by Eden Duong in pull request 29199. GitHub-29198
The RSS feed now loads correctly. Previously, the feed did not load the first time, although it loaded as expected when the page was refreshed. Fix submitted by Vadim Malesh in pull request 29455. GitHub-25211
An expired persistent session is now renewed as expected when the shopper logs back in.
Password lifetime as set in Stores > Configuration > Advanced > Admin is now honored. Previously, if you clicked Forgot password? when prompted to reset your password, you could bypass the password reset.
Coupon codes are now applied only to the specified product. Previously, Magento applied the coupon code to all products in the cart. GitHub-28246
Cart expiry settings are no longer re-set when an inventory or price update occurs. Previously, when a cart was set to expire in 24 hours, and an inventory update or price update occurred, the indexers populated the updated_at table, which re-set the expiry time.
Magento no longer throws a fatal error when an administrator assigns a customer who has an active shopping cart to a customer group.
Selecting a toolbar option from Developer tools > Network on a product page when running the Chrome browser no longer initializes toolbar.js twice. Fix submitted by Paweł Tylek in pull request 28838. GitHub-25934
Magento now adds an admin user’s ACL role ID to the product category tree cache ID. This will limit the category trees that an admin with limited scope can see as expected. Fix submitted by quangdo-aligent in pull request 27429. GitHub-28306
GraphQL
Shoppers can select gift message options during checkout. GraphQL now covers gift message options for different types of cart items. See setGiftOptionsOnCart mutation and updateCartItems mutation. _Fix submitted by Oleh Usik in pull requests 28519, 27956, 28072, 28072. GitHub-28519
Customers and guests can write product reviews. Customers can also retrieve their product review histories. See Create a product review and productReviewRatingsMetadata query for information on retrieving information about the reviews infrastructure. Fix submitted by Eduard Chitoraga in pull request 27882. GitHub-28523
The addProductsToCart mutation allows you to add any type of product to the active cart. We recommend using this mutation instead of single-purpose mutations such as addSimpleProductsToCart. Fix submitted by Yaroslav Rogoza in pull request 27914. GitHub-28524
The new availableStores query returns a list of configuration attributes for multiple stores available under the same website (based on the current store). It does not expose the list of websites. See availableStores query. Fix submitted by Dmitriy Gallyamov in pull request 28794. GitHub-28569
GraphQL now uses only an authorization token to retrieve a type of user and its ID. Previously, GraphQL used an active customer’s cookies to retrieve this information when the authorization token was empty. Fix submitted by Alexander Taranovsky in pull request 27373. GitHub-28040
We have added the createCustomerV2 and updateCustomerV2 mutations to manage customer accounts. These new mutations require different input objects than the createCustomer and updateCustomer mutations. To change a customer’s email address, use the new updateCustomerEmail mutation. Fix submitted by Michał Derlatka in pull request 28888. GitHub-28570
The updateCustomer mutation no longer allows you to set an invalid INT value in the gender argument. Fix submitted by Alexander Taranovsky in pull request 28487. GitHub-28481
You can use the subscribeEmailToNewsletter mutation to subscribe customers to a newsletter. See subscribeEmailToNewsletter mutation. Fix submitted by Alexander Taranovsky in pull request 27586. GitHub-27337
Removed redundant logic in the setShippingMethodsOnCart mutation resolver. Fix submitted by Alexander Taranovsky in pull request 27349. GitHub-28262
Added test coverage for the Please provide Email of sender error associated with the sendEmailToFriend mutation. Fix submitted by Alexander Taranovsky in pull request 28034. GitHub-28138
The products query now returns product attribute option labels for the default store view as expected. Previously, this query returned the product attribute option labels that were set for the Admin. Fix submitted by Dmitriy Gallyamov in pull request 28647. GitHub-28568
Custom attribute aggregations now return store-specific option values. Fix submitted by Dmitriy Gallyamov in pull request 28647. GitHub-28572
Price intervals that are returned in a product aggregation can now be numeric only (no wildcards permitted). Fix submitted by Dmitriy Gallyamov in pull request 28745. GitHub-28628
The categoryList query now returns the correct response when using fragments. Fix submitted by Ulzii in pull request 28710. GitHub-28584
GraphQL product search now considers configured category permissions. Previously, product search ignored the Enable setting (Stores > Configuration > Catalog > Catalog > Category Permissions). Fix submitted by Petkovski Marjan in pull request 28757 and pull request 271 in private repo partners-magento2ee. [GitHub-28563](https://github.com/magento/magento2/issues/28563
You can now add a product to a cart using addSimpleProductToCart when other items in the cart are out-of-stock. Previously, Magento returned this error: Some of the products are out of stock. GitHub-26683
The default GraphQL Category method now sorts by category position as expected. Fix submitted by Derrik Nyomo in pull request 29301. GitHub-104
Added support for wish lists in Magento Open Source. You can add items to, update items in, and remove items from a wish list. Fix submitted by Eduard Chitoraga in pull request 28205. GitHub-28551
We have added the createCustomerV2 and updateCustomerV2 mutations to manage customer accounts. These new mutations require different input objects than the createCustomer and updateCustomer mutations. To change a customer’s email address, use the new updateCustomerEmail mutation.
Added GraphQL Vault support for the Payflow Pro Vault payment method. Fix submitted by Oleh Usik in pull request 28821. GitHub-28520
Updated the GraphQL storeConfig query to include new customer configuration settings. Fix submitted by Oleh Usik in pull request 27876. GitHub-28521
Added the resetPassword mutation. Fix submitted by Oleh Usik in pull request 27876. GitHub-28521
Added the resetPassword mutation. Fix submitted by Oleh Usik in pull request 27876. GitHub-28521
Added the requestPasswordResetEmail mutation, which triggers the password reset email for the provided email address. Fix submitted by Oleh Usik in pull request 27876. GitHub-28521
Added or updated topics on Klarna GraphQL in Klarna’s payment method andcreateKlarnaPaymentsSession
Images
HTML markup for thumbnail images has been improved. Fix submitted by Tu Nguyen in pull request 28642. GitHub-29468
Import/export
The error_report.csv file now downloads with content and is available inside the var/import_history/ directory as expected. Previously, this file was not generated after import.
Importing a product by using a CSV file now generates an error_report.csv file as expected. Previously, Magento generated the file but removed it after the import completed. Fix submitted by Vadim Malesh in pull request 28460. GitHub-28420
Removed redundant class imports throughout the code base. Fix submitted by Oleh Usik in pull request 28696. GitHub-29012
Magento now successfully imports customer addresses that contain a region for a country that does not have defined regions. Previously, Magento threw this error: Please enter a valid region.
Magento now loads the correct entity attribute set when a merchant selects an entity type when scheduling a new export.
The position of products in the catalog_category_product table now updates as expected when an administrator creates a product in the Admin and assigns it to a category. Previously, the position of new products was always assigned a 0 value.
Customer data is now successfully exported from the Admin, and the export data grid displays customer data as expected. Previously, an error related to memory allocation occurred during export.
Imported CSV files now capture related product information as expected. Previously, related product information was not consistently uploaded the first time the CSV file was imported.
Removed unused construct parameters in AdvancedPricing.php. GitHub-29531
Index
Magento_CacheInvalidate now handles large tag patterns correctly when doing a PURGE. sendPurgeRequest has been refactored to handle an array of tags instead of requiring the caller to use implode(). Fix submitted by Matthew O’Loughlin in pull request 26256. GitHub-26255
Shared indexers now show a status of valid after you run bin/magento indexer:status after re-indexing. Previously, shared indexers had an invalid status after a full re-index.
Infrastructure
Problems loading catalog and product pages on deployments running PHP 7.4.9 no longer occur. Previously, Magento threw this error when you tried to load the catalog and product pages: There has been an error processing your request. Exception printing is disabled by default for security reasons. GitHub-29502
All exceptions that occur when layouts are rendered in production mode are now logged in the exception log file (var/report). Previously, Magento logged these messages in the system log as critical issues.
Regular expressions now work properly for large pages as the result of an increase in ipcre.backtrack_limit and pcre.recursion_limit to approximately 1000000. Fix submitted by Mateusz Krzeszowiak in pull request 27270. GitHub-26026
Interceptor generation has been improved. } else { statements have been removed from interceptors, and array_map has replaced foreach. Fix submitted by Lukasz Bajsarowicz in pull request 27902. GitHub-28383
Array creation is now consistent throughout the class (app/code/Magento/Sales/Model/Order/Pdf/Items/Invoice/DefaultInvoice.php). Fix submitted by Nathan de Graaf in pull request 28515. GitHub-28795
Plugins have been migrated out of the Magento Framework to follow the Magento best practice of prohibiting plugins in the Framework namespace. Fix submitted by Lukasz Bajsarowicz in pull request 27965. GitHub-27962
You can now use the new UrlFilterApplier component to apply filters on product,cms_page, and cms_block grids using the GET URL parameter. Fix submitted by Gabriel da Gama in pull request 28932. GitHub-1501
Magento no longer throws an Undefined class constant error when an interceptor is generated. Fix submitted by Vova Yatsyuk in pull request 28797. GitHub-28981
Form data now persists when Magento throws an integration exception when you save a integration using a name that is already in use. Fix submitted by Aditya Yadav in pull request 26660. GitHub-28143
Magento no longer truncates X-Forwarded-For headers to 32 characters. Fix submitted by Ihor Sviziev in pull request 27221. GitHub-28693
The logic that checks if a redirect is internal now works correctly in the Admin when using a custom Admin domain. Previously, problems with this logic resulted in many Admin redirects to the homepage of the default store. Fix submitted by Vadim Malesh in pull request 29066. GitHub-28943
Problems with the styles-old.less file have been eliminated, and linting no longer identifies errors. Fix submitted by Tu Nguyen in pull request 28895. GitHub-24004
NonComposerComponentRegistration.php has been refactored. Fix submitted by Vitaliy Ryaboy in pull request 28975. GitHub-29308
ResourceConnection.php has been refactored to improve class readability. Fix submitted by Lukasz Bajsarowicz in pull request 29341. GitHub-29389
The README file for the build-in web server has been updated to include all Elasticsearch parameters. Fix submitted by Yevhenii Dumskyi in pull request 29300. GitHub-29299
The Magento\CmsUrlRewrite\Plugin\Cms\Model\Store\View::aftersSave plugin now returns a value as expected. Previously, this plugin did not return a value, and as a result, saving a store view resulted in an error. Fix submitted by Pieter Hoste in pull request 29035. GitHub-29034
Added the following support for magic methods for DataObject:
new extension to support get/set/has/uns magic methods (with usage of __call)
support for SessionManager, which forwards all calls to the DataObject container
test coverage for extensions
updated tests for Filtered Error check
increased PHPStan check level from 0 to 1. Fix submitted by Oleksandr Kravchuk in pull request 27905. GitHub-28303
ScopeConfigInterface can now be more than a string. The restriction of magentoConfigFixture to string only was the inadvertent result of a previous pull request and has been reverted. Fix submitted by Kristof, Fooman in pull request 29305. GitHub-29345
The convertConfigTimeToUtc method no longer throws a fatal error due to sending incorrect parameters to the Phrase constructor. Fix submitted by Kos Rafał in pull request 29483. GitHub-29525
Price filters now work as expected on grid data when Magento\Backend\Block\Widget\Grid\Column\Filter\Price::getCondition and Magento\Backend\Block\Widget\Grid\Column\Filter\Price::getValue() return an array with indexes that contain from or to string data. Previously, Magento threw this error: Notice: A non well formed numeric value encountered in vendor/magento/module-backend/Block/Widget/Grid/Column/Filter/Price.php on line 197. Fix submitted by Nikita Sarychev in pull request 29214. GitHub-29213
Added an extension point to support adding HTML to the category page. This corrects a bug that was introduced by a previous pull request. Fix submitted by iGerchak in pull request 29291. GitHub-29286
Layered navigation
The layered navigation sidebar now shows Boolean attributes with both options (yes/no) and matching product counts. Previously, layered navigation did not return a no option for Boolean attributes in deployments using Elasticsearch.
The swatch layered navigation filter is now consistent with standard filters used throughout Magento. Fix submitted by Bartłomiej Szubert in pull request 28015. GitHub-28011
Logging
All broken reference errors are now logged when deployments are in developer mode only. Previously, one error was logged for deployments in production mode, too, which bloated error logs. Fix submitted by Bartłomiej Szubert in pull request 28735. GitHub-26504
Media Gallery
The Media Gallery configuration UI (Admin Stores > Configuration > Advanced > System ) has been reorganized. Fix submitted by Shankar Konar in pull request 29433. GitHub-28011
Added tests to cover the Used In links for an image in the Media gallery. Fix submitted by Nazar Klovanych in pull request 29392. GitHub-1969
MFTF
The AdminSubmitAdvancedInventoryFormActionGroup , AdminClickOnAdvancedInventoryLinkActionGroup, and AdminSetStockStatusConfigActionGroup action groups are now used within tests according to best practice. Fix submitted by Oleh USIA in pull request 29386. GitHub-29420
SearchProductGridByKeywordActionGroup is now used for search in the product grid. Fix submitted by Oleh Usik in pull request 29385. GitHub-29434
AdminCategoriesClickDoneButtonOnPopupActionGroup is now used to click Done on the Search Categories popup. Fix submitted by Oleh Usik in pull request 28989. GitHub-29380
LoginToStorefrontActionGroup is now used to replace a sequence of actions that is used for store front customer login. Fix submitted by Sathish Subramanian in pull request 28113. GitHub-28165
AdminUpdateCustomURLRewritesPermanentTest has been refactored to meet MFTF best practices. Fix submitted by Kate Kyzyma in pull request 28361. GitHub-28393
Test names have been changed to meet MFTF conventions. Fix submitted by Evgeny Levinsky in pull request 27839. GitHub-28305
New action groups
StorefrontCheckoutClickNextButtonActionGroup Fix submitted by Oleh Usik in pull request 29472. GitHub-29539
AdminProductFormSaveActionGroupFix submitted by Oleh Usik in pull request 29142. GitHub-29292
AdminSaveCategoryActionGroup Fix submitted by Oleh Usik in pull request 28993. GitHub-29388
AdminProductGridSectionClickFirstRowActionGroup Fix submitted by Oleh Usik in pull request 29000. GitHub-29295
AdminProductFormCategoryExistInCategoryListActionGroup and AdminProductFormCategoryNotExistInCategoryListActionGroup Fix submitted by Alexander Steshuk in pull request 28287. GitHub-28392
AdminExpandCategoryTreeActionGroup Fix submitted by Oleh Usik in pull request 29133. GitHub-29289
AdminTaxRateGridOpenPageActionGroup Fix submitted by Oleh Usik in pull request 29007. GitHub-29281
AdminNavigateNewCustomerActionGroup Fix submitted by Oleh Usik in pull request 29134. GitHub-29287
New tests
Added test for deleting a CMS page as an Admin user. Fix submitted by Dmitry Tsymbal in pull request 28112. GitHub-28202
Added the StorefrontShareCustomerWishlistActionGroup test for customer wish list sharing with invalid email addresses. The existing test for wish list sharing (StorefrontShareWishlistEntityTest) has been refactored. StorefrontCustomerShareWishlistActionGroup has been deprecated.
Added a test to check for the implementation of the Only X left Threshold configuration setting. Fix submitted by Oleh Usik in pull request 27549. GitHub-28755
Newsletter
Exporting the Newsletter Subscribers list using the EXCEL XML option now results in the export of all rows as expected. Previously, exported data included only the page pagination value, not all rows.
Newsletter subscription emails now use the same HTML tags as other newsletter-related emails. Fix submitted by Paweł Tylek in pull request 27357. GitHub-28165
Added a test for deleting a newsletter subscriber as an Admin user. Fix submitted by Dmitry Tsymbal in pull request 28972. GitHub-29032
Added tests for newsletter subscription for guests with a disallowed option in config statements. This test replaces deprecated VerifyRegistredLinkDisplayedForGuestSubscriptionNoTest and StorefrontCreateNewSubscriberActionGroup. Fix submitted by Dmitry Tsymbal in pull request 28872. GitHub-29039
Orders
The GetAssetIdByContentFieldInterface and its implementation on MediaContent modules now permits Adobe Stock Integration to extend MediaGallery filter functionality. Fix submitted by Gabriel da Gama in pull request 29058. GitHub-1464
The CustomerAddressId values for a newly created customer are now validated in quotes. Fix submitted by Andrii Kalinich in pull request 29139. GitHub-28793
The order status for a credit memo with zero total is now Closed. Previously, Magento reported its order status as Complete. Fix submitted by Andrii Kalinich in pull request 29023. GitHub-22762
Payment methods
Magento now displays a message that prompts you to enter mandatory credit card data when you click Submit for an Admin order without entering valid payment information. Previously, the Braintree card validator did not throw an error when payment input fields were invalid and the page became inactive.
You can now change the shipping method for an order you create from the Admin for a customer whose account has a stored credit card (Braintree). Previously, when you selected a different shipping method, the stored card was not selected, and Magento did not place the order.
PayPal
The Order Review page of the checkout workflow now displays the correct shipping amount for PayPal through Braintree orders for which the shipping method has been changed during checkout. Previously, when a customer changed the shipping method on the PayPal Order Review page of the checkout workflow, Magento did not update the order total with the correct method.
Merchants can now successfully cancel orders that were authorized using PayPal. Previously, Magento did not cancel the order and displayed this error: Declined: 10601-Authorization has expired.
Magento no longer empties your cart when you cancel an order by closing the PayPal payment popup window after first completing another order.
Performance
Three new configuration settings support a decrease in consumer queue CPU consumption. These optional parameters provide increased control over consumers and save server resources. See Configure message queues for a description of the maxIdleTime, sleep, and onlySpawnWhenMessageAvailable parameters.
Plugin list configuration is now generated during the execution of the di:compile command. This configuration information is written to generated metadata folders based on scope. Previously, this information was stored in cache. Resulting performance improvements include:
Network cache size has decreased
Execution time for many scenarios has been improved.
Magento now loads the appropriate slider widget on demand, which has improved page loading. The touch slider widget customization has been moved to a separate file so it can be loaded only on compatible devices. The appropriate slider widget type is now loaded only when range binding is actually used on the page. Fix submitted by Mateusz Krzeszowiak in pull request 27616. GitHub-28807
The performance of checkout with multiple simultaneous orders has been improved.
Deadlocks no longer occur when the import process executes a bulk insert and the re-index process simultaneously executes a large insert from select. Previously, Magento displayed this error: PDOException: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock. GitHub-8933
Reviews
A unique key for entity_pk_value-entity_type-store_id has been added to the review_entity_summary table, which prevents the creation of duplicate rows for the same product ID (entity_pk_value). Previously, this lack of unique key resulted in duplicate rows for the same product ID and SQL errors.
Sales
Magento no longer assigns a status of Complete after invoicing an order that requires zero payment.
The New Shipment email generated by the REST API now contains the same shipping and customer information as shipments that are created manually from the Admin. Previously, this email did not contain the customer name, tracking information, products ordered, and other order information.
Guest user names are now visible as expected in invoice- and shipment-related emails when the emails are loaded or customized from the Admin.
The PDF invoice is now translated into the language of the store view where the order has been placed. Previously, the PDF invoice was translated in the language of the Admin.
You can now issue a refund as expected from the credit memo page. GitHub-29014
Localised region names that are displayed on the storefront Order page are now correctly translated. Previously, the region name was not based on the specified locale unless it was edited in the Admin.
Shipments created through the POST /rest/V1/shipment endpoint now update orders properly. Previously, Magento created a shipment, but shipment status remained in the processing state.
Credit memos now display the payment method that is derived from the scope of the store in which the order was made. Previously, credit memos displayed the name as defined the default store scope. Fix submitted by Ledian Hymetllari in pull request 27582. GitHub-27570
Search
You can now search for products by attribute from the Admin Customer view using QuickSearch. Previously, an exception occurred on the catalog search result page.
Magento now displays configurable products on the category page as expected after you add a product attribute.
Elasticsearch results now include the correct values for each store view’s attribute options. If a Dropdown or Multiple Select attribute has a different option value in the non-default store view than in the default store view, Elasticsearch now indexes that value or returns the product with that value in the results. Previously, Elasticsearch did not index that value or return the product with that value in the results.
Searching by SKU now works as expected in advanced search with Elasticsearch. Previously, when you tried to search by SKU, Magento displayed this error message: We can't find any items matching these search criteria. Modify your search.
Advanced search no longer lets shoppers filter on negative prices. Fix submitted by Rohan Hapani in pull request 27359. GitHub-27358
Scope values are now reset as expected on the New Synonym Group form. Fix submitted by Sathish Subramanian in pull request 29206. GitHub-28947
Shipping
Magento now calculates shipping table rates correctly after upgrade. Previously, shipping table rates were calculated based on net price, which excluded VAT.
Magento now displays shipping rates in the correct currency in the checkout workflow for orders specifying FedEx as the shipping method.
Multi-page PDFs of shipping labels for orders shipped by UPS now display the correct count.
Problems with the JavaScript components of the Create Packages page have been resolved. Previously, Magento did not display the Create Shipping Label checkbox on this page, and you could not create a shipping label for an existing order.
Sitemap
The sitemap in robots.txt is now store-specific. Fix submitted by Vadim Malesh in pull request 29331. GitHub-28901
Encoded values are now correctly escaped in the sitemap.xml file. Previously, when you included encoded characters in a product name or image title, the generated sitemap was invalid.
Store
Deleting a previously created store view no longer results in an error in deployments with a split database configuration. Previously, Magento threw an exception.
You can now export config.php and default website code from one website to install and configure Magento on a second website in a multi website deployment. Previously, the default store and view disappeared after the export, and errors occurred on the storefront.
Swagger
You can now generate a customer token with Swagger. Previously, Swagger did not generate a response code when valid customer access information was entered, and Magento displayed this error: The account sign-in was incorrect or your account is disabled temporarily. Please wait and try again later. Fix submitted by Vadim Malesh in pull request 28822. GitHub-27098
Swatches
Configurable products with swatches now show tier pricing when a shopper clicks Edit in the cart. Previously, Magento did not display tier prices in the cart before checkout. Fix submitted by Sathish Subramanian in pull request 29137. GitHub-28270
Magento now displays tier prices as expected for configurable product variations.
Tax
Magento no longer displays a fixed product tax attribute on the storefront for a product after a merchant has unassigned it from the product’s attribute set.
Test
PHPUnit 9 errors have been fixed in unit tests. Fix submitted by Anton Evers in pull request 29244. GitHub-29329
Added unit tests for approving a purchase order that was made with a discount that has since expired will place an order at full amount and not update the purchase order total. Fix submitted by Joan He in pull request 18. GitHub-204
SynchronizeFilesInterface is now covered by integration tests. Fix submitted by jmonteros422 in pull request 29493. GitHub-1742
A function has been added to \Magento\TestFramework\TestCase\WebapiAbstract that enables the comparison of large nested arrays of expected and actual outcomes in tests and permits testers to ignore irrelevant keys in the actual outcome. Fix submitted by Jekabs in pull request 29458. GitHub-29498
Corrected the inversion of expected value with actual value in app/code/Magento/Newsletter/Test/Unit/Model/SubscriptionManagerTest.php. Fix submitted by Lukasz Bajsarowicz in pull request 29271. GitHub-29283
Issues with the serialization and unserialization of static properties when running consecutive tests have been resolved. Fix submitted by Pavel Bystritsky in pull request 26175. GitHub-28319, GitHub-29313
Using ObjectManager for instantiating classes during test has been replaced with the new keyword in unit tests. Fix submitted by Lukasz Bajsarowicz in pull request 29272. GitHub-29346
Test coverage has been added for these cases of the updateCustomer mutation: invalid date of birth, invalid email address, and empty customer last name. Fix submitted by Alexander Taranovsky in pull request 28304. [GitHub-28394](https://github.com/magento/magento2/issues/28394
The ApiFunctional TestFramework GraphQL client now parses headers correctly. GitHub-26425
Theme
Themes that are added in User Agent Rules are now affected as expected when you run bin/magento catalog:images:resize. Previously, only themes that were assigned to stores were affected when bin/magento catalog:images:resize was run.
Translation and locales
Magento no longer throws an error when an administrator changes the Date field during Admin product creation or save when the Admin locale is Chinese or Japanese. GitHub-24696
Magento now checks area (frontend or adminhtml) before rendering inline translation markup. Previously, making an API call to POST /V1/integration/admin/token with bad credentials while inline translation was enabled results in the inclusion of inline translation markup around the error message in the API response. Fix submitted by Zach Nanninga in pull request 28856. GitHub-28656
Bulgarian regions have been added to the directory_country_region table. Fix submitted by Nikola Lardev in pull request 27957. GitHub-28215
The titles and buttons on the Admin Customers > Add New Address and Edit Product > Advanced Inventory modals can now be translated. Fix submitted by Sathish Subramanian in pull request 28174. GitHub-28201
The term FPT can now be translated on Admin Stores > Configuration > Sales > Tax > Fixed Product Taxes. Fix submitted by Vadim Malesh in pull request 28108. GitHub-5477
The Ship here button label on the checkout workflow shipping address modal has been changed to match the camel case used for other buttons. This case now matches the case that is used in the translation files. Previously, because of the mismatch in case, this label was not translated. Fix submitted by WK in pull request 28547. GitHub-28685
UI
The privacy and cookie policy link in the page footer is now displayed as an active link when the Privacy and Cookie Policy page is displayed. Fix submitted by Sathish Subramanian in pull request 28004. GitHub-27985
Fixed misalignment of the cursor in the Invoice Comments text area of the invoice associated with an order you have selected from Admin Sales > Orders.
The Create New Order page now displays Add Products By SKU and Add Products buttons as expected.
Magento now displays the Edit Review page properly when a product rating is available for the selected product.
Magento now correctly displays the Admin customer edit page on an iPhone running Safari.
Corrected unnecessary scrolling on the Create New Order page.
Directly clicking on the Export Tax Rates button of the Add New Tax Rule page (Stores > Tax Rules) now downloads the tax_rates.csv file as expected. Previously, merchants had to click on the edge of the Export Tax Rates button. This was a known issue in Magento 2.4.0.
The Add selections to my cart button on the bottom of the shopping cart now works as expected. This was a known issue in Magento 2.4.0.
The Refresh button of the Recently Viewed Products section of the Customer’s Activities page now works as expected. Previously, when you clicked Refresh, the product list was not refreshed, and the page scrolled.
Magento now correctly displays the calendar icon used for selecting a customer’s date of birth on the Conditions tab of Customers > Segments > Add Segment.
The checkout summary section of the checkout workflow no longer flickers when a shopper scrolls through this page on Internet Explorer 11.x.
Magento now correctly displays the Order by SKU widget on the storefront Category page. Previously, the HTML code for this widget was not rendered, and Magento did not display the Load a list of SKUs link.
UI components that have been disabled using this.disabled(true) no longer appear on the storefront. GitHub-29098
Magento now displays the recently viewed products widget properly in mobile view. Fix submitted by Tu Nguyen in pull request 27572. GitHub-27058
Changing the position of a product from the Admin is now reflected in the product position on the storefront. Fix submitted by Oleg Aleksin in pull request 28150. GitHub-28149
The login form style are now consistent with the style on other forms in the Blank theme. Unnecessary styles that set the width for container control wrap input fields have been removed. Fix submitted by Tu Nguyen in pull request 28084. GitHub-28059
The OK button on the mini cart delete product confirmation pop-up now behaves as expected. Fix submitted by Tu Nguyen in pull request 28083. GitHub-27095
Product gallery elements no longer blink during page load. Fix submitted by Mateusz Krzeszowiak in pull request 27871. GitHub-28339
The CSS class that controls field width is now applied as expected for the Start Time element throughout the Admin. Fix submitted by Shankar Konar in pull request 29511. GitHub-29496
The Terms and Conditions text label can now display longer text strings properly. Fix submitted by Bartłomiej Szubert in pull request 29413. GitHub-24060
The title of the order failure page has been rewritten for accuracy. Previously, when a shopper canceled an order, Magento displayed a page with this title: We received your order!. Fix submitted by Angelo Romano in pull request 29410. GitHub-29416
The total number of canceled items on the canceled order view page is now correctly identified on the canceled order view page. Previously, this field was labeled Total Due. Fix submitted by Madhu Rajawat in pull request 27516. GitHub-26191
The toggle button on the create configurable product page now works as expected. Fix submitted by Tu Nguyen in pull request 28032. GitHub-22702
The advanced attribute properties block icon on the Advanced Attribute Properties page now behaves as expected. Fix submitted by Tu Nguyen in pull request 28032. GitHub-26022
The Admin section of the system configuration page now expands to display required fields as expected when you try to save configuration settings for a new module. Fix submitted by Bartłomiej Szubert in pull request 28285. GitHub-26427
Corrected behavior of the magnifier when mode is set to inside. Fix submitted by Sean van Zuidam in pull request 29077. GitHub-29076
Corrected the distractingly long input field width that resulted when a shopper entered an invalid email address in the subscribe field of the page footer. Fix submitted by Dipesh Rangani in pull request 27106. GitHub-27099
An Uncaught ReferenceError error no longer appears in the dev console when you add a new tag and move the mouse cursor over it. Fix submitted by Nazar Klovanych in pull request 29392. GitHub-1700
URL rewrites
Moving a store view to a different website no longer resets URLs. Previously, Magento incorrectly regenerated CMS and product URL rewrites.
Magento now preserves existing catalog URL rewrites as expected when a store view is assigned to a different store. Previously, Magento deleted the store-specific URL rewrites.
Varnish
Restarting Varnish no longer results in 503 errors. Fix submitted by Ihor Sviziev in pull request 28137. GitHub-24353
Vault
Magento no longer saves credit card numbers when the Save for later use checkbox on the payment section of the checkout workflow is not selected.
Web API framework
Merchants with multiple websites can now use the REST API to create and update products while preserving image and image-role inheritance. Previously, when a merchant used the REST API to create and update products, and a product was updated for store view, the default image roles were loaded and saved for that store view. As a result, the store-view image roles stopped inheriting from the default scope after update.
An unscoped integration user account can now access a resource through the REST API when resource permissions allow access.
Search criteria filters now work as expected for product attributes that are used during the creation of a configurable product. GitHub-29126
Customer group ID is now validated for POST /rest/V1/customers requests. Previously, Magento did not display an error message when you used an invalid group_id in these requests. Fix submitted by Vadim Malesh in pull request 28903. GitHub-28064
PHP sessions are not created by default for anonymous REST calls. Previously, sessions were started even when unnecessary. Fix submitted by Maciej Pawłowski in pull request 26032. GitHub-7213
Using various REST endpoints to update orders that contain custom option no longer deletes the custom option information. Previously, values in info_buyRequest were deleted. Fix submitted by Vadim Malesh in pull request 28483. GitHub-22431
Using GET V1/customers/me now honors Share Customer Accounts setting (Admin Stores > Configuration > Customers > Customer Configuration > Account Sharing Options) when retrieving user information. Fix submitted by Pavel Bystritsky in pull request 28213. GitHub-26089
Address-related extension attributes can be set as data arrays. Previously, Magento threw an error when a POST request that contained extension_attributes was sent to estimate-shipping-methods. This bug, which was introduced by a previous commit, affected any extension attribute set on Magento\Quote\Api\Data\AddressInterface that were not objects. Fix submitted by Alexander Menk in pull request 27338. GitHub-26682
You can now specify a single field when updating a customer with the PUT V1/customers/:id endpoint. Previously, the endpoint required you to specify the customer email and other fields that are required to create a customer. Fix submitted by Vadim Malesh in pull request 28332. GitHub-21237
Wish list
Customers can now change the quantity of a product in a wish list from the wish list itself. Previously, Magento did not update the product quantity and did not display a message.
Customers can now change the quantity of a grouped product in a wish list from the wish list itself. Previously, Magento did not update the product quantity or display a message.
Polyfills for Map, WeakMap, FormData, and MutationObserver are now loaded only as needed. Fix submitted by Dmitry Tsymbal in pull request 28330. GitHub-28377
The wish list update process now supports updating a wish list item and its description simultaneously. Fix submitted by Eduard Chitoraga in pull request 28222. GitHub-28261
Added a test for sharing a customer’s wish list with more than the allowed number of emails. Fix submitted by Dmitry Tsymbal in pull request 28641. GitHub-28720
Administrators can now configure a configurable product that has been added by a customer to a wish list from a non-default store. Previously, when the customer had also added the configurable product from a non-default store, Magento threw an error.
Added a test for sharing a customer’s wish list with more than the allowed number of emails. Fix submitted by Dmitry Tsymbal in pull request 28641. GitHub-28720
Added a test for deleting items from a customer’s wish list as an Admin user. Fix submitted by Dmitry Tsymbal in pull request 28632. GitHub-28721
Added a test for disabling wish list functionality. Fix submitted by Dmitry Tsymbal in pull request 28635. GitHub-28744
Added a test for using invalid email addresses when sharing customer wish lists. StorefrontShareWishlistEntityTest has been refactored. StorefrontCustomerShareWishlistActionGroup has been deprecated. Fix submitted by Dmitry Tsymbal in pull request 28330. GitHub-28377
Added a test for sharing a customer’s wish list that exceeds the allowed text length limit. Fix submitted by Dmitry Tsymbal in pull request 28812. GitHub-28969
Known issues
Issue: The new CAPTCHA feature for checkout does not work as expected on the Place Order page when using third-party payment providers. Merchants running Magento 2.3.6 or 2.4.1 who have enabled CAPTCHA protection on the Place Order storefront page will see this error when checking out using a third-party payment provider such as PayPal: Please provide CAPTCHA code and try again. A fix for this issue be available in the next few weeks, and will be included in our next quarterly patch (Q12021). Please contact Support for additional information.
Issue: Users without administrator privileges cannot currently set up their personal 2FA access. 2FA as implemented in Magento includes two ACL roles. One role affects global system configuration and it is needed only when configuring the system. The second ACL role affects individual user 2FA accounts. An admin user must configure this second type of 2FA ACL. Workaround: After the user has logged in and seen the Access denied screen, they can visit https://<magento store>/<admin_path>/tfa/tfa/requestconfig/ to force configuration. Note: We do not recommend disabling security settings. However, this workaround is effective only when Admin URL secret keys are disabled.
Issue: Merchants cannot log in to dotdigital from the Admin in Safari when dotdigital is enabled. See the It’s impossible to login in the dotdigital via admin panel when dotdigital account is enabled Knowledge Base article.
Issue: Vertex address validation does not work during payment when the shopper selects a shipping address that differs from the billing address. The issue will be fixed in Magento 2.4.2. See the Magento 2.4.1 known issue: Vertex Address Validation message does not disappear after updating address Knowledge Base article.
Issue: Magento displays an empty page when a merchant saves a dotdigital Page Builder form on the Safari browser. Workaround: Reload the page to apply your changes. See the Magento 2.4.1 known issue: empty page after saving dotdigital Page Builder form Knowledge Base article.
Issue: Under certain conditions, Magento automatically signs in customers to previously used Amazon accounts rather prompting them to log in during checkout with Amazon Pay. See the Magento 2.4.1 known issue: unable to change Amazon account in Google Chrome Knowledge Base article.
Issue: Magento briefly displays an error message on the billing page of the checkout workflow when PayPal Braintree payment and multiple addresses shipment are selected. See the Magento 2.4.1 known issue: error popping up on Checkout with PayPal Braintree Knowledge Base article.
Issue: Magento displays a non-informative error message when a guest customer tries to place an order with PayPal through Braintree when guest checkout is disabled. See the Magento 2.4.1 known issue: non-informative error message during guest checkout using Paypal through Braintree Knowledge Base article.
Community contributions
We are grateful to the wider Magento community and would like to acknowledge their contributions to this release. Check out the following ways you can learn about the community contributions to our current releases:
If a community member has provided a fix for this release, we identify the fix in the Fixed Issue section of these notes with the phrase, “Fix provided by community member”.
The Magento Community Engineering team Magento Contributors maintains a list of top contributing individuals and partners by month, quarter, and year. From that Contributors page, you can follow links to their merged PRs on GitHub.
import.php 0000644 00000013635 15054070240 0006574 0 ustar 00 <?php //0046a
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the <a href="http://www.ioncube.com/lw/">ionCube Loader Wizard</a> to assist with installation.');exit(199);
?>
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 edit.xml 0000644 00000000661 15054070240 0006213 0 ustar 00 <softedit xmlns="http://www.softaculous.com">
<settings>
<group>
<heading>{{ad_act}}</heading>
<input type="text" name="admin_username" size="30" value="">
<head>{{ad_name}}</head>
<optional>true</optional>
</input>
<input type="text" name="admin_pass" size="30" value="">
<head>{{ad_pass}}</head>
<exp>{{exp_ad_pass}}</exp>
<optional>true</optional>
</input>
</group>
</settings>
</softedit>