Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 50 million developers.Sign up
- Print exception traces when running
- Add an
--alloption to the
doccommand for showing inherited docs.
- Include class signatures when using
docon class methods or properties.
- Add graceful handling for invalid return types.
- Add a notice when globally-installed PsySH defers to a local dependency.
- Fix doc rendering when docblock description is missing (Thanks @GrahamCampbell!)
- More clear error messages when config files are invalid.
- Fix STDIN input detection when running the cli-server SAPI.
- Remove unhelpful deprecation warning in
putenvcalls in favor of direct
This one's almost too big for a point release!
- New command line options:
--no-interactive, to explicitly enable or disable interactive mode.
-vvvfor output verbosity. This one kind of worked before, but only sometimes, and only kind of :)
- ... and a bunch of aliases, for those familiar with Symfony, Composer and other tools.
- New and improved command line option handling, making it easier for libraries that wrap PsySH to support the same options as
- New configuration options:
verbosity, equivalent to the
--silentcommand line options.
interactiveMode, equivalent to
--no-interactivecommand line options.
formatterStyles, for overriding command line colors.
- Default to non-interactive mode when input is coming from a pipe.
- Cleaner output when using
- Exceptions and errors are now written to
STDOUT, which makes it easier to split them off from desired output.
- Brand new shiny code formatter. It's more consistent between different commands, the colors match class and method signatures in
lsand elsewhere, the line numbers are the same style and colors as in
- Tab completion for interfaces, as well as classes (Thanks @GrahamCampbell!)
lscommand can now list namespaces! This means, for example, that
ls --classes Psywill return all known classes inside the Psy namespace. This works for constants, functions, interfaces and traits as well.
showcommand now shows files! Try
show __DIR__ . '/vendor/autoload.php'. This is super handy when combined with the
$__filemagic variable set by
- Support redisplay in HOA/Console readline (Thanks @zonuexe!)
showcommand now includes doc comments for classes, interfaces, traits, functions and methods.
whereamicommand now has a
--fileoption for showing the entire file.
- Set the PsySH process title without the
- Fix an issue with pre-packaged phar releases which added a couple of unnecessary functions to the global namespace.
- Fix a bug parsing single-line docblocks for the
- Fix a small bug parsing code in
- A bunch of housekeepking and general cleanup (Thanks @GrahamCampbell!)
- Modernize some code.
- Work around bug with code isolation in pre-packaged phars.
(Skipping v0.10.1, which was supposed to fix this but didn't)
This might just be our... BIGGEST. RELEASE. EVER.
Note that PsySH v0.10.0 drops support for PHP < 5.5, and non-LTS HHVM.
- Isolate code in bundled PHAR releases. This means if you download a pre-packaged PsySH binary, it can't collide with code you have installed locally in your project (Thanks @theofidry!)
- Allow conditional bindings in
- Add support for verbosity and interactivity flags ... try
- Several improvements for non-interactive UX:
- Support executing stdin, make it play nice with the rest of non-interactive mode.
- Add support for
-r) for printing var_export-style return values with non-interactive input.
- Suppress startup messages when running with
- Only output bracketed paste control characters when interactive.
- Stop paginating non-interactive and raw output.
- Add support for namespace and use declarations in reflecting commands (
instanceofchecks, catching more fatal errors before they fatal (Thanks @baukevdw!)
- Add a check for empty
$arrayexpressions outside of the left-hand side of an assignment.
- Add a check for
gotowith an invalid label (Thanks @zonuexe!)
- Support passing unpacked arrays by reference.
- Improve output of the
lscommand with constants:
- Fix "Interal Constants" typo that's been there basically forever
- Add appropriate-case labels for constant categories (e.g. JSON instead of Json)
- Suppress inherited private methods when listing methods on a class.
- Prevent shadowing namespace names when they collide with other use statement prefixes.
- Fix function signature formatting for optional array params.
- Warn if libedit refuses to write history file. Because apparently it does that sometimes.
- Clearer error message when
mkdirfails while setting up PsySH (Thanks @GrahamCampbell!)
- Test against PHP 7.3 and 7.4 on CI (Thanks @andreybolonin, @alexeyshockov, and @GrahamCampbell!)
- Add support for Symfony 5 (Thanks @Taluu!)
- Fix Symfony 4.1 table deprecation notices.
- Fix some PHP 7.4 deprecations in the PsySH codebase (Thanks @ejunker, @Salmatron)
- Fix some longstanding inconsistencies when running under HHVM.
- Make commands
--helpoption more lenient.
- Use white text instead of black for error messages (Thanks @kristianklok!)
- Don't throw error exceptions for warnings or notices. Log them and continue, just like you'd expect.
- Clean up interactive vs non-interactive mode code.
- More robust detection for pcntl and posix extension support.
- Improve test coverage.
- Code cleanup (Thanks @GrahamCampbell, @carusogabriel and PHPStan!)
- Update docblock copyright years.
- Move PHPUnit and Box to composer bin dependencies.
- Exclude unnecessary files and folders from release archives (Thanks @ankurk91!)
- Drop support for PHP 5.4 and non-LTS HHVM. All y'all should join us in the future!
- Remove the
listalias. Now that PsySH supports arbitrary expressions as arguments for
ls, having a
listalias is sometimes ambiguous, for example when using the list keyword with a space before its parenthesis.
--versionshort flag has changed to
-vis now used for verbosity (matching Symfony Console defaults).
- Remove deprecated
TraitEnumerator(which have been unused for several releases).
- Put HHVM on life support. Test against the LTS release of HHVM 3. Skip a bunch of known failing tests.
- Update XdgBaseDir dependency to v0.1.*
- Add support for Symfony 5.0 (Thanks @Taluu!)
(Skipping v0.9.10 because I tagged a broken commit
- 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
- More accurate
timeitcommand. It used to count the time to parse input and serialize return values. Now it doesn't.
- Fix a bug preventing
throw-upfrom working with some code input.
- Fix bug preventing omitted items in
list()from working at all.
- A bunch more test coverage.