stoffelio/statamic-widget-newest-users
A Statamic dashboard widget that lists the newest registered users at a glance, showing recent sign-ups with quick access to their details so you can monitor community growth and welcome new members without leaving the control panel.
This release (v1.2.0) is a compatibility release adding Statamic v5 support. That single line carries a meaningful amount of information: the package now supports PHP 8.2+, Laravel 10/11, and the Vite-based control panel toolchain that shipped with Statamic 5. There are no new features or deprecations called out, so the day-to-day API is presumably unchanged from 1.1.x — treat this as a green light to upgrade, not a reason to re-learn the package.
Minimum steps:
composer require <vendor>/<package>:^1.2
php artisan vendor:publish --tag=<package>-config # if the package ships config
php artisan statamic:stache:clear
Look first at:
composer.json of the package — confirm the constraints are statamic/cms: ^5.0 and php: ^8.2, and check the extra.statamic block (that's how Statamic auto-discovers the addon's service provider).src/ServiceProvider.php — registration, config merge, publish paths, and any Statamic::booted() hooks.First use case: register the addon, hit a single front-end route that exercises it in Antlers, and confirm output. If the package exposes a tag, {{ <tag> }} in a template; if it's a fieldtype, add the field to a collection and save an entry. That one round-trip verifies both the PHP side and the CP asset side, which are the two things an addon major-version bump typically breaks.
Version-gate the upgrade, don't shotgun it. Because the release note is purely "Statamic v5 Support", the correct pattern is: upgrade Statamic first on a branch, then bump this package, then run the test suite and a manual CP smoke test. Doing both in one commit makes bisecting failures impossible.
Pin the major explicitly. Use ^1.2 in composer.json rather than * or a caret on the whole package. Addons that add a new Statamic major tend to publish a companion release for the old line (e.g. 1.1.x staying on Statamic 4); an explicit ^1.2 documents which line you're on and prevents a future 1.3 from silently changing constraints.
Config over code. If the package publishes a config, resolve behaviour there rather than subclassing or decorating internals. Addon internals are the least stable surface across a Statamic major; config keys are the vendor's contract with you.
Wrap it behind an application-level seam. For anything called from more than one place (a tag, a controller, a Nova/CP action), put a thin service class or Blade component in front of the package. When the next Statamic major lands, you change one file instead of grepping templates.
Multi-site and localization. Statamic 5 projects are frequently multi-site. If the addon reads or writes content, test the same operation on a second site — origin/derived entry behaviour is where addons most often leak assumptions, and a compatibility release is a good excuse to check it.
Test with Statamic's own harness. Use Statamic\Testing\AddonTestCase (or the package's own base test case) plus RefreshDatabase-style fixtures so your tests boot the real Statamic app. A pure unit test will happily pass while the addon fails to register in a real install.
platform.php config in composer.json, and any Docker images before assuming "just a composer bump".public/vendor/<package> directory produces blank fieldtypes with no PHP error.php artisan statamic:stache:clear (and php artisan cache:clear) resolves a surprising share of "the addon isn't doing anything" reports. Addon registration and config are cached aggressively.composer require. If the service provider doesn't appear in php artisan about / the addon list, the extra.statamic block or the package's composer.json constraints are the place to look — a statamic/cms constraint mismatch can cause Composer to resolve an older release than you asked for.composer diff / the GitHub compare view between 1.1.x and 1.2.0 tells you which, in about thirty seconds.How can I help you explore Laravel packages today?