Tags: steinkel/psysh
Tags
* 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.
New: * Throw strings via `throw-up` command (e.g. `throw-up "Wheee!"`) Improved: * 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.
New: * Add documentation support for built-in and magic constants! You'll need to update your manual DB to get the latest hotness :) Improved: * Make process forking more resilient to interrupted system calls. * Use \ReflectionClassConstant in PHP >= 7.1. * A bunch of automated build fixes (the last one … wasn't so automated). * Add a bit more test coverage.
New: * Add support for a bound class when starting PsySH from inside a static class context. * Add support for `self` and `static` in commands like `ls`, `show` and `doc`. * Add tab completion for `doc`, `ls` and `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 `list` and `[]` (Thanks @zonuexe!) * Add a bunch of test coverage. Improved: * Fix a minor bug closing input buffer hitting 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 `trait X`. * Fix using `doc` command with language constructs. * Fix the line number reported for some type errors.
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.
PreviousNext