v5 release plans #7171
Replies: 8 comments 14 replies
-
Happy to help with default branch changes! For the version change is there a pressing reason (a dep requiring a higher version, for example)? I think it might make sense to go to 7.3 again. In May 2019, the last time dependencies were shifted, 81% of packagist users had a compatible PHP version. If we shifted to 7.3 today that would be about 88% of the current packagist userbase. If we moved to 7.4 it would be about 76%. I would vote for 7.3 — I know it's not ideal, but as dev tool-makers I think it's good to have as wide compatibility as long as doing so doesn't sacrifice our sanity or project maintainability. |
Beta Was this translation helpful? Give feedback.
-
I believe PHPStan has a pretty restricted policy about maintenance on old version and it seems to work well (every user is encouraged to use the latest version at any time). However, they still support 7.1 so there is no excuse from user not to upgrade. This will likely not be our case.
I agree on that. We saw recently bugs related to the php version used to run psalm (mainly because of reflection). The wider range we support, the more we'll have issues with that.
Yeah. current target for lowest callmap is 7.1. It's not unreasonable to assume that a lot of projects still runs Psalm in this version, or even lower. Due to the nature of Psalm, a project in 7.1 is all the more likely to need this tool even more. |
Beta Was this translation helpful? Give feedback.
-
OK — if you're both in favour of 7.4 then go for it! That means arrow functions and a few other nice things (though I think the performance issues with typed properties maybe rules that particular migration out for hot paths). The only other thing I'd say is there's no reason why 7.4 has to accompany a major version change — I think it's perfectly ok to do it midway through a version (WordPress adopted that sort of program — their bump from PHP 5.2 to 5.6 didn't accompany a major version increase). Maybe you could update to 7.3 now, signalling your intent to upgrade to 7.4 in early 2022 so the still-on-7.3 laggards aren't caught off-guard and can plan their own migrations. I'm also wary that PHPStan still only requires PHP 7.1 — there's no need to annoy people into jumping ship. |
Beta Was this translation helpful? Give feedback.
-
Quick update: all BC breaking PRs have been merged to master. |
Beta Was this translation helpful? Give feedback.
-
What are your thoughts on automated upgrades using https://github.com/rectorphp/rector? I tested it on a small subset of files ( |
Beta Was this translation helpful? Give feedback.
-
@weirdan @orklah FYI I am working on an upgrade to the LSP server for better performance. I'm currently using it in my day-to-day work as I improve it and then I'll let me co-workers use it too. I want to implement this into v5 but also I'm intent on it not being a breaking change to how anything works currently See: https://github.com/vimeo/psalm/compare/4.x...tm1000:feature/upgrade-lsp?expand=1 This is not finished and I have not even drafted it into a PR yet |
Beta Was this translation helpful? Give feedback.
-
Since no new features (eg. intersection types) are being added is there a proposed release date for psalm 5? |
Beta Was this translation helpful? Give feedback.
-
Seen that, it includes my fix for thread limit too, which has currently
broke the alpha on our CI anyway.
I'll bump to beta 1 on Monday, am now done with work and having a well
earned drink - zum wohl!
…On Fri, 13 May 2022, 8:37 pm orklah, ***@***.***> wrote:
I've just released a beta version which will be more up to date for your
CI :)
@muglug <https://github.com/muglug> do you mind communicating on the
release through the twitter feed?
—
Reply to this email directly, view it on GitHub
<#7171 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAJLLC2ZTZIGJ766ECBWL6LVJ2VQFANCNFSM5KEZLB6A>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
I'd like to kickstart the discussion about Psalm 5 release. I'm expecting this to be mostly between maintainers (ping @orklah) but other regular contributors are also welcome to chime in.
Dev availability
I'll be able to put in some hours (more than usual) in the beginning of January.
Branching strategy
I propose to branch 4.x, and set it as default branch until v5 is released. This will open master for breaking changes. Changes in 4.x would be regularly merged up to master.
Changing default branch would require @muglug's help.
EOL timeline
This is an open question really: how long do we intend to support 4.x, if at all?
PHP version bump
Not sure. We still have up to 10% downloads from hosts running 7.3 (https://packagist.org/packages/vimeo/psalm/php-stats#4), but I think we should bump to at least 7.4.
Callmap versions
Personally I don't think we should drop any callmap deltas, unless it becomes a maintenance burden. It doesn't feel like a burden to me at the moment.
Actual BC breaks
Most breaks that we want to do are either marked in the code comments (grep 'Psalm 5') or already have PRs open.
Upgrade documentation
Should we have any, where we explain things that changed in plain English, as opposed to just listing them?
Beta Was this translation helpful? Give feedback.
All reactions