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

Common Bundle Laravel Package

zan/common-bundle

A shared utility bundle for Symfony applications, bundling common services, helpers, and reusable components to reduce duplication across projects. It provides sensible defaults and lightweight integrations that speed up setup of everyday application concerns.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. The package is a Laravel/PHP annotation-scanning component; ZanAnnotation was evidently a first-class symbol in its public surface (base annotation type, facade, or container binding). Removing it in a minor release (1.2.0) indicates the package does not treat its annotation API as a stable contract. Fit with our architecture is therefore conditional: acceptable as a leaf dependency where the surface we touch is narrow, unacceptable where ZanAnnotation is woven into domain classes or service providers.

Integration feasibility. Feasible only after a usage audit. Any use statement, attribute/annotation target, config file, or DI binding referencing ZanAnnotation will hard-fail with a class-not-found error on upgrade — not a deprecation warning. Integration should be treated as a code-change project, not a version bump, until we confirm whether a successor type exists and whether the removal was accompanied by a rename, a trait, or nothing at all.

Technical risk. High, disproportionate to the version number. Three distinct risks compound: (1) semver violation in a minor release, which invalidates caret-range assumptions in composer.json; (2) no visible deprecation window between the prior release and removal, meaning the maintainers' change-management bar is low; (3) transitive exposure — any other installed package that depends on this one could pull 1.2.0 into our graph and break us without a direct edit.

Key questions.

  • What replaces ZanAnnotation — a renamed class, an interface, a PHP 8 attribute, or nothing?
  • Was there an intermediate release that deprecated it, or is this removal abrupt?
  • Is 1.2.0 a mis-versioned 2.0.0? Check tags and the CHANGELOG for a correction.
  • Does the package declare an explicit stability policy (semver, composer.json extra.branch-alias)?
  • Do any of our transitive dependencies constrain this package to ^1.0?
  • Is the package actively maintained, and what is the maintainer's responsiveness on breaking changes?

Integration Approach

Stack fit. Verify PHP and Laravel version constraints before anything else — a package willing to break API in a patch-level bump may also drop framework versions casually. If the package's annotation scanning overlaps with native PHP 8 attributes, we should be moving toward attributes regardless of this release; that reduces long-term exposure to this library's API churn.

Migration path. Pin to 1.1.* immediately to stop silent resolution to 1.2.0. Audit the codebase for ZanAnnotation occurrences (source, tests, config, published vendor files, cached artifacts). Identify the replacement API and prototype the substitution in one representative module. Only then remove the pin, upgrade in a branch, and run the full suite plus a container-boot smoke test.

Compatibility. Check the whole dependency graph, not just our direct requirement — run composer why/composer depends against the package and inspect the lockfile for other consumers. Confirm that pinned 1.1.x still satisfies every other constraint; if a transitive dependency demands ^1.2, we have a forced-migration scenario and need the replacement API identified before scheduling.

Sequencing. (1) Pin and freeze; (2) audit and inventory usages; (3) confirm replacement path with maintainers or source; (4) implement substitution behind existing tests; (5) upgrade in staging with annotation/cache warmup verification; (6) roll to production. Do not interleave this with unrelated framework upgrades — a class-not-found fatal is hard enough to localise without competing variables.

Operational Impact

Maintenance. Ongoing cost rises materially after this release. We should adopt exact-version pinning for this dependency, review its changelog on every bump rather than trusting caret ranges, and add a CI check that fails on unexpected lockfile drift. If the maintainers correct 1.2.0 to 2.0.0, relax to a tilde constraint but keep the manual review gate.

Support. Upstream support posture is a concern: an undocumented removal with no deprecation notice suggests thin release discipline. Before adopting further, check issue-tracker responsiveness and whether a security-contact or LTS policy exists. Internally, treat the package as "no vendor escalation path" — we own the breakage.

Scaling. Annotation scanning is a boot-time or compile-time cost that grows with the number of annotated classes. Confirm whether the package supports a compiled/cached annotation index; without it, cold-start latency degrades as the codebase grows, and multi-instance deploys amplify the effect. Removal of a core symbol also raises the odds of a future rewrite, so avoid spreading its API further.

Failure modes. The primary failure is a fatal Class "ZanAnnotation" not found at container resolution or class load — loud, immediate, but capable of taking down every request if it occurs in a service provider. Secondary and worse: silent scan failures where annotations are no longer discovered and behaviour degrades quietly (routes unregistered, validation skipped). Tertiary: stale annotation caches surviving a deploy that changed the annotation surface, producing inconsistency across instances during rolling releases.

Ramp-up. Low technical ramp-up for engineers already comfortable with annotations, but the documentation gap is real — a removed symbol with no migration note means the replacement must be inferred from source or from the maintainer directly. Budget explicit discovery time rather than assuming the changelog is sufficient.

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.
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle