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

Update Helper Laravel Package

kylekatarnls/update-helper

A Composer plugin that simplifies dependency updates: it checks your composer.json against the latest available package versions and helps bump version constraints safely, so you can keep dependencies current without hand-editing version strings or guessing which releases are compatible.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Sunset and support-window policy. Decide when to end support for an old major, because you now own a channel that fires at the exact moment a developer touches the dependency. The notice is the enforcement-adjacent half of a deprecation policy; the policy itself is the decision.
  • Package rename, split, or consolidation. If you're renaming a package or merging two into one, the notice carries the replacement name and the composer require line. That converts a silent, confusing break into a guided migration — often the difference between a smooth rename and a year of "which package do I install?" issues.
  • Where to place the notice (a genuinely important PM call). Ship the notice in the last patch of the old major — the version users already have installed — not only in the new one. Users on old code never see announcements shipped in code they haven't pulled.
  • Build vs. buy for internal comms tooling. Rolling your own Composer plugin means event hooks, plugin API versioning, and Composer 2 allow-plugins handling. Adopting this gets you the implementation behind Carbon's upgrade prompt; the build cost is engineering time you probably want to spend on the migration guide instead.
  • Internal platform team → consuming app teams. Shared internal packages ("acme/auth v2 required after Q3") can carry the nudge, reducing the recurring "why are we on this old version?" conversation without a meeting.
  • Support-cost triage and roadmap sequencing. Pair the notice with two proxy metrics — issue/ticket volume citing old versions, and Packagist download share for the old major — to judge whether migration is actually moving before you commit to a removal date.
  • Investment in migration collateral. If the notice shows a large installed base on the old major, that's your justification for funding a migration guide or codemod before the deadline, not after.
  • Performance-risk exemption. "No runtime overhead, active only during dependency operations" is the sentence that gets this past a perf or security review with minimal ceremony.

When to Consider This Package

Adopt when all of these hold:

  • You publish a package consumed via Composer by external developers or other internal teams (Laravel packages, SDKs, shared libraries).
  • You have a breaking major or rename on the roadmap within roughly two quarters, or an existing major you want to retire.
  • You lack a reliable direct channel to consumers — no mailing list, no consumer dashboard, no telemetry — and your docs page is not where developers look.
  • At least a meaningful share of your consumers run composer install/update interactively in development.

Look elsewhere, or plan around it, when:

  • You need guaranteed reach. Composer 2.2+ allow-plugins requires consumers to explicitly permit the plugin. Coverage is opt-in and will be partial — the people least likely to permit a plugin are often the ones on old versions. If reach must be certain, use a runtime version check in a service provider or a version constraint instead.
  • Maintenance risk is unacceptable as-is. Last release 2020-04-07, effectively single-maintainer, and it installs into every consumer's toolchain as a plugin. Validate Composer 2.x and PHP 8.x before committing and hold a fork plan. A stale plugin in the dependency path is both a breakage and a supply-chain concern.
  • You need measurement, not nudging. This emits no telemetry. Use Packagist stats or opt-in analytics alongside it; don't expect adoption data from it.
  • Most consumption is automated. In CI, Docker builds, and non-interactive installs, the prompt is suppressed and the message goes to logs nobody reads.
  • You want enforcement. Use version constraints, a conflict rule, composer outdated gating in CI, or Renovate/Dependabot.
  • The audience is end users rather than developers. Wrong layer entirely.

How to Pitch It (Stakeholders)

Executives: A near-zero-cost, zero-runtime-overhead channel to move users off deprecated versions and shrink the long tail of old-version support. It's the mechanism behind Carbon's upgrade prompts, so it's proven at scale. The ask is small: fund a short validation spike and ratify a deprecation communications policy — when notices appear, what they say, and the date they point at.

Engineering: Configuration-only. A block in composer.json, event hooks on install/update, no service provider, no runtime code path, nothing to monitor in production. State the caveats up front so they aren't discovered later: allow-plugins consent in Composer 2.2+, stale upstream (2020), silent in non-interactive mode, no telemetry.

Proposed next step: A timeboxed spike — add the notice to the last patch of the current major, verify against Composer 2.x and PHP 8.x, confirm behavior in CI (log-only) versus local (prompted), and have a fork ready if upstream doesn't hold. Decide in the same window whether the notice is informational or escalates to a hard constraint on the sunset date.

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.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager