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.
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect
youbar/easy-crud
c-point-labs/laravel-hostyourai
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo