Skip to content

v1.2.0

Choose a tag to compare

@shellharbor shellharbor released this 15 Oct 09:18
· 6 commits to main since this release

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-endpoint or ALLOW_INSECURE_ENDPOINT=true in 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.