Abbreviated output reverted
The abbreviated return value output introduced in v0.12.13 has been reverted. This feature attempted to show shorter output for statements that looked like they were trying to take an action (like assignments and method calls with side effects) while preserving full output for inspection-like statements. Unfortunately, this version of the feature just ... wasn't it.
Thanks to everyone who provided feedback. If you've got thoughts on approaches that could make this better, please share them in #512!
In-shell manual updates
You can now update the PHP manual directly from inside the shell! Run doc --update-manual to fetch the latest manual version.
More robust manual handling
- Log a warning (and continue) when trying to read from an invalid manual file
- Show invalid manual info in
--infoand\Psy\info() - Prompt to clean up invalid manual files when running
--update-manual - Prompt to upgrade to v3 manual (preserving language selection!) when running
--update-manualwith an existing sqlite manual - Preserve legacy manuals when updating to v3, supporting systems with multiple PsySH versions installed
Bug fixes
- Fix namespace and use statement edge cases where aliases weren't properly tracked across REPL inputs
- Fix
historycommand filtering and--head/--tailinteraction to apply filters first - Fix E_STRICT warning in PHP 8.4
- Fix ParseCommand parsing (you had one job ಠ_ಠ)
Other improvements
- Add a hint about
doc foowhenhelp foodoesn't match a known command - Don't call deprecated
curl_close()on PHP >= 8.0.0 (thanks @mpesari!) - Lock phar build dependencies for reproducible builds
- Improve PHP 8.5 support
- Improve test coverage