Besides other bug fixes, this patch release contains two security improvements:
- Updated PayOne module to v1.3.1 (thanks @jens-trant for reporting)
- Minor session fixation issue (thanks @IT Consultant Dr. Christian Forster for reporting)
After the first stable release of OXID eShop series 6.0 by the end of 2017, this series now has reached EoL (end of life) and can’t be supported any more. Please consider to update. For more information about the release plans, please visit https://oxidforge.org/en/release-plan.
What’s new with OXID 6.2
Symfony Dependency Injection container can now be used in modules
Dependency Injection (DI), a design pattern in object-oriented programming, can now be used in modules. DI is implemented in OXID eShop using the Symfony DI container. Dependency Injection means, in a nutshell, that an object that requires the functionality of another object may not instantiate the other object itself. The object is injected from outside.
Symfony Doctrine QueryBuilder can be used in modules
Symfony Events have been introduced
With OXID eShop 6.2.0 an event handling is introduced, which is based on Symfony Events and Event Listeners. First events, which have been implemented, allow a more reliable way to extend the functionality of the shop. Events are the better alternative to traditional inheritance within the class chain. They can be processed by the shop and modules. The developer documentation contains an introduction to event handling and an overview of the currently available events.
Command line interface
Supporting Twig template engine
Refactored module configuration and activation
Nowadays it is standard in large and medium-sized projects to operate the OXID eShop in various environments such as integration, staging, and production. In order to easily configure modules instead of managing them separately in each environment, the module system was extended accordingly. It is now possible to manage the environment via YAML configuration files. These are stored in the new directory
var/ and its structured subdirectories.
metadata.php file will be validated more strictly. The version number is now mandatory and additional source code is not allowed.
New directory var/
OXID eShop now has the new directory
var/ on the same level as
vendor/. It contains the module configurations, structured by sub-directories. These are saved in .yaml files for each subshop (EE) and environment specific (production, staging, development). The directory requires recursive read and write access for HTTP server and CLI users during installation and at runtime.
NGINX Reverse Proxy module available (for EE only)
OXID eShop high load option is an add-on for the OXID eShop Enterprise Edition in version 6. Caching ensures the fast generation and delivery of HTML pages, especially during peak loads. Caching is handled by a reverse proxy, which processes incoming requests from web clients before the actual web server. The OXID eShop high load option now supports NGINX version 1.14.0 and higher as a reverse proxy, offering an alternative to varnish.
Additionally, there’s a varnish module available now so you can choose if you want to use Varnish or NGINX.
Custom offline pages
OXID eShop can display a user-defined shop offline page with customized layout and/or special features instead of the default page that indicates maintenance mode – for better usability and SEO behaviour. This can be achieved by overwriting the method
oxTriggerOfflinePageDisplay. Thanks to @Jaro for PR-155!
Sorting of accessories for products
In the assignment window for accessories, the order of the assigned products can be changed. After marking an product in the list on the right, it can be moved up or down using the mini buttons that are now displayed.
Changes in testing framework
For OXID eShop, Codeception acceptance tests are introduced. For developers, these tests are easier to write, use and maintain.
The PHPUnit component was updated from version 4.8.26 to 6. Information about added, changed and removed methods can be found in the PHPUnit changelogs:
Changes in the OXID eShop testing library are documented in the changelog:
Character set of the database connection
In the configuration file
config.inc.php, the character set of the database connection can be defined with the new parameter
$this->dbCharset = 'utf8';
- OXID CE component 6.5.3 (was 6.3.6 )
- OXID PE component 6.4.0 (was 6.2.2)
- OXID EE component 6.5.1 (was 6.2.3)
- Theme “Flow” 3.4.1 (was 3.3.3 )
- Theme “Wave” 1.3.1 (was 1.2.0 )
- Amazon Pay 3.6.4 (was 3.3.1 )
- GDPR Opt-In 2.3.0 (was 2.2.0 )
- Klarna 5.1.4 (was 4.3.0 )
- Paymorrow 2.0.3 (was 2.0.1 )
- PAYONE 1.3.1 (was 1.0.10 )
- PayPal 6.1.0 (was 5.2.5 )
- Summernote WYSIWIG-Editor 2.2.0 (was 2.2.0)
- Visual CMS for PE/EE 3.3.3 (was 3.3.2)
System requirements, update and installation
- PHP support:
- tested on PHP v7.1, v7.2, v7.3 and v7.4
- Database support:
- tested on MySQL 5.5 and 5.7 works on MySQL 5.6 as well (If you use the OXID eShop Enterprise Edition there might be a pitfall: please see this blog post for more details: Set MySQL 5.6 optimizer setting “block_nested_loop = off” for OXID eShop Enterprise Edition)
- tested on MariaDB v10.4
- Web server support:
- tested on Apache 2.2 and 2.4
Many thanks to all you GitHub contributors for 80+ pull requests merged in this version!
- To OXID eShop CE repository:
- alfredbez for 556, 694, 699, 700, 520, 716, 717, 719, 707, 709, 677, 751
- GM-Alex for 734
- vanilla-thunder for 585
- Crease29 for 667, 668
- michaelkeiluweit for 654, 678, 689, 672
- tmloberon for 714
- TumTum for 722
- zaxxo for 706
- gerlweb for 701
- kaluzki for 685
- keywan-ghadami-oxid for 661, 580, 514
- dx-bhesse for 697
- flow-control for 628, 659, 746, 768
- bmnnit for 670
- gaertnermarkus for 688
- mparienti for 534
- MaxBoeh for 649
- tabsl for 640, 660
- ivoba for 708
- Sioweb for 681
- KristianH for 676
- Phillinger for 726
- JaroslavHerber for 755
- mreiss for 731
- zoh48gz04 for 742
- Flow and Wave theme repositories:
- AmazonPay repository