Releases: merchantprotocol/protocol
Releases · merchantprotocol/protocol
Release v1.7.2
Fix --force flag propagation: config:slave, deploy:slave, and git:slave don't accept --force. Passing it caused them to fail during watcher-triggered deployments, preventing config repo linking (and PEM mounting).
Release v1.7.1
Fix docker exec -T flag for non-interactive mode (was a docker-compose flag, not docker exec). Propagate exit codes from lifecycle hooks.
Release v1.7.0
What's Changed
- Fix lifecycle hooks, force flags, release pre-flight checks by @jonathonbyrdziak in #156
Full Changelog: v1.6.0...v1.7.0
Release v1.5.1
What's Changed
- Migrate deployment state to NodeConfig + per-release deployment.json by @jonathonbyrdziak in #144
- Refactor watcher, status, start, stop into controller/worker pattern by @jonathonbyrdziak in #145
- Fix release.active vs release.current mismatch causing stale status by @jonathonbyrdziak in #146
Full Changelog: v1.5.0...v1.5.1
v1.5.0
What's Changed
- #19: Symfony Console updated to fix PHP8 issues. by @alancarvalho in #21
- Rewrite install script with clean UI and --nightly support by @jonathonbyrdziak in #23
- Add cf:login, cf:cache-purge and improve cf:init by @jonathonbyrdziak in #24
- Install script: require PHP >=8.4 on all platforms by @jonathonbyrdziak in #25
- Replace backup/purge commands with API rollbacks by @jonathonbyrdziak in #26
- Fix global install: direct symlink and command detection by @jonathonbyrdziak in #27
- Fix init flow: ask for repo URL and skip Docker for existing projects by @jonathonbyrdziak in #28
- Change install directory from ~/protocol to ~/.protocol by @jonathonbyrdziak in #29
- Move node-level data to .node/ subdirectory by @jonathonbyrdziak in #30
- Remove Docker image prompt from existing project init by @jonathonbyrdziak in #31
- Run composer install after self:update by @jonathonbyrdziak in #32
- Fix default releases directory path by @jonathonbyrdziak in #33
- Redesign init: ask environment first, auto-detect the rest by @jonathonbyrdziak in #34
- Improve dev init: confirm install or detect migration by @jonathonbyrdziak in #35
- Unify project setup flow and simplify dev init routing by @jonathonbyrdziak in #36
- Add GitHub token auth for production server init by @jonathonbyrdziak in #37
- Generate clickable GitHub token URL for production init by @jonathonbyrdziak in #38
- Replace PAT auth with GitHub App for production servers by @jonathonbyrdziak in #39
- Replace manifest URL with direct link and ASCII settings table by @jonathonbyrdziak in #40
- Accept pasted PEM keys for GitHub App auth by @jonathonbyrdziak in #42
- Make production init idempotent and user-controlled by @jonathonbyrdziak in #43
- Add Step 3: first deploy with release picker and nightly fallback by @jonathonbyrdziak in #44
- Stop writing protocol.json to home directory on slave nodes by @jonathonbyrdziak in #45
- Make protocol status work from anywhere on slave nodes by @jonathonbyrdziak in #46
- Make start/stop/status work from anywhere on slave nodes by @jonathonbyrdziak in #47
- Fix config repo resolution on slave nodes by @jonathonbyrdziak in #48
- Move config repo clone to init, place inside releases dir by @jonathonbyrdziak in #49
- Never convert SSH URLs to HTTPS in flowGitAuth by @jonathonbyrdziak in #50
- Verify repos at completion, suppress passthru output by @jonathonbyrdziak in #51
- Ensure releases dir exists before cloning config repo by @jonathonbyrdziak in #52
- Resolve SSH to HTTPS for GitHub App git operations by @jonathonbyrdziak in #53
- GitHub App SSH-to-HTTPS resolution + stage logging by @jonathonbyrdziak in #54
- Fix git remote URLs for GitHub App HTTPS auth by @jonathonbyrdziak in #55
- Fail fast on credential refresh, add git fetch timeouts by @jonathonbyrdziak in #56
- Add diagnostic logging and HOME env for git fetch by @jonathonbyrdziak in #57
- Add diagnostic logging inside git:pull command by @jonathonbyrdziak in #58
- Log post-fetch steps in git:pull to find hang by @jonathonbyrdziak in #59
- Add verbose mode to protocol start by @jonathonbyrdziak in #60
- Fix composer install hang with timeout and --no-interaction by @jonathonbyrdziak in #61
- Stream live output in verbose mode for composer and submodules by @jonathonbyrdziak in #62
- Add --force flag to override stale locks by @jonathonbyrdziak in #63
- Read config repo remote from node config on slave nodes by @jonathonbyrdziak in #64
- Inject GitHub App token into composer for private repos by @jonathonbyrdziak in #65
- Suppress PHP deprecation noise from composer.phar by @jonathonbyrdziak in #67
- Auto-install cronie and add crontab debug logging by @jonathonbyrdziak in #69
- Fix crontab append when no existing crontab by @jonathonbyrdziak in #70
- Fix watcher credential spam + AWS Secrets Manager plugin by @jonathonbyrdziak in #72
- Fix composer.lock missing aws/aws-sdk-php by @jonathonbyrdziak in #73
- Add 2-minute TTL to command locks by @jonathonbyrdziak in #66
- Fix crontab detection in protocol status by @jonathonbyrdziak in #71
- Store encryption keys per-project in non-production envs by @jonathonbyrdziak in #74
- Fix config:switch and add environment-aware aws:push by @jonathonbyrdziak in #75
- aws:init profile selector with SM access check by @jonathonbyrdziak in #76
- Fix SOC 2: audit log for branch deploys, git remote normalization by @jonathonbyrdziak in #77
- Fix SOC 2: audit log to /var/log/protocol with proper permissions by @jonathonbyrdziak in #78
- Auto-refresh Cloudflare OAuth token on expired auth by @jonathonbyrdziak in #79
- Add deploy:strategy command and branch-to-release auto-switch by @jonathonbyrdziak in #80
- Unified DeploymentState for all deployment strategies by @jonathonbyrdziak in #82
- Fix slave node dir resolution fallback for awaiting-release state by @jonathonbyrdziak in #83
- Replace gh CLI with GitHub REST API via App tokens by @jonathonbyrdziak in #84
- Read blue-green config from node config, not protocol.json by @jonathonbyrdziak in #85
- Fix repo_dir home directory fallback and ~ dir creation by @jonathonbyrdziak in #87
- Fix protocol exec failing with multiple containers by @jonathonbyrdziak in #89
- Fix protocol exec and installer for Amazon Linux 2023 by @jonathonbyrdziak in #90
- Fix critical deployment bugs from audit by @jonathonbyrdziak in #88
- Remove duplicate writeComposerAuth() — fatal error on all commands by @jonathonbyrdziak in #91
- Production-ready: fix fatal error, installer AL2023, docker exec by @jonathonbyrdziak in #92
- Suppress git fatal errors during protocol init on fresh servers by @jonathonbyrdziak in #93
- Fix init clone path and post-init crash on fresh servers by @jonathonbyrdziak in #94
- Fix init showing 'no release deployed' after successful clone by @jonathonbyrdziak in #95
- Fix protocol status crash when no release deployed by @jonathonbyrdziak in #96
- Make restart slave-aware, fix docker compose detection by @jonathonbyrdziak in #98
- Make soc2:check, security:audit, cron commands slave-aware by @jonathonbyrdziak in #100
- Resolve env vars in docker-compose container names by @jonathonbyrdziak in #101
- Inject AWS secrets into containers via env_file override by @jonathonbyrdziak in #103
- Install cronie and docker-compose-plugin in installer by @jonat...