OpenCart 3.0.4.0 is an important release that brings several significant improvements and fixes, making it a more stable, secure, and efficient option. First, this version supports PHP 8.0, which not only improves performance but also enhances security, allowing websites to run faster and more securely. Additionally, several fixes have been made for PHP 8.0 compatibility, including handling of empty parameters and warning issues, ensuring the platform runs smoothly.

This update resolves a number of bugs and vulnerabilities, such as currency exchange rate refresh errors, marketing message counters, redirect protection issues, and pagination errors in the Google Base extension. These fixes not only improve system stability but also improve the user experience.

In terms of security, this version enhances the security measures for accounts and administrators who forget their passwords, and fixes several security vulnerabilities, making the overall system more protective. In addition, a number of updates and corrections have been added to the payment module, such as multiple improvements to Opayo and PayPal integration to ensure a smoother and more secure payment process.


In terms of performance, version 3.0.4.0 optimizes system resource usage by removing redundant code and duplicate array keys, making the website run more efficiently. The new cache control header and pagination corrections also further improve the loading speed of the website and the user navigation experience.

In summary, OpenCart 3.0.4.0 is a significantly improved version that is superior to previous versions in terms of performance, security, and stability. Not only does it resolve many known issues, it also adds support for the latest PHP versions, making it a more modern and reliable e-commerce platform. For users looking for a stable, efficient and secure open source shopping cart system, this is undoubtedly a worthy upgrade.






The following are the updates for OpenCart version 3.0.4.0:

### Complete Change Log ###

1. Fixed currency exchange rate refresh error

2. Fix marketing message counter

3. Correct .htaccess.txt file

4. Add database backup controller

5. Fixed attribute auto-completion error

6. Fixed the problem of empty parameters in PHP 8


7. Fixed error message in manufacturer list


8. Add language variable 'text_no_results' to manufacturer


9. Fixed redirection protection issue


10. Fix pagination error in Google Base extension


11. Fix PHP 8 warning Laybuy model


12. Fix spelling errors in fraudlabspro model


13. Fixed typos in sales report model


14. Fixed typo in return report model


15. Remove duplicate values ​​from utf8 helper


16. Create phpstan.neon


17. Create Lint.yml


18. Create .php-cs-fixer.php


19. Fixed the problem of time zone change destroying session expiration


20. Remove reference checking in proxy.php


21. Catching the DB\mysqli_sql_exception class not found


22. Fix undefined variables in sagepay_direct.php


23. Fix undefined variables in sagepay_server.php


24. Added PayPal language fix


25. Fix undefined variables in router controller


26. Fix undefined variables in upload model


27. Remove duplicate arrays in paypal.php


28. Fix duplicate array keys in ec_ship.php


29. Fix incorrect capitalization in googleshopping\exception\Connection


30. Update google.php model


31. Update googleshopping library


32. Update alipay_cross.php


33. Fix undefined variables in customer model


34. Update the fix_case function in fraudlabspro controller


35. Update pgsql.php


36. Update router.php


37. Add 'public' keyword to alipay_cross model


38. Update divido.php


39. Update startup.php


40. Fix duplicate keys


41. Update pp_express.php


42. Updated PayPal integration


43. Update squareup.php


44. Add Opayo payment


45. Fix frame errors


46. ​​Fix alipay error


47. Add Opayo’s missing type conversion


48. Fixed typos in Opayo Catalog model


49. Load prompt class during framework startup


50. Include WeChat dependencies


51. Fix WeChat XML response


52. Update securetrading_ws.php


53. Update securetrading_pp.php


54. Update .php-cs-fixer.php


55. Restore the old code of php-cs-fixer.php


56. Fixed permission issue during extension uninstallation


57. Update phpstan to 1.10.57


58. Use curl instead of wget


59. Fixed Opayo and geographical area bugs


60. Add cache control headers


61. Make functions with the same identity have the same signature


62. Update payment extension


63. Upgrade PayPal to version 2.2.1


64. Remove duplicate array keys


65. Remove old pp_express loop


66. Add missing type conversion for PayPal


67. Add missing escapes for filter module


68. Fixed time zone change breaking sessions and APIs


69. Fix backup tool errors


70. Improve account security if you forget your password


71. Improve security if administrator forgets password


72. Fix paging problem


73. More pagination fixes


74. Fix Windows line endings


75. Upgrade PayPal


76. Fixed minor PayPal bugs


77. Security patches


78. Add missing type conversion for PayPal


79. Generate Token


80. Add type conversion for zone_id in settings


81. Add missing PayPal files


82. Administrators should not be able to disable themselves


83. Fixed currency cache error


84. Update third-party libraries


85. Add BluePay Hosted enablement check


86. Update Sagepay URL


87. Fix ECB problem


88. Update PayPal version number


89. Upgrade PayPal


90. Fix undefined index in google advertise controller


91. Add "Unlink" option in Summernote


92. Fixed the problem of saving code view in Summernote


93. Remove domain from language and currency cookies


94. Check effectiveness of promotional responses


95. Fixed dashboard map error


96. Remove divido.png


97. Fixed automatic currency refresh error


98. More currency refresh updates


99. Remove unused code in column_left controller


100. Fixed order information title issue


101. Use the same ECB calling code in the foreground as in the backend


102. Remove redundant code


103. Fixed paging limitation issue