PsySH v0.9.0 Release Notes

Release Date: 2018-04-15 // about 6 years ago
  • πŸš€ 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 timeit command, for quick-and-dirty code profiling! (Thanks @Markcial!)
    • Inherit current use and namespace statements during Psy\debug sessions.
    • βž• 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, doc and 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.
    • πŸ‘‰ Make sudo code play better with history.
    • πŸ‘Œ Support $__namespace magic variable with show --ex.
    • πŸ“œ 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 Psy\info output.

    βœ‚ 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 tabCompletion and tabCompletionMatchers config options β€” use useTabCompletion and matchers, respectively.