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.
New:
- A significant internals refactor, making cool new commands possible (Thanks @Markcial!)
- … Including a new
timeitcommand, for quick-and-dirty code profiling! (Thanks @Markcial!) - Inherit current
useandnamespacestatements duringPsy\debugsessions. - 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.
Improved:
- A bunch of code reorginization and cleanup.
- Various phpdoc and assertion improvements (Thanks @carusogabriel!)
list,dump,docandshowthe result of arbitrary code input.- Throw arbitrary code with
throw-up, rather than just an existing variable. throw-upat runtime rather than parse time… which means you can conditionally throw-up! See b39dd56 for an example.- Add static constant support to
sudo. - Make
sudocode play better with history. - Support
$__namespacemagic variable withshow --ex. - Set the
$_magic variable with the output of theparsecommand. - Better support for brace-style
namespacestatements with PHP Parser >= v3.1.2. - Better support for
\Erroracross 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
Psy\infooutput.
Removed:
- 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
tabCompletionandtabCompletionMatchersconfig options — useuseTabCompletionandmatchers, respectively.