Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Version Laravel Package

mnabialek/laravel-version

Laravel Version lets you display your app's version number from composer.json, config, or a custom file, with helpers, Blade directives, and caching so you can show it in views, APIs, or health checks.

View on GitHub
Deep Wiki
Context7

Getting Started

  • Install with an explicit constraint. v1.0.9 is the first release declaring Laravel 12 support, so require ^1.0.9 (not ^1.0) if your app is on Laravel 12. Older patch releases will resolve against Laravel 11 and can produce confusing dependency-solver errors.
  • Confirm the framework matrix before upgrading. Check composer.json for illuminate/* and php constraints; Laravel 12 support typically implies PHP 8.2+. Run composer why-not laravel/framework 12.* if resolution stalls.
  • Let package discovery do its job. After composer require, run php artisan package:discover (or clear the cached manifest) and verify the service provider is registered. Only publish config/migrations if the package ships them: php artisan vendor:publish --provider="Vendor\\Package\\PackageServiceProvider".
  • First use case: integrate the package behind a single feature or route, exercise it in a feature test, and only then roll it into shared code. Because the release note only announces framework compatibility, treat v1.0.9 as a compatibility drop rather than a feature drop — the first task is proving it boots and behaves identically on Laravel 12.

Implementation Patterns

  • Config-first integration. Read the package's config file (published or vendor default) before writing code against it. Resolve values through config('package.key') rather than hard-coding, so environment overrides work in staging and production.
  • Depend on contracts, not concretes. Where the package exposes an interface or manager class, type-hint that in your own services and resolve via the container. This keeps you insulated if a later release changes the default driver.
  • Single upgrade branch for the framework bump. Do the Laravel 12 move on its own branch with the package pinned to ^1.0.9. Keep the framework upgrade and any application feature work in separate PRs so a regression is attributable.
  • CI matrix across supported versions. If you support Laravel 11 and 12 simultaneously, run the suite against both (^11.0 and ^12.0) with the same package version. This is the cheapest way to catch a compatibility regression the maintainer missed.
  • Canary rollout. Ship behind a feature flag or to a low-traffic queue first. Framework-compatibility releases touch service providers and container bindings, which fail loudly at boot — a canary surfaces that before a full deploy.
  • Test with the package's own conventions. Use orchestra/testbench for any package-level tests, and in the host app assert against the package's public behaviour (events dispatched, records written) rather than internal classes.

Gotchas and Tips

  • A patch release can still move transitive dependencies. "Add Laravel 12 support" often means widened illuminate/* constraints, which can pull newer Symfony components. Diff composer.lock after upgrading and review it, not just the package's own diff.
  • Clear cached manifests and config. Stale bootstrap/cache/packages.php and config.php are the most common cause of "provider not found" after an upgrade. Run php artisan optimize:clear when in doubt.
  • Watch for auto-discovery collisions. If you manually registered the provider in config/app.php (common in upgraded legacy apps), adding it to the discovery list can double-register it. Pick one mechanism.
  • Publish tags are versioned. Use --tag=package-config style publishing where available, and re-publish deliberately after upgrades — overwriting a customized config file silently loses your changes.
  • Migration ordering. If the package ships migrations, check timestamps don't collide with yours; republish with a fresh timestamp rather than renaming by hand.
  • Debugging boot-time failures: wrap the provider resolution with php artisan tinker and app()->getProvider(...), and check storage/logs/laravel.log for binding errors before assuming an application bug.
  • Extension points to prefer: container bindings, config overrides, published views/migrations, and events. Avoid subclassing internal classes or reaching into vendor files — these are the first things to break on the next compatibility release.
  • Version note: because v1.0.9's changelog is a single line, verify the actual changes in the tagged diff on the repository before relying on it in production; release notes for compatibility drops are frequently incomplete.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core