dive-be/laravel-snowflake
dive-be/laravel-snowflake brings Snowflake ID generation to Laravel Eloquent models, creating unique, time-sortable 64-bit identifiers without auto-increment. It supports model keys and distributed systems, helping apps scale across workers and databases.
1.3.0 is a platform cut, not a feature drop: support for PHP 8.3 and Laravel 11 was added, and support for PHP 8.2 and Laravel 10 was removed. Before anything else, confirm your runtime meets the new floor:
php -v # must be >= 8.3
composer show laravel/framework # must be ^11.0
Then install and verify:
composer require vendor/package:^1.3
php artisan vendor:publish --provider="Vendor\Package\PackageServiceProvider" # if config/migrations ship
php artisan about
Where to look first, in order:
CHANGELOG entry for 1.3.0 — confirm there are no migration or config-key renames hiding behind the "support" wording.register()/boot() — that is the authoritative list of container bindings, config keys, and publishable assets. Docs drift; the provider doesn't..env overrides.First use case: resolve the package's primary contract out of the container in php artisan tinker and exercise one read-only operation end to end before wiring it into a controller or job. That isolates "environment is wrong" from "my integration is wrong."
app() lookups. Bind through the container so the package can be swapped for a fake or mock in feature tests; static/facade calls make that impossible.^1.2 in the Laravel 10 apps' composer.json and ^1.3 in the Laravel 11 apps. Do not rely on a shared lockfile across services.composer update --prefer-lowest to catch constraint mistakes the default resolution hides.php artisan config:cache and boot the app. If the package reads env() outside a config file, this surfaces it as a null default rather than a silent prod surprise.php artisan queue:restart after deploy — workers hold old code in memory and will fail on changed serialized payloads.composer update. Otherwise the build fails at dependency resolution with a confusing platform error rather than an obvious runtime one.1.3.0 breaks the semver contract for anyone on ^1.0. Audit your constraints: ^1.0 and ^1.3 mean materially different things here. Consider pinning ~1.3.0 if you don't want the next platform cut to arrive unannounced.composer update refuses to move you to 1.3.0, run composer why-not vendor/package 1.3.0. On a Laravel 10 app the answer is usually laravel/framework itself, not a transitive conflict.app/Http/Kernel.php and moved middleware registration into bootstrap/app.php. Any install instructions telling you to register a middleware or service provider in the Kernel are stale — cross-check against 1.3.0's docs, and treat the README as suspect if the last commit predates the release.E_DEPRECATED; set a strict error_reporting in your test suite so these fail loudly in CI rather than scrolling past in logs.readonly — both of which are fatal for subclasses that override them. Only the container bindings and published config are supported extension surfaces; use $this->app->extend() in your own provider if you need to decorate a binding.dd() calls into vendor code — you'll lose those edits on the next composer install.How can I help you explore Laravel packages today?