Release Note v0.5

Bazar v0.5 is released. Let's walk through the most important things about this release.

To avoid bigger releases, we tried to break the features down and release more smaller quantities of code. So this release note will contain all the versions from 0.4.1 to 0.5.0. For the complete list of changes, please read the changelog.

Bugfixes

This release pack contains several bugfixes. For example, variants now are correctly checked, by using the array_intersect_key function behind the scenes.

Automatic Mix and Package Updates

When publishing the Bazar assets, you might want to update your webpack.mix.js and packages.json files. Normally this syncs the dependencies and the compiling tasks, so you don't have to worry about copy-pasting any code.

php artisan bazar:publish --mix --packages

Assets

Bazar now provides a nice and easy way to register scripts, styles and icons. Also, when running the bazar:publish command, the registered assets (except icons) will be automatically published and copied to their place, then Bazar will automatically pull them into the bazar::app blade template.

Note, you might register only your compiled assets. Your pre-compiled "raw" assets should be published from your service provider.

use Bazar\Support\Facades\Asset;

Asset::style('script-name', '/path/to/compiled/style');
Asset::script('style-name', '/path/to/compiled/script');
Asset::icon('icon-name', '/path/to/compiled/style');

Custom Image Conversion Drivers

The ConversionRepository class has been removed and a new driver based conversion manager was introducted. This works as any other driver-manager concept – like taxes, discounts, gateways, etc.

You can easily write your own custom driver – for example using the intervention/image package. You might check the documentation for more information about custom drivers.

Note, by default there is only one driver, the GdDriver, with only optimizing and resizing images.

Bazar now provides a small but quite flexible menu builder to easily manage the menu items you need.

use Bazar\Support\Facades\Menu;

Menu::resource(URL::to('bazar/users'), __('Users'), ['icon' => 'customer']);
Menu::register(URL::to('bazar/support'), __('Support'), [
    'icon' => 'support',
    'group' => __('Tools'),
]);

Using the menu builder, you don't need to touch the front-end templates, it automatically populates the siderbar.