Releases: prvious/pv
Releases · prvious/pv
v0.0.8
Changelog
- 1568d11 Add CLAUDE.md rule: no scripting languages — Go only
- b876a3b Add E2E phase for Mail (Mailpit) binary service lifecycle
- 2e309cb Add Mailpit binary descriptor and installMailpit
- c9ec675 Add Mailpit service implementation
- a9cb65d Add design spec for services.LookupAny
- 74a9371 Add implementation plan for services.LookupAny
- eaca01d Add services.LookupAny helper
- ba5da4f Address PR review: surface ignored errors, strengthen test, polish comments
- 9356dc3 Fix .env fallback semantics for binary services (#64)
- 68d72e6 Fix service env update writing to all projects instead of only linked ones (#66)
- 4a432f8 Merge pull request #61 from prvious/feat/mailpit-native-binary
- f5121e0 Merge pull request #62 from prvious/feat/services-lookupany
- 36f877d Post-migration quality: ReadyCheck type safety, tests, E2E .env (#65)
- fd2a33a Remove Docker Mail service; mail is now binary-only
- 09b9251 TestDoctor_SkipsBinaryServices: add Docker-less regression assertion
- 6f19458 doctor: skip binary services in per-service Docker check
- 649c868 fix(e2e): run binary service tests with sudo -E pv (#68)
- 1e91e79 fix: bind binary services to pre-linked projects on add (#70)
- 84b3c5d install --with=service[…] accepts binary services
- fdac703 service:env: print env vars for binary services correctly
- 073df93 setup.go: list binary services in wizard and provision them
- 0927347 wip
v0.0.7
Changelog
- 6632b4d Add BinaryService interface and binary registry
- 2ce7853 Add E2E phase for S3 binary service lifecycle
- 839b01f Add ExtractZip + installRustfs for RustFS binaries
- c614e9f Add Kind and Enabled fields to registry.ServiceInstance
- 1b2391e Add Rustfs binary descriptor
- f1bf66a Add implementation plan for Mailpit native binary migration
- b17e08a Add implementation plan for RustFS native binary migration
- 72e40a8 Add service command kind dispatcher
- fb15d1e Add spec: Mailpit as a native supervised binary for mail service
- caa827d Add spec: RustFS as a native supervised binary for S3 service
- e08cb6e Add supervisor package for child-process management
- 3c26550 Add supervisor-process builder and daemon-status.json writer
- fd3acb6 Address PR review: fix 6 critical + 2 important issues
- 38d35fe Amend rustfs spec with verified CLI/asset facts from Task 1
- e8509f0 Extend ServerManager.Reconcile with binary-service phase
- 8d161c1 Fix rustfs spec: use canonical ServiceDataDir path, drop auto-migration
- 3f5710b Fix supervisor Stop/watch race on cmd.Wait
- 949f84c Implement service:add binary path
- f96bca9 Implement service:logs binary path via tail-f of log file
- 86d226a Implement service:remove and service:destroy binary paths
- 927893f Implement service:start and service:stop binary paths
- 41f81a6 Merge pull request #60 from prvious/feat/rustfs-native-binary
- 44364db Read daemon-status.json for binary service observability
- 271cc29 Refresh binary-service binaries in pv update
- dbd5efb Replace Docker S3 service with RustFS BinaryService
- fa6842a Revise rustfs spec to use SignalDaemon/Reconcile instead of autoRestart
- 60a041d Wire supervisor into daemon start and filter Colima boot
- 7a7c87f wip
v0.0.6
v0.0.5
PHP binaries (FrankenPHP + static PHP CLI)
Rolling release of FrankenPHP and static PHP CLI binaries, rebuilt weekly by build-artifacts.yml. Not a versioned pv release.
v0.0.4
Changelog
- 53590ff Add SetViteTLS to settings and pipeline tests
- e48350c Add SetViteTLSStep automation step
- ac72e9a Add Vite TLS env vars design spec
- d45997a Add Vite TLS env vars implementation plan
- 2184308 Add colima:stop command to gracefully stop services and VM
- ab5e5ce Add darwin build tag to compat_test.go
- 6c6212c Add fuzzy service key resolution by name prefix
- 364c417 Add wildcard SAN to Valet TLS certificates
- b618390 Add wildcard subdomain implementation plan
- f3ec303 Add wildcard subdomain support design spec
- 01d3582 Add wildcard subdomain to main Caddy site templates
- 9e3c114 Add wildcard subdomain to secondary version Caddy templates
- f816f50 Auto-install PHP versions on pv.yml change, fix daemon log visibility (#50)
- 13db951 Auto-start Colima and recover services on daemon boot (#49)
- 4db0ac9 Change MySQL default version to 8.4
- 288a65e Change PostgreSQL default version to 18-alpine
- 9bb57a9 Change S3 default credentials from minioadmin to rstfsadmin
- d0ce819 Check ErrAlreadyPrinted before logging service stop failure
- e3352f6 Create service data directory before container creation
- 0fa1c4a Export RunStop from service package, expect colima:stop in test
- 4be0196 Fix Find/FindByPath to return pointer to slice element, not loop copy
- 0b990d5 Fix PR review findings: error handling, ambiguous resolution, Postgres config
- 56d8b39 Fix PostgreSQL config: set credentials and improve health check
- 38287ee Fix PostgreSQL volume mount for v18+ data directory change
- 09c0b85 Fix artisan steps to use php shim instead of nonexistent php+version binary
- 7c858a0 Fix comprehensive PR review findings: injection, error handling, deduplication
- cd39a70 Fix misleading Vite-specific error messages in TLS cert step
- 98dff6e Fix pv update returning success when self-update exec fails
- b87c44e Fix release build by adding darwin build tags to colima compat
- 5d0e713 Fix review findings: wire all stubs, demux log stream, fix stderr
- a01c979 Fix tilde constraint ~X.Y.Z to lock minor version per Composer semantics
- 1ba2737 Implement container.Engine with Docker SDK
- 02428d1 Implement service:logs, CreateDatabase, and container recovery
- 2648c18 Improve DNS and Colima reliability and security (#47)
- c10aa18 Make pv link idempotent (#55)
- 9aaf82d Merge branch 'main' of github.com:prvious/pv
- 6f8426a Merge main into feature branch (resolve conflicts, keep main)
- 385713b Merge pull request #48 from prvious/feat/docker-container-engine
- bf45f89 Merge pull request #51 from prvious/feat/remove-start-background-flag
- 14b08e2 Merge pull request #53 from prvious/feat/colima-stop
- c0639e1 Merge pull request #54 from prvious/feat/wildcard-subdomains
- db74790 Merge pull request #56 from prvious/feat/vite-tls-env-vars
- 880783a Move cert storage from ~/.config/valet/ to ~/.pv/data/certs/
- f3e0d9e Reconcile-based server manager for dynamic PHP version switching (#52)
- dc96222 Remove --background and --foreground flags from pv start
- 76f27d2 Remove --foreground from launchd plist template
- 57276f5 Remove ContainerID from registry, query Docker live for status
- ef5df45 Remove Valet config calls from callers
- 628fabe Remove dead FrankenPHP/PHP code from binaries package
- 64da751 Remove dead PrintPathInstructions and phpenv Verbose/logf
- 3a143a5 Remove dead SudoSetupScript and RunSudoSetup functions
- 20fec93 Remove existing sites migration section from wildcard spec
- f7b02d6 Remove leaking defer f.Close() inside infinite follow loop
- b556481 Remove unused --verbose flag from pv update
- 4918779 Remove unused Binary parameter from installMago
- b6ffacc Remove unused startForeground variable
- 6af0ad5 Rename valet.go to storage.go
- 49d49a0 Replace hand-rolled service name parser with strings.Index
- b4a6400 Report partial uninstall when steps fail instead of false success
- 45735c3 Resolve service keys by name prefix in all commands
- 55ffe21 Surface Caddy config error in service:destroy instead of swallowing
- 707a01e Update audit doc: mark #16, #19, #38, #39 as false positives
- 7a4ad9c Use config package for paths in pv env instead of hardcoded joins
- 79aa756 Wire MigrateComposerConfig into install pipeline
- 76665d7 Wire SetViteTLS gate into settings, pipeline, and link command
- 39f7653 Wire all service commands to Docker engine
- 71e7e4c Wrap ConfirmFunc error and guard nil Registry in RunPipeline
- f548ac0 wip
v0.0.3
v0.0.2
Changelog
- 1414c3f Acquire sudo credentials upfront with sudo -v for single password prompt
- 0723834 Add .worktrees to .gitignore
- b8959e7 Add AutoMode type and Automation struct to config settings
- 0a0e980 Add CA commands and streamline setup flows
- 730a2c0 Add Critical() to Step interface and terminal registry save to RunPipeline
- 84755d7 Add InstallPHPVersion automation setting with gate, wizard, and tests
- 248dee6 Add
pv service— containerized service management (#24) - d737e66 Add automation pipeline runner with huh confirmation prompts
- 3a1a1af Add automation settings to setup wizard (#34)
- d45b6ae Add curl-pipe installer script for one-command pv setup
- 771482b Add daemon toggle to setup wizard and auto-enable on install (#35)
- 983ed35 Add hidden gate fields for infrastructure steps
- ab2437e Add laravel package with env intelligence, database resolution, and pipeline steps
- cbde230 Add lint & format rules to CLAUDE.md and gofmt existing files
- a927df5 Add pipeline refactor design doc
- 80b33e2 Add pv doctor command (#17)
- 1ef924c Add pv.yml file watcher and vendor/autoload.php watch directive
- 4c71ad5 Add service hooks to auto-update .env for linked Laravel projects
- 62192ef Address code review: warn on gate-skipped critical steps, restore service suggestions
- 00e53a4 Address review findings: ErrUserCancelled, AutoOff toggle, simplifications
- fc2cb0e Address review: explicit AutoOn match and add missing test coverage
- 50b6164 Auto-install missing PHP version during pv link
- 8c57d57 Auto-manage Laravel installer PHAR (#42)
- 87f1b8d Create universal pipeline steps for PHP install, Caddy, TLS, and services
- 3eb331e Fix build-frankenphp workflow: glob binary, scope permissions, add concurrency (#25)
- 90d3c00 Fix critical step ordering, pipeline error handling, and silent failures
- 9da36d1 Fix daemon and server error handling (#37)
- 2b50baa Fix review issues: add -f flag to curl, kill orphaned bg process, use command -v, use fish_add_path
- c22c10c Generate Valet-compatible TLS certs for Vite HTTPS auto-detection (#31)
- 34f9d9d Implement pv uninstall command (#16)
- 4524a57 Install to ~/.local/bin by default, add --install-dir flag
- 65a40de Merge feat/smart-automation: Smart automation for Laravel project bootstrapping (#33)
- 3f99d09 Merge pull request #18 from prvious/feat/install-script
- 9d007f7 Merge pull request #21 from prvious/feat/release-flow
- 8fa2aec Merge pull request #38 from prvious/feature/auto-install-php-version
- 5eb882c Merge pull request #41 from prvious/feature/pipeline-refactor
- d0c294b Merge pull request #43 from prvious/chore/installer-setup-wizard
- 97e99da Merge pull request #44 from prvious/feat/ca-commands-and-pipeline-flow
- 8322f46 Merge pull request #45 from prvious/feat/setup-tui-redesign
- 882a585 Move Octane re-detection into InstallOctaneStep
- c9b40e2 Redesign setup TUI and rebrand CLI from purple to teal
- 784482e Refactor CLI to colon-namespaced commands + interactive setup wizard (#27)
- 2cf4bd5 Remove ~/.local/bin from
pv envPATH output - 3e148e8 Rename
pv servicetopv daemonto free upservicenamespace (#23) - 94b9075 Replace .pv-php with pv.yml and add php:current command (#30)
- ccbca6c Replace settings.json with global ~/.pv/pv.yml (#32)
- bca289c Resolve pv binary path dynamically for daemon plist (#36)
- 119135f Revamp CLI output with lipgloss-powered UI (#22)
- 20847eb Rewrite link command as thin pipeline orchestrator
- cd0715e Styled CLI with charmbracelet/fang + Charm v2 stack (#29)
- 3940f5d Switch installer bootstrap to setup wizard
- f3ed778 Tool abstraction layer with :download / :path / :install / :update / :uninstall pattern (#28)
- 7002674 Unify release flow: keep FrankenPHP assets on pv releases
- f8641a4 Update README to reflect internal/commands/ structure
- 6eb690e Use pv env for shell PATH setup instead of hardcoded export lines
- 7f2f7e3 Use slices.Contains instead of manual loop in DetectServicesStep
- ed7c9af Validate AutoMode values on settings load
- 1f4c94f Warn on settings load failure and add settings edge-case tests
- 5b52b50 Wire automation pipeline into link command for Laravel projects
v0.0.1
Changelog
- d9d95f6 Add 'what it sets up' section and expand PHP version manager docs
- c673b91 Add Caddy-native log rotation and inode-based follow mode
- 470f3ec Add Composer containment e2e tests to CI pipeline
- d8a3404 Add GoReleaser config and release workflow
- 3b12a6a Add PHP version management and multi-process FrankenPHP support
- cdac683 Add e2e tests for pv env and update scripts to use PATH-based commands
- 819cff8 Add index.php to octane fixture for try_files resolution
- bf569ea Add launchd plist template for daemon mode (Task 2)
- ee81f27 Add minimal README with why and how-to-use sections
- 14b2534 Add pv env command for shell PATH configuration
- 17333f9 Add retry logic to curl_site for worker startup delays
- af196b5 Add step timeouts and debug echo to E2E workflow
- 9e28b97 Add timeout to self-test binary checks
- 473466f Consolidate Caddy storage under ~/.pv/ via XDG env vars
- 8efcced Document testing strategy in CLAUDE.md
- cc1b0ce Drop composer shim, install composer.phar directly as executable
- 1b37d2e Extract E2E inline bash into standalone script files
- 7d3a931 Fix CA cert path for macOS and status check in E2E workflow
- 081da17 Fix E2E test fixtures to implement FrankenPHP worker protocol
- 8dae71a Fix FrankenPHP worker scripts: pass callback to handle_request
- 4a0b633 Fix double FrankenPHP download and add E2E tests
- 8168369 Fix fish shell instructions in PrintPathInstructions
- 38931c0 Fix multi-site routing: give every site its own worker
- fe075f5 Fix octane fixture: index.php needs worker code for try_files
- bc9ca22 Fix octane index.php: use simple echo, not worker protocol
- 8115c65 Fix php symlink overwriting binary with shim script
- c0e02f0 Fix reverse_proxy: use 127.0.0.1 instead of localhost
- 393d068 Fix version site templates: use http:// prefix for correct port binding
- cd50aaf Implement daemon mode: launchd integration, service commands, and daemon-aware lifecycle
- 4ca139b Isolate Composer under ~/.pv/composer (#12)
- 3e0a59c Isolate Composer under ~/.pv/composer to prevent polluting ~/.composer
- 79328e5 Make pv log auto-detect daemon mode, replace --daemon with --access
- 07851cb Merge pull request #10 from prvious/claude/add-minimal-readme-pGNWp
- de46e3f Merge pull request #11 from prvious/claude/daemon-plist-template
- 9c1a22e Merge pull request #13 from prvious/claude/trim-daemon-e2e-tests
- 80cfff7 Merge pull request #14 from prvious/feat/daemon-mode
- 755a5f1 Merge pull request #15 from prvious/worktree-rustling-growing-spark
- 506f55f Merge pull request #19 from prvious/feat/goreleaser
- 0ace031 Merge pull request #20 from prvious/feat/pv-env
- 56b18bd Move php-8.3.Caddyfile check to after server start
- f156986 Restrict release builds to macOS only
- 6e549a1 Simplify pv log: always show caddy.log, use --daemon/--error for pv process logs
- c81e47b Trim daemon e2e tests to 3 focused scripts
- c4dfc24 Update e2e log test for Caddy-native log rotation
- addeca8 Use GITHUB_TOKEN for GitHub API calls to avoid rate limits
- 07336ae Use bare binary naming: pv-darwin-arm64, pv-darwin-amd64
- b043216 Use sudo -E for pv start/stop in E2E workflow
- 01a872c Use sudo for pv unlink in E2E (site configs owned by root)
FrankenPHP v1.11.3
What's Changed
- Add Claude Code GitHub Workflow by @munezaclovis in #1
- Phase 1: CLI skeleton with link, unlink, list commands by @munezaclovis in #2
- Add FrankenPHP binary build workflow by @munezaclovis in #3
- Specify curated PHP extensions for FrankenPHP builds by @munezaclovis in #4
- Rewrite FrankenPHP build to match upstream + add Intel builds by @munezaclovis in #5
- Use macos-14/13 runners for FrankenPHP builds by @munezaclovis in #6
- Simplify FrankenPHP build: ARM-only, macos-26, drop PHP 8.2 by @munezaclovis in #7
- Drop gmp from FrankenPHP build extensions by @munezaclovis in #8
- Revert custom PHP_EXTENSIONS, use upstream defaults by @munezaclovis in #9
New Contributors
- @munezaclovis made their first contribution in #1
Full Changelog: https://github.com/prvious/pv/commits/frankenphp-v1.11.3