github shopperlabs/shopper v3.0.0-rc.2

pre-release5 hours ago

Important

This is the second release candidate of Shopper 3.0. It fixes an admin crash that could exhaust PHP memory and completes the starter kit manifest used by the kits listing on shopperphp.com.

Installation

"minimum-stability": "RC",
"prefer-stable": true
composer require shopper/framework:^3.0.0-rc

New Features

  • feat(admin): listing metadata and stack in the starter kit manifest (#671)

shopper-kit.yaml gains the fields read by the starter kits listing on shopperphp.com: preview (live demo URL), docs, screenshots (paths inside the kit repository, the first one is used as the cover) and stack (the technologies the storefront is built with). shopper:kit:init now asks for the stack through a searchable multi-select based on Manifest::STACKS; a technology outside that list is kept in the file and flagged at export. kit:init and kit:export now write the manifest through the same Manifest::toYaml(), so exporting no longer drops keys, and shopper:kit:export warns when a declared screenshot is missing from the kit. --clear now keeps the kit's own files (.git, .github, README.md, CHANGELOG.md, LICENSE, composer.json and the manifest) instead of wiping everything but .git. Existing manifests parse unchanged and shopper:kit:install does not read the new fields.

Bug Fixes

  • fix(admin): let the authorization exception hook accept any throwable (#676)

HandlesAuthorizationExceptions::exception() only accepted Exception. Livewire catches every Throwable and triggers the exception hook through the same wrapper, so any Error thrown in an admin component using this trait raised a new TypeError on the parameter type and re-triggered the hook until the worker ran out of memory. The hook now accepts Throwable; only AuthorizationException is still intercepted and every other error propagates normally. Thanks to @fast-cmf for the report in #674.

Upgrading

composer update "shopper/*"

If one of your Livewire components extends a Shopper admin component and overrides exception(), widen its first parameter from Exception to Throwable to match Shopper\Traits\HandlesAuthorizationExceptions::exception().

The npm packages (@shopperlabs/shopper-sdk, @shopperlabs/shopper-types) have no changes in this release.

Contributors

@mckenziearts

Full Changelog: v3.0.0-rc.1...v3.0.0-rc.2

Don't miss a new shopper release

NewReleases is sending notifications on new releases.