Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🔮 PHP 7.4 Upgrade Features/Notes #2147

Closed
1 task done
chrisblakley opened this issue Apr 17, 2021 · 7 comments
Closed
1 task done

🔮 PHP 7.4 Upgrade Features/Notes #2147

chrisblakley opened this issue Apr 17, 2021 · 7 comments
Labels
Backend (Server) Related to the server-side (includes PHP, HTML, etc). 💭 Question / Research Additional research/discussion is needed to answer this question.
Milestone

Comments

@chrisblakley
Copy link
Owner

chrisblakley commented Apr 17, 2021

PHP Version Timeline: https://www.php.net/supported-versions.php
PHP Release Notes: https://php.watch/versions
Version Stats: https://stitcher.io/blog/php-version-stats-january-2023

PHP 7.4 Info & References

https://php.watch/versions/7.4
https://stitcher.io/blog/new-in-php-74

  • Release Date: November 2019
  • Active Support Until November 2020
  • Security Support Until November 2021

Initial Tasks

  • Update /inc/data/php_timeline.json Nebula file

Projected Nebula Minimum Version Timeline

PHP Version Proposed Date Nebula GitHub Issue
7.3 May 2022 ✅ #2089
7.4 April 2023 #2147
8.0 Late-2023 #1992
8.1 2024 #2234
8.2 2025 #2235
8.3 TBD TBD
9.0 TBD #2236

Notable Features related to Nebula in PHP 7.4

Adding this as an issue for organizational/planning purposes. Before, I was tracking some of these in the PHP 8 issue, but the timeline between these two versions will be at least a 1+ years apart. This is how I will do it in the future as well– each PHP upgrade that has potential breaking features will have its own issue. Any individual features can have their own issues to link back where more complex/specific details can be added.

As of April 2021 (Nebula v8), the minimum required version of PHP is 7.1. That will likely bump up to 7.2 within a few months and eventually 7.3 maybe late 2021 or early 2022. The loose target for this 7.4 update would then be mid/late-2022 – likely soon after the Nebula v10 release.

https://php.watch/versions/7.4
https://www.php.net/supported-versions.php

  • Numerical literal separators (underscores) 123_456_789.01
    • Added //PHP 7.4 use numeric separators here comments for these
  • Arrow functions (probably only use sparingly in Nebula) fn()
  • Null coalescing assignment operator ??= //Use null coalescing operator here

Related issues: #1805 #1992

@chrisblakley chrisblakley added the Backend (Server) Related to the server-side (includes PHP, HTML, etc). label Apr 17, 2021
@chrisblakley chrisblakley added this to the 10.0 Cygnus X milestone Apr 17, 2021
@chrisblakley chrisblakley pinned this issue Apr 17, 2021
@chrisblakley chrisblakley changed the title PHP 7.4 Upgrade Features/Notes 🔮 PHP 7.4 Upgrade Features/Notes Apr 17, 2021
@chrisblakley
Copy link
Owner Author

Here's my more specific guesstimates at PHP minimum version update dates: #2089 (comment)

Once we bump to 7.2 and then 7.3, I'll update this issue with the next guesstimate.

@chrisblakley
Copy link
Owner Author

Minimum version is now PHP 7.3. Will plan to bump to 7.4 around late-2022...?

  • As of May 2022, minimum supported PHP version is 7.3.
  • 7.4 possibly around November 2022
  • 8.0 sometime in 2023?
  • 8.1 in 2024ish?

@chrisblakley chrisblakley pinned this issue May 24, 2022
@chrisblakley
Copy link
Owner Author

#1806

@chrisblakley
Copy link
Owner Author

chrisblakley commented Dec 28, 2022

Top 20 PHP versions in the last 6 months:

Screen Shot 2022-12-28 at 9 17 23 AM

GA4 is somewhat splitting the data, but those are likely later versions of PHP.

I will probably coincide the 7.4 minimum version bump with the v11 release of Nebula in May.

@chrisblakley chrisblakley modified the milestones: 11.0 Carina, 12.0 Flame May 1, 2023
@chrisblakley
Copy link
Owner Author

chrisblakley commented Apr 2, 2024

Just noting how I used to do this with Universal Analytics and will need to re-do this with GA4 using the Measurement Protocol.

In UA I created a custom dimension of "PHP Version" that I can apply to a primary dimension such as a "Page" of "Theme Activation":

Screen Shot 2024-04-02 at 5 05 03 PM

As of last year, PHP 7.4 still had a ton of usage, so I think for the v12 release in May I will bump it up to 7.4 minimum and then figure out tracking on this in GA4 for the push to 8.0 minimum.

Here are all of the old custom dimensions in UA:

Screen Shot 2024-04-02 at 5 09 40 PM

And here is what the usage JS used to be for UA Measurement Protocol.

Screen Shot 2024-04-02 at 5 15 45 PM

And here is where things like the PHP version came from via the Measurement Protocol on the server side in Analytics.php.

Screen Shot 2024-04-02 at 5 21 05 PM

@chrisblakley
Copy link
Owner Author

PHP Version custom dimension has been added to GA4. Will create an exploration report soon.

@chrisblakley chrisblakley unpinned this issue Apr 2, 2024
@chrisblakley
Copy link
Owner Author

Note: This was actually set as the minimum on May 2, 2023.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Backend (Server) Related to the server-side (includes PHP, HTML, etc). 💭 Question / Research Additional research/discussion is needed to answer this question.
Projects
None yet
Development

No branches or pull requests

1 participant