This repository has been archived by the owner on Nov 3, 2021. It is now read-only.
Releases: sptndc/phpenv
Releases · sptndc/phpenv
phpenv 1.1.1
phpenv 1.1.0
Added
- Add support for
phpenv shell -
style of invocation that restores
previous version. - Adopt Contributor Covenant 1.4.
Changed
- Changed
.
withsource
for fish shell. - Unset
CDPATH
if it's set by the user.
Fixed
- Fix
phpenv <cmd> --help
forsh-*
commands. - Expand literal tilde in
PATH
.
Removed
- Remove support for
.phpenv-version
legacy version file. - Remove support for
default
,global
legacy global version files.
phpenv 1.0.0
Added
- Speed up phpenv with dynamically loaded
realpath
C extension. - New plugin hooks
version-name
andversion-origin
enable plugin
authors to hook into version selection logic. phpenv versions --skip-aliases --bare
will only list versions that are not
aliases (symlinks) for other versions.phpenv version-file <dir>
finds a.php-version
file in the target directory
or any of its parent directories.phpenv init
now recognizes and supports fish shell syntax.phpenv --debug <command>
is a shortcut for enablingPHPENV_DEBUG
.
Changed
- Speed up
phpenv rehash
when there are many PHP versions with
similar sets of executables. - Improve performance of
phpenv-which
for "system" version. - Avoid
phpenv-exec
calling out tophpenv-version-name
twice. - Reliably detect user's current shell in
phpenv init
. - Improve detection of completion support for commands.
- Check if completion script is readable.
- Suppress shell warnings when hashing is disabled by
set +h
. phpenv()
shell function preserves multiline output ofsh-*
commands.phpenv local
now respects.php-version
file in parent directories as well.phpenv versions
now emits a warning when no PHP versions were found.- Consistently support
phpenv <command> --help
as alternative tophpenv help <command>
. - Improve parsing of git revision in
phpenv --version
when phpenv was installed from git. - Export PS4 when
PHPENV_DEBUG
is set for more informative debug output. - Prefer
gawk
overawk
if both are available. - More useful error message when rehash fails on a non-writable directory.
- Make
phpenv-exec
fail for invalid PHP version. - Bail out early if
readlink
is not available. - Properly resolve symlinks when listing hook scripts.
- Better error message for
phpenv prefix system
. - Guard against exported
CDPATH
. - Ensure that
IFS
is reset to its original value within hook scripts.
Fixed
- Fix
phpenv()
shell function in ksh and dash. - Ubuntu fix: use
source
instead of.
. - Fix detecting completions support on OpenBSD.
- Fix incorrect formatting of
phpenv-help
output under MAWK (Ubuntu). - Fix resolving symlinks in
phpenv-hooks
. - Fix iterating through paths that have spaces in them.
- Fix
phpenv rehash
when paths have spaces in them. - Fix reading
.php-version
on platforms that don't support process substitution. - Fix remove carriage return characters in
.php-version
files. - Fix phpenv on OpenBSD and other systems that don't support
head -c
.
phpenv 0.4.0
Added
- Added support for full completion of the command line, not just the
first argument. - Added
phpenv --version
for printing the current version of phpenv. - Added
/usr/lib/phpenv/hooks
to the plugin hook search path.
Changed
- phpenv now prefers
.php-version
files to.phpenv-version
files
for specifying local application-specific versions. - Modified shims to include the full path to phpenv so that they can be
invoked without having phpenv's bin directory in the$PATH
. - Sped up
phpenv init
by avoiding phpenv reinintialization and by
using a simpler indexing approach. - Reworked
phpenv help
so that usage and documentation is stored as a
comment in each subcommand, enabling plugin commands to hook into
the help system. - Updated installation instructions for Zsh and Ubuntu users.
- Changed
phpenv exec
to avoid prepending the system PHP location to
$PATH
to fix issues running system PHP commands that invoke other
commands. - Changed
phpenv rehash
to ensure it exits with a 0 status code under
normal operation, and to ensure outdated shims are removed first
when rehashing. - Modified
phpenv rehash
to runhash -r
afterwards, when shell
integration is enabled, to ensure the shell's command cache is
cleared. - Adjusted non-bare
phpenv versions
output to includesystem
, if
present. - Improved documentation for installing and uninstalling PHP
versions. - Changed
phpenv shell
to ensure it exits with a non-zero status on
failure. - Changed
phpenv init
to accept option arguments in any order.
Fixed
- Fixed
phpenv which
andphpenv prefix
with system PHP versions. - Fixed
phpenv versions
not to display a warning if the currently
specified version doesn't exist. - Fixed an instance of local variable leakage in the
phpenv
shell
function wrapper. - Fixed
phpenv which
to account for path entries with spaces.
Removed
- Removed use of the
+=
operator to support older versions of Bash.
phpenv 0.3.0
Added
- Added an
phpenv root
command which prints the value of
$PHPENV_ROOT
, or the default root directory if it's unset. - Added preliminary support for ksh.
- Added a
--no-rehash
option tophpenv init
for skipping the
automatic rehash when opening a new shell.
Changed
- Clarified Zsh installation instructions in the readme.
- Changed Zsh initialization code to install completion hooks only for
interactive shells. phpenv rehash
creates or removes shims only when necessary instead
of removing and re-creating all shims on each invocation.
Fixed
- Fixed an issue with calling
readlink
for paths with spaces. - Fixed that
PHPENV_DIR
, when specified, would be incorrectly
expanded to its parent directory.
Removed
- Removed some redundant code in
phpenv rehash
. - Removed the deprecated
set-default
andset-local
commands.
phpenv 0.2.1
Changed
- Changed the
phpenv
command to ensure thatPHPENV_DIR
is always an
absolute path.
phpenv 0.2.0
Added
- Added support for
phpenv-sh-*
commands, which run inside the
current shell instead of in a child process. - Added an
phpenv shell
command for conveniently setting the
$PHPENV_VERSION
environment variable. - Added support for storing phpenv versions and shims in directories
other than~/.phpenv
with the$PHPENV_ROOT
environment variable. - Added support for debugging phpenv via
set -x
when the
$PHPENV_DEBUG
environment variable is set. - Added support for plugin bundles in
~/.phpenv/plugins
as documented
in issue #102. - Added
/usr/local/etc/phpenv.d
to the list of directories searched
for phpenv hooks. - Added support for an
$PHPENV_DIR
environment variable which
defaults to the current working directory for specifying where phpenv
searches for local version files.
Changed
- Renamed
phpenv set-default
tophpenv global
andphpenv set-local
tophpenv local
. Theset-
commands are deprecated and will be
removed in the next major release. - phpenv now uses
greadlink
on Solaris.
Fixed
- Fixed an issue with
phpenv rehash
when no binaries are present. - Refactored the autocompletion system so that completions are now
built-in to each command and shared between bash and Zsh.
phpenv 0.1.2
Added
- Added initial support for Zsh autocompletion.
Changed
- Made the
phpenv rehash
command operate atomically. - Modified the
phpenv init
script to automatically runphpenv rehash
so that shims are recreated whenever a new shell is opened.
Fixed
- Fixed phpenv to be more resilient against nonexistent entries in
$PATH
.
Removed
- Removed the dependency on egrep for reading version files.
phpenv 0.1.1
Fixed
- Fixed a syntax error in the
phpenv help
command.
Removed
- Removed
-e
from the shebang in favor ofset -e
at the top of
each file for compatibility with operating systems that do not
support more than one argument in the shebang.
phpenv 0.1.0
- Initial public release.