yceruto/acme-bundle
Symfony bundle for ACME/Let's Encrypt certificate automation. It integrates certificate issuance and renewal into your app, with configuration and console commands to request, install, and renew SSL/TLS certificates.
getPath() with a Kernel::VERSION_ID check and expose legacy locations through Resources/ symlinks (config, public, translations, views). For a PM this is a support-cost lever, not a feature: it lets you promise a longer support window without forking the codebase or maintaining parallel release lines.getPath() approach is a cheap, self-hosted compatibility shim. Compare its ongoing cost against maintaining two release trains. For most teams this favors "maintain one line" — but it does introduce path indirection that must be tested and documented.Bundle, Kernel::VERSION_ID, Resources/ layout) rather than Laravel-specific conventions. Before committing roadmap capacity, confirm whether your target package is genuinely Laravel-native or is a framework-agnostic/Symfony-lineage bundle whose guidance needs adapting (service providers, config/ publishing, views namespacing).Adopt it when:
Resources/ symlink layout.mixed branch/pattern.Look elsewhere or defer when:
getPath() add cognitive overhead with zero payoff.For executives: Version 4.0 is a support-cost release, not a feature release. It gives us a single codebase that runs on both older and newer framework versions, which means we can keep existing customers on their current stack while new customers adopt the latest — without doubling maintenance or forking the product. The main trade-off is small, contained engineering overhead and a stricter packaging/CI requirement. Recommendation: fund it as a maintenance item tied to our support-window commitment, not as a roadmap headline.
For engineering: 4.0 documents a concrete compatibility pattern: override getPath() to return the parent directory when Kernel::VERSION_ID >= 40400 and the bundle directory otherwise, and expose config/, public/, translations/, and views/ to the legacy location via symlinks under src/Resources/. Expect to own (a) a version check in the bundle entry point, (b) a build/packaging path that preserves symlinks, and (c) tests that exercise both layouts. The upstream mixed branch is the reference implementation. Verify the pattern maps to our framework target — the notes are written against Symfony bundle conventions — and document the mapping before rollout.
How can I help you explore Laravel packages today?