angel/core
Angel Core provides the foundational building blocks for the Angel ecosystem on Laravel, bundling shared contracts, base classes, service providers, and handy utilities that streamline modular application development.
Architecture fit. Unchanged by v1.0.0. Angel is not a library — it is a full CMS application distributed as a Composer package. It expects to own the Laravel application: routes, controllers, Blade views, migrations, seeds, a theming layer, and an admin panel covering pages, blog posts, menus, and users/permissions. That remains a poor fit for composer require into an existing Laravel service. It fits only a greenfield app that wants an opinionated CMS on Laravel 4.2, and even then it would be a greenfield app on a runtime nobody should start today.
Integration feasibility: low. The release notes announce a first production release but disclose no framework, PHP, or dependency changes. The constraint chain is therefore intact: Laravel 4.2 (EOL mid-2015), Symfony 2.4 components, PHP 5.4–5.6. Current Laravel (10/11/12) requires PHP 8.1+, so Composer still fails at dependency resolution, not at runtime. A 1.0.0 tag is a statement about API stability and the author's confidence — it is not a maintenance event, a security-patch channel, or a port to a supported runtime. Getting further still requires forking and rewriting the framework-facing layer plus replacing abandoned transitive dependencies.
Technical risk: critical. Unpatched CVEs in Laravel 4 and Symfony 2.4, an EOL PHP runtime, no security-patch channel, and no evidence of a maintainer team behind the release. The new risk introduced by v1.0.0 is interpretive rather than technical: "first production release" and "tested in enough deployments" read to non-technical stakeholders as supported and safe, which is the opposite of what the dependency metadata says. Governance pressure to adopt will now be harder to deflect on the basis of version number alone. The 0.894 score still measures package metadata quality, not maintenance health, and neither should be read as a green light.
Key questions.
Stack fit. None for a modern Laravel estate. The only legitimate fit is a legacy Laravel 4.2 application — and that is itself already a remediation item, not a target state. v1.0.0 does not widen this.
Migration path. Three viable options, in order of preference:
Compatibility. Assume every non-trivial file needs touching: PHP 8 removes each(), tightens dynamic properties and PDO behavior; Blade, Eloquent, auth (Sentry-era vs. native), queue, and event APIs have all moved. Old PHPUnit and test tooling will not run on PHP 8. Nothing in the release notes suggests any of this has been addressed.
Sequencing. (a) One-hour check: read the v1.0.0 diff/changelog and dependency manifest to confirm whether framework and PHP constraints moved — if they did, re-scope the entire assessment before anything else. (b) Two-to-three-day spike: attempt composer install in a PHP 8.2 container — expect constraint failure. (c) If the spike or a legacy host confirms viability, inventory features actually in use. (d) Dump and document the schema and content. (e) Stand up a current Laravel app. (f) Port models and migrations. (g) Rebuild controllers and admin on Filament/Nova. (h) Migrate content, parallel-run, cut over. Gate each stage on a working demo, not a plan.
Maintenance. You become the sole maintainer on day one. A 1.0.0 release from a package with no visible release cadence, no dependents, and no advisory channel does not constitute ongoing maintenance — it constitutes a snapshot. Every security finding is yours to triage and patch, and the backlog never closes because the foundation is EOL.
Support. Effectively none. With 44 stars and 0 dependents, community answers are sparse and stale, and any existing guidance assumes Laravel 4 idioms that no longer apply to your surrounding stack. "Tested in enough deployments" describes the author's confidence, not an escalation path you can call on.
Scaling. Application-layer scaling is technically fine — PHP/MySQL behind a load balancer — but you are pinned to legacy runtimes and base images, which conflicts with container baselines, managed-runtime patching, and K8s upgrade cadence. Scaling the app is easy; keeping it compliant is not.
Failure modes. Composer resolution failure at install; runtime incompatibility on PHP 8; unpatched CVEs in framework and transitive packages; loss of SEO-critical structure (slugs, redirects, meta fields) during content migration; abandonment of the fork when the original author is unavailable. New this release: false confidence from the version number — a stakeholder reads "v1.0.0, production release" and treats an EOL codebase as a supportable dependency, pushing the decision past the point where the cost is easy to reverse.
Ramp-up. New engineers lose days to Laravel 4 conventions, directory layout, and facade usage, then more to the absence of documentation. The 1.0.0 tag does not substitute for documentation. Onboarding hires onto a 2014 stack is both a velocity and a retention risk. Order-of-magnitude estimate: days for the spike, weeks for a data-only port, quarters for a full fork.
Recommendation. Do not integrate angel/core as a dependency. v1.0.0 is a maturity tag, not a modernization or a support commitment — the dependency constraints and security posture are unchanged. Use the package as a reference implementation for a content model, or not at all.
How can I help you explore Laravel packages today?