mercurysolutions/mathml-bundle
The MathML Bundle for Symfony makes it easy to add MathML support to PHP applications. It provides configurable integration and Twig helpers for rendering mathematical formulas in templates, helping you keep math markup clean and consistent.
Architecture fit — poor, and 4.0.0 reaffirms it. The 4.0.0 release moves mercurysolutions/mathml-bundle to Symfony 7's DI generation and drops Symfony 2/3/4. Nothing in the changelog introduces framework-agnostic packaging: no PSR-11 container bootstrapping, no Laravel service provider, no decoupling of the Bundle subclass from the DependencyInjection/Configuration tree or YAML/XML service definitions. If anything, the release tightens alignment with the exact Symfony layer we would have to discard. The reusable asset remains the underlying PHPMathML library; the bundle glue still has zero value in a Laravel context.
Integration feasibility — conditional, marginally improved on dependency resolution only. Laravel 11 and 12 ship Symfony 7.x components, so a symfony/* ^7 constraint is now materially less likely to collide than the Symfony 4/5-era constraints the prior version carried. That removes one of the more probable Composer conflict sources. It does not change the structural conclusion: path (a) — depend on the core PHPMathML library and write a thin Laravel provider + facade — remains the only realistic route. Path (b), shimming Symfony DI into Laravel, is now harder rather than easier, since a shim would have to emulate Symfony 7 container semantics specifically.
Technical risk — still high, with two signals revised.
mercurysolutions) does not match the repository owner (renaudclosset), so upstream lineage is still unclear — and now the divergence matters more, because 4.0.0 is a breaking major we would need to reconcile against whatever fork history exists.2026-05-22 release-date anomaly from the prior assessment. Treat 4.0.0 as the authoritative current release and re-verify the metadata before trusting any version pin derived from it.Key questions to resolve before commitment:
Stack fit — none out of the box, unchanged. Symfony 7 compatibility is irrelevant to a Laravel runtime. Laravel has no FrameworkBundle, no Kernel::registerBundles(), no AbstractExtension config tree. The 4.0.0 release updates a surface we do not have.
Migration path — wrap, don't install. Unchanged, and 4.0.0 does not alter the steps:
require); depend on that directly.MathMLServiceProvider binding the library's entry class as a singleton.MathML facade plus a Blade directive or helper (@mathml($expression)) replacing the Twig extension.config/mathml.php and publish it.MathRenderer contract so the library can be swapped without touching domain code.The contract remains the most important artifact. Math rendering is volatile, and the 4.0.0 release is a reminder that this package's versioning is driven by Symfony's lifecycle, not ours — another reason the interface must be ours.
Compatibility — improved on both hard axes.
^7 aligns with the Symfony components Laravel 11/12 already ship. Conflict risk is materially lower than the prior version.composer why-not against our current Laravel minor before writing code, and confirm the core library's own constraint set — the bundle's Symfony 7 requirement does not tell us what the core requires.Sequencing.
Maintenance — assume ownership, with a slightly better upstream signal. 4.0.0 is evidence the maintainer is active, so "assume it is dead" overstates the case; "low-cadence, single-maintainer, framework-lifecycle-driven" is accurate. Budget for fork-and-own anyway: vendor the core library into our namespace if the license permits, or pin an exact version and treat upgrades as projects. Assign a named owner.
Support — none. No SLA, no commercial backing, GitHub issues only. Internal docs and the golden-file suite remain the de facto support artifact. The 4.0.0 changelog is one line plus a diff link — do not expect detailed migration notes at major versions.
Scaling — unchanged. Generation is string assembly; CPU cost negligible and cacheable by expression hash. Downstream risk dominates: output size per page, and renderer compatibility across browsers and assistive tech. Cache rendered fragments at the edge and invalidate on library upgrade.
Failure modes to instrument:
Ramp-up — modest, but domain-heavy, unchanged. The library API is small; MathML is not. The team needs Presentation vs Content MathML, browser support boundaries, and a fallback strategy (MathJax/KaTeX, XSLT to SVG). A few days of domain learning beyond the integration work — that cost still dominates the package's own learning curve.
Verdict for a Laravel team — unchanged in direction, softened in risk posture. Treat this as "PHPMathML, self-integrated." 4.0.0 is a positive maintenance signal and removes the two most concrete compatibility objections (PHP version, Symfony conflict), but it delivers nothing to a Laravel consumer and reinforces framework coupling. Adopt only if server-side math generation is on the roadmap now; otherwise defer, and when adopted, spike-and-fork rather than commit to the bundle.
How can I help you explore Laravel packages today?