Skip to content

2.8.0

Choose a tag to compare

@goldnead goldnead released this 15 Sep 20:03
· 19 commits to main since this release

The settings now live on the suite's shared screen

This addon had a settings screen of its own: a table, a model, a request, a
controller and a Vue page, together around 900 lines for a mechanism that
automations and leadhub had each built once more, independently of it. The
mechanism now lives once in goldnead/statamic-brand-context; what stays here
is only the field list (Support\Settings), which registers with the shared
registry in boot().

What changes for an operator:

  • One screen for the whole suite. Every addon is a section on it. The
    sidebar entry "Webhooks → Settings" still leads there, and
    /cp/webhook-manager/settings redirects — bookmarks stay valid.
  • Settings are brand-scoped from now on. On a multi-brand installation two
    brands used to share one value, because the old table had no brand column.
  • Existing values move along. php artisan migrate transfers every row
    from webhook_settings to brand_settings on the default brand. The old
    table stays for one minor version, so a rollback loses nothing.
  • What was not a setting has moved to the debug screen: the values dictated
    by the deployment, the resolved config tree with masked secrets, and the
    switch for the storage driver. For that, the debug screen is now reachable
    with manage webhook settings as well, not only with
    use webhook debug tools — the debug tools themselves stay locked.

Fixed

  • [fix] A saved status list silently switched retrying off. A text field returns
    strings; RetryPlanner compared them strictly against a real HTTP status,
    and "429" is never 429. Two repairs: the planner converts the list to
    integers when reading it — a hand-edited config/webhook-manager.php could
    trigger this before as well —, and since brand-context 1.12.0 the shared
    layer knows a type per list item, which settingsGroups() declares here with
    items => 'integer'. That also makes the list resettable to its package
    default again; before, it stayed frozen after the first save, and a later
    release could no longer move it.