mrshanebarron/accordion
mrshanebarron/accordion is a Laravel/PHP package for adding accordion-style collapsible panels to your application. It offers a straightforward way to define sections and toggle content, making long pages easier to scan and helping present information in compact, user-friendly blocks.
This release (v1.0.1) is a patch that corrects the package's config file naming to use the sb- prefix. There is no new API surface, so the first thing to do is confirm which config filename you actually have on disk before writing any code against the package.
composer update <vendor>/<package>
php artisan vendor:publish --provider="<Vendor>\\<Package>\\<PackageServiceProvider>" --tag=config --force
Verify the published file is now named with the sb- prefix (e.g. config/sb-<package>.php) and that its contents match the package's config/ source.mergeConfigFrom call. That is where the filename is referenced. If the package ships a config file under one name and merges it under another, the published file silently does nothing — this is exactly the class of bug v1.0.1 fixes.php artisan config:clear. Config is resolved at boot, so a stale bootstrap/cache/config.php will mask the fix entirely.config('sb-<package>.<key>') in tinker, and confirm you get your value rather than the package default. If you get the default, the old filename is still being merged and you are not actually running v1.0.1's fix.config('sb-<package>.*') — never include or require the file directly. This keeps you insulated from future filename or key reshuffles.config/myapp.php keys that reference the package config via env(), so your application code depends on your keys, not the package's. When a future patch renames something again, you change one file.--force — diff first.
# copy the old published file aside, then re-publish
cp config/<old-name>.php config/<old-name>.php.bak
php artisan vendor:publish --tag=config --force
diff config/<old-name>.php.bak config/sb-<package>.php
Port any local customisations forward, then delete the stale file. Leaving both files present is the most common cause of "my config changes do nothing".config('sb-<package>.<key>') is non-null catches the entire class of bug this release fixed:
public function test_package_config_is_merged(): void
{
$this->assertNotNull(config('sb-<package>.some_key'));
}
1.0.x patch, pin to ^1.0.1 rather than ^1.0 if you have any automation that relies on the published filename.mergeConfigFrom vs publishes must agree. The two-argument mergeConfigFrom(__DIR__.'/../config/sb-package.php', 'sb-package') and the publishes([... => config_path('sb-package.php')], 'config') array must reference the same source file and the same destination name. A mismatch is invisible until someone publishes and wonders why edits are ignored. Audit both lines after upgrading.vendor:publish never overwrites without --force, and it never deletes the old file. After any config-filename change, explicitly check config/ for orphans.php artisan config:cache bakes the resolved config. If you upgrade and see no change, run config:clear before concluding the patch is broken. On Laravel Octane, you also need to reload the workers.env('SB_...') directly in its config file, changing the published config has no effect once config is cached — the env is only read during the cache build. Change the env var and rebuild the cache.sb- prefix is a namespace hint, not decoration. Laravel does not enforce unique config filenames across packages, so an unprefixed name can collide with another package or with an app-level config of the same name. The prefix reduces that risk; do not strip it when copying values into your own config.composer show <vendor>/<package>; (2) config:clear run; (3) published filename matches the sb- prefix; (4) mergeConfigFrom path exists on disk; (5) no duplicate/old config file shadowing it; (6) provider registered in bootstrap/providers.php (Laravel 11+) or config/app.php.config/sb-<package>.php without touching vendor code. Prefer that over subclassing the package's service provider — provider subclassing breaks whenever the provider's internal boot order changes.mergeConfigFrom or publish tags, update it in lockstep. The patch is non-breaking for consumers but breaking for anything that hardcoded the previous path.How can I help you explore Laravel packages today?