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 Share Buttons Laravel Package

kudashevs/laravel-share-buttons

Add social share buttons to any Laravel app with this package. It offers configurable button components and Blade directives for popular social networks, so you can customize links, icons, and appearance while keeping your templates clean and maintainable.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. kudashevs/laravel-share-buttons is a presentation-layer utility: it renders social share links (Facebook, X/Twitter, LinkedIn, Reddit, Telegram, etc.) into Blade views from a config-driven template set. It has no persistence, no queue workers, no scheduled jobs, and — based on the package's documented behaviour — generates share URLs locally rather than calling provider APIs at runtime. That makes it architecturally inert: it touches only the view layer, adds no infrastructure, and can be adopted or removed per-template without data migration. Fit is high for any Laravel app that surfaces share affordances on content pages; fit is nil if share links are already hand-rolled in Blade partials or fronted by a JS share library.

Integration feasibility. v7.0.0 raises the floor to Laravel 12.0 / PHP 8.2, which is exactly Laravel 12's own platform requirement — so the package adds no incremental constraint beyond the framework itself. Adoption is a single composer require kudashevs/laravel-share-buttons:^7.0 plus optional config/view publishing. The PHPUnit 11 bump is a require-dev change and has no effect on consuming applications; it matters only as a signal that the package's CI is modernised (and as a blocker if we ever fork and run the package's own suite).

Technical risk. Low functional risk, elevated version-gating risk. This is a major version number driven entirely by platform floors, not by API redesign — the release notes disclose no breaking change to config keys, view namespaces, facade signatures, or the public render API. The genuine risks are:

  • Lockstep coupling. v7 is unusable until the host application is on Laravel 12 / PHP 8.2. Any app on Laravel 10 or 11 is pinned to v6.1.1 and receives no further updates from this line.
  • Opaque change surface. "Some improvements" is unquantified. A major bump with an unenumerated diff must be verified against the actual commit range, not the summary.
  • Single-maintainer dependency. The package is small and authored by one individual; abandonment risk is real but the exit cost is correspondingly trivial (see Operational Impact).

Key questions.

  1. What exactly is in "Some improvements" — any change to config keys, default templates, view/component names, or the fluent render API? Diff v6.1.1...v7.0.0 before adoption.
  2. Does a maintained 6.x branch exist for apps staying on Laravel 10/11, or is v6.1.1 effectively end-of-life?
  3. Is the package pure URL templating, or does any provider integration fetch counts/metadata server-side? If the latter, egress/allowlisting and provider deprecation become concerns.
  4. Are Laravel 12 and PHP 8.5 both in the CI matrix for v7, or is 8.5 "supported" only by declaration?
  5. What is the release cadence and issue-response history over the last 12 months?

Integration Approach

Stack fit. Requires Laravel 12.0+, PHP 8.2+ (8.5 explicitly supported). This aligns with the framework's own floor, so a Laravel 12 application can adopt it with zero additional platform pressure. Applications on Laravel 10/11 must stay on v6.1.1 — no workaround exists short of a fork with a widened constraint, which is not recommended for a package this thin.

Migration path.

Current state Action
Not yet using the package Adopt ^7.0 only after the host app is on Laravel 12 / PHP 8.2+
On ^6.x, app on Laravel 10/11 Stay on 6.1.1; treat as frozen. Track the Laravel 12 upgrade as the trigger for v7
On ^6.x, app already on Laravel 12 Upgrade 6.x → 7.0 — expected to be a constraint-only bump; verify against the diff
On ^6.x, app upgrading to Laravel 12 Sequence the package bump inside the framework upgrade branch, not as a follow-up

Migration steps: bump the constraint, run composer update kudashevs/laravel-share-buttons, re-publish config/views only after diffing published assets against the new defaults (published copies do not auto-update), then smoke-test every template that renders share buttons.

Compatibility. Treat the matrix as: Laravel 12 ↔ v7 only; Laravel ≤11 ↔ v6.1.1 only. Cross-major installs will fail at the Composer solver rather than at runtime — a loud, safe failure. PHP 8.5 support is additive and does not constrain the PHP 8.2–8.4 range.

Sequencing. Because v7 is gated on Laravel 12, the release is a downstream artefact of the framework upgrade, not an independent workstream. Fold the package bump into the Laravel 12 upgrade ticket; do not open a separate initiative. If the Laravel 12 upgrade is not on the roadmap, this release requires no action beyond recording the v6.1.1 pin and its EOL status.

Operational Impact

Maintenance. Near-zero steady-state cost: no migrations, no runtime services, no data to back up. The maintenance exposure is upstream, not internal — a single-maintainer package with a major-version history driven by framework floors. Budget a lightweight quarterly check of the repo (releases, open issues, last commit) rather than continuous tracking. The PHPUnit 11 bump means our own CI adds nothing; if we fork for any reason, our test tooling must be on PHPUnit 11+.

Support. Internal support surface is limited to "share links render correctly." The realistic support burden is not the package but the providers: share endpoint URLs change (the Twitter→X domain transition, Meta deprecating legacy sharer endpoints), and when they do, the fix lands upstream or not at all. Confirm we have an owner for "share buttons look broken" tickets and an accepted fallback (hand-rolled Blade partial with hardcoded provider URLs — a sub-day reimplementation given the package's scope).

Scaling. No scaling concerns. Rendering is string templating in the view layer; it adds no queries, no I/O, and no cache pressure. Cost scales linearly and negligibly with page views. The only scaling-adjacent caveat is that share buttons are static markup — if marketing wants per-user or per-campaign share attribution, this package will not provide it and a client-side sharing library becomes the better answer.

Failure modes.

  • Silent breakage — provider changes a share URL format; buttons still render but 404 or show stale metadata. No exception, no alert. Detected only by user reports or synthetic checks.
  • Upgrade lock-out — Composer refuses v7 on Laravel ≤11. Loud, safe, expected.
  • Published-asset drift — config/views published under v6 remain stale after the v7 bump, so new defaults never take effect. Mitigated by diffing during migration.
  • Abandonment — no further releases; frozen but functional until a provider changes. Blast radius is cosmetic/marketing (share affordances), not transactional or revenue-critical.
  • Fork divergence — if we widen constraints ourselves, we own the maintenance and the PHPUnit 11+ test toolchain.

Ramp-up. Effectively zero for any Laravel developer: install, optionally publish config, drop a Blade directive/component into a template. Documentation is the README; no training, no architectural onboarding. The only knowledge worth capturing is the operational note that this package is pinned in lockstep with the framework major and that published assets require manual reconciliation on upgrade.

Recommendation. Adopt ^7.0 as part of the Laravel 12 upgrade; take no independent action if Laravel 12 is not yet planned. Treat the release as a maintenance/compatibility milestone rather than a feature delivery, and close out questions 1 and 2 before merging the bump.

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.
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core