v1.9.1
v1.9.1
Published: 2026-03-15T00:17:06Z
Fixed
- Fixed
phpvm_debugreturning non-zero in non-debug mode: Changed from[ test ] && cmdpattern (which returns exit code 1 when DEBUG is off) toif/then/fi, preventing silent failures inset -econtexts or when used as last statement beforereturn $?. - Fixed
phpvm_with_locklock leak on interruption: Movedphpvm_unlockbefore trap restoration so the lock is released while cleanup traps are still active, eliminating the window where an interrupt could leak the lock. - Fixed
get_php_binary_pathstdout side-effect on Linux: Capturedlinux_find_php_binaryoutput into a variable before echoing, preventing potential double output when the function's stdout mixed with the fallback path.
Changed
- Eliminated double initialization: Removed redundant
phpvm_init_if_neededcalls frominstall_php,use_php_version,phpvm_current,phpvm_which,list_installed_versions,auto_switch_php_version, anduninstall_php. Initialization is now handled centrally bymain()(viaphpvm_init_or_die) and the sourced-path entry point, avoiding duplicatedetect_system()calls (notably the expensivebrew --prefix). - Moved
package_namecomputation ininstall_php: Theget_php_package_namecall was computed but unused by most package manager branches. It is now only computed in thepacmancase arm that actually needs it.
Internal
- Version bump: Updated to v1.9.1.
- All tests passing: 51 BATS tests pass.