- Add support for Symfony 5.0 (Thanks @Taluu!)
- Improve list assignment support (again)... now you can have function calls and really deep nested array and property access, if that's a thing you're into.
- Fix a bug where context variables were overwritten if the last line resulted in an error.
- Remove 1024 character length limitation for input on systems without readline.
- Bump dependencies on php-console-highlighter and Box.
- Add support for static calls on traits (Thanks @zonuexe!)
- Improve test coverage (a bit)
- Improve list assignment support... do fancy things like
[$a, $a] = [1, 2]!
- Fix regression updating execution scope with variables declared by commands.
- Fix class constant reflection in PHP 7.2.
- Remove dependency on ctype extension.
- Declare explicit dependencies on json and tokenizer extensions.
- Use fully-qualified names for core function calls.
- Minor code cleanup.
- Throw strings via
throw-up command (e.g.
- More accurate
timeit command. It used to count the time to parse input and serialize return values. Now it doesn't.
- Fix a bug preventing
throw-up from working with some code input.
- Fix bug preventing omitted items in
list() from working at all.
- A bunch more test coverage.
- Add documentation support for built-in and magic constants! You'll need to update your manual DB to get the latest hotness :)
- Make process forking more resilient to interrupted system calls.
\ReflectionClassConstant in PHP >= 7.1.
- A bunch of automated build fixes (the last one ... wasn't so automated).
- Add a bit more test coverage.
- Add support for a bound class when starting PsySH from inside a static class context.
- Add support for
static in commands like
- Add tab completion for
show commands (Thanks @lvht!)
- Switch to Box for phar generation (Thanks @theofidry!)
- Add an iconv polyfill to the "compat" build dependencies.
- Add a code cleaner pass to detect issues with destructuring assignment via
 (Thanks @zonuexe!)
- Add a bunch of test coverage.
- Fix a minor bug closing input buffer hitting enter twice after a line ending in a backslash.
- Fix false positives when matching command names, for example, if a line started with a command name in a quoted string.
- Fix tab completion for methods, properties and constants of namespaced classes.
- Stop executing commands inside strings that wrap onto multiple lines. I'm not sure whether this ever happened in real life, but it's kind of ridiculous and now it won't :P
- Fix a reference assignment regression from v0.9.x.
- Fix incorrect signature for traits in PHP 5.x. The reflection API says they're
abstract public trait X, but we'll just call them
- Fix using
doc command with language constructs.
- Fix the line number reported for some type errors.
- Fix a regression for
use statements without aliases.
- Fix a regression for some uses of
- Increase test coverage to prevent these from happening again.
- Fix a scope variable regression introduced in v0.9.0.
- Restore support for PHP Parser v1.3.
- Add testing for minimum supported dependency versions.
Restore support for Symfony Console v2.3.
This is an enormous release.
Note that PsySH v0.9.0 drops support for PHP < 5.4. Upgrade already. PHP 7.x is soooo much better.
- A significant internals refactor, making cool new commands possible (Thanks @Markcial!)
- ... Including a new
timeit command, for quick-and-dirty code profiling! (Thanks @Markcial!)
- Inherit current
namespace statements during
- Add support for live code reloading! But only if you're still using PHP 5.x :( (Thanks @nateabele!)
- Omit input with a starting space from readline history (much like Bash and basically every other shell ever)
- Add support for PHP Parser 4.x.
- A bunch of code reorginization and cleanup.
- Various phpdoc and assertion improvements (Thanks @carusogabriel!)
show the result of arbitrary code input.
- Throw arbitrary code with
throw-up, rather than just an existing variable.
throw-up at runtime rather than parse time... which means you can conditionally throw-up! See b39dd56 for an example.
- Add static constant support to
sudo code play better with history.
$__namespace magic variable with
- Set the
$_ magic variable with the output of the parse command.
- Better support for brace-style
namespace statements with PHP Parser >= v3.1.2.
- Better support for
\Error across the board.
- Ensure that constructors don't specify a return type.
- Make it more clear when an exception comes from REPL code.
- Include OS family in
- Drop support for PHP < 5.4 (Thanks @castarco!)
- Remove support for really really old (and deprecated) history file paths.
- Deprecate several unused methods (which you're almost certainly not even using, but you'll find out soon enough!)
- Add deprecation warning for
tabCompletionMatchers config options — use
Fix a closure binding issue on PHP 5.3.
Build stable version using PHP 7.0.
Please login to add feedback.