Repository navigation
v1.2.0
LaraShip v1.2.0
LaraShip 1.2.0 strengthens deployment endpoint security, delivers smaller PHP runtime images and makes GitHub release publication safe to retry.
Security
- Deployment endpoints now require HTTPS by default. HTTP requires
--allow-insecure-endpointorALLOW_INSECURE_ENDPOINT=truein the deployment configuration. - Endpoint URLs and JSON payloads stay off the curl command line. Endpoint logs discard response bodies and raw diagnostics that could expose credentials.
- Endpoint requests disable redirects and user curl configuration while preserving TLS certificate verification.
PHP runtime images
- Pin PHP 8.3.35 and 8.2.34, Composer 2.10.3, PECL Redis 6.3.0 and APCu 5.1.28.
- Pin base image digests and verify PECL source checksums.
- Separate compilation from runtime, removing compilers, development headers, debugging tools and optional service packages.
- Reduce the Compose PHP 8.3 image by approximately 83%: 401 MB versus 2.36 GB for the previous recipe rebuilt with matching versions, measured as uncompressed local image size.
- Preserve non-root execution and add FPM liveness checks, a 10-second FPM process-control timeout and a 15-second Compose stop grace.
Fixes
- Refresh Nginx FastCGI resolution after PHP container recreation, preventing stale upstream addresses from causing HTTP 502 responses.
- Make release publication retryable: verify existing assets, upload missing files and reject conflicting content without overwriting published assets or release notes.
- Serialize publication per tag and support manual recovery while retaining the exact-commit CI gate.
Upgrade notes
- Existing HTTP endpoint integrations must adopt HTTPS or explicitly enable HTTP.
- The unsupported PHP 8.1 template has been removed. PHP 8.3 remains the default; PHP 8.2 remains available for compatible Laravel 12 applications.
- To upgrade existing PHP images, copy the complete
laravel/.docker/php/directory, including helper scripts and.dockerignore, apply the relevant Compose health and shutdown settings, and rebuild the affected PHP roles. - Applications requiring removed optional binaries or fonts need a custom image. Existing deployments and database volumes are not upgraded automatically.
Validation
- Release preparation passed 184 Bats checks and 54 Python tests without skips, plus ShellCheck, Bash syntax, actionlint and release metadata checks.
- Both PHP variants previously passed real PostgreSQL/MySQL access, Laravel installation and migrations, non-root/read-only execution and active-request draining checks.
- Full installer/Kubernetes E2E and ARM builds were not repeated for this release preparation. Publication requires successful remote CI for the final tagged commit.