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 Model Json Laravel Package

hnhdigital-os/laravel-model-json

Laravel package for storing Eloquent model data in JSON columns. It adds JSON-backed attributes and model behavior so you can work with flexible schemas while still using familiar Eloquent accessors, casts, and queries.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. The package remains a conventional Laravel/PHP dependency with no service-boundary implications — it plugs into the framework's existing contracts (service provider, config publishing, Eloquent integration). v1.5.0 does not change the package's architectural footprint; it changes which framework versions that footprint is valid against. For a TPM, the relevant signal is that this package now tracks Laravel's release cadence in lockstep, which is generally a positive indicator of maintenance health.

Integration feasibility. The release note is a hard version-boundary declaration, not a feature addition:

  • ^1.5 → Laravel 5.8 and above
  • ~1.4.* → Laravel 5.7 and below

Any application on Laravel ≤ 5.7 that runs a routine composer update will be pinned to the 1.4 branch and will not silently receive 1.5.x. That is the desired outcome, but it means "we upgraded the package" is not a single action — it is conditional on the host framework version, and the two must move together.

Technical risk. Moderate, and almost entirely concentrated in the constraint boundary rather than in runtime behaviour:

  1. Coupled upgrade. The stated cause is a "Laravel 5.8 function scope change." Because the package's scope-resolution behaviour is framework-dependent, a partial upgrade (package bumped without framework, or framework bumped without package) is the primary failure mode. The constraint protects against one direction; it does not protect against the other.
  2. Branch divergence. Maintaining 1.4.x and 1.5.x in parallel is sustainable only if the maintainer backports fixes. There is no statement here about how long ~1.4.* will receive patches, and that is the single largest long-term risk for anyone staying on the older branch.
  3. No functional delta disclosed. The release note documents compatibility, not capability. There is nothing to evaluate in terms of new features, deprecations, or performance.

Key questions for the maintainer.

  • Is ~1.4.* in active security/bugfix maintenance, and for how long?
  • Does 1.5.0 contain behavioural changes beyond the scope resolution required by 5.8, i.e. will output differ for identical input?
  • Is there a Laravel 6.x/7.x+ compatibility statement, or is 1.5.x's upper bound open-ended?
  • Is there a documented upgrade path for the scope change, or does it only manifest at runtime?

Integration Approach

Stack fit. The decisive variable is the host application's Laravel version, not the PHP version. Classify every application in the portfolio as ≤ 5.7 or ≥ 5.8 before touching the dependency; the two cohorts follow different instructions and should not share a single rollout ticket.

Migration path.

  • On Laravel ≥ 5.8: allow ^1.5. If the lockfile currently resolves 1.4.x, this is a minor-version bump within the same major line — low ceremony, but verify test coverage around any Eloquent scope usage, since that is precisely the area the release calls out as changed.
  • On Laravel ≤ 5.7: pin to ~1.4.* explicitly in composer.json rather than relying on resolution order. An explicit constraint documents intent and prevents an accidental 1.5.x pull during a future framework upgrade attempt.
  • Mid-migration: treat framework and package as one atomic change. Do not stage them across separate releases.

Compatibility. The upper bound for ^1.5 is unspecified in the note. Confirm support status for Laravel 6.x and later before assuming this package is a viable long-term dependency — the caret range will technically permit installation on versions the maintainer may never have tested.

Sequencing.

  1. Inventory Laravel versions across all applications consuming this package.
  2. Pin the ≤ 5.7 cohort to ~1.4.* first — this is the risk-reducing step and requires no testing.
  3. Upgrade the ≥ 5.8 cohort to ^1.5 with scope-focused regression tests.
  4. Only then evaluate any Laravel 6+ frameworks separately, on the maintainer's explicit confirmation.

Operational Impact

Maintenance. The package now imposes a two-track maintenance model on its consumers. Teams on the legacy branch should budget for an eventual forced framework upgrade rather than assuming 1.4.x is a resting state. Track the maintainer's stated support horizon for ~1.4.* as a scheduled risk review item, not a one-off.

Support. Expect confusion at the boundary: "why didn't the update apply?" is the predictable support ticket when a ≤ 5.7 environment is pinned to 1.4.x by Composer. Document the version matrix in the internal dependency register so this reads as intended behaviour rather than a failed update.

Scaling. No scaling implications — this is a library-level compatibility boundary, not an infrastructure change. Team-scaling is the relevant axis: the version matrix must live somewhere durable, because the constraint is invisible in day-to-day code review.

Failure modes.

  • Partial upgrade — framework moved to 5.8 without the package, or vice versa, producing scope-resolution errors at runtime rather than at install time. Mitigate with a CI job that asserts the framework/package pairing.
  • Silent legacy drift — the 1.4 branch receiving no further patches while remaining installed. Mitigate by monitoring the branch's release activity.
  • Caret overreach — ^1.5 permitting installation on untested future Laravel majors. Mitigate with an explicit upper bound if stability matters more than convenience.
  • Untested scope paths — the behaviour change is narrow enough to escape broad test suites. Mitigate with targeted coverage of scope-invoking queries.

Ramp-up. Low for engineers — the change is a constraint declaration, not an API change, and no new concepts are introduced. The ramp-up cost sits with the TPM and platform owner: maintaining the version matrix, confirming the 1.4 support horizon, and ensuring the framework and package are never upgraded independently. Estimated effort is under a day for the ≤ 5.7 pinning exercise and one to two days of testing for the ≥ 5.8 cohort, assuming existing scope coverage.

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