hpatoio/deploy-bundle
hpatoio/deploy-bundle is a Symfony bundle that simplifies deploying PHP applications with configurable deployment tasks, release management, and repeatable, automation-friendly production releases.
Headline finding: this is still not a Laravel package, and 1.5.3 does not change that. hpatoio/deploy-bundle remains a Symfony 2 bundle, ported from the Symfony 1.4 project:deploy task. It ships a Bundle class, a DependencyInjection extension, and a Console command registered through Symfony's bundle/DI machinery. None of that maps onto Laravel's service provider + Artisan architecture. Evaluating it "for Laravel" therefore still means evaluating a fork-and-reimplement effort, not a composer require.
Re-review at 1.5.3. The release is a single line: "Fixed variable interpolation." This is a patch-level change to the config-templating path — the same code path previously flagged as the command-injection vector. It is a factual update to the prior "last release 2016-02-18, ~9 years stale" finding (the package is not entirely dormant), but it is not a feature, not a breaking change, not a deprecation, and not accompanied by an advisory. It does not alter the architecture, the integration verdict, or the operational risk posture. It does require one specific question to be re-asked (see below).
rsync over SSH. That model is framework-agnostic and trivially re-expressible as an Artisan command. The Symfony coupling is incidental scaffolding, which is both good (small surface to lift) and bad (almost nothing left to reuse). 1.5.3 touches only the interpolation helper and does not reduce the Symfony coupling.symfony/framework-bundle and symfony/console constraint set that will conflict with any modern Laravel's Symfony component range. Expect a dependency-resolution wall, not a runtime bug. A patch release at this version number is not evidence that the Composer constraints were modernized — verify composer.json before assuming otherwise. Realistic paths remain (a) fork and delete the Symfony glue, keeping the rsync/SSH invocation and config schema, or (b) skip it entirely and adopt Deployer / Forge / Envoyer, which already implement this and more.${var} placeholders correctly — those are different defects with very different severity. Any fork inherits command-injection exposure unless argument escaping is explicitly rewritten and tested. Unpinned transitive dependencies from the PHP 5.x/7.0 era remain a supply-chain liability in a production deploy path, and 1.5.3 ships new code into that path with no test or CI evidence visible in the release notes.--delete exposed, and is it guarded?artisan optimize, queue restarts) first-class and failure-aware, or fire-and-forget?deployer/deployer + lorisleiva/laravel-deployer), which solves the same problem with active maintenance, tests, and a release cadence?config/deploy.php or a deploy.yml parsed with symfony/yaml — already a Laravel transitive dep), one Process-based rsync/ssh wrapper. That is a day of work for the rsync core; the bundle supplies the config taxonomy, not the implementation. 1.5.3 adds nothing to reuse.app/Deploy or a private Composer package) so it is never resolved from Packagist and can be patched without upstream coordination — this now matters more, not less, because the package has demonstrated it can change the interpolation path between releases without notice.configure/execute API, InputInterface typing), and Laravel 10/11's Symfony component floor. The bundle's own composer.json constraints from the 2016 era will not resolve until proven otherwise; do not read a 1.5.3 version bump as a modernized dependency floor. The fork must be re-constrained and re-tested, which effectively means re-owning the code.--delete plus a config typo is a data-loss vector.composer update. Pin the exact version if adopted.How can I help you explore Laravel packages today?