The changelog is published on the project releases page and is the canonical source for release notes: https://github.com/pullpreview/action/releases
- Complete rewrite from Ruby/Docker to Go — PullPreview now ships as a native binary in a composite action. No more Docker container overhead.
- Removed GitHub Deployments/Environments integration — preview URLs are now displayed via PR comments and job summaries.
- Removed commit status integration — deployment state is reported through PR comments only.
- Removed
comment_prinput — PR comment updates are always enabled. - Workflow references should now use
pullpreview/action@v6.
- Automatic HTTPS with
proxy_tls— inject a Caddy reverse proxy with Let's Encrypt certificates (e.g.proxy_tls: web:80). - Built-in DNS alternatives — use
rev1.clickthroughrev9.clickto work around Let's Encrypt rate limits (50 certs/domain/week). pre_scriptinput — run a local shell script on the instance before docker compose.ttlinput — set a maximum deployment lifetime (e.g.10h,5d,infinite).- Job summary — deployment details are added to the GitHub Actions job summary.
- SSH key caching — collaborator SSH keys are cached between workflow runs via the action cache.
- Compose troubleshooting — docker container health status is displayed on deploy failures.
- Scheduled cleanup reconciliation — dangling instances are reconciled against repo state during scheduled runs.
- Deploy files via rsync with bind mounts instead of Docker context.
- PR comments are scoped by environment and job for multi-env setups.
- PullPreview environment variables are injected during compose interpolation.
- Switch default domain to my.preview.run (#92)
- Add docker system prune to cleanup (#72)
- Spinup preview environment on open/reopen (#86)
- Allow custom pre-script to be run (#88)
- Re-enabling attempt to delete environment (#89)
- Add max_domain_length setting to control length of generated FQDN (#90)
- Strip admin values
- Reserve 8 chars for user subdomains
- Allow to override some of the compose options
- Fix environment deletion not accessible by integration
- Clear outdated environments
- Allow to pass "@collaborators/push" as admins
- Use docker v2
--waitoption
- Switch to Amazon Linux 2023 to fix issue with outdated OpenSSH server
- Add possibility to auto-stop deploymnents after a while (#48)
- Add concurrency to workflow
- Fix tags (#47)
- Fix bundle selection
- Pin to specific ruby image because most recent ruby ships with openssh v9, which is incompatible with openssh v7 on the AWS AMIs.
- Update docker-compose to v2.18.1
- Update docker-compose to v2.17.3
- Fix deletion of instance when using deployment variants
- Allow to pass label as input
- Fix status messages when multi envs
- Ignore errors when removing absent labels
- Additional workflow for testing multi envs
- Allow
deployment_variantconfig, so that one can launch multiple preview deployments per pull request. - Refactor code to allow for additional providers.
- Update dependency
- Send basic telemetry
- Switch to using amazon linux 2 since the old blueprint became unavailable (#34)
- Fix pr_push event
- Return :ignored action when no other action can be guessed.
- Update system packages before running docker-compose.
- Prune volumes before starting.
- Add automated cleanup for dangling resources, to be launched as a scheduled job.
- Fix issue with alpine ruby no longer having the correct ciphers for connecting to lightsail instances.
- Properly handle
repository_dispatchevents. - Add support for private registries, e.g.
registries: docker://${{ secrets.GHCR_PAT }}@ghcr.ioin workflow file.
- Add support for custom DNS.
- Switch to human-readable subdomains that include the PR title inside.
- Add the
pr_numberto the instance tags.
- Add support and examples for synchronize, reopened events on PRs.
- Add
PULLPREVIEW_FIRST_RUNenv variable when running Compose. - Use
ServerAliveInterval=15SSH option to force SSH heartbeat and avoid connection closing if remote server doesn't send any output for a while. - Always launch an instance in the first AZ found, instead of taking one at random.
- Support for source IP filtering with the
cdrsoption
- Support for pretty URLs in
*.my.pullpreview.com - Support for automatic Let's Encrypt TLS certificate generation
- Support for specifying instance type
- Support for always on branches
- Support for GitHub deployments API
- Initial release with PR support