Skip to content

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 27 Sep 19:42
· 39 commits to main since this release
ef144f6

Minor Changes

  • 23f5e49: See the shop the way a customer does, notice when orders stop, and set everything up with the least rights it needs.

    • checkout_simulate fills a throwaway cart through Shopware's admin proxy to the Store API, as a guest with a shipping country or logged in as a customer, and returns what Shopware calculates: prices per item next to the price the product page shows (the tier for the quantity where advanced prices exist), discounts, shipping, taxes, the total, the payment and shipping methods offered and the ones hidden with the rule behind them, and every cart error with a plain explanation. It names a country the channel does not ship to or that is inactive, and a promotion that ended, is not assigned to the channel, switched between fixed and individual codes, has no discount or reached its limit for this customer. It also names the product that is not visible or out of stock, a parent product Shopware drops silently because it needs a variant, and a customer who is inactive or bound to another channel and would only be simulated as a guest. Every refused code is explained, even when Shopware's cart names only one. The session uses the channel's own language. Nothing is ordered; the cart is deleted.
    • storefront_search searches a sales channel like a customer and explains one product on request: its position, the variant that stands for it, or why it is missing (inactive, not visible, link-only, closeout without stock, not in the search index, no keyword matching the term).
    • shop_pulse compares today with the same hours of the same weekday in recent weeks, stepped on the shop's calendar so daylight saving changes keep the weekday, weighs the current quiet spell with a Poisson estimate and watches failed payments. The audit gained checkout_silent (critical) for an unusual silence: seventeen checks now. shop_audit and sales_report take a timeZone; the report then counts local days.
    • shopware-mcp setup logs in as an admin once and creates a role with exactly the privileges the tools need, measured against a real shop, plus an integration that is not an administrator. It prints the new secret before anything else can fail, verifies both with the doctor and prints or writes the host config, creating the config directory with owner-only permissions. Running it again after an upgrade updates the role and keeps the keys; --rotate issues new keys. It only changes a role it created, reports every privilege it adds or removes, and refuses plain http except to localhost. Reading the whole system config (--settings) and plugin maintenance (--plugin-updates) stay out unless asked for; the audit reports the checks that need them as not covered instead of failed. The doctor now checks every association read each tool needs and reports missing optional privileges as reduced coverage.
    • shopware-mcp brief puts the pulse, the audit and the last seven local days on one page: Markdown, JSON, or with --html a self-contained HTML file with charts that follows the reader's dark mode and loads nothing from anywhere. audit and report take --html too, all three take --json-file; brief and audit post a short summary to Slack with --slack; --tz sets the time zone for days and "today".
    • The repository is a GitHub Action: uses: bnymnDev/shopware-mcp@v0.8.0 runs the audit with the shopware-mcp release of that tag, writes the job summary, exposes the counts and the exit code as outputs and fails the job on the chosen severity.
    • Extension packs can declare the ACL privileges their plugin's routes need; the FroshTools and Merqo packs do.
    • order_documents_bulk_create says plainly when there is nothing to do, and separately when explicit order ids do not exist.
    • New recordings of the pulse, the customer's view and setup, and a real example brief on the website.