- Merged PR #88: Add
?[vendor-dir]/autoload.php
to class path if a composer.json file file is present. (@thekid)
- Added support for
php8.2-cli
andphp8.1-cli
as dependencies in Ubuntu / Debian. See issue #86 (@thekid)
- Fixed reading from standard input in
xp-run
entrypoint. See xp-forge/web#76 (comment) (@thekid)
- Fixed Method not found: "System.String System.String.TrimEnd()" exception when running on .NET < 6 (@thekid)
- Fixed PHP 8.2 compatibility in XAR support by declaring xar::$context. Test runs now include PHP 8.2, see xp-runners/main@e0d3d7a and https://github.com/xp-runners/main/actions/runs/1555384298 (@thekid)
- Merged PR #85: Parse scripts from XP runners and pass libraries' autoloaders (@thekid)
- Merged PR #84: Port testing and packaging from Travis CI to GitHub actions (@thekid)
- Fixed entry points to work even when
$_SERVER
is not available. This may be the (rare) case if variables_order does not containS
, see https://www.php.net/manual/en/ini.core.php#ini.variables-order (@thekid)
- Fixed bootstrapping when iconv extension is not available by falling back to mbstring, and raising an error when neither are available. See xp-framework/core#270 (@thekid)
- Heads up: Migrated away from Bintray before it is sunset. See #81 for details and #83 for implementation. (@thekid)
- Fixed
trap: SIGHUP: bad trap
, see https://unix.stackexchange.com/a/314556 (@thekid)
- Included subcommands defined in composer.json in
xp list
output (@thekid) - Fixed issue #82: Composer file held open - @thekid
- Fixed shutdown timeout when using
xp-run
as a Docker entrypoint, see xp-forge/web#76 (@thekid)
- Suggest PHP 7.4 and PHP 8.0 on Cygwin installations - @thekid
- Made compatible with
php7.4-cli
andphp8.0-cli
on Ubuntu and Debian (@thekid)
- Fixed issue #80: Cygwin installation fails (when Windows curl is used) (@thekid)
- Fixed issue #79: Malformed composer.json prevents XP runners from working (@thekid)
- Merged PR #78: Check
composer.json
for subcommands using the scripts section, see https://getcomposer.org/doc/articles/scripts.md @thekid
- Fixed
include(): xp\xar::stream_set_option is not implemented!
warnings (@thekid)
- Fixed PHP 7.4 compatibility: curly braces as array offsets are now deprecated (https://wiki.php.net/rfc/deprecate_curly_braces_array_access). (@thekid)
- Fixed issue #75: Unhandled exceptions with latest release 8.1.4 (@thekid)
- Fixed
xp-run
compatiblity with non-GNU sed variants, e.g. on Alpine (@thekid)
- Made compatible with PHP 7.2 on Debian (provided via https://deb.sury.org/) (@thekid)
- Fixed copyright year - a belated welcome 2018 - @thekid
- Fixed solution message when Mono is not installed - @thekid
- Implemented #71: Allow loading extensions by name - @thekid
- Fixed issue #72: Installing on Alpine Linux - @thekid
- Fixed "undefined variable: $cwd" inside web-main.php - @thekid
- Implemented pull request #70: Signalling socket. This allows graceful
shutdown when being run inside
xp -supervise
.
- Made compatible with PHP 7.1 on Debian (provided via https://deb.sury.org/) (@thekid)
- Fixed issue #69: Hash marks (#) comments causing exceptions - adjusted the ini file parser to simply ignore lines neither containing sections nor key/value pairs. (@thekid)
- Fixed error message when .NET Framework is not installed. The list of dependencies it was suggesting to install was not complete! (@thekid)
- Reinstated xar command, implementing issue #67 - @thekid
- Refactored entry point code to no longer use
xp::stringOf()
, which will be deprecated in XP9. See xp-framework/rfc#324 (@thekid)
- Fixed issue #66: XP running XP - @thekid
- Fixed "Call to undefined function raise()" when handling malformed XAR archives inside class path (@thekid)
- Fixed issue #65: Timezone not set correctly - @thekid
- Fixed issue #62 ("WSL: Exec format error") by always creating wrapper scripts on Linux, MacOS and Unix systems. (@thekid)
- Changed output arguments and files in stack trace of uncaught exceptions during bootstrap to be less verbose - see issue #64 (@thekid)
-
Fixed ultra-slim runners to work with xp-framework/core
- XAR stream wrapper missing: (
Error: Class 'xp\xar' not found
) - Bootstrap script unaccesable via
lang.Runtime
class
See xp-framework/core#157 (@thekid)
- XAR stream wrapper missing: (
- Fixed coloring on Windows 10 redstone 1 - @thekid
-
Added ultra-slim XP runner
xp-run
. Intended for use inside Travis CI and to replace XP runners 6.X. Does not support any of the following:- Different execution models
- Configuration files
- Subcommands, neither builtin nor as plugins
- System timezone handling
- Binary-safe unicode argument handling
- XP5 entry points (tools/class.php)
- Class path or module path
- Handling of "-v", "-e", "-w", "-d" and "-?" shortcuts
- Composer support
On the other side, it does not have any dependencies except
/bin/sh
Download: https://dl.bintray.com/xp-runners/generic/xp-run-master.sh Example: https://github.com/xp-forge/mirrors/blob/master/.travis.yml (@thekid)
- Fixed timezone handling on non-Windows systems: If system timezone already is a valid Olson identifier, use it. (@thekid)
- Fixed issue #61: Setup: Symlink errors - @thekid
- Implemented xp-framework/rfc#314: Repeated execution model, see PR #60. (@thekid)
- Fixed issue #59: Depends: php5-cli but it is not installable - @thekid
- Fixed issue #58: PHP 5.6: Call to undefined function T::main() - @thekid
- Fixed issue #57: Error message improvement - @thekid
- Fixed issue #56: Permission denied - @thekid
- Fixed supervise execution model not respawning when PHP's exitcode is
something like
-1073741819
(e.g., because it crashed) (@thekid)
- Merged PR #54: Remove ANSI escape sequence emulation - @thekid
- Merged PR #55: Add
tput
drop-in replacement - @thekid - Merged PR #51: Pass
XP_*
environment variables, for example:(@thekid)XP_EXE => "/usr/bin/xp" XP_VERSION => "7.5.2.1916" XP_MODEL => "default" XP_COMMAND => "write"
- Fixed issue #52: Shell installer dependencies - @thekid
- Fixed issue #50: Problem without HOME - @thekid
- Added support for PHP arguments in
XP_RT
as well as for runtime sections inside xp.ini, e.g.php -d extension_dir=/etc/php
. (@thekid) - Changed configuration to always to take the environment variables
XP_RT
(runtime) andUSE_XP
(path to XP core) into account. (@thekid) - Verify configuration specified is valid and give verbose error if not (@thekid)
- Changed output for unknown command line arguments from an unhandled exception w/ stacktrace to a simple error format (@thekid)
- Made
xp -c {path}
display an error when the given file or directory does not exist. Previously this might have caused no problem but weird behavior during bootstrapping, causing confusion. (@thekid)
- Merged PR #45: Refactor output handling - @thekid
- Fixed issue #44: System.ArgumentException: Malformed input string
xp.exe
(@thekid)
- Fixed xp-runners/main#4: No output for xp -v (PHP7 w/ older XP6 releases) (@thekid)
- Implemented PR #42: Control configuration file usage
. New
-n
command line arg to prevent any xp.ini files from being loaded. . New-c
command line arg to explicitely specifiy an xp.ini file (@thekid)
- Fixed module name display in list subcommand on *nix systems - @thekid
- Removed superfluous ANSI support indirection for non-Windows - @thekid
- Fixed #41: Composer dir on XDG Base Directory Specifications - @thekid
- Fixed help subcommand not passing on rest of command line arguments (@thekid)
- Merged #40: Implement "xp list", which shows a list of available subcommands (@thekid)
- Fixed generic setup routine failing on first install - @thekid
- Merged #39: No longer create mkbundle'd executables - @thekid
- Improved message when xp-framework/core cannot be found. See xp-runners/main#2 (@thekid)
- Merged xp-runners/main#3: Invoke main() method directly instead of using reflection: xp-framework/rfc#298 (comment) (@thekid)
- Changed build system to publish master builds for generic installer. This can be used to run tests, e.g. the specification, without having to first tag a release. It also allows installing unstable builds for previewing: https://bintray.com/artifact/download/xp-runners/generic/setup-master.sh (@thekid)
- Added "force" choice in user-interactive mode of https-verified setup
routine; just like having passed
-f
command line option on startup (@thekid) - Fixed #35: User-interactive mode doesn't work with pipes - @thekid
- Fixed #34: Potential problem when connection terminates mid-stream (@thekid)
- Merged PR #33: Fix call of mktemp, requires a template on OS X (@mikey179, @thekid)
- Optimized entry point scripts by inlining code - @thekid
- Merged xp-runners/main#1: Run scripts without "-e" - @thekid
- Fixed issue #32: xp help ambiguity - @thekid
- Fixed issue #31: xp help topics for builtins - @thekid
- Fixed
Paths.Binary()
to return the correct results when run with mono, standalone on Windows, mkbundle'd binaries and verify this works on Windows, Linux and Mac OS X. See xp-runners/spec#1 (comment) (@thekid)
- Added support for Mac OS X, see #30 - @thekid
- Made installable via
apt-get
on Ubuntu and Debian, and provided a one- liner "https-verified" installer (see #29) (@thekid) - Made path files and
-cp
behave consistently, see #11:- New
-cp?
argument, which declares an optional class path - New
-cp!
argument, which declares an overlay class path - Added support for
.php
files in class path (@thekid)
- New
- Merged PR #3: Support XP5. The new XP runners also support XP 5.X checkouts although this is to be considered deprecated (for the discussion, see #1 (comment)) (@thekid)
- Added support for ANSI color escape sequences inside Windows Console (@thekid)
- Implemented plugin architecture based on Composer and file naming conventions
xp.{vendor}.{name}[.{command}]
=>xp.{module}.{ucfirst(command)}Runner
(@thekid) - Added mapping for Windows Timezones to
date.timezone setting
. No more configuration via xp.ini necessary anymore now. Inspired by https://github.com/lmcnearney/timezoneinfo-olson-mapper (@thekid) - Initial implementation of xp-framework/rfc#303 with the following commands:
- version - Displays version and exits - also
-v
- eval [code] - Evaluates code - also
-e [code]
- write [code] - Evaluates code, writes result to Console - also
-w [code]
- dump [code] - Evaluates code, var_dump()s result - also
-d [code]
- help - Displays help - also
-?
- run - Runs a class
- ar - Works with XAR archives. See #22 (@thekid)
- version - Displays version and exits - also