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

Easy Admin Pretty Urls Laravel Package

marcin-jozwikowski/easy-admin-pretty-urls

A Laravel package that gives Easy Admin resource pages clean, customizable pretty URLs instead of query-string routes. Improve readability, SEO, and link sharing with simple configuration and seamless integration into existing admin panels.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

What this release actually is: v2.9.3 is a termination notice, not a feature release. The maintainer declares the project obsolete and unmaintained because EasyAdmin v4.14.0 now ships Pretty URLs natively. The only code change is PR #48, which caps the acceptable EasyAdmin version to below the release that introduced native URL support.

Architecture fit: Poor and getting worse. This is a Symfony/EasyAdmin bundle, not a Laravel package — if the intended host application is Laravel-based, that is a stack mismatch that should be resolved before any other consideration. Where the host is Symfony + EasyAdmin, the package's entire value proposition (nicer admin URLs) has been absorbed by the upstream framework, so it is now a compatibility shim with no forward path.

Integration feasibility: Greenfield adoption should be rejected. The package is explicitly EOL, the maintainer has stated there will be no further maintenance, and the pinned upper bound on EasyAdmin means it is designed to hold you back from upstream upgrades. Adoption would mean deliberately freezing EasyAdmin below 4.14.0 on day one.

Technical risk:

  • Constraint conflict: v2.9.3's EasyAdmin upper bound collides directly with any future EasyAdmin upgrade. Composer resolution will fail, or you will be stuck on an unsupported EasyAdmin branch.
  • Abandonment risk: no security patching, no PHP/framework compatibility work, no bug fixes. Any vulnerability or breakage is yours to own.
  • Routing surface: admin URL generation is a cross-cutting concern touching route definitions, ACLs, bookmarks, and any hardcoded external links into the admin. Removing or replacing it is not a no-op.
  • Low but nonzero behavioural risk: native EasyAdmin pretty URLs will not necessarily produce byte-identical paths, so link rot is plausible.

Key questions to resolve:

  1. Is the host application actually Symfony/EasyAdmin, or Laravel? This determines whether the assessment is "migrate" or "discard."
  2. Which EasyAdmin version are we on today, and is 4.14.0+ a feasible target?
  3. Are there hardcoded or externally published admin URLs that would break on a path change?
  4. Does any deployed environment still depend on this bundle's specific URL format?
  5. Who owns the migration ticket, and by when?

Integration Approach

Stack fit: Confirm stack first. Symfony + EasyAdmin ≥ 4.14.0 — do not install; use native support. Symfony + EasyAdmin < 4.14.0 — this package is a stopgap only, with a dated exit. Laravel — reject outright; the package does not serve that stack.

Recommended position: Treat v2.9.3 as a removal trigger, not an upgrade. Do not adopt for new work. If already installed, open a migration ticket now rather than at the next forced upgrade.

Migration path:

  1. Inventory current usage: composer constraint, config, route overrides, templates, any code calling into the bundle.
  2. Upgrade EasyAdmin to ≥ 4.14.0 and enable native Pretty URLs.
  3. Remove the bundle and its configuration in the same change set — do not leave it installed "just in case," since its version cap will block future EasyAdmin upgrades.
  4. Diff generated admin URLs before and after; add redirects for any externally referenced paths.
  5. Drop the constraint cap and re-run the full test suite.

Compatibility: v2.9.3 is mutually exclusive with EasyAdmin ≥ 4.14.0 by design. There is no coexistence mode to plan around — it is a hard either/or.

Sequencing: Low effort, low risk, but time-sensitive in the sense that every sprint spent on EasyAdmin < 4.14.0 widens the eventual upgrade gap. Slot it as a small, self-contained piece of work alongside the next EasyAdmin upgrade rather than as a standalone project. If EasyAdmin is already ≥ 4.14.0 in any environment, this is urgent cleanup.

Operational Impact

Maintenance: Zero upstream maintenance. The maintainer has formally exited. Any defect, security issue, or incompatibility is fully internalised cost with no path to an upstream fix.

Support: No vendor, no maintainer, no release cadence. Internal owners must be able to read and patch the bundle themselves, or the organisation accepts the risk unmitigated. Small codebase, so this is feasible — but it should be a conscious decision, not an oversight.

Scaling: Negligible runtime footprint; this does not scale-limit the application. The scaling concern is organisational: every additional service pinned to EasyAdmin < 4.14.0 compounds the migration debt.

Failure modes:

  • Composer resolution failure on the next EasyAdmin upgrade attempt (most likely, and will surface at the worst time — mid-upgrade).
  • Silent divergence as EasyAdmin's native URL handling evolves and this bundle's overrides drift from upstream behaviour.
  • Broken external links / bookmarks if URLs change during migration without redirects.
  • Unpatched security exposure if a vulnerability is found in the bundle or its abandoned dependencies.

Ramp-up: Very low. Single-purpose bundle, small surface area, easy for any Symfony-comfortable engineer to read end to end. The migration to native EasyAdmin URLs is likewise small. The real cost is not learning the package — it is the eventual forced exit, which is cheaper to take now than later.

Bottom line: Do not adopt. Plan removal. If currently in use, migrate to EasyAdmin ≥ 4.14.0 native Pretty URLs within the next one to two release cycles and remove the bundle and its version cap in the same change.

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.
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels