Skip to content

Releases: prvious/pv

v0.0.8

22 Apr 16:40
1e91e79

Choose a tag to compare

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

14 Apr 16:55
41f81a6

Choose a tag to compare

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

14 Apr 05:39
651f8f7

Choose a tag to compare

Changelog

  • 651f8f7 Move PHP/FrankenPHP binaries to a dedicated 'artifacts' release (#59)

v0.0.5

14 Apr 05:03

Choose a tag to compare

Changelog

  • 26a0a22 Feat/build static php binaries (#58)
  • 6656488 Include PHP CLI assets in release asset copy step
  • 9f13b69 Remove xlswriter from FrankenPHP binary builds
  • 0d82371 feat: cache binary build downloads
  • bbcc760 fix: use macos-15 runner for frankenphp binary builds

PHP binaries (FrankenPHP + static PHP CLI)

14 Apr 05:34

Choose a tag to compare

Rolling release of FrankenPHP and static PHP CLI binaries, rebuilt weekly by build-artifacts.yml. Not a versioned pv release.

v0.0.4

06 Apr 22:45

Choose a tag to compare

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

14 Mar 04:05

Choose a tag to compare

Changelog

  • 503f06c Fix uninstall CA cleanup ordering

v0.0.2

14 Mar 03:38
8322f46

Choose a tag to compare

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 env PATH output
  • 3e148e8 Rename pv service to pv daemon to free up service namespace (#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

05 Mar 05:31
0ace031

Choose a tag to compare

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

28 Feb 04:18

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: https://github.com/prvious/pv/commits/frankenphp-v1.11.3