jantaodev/sitemap-bundle
A PHP package for generating and managing XML sitemaps, helping you expose site URLs, organize them into sitemap indexes, and keep search engines informed of your content. Integrates with your existing app to automate sitemap creation and updates.
Architecture fit — 0.2 is a framework-track alignment release, not a feature release: the package's internals were migrated to Symfony 5 APIs. For a Laravel package this is the load-bearing signal — Laravel's container, HTTP kernel, event dispatcher, and console components are Symfony-derived, so the package's supported Symfony range effectively defines its supported Laravel range. Symfony 5 maps to Laravel 7.x/8.x; Symfony 4.3/4.4 maps to Laravel 6.x. The release therefore repositions the package onto the modern half of the Laravel installed base, but its value depends entirely on whether the migration is additive (^4.3|^5.0) or a hard cut (^5.0).
Integration feasibility — Low effort if the package is consumed conventionally (service provider + config + facade). Integration is a composer require bump gated by the host app's symfony/* constraints; no application code changes are implied by the notes. The real gate is Composer resolution against the host app's existing dependency graph, not the package's own code.
Technical risk — Concentrated in three areas, all unverified by the supplied notes:
EventDispatcherInterface, HttpKernel events, and Command. If any of those types appear in the package's public surface (base classes meant for extension, event classes, decorators), downstream subclasses can hit fatal signature-mismatch errors at runtime rather than at install time.Key questions
composer.json diff for symfony/* and illuminate/*.Stack fit — Map the release to the fleet before doing anything else: inventory which applications run Laravel 6.x versus 7.x/8.x. Only the 7/8 cohort is a candidate for 0.2 on the assumption of a hard Symfony 5 cut. If the constraint is widened, the release is a low-risk patch-level bump for the whole fleet and should be treated as routine hygiene rather than a migration.
Migration path — For Laravel 6 applications: pin 0.1.* explicitly in composer.json (do not rely on ^0.1 floating into a broken resolution), and record the package as a blocker on the framework-upgrade backlog. For 7/8 applications: bump the constraint, run composer update <vendor>/<package> --with-dependencies, and inspect composer why-not output before merging. Do not combine this bump with a framework upgrade in the same change set — one variable at a time.
Compatibility — Verify against the application's PHP floor and its Laravel test harness (orchestra/testbench version must match the framework line). Check for published config/asset files that may need republishing; the notes give no indication of config changes, so assume none and confirm via a diff of the package's config/ directory between tags.
Sequencing
composer.json diff and changelog for 0.1 → 0.2 (blocking; everything else depends on it).Maintenance — Pre-1.0 with two releases and one framework-major migration already: expect continued churn tracking Laravel's annual cadence. Treat the package as a fast-moving dependency — exact-version pinning plus a scheduled quarterly review is proportionate; an open floating constraint is not. Budget a recurring, if small, upgrade tax each Laravel major.
Support — The support matrix is the open item. Until the maintainer documents which Laravel/Symfony/PHP combinations are tested and which are best-effort, assume only the newest line is genuinely supported. This matters more than usual because a silently dropped Symfony 4 line leaves Laravel 6 users receiving no fixes with no deprecation notice.
Scaling — Operationally neutral: this is a library constraint change, not a runtime or infrastructure change. The scaling concern is organizational — in a monorepo or shared-package setup, a hard Symfony 5 requirement can block a single workspace and force a coordinated multi-app upgrade. Confirm the blast radius across all consuming repositories before adopting.
Failure modes
symfony/* or PHP floor — safe, caught in CI.Ramp-up — Minimal for engineers: one Composer constraint, no new concepts or APIs to learn. The real ramp-up cost sits with whoever owns the dependency policy, who must now track Laravel↔Symfony↔package version alignment and keep the pinned-0.1 cohort visible on the upgrade backlog rather than letting it quietly age out.
How can I help you explore Laravel packages today?